Electron Build Tests Error Before Packaged Output
garrettmflynn opened this issue · comments
When using electron-builder
in a vitest
context, an error is thrown that fails the test and will not allow for further development (e.g. adding tests to cover the actual Resource folder of the output application)
Note: To trigger this behaviors, you can modify the
skipPackageStep
intests/utils.ts
to not includeisElectron
.
Error: Cannot spawn /Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-bin/mac/app-builder_arm64: TypeError: The argument 'stdio' is invalid. Received WritableWorkerStdio {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,...
at new NodeError (node:internal/errors:405:5)
at node:internal/child_process:1073:13
at Array.reduce (<anonymous>)
at getValidStdio (node:internal/child_process:998:11)
at ChildProcess.spawn (node:internal/child_process:356:11)
at Object.spawn (node:child_process:761:9)
at Function.spawn (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/cross-spawn/index.js:12:24)
at doSpawn (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/util.ts:175:12)
at /Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/util.ts:375:28
at new Promise (<anonymous>)
at runCommand (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/util.ts:374:12)
at Object.executeAppBuilder (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/util.ts:393:12)
at Object.executeAppBuilderAsJson (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/util/appBuilder.ts:5:10)
at Lazy.creator (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/util/packageDependencies.ts:12:12)
at Lazy.get value [as value] (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/lazy-val/src/main.ts:18:25)
at rebuild (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/util/yarn.ts:169:49)
at Object.installOrRebuild (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/util/yarn.ts:29:11)
at Packager.installAppDependencies (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/packager.ts:516:7)
at MacPackager.doPack (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/platformPackager.ts:216:5)
at MacPackager.pack (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/macPackager.ts:192:7)
at Packager.doBuild (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/packager.ts:441:9)
at Object.executeFinally (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/promise.ts:12:14)
at Packager._build (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/packager.ts:376:31)
at Packager.build (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/app-builder-lib/src/packager.ts:337:12)
at Object.executeFinally (/Users/garrettflynn/Documents/GitHub/commoners/node_modules/builder-util/src/promise.ts:12:14)
at Module.build (/Users/garrettflynn/Documents/GitHub/commoners/packages/core/build.ts:130:5)
at /Users/garrettflynn/Documents/GitHub/commoners/packages/testing/index.ts:54:5
at async Promise.all (index 0)
at callSuiteHook (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:582:23)
at runSuite (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:765:27)
at runSuite (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:782:15)
at runSuite (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:782:15)
at runFiles (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:834:5)
at startTests (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/@vitest/runner/dist/index.js:843:3)
at file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/vitest/dist/entry.js:103:7
at withEnv (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/vitest/dist/entry.js:73:5)
at run (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/vitest/dist/entry.js:95:3)
at run (file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/vitest/dist/worker.js:91:5)
at file:///Users/garrettflynn/Documents/GitHub/commoners/node_modules/tinypool/dist/esm/worker.js:109:20
❯ Object.spawn node:child_process:761:9
❯ Function.spawn node_modules/cross-spawn/index.js:12:24
❯ doSpawn node_modules/builder-util/src/util.ts:175:12
❯ node_modules/builder-util/src/util.ts:375:28
❯ runCommand node_modules/builder-util/src/util.ts:374:12
❯ Object.executeAppBuilder node_modules/builder-util/src/util.ts:393:12
❯ Object.executeAppBuilderAsJson node_modules/app-builder-lib/src/util/appBuilder.ts:5:10
❯ Lazy.creator node_modules/app-builder-lib/src/util/packageDependencies.ts:12:12
❯ Lazy.get value [as value] node_modules/lazy-val/src/main.ts:18:25
❯ rebuild node_modules/app-builder-lib/src/util/yarn.ts:169:49
❯ Object.installOrRebuild node_modules/app-builder-lib/src/util/yarn.ts:29:11
❯ Packager.installAppDependencies node_modules/app-builder-lib/src/packager.ts:516:7
❯ MacPackager.doPack node_modules/app-builder-lib/src/platformPackager.ts:216:5
❯ MacPackager.pack node_modules/app-builder-lib/src/macPackager.ts:192:7
❯ Packager.doBuild node_modules/app-builder-lib/src/packager.ts:441:9
❯ Object.executeFinally node_modules/builder-util/src/promise.ts:12:14
❯ Packager._build node_modules/app-builder-lib/src/packager.ts:376:31
❯ Packager.build node_modules/app-builder-lib/src/packager.ts:337:12
❯ Object.executeFinally node_modules/builder-util/src/promise.ts:12:14
❯ Module.build packages/core/build.ts:130:5
128| // Ensure platform-specific configs exist
129| if (!buildConfig.mac) buildConfig.mac = {}
130| if (!buildConfig.win) buildConfig.win = {}
| ^
131|
132| // // Dynamic asar unpacking (which doesn't work for services)
❯ packages/testing/index.ts:54:5
❯ doSpawn node_modules/builder-util/src/util.ts:177:11
❯ node_modules/builder-util/src/util.ts:375:28
❯ runCommand node_modules/builder-util/src/util.ts:374:12
❯ Object.executeAppBuilder node_modules/builder-util/src/util.ts:393:12
❯ Object.executeAppBuilderAsJson node_modules/app-builder-lib/src/util/appBuilder.ts:5:10
❯ Lazy.<anonymous> node_modules/app-builder-lib/src/util/packageDependencies.ts:12:12
❯ Lazy.get value [as value] node_modules/lazy-val/src/main.ts:18:25
❯ rebuild node_modules/app-builder-lib/src/util/yarn.ts:169:49
❯ Object.installOrRebuild node_modules/app-builder-lib/src/util/yarn.ts:29:11
❯ Packager.installAppDependencies node_modules/app-builder-lib/src/packager.ts:516:7
❯ MacPackager.doPack node_modules/app-builder-lib/src/platformPackager.ts:216:5
❯ MacPackager.pack node_modules/app-builder-lib/src/macPackager.ts:192:7
❯ Packager.doBuild node_modules/app-builder-lib/src/packager.ts:441:9
❯ Object.executeFinally node_modules/builder-util/src/promise.ts:12:14
❯ Packager._build node_modules/app-builder-lib/src/packager.ts:376:31
❯ Packager.build node_modules/app-builder-lib/src/packager.ts:337:12
❯ Object.executeFinally node_modules/builder-util/src/promise.ts:12:14
❯ Module.build packages/core/build.ts:130:5
❯ packages/testing/index.ts:54:5
The quickest way to fix this would be to run the build command before running vitest
at all, targeting the application that was built before.
Fixed when upgraded to latest dependencies.