@eggjs/bin 7.3.0 → 7.3.1-beta.3

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.
Files changed (58) hide show
  1. package/README.md +3 -21
  2. package/bin/dev.js +0 -0
  3. package/dist/baseCommand.d.ts +52 -0
  4. package/dist/baseCommand.js +288 -0
  5. package/dist/commands/cov.d.ts +27 -0
  6. package/dist/commands/cov.js +86 -0
  7. package/dist/commands/dev.d.ts +26 -0
  8. package/dist/commands/dev.js +86 -0
  9. package/dist/commands/test.d.ts +28 -0
  10. package/dist/commands/test.js +168 -0
  11. package/dist/index.d.ts +7 -0
  12. package/dist/index.js +8 -0
  13. package/dist/scripts/postinstall.mjs +14 -7
  14. package/dist/scripts/start-cluster.cjs +3 -2
  15. package/dist/scripts/start-cluster.mjs +3 -2
  16. package/{src/types.ts → dist/types.d.ts} +4 -1
  17. package/dist/utils.js +34 -0
  18. package/package.json +48 -68
  19. package/scripts/postinstall.mjs +14 -7
  20. package/scripts/start-cluster.cjs +3 -2
  21. package/scripts/start-cluster.mjs +3 -2
  22. package/dist/commonjs/baseCommand.d.ts +0 -49
  23. package/dist/commonjs/baseCommand.js +0 -369
  24. package/dist/commonjs/commands/cov.d.ts +0 -22
  25. package/dist/commonjs/commands/cov.js +0 -98
  26. package/dist/commonjs/commands/dev.d.ts +0 -21
  27. package/dist/commonjs/commands/dev.js +0 -95
  28. package/dist/commonjs/commands/test.d.ts +0 -23
  29. package/dist/commonjs/commands/test.js +0 -222
  30. package/dist/commonjs/index.d.ts +0 -7
  31. package/dist/commonjs/index.js +0 -30
  32. package/dist/commonjs/package.json +0 -3
  33. package/dist/commonjs/types.d.ts +0 -9
  34. package/dist/commonjs/types.js +0 -3
  35. package/dist/commonjs/utils.d.ts +0 -4
  36. package/dist/commonjs/utils.js +0 -45
  37. package/dist/esm/baseCommand.d.ts +0 -49
  38. package/dist/esm/baseCommand.js +0 -361
  39. package/dist/esm/commands/cov.d.ts +0 -22
  40. package/dist/esm/commands/cov.js +0 -92
  41. package/dist/esm/commands/dev.d.ts +0 -21
  42. package/dist/esm/commands/dev.js +0 -92
  43. package/dist/esm/commands/test.d.ts +0 -23
  44. package/dist/esm/commands/test.js +0 -216
  45. package/dist/esm/index.d.ts +0 -7
  46. package/dist/esm/index.js +0 -8
  47. package/dist/esm/package.json +0 -3
  48. package/dist/esm/types.d.ts +0 -9
  49. package/dist/esm/types.js +0 -2
  50. package/dist/esm/utils.d.ts +0 -4
  51. package/dist/esm/utils.js +0 -36
  52. package/dist/package.json +0 -4
  53. package/src/baseCommand.ts +0 -390
  54. package/src/commands/cov.ts +0 -101
  55. package/src/commands/dev.ts +0 -99
  56. package/src/commands/test.ts +0 -236
  57. package/src/index.ts +0 -9
  58. package/src/utils.ts +0 -37
@@ -1,23 +0,0 @@
1
- import { BaseCommand } from '../baseCommand.js';
2
- export default class Test<T extends typeof Test> extends BaseCommand<T> {
3
- static args: {
4
- file: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
- };
6
- static description: string;
7
- static examples: string[];
8
- static flags: {
9
- bail: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
- 'no-timeout': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- grep: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- changed: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- mochawesome: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- parallel: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- jobs: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
17
- 'auto-agent': import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- };
19
- run(): Promise<void>;
20
- protected runMocha(mochaFile: string, mochaArgs: string[]): Promise<void>;
21
- protected formatMochaArgs(): Promise<string[] | undefined>;
22
- protected getChangedTestFiles(dir: string, ext: string): Promise<string[]>;
23
- }
@@ -1,222 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_util_1 = require("node:util");
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const node_os_1 = __importDefault(require("node:os"));
9
- const promises_1 = __importDefault(require("node:fs/promises"));
10
- const core_1 = require("@oclif/core");
11
- const globby_1 = __importDefault(require("globby"));
12
- const utils_1 = require("@eggjs/utils");
13
- const jest_changed_files_1 = require("jest-changed-files");
14
- // @ts-expect-error no types
15
- const ci_parallel_vars_1 = __importDefault(require("ci-parallel-vars"));
16
- const baseCommand_js_1 = require("../baseCommand.js");
17
- const debug = (0, node_util_1.debuglog)('@eggjs/bin/commands/test');
18
- class Test extends baseCommand_js_1.BaseCommand {
19
- static args = {
20
- file: core_1.Args.string({
21
- description: 'file(s) to test',
22
- }),
23
- };
24
- static description = 'Run the test';
25
- static examples = [
26
- '<%= config.bin %> <%= command.id %>',
27
- '<%= config.bin %> <%= command.id %> test/index.test.ts',
28
- '<%= config.bin %> <%= command.id %> test/index.test.ts,test/user.test.ts,...',
29
- '<%= config.bin %> <%= command.id %> --json',
30
- '<%= config.bin %> <%= command.id %> --log-level debug',
31
- ];
32
- static flags = {
33
- bail: core_1.Flags.boolean({
34
- description: 'bbort ("bail") after first test failure',
35
- default: false,
36
- char: 'b',
37
- }),
38
- timeout: core_1.Flags.integer({
39
- char: 't',
40
- description: 'set test-case timeout in milliseconds',
41
- default: parseInt(process.env.TEST_TIMEOUT ?? '60000'),
42
- }),
43
- 'no-timeout': core_1.Flags.boolean({
44
- description: 'disable timeout',
45
- }),
46
- grep: core_1.Flags.string({
47
- char: 'g',
48
- description: 'only run tests matching <pattern>',
49
- }),
50
- changed: core_1.Flags.boolean({
51
- description: 'only test with changed files and match test/**/*.test.(js|ts)',
52
- char: 'c',
53
- }),
54
- mochawesome: core_1.Flags.boolean({
55
- description: '[default: true] enable mochawesome reporter',
56
- default: true,
57
- allowNo: true,
58
- }),
59
- parallel: core_1.Flags.boolean({
60
- description: 'mocha parallel mode',
61
- default: false,
62
- char: 'p',
63
- }),
64
- jobs: core_1.Flags.integer({
65
- char: 't',
66
- description: 'number of jobs to run in parallel',
67
- default: node_os_1.default.cpus().length - 1,
68
- }),
69
- 'auto-agent': core_1.Flags.boolean({
70
- description: '[default: true] auto bootstrap agent in mocha master process',
71
- default: true,
72
- allowNo: true,
73
- }),
74
- };
75
- async run() {
76
- const { flags } = this;
77
- try {
78
- await promises_1.default.access(flags.base);
79
- }
80
- catch (err) {
81
- console.error('baseDir: %o not exists', flags.base);
82
- throw err;
83
- }
84
- const mochaFile = process.env.MOCHA_FILE || (0, utils_1.importResolve)('mocha/bin/_mocha');
85
- if (flags.parallel) {
86
- this.env.ENABLE_MOCHA_PARALLEL = 'true';
87
- if (flags['auto-agent']) {
88
- this.env.AUTO_AGENT = 'true';
89
- }
90
- }
91
- // set NODE_ENV=test, let egg application load unittest logic
92
- // https://eggjs.org/basics/env#difference-from-node_env
93
- this.env.NODE_ENV = 'test';
94
- if (flags['no-timeout']) {
95
- flags.timeout = 0;
96
- }
97
- debug('run test: %s %o flags: %o', mochaFile, this.args, flags);
98
- const mochaArgs = await this.formatMochaArgs();
99
- if (!mochaArgs)
100
- return;
101
- await this.runMocha(mochaFile, mochaArgs);
102
- }
103
- async runMocha(mochaFile, mochaArgs) {
104
- await this.forkNode(mochaFile, mochaArgs, {
105
- execArgv: [
106
- ...process.execArgv,
107
- // https://github.com/mochajs/mocha/issues/2640#issuecomment-1663388547
108
- '--unhandled-rejections=strict',
109
- ],
110
- });
111
- }
112
- async formatMochaArgs() {
113
- const { args, flags } = this;
114
- // collect require
115
- const requires = await this.formatRequires();
116
- const eggType = await (0, utils_1.detectType)(flags.base);
117
- debug('eggType: %s', eggType);
118
- if (eggType === utils_1.EggType.application) {
119
- try {
120
- const eggMockRegister = (0, utils_1.importResolve)('@eggjs/mock/register', { paths: [flags.base] });
121
- requires.push(eggMockRegister);
122
- debug('auto register @eggjs/mock/register: %o', eggMockRegister);
123
- }
124
- catch (err) {
125
- // ignore @eggjs/mock not exists
126
- debug('auto register @eggjs/mock fail, can not require @eggjs/mock on %o, error: %s', flags.base, err.message);
127
- }
128
- }
129
- // handle mochawesome enable
130
- let reporter = this.env.TEST_REPORTER;
131
- let reporterOptions = '';
132
- if (!reporter && flags.mochawesome) {
133
- // use https://github.com/node-modules/mochawesome/pull/1 instead
134
- reporter = (0, utils_1.importResolve)('mochawesome-with-mocha');
135
- reporterOptions = 'reportDir=node_modules/.mochawesome-reports';
136
- if (flags.parallel) {
137
- // https://github.com/adamgruber/mochawesome#parallel-mode
138
- requires.push(node_path_1.default.join(reporter, '../register.js'));
139
- }
140
- }
141
- const ext = flags.typescript ? 'ts' : 'js';
142
- let pattern = args.file ? args.file.split(',') : [];
143
- // changed
144
- if (flags.changed) {
145
- pattern = await this.getChangedTestFiles(flags.base, ext);
146
- if (!pattern.length) {
147
- console.log('No changed test files');
148
- return;
149
- }
150
- debug('changed files: %o', pattern);
151
- }
152
- if (!pattern.length && process.env.TESTS) {
153
- pattern = process.env.TESTS.split(',');
154
- }
155
- // collect test files when nothing is changed
156
- if (!pattern.length) {
157
- pattern = [`test/**/*.test.${ext}`];
158
- }
159
- pattern = pattern.concat(['!test/fixtures', '!test/node_modules']);
160
- // expand glob and skip node_modules and fixtures
161
- let files = globby_1.default.sync(pattern, { cwd: flags.base });
162
- files.sort();
163
- if (files.length === 0) {
164
- console.log('No test files found with pattern %o', pattern);
165
- return;
166
- }
167
- // split up test files in parallel CI jobs
168
- if (ci_parallel_vars_1.default) {
169
- const { index: currentIndex, total: totalRuns } = ci_parallel_vars_1.default;
170
- const fileCount = files.length;
171
- const each = Math.floor(fileCount / totalRuns);
172
- const remainder = fileCount % totalRuns;
173
- const offset = Math.min(currentIndex, remainder) + (currentIndex * each);
174
- const currentFileCount = each + (currentIndex < remainder ? 1 : 0);
175
- files = files.slice(offset, offset + currentFileCount);
176
- console.log('# Split test files in parallel CI jobs: %d/%d, files: %d/%d', currentIndex + 1, totalRuns, files.length, fileCount);
177
- }
178
- // auto add setup file as the first test file
179
- const setupFile = node_path_1.default.join(flags.base, `test/.setup.${ext}`);
180
- try {
181
- await promises_1.default.access(setupFile);
182
- files.unshift(setupFile);
183
- }
184
- catch {
185
- // ignore
186
- }
187
- const grep = flags.grep ? flags.grep.split(',') : [];
188
- return [
189
- // force exit
190
- '--exit',
191
- flags.bail ? '--bail' : '',
192
- grep.map(pattern => `--grep='${pattern}'`).join(' '),
193
- flags.timeout ? `--timeout=${flags.timeout}` : '--no-timeout',
194
- flags.parallel ? '--parallel' : '',
195
- flags.parallel && flags.jobs ? `--jobs=${flags.jobs}` : '',
196
- reporter ? `--reporter=${reporter}` : '',
197
- reporterOptions ? `--reporter-options=${reporterOptions}` : '',
198
- ...requires.map(r => `--require=${r}`),
199
- ...files,
200
- flags['dry-run'] ? '--dry-run' : '',
201
- ].filter(a => a.trim());
202
- }
203
- async getChangedTestFiles(dir, ext) {
204
- const res = await (0, jest_changed_files_1.getChangedFilesForRoots)([node_path_1.default.join(dir, 'test')], {});
205
- const changedFiles = res.changedFiles;
206
- const files = [];
207
- for (let cf of changedFiles) {
208
- // only find test/**/*.test.(js|ts)
209
- if (cf.endsWith(`.test.${ext}`)) {
210
- // Patterns MUST use forward slashes (not backslashes)
211
- // This should be converted on Windows
212
- if (process.platform === 'win32') {
213
- cf = cf.replace(/\\/g, '/');
214
- }
215
- files.push(cf);
216
- }
217
- }
218
- return files;
219
- }
220
- }
221
- exports.default = Test;
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQXFDO0FBQ3JDLDBEQUE2QjtBQUM3QixzREFBeUI7QUFDekIsZ0VBQWtDO0FBQ2xDLHNDQUEwQztBQUMxQyxvREFBNEI7QUFDNUIsd0NBQWtFO0FBQ2xFLDJEQUE2RDtBQUM3RCw0QkFBNEI7QUFDNUIsd0VBQThDO0FBQzlDLHNEQUFnRDtBQUVoRCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUVuRCxNQUFxQixJQUE0QixTQUFRLDRCQUFjO0lBQ3JFLE1BQU0sQ0FBVSxJQUFJLEdBQUc7UUFDckIsSUFBSSxFQUFFLFdBQUksQ0FBQyxNQUFNLENBQUM7WUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtTQUMvQixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBVSxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBRTdDLE1BQU0sQ0FBVSxRQUFRLEdBQUc7UUFDekIscUNBQXFDO1FBQ3JDLHdEQUF3RDtRQUN4RCw4RUFBOEU7UUFDOUUsNENBQTRDO1FBQzVDLHVEQUF1RDtLQUN4RCxDQUFDO0lBRUYsTUFBTSxDQUFVLEtBQUssR0FBRztRQUN0QixJQUFJLEVBQUUsWUFBSyxDQUFDLE9BQU8sQ0FBQztZQUNsQixXQUFXLEVBQUUseUNBQXlDO1lBQ3RELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLEdBQUc7U0FDVixDQUFDO1FBQ0YsT0FBTyxFQUFFLFlBQUssQ0FBQyxPQUFPLENBQUM7WUFDckIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDO1NBQ3ZELENBQUM7UUFDRixZQUFZLEVBQUUsWUFBSyxDQUFD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
@@ -1,7 +0,0 @@
1
- import Test from './commands/test.js';
2
- import Cov from './commands/cov.js';
3
- import Dev from './commands/dev.js';
4
- export { Test, Cov, Dev };
5
- export * from './baseCommand.js';
6
- export * from './types.js';
7
- export * from '@oclif/core';
@@ -1,30 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Dev = exports.Cov = exports.Test = void 0;
21
- const test_js_1 = __importDefault(require("./commands/test.js"));
22
- exports.Test = test_js_1.default;
23
- const cov_js_1 = __importDefault(require("./commands/cov.js"));
24
- exports.Cov = cov_js_1.default;
25
- const dev_js_1 = __importDefault(require("./commands/dev.js"));
26
- exports.Dev = dev_js_1.default;
27
- __exportStar(require("./baseCommand.js"), exports);
28
- __exportStar(require("./types.js"), exports);
29
- __exportStar(require("@oclif/core"), exports);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBc0M7QUFJN0IsZUFKRixpQkFBSSxDQUlFO0FBSGIsK0RBQW9DO0FBR3JCLGNBSFIsZ0JBQUcsQ0FHUTtBQUZsQiwrREFBb0M7QUFFaEIsY0FGYixnQkFBRyxDQUVhO0FBRXZCLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0IsOENBQTRCIn0=
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,9 +0,0 @@
1
- export interface PackageEgg {
2
- framework?: boolean;
3
- typescript?: boolean;
4
- tscompiler?: string;
5
- declarations?: boolean;
6
- revert?: string | string[];
7
- require?: string | string[];
8
- import?: string | string[];
9
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,4 +0,0 @@
1
- export declare function readPackageJSON(baseDir: string): Promise<any>;
2
- export declare function hasTsConfig(baseDir: string): Promise<boolean>;
3
- export declare function getSourceDirname(): string;
4
- export declare function getSourceFilename(filename: string): string;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readPackageJSON = readPackageJSON;
7
- exports.hasTsConfig = hasTsConfig;
8
- exports.getSourceDirname = getSourceDirname;
9
- exports.getSourceFilename = getSourceFilename;
10
- const promises_1 = __importDefault(require("node:fs/promises"));
11
- const node_path_1 = __importDefault(require("node:path"));
12
- const node_url_1 = require("node:url");
13
- async function readPackageJSON(baseDir) {
14
- const pkgFile = node_path_1.default.join(baseDir, 'package.json');
15
- try {
16
- const pkgJSON = await promises_1.default.readFile(pkgFile, 'utf8');
17
- return JSON.parse(pkgJSON);
18
- }
19
- catch {
20
- return {};
21
- }
22
- }
23
- async function hasTsConfig(baseDir) {
24
- const pkgFile = node_path_1.default.join(baseDir, 'tsconfig.json');
25
- try {
26
- await promises_1.default.access(pkgFile);
27
- return true;
28
- }
29
- catch {
30
- return false;
31
- }
32
- }
33
- function getSourceDirname() {
34
- if (typeof __dirname === 'string') {
35
- return __dirname;
36
- }
37
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
- // @ts-ignore
39
- const __filename = (0, node_url_1.fileURLToPath)('import_meta_url_placeholder_by_tshy_after');
40
- return node_path_1.default.dirname(__filename);
41
- }
42
- function getSourceFilename(filename) {
43
- return node_path_1.default.join(getSourceDirname(), filename);
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwwQ0FRQztBQUVELGtDQVFDO0FBRUQsNENBUUM7QUFFRCw4Q0FFQztBQXBDRCxnRUFBa0M7QUFDbEMsMERBQTZCO0FBQzdCLHVDQUF5QztBQUVsQyxLQUFLLFVBQVUsZUFBZSxDQUFDLE9BQWU7SUFDbkQsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sa0JBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZTtJQUMvQyxNQUFNLE9BQU8sR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELDZEQUE2RDtJQUM3RCxhQUFhO0lBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBQSx3QkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsT0FBTyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsUUFBZ0I7SUFDaEQsT0FBTyxtQkFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pELENBQUMifQ==
@@ -1,49 +0,0 @@
1
- import { ForkOptions } from 'node:child_process';
2
- import { Command, Flags, Interfaces } from '@oclif/core';
3
- import { PackageEgg } from './types.js';
4
- export declare class ForkError extends Error {
5
- code: number | null;
6
- constructor(message: string, code: number | null);
7
- }
8
- export interface ForkNodeOptions extends ForkOptions {
9
- dryRun?: boolean;
10
- }
11
- type Flags<T extends typeof Command> = Interfaces.InferredFlags<typeof BaseCommand['baseFlags'] & T['flags']>;
12
- type Args<T extends typeof Command> = Interfaces.InferredArgs<T['args']>;
13
- export declare abstract class BaseCommand<T extends typeof Command> extends Command {
14
- #private;
15
- static enableJsonFlag: boolean;
16
- static baseFlags: {
17
- 'dry-run': Interfaces.BooleanFlag<boolean>;
18
- require: Interfaces.OptionFlag<string[] | undefined, Interfaces.CustomOptions>;
19
- import: Interfaces.OptionFlag<string[] | undefined, Interfaces.CustomOptions>;
20
- base: Interfaces.OptionFlag<string, Interfaces.CustomOptions>;
21
- tscompiler: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
22
- typescript: Interfaces.BooleanFlag<boolean>;
23
- ts: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
24
- javascript: Interfaces.BooleanFlag<boolean>;
25
- declarations: Interfaces.BooleanFlag<boolean>;
26
- inspect: Interfaces.BooleanFlag<boolean>;
27
- 'inspect-brk': Interfaces.BooleanFlag<boolean>;
28
- };
29
- protected flags: Flags<T>;
30
- protected args: Args<T>;
31
- protected env: {
32
- [key: string]: string | undefined;
33
- TZ?: string;
34
- };
35
- protected pkg: Record<string, any>;
36
- protected isESM: boolean;
37
- protected pkgEgg: PackageEgg;
38
- protected globalExecArgv: string[];
39
- init(): Promise<void>;
40
- protected catch(err: Error & {
41
- exitCode?: number;
42
- }): Promise<any>;
43
- protected finally(_: Error | undefined): Promise<any>;
44
- protected formatRequires(): Promise<string[]>;
45
- protected formatImportModule(modulePath: string): string;
46
- protected addNodeOptions(options: string): void;
47
- protected forkNode(modulePath: string, forkArgs: string[], options?: ForkNodeOptions): Promise<void>;
48
- }
49
- export {};