@electron-forge/test-utils 7.10.1 → 8.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +88 -0
- package/package.json +2 -2
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function runNPMInstall(dir: string, ...args: string[]): Promise<void>;
|
|
2
|
+
export declare function ensureModulesInstalled(dir: string, deps: string[], devDeps: string[]): Promise<void>;
|
|
3
|
+
export declare function ensureTestDirIsNonexistent(): Promise<string>;
|
|
4
|
+
export declare function expectLintToPass(dir: string): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to mock CommonJS `require` calls with Vitest.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/vitest-dev/vitest/discussions/3134
|
|
9
|
+
* @param mockedUri - mocked module URI
|
|
10
|
+
* @param stub - stub function to assign to mock
|
|
11
|
+
*/
|
|
12
|
+
export declare function mockRequire(mockedUri: string, stub: any): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAEjE;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAGf;AAID,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAMlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjE;AAED;;;;;;GAMG;AAEH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAW7D"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.mockRequire = exports.expectLintToPass = exports.ensureTestDirIsNonexistent = exports.ensureModulesInstalled = exports.runNPMInstall = void 0;
|
|
30
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
31
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
32
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
33
|
+
const cross_spawn_promise_1 = require("@malept/cross-spawn-promise");
|
|
34
|
+
async function runNPM(dir, ...args) {
|
|
35
|
+
await (0, cross_spawn_promise_1.spawn)('npm', args, { cwd: dir });
|
|
36
|
+
}
|
|
37
|
+
async function runNPMInstall(dir, ...args) {
|
|
38
|
+
await runNPM(dir, 'install', ...args);
|
|
39
|
+
}
|
|
40
|
+
exports.runNPMInstall = runNPMInstall;
|
|
41
|
+
async function ensureModulesInstalled(dir, deps, devDeps) {
|
|
42
|
+
await runNPMInstall(dir, ...deps);
|
|
43
|
+
await runNPMInstall(dir, '--save-dev', ...devDeps);
|
|
44
|
+
}
|
|
45
|
+
exports.ensureModulesInstalled = ensureModulesInstalled;
|
|
46
|
+
let dirID = Date.now();
|
|
47
|
+
async function ensureTestDirIsNonexistent() {
|
|
48
|
+
const dir = node_path_1.default.resolve(node_os_1.default.tmpdir(), `electron-forge-test-${dirID}`);
|
|
49
|
+
dirID += 1;
|
|
50
|
+
await node_fs_1.default.promises.rm(dir, { recursive: true, force: true });
|
|
51
|
+
return dir;
|
|
52
|
+
}
|
|
53
|
+
exports.ensureTestDirIsNonexistent = ensureTestDirIsNonexistent;
|
|
54
|
+
async function expectLintToPass(dir) {
|
|
55
|
+
try {
|
|
56
|
+
await runNPM(dir, 'run', 'lint');
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
if (err instanceof cross_spawn_promise_1.ExitError) {
|
|
60
|
+
console.error('STDOUT:', err.stdout.toString());
|
|
61
|
+
console.error('STDERR:', err.stderr.toString());
|
|
62
|
+
}
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.expectLintToPass = expectLintToPass;
|
|
67
|
+
/**
|
|
68
|
+
* Helper function to mock CommonJS `require` calls with Vitest.
|
|
69
|
+
*
|
|
70
|
+
* @see https://github.com/vitest-dev/vitest/discussions/3134
|
|
71
|
+
* @param mockedUri - mocked module URI
|
|
72
|
+
* @param stub - stub function to assign to mock
|
|
73
|
+
*/
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
+
async function mockRequire(mockedUri, stub) {
|
|
76
|
+
const { Module } = await Promise.resolve().then(() => __importStar(require('module')));
|
|
77
|
+
//@ts-expect-error undocumented functions
|
|
78
|
+
Module._load_original = Module._load;
|
|
79
|
+
//@ts-expect-error undocumented functions
|
|
80
|
+
Module._load = (uri, parent) => {
|
|
81
|
+
if (uri === mockedUri)
|
|
82
|
+
return stub;
|
|
83
|
+
//@ts-expect-error undocumented functions
|
|
84
|
+
return Module._load_original(uri, parent);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
exports.mockRequire = mockRequire;
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBeUI7QUFDekIsc0RBQXlCO0FBQ3pCLDBEQUE2QjtBQUU3QixxRUFBK0Q7QUFFL0QsS0FBSyxVQUFVLE1BQU0sQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFjO0lBQ2xELE1BQU0sSUFBQSwyQkFBSyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRU0sS0FBSyxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFjO0lBQ2hFLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRkQsc0NBRUM7QUFFTSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLEdBQVcsRUFDWCxJQUFjLEVBQ2QsT0FBaUI7SUFFakIsTUFBTSxhQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbEMsTUFBTSxhQUFhLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFQRCx3REFPQztBQUVELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUVoQixLQUFLLFVBQVUsMEJBQTBCO0lBQzlDLE1BQU0sR0FBRyxHQUFHLG1CQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNYLE1BQU0saUJBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBTkQsZ0VBTUM7QUFFTSxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsR0FBVztJQUNoRCxJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxHQUFHLFlBQVksK0JBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNoRCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQztBQUNILENBQUM7QUFWRCw0Q0FVQztBQUVEOzs7Ozs7R0FNRztBQUNILDhEQUE4RDtBQUN2RCxLQUFLLFVBQVUsV0FBVyxDQUFDLFNBQWlCLEVBQUUsSUFBUztJQUM1RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsd0RBQWEsUUFBUSxHQUFDLENBQUM7SUFFMUMseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNyQyx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM3QixJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbkMseUNBQXlDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVhELGtDQVdDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@electron-forge/test-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-alpha.1",
|
|
4
4
|
"description": "Helper utilities for the Electron Forge testsuite",
|
|
5
5
|
"repository": "https://github.com/electron/forge",
|
|
6
6
|
"author": "Mark Lee",
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"dist",
|
|
21
21
|
"src"
|
|
22
22
|
],
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "b9e0db1e38fafbeace24f539be01e32a4aeed258"
|
|
24
24
|
}
|