Synchronizes tsconfig.json paths from package.json imports field. Ensures TypeScript resolves subpath imports (#imports) correctly during development.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add mattnigh/skills_collection --skill collection --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Collection?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mattnigh-collection-7f78ee14)More formats (shields.io, HTML) on the badges page.
---
name: syncing-tsconfig-paths
description: Synchronizes tsconfig.json paths from package.json imports field. Ensures TypeScript resolves subpath imports (#imports) correctly during development.
---
# Syncing TSConfig Paths
Keep tsconfig paths in sync with package.json subpath imports.
## Steps
### Syncing
```bash
pnpm exec tsx .claude/skills/syncing-tsconfig-paths/scripts/sync-tsconfig-paths.ts
```
### Auditing
Run with `--check` flag to verify without modifying:
```bash
pnpm exec tsx .claude/skills/syncing-tsconfig-paths/scripts/sync-tsconfig-paths.ts --check
```
## Reference
The script transforms package.json imports to tsconfig paths:
```json
// package.json
{
"imports": {
"#pkg": "./build/_.js",
"#foo": "./build/foo.js"
}
}
```
Becomes:
```json
// tsconfig.json
{
"compilerOptions": {
"paths": {
"#pkg": ["./src/_.ts"],
"#foo": ["./src/foo.ts"]
}
}
}
```
Key transformation: `./build/` → `./src/` (extension stays `.js` - TypeScript with nodenext resolves to `.ts`)
## Notes
- Run after modifying any package's `imports` field
- Conditional imports (objects with browser/default) are skipped with a warning
- This enables TypeScript to resolve `#` imports during development before build

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!