Skip to content

Conversation

@erickzhao
Copy link
Member

@erickzhao erickzhao commented Dec 3, 2025

BREAKING CHANGE: Forge only accepts JS/TS configuration files

@erickzhao erickzhao added the next label Dec 3, 2025
@erickzhao erickzhao requested a review from a team as a code owner December 3, 2025 00:36
@erickzhao erickzhao requested a review from a team December 3, 2025 00:37
Copy link
Member

@erikian erikian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm getting Error: Template (base) is not compatible with this version of Electron Forge (7.10.2), it requires 7.7.0 when running tests locally with git clean -dfx && yarn && yarn build && yarn test, maybe the build artifacts we're using on CI are stale?

describe('forgeConfigIsValidFilePath', () => {
it('succeeds for a file extension-less path', async () => {
const fixturePath = path.resolve(__dirname, '../../fixture/dummy_js_conf/');
await expect(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this await is no longer necessary


it('fails when a file is nonexistent', async () => {
const fixturePath = path.resolve(__dirname, '../../fixture/dummy_js_conf/');
await expect(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: same here

Copy link
Member

@MarshallOfSound MarshallOfSound left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the concept, have fun fighting CI

@erickzhao
Copy link
Member Author

erickzhao commented Dec 3, 2025

@erikian which tests in particular are failing locally for you? I'm not running into this locally myself with the same steps. 🤔

@erickzhao erickzhao mentioned this pull request Dec 3, 2025
17 tasks
@erikian
Copy link
Member

erikian commented Dec 3, 2025

@erikian which tests in particular are failing locally for you? I'm not running into this locally myself with the same steps. 🤔

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 6 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'npm') > init
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'npm') > Electron Forge API > after init
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'yarn') > init
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'yarn') > Electron Forge API > after init
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'pnpm') > init
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'pnpm') > Electron Forge API > after init
Error: Template (base) is not compatible with this version of Electron Forge (7.10.2), it requires 7.7.0
 ❯ validateTemplate packages/api/core/src/api/init.ts:73:11
     71|   ).version;
     72|   if (!semver.satisfies(forgeVersion, templateModule.requiredForgeVersion)) {
     73|     throw new Error(
       |           ^
     74|       `Template (${template}) is not compatible with this version of Electron Forge (${forgeVersion}), it requires…
     75|     );
 ❯ _Task.task [as taskFn] packages/api/core/src/api/init.ts:155:11
 ❯ _Task.run node_modules/listr2/dist/index.js:1979:11

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/13]⎯


⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init params > init (with electronVersion) > can define a specific Electron version with a version number
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init params > init (with electronVersion) > can define a specific Electron nightly version with a version number
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init params > init (with electronVersion) > can define a specific Electron prerelease version with the beta tag
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init params > init (with electronVersion) > can define a specific Electron nightly version with the nightly tag
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'npm') > init (with skipGit) > should not initialize a git repo if passed the skipGit option
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'yarn') > init (with skipGit) > should not initialize a git repo if passed the skipGit option
 FAIL   slow  packages/api/core/spec/slow/api.slow.spec.ts > init (with 'pnpm') > init (with skipGit) > should not initialize a git repo if passed the skipGit option
Error: Template (base) is not compatible with this version of Electron Forge (7.10.2), it requires 7.7.0
 ❯ validateTemplate packages/api/core/src/api/init.ts:73:11
     71|   ).version;
     72|   if (!semver.satisfies(forgeVersion, templateModule.requiredForgeVersion)) {
     73|     throw new Error(
       |           ^
     74|       `Template (${template}) is not compatible with this version of Electron Forge (${forgeVersion}), it requires…
     75|     );
 ❯ _Task.task [as taskFn] packages/api/core/src/api/init.ts:155:11
 ❯ _Task.run node_modules/listr2/dist/index.js:1979:11

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/13]⎯


 Test Files  1 failed | 55 passed | 1 skipped (57)
      Tests  7 failed | 413 passed | 58 skipped | 10 todo (488)
   Start at  16:25:59
   Duration  117.59s (transform 470ms, setup 0ms, collect 3.82s, tests 108.18s, environment 4ms, prepare 1.48s)

Failed with exit code: 1
Output:


@erikian
Copy link
Member

erikian commented Dec 3, 2025

BTW, do we still need rechoir and interpret for .ts config files to work?

@erickzhao
Copy link
Member Author

BTW, do we still need rechoir and interpret for .ts config files to work?

Those should be short-circuited via jiti since #3907

@erickzhao
Copy link
Member Author

@erikian I wonder if you have Forge 7.7.0 installed globally by accident and that's polluting the tests. None of our fixtures seem to reference 7.7.0 anywhere in the codebase.

@erikian
Copy link
Member

erikian commented Dec 5, 2025

@erickzhao you're right, I do have create-electron-app@7.7.0 installed globally, and tests are passing after removing it.

@erickzhao erickzhao merged commit 35cabfe into next Dec 5, 2025
11 checks passed
@erickzhao erickzhao deleted the remove-rechoir branch December 5, 2025 18:29
@erickzhao erickzhao mentioned this pull request Dec 5, 2025
20 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants