-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: fix type generation for es build #25
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe changes in the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Vite
participant Plugin
User->>Vite: Initiates build process
Vite->>Plugin: Configures plugins
Plugin-->>Vite: Plugins configured
Vite->>User: Build artifacts generated
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
vite.config.ts (1)
19-19
: Good fix: Proper type generation configuration for ES modulesThe addition of
rollupTypes: true
is essential for fixing the type generation issues with ES modules. This ensures that TypeScript can properly import all methods and types when using "type: module".Some additional benefits of this configuration:
- Generates a single type definition bundle
- Improves compatibility with ES module imports
- Maintains proper type references across the package
Consider adding a type checking script in your CI pipeline to verify the generated types:
// package.json { "scripts": { + "type-check": "tsc --noEmit", + "test-types": "tsc --project tsconfig.json --noEmit" } }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (2)
package.json
is excluded by!**/*.json
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
,!**/*.yaml
📒 Files selected for processing (1)
vite.config.ts
(1 hunks)
🔇 Additional comments (1)
vite.config.ts (1)
16-18
: LGTM: Directory structure changes look correct
Moving the root to "." while maintaining the lib directory as the source through aliases is a good approach. This helps separate source files while keeping the build configuration at the project root.
@@ -11,11 +11,10 @@ export default defineConfig({ | |||
name: "@kinde/management-api-js", | |||
fileName: "kinde-management-api-js", | |||
}, | |||
target: "esnext", | |||
outDir: "../dist", | |||
target: "esnext" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Target mismatch between Vite and TypeScript configurations
The Vite config uses "esnext"
while TypeScript is configured with "ES2022"
. This mismatch could lead to inconsistencies in the generated code and type declarations. Update the Vite build target to match TypeScript's "ES2022"
for consistent behavior.
🔗 Analysis chain
Verify ESNext compatibility with type generation
The esnext
target is appropriate for modern JavaScript features, but ensure it aligns with your TypeScript configuration and supported environments.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check TypeScript config for target compatibility
rg -l "compilerOptions" --type json
rg '"target"' --type json -A 2
Length of output: 209
Explain your changes
Fixes issue with typescript being unable to import methods/types that are not the init method when building a project of "type: module".
Checklist
🛟 If you need help, consider asking for advice over in the Kinde community.