From 404c7bcb2af88bda98c6e92d57acd4712b1e667b Mon Sep 17 00:00:00 2001 From: pshu Date: Thu, 4 Jan 2024 17:18:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=F0=9F=94=A7=20script=20check=20ok?= =?UTF-8?q?am=20whether=20synced?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/bundler-okam/.npmignore | 1 + packages/bundler-okam/package.json | 4 ++++ packages/bundler-okam/scripts/ensure_synced.ts | 17 +++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 packages/bundler-okam/.npmignore create mode 100644 packages/bundler-okam/scripts/ensure_synced.ts diff --git a/packages/bundler-okam/.npmignore b/packages/bundler-okam/.npmignore new file mode 100644 index 000000000..528dc4eed --- /dev/null +++ b/packages/bundler-okam/.npmignore @@ -0,0 +1 @@ +scripts \ No newline at end of file diff --git a/packages/bundler-okam/package.json b/packages/bundler-okam/package.json index 1888bc3ac..50bb4809c 100644 --- a/packages/bundler-okam/package.json +++ b/packages/bundler-okam/package.json @@ -18,6 +18,10 @@ "rimraf": "5.0.1", "webpack-5-chain": "8.0.1" }, + "scripts": { + "prepublishOnly": "esno ./scripts/ensure_synced.ts", + "sync": "esno ./scripts/ensure_synced.ts" + }, "publishConfig": { "registry": "https://registry.antgroup-inc.cn" }, diff --git a/packages/bundler-okam/scripts/ensure_synced.ts b/packages/bundler-okam/scripts/ensure_synced.ts new file mode 100644 index 000000000..6fcb7ebe9 --- /dev/null +++ b/packages/bundler-okam/scripts/ensure_synced.ts @@ -0,0 +1,17 @@ +import 'zx/globals'; + +(async () => { + const makoVersion = + require('../package.json')['dependencies']['@okamjs/okam']; + + await retry(3, () => { + return (async () => { + await $`tnpm sync @okamjs/okam`; + await $`tnpm info @okamjs/okam@${makoVersion}`; + })(); + }); +})().catch((err) => { + console.error(err); + console.error('sync @okamjs/okam failed!'); + process.exit(1); +}); From 426a488573e50f7f7f28f749018e03975ea921ea Mon Sep 17 00:00:00 2001 From: pshu Date: Thu, 4 Jan 2024 17:20:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=F0=9F=8E=A8=20slient=20sync=20?= =?UTF-8?q?logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/bundler-okam/scripts/ensure_synced.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bundler-okam/scripts/ensure_synced.ts b/packages/bundler-okam/scripts/ensure_synced.ts index 6fcb7ebe9..65b3d8c58 100644 --- a/packages/bundler-okam/scripts/ensure_synced.ts +++ b/packages/bundler-okam/scripts/ensure_synced.ts @@ -6,7 +6,7 @@ import 'zx/globals'; await retry(3, () => { return (async () => { - await $`tnpm sync @okamjs/okam`; + await $`tnpm sync @okamjs/okam`.quiet(); await $`tnpm info @okamjs/okam@${makoVersion}`; })(); }); From 857629fdcaefffc231f75e6294ae1915aa24d8ed Mon Sep 17 00:00:00 2001 From: pshu Date: Thu, 4 Jan 2024 17:48:11 +0800 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20=F0=9F=94=A7=20sync=20optinal=20de?= =?UTF-8?q?ps=20in=20scripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/bundler-okam/.npmignore | 2 +- packages/bundler-okam/scripts/ensure_synced.ts | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/bundler-okam/.npmignore b/packages/bundler-okam/.npmignore index 528dc4eed..b744996d7 100644 --- a/packages/bundler-okam/.npmignore +++ b/packages/bundler-okam/.npmignore @@ -1 +1 @@ -scripts \ No newline at end of file +scripts diff --git a/packages/bundler-okam/scripts/ensure_synced.ts b/packages/bundler-okam/scripts/ensure_synced.ts index 65b3d8c58..b092a1284 100644 --- a/packages/bundler-okam/scripts/ensure_synced.ts +++ b/packages/bundler-okam/scripts/ensure_synced.ts @@ -7,11 +7,25 @@ import 'zx/globals'; await retry(3, () => { return (async () => { await $`tnpm sync @okamjs/okam`.quiet(); - await $`tnpm info @okamjs/okam@${makoVersion}`; + const info = + await $`tnpm info --json @okamjs/okam@${makoVersion}`.quiet(); + + const optionDeps = JSON.parse(info.stdout)['optionalDependencies']; + + await Promise.all( + Object.keys(optionDeps).map((key) => { + return $`tnpm info ${key}@${optionDeps[key]}`.quiet(); + }), + ); })(); }); + + console.error(chalk.bgGreen(chalk.white('SUCCEED')), chalk.green('synced')); })().catch((err) => { console.error(err); - console.error('sync @okamjs/okam failed!'); + console.error( + chalk.bgRed(chalk.white('FAILED')), + chalk.red('sync @okamjs/okam failed!'), + ); process.exit(1); });