Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR fixes CI/CD build issues by restructuring TypeScript configurations and build processes. The main goal is to separate development and production configurations, particularly for monorepo builds where local path references need to be handled differently.
Key changes:
- Simplified
tsconfig.build.jsonfiles intypesanddatapackages to be standalone configurations without inheritance - Changed TypeScript compilation from
--build(composite mode) to-pflag for simpler builds - Split
saaspackage's TypeScript config into production (tsconfig.json) and development (tsconfig.dev.json) variants - Updated root build script to enforce sequential dependency order (types/data before ui/demo-app/storybook/saas)
Reviewed Changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Updated @emnapi/runtime from 1.7.0 to 1.7.1 |
| packages/types/tsconfig.build.json | Removed inheritance from tsconfig.app.json, made standalone build config |
| packages/types/package.json | Changed build script from tsc --build to tsc -p |
| packages/data/tsconfig.build.json | Removed inheritance, composite mode, and project references for simpler build |
| packages/data/package.json | Changed build script from tsc --build to tsc -p |
| packages/saas/tsconfig.json | Removed local package path mappings (moved to dev config) |
| packages/saas/tsconfig.dev.json | New file with local package path mappings for development |
| packages/saas/package.json | Updated tsc script to use tsconfig.dev.json |
| packages/saas/next.config.ts | Removed static export config, added turbo experimental config |
| package.json | Added sequential build order and new dist:rm script |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "composite": true, | ||
| "target": "ES2022", | ||
| "module": "ESNext", | ||
| "moduleResolution": "node", |
There was a problem hiding this comment.
The module: 'ESNext' with moduleResolution: 'node' combination is inconsistent. When using ESNext modules, moduleResolution should typically be 'bundler' or 'nodenext' for proper ES module resolution. However, since this is a build config and package.json specifies type: module, consider using moduleResolution: 'bundler' or moduleResolution: 'nodenext' for better alignment with modern ES module standards.
| "moduleResolution": "node", | |
| "moduleResolution": "nodenext", |
| "composite": true, | ||
| "target": "ES2022", | ||
| "module": "ESNext", | ||
| "moduleResolution": "node", |
There was a problem hiding this comment.
The module: 'ESNext' with moduleResolution: 'node' combination is inconsistent. When using ESNext modules, moduleResolution should typically be 'bundler' or 'nodenext' for proper ES module resolution. However, since this is a build config and package.json specifies type: module, consider using moduleResolution: 'bundler' or moduleResolution: 'nodenext' for better alignment with modern ES module standards.
| "moduleResolution": "node", | |
| "moduleResolution": "nodenext", |
| experimental: { | ||
| turbo: {}, | ||
| }, |
There was a problem hiding this comment.
The empty turbo: {} configuration serves no purpose. If turbo is enabled by the --turbopack flag in the build/dev scripts (as seen in package.json), this experimental config block is redundant. Consider removing the entire experimental block unless specific turbo options need to be configured.
| experimental: { | |
| turbo: {}, | |
| }, |
No description provided.