yeoman-test 8.0.0-beta.0 → 8.0.0-beta.2

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/adapter.js CHANGED
@@ -99,7 +99,7 @@ export class TestAdapter {
99
99
  }
100
100
  }
101
101
  close() {
102
- // No empty
102
+ this.promptModule.restoreDefaultPrompts();
103
103
  }
104
104
  async prompt(questions, initialAnswers) {
105
105
  return this.promptModule(questions, initialAnswers);
package/dist/helpers.d.ts CHANGED
@@ -1,15 +1,13 @@
1
- import GeneratorImplementation from 'yeoman-generator';
2
- import Environment from 'yeoman-environment';
3
- import type { createEnv } from 'yeoman-environment';
4
- import type { BaseEnvironmentOptions, BaseGenerator, GeneratorBaseOptions, GetGeneratorConstructor, GetGeneratorOptions, PromptAnswers } from '@yeoman/types';
1
+ import type { BaseEnvironment, BaseEnvironmentOptions, BaseGenerator, BaseGeneratorOptions, GetGeneratorConstructor, GetGeneratorOptions, PromptAnswers } from '@yeoman/types';
5
2
  import type { SinonSpiedInstance } from 'sinon';
6
3
  import { type DummyPromptOptions } from './adapter.js';
7
4
  import RunContext, { BasicRunContext, type RunContextSettings } from './run-context.js';
5
+ import type { DefaultEnvironmentApi, DefaultGeneratorApi } from './type-helpers.js';
8
6
  /**
9
7
  * Dependencies can be path (autodiscovery) or an array [<generator>, <name>]
10
8
  */
11
- export type Dependency = string | Parameters<Environment['registerStub']>;
12
- export type GeneratorFactory<GenParameter extends BaseGenerator = GeneratorImplementation> = GetGeneratorConstructor<GenParameter> | ((...args: ConstructorParameters<GetGeneratorConstructor<GenParameter>>) => GenParameter);
9
+ export type Dependency = Parameters<DefaultEnvironmentApi['register']> | Parameters<DefaultEnvironmentApi['registerStub']>;
10
+ export type GeneratorFactory<GenParameter extends BaseGenerator = DefaultGeneratorApi> = GetGeneratorConstructor<GenParameter> | ((...args: ConstructorParameters<GetGeneratorConstructor<GenParameter>>) => GenParameter);
13
11
  /**
14
12
  * Collection of unit test helpers. (mostly related to Mocha syntax)
15
13
  * @class YeomanTest
@@ -17,7 +15,7 @@ export type GeneratorFactory<GenParameter extends BaseGenerator = GeneratorImple
17
15
  export declare class YeomanTest {
18
16
  settings?: RunContextSettings;
19
17
  environmentOptions?: BaseEnvironmentOptions;
20
- generatorOptions?: GeneratorBaseOptions;
18
+ generatorOptions?: BaseGeneratorOptions;
21
19
  /**
22
20
  * @deprecated
23
21
  * Create a function that will clean up the test directory,
@@ -51,13 +49,13 @@ export declare class YeomanTest {
51
49
  * @example
52
50
  * mockPrompt(angular, {'bootstrap': 'Y', 'compassBoostrap': 'Y'});
53
51
  */
54
- mockPrompt(envOrGenerator: BaseGenerator | Environment, mockedAnswers?: PromptAnswers, options?: DummyPromptOptions): void;
52
+ mockPrompt(envOrGenerator: BaseGenerator | DefaultEnvironmentApi, mockedAnswers?: PromptAnswers, options?: DummyPromptOptions): void;
55
53
  /**
56
54
  * @deprecated
57
55
  * Restore defaults prompts on a generator.
58
56
  * @param generator or environment
59
57
  */
60
- restorePrompt(envOrGenerator: BaseGenerator | Environment): void;
58
+ restorePrompt(envOrGenerator: BaseGenerator | DefaultEnvironmentApi): void;
61
59
  /**
62
60
  * @deprecated
63
61
  * Provide mocked values to the config
@@ -68,11 +66,11 @@ export declare class YeomanTest {
68
66
  /**
69
67
  * Create a mocked generator
70
68
  */
71
- createMockedGenerator(GeneratorClass?: typeof GeneratorImplementation): SinonSpiedInstance<typeof GeneratorImplementation>;
69
+ createMockedGenerator(GeneratorClass?: any): SinonSpiedInstance<DefaultGeneratorApi>;
72
70
  /**
73
71
  * Create a simple, dummy generator
74
72
  */
75
- createDummyGenerator<GenParameter extends BaseGenerator = GeneratorImplementation>(Generator?: GetGeneratorConstructor<GenParameter>, contents?: Record<string, (...args: any[]) => void>): new (...args: any[]) => GenParameter;
73
+ createDummyGenerator<GenParameter extends BaseGenerator = DefaultGeneratorApi>(Generator?: GetGeneratorConstructor<GenParameter>, contents?: Record<string, (...args: any[]) => void>): new (...args: any[]) => GenParameter;
76
74
  /**
77
75
  * Create a generator, using the given dependencies and controller arguments
78
76
  * Dependecies can be path (autodiscovery) or an array [{generator}, {name}]
@@ -92,7 +90,7 @@ export declare class YeomanTest {
92
90
  * ];
93
91
  * var angular = createGenerator('angular:app', deps);
94
92
  */
95
- createGenerator<GeneratorType extends BaseGenerator = GeneratorImplementation>(name: string, dependencies: Dependency[], args?: string[], options?: GetGeneratorOptions<GeneratorType>, localConfigOnly?: boolean): Promise<GeneratorType>;
93
+ createGenerator<GeneratorType extends BaseGenerator = DefaultGeneratorApi>(name: string, dependencies: Dependency[], args?: string[], options?: GetGeneratorOptions<GeneratorType>, localConfigOnly?: boolean): Promise<GeneratorType>;
96
94
  /**
97
95
  * @deprecated
98
96
  * Register a list of dependent generators into the provided env.
@@ -100,7 +98,7 @@ export declare class YeomanTest {
100
98
  *
101
99
  * @param dependencies - paths to the generators dependencies
102
100
  */
103
- registerDependencies(env: Environment, dependencies: Dependency[]): void;
101
+ registerDependencies(env: DefaultEnvironmentApi, dependencies: Dependency[]): void;
104
102
  /**
105
103
  * Shortcut to the Environment's createEnv.
106
104
  *
@@ -116,7 +114,7 @@ export declare class YeomanTest {
116
114
  * createEnv.restore();
117
115
  * });
118
116
  */
119
- createEnv(...args: Parameters<typeof createEnv>): ReturnType<typeof createEnv> | Promise<ReturnType<typeof createEnv>>;
117
+ createEnv(...args: any[]): Promise<DefaultEnvironmentApi>;
120
118
  /**
121
119
  * Creates a test environment.
122
120
  *
@@ -124,7 +122,7 @@ export declare class YeomanTest {
124
122
  * @param {Object} - Options to be passed to the environment
125
123
  * const env = createTestEnv(require('yeoman-environment').createEnv);
126
124
  */
127
- createTestEnv(envContructor?: (...args: unknown[]) => any, options?: BaseEnvironmentOptions): any;
125
+ createTestEnv(envContructor?: (...args: any[]) => Promise<BaseEnvironment>, options?: BaseEnvironmentOptions): Promise<BaseEnvironment>;
128
126
  /**
129
127
  * Get RunContext type
130
128
  * @return {RunContext}
@@ -134,13 +132,13 @@ export declare class YeomanTest {
134
132
  * Run the provided Generator
135
133
  * @param GeneratorOrNamespace - Generator constructor or namespace
136
134
  */
137
- run<GeneratorType extends BaseGenerator = GeneratorImplementation>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): RunContext<GeneratorType>;
135
+ run<GeneratorType extends BaseGenerator = DefaultGeneratorApi>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): RunContext<GeneratorType>;
138
136
  /**
139
137
  * Prepare a run context
140
138
  * @param {String|Function} GeneratorOrNamespace - Generator constructor or namespace
141
139
  * @return {RunContext}
142
140
  */
143
- create<GeneratorType extends BaseGenerator = GeneratorImplementation>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): RunContext<GeneratorType>;
141
+ create<GeneratorType extends BaseGenerator = DefaultGeneratorApi>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): RunContext<GeneratorType>;
144
142
  /**
145
143
  * Prepare temporary dir without generator support.
146
144
  * Generator and environment will be undefined.
package/dist/helpers.js CHANGED
@@ -4,11 +4,15 @@ import { resolve } from 'node:path';
4
4
  import process from 'node:process';
5
5
  import _ from 'lodash';
6
6
  import { spy as sinonSpy, stub as sinonStub } from 'sinon';
7
- import GeneratorImplementation from 'yeoman-generator';
8
- import Environment from 'yeoman-environment';
9
7
  import { DummyPrompt, TestAdapter } from './adapter.js';
10
8
  import RunContext, { BasicRunContext } from './run-context.js';
11
9
  import testContext from './test-context.js';
10
+ let GeneratorImplementation;
11
+ try {
12
+ const GeneratorImport = await import('yeoman-generator');
13
+ GeneratorImplementation = GeneratorImport.default ?? GeneratorImport;
14
+ }
15
+ catch { }
12
16
  const { cloneDeep } = _;
13
17
  /**
14
18
  * Collection of unit test helpers. (mostly related to Mocha syntax)
@@ -95,7 +99,7 @@ export class YeomanTest {
95
99
  */
96
100
  restorePrompt(envOrGenerator) {
97
101
  const environment = envOrGenerator.env ?? envOrGenerator;
98
- environment.adapter.promptModule.restoreDefaultPrompts();
102
+ environment.adapter.close();
99
103
  }
100
104
  /**
101
105
  * @deprecated
@@ -207,8 +211,10 @@ export class YeomanTest {
207
211
  * createEnv.restore();
208
212
  * });
209
213
  */
210
- createEnv(...args) {
211
- return Environment.createEnv(...args);
214
+ async createEnv(...args) {
215
+ const dynamicEnv = await import('yeoman-environment');
216
+ const createEnv = dynamicEnv.createEnv ?? dynamicEnv.default.createEnv;
217
+ return createEnv(...args);
212
218
  }
213
219
  /**
214
220
  * Creates a test environment.
@@ -217,7 +223,7 @@ export class YeomanTest {
217
223
  * @param {Object} - Options to be passed to the environment
218
224
  * const env = createTestEnv(require('yeoman-environment').createEnv);
219
225
  */
220
- createTestEnv(envContructor = this.createEnv, options = { localConfigOnly: true }) {
226
+ async createTestEnv(envContructor = this.createEnv, options = { localConfigOnly: true }) {
221
227
  let envOptions = cloneDeep(this.environmentOptions ?? {});
222
228
  if (typeof options === 'boolean') {
223
229
  envOptions = {
@@ -2,12 +2,12 @@
2
2
  import { EventEmitter } from 'node:events';
3
3
  import { type Store } from 'mem-fs';
4
4
  import type { BaseEnvironmentOptions, BaseGenerator, GetGeneratorConstructor, GetGeneratorOptions, PromptAnswers } from '@yeoman/types';
5
- import type Environment from 'yeoman-environment';
6
5
  import { type LookupOptions } from 'yeoman-environment';
7
- import { type MemFsEditor, type VinylMemFsEditorFile } from 'mem-fs-editor';
6
+ import { type MemFsEditorFile, type MemFsEditor } from 'mem-fs-editor';
8
7
  import RunResult, { type RunResultOptions } from './run-result.js';
9
8
  import { type Dependency, type YeomanTest, type GeneratorFactory } from './helpers.js';
10
9
  import { type DummyPromptOptions } from './adapter.js';
10
+ import type { DefaultGeneratorApi, DefaultEnvironmentApi } from './type-helpers.js';
11
11
  /**
12
12
  * Provides settings for creating a `RunContext`.
13
13
  */
@@ -21,7 +21,7 @@ export type RunContextSettings = {
21
21
  oldCwd?: string;
22
22
  forwardCwd?: boolean;
23
23
  autoCleanup?: boolean;
24
- memFs?: Store;
24
+ memFs?: Store<MemFsEditorFile>;
25
25
  /**
26
26
  * File path to the generator (only used if Generator is a constructor)
27
27
  */
@@ -33,20 +33,20 @@ export type RunContextSettings = {
33
33
  namespace?: string;
34
34
  };
35
35
  type PromiseRunResult<GeneratorType extends BaseGenerator> = Promise<RunResult<GeneratorType>>;
36
- type MockedGeneratorFactory<GenParameter extends BaseGenerator = BaseGenerator> = (GeneratorClass?: GetGeneratorConstructor<GenParameter>) => GenParameter;
36
+ type MockedGeneratorFactory<GenParameter extends BaseGenerator = DefaultGeneratorApi> = (GeneratorClass?: GetGeneratorConstructor<GenParameter>) => GenParameter;
37
37
  type EnvOptions = BaseEnvironmentOptions & {
38
38
  createEnv?: any;
39
39
  };
40
- export declare class RunContextBase<GeneratorType extends BaseGenerator = BaseGenerator> extends EventEmitter {
40
+ export declare class RunContextBase<GeneratorType extends BaseGenerator = DefaultGeneratorApi> extends EventEmitter {
41
41
  readonly mockedGenerators: Record<string, BaseGenerator>;
42
- env: Environment;
42
+ env: DefaultEnvironmentApi;
43
43
  generator: GeneratorType;
44
44
  readonly settings: RunContextSettings;
45
45
  readonly envOptions: EnvOptions;
46
46
  completed: boolean;
47
47
  targetDirectory?: string;
48
48
  editor: MemFsEditor;
49
- memFs: Store<VinylMemFsEditorFile>;
49
+ memFs: Store<MemFsEditorFile>;
50
50
  mockedGeneratorFactory: MockedGeneratorFactory;
51
51
  protected environmentPromise?: PromiseRunResult<GeneratorType>;
52
52
  private args;
@@ -66,6 +66,7 @@ export declare class RunContextBase<GeneratorType extends BaseGenerator = BaseGe
66
66
  private built;
67
67
  private ran;
68
68
  private errored;
69
+ private readonly beforePrepareCallbacks;
69
70
  /**
70
71
  * This class provide a run context object to façade the complexity involved in setting
71
72
  * up a generator for testing
@@ -260,12 +261,18 @@ export declare class RunContextBase<GeneratorType extends BaseGenerator = BaseGe
260
261
  * @returns
261
262
  */
262
263
  onGenerator(callback: (this: this, generator: GeneratorType) => any): this;
264
+ /**
265
+ * Execute callback prefore parepare
266
+ * @param callback
267
+ * @returns
268
+ */
269
+ onBeforePrepare(callback: (this: this) => void | Promise<void>): this;
263
270
  /**
264
271
  * Execute callback after environment is ready
265
272
  * @param callback
266
273
  * @returns
267
274
  */
268
- onEnvironment(callback: (this: this, env: Environment) => any): this;
275
+ onEnvironment(callback: (this: this, env: DefaultEnvironmentApi) => any): this;
269
276
  prepare(): Promise<void>;
270
277
  protected assertNotBuild(): void;
271
278
  /**
@@ -43,6 +43,7 @@ export class RunContextBase extends EventEmitter {
43
43
  built = false;
44
44
  ran = false;
45
45
  errored = false;
46
+ beforePrepareCallbacks = [];
46
47
  /**
47
48
  * This class provide a run context object to façade the complexity involved in setting
48
49
  * up a generator for testing
@@ -297,16 +298,14 @@ export class RunContextBase extends EventEmitter {
297
298
  for (const dependency of dependencies) {
298
299
  if (Array.isArray(dependency)) {
299
300
  if (typeof dependency[0] === 'string') {
300
- // eslint-disable-next-line no-await-in-loop
301
- await env.register(...dependency);
301
+ env.register(...dependency);
302
302
  }
303
303
  else {
304
304
  env.registerStub(...dependency);
305
305
  }
306
306
  }
307
307
  else {
308
- // eslint-disable-next-line no-await-in-loop
309
- await env.register(dependency);
308
+ env.register(dependency);
310
309
  }
311
310
  }
312
311
  });
@@ -417,6 +416,16 @@ export class RunContextBase extends EventEmitter {
417
416
  this.onGeneratorCallbacks.push(callback);
418
417
  return this;
419
418
  }
419
+ /**
420
+ * Execute callback prefore parepare
421
+ * @param callback
422
+ * @returns
423
+ */
424
+ onBeforePrepare(callback) {
425
+ this.assertNotBuild();
426
+ this.beforePrepareCallbacks.push(callback);
427
+ return this;
428
+ }
420
429
  /**
421
430
  * Execute callback after environment is ready
422
431
  * @param callback
@@ -428,6 +437,12 @@ export class RunContextBase extends EventEmitter {
428
437
  return this;
429
438
  }
430
439
  async prepare() {
440
+ if (this.beforePrepareCallbacks.length > 0) {
441
+ for (const cb of this.beforePrepareCallbacks) {
442
+ // eslint-disable-next-line no-await-in-loop
443
+ await cb.call(this);
444
+ }
445
+ }
431
446
  this.assertNotBuild();
432
447
  this.built = true;
433
448
  if (!this.targetDirectory && this.settings.tmpdir !== false) {
@@ -1,9 +1,9 @@
1
1
  import type { Store } from 'mem-fs';
2
- import { type MemFsEditor } from 'mem-fs-editor';
3
- import type { BaseEnvironment, BaseEnvironmentOptions, BaseGenerator } from '@yeoman/types';
4
- import type GeneratorImplementation from 'yeoman-generator';
2
+ import { type MemFsEditorFile, type MemFsEditor } from 'mem-fs-editor';
3
+ import type { BaseEnvironmentOptions, BaseGenerator } from '@yeoman/types';
5
4
  import { type RunContextSettings } from './run-context.js';
6
5
  import { type GeneratorFactory, type YeomanTest } from './helpers.js';
6
+ import type { DefaultEnvironmentApi, DefaultGeneratorApi } from './type-helpers.js';
7
7
  /**
8
8
  * Provides options for `RunResult`s.
9
9
  */
@@ -12,7 +12,7 @@ export type RunResultOptions<GeneratorType extends BaseGenerator> = {
12
12
  /**
13
13
  * The environment of the generator.
14
14
  */
15
- env: BaseEnvironment;
15
+ env: DefaultEnvironmentApi;
16
16
  envOptions: BaseEnvironmentOptions;
17
17
  /**
18
18
  * The working directory after running the generator.
@@ -25,7 +25,7 @@ export type RunResultOptions<GeneratorType extends BaseGenerator> = {
25
25
  /**
26
26
  * The file-system of the generator.
27
27
  */
28
- memFs: Store;
28
+ memFs: Store<MemFsEditorFile>;
29
29
  fs?: MemFsEditor;
30
30
  /**
31
31
  * The mocked generators of the context.
@@ -42,7 +42,7 @@ export default class RunResult<GeneratorType extends BaseGenerator = BaseGenerat
42
42
  generator: GeneratorType;
43
43
  cwd: string;
44
44
  oldCwd: string;
45
- memFs: Store;
45
+ memFs: Store<MemFsEditorFile>;
46
46
  fs: MemFsEditor;
47
47
  mockedGenerators: any;
48
48
  options: RunResultOptions<GeneratorType>;
@@ -51,7 +51,7 @@ export default class RunResult<GeneratorType extends BaseGenerator = BaseGenerat
51
51
  * Create another RunContext reusing the settings.
52
52
  * See helpers.create api
53
53
  */
54
- create<GeneratorType extends BaseGenerator = GeneratorImplementation>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): import("./run-context.js").default<GeneratorType>;
54
+ create<GeneratorType extends BaseGenerator = DefaultGeneratorApi>(GeneratorOrNamespace: string | GeneratorFactory<GeneratorType>, settings?: RunContextSettings, envOptions?: BaseEnvironmentOptions): import("./run-context.js").default<GeneratorType>;
55
55
  /**
56
56
  * Return an object with fs changes.
57
57
  * @param {Function} filter - parameter forwarded to mem-fs-editor#dump
@@ -77,7 +77,6 @@ export default class RunResult {
77
77
  this.memFs.each(file => {
78
78
  console.log(file.path);
79
79
  if (file.contents) {
80
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
81
80
  console.log(file.contents.toString('utf8'));
82
81
  }
83
82
  });
@@ -0,0 +1,6 @@
1
+ import { type BaseGenerator, type BaseEnvironment } from '@yeoman/types';
2
+ import type GeneratorImplementation from 'yeoman-generator';
3
+ import type EnvironmentImplementation from 'yeoman-environment';
4
+ import type { IfAny } from 'type-fest';
5
+ export type DefaultGeneratorApi = IfAny<typeof GeneratorImplementation, BaseGenerator, typeof GeneratorImplementation extends BaseGenerator ? typeof GeneratorImplementation : BaseGenerator>;
6
+ export type DefaultEnvironmentApi = IfAny<typeof EnvironmentImplementation, BaseEnvironment, typeof EnvironmentImplementation extends BaseEnvironment ? typeof EnvironmentImplementation : BaseEnvironment>;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,36 +1,55 @@
1
1
  {
2
2
  "name": "yeoman-test",
3
- "version": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.2",
4
4
  "description": "Test utilities for Yeoman generators",
5
+ "keywords": [
6
+ "yeoman",
7
+ "unit test"
8
+ ],
5
9
  "homepage": "http://yeoman.io/authoring/testing.html",
10
+ "repository": "yeoman/yeoman-test",
11
+ "license": "MIT",
6
12
  "author": "The Yeoman Team",
7
13
  "type": "module",
8
- "files": [
9
- "dist"
10
- ],
11
- "types": "./dist/index.d.ts",
12
14
  "exports": {
13
15
  "types": "./dist/index.d.ts",
14
16
  "import": "./dist/index.js"
15
17
  },
16
- "keywords": [
17
- "yeoman",
18
- "unit test"
18
+ "types": "./dist/index.d.ts",
19
+ "files": [
20
+ "dist"
19
21
  ],
20
- "repository": "yeoman/yeoman-test",
21
- "license": "MIT",
22
- "engines": {
23
- "node": "^16.17.0 || >=18.12.0"
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "coverage": "nyc report --reporter=text-lcov | coveralls",
25
+ "doc": "npm run doc:generate && npm run doc:fix && npm run doc:prettier",
26
+ "doc:fix": "sed -i -e 's:^[[:space:]]*<!--[[:space:]]*$::g' -e 's:^[[:space:]]*-->[[:space:]]*$::g' $npm_package_config_doc_path/global.html",
27
+ "doc:generate": "jsdoc -c jsdoc.json -d $npm_package_config_doc_path",
28
+ "doc:prettier": "prettier $npm_package_config_doc_path --write --ignore-path .prettierignore-doc",
29
+ "precommit": "lint-staged",
30
+ "prepare": "npm run build",
31
+ "pretest": "xo",
32
+ "test": "c8 esmocha"
24
33
  },
25
34
  "config": {
26
35
  "doc_path": "../yeoman-test-doc"
27
36
  },
37
+ "dependencies": {
38
+ "inquirer": "^9.2.2",
39
+ "lodash": "^4.17.21",
40
+ "mem-fs": "^3.0.0",
41
+ "mem-fs-editor": "^10.0.2",
42
+ "sinon": "^14.0.2",
43
+ "temp-dir": "^3.0.0",
44
+ "type-fest": "^3.10.0"
45
+ },
28
46
  "devDependencies": {
47
+ "@types/inquirer": "^9.0.3",
29
48
  "@types/node": "^16.18.19",
30
49
  "@types/sinon": "^10.0.13",
31
50
  "c8": "^7.13.0",
32
51
  "coveralls": "^3.1.1",
33
- "esmocha": "^0.1.4",
52
+ "esmocha": "^1.0.1",
34
53
  "husky": "^8.0.2",
35
54
  "jsdoc": "^3.6.10",
36
55
  "lint-staged": "^13.0.3",
@@ -39,47 +58,23 @@
39
58
  "tui-jsdoc-template": "^1.2.2",
40
59
  "typescript": "^5.0.4",
41
60
  "xo": "^0.54.2",
42
- "yeoman-environment": "^3.16.1"
43
- },
44
- "dependencies": {
45
- "@types/inquirer": "^9.0.3",
46
- "@yeoman/types": "^0.1.2",
47
- "inquirer": "^9.2.2",
48
- "lodash": "^4.17.21",
49
- "mem-fs": "^3.0.0",
50
- "mem-fs-editor": "^10.0.2",
51
- "sinon": "^14.0.2",
52
- "temp-dir": "^3.0.0",
53
- "yeoman-generator": "^6.0.0-alpha.4"
61
+ "yeoman-environment": "^3.16.1",
62
+ "yeoman-generator": "^5.8.0"
54
63
  },
55
64
  "peerDependencies": {
56
- "yeoman-environment": "^3.13.0 || ^4.0.0-alpha.0"
57
- },
58
- "scripts": {
59
- "test": "c8 esmocha",
60
- "build": "tsc",
61
- "prepare": "npm run build",
62
- "pretest": "xo",
63
- "precommit": "lint-staged",
64
- "doc": "npm run doc:generate && npm run doc:fix && npm run doc:prettier",
65
- "doc:generate": "jsdoc -c jsdoc.json -d $npm_package_config_doc_path",
66
- "doc:prettier": "prettier $npm_package_config_doc_path --write --ignore-path .prettierignore-doc",
67
- "doc:fix": "sed -i -e 's:^[[:space:]]*<!--[[:space:]]*$::g' -e 's:^[[:space:]]*-->[[:space:]]*$::g' $npm_package_config_doc_path/global.html",
68
- "coverage": "nyc report --reporter=text-lcov | coveralls"
65
+ "@yeoman/types": "^0.3.0",
66
+ "yeoman-environment": "^3.13.0 || ^4.0.0-alpha.0",
67
+ "yeoman-generator": "^5.8.0 || ^6.0.0-beta.1"
69
68
  },
70
- "husky": {
71
- "hooks": {
72
- "pre-commit": "npm run pretest"
69
+ "peerDependenciesMeta": {
70
+ "yeoman-environment": {
71
+ "optional": true
72
+ },
73
+ "yeoman-generator": {
74
+ "optional": true
73
75
  }
74
76
  },
75
- "lint-staged": {
76
- "*.js": [
77
- "xo --fix",
78
- "git add"
79
- ],
80
- "*.json": [
81
- "prettier --write",
82
- "git add"
83
- ]
77
+ "engines": {
78
+ "node": "^16.17.0 || >=18.12.0"
84
79
  }
85
80
  }