Skip to content

Commit b2edf0d

Browse files
committed
chore: added release scripts
1 parent 0ef0d89 commit b2edf0d

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@
1818
"typecheck": "pnpm tsc --noEmit --project ./tsconfig.json --skipLibCheck",
1919
"docs:dev": "cd ./docs && pnpm dev && cd -",
2020
"postinstall": "husky install",
21-
"release": "./scripts/release.sh"
21+
"release": "./scripts/release.sh",
22+
"ci:copy-mds": "tsx scripts/copy-mds.ts",
23+
"ci:publish": "pnpm build && pnpm publish --provenance --access public -r",
24+
"ci:version": "pnpm changeset version && pnpm ci:copy-mds",
25+
"ci:tag": "tsx ./scripts/tag-release.ts"
2226
},
2327
"devDependencies": {
2428
"@changesets/cli": "^2.27.1",

scripts/copy-mds.mjs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import fs from 'fs-extra';
2+
import path, { dirname } from 'path';
3+
import { fileURLToPath } from 'url';
4+
import chalk from 'chalk';
5+
6+
const __filename = fileURLToPath(import.meta.url);
7+
const __dirname = dirname(__filename);
8+
9+
fs.copyFileSync(path.resolve(__dirname, '../README.md'), path.resolve(__dirname, '../packages/core/README.md'));
10+
console.log(chalk.green('📄 README.md copied to packages/core'));
11+
12+
fs.copyFileSync(path.resolve(__dirname, '../LICENSE'), path.resolve(__dirname, '../packages/core/LICENSE'));
13+
console.log(chalk.green('📄 LICENSE copied to packages/core'));
14+
15+
fs.copyFileSync(path.resolve(__dirname, '../packages/core/CHANGELOG.md'), path.resolve(__dirname, '../CHANGELOG.md'));
16+
console.log(chalk.green('📄 CHANGELOG.md copied to root'));

scripts/tag-release.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { version } from '../packages/core/package.json';
2+
import { execSync } from 'node:child_process';
3+
import chalk from 'chalk';
4+
5+
try {
6+
execSync(`git tag v${version}`);
7+
console.log(chalk.green(`🔖 Tagged release v${version}`));
8+
} catch (error) {
9+
console.log(chalk.red(`❌ Failed to tag release v${version}`));
10+
console.log(error);
11+
process.exit(1);
12+
}

0 commit comments

Comments
 (0)