@neurodevs/ndx-cli 0.1.21 → 0.1.22
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/build/__tests__/modules/CliCommandRunner.test.d.ts +7 -0
- package/build/__tests__/modules/CliCommandRunner.test.js +59 -1
- package/build/__tests__/modules/CliCommandRunner.test.js.map +1 -1
- package/build/modules/CliCommandRunner.d.ts +15 -3
- package/build/modules/CliCommandRunner.js +52 -3
- package/build/modules/CliCommandRunner.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/modules/CliCommandRunner.test.ts +91 -3
- package/src/modules/CliCommandRunner.ts +72 -4
|
@@ -27,6 +27,10 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
27
27
|
private static keywordsWithDefaults;
|
|
28
28
|
protected static createPackageRunsNpmAutopackage(): Promise<void>;
|
|
29
29
|
protected static createUiCreatesInstance(): Promise<void>;
|
|
30
|
+
protected static createUiPromptsInstallDependenciesIfMissing(): Promise<void>;
|
|
31
|
+
private static setUninstalledPackageJson;
|
|
32
|
+
protected static createUiInstallsDependenciesIfMissing(): Promise<void>;
|
|
33
|
+
protected static createUiDoesNotPromptIfDependenciesAreInstalled(): Promise<void>;
|
|
30
34
|
protected static createUiPromptsUserForInput(): Promise<void>;
|
|
31
35
|
protected static createUiDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
|
|
32
36
|
protected static createUiCreatesTestSaveDirIfNotExists(): Promise<void>;
|
|
@@ -45,11 +49,14 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
45
49
|
private static readonly uiTestSaveDir;
|
|
46
50
|
private static readonly uiModuleSaveDir;
|
|
47
51
|
private static get uiFakeSaveDir();
|
|
52
|
+
private static readonly installDevDependenciesCommand;
|
|
48
53
|
private static setFakeImplAutomodule;
|
|
49
54
|
private static setFakeUiAutomodule;
|
|
50
55
|
private static setFakeAutopackage;
|
|
56
|
+
private static setFakeExec;
|
|
51
57
|
private static setFakeMkdir;
|
|
52
58
|
private static setFakePrompts;
|
|
59
|
+
private static setFakeReadFile;
|
|
53
60
|
private static readonly interfaceNameMessage;
|
|
54
61
|
private static readonly implNameMessage;
|
|
55
62
|
private static readonly packageNameMessage;
|
|
@@ -42,21 +42,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
42
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const child_process_1 = require("child_process");
|
|
45
46
|
const os_1 = __importDefault(require("os"));
|
|
46
47
|
const path_1 = __importDefault(require("path"));
|
|
48
|
+
const util_1 = require("util");
|
|
47
49
|
const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
48
50
|
const fake_node_core_1 = require("@neurodevs/fake-node-core");
|
|
49
51
|
const meta_node_1 = require("@neurodevs/meta-node");
|
|
50
52
|
const CliCommandRunner_1 = __importDefault(require("../../modules/CliCommandRunner"));
|
|
51
53
|
const fakePrompts_1 = __importStar(require("../../testDoubles/prompts/fakePrompts"));
|
|
54
|
+
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
52
55
|
class CliCommandRunnerTest extends test_utils_1.default {
|
|
53
56
|
static async beforeEach() {
|
|
54
57
|
await super.beforeEach();
|
|
55
58
|
this.setFakeImplAutomodule();
|
|
56
59
|
this.setFakeUiAutomodule();
|
|
57
60
|
this.setFakeAutopackage();
|
|
58
|
-
this.
|
|
61
|
+
this.setFakeExec();
|
|
59
62
|
this.setFakeMkdir();
|
|
63
|
+
this.setFakePrompts();
|
|
64
|
+
this.setFakeReadFile();
|
|
60
65
|
process.env.GITHUB_TOKEN = this.githubToken;
|
|
61
66
|
}
|
|
62
67
|
static async throwsIfCommandIsNotSupported() {
|
|
@@ -177,6 +182,32 @@ class CliCommandRunnerTest extends test_utils_1.default {
|
|
|
177
182
|
const instance = await this.runCreateUi();
|
|
178
183
|
test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.createUiCommand}!`);
|
|
179
184
|
}
|
|
185
|
+
static async createUiPromptsInstallDependenciesIfMissing() {
|
|
186
|
+
this.setUninstalledPackageJson();
|
|
187
|
+
await this.runCreateUi();
|
|
188
|
+
test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
|
|
189
|
+
{
|
|
190
|
+
type: 'confirm',
|
|
191
|
+
name: 'shouldInstall',
|
|
192
|
+
message: 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
|
|
193
|
+
initial: true,
|
|
194
|
+
},
|
|
195
|
+
], 'Did not prompt user for expected input!');
|
|
196
|
+
}
|
|
197
|
+
static setUninstalledPackageJson() {
|
|
198
|
+
(0, fake_node_core_1.setFakeReadFileResult)('package.json', '{}');
|
|
199
|
+
}
|
|
200
|
+
static async createUiInstallsDependenciesIfMissing() {
|
|
201
|
+
this.setUninstalledPackageJson();
|
|
202
|
+
await this.runCreateUi({
|
|
203
|
+
shouldInstall: true,
|
|
204
|
+
});
|
|
205
|
+
test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec[0], this.installDevDependenciesCommand, 'Did not install dependencies!');
|
|
206
|
+
}
|
|
207
|
+
static async createUiDoesNotPromptIfDependenciesAreInstalled() {
|
|
208
|
+
await this.runCreateUi();
|
|
209
|
+
test_utils_1.assert.isEqual(fakePrompts_1.callsToFakePrompts.length, 1, 'Prompted too many times!');
|
|
210
|
+
}
|
|
180
211
|
static async createUiPromptsUserForInput() {
|
|
181
212
|
await this.runCreateUi();
|
|
182
213
|
test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
|
|
@@ -280,6 +311,10 @@ class CliCommandRunnerTest extends test_utils_1.default {
|
|
|
280
311
|
meta_node_1.NpmAutopackage.Class = meta_node_1.FakeAutopackage;
|
|
281
312
|
meta_node_1.FakeAutopackage.resetTestDouble();
|
|
282
313
|
}
|
|
314
|
+
static setFakeExec() {
|
|
315
|
+
CliCommandRunner_1.default.exec = fake_node_core_1.fakeExec;
|
|
316
|
+
(0, fake_node_core_1.resetCallsToExec)();
|
|
317
|
+
}
|
|
283
318
|
static setFakeMkdir() {
|
|
284
319
|
CliCommandRunner_1.default.mkdir = fake_node_core_1.fakeMkdir;
|
|
285
320
|
(0, fake_node_core_1.resetCallsToMkdir)();
|
|
@@ -288,6 +323,19 @@ class CliCommandRunnerTest extends test_utils_1.default {
|
|
|
288
323
|
CliCommandRunner_1.default.prompts = fakePrompts_1.default;
|
|
289
324
|
(0, fakePrompts_1.resetCallsToFakePrompts)();
|
|
290
325
|
}
|
|
326
|
+
static setFakeReadFile() {
|
|
327
|
+
CliCommandRunner_1.default.readFile = fake_node_core_1.fakeReadFile;
|
|
328
|
+
(0, fake_node_core_1.resetCallsToReadFile)();
|
|
329
|
+
(0, fake_node_core_1.setFakeReadFileResult)('package.json', `
|
|
330
|
+
{
|
|
331
|
+
"devDependencies": {
|
|
332
|
+
"@types/react": "^...",
|
|
333
|
+
"@testing-library/react": "^...",
|
|
334
|
+
"@testing-library/jest-dom": "^..."
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
`);
|
|
338
|
+
}
|
|
291
339
|
static CliCommandRunner(args) {
|
|
292
340
|
return CliCommandRunner_1.default.Create(args);
|
|
293
341
|
}
|
|
@@ -306,6 +354,7 @@ CliCommandRunnerTest.implTestSaveDir = 'src/__tests__/modules';
|
|
|
306
354
|
CliCommandRunnerTest.implModuleSaveDir = 'src/modules';
|
|
307
355
|
CliCommandRunnerTest.uiTestSaveDir = 'src/__tests__/ui';
|
|
308
356
|
CliCommandRunnerTest.uiModuleSaveDir = 'src/ui';
|
|
357
|
+
CliCommandRunnerTest.installDevDependenciesCommand = 'yarn add -D @types/react @testing-library/react @testing-library/jest-dom';
|
|
309
358
|
CliCommandRunnerTest.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
|
|
310
359
|
CliCommandRunnerTest.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
|
|
311
360
|
CliCommandRunnerTest.packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
@@ -357,6 +406,15 @@ __decorate([
|
|
|
357
406
|
__decorate([
|
|
358
407
|
(0, test_utils_1.test)()
|
|
359
408
|
], CliCommandRunnerTest, "createUiCreatesInstance", null);
|
|
409
|
+
__decorate([
|
|
410
|
+
(0, test_utils_1.test)()
|
|
411
|
+
], CliCommandRunnerTest, "createUiPromptsInstallDependenciesIfMissing", null);
|
|
412
|
+
__decorate([
|
|
413
|
+
(0, test_utils_1.test)()
|
|
414
|
+
], CliCommandRunnerTest, "createUiInstallsDependenciesIfMissing", null);
|
|
415
|
+
__decorate([
|
|
416
|
+
(0, test_utils_1.test)()
|
|
417
|
+
], CliCommandRunnerTest, "createUiDoesNotPromptIfDependenciesAreInstalled", null);
|
|
360
418
|
__decorate([
|
|
361
419
|
(0, test_utils_1.test)()
|
|
362
420
|
], CliCommandRunnerTest, "createUiPromptsUserForInput", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/CliCommandRunner.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/CliCommandRunner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { exec as execSync } from 'child_process';
|
|
2
|
+
import { mkdir, readFile } from 'fs/promises';
|
|
2
3
|
import prompts from 'prompts';
|
|
3
4
|
export default class CliCommandRunner implements CommandRunner {
|
|
4
5
|
static Class?: CommandRunnerConstructor;
|
|
5
|
-
static
|
|
6
|
+
static exec: typeof execSync.__promisify__;
|
|
6
7
|
static mkdir: typeof mkdir;
|
|
8
|
+
static prompts: typeof prompts;
|
|
9
|
+
static readFile: typeof readFile;
|
|
7
10
|
private args;
|
|
8
11
|
private readonly createImplCommand;
|
|
9
12
|
private interfaceName;
|
|
@@ -39,6 +42,13 @@ export default class CliCommandRunner implements CommandRunner {
|
|
|
39
42
|
private splitOnCommaOrWhitespace;
|
|
40
43
|
private get userInputExistsForCreatePackage();
|
|
41
44
|
private createUiModule;
|
|
45
|
+
private installDependenciesIfNeeded;
|
|
46
|
+
private checkIfDependenciesAreInstalled;
|
|
47
|
+
private loadPackageJson;
|
|
48
|
+
private readonly packageJsonPath;
|
|
49
|
+
private readonly requiredDevDependencies;
|
|
50
|
+
private promptForInstallDependencies;
|
|
51
|
+
private installDependencies;
|
|
42
52
|
private promptForUimodule;
|
|
43
53
|
private readonly componentNameMessage;
|
|
44
54
|
private makeRequiredUiDirectories;
|
|
@@ -46,8 +56,10 @@ export default class CliCommandRunner implements CommandRunner {
|
|
|
46
56
|
private readonly uiTestSaveDir;
|
|
47
57
|
private readonly uiModuleSaveDir;
|
|
48
58
|
private get uiFakeSaveDir();
|
|
49
|
-
private get
|
|
59
|
+
private get exec();
|
|
50
60
|
private get mkdir();
|
|
61
|
+
private get prompts();
|
|
62
|
+
private get readFile();
|
|
51
63
|
private ImplAutomodule;
|
|
52
64
|
private UiAutomodule;
|
|
53
65
|
private NpmAutopackage;
|
|
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
6
7
|
const promises_1 = require("fs/promises");
|
|
7
8
|
const os_1 = __importDefault(require("os"));
|
|
8
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const util_1 = require("util");
|
|
9
11
|
const meta_node_1 = require("@neurodevs/meta-node");
|
|
10
12
|
const prompts_1 = __importDefault(require("prompts"));
|
|
11
13
|
class CliCommandRunner {
|
|
@@ -25,6 +27,12 @@ class CliCommandRunner {
|
|
|
25
27
|
this.packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
26
28
|
this.descriptionMessage = 'What should the package description be? Example: A useful package.';
|
|
27
29
|
this.keywordsMessage = 'Enter keywords (comma or space separated, lowercase, optional):';
|
|
30
|
+
this.packageJsonPath = 'package.json';
|
|
31
|
+
this.requiredDevDependencies = [
|
|
32
|
+
'@types/react',
|
|
33
|
+
'@testing-library/react',
|
|
34
|
+
'@testing-library/jest-dom',
|
|
35
|
+
];
|
|
28
36
|
this.componentNameMessage = 'What should the component be called? Example: YourComponent';
|
|
29
37
|
this.uiTestSaveDir = 'src/__tests__/ui';
|
|
30
38
|
this.uiModuleSaveDir = 'src/ui';
|
|
@@ -139,6 +147,7 @@ class CliCommandRunner {
|
|
|
139
147
|
return this.packageName && this.description;
|
|
140
148
|
}
|
|
141
149
|
async createUiModule() {
|
|
150
|
+
await this.installDependenciesIfNeeded();
|
|
142
151
|
const { componentName } = await this.promptForUimodule();
|
|
143
152
|
this.componentName = componentName;
|
|
144
153
|
if (!this.componentName) {
|
|
@@ -148,6 +157,38 @@ class CliCommandRunner {
|
|
|
148
157
|
const instance = this.UiAutomodule();
|
|
149
158
|
await instance.run();
|
|
150
159
|
}
|
|
160
|
+
async installDependenciesIfNeeded() {
|
|
161
|
+
const isInstalled = await this.checkIfDependenciesAreInstalled();
|
|
162
|
+
if (!isInstalled) {
|
|
163
|
+
const { shouldInstall } = await this.promptForInstallDependencies();
|
|
164
|
+
if (shouldInstall) {
|
|
165
|
+
await this.installDependencies();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async checkIfDependenciesAreInstalled() {
|
|
170
|
+
const original = await this.loadPackageJson();
|
|
171
|
+
const parsed = JSON.parse(original);
|
|
172
|
+
const devDependencies = Object.keys(parsed.devDependencies ?? {});
|
|
173
|
+
return this.requiredDevDependencies.every((dep) => devDependencies.includes(dep));
|
|
174
|
+
}
|
|
175
|
+
async loadPackageJson() {
|
|
176
|
+
return await this.readFile(this.packageJsonPath, 'utf-8');
|
|
177
|
+
}
|
|
178
|
+
async promptForInstallDependencies() {
|
|
179
|
+
return await this.prompts([
|
|
180
|
+
{
|
|
181
|
+
type: 'confirm',
|
|
182
|
+
name: 'shouldInstall',
|
|
183
|
+
message: 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
|
|
184
|
+
initial: true,
|
|
185
|
+
},
|
|
186
|
+
]);
|
|
187
|
+
}
|
|
188
|
+
async installDependencies() {
|
|
189
|
+
console.log('Installing required dependencies...');
|
|
190
|
+
await this.exec('yarn add -D @types/react @testing-library/react @testing-library/jest-dom');
|
|
191
|
+
}
|
|
151
192
|
async promptForUimodule() {
|
|
152
193
|
return await this.prompts([
|
|
153
194
|
{
|
|
@@ -170,12 +211,18 @@ class CliCommandRunner {
|
|
|
170
211
|
get uiFakeSaveDir() {
|
|
171
212
|
return `src/testDoubles/${this.componentName}`;
|
|
172
213
|
}
|
|
173
|
-
get
|
|
174
|
-
return CliCommandRunner.
|
|
214
|
+
get exec() {
|
|
215
|
+
return CliCommandRunner.exec;
|
|
175
216
|
}
|
|
176
217
|
get mkdir() {
|
|
177
218
|
return CliCommandRunner.mkdir;
|
|
178
219
|
}
|
|
220
|
+
get prompts() {
|
|
221
|
+
return CliCommandRunner.prompts;
|
|
222
|
+
}
|
|
223
|
+
get readFile() {
|
|
224
|
+
return CliCommandRunner.readFile;
|
|
225
|
+
}
|
|
179
226
|
ImplAutomodule() {
|
|
180
227
|
return meta_node_1.ImplAutomodule.Create({
|
|
181
228
|
testSaveDir: this.implTestSaveDir,
|
|
@@ -206,7 +253,9 @@ class CliCommandRunner {
|
|
|
206
253
|
});
|
|
207
254
|
}
|
|
208
255
|
}
|
|
209
|
-
CliCommandRunner.
|
|
256
|
+
CliCommandRunner.exec = (0, util_1.promisify)(child_process_1.exec);
|
|
210
257
|
CliCommandRunner.mkdir = promises_1.mkdir;
|
|
258
|
+
CliCommandRunner.prompts = prompts_1.default;
|
|
259
|
+
CliCommandRunner.readFile = promises_1.readFile;
|
|
211
260
|
exports.default = CliCommandRunner;
|
|
212
261
|
//# sourceMappingURL=CliCommandRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/ndx-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"description": "CLI tools for the Neurodevs ecosystem.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nodejs",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
"watch.tsc": "tsc -w"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@neurodevs/meta-node": "^0.10.
|
|
51
|
+
"@neurodevs/meta-node": "^0.10.4",
|
|
52
52
|
"prompts": "^2.4.2"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@neurodevs/fake-node-core": "^0.
|
|
55
|
+
"@neurodevs/fake-node-core": "^0.2.2",
|
|
56
56
|
"@sprucelabs/jest-json-reporter": "^9.0.35",
|
|
57
57
|
"@sprucelabs/resolve-path-aliases": "^3.0.18",
|
|
58
58
|
"@sprucelabs/test": "^10.0.14",
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { exec as execSync } from 'child_process'
|
|
2
|
+
import { mkdir, readFile } from 'fs/promises'
|
|
2
3
|
import os from 'os'
|
|
3
4
|
import path from 'path'
|
|
5
|
+
import { promisify } from 'util'
|
|
4
6
|
import AbstractSpruceTest, {
|
|
5
7
|
test,
|
|
6
8
|
assert,
|
|
7
9
|
generateId,
|
|
8
10
|
} from '@sprucelabs/test-utils'
|
|
9
11
|
import {
|
|
12
|
+
callsToExec,
|
|
10
13
|
callsToMkdir,
|
|
14
|
+
fakeExec,
|
|
11
15
|
fakeMkdir,
|
|
16
|
+
fakeReadFile,
|
|
17
|
+
resetCallsToExec,
|
|
12
18
|
resetCallsToMkdir,
|
|
19
|
+
resetCallsToReadFile,
|
|
20
|
+
setFakeReadFileResult,
|
|
13
21
|
} from '@neurodevs/fake-node-core'
|
|
14
22
|
import {
|
|
15
23
|
FakeAutomodule,
|
|
@@ -26,6 +34,8 @@ import fakePrompts, {
|
|
|
26
34
|
setFakeResponses,
|
|
27
35
|
} from '../../testDoubles/prompts/fakePrompts'
|
|
28
36
|
|
|
37
|
+
const exec = promisify(execSync)
|
|
38
|
+
|
|
29
39
|
export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
30
40
|
private static readonly createImplCommand = 'create.impl'
|
|
31
41
|
private static readonly interfaceName = generateId()
|
|
@@ -47,8 +57,11 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
47
57
|
this.setFakeImplAutomodule()
|
|
48
58
|
this.setFakeUiAutomodule()
|
|
49
59
|
this.setFakeAutopackage()
|
|
50
|
-
|
|
60
|
+
|
|
61
|
+
this.setFakeExec()
|
|
51
62
|
this.setFakeMkdir()
|
|
63
|
+
this.setFakePrompts()
|
|
64
|
+
this.setFakeReadFile()
|
|
52
65
|
|
|
53
66
|
process.env.GITHUB_TOKEN = this.githubToken
|
|
54
67
|
}
|
|
@@ -279,6 +292,53 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
279
292
|
)
|
|
280
293
|
}
|
|
281
294
|
|
|
295
|
+
@test()
|
|
296
|
+
protected static async createUiPromptsInstallDependenciesIfMissing() {
|
|
297
|
+
this.setUninstalledPackageJson()
|
|
298
|
+
|
|
299
|
+
await this.runCreateUi()
|
|
300
|
+
|
|
301
|
+
assert.isEqualDeep(
|
|
302
|
+
callsToFakePrompts[0],
|
|
303
|
+
[
|
|
304
|
+
{
|
|
305
|
+
type: 'confirm',
|
|
306
|
+
name: 'shouldInstall',
|
|
307
|
+
message:
|
|
308
|
+
'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
|
|
309
|
+
initial: true,
|
|
310
|
+
},
|
|
311
|
+
],
|
|
312
|
+
'Did not prompt user for expected input!'
|
|
313
|
+
)
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
private static setUninstalledPackageJson() {
|
|
317
|
+
setFakeReadFileResult('package.json', '{}')
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
@test()
|
|
321
|
+
protected static async createUiInstallsDependenciesIfMissing() {
|
|
322
|
+
this.setUninstalledPackageJson()
|
|
323
|
+
|
|
324
|
+
await this.runCreateUi({
|
|
325
|
+
shouldInstall: true,
|
|
326
|
+
})
|
|
327
|
+
|
|
328
|
+
assert.isEqualDeep(
|
|
329
|
+
callsToExec[0],
|
|
330
|
+
this.installDevDependenciesCommand,
|
|
331
|
+
'Did not install dependencies!'
|
|
332
|
+
)
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
@test()
|
|
336
|
+
protected static async createUiDoesNotPromptIfDependenciesAreInstalled() {
|
|
337
|
+
await this.runCreateUi()
|
|
338
|
+
|
|
339
|
+
assert.isEqual(callsToFakePrompts.length, 1, 'Prompted too many times!')
|
|
340
|
+
}
|
|
341
|
+
|
|
282
342
|
@test()
|
|
283
343
|
protected static async createUiPromptsUserForInput() {
|
|
284
344
|
await this.runCreateUi()
|
|
@@ -372,7 +432,9 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
372
432
|
)
|
|
373
433
|
}
|
|
374
434
|
|
|
375
|
-
private static async runCreateUi(
|
|
435
|
+
private static async runCreateUi(
|
|
436
|
+
responses?: Record<string, string | boolean>
|
|
437
|
+
) {
|
|
376
438
|
setFakeResponses({
|
|
377
439
|
componentName: this.componentName,
|
|
378
440
|
...responses,
|
|
@@ -438,6 +500,9 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
438
500
|
return `src/testDoubles/${this.componentName}`
|
|
439
501
|
}
|
|
440
502
|
|
|
503
|
+
private static readonly installDevDependenciesCommand =
|
|
504
|
+
'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
|
|
505
|
+
|
|
441
506
|
private static setFakeImplAutomodule() {
|
|
442
507
|
ImplAutomodule.Class = FakeAutomodule
|
|
443
508
|
FakeAutomodule.resetTestDouble()
|
|
@@ -453,6 +518,11 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
453
518
|
FakeAutopackage.resetTestDouble()
|
|
454
519
|
}
|
|
455
520
|
|
|
521
|
+
private static setFakeExec() {
|
|
522
|
+
CliCommandRunner.exec = fakeExec as unknown as typeof exec
|
|
523
|
+
resetCallsToExec()
|
|
524
|
+
}
|
|
525
|
+
|
|
456
526
|
private static setFakeMkdir() {
|
|
457
527
|
CliCommandRunner.mkdir = fakeMkdir as unknown as typeof mkdir
|
|
458
528
|
resetCallsToMkdir()
|
|
@@ -463,6 +533,24 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
|
|
|
463
533
|
resetCallsToFakePrompts()
|
|
464
534
|
}
|
|
465
535
|
|
|
536
|
+
private static setFakeReadFile() {
|
|
537
|
+
CliCommandRunner.readFile = fakeReadFile as unknown as typeof readFile
|
|
538
|
+
resetCallsToReadFile()
|
|
539
|
+
|
|
540
|
+
setFakeReadFileResult(
|
|
541
|
+
'package.json',
|
|
542
|
+
`
|
|
543
|
+
{
|
|
544
|
+
"devDependencies": {
|
|
545
|
+
"@types/react": "^...",
|
|
546
|
+
"@testing-library/react": "^...",
|
|
547
|
+
"@testing-library/jest-dom": "^..."
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
`
|
|
551
|
+
)
|
|
552
|
+
}
|
|
553
|
+
|
|
466
554
|
private static readonly interfaceNameMessage =
|
|
467
555
|
'What should the interface be called? Example: YourInterface'
|
|
468
556
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { exec as execSync } from 'child_process'
|
|
2
|
+
import { mkdir, readFile } from 'fs/promises'
|
|
2
3
|
import os from 'os'
|
|
3
4
|
import path from 'path'
|
|
5
|
+
import { promisify } from 'util'
|
|
4
6
|
import {
|
|
5
7
|
ImplAutomodule,
|
|
6
8
|
NpmAutopackage,
|
|
@@ -10,8 +12,10 @@ import prompts from 'prompts'
|
|
|
10
12
|
|
|
11
13
|
export default class CliCommandRunner implements CommandRunner {
|
|
12
14
|
public static Class?: CommandRunnerConstructor
|
|
13
|
-
public static
|
|
15
|
+
public static exec = promisify(execSync)
|
|
14
16
|
public static mkdir = mkdir
|
|
17
|
+
public static prompts = prompts
|
|
18
|
+
public static readFile = readFile
|
|
15
19
|
|
|
16
20
|
private args: string[]
|
|
17
21
|
|
|
@@ -188,6 +192,8 @@ export default class CliCommandRunner implements CommandRunner {
|
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
private async createUiModule() {
|
|
195
|
+
await this.installDependenciesIfNeeded()
|
|
196
|
+
|
|
191
197
|
const { componentName } = await this.promptForUimodule()
|
|
192
198
|
|
|
193
199
|
this.componentName = componentName
|
|
@@ -202,6 +208,60 @@ export default class CliCommandRunner implements CommandRunner {
|
|
|
202
208
|
await instance.run()
|
|
203
209
|
}
|
|
204
210
|
|
|
211
|
+
private async installDependenciesIfNeeded() {
|
|
212
|
+
const isInstalled = await this.checkIfDependenciesAreInstalled()
|
|
213
|
+
|
|
214
|
+
if (!isInstalled) {
|
|
215
|
+
const { shouldInstall } = await this.promptForInstallDependencies()
|
|
216
|
+
|
|
217
|
+
if (shouldInstall) {
|
|
218
|
+
await this.installDependencies()
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
private async checkIfDependenciesAreInstalled() {
|
|
224
|
+
const original = await this.loadPackageJson()
|
|
225
|
+
const parsed = JSON.parse(original)
|
|
226
|
+
const devDependencies = Object.keys(parsed.devDependencies ?? {})
|
|
227
|
+
|
|
228
|
+
return this.requiredDevDependencies.every((dep) =>
|
|
229
|
+
devDependencies.includes(dep)
|
|
230
|
+
)
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
private async loadPackageJson() {
|
|
234
|
+
return await this.readFile(this.packageJsonPath, 'utf-8')
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
private readonly packageJsonPath = 'package.json'
|
|
238
|
+
|
|
239
|
+
private readonly requiredDevDependencies = [
|
|
240
|
+
'@types/react',
|
|
241
|
+
'@testing-library/react',
|
|
242
|
+
'@testing-library/jest-dom',
|
|
243
|
+
]
|
|
244
|
+
|
|
245
|
+
private async promptForInstallDependencies() {
|
|
246
|
+
return await this.prompts([
|
|
247
|
+
{
|
|
248
|
+
type: 'confirm',
|
|
249
|
+
name: 'shouldInstall',
|
|
250
|
+
message:
|
|
251
|
+
'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
|
|
252
|
+
initial: true,
|
|
253
|
+
},
|
|
254
|
+
])
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
private async installDependencies() {
|
|
258
|
+
console.log('Installing required dependencies...')
|
|
259
|
+
|
|
260
|
+
await this.exec(
|
|
261
|
+
'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
|
|
262
|
+
)
|
|
263
|
+
}
|
|
264
|
+
|
|
205
265
|
private async promptForUimodule() {
|
|
206
266
|
return await this.prompts([
|
|
207
267
|
{
|
|
@@ -234,14 +294,22 @@ export default class CliCommandRunner implements CommandRunner {
|
|
|
234
294
|
return `src/testDoubles/${this.componentName}`
|
|
235
295
|
}
|
|
236
296
|
|
|
237
|
-
private get
|
|
238
|
-
return CliCommandRunner.
|
|
297
|
+
private get exec() {
|
|
298
|
+
return CliCommandRunner.exec
|
|
239
299
|
}
|
|
240
300
|
|
|
241
301
|
private get mkdir() {
|
|
242
302
|
return CliCommandRunner.mkdir
|
|
243
303
|
}
|
|
244
304
|
|
|
305
|
+
private get prompts() {
|
|
306
|
+
return CliCommandRunner.prompts
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
private get readFile() {
|
|
310
|
+
return CliCommandRunner.readFile
|
|
311
|
+
}
|
|
312
|
+
|
|
245
313
|
private ImplAutomodule() {
|
|
246
314
|
return ImplAutomodule.Create({
|
|
247
315
|
testSaveDir: this.implTestSaveDir,
|