yeoman-test 10.0.0 → 10.1.0
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/helpers.d.ts +1 -0
- package/dist/helpers.js +11 -10
- package/dist/import.d.ts +2 -0
- package/dist/import.js +12 -0
- package/dist/run-context.js +3 -2
- package/package.json +9 -8
- package/dist/mock-wrapper.d.ts +0 -4
- package/dist/mock-wrapper.js +0 -6
- package/dist/mock.d.ts +0 -4
- package/dist/mock.js +0 -6
package/dist/helpers.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { BaseEnvironment, BaseEnvironmentOptions, BaseGenerator, BaseGenera
|
|
|
3
3
|
import type { DefaultEnvironmentApi, DefaultGeneratorApi } from '../types/type-helpers.js';
|
|
4
4
|
import { type DummyPromptOptions, TestAdapter, type TestAdapterOptions } from './adapter.js';
|
|
5
5
|
import RunContext, { BasicRunContext, type RunContextSettings } from './run-context.js';
|
|
6
|
+
export declare const setDefaultDummyParentClass: (parentClass: any) => void;
|
|
6
7
|
export type CreateEnv = (options: BaseEnvironmentOptions) => Promise<BaseEnvironment>;
|
|
7
8
|
/**
|
|
8
9
|
* Dependencies can be path (autodiscovery) or an array [<generator>, <name>]
|
package/dist/helpers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, rmSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
2
3
|
import { resolve } from 'node:path';
|
|
3
4
|
import process from 'node:process';
|
|
4
5
|
import { mock } from 'node:test';
|
|
@@ -7,14 +8,14 @@ import { TestAdapter } from './adapter.js';
|
|
|
7
8
|
import RunContext, { BasicRunContext } from './run-context.js';
|
|
8
9
|
import testContext from './test-context.js';
|
|
9
10
|
import { createEnv as createEnvironment } from './default-environment.js';
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
11
|
+
let dummyParentClass;
|
|
12
|
+
export const setDefaultDummyParentClass = parentClass => {
|
|
13
|
+
dummyParentClass = parentClass;
|
|
14
|
+
};
|
|
15
|
+
const getDummyParentClass = () => {
|
|
16
|
+
dummyParentClass ??= createRequire(import.meta.url)('yeoman-generator').default;
|
|
17
|
+
return dummyParentClass;
|
|
18
|
+
};
|
|
18
19
|
/**
|
|
19
20
|
* Collection of unit test helpers. (mostly related to Mocha syntax)
|
|
20
21
|
* @class YeomanTest
|
|
@@ -112,7 +113,7 @@ export class YeomanTest {
|
|
|
112
113
|
/**
|
|
113
114
|
* Create a mocked generator
|
|
114
115
|
*/
|
|
115
|
-
createMockedGenerator(GeneratorClass =
|
|
116
|
+
createMockedGenerator(GeneratorClass = getDummyParentClass()) {
|
|
116
117
|
class MockedGenerator extends GeneratorClass {
|
|
117
118
|
}
|
|
118
119
|
const generator = mock.fn(MockedGenerator);
|
|
@@ -126,7 +127,7 @@ export class YeomanTest {
|
|
|
126
127
|
/**
|
|
127
128
|
* Create a simple, dummy generator
|
|
128
129
|
*/
|
|
129
|
-
createDummyGenerator(Generator =
|
|
130
|
+
createDummyGenerator(Generator = getDummyParentClass(), contents = {
|
|
130
131
|
test() {
|
|
131
132
|
this.shouldRun = true;
|
|
132
133
|
},
|
package/dist/import.d.ts
ADDED
package/dist/import.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { setDefaultDummyParentClass } from './helpers.js';
|
|
2
|
+
let GeneratorImplementation;
|
|
3
|
+
try {
|
|
4
|
+
const GeneratorImport = await import('yeoman-generator');
|
|
5
|
+
GeneratorImplementation = GeneratorImport.default ?? GeneratorImport;
|
|
6
|
+
setDefaultDummyParentClass(GeneratorImplementation);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
// ignore
|
|
10
|
+
}
|
|
11
|
+
export * from './index.js';
|
|
12
|
+
export { default } from './index.js';
|
package/dist/run-context.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import crypto from 'node:crypto';
|
|
2
|
-
import { existsSync, rmSync } from 'node:fs';
|
|
2
|
+
import { existsSync, realpathSync, rmSync } from 'node:fs';
|
|
3
3
|
import path, { isAbsolute, join as pathJoin, resolve } from 'node:path';
|
|
4
4
|
import assert from 'node:assert';
|
|
5
5
|
import { EventEmitter } from 'node:events';
|
|
6
|
+
import { tmpdir } from 'node:os';
|
|
6
7
|
import process from 'node:process';
|
|
7
8
|
import { mock } from 'node:test';
|
|
8
9
|
import { camelCase, kebabCase, merge as lodashMerge, set as lodashSet } from 'lodash-es';
|
|
9
10
|
import { resetFileCommitStates } from 'mem-fs-editor/state';
|
|
10
11
|
import { create as createMemFs } from 'mem-fs';
|
|
11
|
-
import tempDirectory from 'temp-dir';
|
|
12
12
|
import { create as createMemFsEditor } from 'mem-fs-editor';
|
|
13
13
|
import RunResult from './run-result.js';
|
|
14
14
|
import defaultHelpers from './helpers.js';
|
|
15
15
|
import testContext from './test-context.js';
|
|
16
|
+
const tempDirectory = realpathSync(tmpdir());
|
|
16
17
|
export class RunContextBase extends EventEmitter {
|
|
17
18
|
mockedGenerators = {};
|
|
18
19
|
env;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yeoman-test",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.1.0",
|
|
4
4
|
"description": "Test utilities for Yeoman generators",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"yeoman",
|
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"exports": {
|
|
15
15
|
"./mocha-cleanup": {
|
|
16
|
-
"
|
|
16
|
+
"default": "./dist/mocha-cleanup.hooks.js"
|
|
17
17
|
},
|
|
18
18
|
".": {
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
20
|
-
"
|
|
20
|
+
"require": "./dist/index.js",
|
|
21
|
+
"default": "./dist/import.js"
|
|
21
22
|
}
|
|
22
23
|
},
|
|
24
|
+
"main": "./dist/index.js",
|
|
23
25
|
"types": "./dist/index.d.ts",
|
|
24
26
|
"files": [
|
|
25
27
|
"dist",
|
|
@@ -45,14 +47,13 @@
|
|
|
45
47
|
"lodash-es": "^4.17.21",
|
|
46
48
|
"mem-fs-editor": "^11.1.1",
|
|
47
49
|
"signal-exit": "^4.1.0",
|
|
48
|
-
"temp-dir": "^3.0.0",
|
|
49
50
|
"type-fest": "^4.25.0"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
|
-
"@yeoman/adapter": "^2.0.0",
|
|
53
53
|
"@types/lodash-es": "^4.17.12",
|
|
54
|
-
"@types/node": "
|
|
55
|
-
"@vitest/coverage-v8": "^
|
|
54
|
+
"@types/node": ">=18.19.46",
|
|
55
|
+
"@vitest/coverage-v8": "^3.0.2",
|
|
56
|
+
"@yeoman/adapter": "^2.0.0",
|
|
56
57
|
"@yeoman/eslint": "0.2.0",
|
|
57
58
|
"coveralls": "^3.1.1",
|
|
58
59
|
"husky": "^9.1.5",
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
"prettier-plugin-packagejson": "^2.3.0",
|
|
63
64
|
"tui-jsdoc-template": "^1.2.2",
|
|
64
65
|
"typescript": "^5.5.4",
|
|
65
|
-
"vitest": "^
|
|
66
|
+
"vitest": "^3.0.2",
|
|
66
67
|
"yeoman-environment": "^4.4.1",
|
|
67
68
|
"yeoman-generator": "^7.3.2"
|
|
68
69
|
},
|
package/dist/mock-wrapper.d.ts
DELETED
package/dist/mock-wrapper.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
|
-
// @ts-ignore - test is optional alternative to node:test
|
|
3
|
-
// eslint-disable-next-line import-x/no-unresolved
|
|
4
|
-
const { mock: actualMock } = await import('node:test').catch(() => import('test'));
|
|
5
|
-
const mock = actualMock;
|
|
6
|
-
export { mock };
|
package/dist/mock.d.ts
DELETED
package/dist/mock.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
|
-
// @ts-ignore - test is optional alternative to node:test
|
|
3
|
-
// eslint-disable-next-line import-x/no-unresolved
|
|
4
|
-
const { mock: actualMock } = await import('node:test').catch(() => import('test'));
|
|
5
|
-
const mock = actualMock;
|
|
6
|
-
export { mock };
|