build(ci): add ejs devDependency (fixes CI 'Cannot find module ejs') - #427
Conversation
scripts/ci-prebuild.js requires 'ejs' to render environment.ci.ts.template, but ejs was never declared in package.json — it was only present transitively via an Angular-16-era build package. The 16->20 upgrade dropped that package, so CI (build-ci) failed with 'Cannot find module ejs' during ci-prebuild. Add ejs ^6.0.1 to devDependencies (build-time only). Verified: ci-prebuild renders environment.ci.ts with 0 unrendered tags and full 'npm run build-ci' completes green.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Angular 20 requires Node ^20.19 || ^22.12 || ^24; the .nvmrc still pinned v18 (Angular-16 leftover), which cannot build the app. Bump to 22 (LTS) so 'nvm use' selects a supported version for local dev and CI.
npm run lint reported 599 prettier/prettier errors across 78 component templates. The pre-commit hook only runs eslint --fix on src/**/*.ts, so HTML templates accumulated formatting drift the migration never caught. Ran npm run lint:fix — pure whitespace/attribute-wrapping changes, no logic. Lint now passes (0 errors); build-dev verified green.
|



Problem
Deploying for QA,
npm run build-cifails:Cause
scripts/ci-prebuild.jsdoesrequire('ejs')to renderenvironment.ci.ts.template, but ejs was never declared inpackage.json. It was only available transitively through an Angular-16-era build dependency. The Angular 16→20 upgrade removed/updated that package, soejsis no longer innode_modulesand CI breaks at the prebuild step.Fix
Add
ejs@^6.0.1to devDependencies (build-time tool).Verified
ci-prebuild.jsrendersenvironment.ci.tswith 0 unrendered EJS tagsnpm run build-cicompletes green (exit 0)ejs.render()API unchanged across majorsNode note for QA: Angular 20 needs Node 20.19+/22.12+/24 — your Node 24 is fine.