From 22806d71e716cc64802827291b657ceee8dd7dbe Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Tue, 25 Feb 2020 09:43:50 -0800 Subject: [PATCH 1/2] fix(core): throw an error when no make targets for the given platform are found --- packages/api/core/src/api/make.ts | 4 ++++ .../api/core/test/fixture/maker-wrong-platform.ts | 3 +++ packages/api/core/test/slow/api_spec_slow.ts | 11 +++++++++++ 3 files changed, 18 insertions(+) create mode 100644 packages/api/core/test/fixture/maker-wrong-platform.ts diff --git a/packages/api/core/src/api/make.ts b/packages/api/core/src/api/make.ts index a4d8112c00..88edabde66 100644 --- a/packages/api/core/src/api/make.ts +++ b/packages/api/core/src/api/make.ts @@ -153,6 +153,10 @@ export default async ({ targets = targets.filter((_, i) => makers[i]); + if (targets.length === 0) { + throw new Error(`Could not find any make targets configured for the "${actualTargetPlatform}" platform.`); + } + info(interactive, `Making for the following targets: ${`${targets.map((t, i) => makers[i].name).join(', ')}`.cyan}`); const packageJSON = await readMutatedPackageJson(dir, forgeConfig); diff --git a/packages/api/core/test/fixture/maker-wrong-platform.ts b/packages/api/core/test/fixture/maker-wrong-platform.ts new file mode 100644 index 0000000000..cf8ed6316c --- /dev/null +++ b/packages/api/core/test/fixture/maker-wrong-platform.ts @@ -0,0 +1,3 @@ +export default class Maker { + platforms = ['win32']; +} diff --git a/packages/api/core/test/slow/api_spec_slow.ts b/packages/api/core/test/slow/api_spec_slow.ts index ac97a3fce1..46a279ca4f 100644 --- a/packages/api/core/test/slow/api_spec_slow.ts +++ b/packages/api/core/test/slow/api_spec_slow.ts @@ -377,6 +377,17 @@ describe(`electron-forge API (with installer=${nodeInstaller})`, () => { })).to.eventually.be.rejectedWith(/incompatible with this version/); }); + it('throws an error when no makers are configured for the given platform', async () => { + await expect(forge.make({ + dir, + overrideTargets: [{ + name: path.resolve(__dirname, '../fixture/maker-wrong-platform'), + }], + platform: 'linux', + skipPackage: true, + })).to.eventually.be.rejectedWith(`Could not find any make targets configured for the "linux" platform.`); + }); + it('can make for the MAS platform successfully', async () => { if (process.platform !== 'darwin') return; await expect(forge.make({ From 78197edb2dc32f498e6e0dfc9fde736baf98174c Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Tue, 25 Feb 2020 10:31:52 -0800 Subject: [PATCH 2/2] Fix lint warning --- packages/api/core/test/slow/api_spec_slow.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/core/test/slow/api_spec_slow.ts b/packages/api/core/test/slow/api_spec_slow.ts index 46a279ca4f..c6158b584a 100644 --- a/packages/api/core/test/slow/api_spec_slow.ts +++ b/packages/api/core/test/slow/api_spec_slow.ts @@ -385,7 +385,7 @@ describe(`electron-forge API (with installer=${nodeInstaller})`, () => { }], platform: 'linux', skipPackage: true, - })).to.eventually.be.rejectedWith(`Could not find any make targets configured for the "linux" platform.`); + })).to.eventually.be.rejectedWith('Could not find any make targets configured for the "linux" platform.'); }); it('can make for the MAS platform successfully', async () => {