Skip to content

chore: modernize dependencies and migrate to ESM#137

Merged
shinpr merged 1 commit intomainfrom
chore/upgrade-dependencies
Mar 8, 2026
Merged

chore: modernize dependencies and migrate to ESM#137
shinpr merged 1 commit intomainfrom
chore/upgrade-dependencies

Conversation

@shinpr
Copy link
Owner

@shinpr shinpr commented Mar 8, 2026

Summary

  • Remove 11 unused devDependencies (react ecosystem, c8, ts-node, ts-prune, jsdom)
  • Migrate ts-prune → knip for unused export detection
  • Migrate CommonJS → ES Modules across all scripts/ and bin/ files
  • Upgrade Biome v1 → v2, vitest v3 → v4, vite v5 → v6, @types/node v20 → v22
  • Update tsconfig: target ES2020 → ES2022, module commonjs → Node16
  • Make agent/skill docs environment-independent (remove hardcoded script names)
  • Remove 4 unused scripts (build:frontend, dev:frontend, preview, check:unused:all)

Details

Dependencies removed (11)

react, react-dom, @types/react, @types/react-dom, @vitejs/plugin-react, @testing-library/react, @testing-library/jest-dom, jsdom, c8, ts-node, ts-prune

Dependencies added

knip (replaces ts-prune)

Dependencies upgraded

Package Before After
@biomejs/biome v1 v2
vitest v3 v4
@vitest/coverage-v8 v3 v4
@vitest/ui v3 v4
vite v5 v6
@types/node v20 v22

ESM migration

All files in scripts/ and bin/ converted from CommonJS (require/module.exports) to ES Modules (import/export) with node: protocol for Node.js builtins.

Agent/skill updates (en/ja)

  • quality-fixer: generic "unused export detection tool" instead of ts-prune
  • quality-fixer-frontend: auto-detect build command from package.json instead of hardcoded build:frontend
  • technical-spec / frontend/technical-spec skills: environment-independent descriptions

Test plan

  • node scripts/set-language.js --status — language status display
  • node scripts/set-language.js ja — language switching
  • node scripts/show-coverage.js — coverage check (expected exit 1 without coverage data)
  • node scripts/utils.js — ESM exports verified
  • node bin/create-project.js --help — CLI help display
  • node scripts/setup-project.js /tmp/test-project en — new project creation (verified: no react/ts-prune, has knip, type=module)
  • node scripts/update-project.js --dry-run — update dry-run
  • npm run check — Biome v2 check passes
  • npm run build — TypeScript build passes

🤖 Generated with Claude Code

- Remove 11 unused devDependencies (react ecosystem, c8, ts-node, ts-prune, jsdom)
- Remove 4 unused scripts (build:frontend, dev:frontend, preview, check:unused:all)
- Migrate ts-prune → knip for unused export detection
- Migrate CJS → ESM across all scripts/ and bin/ files
- Upgrade Biome v1 → v2, vitest v3 → v4, vite v5 → v6, @types/node v20 → v22
- Update tsconfig: target ES2020 → ES2022, module commonjs → Node16
- Make agent/skill docs environment-independent (remove hardcoded script names)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@shinpr shinpr self-assigned this Mar 8, 2026
@shinpr shinpr merged commit cdda44f into main Mar 8, 2026
1 check passed
@shinpr shinpr deleted the chore/upgrade-dependencies branch March 8, 2026 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant