Skip to content

2.0.0-alpha.0: fix global install, modernize toolchain, and ship ESM generator#83

Merged
ralphcallaway merged 8 commits into
masterfrom
fix/npm-global-install
May 25, 2026
Merged

2.0.0-alpha.0: fix global install, modernize toolchain, and ship ESM generator#83
ralphcallaway merged 8 commits into
masterfrom
fix/npm-global-install

Conversation

@ralphcallaway

@ralphcallaway ralphcallaway commented May 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

This release prepares generator-ccc v2 as an npm alpha (2.0.0-alpha.0). It fixes broken global installs, modernizes the generator and CI, and introduces breaking changes that warrant a major bump.

  • Fix global npm install -g generator-ccc — Stop excluding compiled generators/**/*.js from the published tarball and ensure CI builds before publish so index.js is included.
  • Yeoman v7 + ESM — Migrate the generator to TypeScript/ESM (yeoman-generator v7), resolve audit issues, and require Node.js 22 LTS.
  • Generator behavior fixes — Remove duplicate package.json merge that overwrote user settings; default new manifests to API 60.0 (was 44.0).
  • Quality & CI — Add Mocha/TypeScript tests, ESLint, Prettier, and a single consolidated workflow (build, lint, format, version check, publish on merge).
  • Dev experience — Strict typing on generator code, npm link / watch workflow documented in README.

Breaking changes (v2 alpha)

  • Node >=22 required (see .nvmrc).
  • Generator is ESM; depends on yeoman-generator v7.
  • Default package.xml API version is 60.0 for new projects.
  • update-notifier removed.

Version & publish

  • Version bumped to 2.0.0-alpha.0 in package.json and package-lock.json.
  • On merge to master, CI publishes to npm with dist-tag alpha (npm install -g generator-ccc@alpha).
  • latest is unchanged until a stable 2.0.0 release.

Test plan

  • npm ci && npm run build && npm run typecheck && npm run lint && npm run format && npm test
  • npm link locally, run yo ccc in a test SFDX project (fresh and existing fixtures)
  • Confirm existing package.json / .prettierrc / VS Code settings are merged, not overwritten
  • After merge: verify npm view generator-ccc@alpha version is 2.0.0-alpha.0
  • npm install -g generator-ccc@alpha and run yo ccc globally

Published packages were missing generators/app/index.js because .npmignore
excluded compiled JS and CI published with --ignore-scripts before building.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ralphcallaway ralphcallaway requested a review from a team as a code owner May 22, 2026 23:56
ralphcallaway and others added 7 commits May 25, 2026 10:21
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the split pull-request and ci-pull-request workflows with one pipeline that runs build, test, version checks, and npm publish using current action versions, explicit permissions, and simplified version comparison.

Co-authored-by: Cursor <cursoragent@cursor.com>
New projects were still scaffolded with API 44.0, which is far behind current Salesforce releases and causes deploy compatibility issues.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove the duplicate writeNpmPackage merge that overwrote user settings, enable strict TypeScript on the generator, convert tests to TypeScript, and add ESLint, Prettier, and CI quality gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ralphcallaway ralphcallaway changed the title Fix global npm install by shipping compiled generator output. 2.0.0-alpha.0: fix global install, modernize toolchain, and ship ESM generator May 25, 2026
@ralphcallaway ralphcallaway merged commit 68efa45 into master May 25, 2026
12 of 18 checks passed
@ralphcallaway ralphcallaway deleted the fix/npm-global-install branch May 25, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants