From 5478d621bced7abeadf00f2ebd1ab879eb3dd6d1 Mon Sep 17 00:00:00 2001 From: Mike Nikles <788827+mikenikles@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:15:01 -0700 Subject: [PATCH 1/3] feat: Group plugin commands in a plugins sub-command. --- .changeset/sharp-ants-compare.md | 5 +++ .../scripts/dev-app-configure-and-start.sh | 9 ++++- .../create-webstone-app/src/functions.spec.ts | 2 +- packages/create-webstone-app/src/functions.ts | 2 +- pnpm-lock.yaml | 33 +++---------------- 5 files changed, 20 insertions(+), 31 deletions(-) create mode 100644 .changeset/sharp-ants-compare.md diff --git a/.changeset/sharp-ants-compare.md b/.changeset/sharp-ants-compare.md new file mode 100644 index 00000000..2b17d956 --- /dev/null +++ b/.changeset/sharp-ants-compare.md @@ -0,0 +1,5 @@ +--- +"create-webstone-app": minor +--- + +Group plugin commands under a "plugins" sub-command. diff --git a/.config/devbox/scripts/dev-app-configure-and-start.sh b/.config/devbox/scripts/dev-app-configure-and-start.sh index 1c47fad5..b4a484e1 100644 --- a/.config/devbox/scripts/dev-app-configure-and-start.sh +++ b/.config/devbox/scripts/dev-app-configure-and-start.sh @@ -4,13 +4,20 @@ set -e ( if [ ! -d "_dev-app" ] then - node ./packages/create-webstone-app/bin.js _dev-app --type=application + node ./packages/create-webstone-app/bin.js _dev-app --type=app fi cd _dev-app echo "⏳ Waiting for the CLI's binary to be built..." while [ ! -f ../packages/cli/dist/bin.js ]; do sleep 1; done pnpm add -D ../packages/cli + # Install all plugin-*/ packages + for FILE in $(find ../packages/plugin-*/package.json) + do + DIR=`dirname $FILE` + pnpm add -D $DIR + done + # Install all plugin-*/cli packages (without nested monorepo) # This is for the plugin-trpc package. If / when we migrate that to a monorepo, we can remove this code for FILE in $(find ../packages/plugin-*/cli/package.json) diff --git a/packages/create-webstone-app/src/functions.spec.ts b/packages/create-webstone-app/src/functions.spec.ts index 4cab13ef..8e90b1d4 100644 --- a/packages/create-webstone-app/src/functions.spec.ts +++ b/packages/create-webstone-app/src/functions.spec.ts @@ -270,7 +270,7 @@ describe("copyCLIExtension", () => { //Commands deepStrictEqual( mockCopySync.mock.calls[0].arguments[1], - "dummy/src/cli/commands/dummy/hello-world.ts", + "dummy/src/cli/commands/plugins/dummy/hello-world.ts", ); // Extensions diff --git a/packages/create-webstone-app/src/functions.ts b/packages/create-webstone-app/src/functions.ts index 8371c666..b71aab73 100644 --- a/packages/create-webstone-app/src/functions.ts +++ b/packages/create-webstone-app/src/functions.ts @@ -122,7 +122,7 @@ export function copyCLIExtension(cwd: string) { fs.copySync( new URL("../templates/plugin-structure/command.ts", import.meta.url) .pathname, - `${cwd}/src/cli/commands/${getRawAppName(cwd)}/hello-world.ts`, + `${cwd}/src/cli/commands/plugins/${getRawAppName(cwd)}/hello-world.ts`, ); //copy extension diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a61e88f4..90070a43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1402,7 +1402,7 @@ packages: sade: 1.8.1 semver: 7.5.4 svelte: 4.1.2 - svelte2tsx: 0.6.19(svelte@4.1.2)(typescript@5.1.6) + svelte2tsx: 0.6.20(svelte@4.1.2)(typescript@5.1.6) transitivePeerDependencies: - typescript dev: true @@ -2379,7 +2379,7 @@ packages: esbuild: '>=0.17' dependencies: esbuild: 0.17.19 - load-tsconfig: 0.2.3 + load-tsconfig: 0.2.5 dev: true /bundle-require@4.0.1(esbuild@0.18.20): @@ -4367,11 +4367,6 @@ packages: strip-bom: 3.0.0 dev: true - /load-tsconfig@0.2.3: - resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5172,11 +5167,6 @@ packages: engines: {node: '>=6'} dev: true - /pirates@4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} - engines: {node: '>= 6'} - dev: true - /pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -6013,19 +6003,6 @@ packages: acorn: 8.10.0 dev: true - /sucrase@3.28.0: - resolution: {integrity: sha512-TK9600YInjuiIhVM3729rH4ZKPOsGeyXUwY+Ugu9eilNbdTFyHr6XcAGYbRVZPDgWj6tgI7bx95aaJjHnbffag==} - engines: {node: '>=8'} - hasBin: true - dependencies: - commander: 4.1.1 - glob: 7.1.6 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.5 - ts-interface-checker: 0.1.13 - dev: true - /sucrase@3.34.0: resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} engines: {node: '>=8'} @@ -6241,8 +6218,8 @@ packages: typescript: 5.1.6 dev: true - /svelte2tsx@0.6.19(svelte@4.1.2)(typescript@5.1.6): - resolution: {integrity: sha512-h3b5OtcO8zyVL/RiB2zsDwCopeo/UH+887uyhgb2mjnewOFwiTxu+4IGuVwrrlyuh2onM2ktfUemNrNmQwXONQ==} + /svelte2tsx@0.6.20(svelte@4.1.2)(typescript@5.1.6): + resolution: {integrity: sha512-zaSnHSERYceKxugFbjiZ3YiNcC2fNbVjpQ9qaE5hrYI4tIOX9ZqHS+I30Hp2HF+MVXLOVWVErgn/6pAlQNnheA==} peerDependencies: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 typescript: ^4.9.4 || ^5.0.0 @@ -6541,7 +6518,7 @@ packages: resolve-from: 5.0.0 rollup: 3.28.0 source-map: 0.8.0-beta.0 - sucrase: 3.28.0 + sucrase: 3.34.0 tree-kill: 1.2.2 typescript: 5.1.6 transitivePeerDependencies: From 6d1c648a59f38d9c1b180109bb3fa2ceaf1e5cef Mon Sep 17 00:00:00 2001 From: Mike Nikles <788827+mikenikles@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:17:41 -0700 Subject: [PATCH 2/3] chore: migrate to the new plugins CLI command structure. --- .changeset/great-foxes-dress.md | 5 +++++ .../request-logger}/hello-world.ts | 0 2 files changed, 5 insertions(+) create mode 100644 .changeset/great-foxes-dress.md rename packages/plugin-request-logger/src/cli/commands/{plugin-request-logger => plugins/request-logger}/hello-world.ts (100%) diff --git a/.changeset/great-foxes-dress.md b/.changeset/great-foxes-dress.md new file mode 100644 index 00000000..51f632d8 --- /dev/null +++ b/.changeset/great-foxes-dress.md @@ -0,0 +1,5 @@ +--- +"webstone-plugin-request-logger": minor +--- + +Migrate to the new plugins CLI command structure. diff --git a/packages/plugin-request-logger/src/cli/commands/plugin-request-logger/hello-world.ts b/packages/plugin-request-logger/src/cli/commands/plugins/request-logger/hello-world.ts similarity index 100% rename from packages/plugin-request-logger/src/cli/commands/plugin-request-logger/hello-world.ts rename to packages/plugin-request-logger/src/cli/commands/plugins/request-logger/hello-world.ts From 920e765b0ff9e0ed52b3a385cb7c1e0387995a05 Mon Sep 17 00:00:00 2001 From: Mike Nikles <788827+mikenikles@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:42:39 -0700 Subject: [PATCH 3/3] Use npm for the _dev-app; remove obsolete plugin-*/cli installations. --- .../scripts/dev-app-configure-and-start.sh | 24 ++++--------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/.config/devbox/scripts/dev-app-configure-and-start.sh b/.config/devbox/scripts/dev-app-configure-and-start.sh index b4a484e1..5bf16f0a 100644 --- a/.config/devbox/scripts/dev-app-configure-and-start.sh +++ b/.config/devbox/scripts/dev-app-configure-and-start.sh @@ -9,13 +9,13 @@ set -e cd _dev-app echo "⏳ Waiting for the CLI's binary to be built..." while [ ! -f ../packages/cli/dist/bin.js ]; do sleep 1; done - pnpm add -D ../packages/cli + npm install -D ../packages/cli # Install all plugin-*/ packages for FILE in $(find ../packages/plugin-*/package.json) do DIR=`dirname $FILE` - pnpm add -D $DIR + npm install -D $DIR done # Install all plugin-*/cli packages (without nested monorepo) @@ -23,7 +23,7 @@ set -e for FILE in $(find ../packages/plugin-*/cli/package.json) do DIR=`dirname $FILE` - pnpm add -D $DIR + npm install -D $DIR done # Install all plugin-*/web packages (without nested monorepo) @@ -31,22 +31,8 @@ set -e for FILE in $(find ../packages/plugin-*/web/package.json) do DIR=`dirname $FILE` - pnpm add -D $DIR + npm install -D $DIR done - # Install all plugin-*/cli packages (with nested monorepo) - for FILE in $(find ../packages/plugin-*/packages/cli/package.json) - do - DIR=`dirname $FILE` - pnpm add -D $DIR - done - - # Install all plugin-*/web packages (with nested monorepo) - for FILE in $(find ../packages/plugin-*/packages/web/package.json) - do - DIR=`dirname $FILE` - pnpm add -D $DIR - done - - pnpm ws dev + npx ws dev )