eeb5fa0d75
- CLAUDE.md: functional-first, type over interface, no optional props, Result type - biome.json: lint + format config (Biome 1.9) - tsconfig.json: strict mode, composite project references - .cursor/rules: global conventions + no-dynamic-import Adapted from uncaged/nerve for bun workspace. 小橘 <xiaoju@shazhou.work>
28 lines
702 B
Plaintext
28 lines
702 B
Plaintext
---
|
|
description: Ban dynamic import() in production code — use static imports instead
|
|
globs: packages/*/src/**/*.ts
|
|
alwaysApply: true
|
|
---
|
|
|
|
# No Dynamic Import in Production Code
|
|
|
|
## Rule
|
|
|
|
Do NOT use `await import()` or dynamic `import()` expressions in production source code.
|
|
Always use static top-level `import` statements.
|
|
|
|
## Exception (must include a comment explaining why)
|
|
|
|
1. **Bundle loader** — loads user-authored workflow bundles whose paths are only known at runtime
|
|
|
|
When suppressing, add a comment directly above:
|
|
|
|
```ts
|
|
// Dynamic import required: user bundle path resolved at runtime
|
|
const mod = await import(bundlePath);
|
|
```
|
|
|
|
## Test Files
|
|
|
|
Test files (`__tests__/**`) are exempt.
|