From 75a415b9a6fd6eb8b899063c60f0d3fa770e2bed Mon Sep 17 00:00:00 2001 From: HiranoMasaaki Date: Sun, 15 Feb 2026 11:22:31 +0000 Subject: [PATCH 1/2] refactor: clean up knip config by removing phantom dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove dotenv, ink, react from CLI apps' dependencies — these were never imported in app source code but listed solely for tsup auto-externalization. Since tsup bundles workspace packages and resolves their transitive deps, these are bundled through @perstack/tui and @perstack/tui-components without needing to appear in the apps' package.json. - Remove dotenv, ink, react from apps/perstack and apps/create-expert deps - Add external: ["react-devtools-core"] to CLI tsup configs (ink optional dep) - Delete dead barrel file packages/tui-components/src/utils/index.ts - Remove tui-components ignore workaround from knip config - Reduce ignoreDependencies from 9 entries to 2 (vitest + @perstack/runtime) Co-Authored-By: Claude Opus 4.6 --- apps/create-expert/package.json | 5 +---- apps/create-expert/tsup.config.ts | 1 + apps/perstack/package.json | 5 +---- apps/perstack/tsup.config.ts | 1 + knip.json | 8 ++------ packages/tui-components/src/utils/index.ts | 1 - pnpm-lock.yaml | 18 ------------------ 7 files changed, 6 insertions(+), 33 deletions(-) delete mode 100644 packages/tui-components/src/utils/index.ts diff --git a/apps/create-expert/package.json b/apps/create-expert/package.json index caccae84..126ba5c3 100644 --- a/apps/create-expert/package.json +++ b/apps/create-expert/package.json @@ -25,10 +25,7 @@ "dependencies": { "@perstack/perstack-toml": "workspace:*", "@perstack/runtime": "workspace:*", - "commander": "^14.0.3", - "dotenv": "^17.3.1", - "ink": "^6.7.0", - "react": "^19.2.4" + "commander": "^14.0.3" }, "devDependencies": { "@perstack/tui": "workspace:*", diff --git a/apps/create-expert/tsup.config.ts b/apps/create-expert/tsup.config.ts index a0d09ce0..42ce0ac3 100644 --- a/apps/create-expert/tsup.config.ts +++ b/apps/create-expert/tsup.config.ts @@ -7,4 +7,5 @@ export default defineConfig({ entry: { "bin/cli": "bin/cli.ts", }, + external: ["react-devtools-core"], }) diff --git a/apps/perstack/package.json b/apps/perstack/package.json index 668e9d23..c244bb97 100644 --- a/apps/perstack/package.json +++ b/apps/perstack/package.json @@ -20,10 +20,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "commander": "^14.0.3", - "dotenv": "^17.3.1", - "ink": "^6.7.0", - "react": "^19.2.4" + "commander": "^14.0.3" }, "devDependencies": { "@perstack/installer": "workspace:*", diff --git a/apps/perstack/tsup.config.ts b/apps/perstack/tsup.config.ts index 2d9c52ff..69a987b3 100644 --- a/apps/perstack/tsup.config.ts +++ b/apps/perstack/tsup.config.ts @@ -7,6 +7,7 @@ export const cliConfig: Options = { entry: { "bin/cli": "bin/cli.ts", }, + external: ["react-devtools-core"], } export default defineConfig(cliConfig) diff --git a/knip.json b/knip.json index 4a492f11..2b990517 100644 --- a/knip.json +++ b/knip.json @@ -15,14 +15,10 @@ ], "workspaces": { "apps/perstack": { - "entry": ["bin/cli.ts"], - "ignoreDependencies": ["dotenv", "ink", "react"] + "entry": ["bin/cli.ts"] }, "apps/create-expert": { - "ignoreDependencies": ["@perstack/runtime", "dotenv", "ink", "react"] - }, - "packages/tui-components": { - "ignore": ["src/components/index.ts", "src/utils/index.ts"] + "ignoreDependencies": ["@perstack/runtime"] } } } diff --git a/packages/tui-components/src/utils/index.ts b/packages/tui-components/src/utils/index.ts deleted file mode 100644 index c3be0952..00000000 --- a/packages/tui-components/src/utils/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { EventQueue } from "./event-queue.js" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3698060..e0dc2a97 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,15 +105,6 @@ importers: commander: specifier: ^14.0.3 version: 14.0.3 - dotenv: - specifier: ^17.3.1 - version: 17.3.1 - ink: - specifier: ^6.7.0 - version: 6.7.0(@types/react@19.2.14)(react@19.2.4) - react: - specifier: ^19.2.4 - version: 19.2.4 devDependencies: '@perstack/tui': specifier: workspace:* @@ -170,15 +161,6 @@ importers: commander: specifier: ^14.0.3 version: 14.0.3 - dotenv: - specifier: ^17.3.1 - version: 17.3.1 - ink: - specifier: ^6.7.0 - version: 6.7.0(@types/react@19.2.14)(react@19.2.4) - react: - specifier: ^19.2.4 - version: 19.2.4 devDependencies: '@perstack/installer': specifier: workspace:* From 1937c561a34be538012c872baec0e6564abf8382 Mon Sep 17 00:00:00 2001 From: HiranoMasaaki Date: Sun, 15 Feb 2026 11:30:23 +0000 Subject: [PATCH 2/2] chore: add changeset for knip config cleanup Co-Authored-By: Claude Opus 4.6 --- .changeset/clean-up-knip-config.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/clean-up-knip-config.md diff --git a/.changeset/clean-up-knip-config.md b/.changeset/clean-up-knip-config.md new file mode 100644 index 00000000..902451d7 --- /dev/null +++ b/.changeset/clean-up-knip-config.md @@ -0,0 +1,6 @@ +--- +"perstack": patch +"create-expert": patch +--- + +refactor: remove phantom dependencies and clean up knip config