start-vibing 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -177
- package/dist/cli.js +19 -2
- package/package.json +42 -42
- package/template/.claude/CLAUDE.md +174 -174
- package/template/.claude/agents/01-orchestration/agent-selector.md +130 -130
- package/template/.claude/agents/01-orchestration/checkpoint-manager.md +142 -142
- package/template/.claude/agents/01-orchestration/context-manager.md +138 -138
- package/template/.claude/agents/01-orchestration/error-recovery.md +182 -182
- package/template/.claude/agents/01-orchestration/orchestrator.md +114 -114
- package/template/.claude/agents/01-orchestration/parallel-coordinator.md +141 -141
- package/template/.claude/agents/01-orchestration/task-decomposer.md +121 -121
- package/template/.claude/agents/01-orchestration/workflow-router.md +114 -114
- package/template/.claude/agents/02-typescript/bun-runtime-expert.md +197 -197
- package/template/.claude/agents/02-typescript/esm-resolver.md +193 -193
- package/template/.claude/agents/02-typescript/import-alias-enforcer.md +158 -158
- package/template/.claude/agents/02-typescript/ts-generics-helper.md +183 -183
- package/template/.claude/agents/02-typescript/ts-migration-helper.md +238 -238
- package/template/.claude/agents/02-typescript/ts-strict-checker.md +180 -180
- package/template/.claude/agents/02-typescript/ts-types-analyzer.md +199 -199
- package/template/.claude/agents/02-typescript/type-definition-writer.md +187 -187
- package/template/.claude/agents/02-typescript/zod-schema-designer.md +212 -212
- package/template/.claude/agents/02-typescript/zod-validator.md +158 -158
- package/template/.claude/agents/03-testing/playwright-assertions.md +265 -265
- package/template/.claude/agents/03-testing/playwright-e2e.md +247 -247
- package/template/.claude/agents/03-testing/playwright-fixtures.md +234 -234
- package/template/.claude/agents/03-testing/playwright-multi-viewport.md +256 -256
- package/template/.claude/agents/03-testing/playwright-page-objects.md +247 -247
- package/template/.claude/agents/03-testing/test-cleanup-manager.md +248 -248
- package/template/.claude/agents/03-testing/test-data-generator.md +254 -254
- package/template/.claude/agents/03-testing/tester-integration.md +278 -278
- package/template/.claude/agents/03-testing/tester-unit.md +207 -207
- package/template/.claude/agents/03-testing/vitest-config.md +287 -287
- package/template/.claude/agents/04-docker/container-health.md +255 -255
- package/template/.claude/agents/04-docker/deployment-validator.md +225 -225
- package/template/.claude/agents/04-docker/docker-compose-designer.md +281 -281
- package/template/.claude/agents/04-docker/docker-env-manager.md +235 -235
- package/template/.claude/agents/04-docker/docker-multi-stage.md +241 -241
- package/template/.claude/agents/04-docker/dockerfile-optimizer.md +208 -208
- package/template/.claude/agents/05-database/database-seeder.md +273 -273
- package/template/.claude/agents/05-database/mongodb-query-optimizer.md +230 -230
- package/template/.claude/agents/05-database/mongoose-aggregation.md +306 -306
- package/template/.claude/agents/05-database/mongoose-index-optimizer.md +182 -182
- package/template/.claude/agents/05-database/mongoose-schema-designer.md +267 -267
- package/template/.claude/agents/06-security/auth-session-validator.md +68 -68
- package/template/.claude/agents/06-security/input-sanitizer.md +80 -80
- package/template/.claude/agents/06-security/owasp-checker.md +97 -97
- package/template/.claude/agents/06-security/permission-auditor.md +100 -100
- package/template/.claude/agents/06-security/security-auditor.md +84 -84
- package/template/.claude/agents/06-security/sensitive-data-scanner.md +83 -83
- package/template/.claude/agents/07-documentation/api-documenter.md +136 -136
- package/template/.claude/agents/07-documentation/changelog-manager.md +105 -105
- package/template/.claude/agents/07-documentation/documenter.md +76 -76
- package/template/.claude/agents/07-documentation/domain-updater.md +81 -81
- package/template/.claude/agents/07-documentation/jsdoc-generator.md +114 -114
- package/template/.claude/agents/07-documentation/readme-generator.md +135 -135
- package/template/.claude/agents/08-git/branch-manager.md +58 -58
- package/template/.claude/agents/08-git/commit-manager.md +63 -63
- package/template/.claude/agents/08-git/pr-creator.md +76 -76
- package/template/.claude/agents/09-quality/code-reviewer.md +71 -71
- package/template/.claude/agents/09-quality/quality-checker.md +67 -67
- package/template/.claude/agents/10-research/best-practices-finder.md +89 -89
- package/template/.claude/agents/10-research/competitor-analyzer.md +106 -106
- package/template/.claude/agents/10-research/pattern-researcher.md +93 -93
- package/template/.claude/agents/10-research/research-cache-manager.md +76 -76
- package/template/.claude/agents/10-research/research-web.md +98 -98
- package/template/.claude/agents/10-research/tech-evaluator.md +101 -101
- package/template/.claude/agents/11-ui-ux/accessibility-auditor.md +136 -136
- package/template/.claude/agents/11-ui-ux/design-system-enforcer.md +125 -125
- package/template/.claude/agents/11-ui-ux/skeleton-generator.md +118 -118
- package/template/.claude/agents/11-ui-ux/ui-desktop.md +132 -132
- package/template/.claude/agents/11-ui-ux/ui-mobile.md +98 -98
- package/template/.claude/agents/11-ui-ux/ui-tablet.md +110 -110
- package/template/.claude/agents/12-performance/api-latency-analyzer.md +156 -156
- package/template/.claude/agents/12-performance/bundle-analyzer.md +113 -113
- package/template/.claude/agents/12-performance/memory-leak-detector.md +137 -137
- package/template/.claude/agents/12-performance/performance-profiler.md +115 -115
- package/template/.claude/agents/12-performance/query-optimizer.md +124 -124
- package/template/.claude/agents/12-performance/render-optimizer.md +154 -154
- package/template/.claude/agents/13-debugging/build-error-fixer.md +207 -207
- package/template/.claude/agents/13-debugging/debugger.md +149 -149
- package/template/.claude/agents/13-debugging/error-stack-analyzer.md +141 -141
- package/template/.claude/agents/13-debugging/network-debugger.md +208 -208
- package/template/.claude/agents/13-debugging/runtime-error-fixer.md +181 -181
- package/template/.claude/agents/13-debugging/type-error-resolver.md +185 -185
- package/template/.claude/agents/14-validation/final-validator.md +93 -93
- package/template/.claude/agents/_backup/analyzer.md +134 -134
- package/template/.claude/agents/_backup/code-reviewer.md +279 -279
- package/template/.claude/agents/_backup/commit-manager.md +219 -219
- package/template/.claude/agents/_backup/debugger.md +280 -280
- package/template/.claude/agents/_backup/documenter.md +237 -237
- package/template/.claude/agents/_backup/domain-updater.md +197 -197
- package/template/.claude/agents/_backup/final-validator.md +169 -169
- package/template/.claude/agents/_backup/orchestrator.md +149 -149
- package/template/.claude/agents/_backup/performance.md +232 -232
- package/template/.claude/agents/_backup/quality-checker.md +240 -240
- package/template/.claude/agents/_backup/research.md +315 -315
- package/template/.claude/agents/_backup/security-auditor.md +192 -192
- package/template/.claude/agents/_backup/tester.md +566 -566
- package/template/.claude/agents/_backup/ui-ux-reviewer.md +247 -247
- package/template/.claude/config/README.md +30 -30
- package/template/.claude/config/mcp-config.json +344 -344
- package/template/.claude/config/project-config.json +53 -53
- package/template/.claude/config/quality-gates.json +46 -46
- package/template/.claude/config/security-rules.json +45 -45
- package/template/.claude/config/testing-config.json +164 -164
- package/template/.claude/hooks/SETUP.md +126 -126
- package/template/.claude/hooks/run-hook.ts +176 -176
- package/template/.claude/hooks/stop-validator.ts +914 -824
- package/template/.claude/hooks/user-prompt-submit.ts +886 -886
- package/template/.claude/scripts/mcp-quick-install.ts +151 -151
- package/template/.claude/scripts/setup-mcps.ts +651 -651
- package/template/.claude/settings.json +275 -275
- package/template/.claude/skills/bun-runtime/SKILL.md +430 -430
- package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +431 -431
- package/template/.claude/skills/codebase-knowledge/domains/mcp-integration.md +295 -295
- package/template/.claude/skills/debugging-patterns/SKILL.md +485 -485
- package/template/.claude/skills/docker-patterns/SKILL.md +555 -555
- package/template/.claude/skills/git-workflow/SKILL.md +454 -454
- package/template/.claude/skills/mongoose-patterns/SKILL.md +499 -499
- package/template/.claude/skills/nextjs-app-router/SKILL.md +327 -327
- package/template/.claude/skills/performance-patterns/SKILL.md +547 -547
- package/template/.claude/skills/playwright-automation/SKILL.md +438 -438
- package/template/.claude/skills/react-patterns/SKILL.md +389 -389
- package/template/.claude/skills/research-cache/SKILL.md +222 -222
- package/template/.claude/skills/shadcn-ui/SKILL.md +511 -511
- package/template/.claude/skills/tailwind-patterns/SKILL.md +465 -465
- package/template/.claude/skills/test-coverage/SKILL.md +467 -467
- package/template/.claude/skills/trpc-api/SKILL.md +434 -434
- package/template/.claude/skills/typescript-strict/SKILL.md +367 -367
- package/template/.claude/skills/zod-validation/SKILL.md +403 -403
- package/template/CLAUDE.md +117 -117
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: esm-resolver
|
|
3
|
-
description: "AUTOMATICALLY invoke on module errors. Triggers: 'module error', 'import error', 'cannot find module', 'require is not defined'. Fixes ESM/CJS compatibility issues. PROACTIVELY resolves import problems."
|
|
4
|
-
model: haiku
|
|
5
|
-
tools: Read, Grep, Glob
|
|
6
|
-
skills: typescript-strict, bun-runtime
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# ESM Resolver Agent
|
|
10
|
-
|
|
11
|
-
You resolve ECMAScript Module issues and compatibility problems.
|
|
12
|
-
|
|
13
|
-
## ESM Basics
|
|
14
|
-
|
|
15
|
-
### Package.json Type
|
|
16
|
-
|
|
17
|
-
```json
|
|
18
|
-
{
|
|
19
|
-
"type": "module" // ESM mode
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Import Syntax
|
|
24
|
-
|
|
25
|
-
```typescript
|
|
26
|
-
// ESM imports
|
|
27
|
-
import { something } from 'package';
|
|
28
|
-
import defaultExport from 'package';
|
|
29
|
-
import * as namespace from 'package';
|
|
30
|
-
|
|
31
|
-
// Dynamic import (async)
|
|
32
|
-
const module = await import('package');
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Export Syntax
|
|
36
|
-
|
|
37
|
-
```typescript
|
|
38
|
-
// Named exports
|
|
39
|
-
export const value = 1;
|
|
40
|
-
export function fn() {}
|
|
41
|
-
export { a, b, c };
|
|
42
|
-
|
|
43
|
-
// Default export
|
|
44
|
-
export default class MyClass {}
|
|
45
|
-
|
|
46
|
-
// Re-export
|
|
47
|
-
export { something } from './other';
|
|
48
|
-
export * from './utils';
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Common Issues
|
|
52
|
-
|
|
53
|
-
### 1. Cannot Find Module
|
|
54
|
-
|
|
55
|
-
```typescript
|
|
56
|
-
// Error: Cannot find module './utils'
|
|
57
|
-
|
|
58
|
-
// Problem: Missing file extension in ESM
|
|
59
|
-
import { helper } from './utils';
|
|
60
|
-
|
|
61
|
-
// Solution: Add .js extension (even for .ts files in compiled output)
|
|
62
|
-
import { helper } from './utils.js';
|
|
63
|
-
|
|
64
|
-
// OR configure tsconfig.json
|
|
65
|
-
{
|
|
66
|
-
"compilerOptions": {
|
|
67
|
-
"moduleResolution": "bundler" // Or "node16"
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 2. CJS Module in ESM
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
// Error: require is not defined
|
|
76
|
-
|
|
77
|
-
// Problem: Using CJS syntax in ESM
|
|
78
|
-
const pkg = require('package'); // Error!
|
|
79
|
-
|
|
80
|
-
// Solution: Use import
|
|
81
|
-
import pkg from 'package';
|
|
82
|
-
|
|
83
|
-
// For dynamic require
|
|
84
|
-
import { createRequire } from 'module';
|
|
85
|
-
const require = createRequire(import.meta.url);
|
|
86
|
-
const pkg = require('package');
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 3. \_\_dirname Not Defined
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
// Error: __dirname is not defined
|
|
93
|
-
|
|
94
|
-
// Problem: __dirname is CJS-only
|
|
95
|
-
const path = __dirname + '/file'; // Error!
|
|
96
|
-
|
|
97
|
-
// Solution: Use import.meta
|
|
98
|
-
import { dirname } from 'path';
|
|
99
|
-
import { fileURLToPath } from 'url';
|
|
100
|
-
|
|
101
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
102
|
-
const __dirname = dirname(__filename);
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### 4. JSON Import
|
|
106
|
-
|
|
107
|
-
```typescript
|
|
108
|
-
// Error: Cannot import JSON
|
|
109
|
-
|
|
110
|
-
// Problem: JSON needs assertion
|
|
111
|
-
import data from './data.json'; // Error!
|
|
112
|
-
|
|
113
|
-
// Solution: Import assertion
|
|
114
|
-
import data from './data.json' with { type: 'json' };
|
|
115
|
-
|
|
116
|
-
// OR use Bun.file
|
|
117
|
-
const data = await Bun.file('./data.json').json();
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 5. Default Export Issue
|
|
121
|
-
|
|
122
|
-
```typescript
|
|
123
|
-
// Error: Module has no default export
|
|
124
|
-
|
|
125
|
-
// Problem: Named export imported as default
|
|
126
|
-
import Package from 'package';
|
|
127
|
-
|
|
128
|
-
// Solution: Use named import
|
|
129
|
-
import { Package } from 'package';
|
|
130
|
-
|
|
131
|
-
// OR for CJS modules with default
|
|
132
|
-
import Package from 'package';
|
|
133
|
-
const { default: Pkg } = Package;
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## TSConfig for ESM
|
|
137
|
-
|
|
138
|
-
```json
|
|
139
|
-
{
|
|
140
|
-
"compilerOptions": {
|
|
141
|
-
"module": "ESNext",
|
|
142
|
-
"moduleResolution": "bundler",
|
|
143
|
-
"target": "ESNext",
|
|
144
|
-
"esModuleInterop": true,
|
|
145
|
-
"allowSyntheticDefaultImports": true
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## Detection
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
# Find CJS patterns in ESM project
|
|
154
|
-
grep -rn "require(" src/ --include="*.ts"
|
|
155
|
-
grep -rn "__dirname" src/ --include="*.ts"
|
|
156
|
-
grep -rn "module.exports" src/ --include="*.ts"
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
## Output Format
|
|
160
|
-
|
|
161
|
-
```markdown
|
|
162
|
-
## ESM Resolution
|
|
163
|
-
|
|
164
|
-
### Error: [error message]
|
|
165
|
-
|
|
166
|
-
### Root Cause
|
|
167
|
-
|
|
168
|
-
[Why this error occurs]
|
|
169
|
-
|
|
170
|
-
### Solution
|
|
171
|
-
|
|
172
|
-
\`\`\`typescript
|
|
173
|
-
// Before (error)
|
|
174
|
-
[problematic code]
|
|
175
|
-
|
|
176
|
-
// After (fixed)
|
|
177
|
-
[corrected code]
|
|
178
|
-
\`\`\`
|
|
179
|
-
|
|
180
|
-
### Additional Configuration (if needed)
|
|
181
|
-
|
|
182
|
-
\`\`\`json
|
|
183
|
-
// tsconfig.json changes
|
|
184
|
-
\`\`\`
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## Critical Rules
|
|
188
|
-
|
|
189
|
-
1. **USE ESM SYNTAX** - import/export, not require/module.exports
|
|
190
|
-
2. **CHECK MODULE TYPE** - Ensure package.json has "type": "module"
|
|
191
|
-
3. **HANDLE JSON** - Use import assertion or Bun.file
|
|
192
|
-
4. **FIX \_\_DIRNAME** - Use import.meta.url
|
|
193
|
-
5. **DYNAMIC IMPORTS** - Use await import() for conditional loading
|
|
1
|
+
---
|
|
2
|
+
name: esm-resolver
|
|
3
|
+
description: "AUTOMATICALLY invoke on module errors. Triggers: 'module error', 'import error', 'cannot find module', 'require is not defined'. Fixes ESM/CJS compatibility issues. PROACTIVELY resolves import problems."
|
|
4
|
+
model: haiku
|
|
5
|
+
tools: Read, Grep, Glob
|
|
6
|
+
skills: typescript-strict, bun-runtime
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ESM Resolver Agent
|
|
10
|
+
|
|
11
|
+
You resolve ECMAScript Module issues and compatibility problems.
|
|
12
|
+
|
|
13
|
+
## ESM Basics
|
|
14
|
+
|
|
15
|
+
### Package.json Type
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"type": "module" // ESM mode
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Import Syntax
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
// ESM imports
|
|
27
|
+
import { something } from 'package';
|
|
28
|
+
import defaultExport from 'package';
|
|
29
|
+
import * as namespace from 'package';
|
|
30
|
+
|
|
31
|
+
// Dynamic import (async)
|
|
32
|
+
const module = await import('package');
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Export Syntax
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
// Named exports
|
|
39
|
+
export const value = 1;
|
|
40
|
+
export function fn() {}
|
|
41
|
+
export { a, b, c };
|
|
42
|
+
|
|
43
|
+
// Default export
|
|
44
|
+
export default class MyClass {}
|
|
45
|
+
|
|
46
|
+
// Re-export
|
|
47
|
+
export { something } from './other';
|
|
48
|
+
export * from './utils';
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Common Issues
|
|
52
|
+
|
|
53
|
+
### 1. Cannot Find Module
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
// Error: Cannot find module './utils'
|
|
57
|
+
|
|
58
|
+
// Problem: Missing file extension in ESM
|
|
59
|
+
import { helper } from './utils';
|
|
60
|
+
|
|
61
|
+
// Solution: Add .js extension (even for .ts files in compiled output)
|
|
62
|
+
import { helper } from './utils.js';
|
|
63
|
+
|
|
64
|
+
// OR configure tsconfig.json
|
|
65
|
+
{
|
|
66
|
+
"compilerOptions": {
|
|
67
|
+
"moduleResolution": "bundler" // Or "node16"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 2. CJS Module in ESM
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// Error: require is not defined
|
|
76
|
+
|
|
77
|
+
// Problem: Using CJS syntax in ESM
|
|
78
|
+
const pkg = require('package'); // Error!
|
|
79
|
+
|
|
80
|
+
// Solution: Use import
|
|
81
|
+
import pkg from 'package';
|
|
82
|
+
|
|
83
|
+
// For dynamic require
|
|
84
|
+
import { createRequire } from 'module';
|
|
85
|
+
const require = createRequire(import.meta.url);
|
|
86
|
+
const pkg = require('package');
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3. \_\_dirname Not Defined
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
// Error: __dirname is not defined
|
|
93
|
+
|
|
94
|
+
// Problem: __dirname is CJS-only
|
|
95
|
+
const path = __dirname + '/file'; // Error!
|
|
96
|
+
|
|
97
|
+
// Solution: Use import.meta
|
|
98
|
+
import { dirname } from 'path';
|
|
99
|
+
import { fileURLToPath } from 'url';
|
|
100
|
+
|
|
101
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
102
|
+
const __dirname = dirname(__filename);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 4. JSON Import
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// Error: Cannot import JSON
|
|
109
|
+
|
|
110
|
+
// Problem: JSON needs assertion
|
|
111
|
+
import data from './data.json'; // Error!
|
|
112
|
+
|
|
113
|
+
// Solution: Import assertion
|
|
114
|
+
import data from './data.json' with { type: 'json' };
|
|
115
|
+
|
|
116
|
+
// OR use Bun.file
|
|
117
|
+
const data = await Bun.file('./data.json').json();
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 5. Default Export Issue
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
// Error: Module has no default export
|
|
124
|
+
|
|
125
|
+
// Problem: Named export imported as default
|
|
126
|
+
import Package from 'package';
|
|
127
|
+
|
|
128
|
+
// Solution: Use named import
|
|
129
|
+
import { Package } from 'package';
|
|
130
|
+
|
|
131
|
+
// OR for CJS modules with default
|
|
132
|
+
import Package from 'package';
|
|
133
|
+
const { default: Pkg } = Package;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## TSConfig for ESM
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"compilerOptions": {
|
|
141
|
+
"module": "ESNext",
|
|
142
|
+
"moduleResolution": "bundler",
|
|
143
|
+
"target": "ESNext",
|
|
144
|
+
"esModuleInterop": true,
|
|
145
|
+
"allowSyntheticDefaultImports": true
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Detection
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Find CJS patterns in ESM project
|
|
154
|
+
grep -rn "require(" src/ --include="*.ts"
|
|
155
|
+
grep -rn "__dirname" src/ --include="*.ts"
|
|
156
|
+
grep -rn "module.exports" src/ --include="*.ts"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Output Format
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
## ESM Resolution
|
|
163
|
+
|
|
164
|
+
### Error: [error message]
|
|
165
|
+
|
|
166
|
+
### Root Cause
|
|
167
|
+
|
|
168
|
+
[Why this error occurs]
|
|
169
|
+
|
|
170
|
+
### Solution
|
|
171
|
+
|
|
172
|
+
\`\`\`typescript
|
|
173
|
+
// Before (error)
|
|
174
|
+
[problematic code]
|
|
175
|
+
|
|
176
|
+
// After (fixed)
|
|
177
|
+
[corrected code]
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
### Additional Configuration (if needed)
|
|
181
|
+
|
|
182
|
+
\`\`\`json
|
|
183
|
+
// tsconfig.json changes
|
|
184
|
+
\`\`\`
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Critical Rules
|
|
188
|
+
|
|
189
|
+
1. **USE ESM SYNTAX** - import/export, not require/module.exports
|
|
190
|
+
2. **CHECK MODULE TYPE** - Ensure package.json has "type": "module"
|
|
191
|
+
3. **HANDLE JSON** - Use import assertion or Bun.file
|
|
192
|
+
4. **FIX \_\_DIRNAME** - Use import.meta.url
|
|
193
|
+
5. **DYNAMIC IMPORTS** - Use await import() for conditional loading
|