Fix CI workflows and add neo-ux-core primitive component library#98
Fix CI workflows and add neo-ux-core primitive component library#98
Conversation
- Fix pnpm setup order in all three workflows (v3-build, ci, dependency-health) - Upgrade to pnpm/action-setup@v3 and actions/cache@v4 - Remove broken script dependencies from workflows - Add missing .eslintrc.js for packages/frames - Update TypeScript configs for SDK and neo-ux-core (moduleResolution: Bundler, strict: false) - Add type: module and tsc-alias to SDK package - Fix Sidebar.tsx type error (remove active prop) - Add tsc-alias to root devDependencies Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
… workflow Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
🏥 Dependency Health CheckStatus: ✅ Healthy Version Summary
|
There was a problem hiding this comment.
Pull request overview
Repairs failing GitHub Actions workflows and TypeScript build configuration in the monorepo (pnpm setup/caching order, ESLint config for frames, and TS module resolution changes to unblock package builds).
Changes:
- Update CI workflows to install pnpm before Node setup, switch to
actions/cache@v4, and addCI=falsefor build-related steps. - Adjust TS configs (
moduleResolution: Bundler,strict: false) and update SDK build to runtsc-alias(+ addtsc-aliasdependency). - Add missing
packages/frames/.eslintrc.jsand fix aSidebarprop typing issue.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/v3-build.yaml |
Fix pnpm setup order, update caching, and apply CI=false to build steps. |
.github/workflows/ci.yml |
Fix pnpm setup/caching and apply CI=false to CI steps. |
.github/workflows/dependency-health.yml |
Fix pnpm setup/caching, build key packages, and relax Next.js version tolerance. |
packages/frames/.eslintrc.js |
Add ESLint config so frames lint step can run in CI. |
packages/sdk/tsconfig.json |
Switch to bundler module resolution and relax strictness to match repo defaults. |
packages/sdk/package.json |
Mark SDK as ESM and add tsc-alias to the build pipeline. |
packages/neo-ux-core/tsconfig.json |
Switch to bundler module resolution and relax strictness. |
apps/web/components/ui/Sidebar.tsx |
Remove unused active field from nav item typing/logic. |
package.json |
Add tsc-alias to root devDependencies. |
pnpm-lock.yaml |
Lockfile updates reflecting dependency additions/changes. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The SDK is marked as "type": "module" but had a require condition pointing to the same ESM file, which would break CommonJS consumers. Since we're building ESM-only, removed the require condition to properly declare this as an ESM package. Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
🏥 Dependency Health CheckStatus: Version Summary
|
…tion Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
- Update package.json with tsup build scripts and devDependencies - Update tsconfig.json to match spec (strict: true, bundler moduleResolution) - Add theme/tokens.ts with neoColors, neoRadii, neoShadow, neoSpacing, neoTypography - Add theme/NeoThemeProvider.tsx for CSS custom properties injection - Export theme components from index.ts - apps/web already has workspace:* dependency on neo-ux-core Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
- Surface, Button, Badge, Input, Card, Modal, Navbar components - All use CSS custom properties from theme system - Update index.ts exports - Fix package.json exports order Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
|
@copilot fix all test failing checks |
Restore missing devDependencies (tsup, typescript, eslint, @types/*) that were in the lockfile but removed from package.json. This was causing CI failures with "pnpm-lock.yaml is not up to date" errors. - Add back devDependencies: @types/react, @types/react-dom, eslint, tsup, typescript - Add private: false for npm publishing - Add sideEffects: false for tree-shaking - Add lint script - Reorder exports with types first (best practice) Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Fixed in commit 1f870d0. The CI failures were caused by |
🏥 Dependency Health CheckStatus: Version Summary
|
Fix CI workflows and add neo-ux-core primitive component library
Status: ✅ CI Fixes Applied
Issue: Both v3-build and dependency-health workflows failing with lockfile mismatch error
Root Cause: packages/neo-ux-core/package.json was missing devDependencies that exist in pnpm-lock.yaml
Fix: Restored devDependencies to match lockfile
Changes Summary
CI Workflow Fixes
TypeScript Configuration
neo-ux-core Package (FIXED)
✅ Restored devDependencies to match lockfile:
Theme System:
Primitive Components (7 total):
CI Status
Original prompt
CI Repair + Test Refresh + Deploy Readiness
Problem Statement
All three critical GitHub Actions workflows are failing in the CastQuest V3 repository:
Root Causes Identified
1. v3-build.yaml Workflow Failure
Unable to locate executable file: pnpmpnpmsetup action placed AFTER Node.js setup withcache: 'pnpm', causing cache lookup to fail before pnpm is installed2. CI Workflow Failure
ESLint couldn't find a configuration fileinpackages/frames.eslintrc.jsconfiguration file in the frames package3. Dependency Health Check Failure
@castquest/neo-ux-corebuild failed@castquest/sdkbuild failed (ESM/CJS module conflicts)@castquest/adminbuild failed with syntax error:'import', and 'export' cannot be used outside of module codeapps/web/components/ui/Sidebar.tsxtype error:Property 'active' does not exist on typeRequired Fixes
1. Fix GitHub Actions Workflows
.github/workflows/v3-build.yamlpnpm/action-setup@v3BEFORE Node.js setupcache: 'pnpm'from Node.js setup stepactions/cache@v4run_install: falseto pnpm setup--prefer-offlineflag to install commandCI=falseenv var for Next.js buildsscripts/repair-dependencies.sh,scripts/master.sh).github/workflows/ci.ymlpnpm/action-setup@v3andactions/cache@v4CI=falsefor builds.github/workflows/dependency-health.yml2. Add Missing ESLint Configuration
Create
packages/frames/.eslintrc.js:3. Fix TypeScript Configuration Issues
packages/sdk/package.json"type": "module"to enable ESMtsc-aliasdev dependency for path resolution"build": "tsc && tsc-alias"packages/sdk/tsconfig.jsonmoduleResolutionfrom"Node"to"Bundler"strict: falsefor compatibilityisolatedModules: truepackages/neo-ux-core/tsconfig.jsonmoduleResolutionfrom"Node"to"Bundler"strict: falsefor compatibilitypackages/frames/tsconfig.json(CREATE NEW FILE){ "extends": "../../tsconfig.json", "compilerOptions": { "jsx": "preserve", "module": "esnext", "moduleResolution": "bundler", "allowJs": true, "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "lib": ["dom", "dom.iterable", "esnext"], "incremental": true, "plugins": [{ "name": "next" }] }, "include": ["src/**/*", ".next/types/**/*.ts"], "exclude": ["node_modules"] }4. Fix Type Errors in Source Code
apps/web/components/ui/Sidebar.tsxRemove
active?: booleanfromSidebarPropsinterface type definition on line 7. The component should compute active state frompathname, not receive it as a prop.Change line 7 from:
To:
Remove reference to
item.activeon line 28 and compute active state only from pathname comparison.5. Update Root Package Configuration
package.jsontsc-aliasto devDependenciesSuccess Criteria
After applying these fixes, all three workflows must pass:
Testing Instructions
Additional Con...
This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.