@neurodevs/ndx-cli 0.1.21 → 0.1.23

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.
@@ -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
+ protected static createUiInstallsDependenciesIfMissing(): Promise<void>;
32
+ protected static createUiUpdatesTsconfigIfDependenciesWereMissing(): 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>;
@@ -35,6 +39,8 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
35
39
  protected static createUiCreatesUiAutomodule(): Promise<void>;
36
40
  protected static createUiRunsUiAutomodule(): Promise<void>;
37
41
  private static runCreateUi;
42
+ private static setFakeReadFileResultToTsconfig;
43
+ private static setFakeReadFileResultPackageJson;
38
44
  private static runCreateImpl;
39
45
  private static runCreatePackage;
40
46
  private static expandHomeDir;
@@ -45,11 +51,20 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
45
51
  private static readonly uiTestSaveDir;
46
52
  private static readonly uiModuleSaveDir;
47
53
  private static get uiFakeSaveDir();
54
+ private static readonly tsconfigPath;
55
+ private static readonly randomId;
56
+ private static readonly originalTsconfigFile;
57
+ private static readonly updatedTsconfigFile;
58
+ private static readonly installDevDependenciesCommand;
48
59
  private static setFakeImplAutomodule;
49
60
  private static setFakeUiAutomodule;
50
61
  private static setFakeAutopackage;
62
+ private static setFakeExec;
51
63
  private static setFakeMkdir;
52
64
  private static setFakePrompts;
65
+ private static setFakeReadFile;
66
+ private static setFakeReadFileToInstalledPackageJson;
67
+ private static setFakeWriteFile;
53
68
  private static readonly interfaceNameMessage;
54
69
  private static readonly implNameMessage;
55
70
  private static readonly packageNameMessage;
@@ -41,22 +41,29 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  var __importDefault = (this && this.__importDefault) || function (mod) {
42
42
  return (mod && mod.__esModule) ? mod : { "default": mod };
43
43
  };
44
+ var _a;
44
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
+ const child_process_1 = require("child_process");
45
47
  const os_1 = __importDefault(require("os"));
46
48
  const path_1 = __importDefault(require("path"));
49
+ const util_1 = require("util");
47
50
  const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
48
51
  const fake_node_core_1 = require("@neurodevs/fake-node-core");
49
52
  const meta_node_1 = require("@neurodevs/meta-node");
50
53
  const CliCommandRunner_1 = __importDefault(require("../../modules/CliCommandRunner"));
51
54
  const fakePrompts_1 = __importStar(require("../../testDoubles/prompts/fakePrompts"));
55
+ const exec = (0, util_1.promisify)(child_process_1.exec);
52
56
  class CliCommandRunnerTest extends test_utils_1.default {
53
57
  static async beforeEach() {
54
58
  await super.beforeEach();
55
59
  this.setFakeImplAutomodule();
56
60
  this.setFakeUiAutomodule();
57
61
  this.setFakeAutopackage();
58
- this.setFakePrompts();
62
+ this.setFakeExec();
59
63
  this.setFakeMkdir();
64
+ this.setFakePrompts();
65
+ this.setFakeReadFile();
66
+ this.setFakeWriteFile();
60
67
  process.env.GITHUB_TOKEN = this.githubToken;
61
68
  }
62
69
  static async throwsIfCommandIsNotSupported() {
@@ -177,6 +184,41 @@ class CliCommandRunnerTest extends test_utils_1.default {
177
184
  const instance = await this.runCreateUi();
178
185
  test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.createUiCommand}!`);
179
186
  }
187
+ static async createUiPromptsInstallDependenciesIfMissing() {
188
+ this.setFakeReadFileResultPackageJson();
189
+ await this.runCreateUi();
190
+ test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
191
+ {
192
+ type: 'confirm',
193
+ name: 'shouldInstall',
194
+ message: 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
195
+ initial: true,
196
+ },
197
+ ], 'Did not prompt user for expected input!');
198
+ }
199
+ static async createUiInstallsDependenciesIfMissing() {
200
+ this.setFakeReadFileResultPackageJson();
201
+ await this.runCreateUi({
202
+ shouldInstall: true,
203
+ });
204
+ test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec[0], this.installDevDependenciesCommand, 'Did not install dependencies!');
205
+ }
206
+ static async createUiUpdatesTsconfigIfDependenciesWereMissing() {
207
+ this.setFakeReadFileResultToTsconfig();
208
+ this.setFakeReadFileResultPackageJson();
209
+ await this.runCreateUi({
210
+ shouldInstall: true,
211
+ });
212
+ test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[0], {
213
+ file: this.tsconfigPath,
214
+ data: this.updatedTsconfigFile,
215
+ options: undefined,
216
+ }, 'Did not update tsconfig!');
217
+ }
218
+ static async createUiDoesNotPromptIfDependenciesAreInstalled() {
219
+ await this.runCreateUi();
220
+ test_utils_1.assert.isEqual(fakePrompts_1.callsToFakePrompts.length, 1, 'Prompted too many times!');
221
+ }
180
222
  static async createUiPromptsUserForInput() {
181
223
  await this.runCreateUi();
182
224
  test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
@@ -230,6 +272,12 @@ class CliCommandRunnerTest extends test_utils_1.default {
230
272
  await instance.run();
231
273
  return instance;
232
274
  }
275
+ static setFakeReadFileResultToTsconfig() {
276
+ (0, fake_node_core_1.setFakeReadFileResult)(this.tsconfigPath, this.originalTsconfigFile);
277
+ }
278
+ static setFakeReadFileResultPackageJson() {
279
+ (0, fake_node_core_1.setFakeReadFileResult)('package.json', '{}');
280
+ }
233
281
  static async runCreateImpl(responses) {
234
282
  (0, fakePrompts_1.setFakeResponses)({
235
283
  interfaceName: this.interfaceName,
@@ -280,6 +328,10 @@ class CliCommandRunnerTest extends test_utils_1.default {
280
328
  meta_node_1.NpmAutopackage.Class = meta_node_1.FakeAutopackage;
281
329
  meta_node_1.FakeAutopackage.resetTestDouble();
282
330
  }
331
+ static setFakeExec() {
332
+ CliCommandRunner_1.default.exec = fake_node_core_1.fakeExec;
333
+ (0, fake_node_core_1.resetCallsToExec)();
334
+ }
283
335
  static setFakeMkdir() {
284
336
  CliCommandRunner_1.default.mkdir = fake_node_core_1.fakeMkdir;
285
337
  (0, fake_node_core_1.resetCallsToMkdir)();
@@ -288,10 +340,33 @@ class CliCommandRunnerTest extends test_utils_1.default {
288
340
  CliCommandRunner_1.default.prompts = fakePrompts_1.default;
289
341
  (0, fakePrompts_1.resetCallsToFakePrompts)();
290
342
  }
343
+ static setFakeReadFile() {
344
+ CliCommandRunner_1.default.readFile = fake_node_core_1.fakeReadFile;
345
+ (0, fake_node_core_1.resetCallsToReadFile)();
346
+ this.setFakeReadFileToInstalledPackageJson();
347
+ this.setFakeReadFileResultToTsconfig();
348
+ }
349
+ static setFakeReadFileToInstalledPackageJson() {
350
+ (0, fake_node_core_1.setFakeReadFileResult)('package.json', `
351
+ {
352
+ "devDependencies": {
353
+ "@types/react": "^...",
354
+ "@testing-library/react": "^...",
355
+ "@testing-library/jest-dom": "^..."
356
+ }
357
+ }
358
+ `);
359
+ }
360
+ static setFakeWriteFile() {
361
+ CliCommandRunner_1.default.writeFile =
362
+ fake_node_core_1.fakeWriteFile;
363
+ (0, fake_node_core_1.resetCallsToWriteFile)();
364
+ }
291
365
  static CliCommandRunner(args) {
292
366
  return CliCommandRunner_1.default.Create(args);
293
367
  }
294
368
  }
369
+ _a = CliCommandRunnerTest;
295
370
  CliCommandRunnerTest.createImplCommand = 'create.impl';
296
371
  CliCommandRunnerTest.interfaceName = (0, test_utils_1.generateId)();
297
372
  CliCommandRunnerTest.implName = (0, test_utils_1.generateId)();
@@ -306,6 +381,22 @@ CliCommandRunnerTest.implTestSaveDir = 'src/__tests__/modules';
306
381
  CliCommandRunnerTest.implModuleSaveDir = 'src/modules';
307
382
  CliCommandRunnerTest.uiTestSaveDir = 'src/__tests__/ui';
308
383
  CliCommandRunnerTest.uiModuleSaveDir = 'src/ui';
384
+ CliCommandRunnerTest.tsconfigPath = 'tsconfig.json';
385
+ CliCommandRunnerTest.randomId = (0, test_utils_1.generateId)();
386
+ CliCommandRunnerTest.originalTsconfigFile = JSON.stringify({
387
+ abc: _a.randomId,
388
+ compilerOptions: {
389
+ abc: _a.randomId,
390
+ },
391
+ }, null, 4);
392
+ CliCommandRunnerTest.updatedTsconfigFile = JSON.stringify({
393
+ abc: _a.randomId,
394
+ compilerOptions: {
395
+ jsx: 'react-jsx',
396
+ abc: _a.randomId,
397
+ },
398
+ }, null, 4);
399
+ CliCommandRunnerTest.installDevDependenciesCommand = 'yarn add -D @types/react @testing-library/react @testing-library/jest-dom';
309
400
  CliCommandRunnerTest.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
310
401
  CliCommandRunnerTest.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
311
402
  CliCommandRunnerTest.packageNameMessage = 'What should the package be called? Example: useful-package';
@@ -357,6 +448,18 @@ __decorate([
357
448
  __decorate([
358
449
  (0, test_utils_1.test)()
359
450
  ], CliCommandRunnerTest, "createUiCreatesInstance", null);
451
+ __decorate([
452
+ (0, test_utils_1.test)()
453
+ ], CliCommandRunnerTest, "createUiPromptsInstallDependenciesIfMissing", null);
454
+ __decorate([
455
+ (0, test_utils_1.test)()
456
+ ], CliCommandRunnerTest, "createUiInstallsDependenciesIfMissing", null);
457
+ __decorate([
458
+ (0, test_utils_1.test)()
459
+ ], CliCommandRunnerTest, "createUiUpdatesTsconfigIfDependenciesWereMissing", null);
460
+ __decorate([
461
+ (0, test_utils_1.test)()
462
+ ], CliCommandRunnerTest, "createUiDoesNotPromptIfDependenciesAreInstalled", null);
360
463
  __decorate([
361
464
  (0, test_utils_1.test)()
362
465
  ], 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,13 @@
1
- import { mkdir } from 'fs/promises';
1
+ import { exec as execSync } from 'child_process';
2
+ import { mkdir, readFile, writeFile } from 'fs/promises';
2
3
  import prompts from 'prompts';
3
4
  export default class CliCommandRunner implements CommandRunner {
4
5
  static Class?: CommandRunnerConstructor;
5
- static prompts: typeof prompts;
6
+ static exec: typeof execSync.__promisify__;
6
7
  static mkdir: typeof mkdir;
8
+ static prompts: typeof prompts;
9
+ static readFile: typeof readFile;
10
+ static writeFile: typeof writeFile;
7
11
  private args;
8
12
  private readonly createImplCommand;
9
13
  private interfaceName;
@@ -39,6 +43,16 @@ export default class CliCommandRunner implements CommandRunner {
39
43
  private splitOnCommaOrWhitespace;
40
44
  private get userInputExistsForCreatePackage();
41
45
  private createUiModule;
46
+ private installDependenciesIfNeeded;
47
+ private checkIfDependenciesAreInstalled;
48
+ private loadPackageJson;
49
+ private readonly packageJsonPath;
50
+ private readonly requiredDevDependencies;
51
+ private promptForInstallDependencies;
52
+ private installReactDependencies;
53
+ private updateTsconfigForReact;
54
+ private loadTsconfig;
55
+ private readonly tsconfigPath;
42
56
  private promptForUimodule;
43
57
  private readonly componentNameMessage;
44
58
  private makeRequiredUiDirectories;
@@ -46,8 +60,11 @@ export default class CliCommandRunner implements CommandRunner {
46
60
  private readonly uiTestSaveDir;
47
61
  private readonly uiModuleSaveDir;
48
62
  private get uiFakeSaveDir();
49
- private get prompts();
63
+ private get exec();
50
64
  private get mkdir();
65
+ private get prompts();
66
+ private get readFile();
67
+ private get writeFile();
51
68
  private ImplAutomodule;
52
69
  private UiAutomodule;
53
70
  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,13 @@ 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
+ ];
36
+ this.tsconfigPath = 'tsconfig.json';
28
37
  this.componentNameMessage = 'What should the component be called? Example: YourComponent';
29
38
  this.uiTestSaveDir = 'src/__tests__/ui';
30
39
  this.uiModuleSaveDir = 'src/ui';
@@ -139,6 +148,7 @@ class CliCommandRunner {
139
148
  return this.packageName && this.description;
140
149
  }
141
150
  async createUiModule() {
151
+ await this.installDependenciesIfNeeded();
142
152
  const { componentName } = await this.promptForUimodule();
143
153
  this.componentName = componentName;
144
154
  if (!this.componentName) {
@@ -148,6 +158,55 @@ class CliCommandRunner {
148
158
  const instance = this.UiAutomodule();
149
159
  await instance.run();
150
160
  }
161
+ async installDependenciesIfNeeded() {
162
+ const isInstalled = await this.checkIfDependenciesAreInstalled();
163
+ if (!isInstalled) {
164
+ const { shouldInstall } = await this.promptForInstallDependencies();
165
+ if (shouldInstall) {
166
+ await this.installReactDependencies();
167
+ await this.updateTsconfigForReact();
168
+ }
169
+ }
170
+ }
171
+ async checkIfDependenciesAreInstalled() {
172
+ const original = await this.loadPackageJson();
173
+ const parsed = JSON.parse(original);
174
+ const devDependencies = Object.keys(parsed.devDependencies ?? {});
175
+ return this.requiredDevDependencies.every((dep) => devDependencies.includes(dep));
176
+ }
177
+ async loadPackageJson() {
178
+ return await this.readFile(this.packageJsonPath, 'utf-8');
179
+ }
180
+ async promptForInstallDependencies() {
181
+ return await this.prompts([
182
+ {
183
+ type: 'confirm',
184
+ name: 'shouldInstall',
185
+ message: 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
186
+ initial: true,
187
+ },
188
+ ]);
189
+ }
190
+ async installReactDependencies() {
191
+ console.log('Installing required dependencies...');
192
+ await this.exec('yarn add -D @types/react @testing-library/react @testing-library/jest-dom');
193
+ }
194
+ async updateTsconfigForReact() {
195
+ console.log('Updating tsconfig.json for React...');
196
+ const original = await this.loadTsconfig();
197
+ const parsed = JSON.parse(original);
198
+ const updated = JSON.stringify({
199
+ ...parsed,
200
+ compilerOptions: {
201
+ jsx: 'react-jsx',
202
+ ...parsed.compilerOptions,
203
+ },
204
+ }, null, 4);
205
+ await this.writeFile(this.tsconfigPath, updated);
206
+ }
207
+ async loadTsconfig() {
208
+ return await this.readFile(this.tsconfigPath, 'utf-8');
209
+ }
151
210
  async promptForUimodule() {
152
211
  return await this.prompts([
153
212
  {
@@ -170,12 +229,21 @@ class CliCommandRunner {
170
229
  get uiFakeSaveDir() {
171
230
  return `src/testDoubles/${this.componentName}`;
172
231
  }
173
- get prompts() {
174
- return CliCommandRunner.prompts;
232
+ get exec() {
233
+ return CliCommandRunner.exec;
175
234
  }
176
235
  get mkdir() {
177
236
  return CliCommandRunner.mkdir;
178
237
  }
238
+ get prompts() {
239
+ return CliCommandRunner.prompts;
240
+ }
241
+ get readFile() {
242
+ return CliCommandRunner.readFile;
243
+ }
244
+ get writeFile() {
245
+ return CliCommandRunner.writeFile;
246
+ }
179
247
  ImplAutomodule() {
180
248
  return meta_node_1.ImplAutomodule.Create({
181
249
  testSaveDir: this.implTestSaveDir,
@@ -206,7 +274,10 @@ class CliCommandRunner {
206
274
  });
207
275
  }
208
276
  }
209
- CliCommandRunner.prompts = prompts_1.default;
277
+ CliCommandRunner.exec = (0, util_1.promisify)(child_process_1.exec);
210
278
  CliCommandRunner.mkdir = promises_1.mkdir;
279
+ CliCommandRunner.prompts = prompts_1.default;
280
+ CliCommandRunner.readFile = promises_1.readFile;
281
+ CliCommandRunner.writeFile = promises_1.writeFile;
211
282
  exports.default = CliCommandRunner;
212
283
  //# sourceMappingURL=CliCommandRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":";;;;;AAAA,iDAAgD;AAChD,0CAAwD;AACxD,4CAAmB;AACnB,gDAAuB;AACvB,+BAAgC;AAChC,oDAI6B;AAC7B,sDAA6B;AAE7B,MAAqB,gBAAgB;IA4BjC,YAAsB,IAAc;QAlBnB,sBAAiB,GAAG,aAAa,CAAA;QAIjC,yBAAoB,GAAG,gBAAgB,CAAA;QAKvC,oBAAe,GAAG,WAAW,CAAA;QAG7B,sBAAiB,GAAG;YACjC,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,oBAAoB;YACzB,IAAI,CAAC,eAAe;SACvB,CAAA;QA0EgB,yBAAoB,GACjC,6DAA6D,CAAA;QAEhD,oBAAe,GAC5B,4EAA4E,CAAA;QAY/D,oBAAe,GAAG,uBAAuB,CAAA;QACzC,sBAAiB,GAAG,aAAa,CAAA;QA6CjC,uBAAkB,GAC/B,4DAA4D,CAAA;QAE/C,uBAAkB,GAC/B,oEAAoE,CAAA;QAEvD,oBAAe,GAC5B,iEAAiE,CAAA;QAyDpD,oBAAe,GAAG,cAAc,CAAA;QAEhC,4BAAuB,GAAG;YACvC,cAAc;YACd,wBAAwB;YACxB,2BAA2B;SAC9B,CAAA;QA+CgB,iBAAY,GAAG,eAAe,CAAA;QAY9B,yBAAoB,GACjC,6DAA6D,CAAA;QAchD,kBAAa,GAAG,kBAAkB,CAAA;QAClC,oBAAe,GAAG,QAAQ,CAAA;QAtRvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAc;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,IAAI,CAAC,4BAA4B,EAAE,CAAA;QACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAED,IAAY,kBAAkB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAED,IAAY,OAAO;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,iBAAiB;gBACvB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBAC7B,MAAK;YACT,KAAK,IAAI,CAAC,oBAAoB;gBAC1B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;gBAC1B,MAAK;YACT,KAAK,IAAI,CAAC,eAAe;gBACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;gBAC3B,MAAK;QACb,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAEpE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACrC,OAAM;QACV,CAAC;QAED,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACxC,MAAM,UAAU,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC7B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACtB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,IAAI,CAAC,oBAAoB;aACrC;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,eAAe;aAChC;SACJ,CAAC,CAAA;IACN,CAAC;IAQD,IAAY,4BAA4B;QACpC,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAKD,IAAY,eAAe;QACvB,OAAO,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAA;IAClD,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,GACxC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAErC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACxC,OAAM;QACV,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACzC,MAAM,WAAW,CAAC,GAAG,EAAE,CAAA;IAC3B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAC9B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACtB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;aACxD;SACJ,CAAC,CAAA;IACN,CAAC;IAWO,wBAAwB,CAAC,KAAa;QAC1C,OAAO,KAAK;aACP,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,IAAY,+BAA+B;QACvC,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;IAC/C,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAExC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAElC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAM;QACV,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACpC,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAA;QAEhE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAA;YAEnE,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;gBACrC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,+BAA+B;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;QAEjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAChC,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAUO,KAAK,CAAC,4BAA4B;QACtC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACtB;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;gBACrB,OAAO,EACH,4FAA4F;gBAChG,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;QAElD,MAAM,IAAI,CAAC,IAAI,CACX,2EAA2E,CAC9E,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAC1B;YACI,GAAG,MAAM;YACT,eAAe,EAAE;gBACb,GAAG,EAAE,WAAW;gBAChB,GAAG,MAAM,CAAC,eAAe;aAC5B;SACJ,EACD,IAAI,EACJ,CAAC,CACJ,CAAA;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAIO,KAAK,CAAC,iBAAiB;QAC3B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACtB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,IAAI,CAAC,oBAAoB;aACrC;SACJ,CAAC,CAAA;IACN,CAAC;IAKO,KAAK,CAAC,yBAAyB;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAEO,aAAa,CAAC,SAAiB;QACnC,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5B,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;IACnB,CAAC;IAKD,IAAY,aAAa;QACrB,OAAO,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAA;IAClD,CAAC;IAED,IAAY,IAAI;QACZ,OAAO,gBAAgB,CAAC,IAAI,CAAA;IAChC,CAAC;IAED,IAAY,KAAK;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAA;IACjC,CAAC;IAED,IAAY,OAAO;QACf,OAAO,gBAAgB,CAAC,OAAO,CAAA;IACnC,CAAC;IAED,IAAY,QAAQ;QAChB,OAAO,gBAAgB,CAAC,QAAQ,CAAA;IACpC,CAAC;IAED,IAAY,SAAS;QACjB,OAAO,gBAAgB,CAAC,SAAS,CAAA;IACrC,CAAC;IAEO,cAAc;QAClB,OAAO,0BAAc,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,aAAa,EAAE,IAAI,CAAC,iBAAiB;YACrC,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAA;IACN,CAAC;IAEO,YAAY;QAChB,OAAO,wBAAY,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,aAAa,EAAE,IAAI,CAAC,eAAe;YACnC,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAA;IACN,CAAC;IAEO,cAAc;QAClB,OAAO,0BAAc,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3D,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YACvC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uCAAuC;SAClD,CAAC,CAAA;IACN,CAAC;;AAzWa,qBAAI,GAAG,IAAA,gBAAS,EAAC,oBAAQ,CAAC,AAAtB,CAAsB;AAC1B,sBAAK,GAAG,gBAAK,AAAR,CAAQ;AACb,wBAAO,GAAG,iBAAO,AAAV,CAAU;AACjB,yBAAQ,GAAG,mBAAQ,AAAX,CAAW;AACnB,0BAAS,GAAG,oBAAS,AAAZ,CAAY;kBANlB,gBAAgB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-cli",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
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.3",
51
+ "@neurodevs/meta-node": "^0.10.4",
52
52
  "prompts": "^2.4.2"
53
53
  },
54
54
  "devDependencies": {
55
- "@neurodevs/fake-node-core": "^0.1.1",
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,26 @@
1
- import { mkdir } from 'fs/promises'
1
+ import { exec as execSync } from 'child_process'
2
+ import { mkdir, readFile, writeFile } 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
+ callsToWriteFile,
15
+ fakeExec,
11
16
  fakeMkdir,
17
+ fakeReadFile,
18
+ fakeWriteFile,
19
+ resetCallsToExec,
12
20
  resetCallsToMkdir,
21
+ resetCallsToReadFile,
22
+ resetCallsToWriteFile,
23
+ setFakeReadFileResult,
13
24
  } from '@neurodevs/fake-node-core'
14
25
  import {
15
26
  FakeAutomodule,
@@ -26,6 +37,8 @@ import fakePrompts, {
26
37
  setFakeResponses,
27
38
  } from '../../testDoubles/prompts/fakePrompts'
28
39
 
40
+ const exec = promisify(execSync)
41
+
29
42
  export default class CliCommandRunnerTest extends AbstractSpruceTest {
30
43
  private static readonly createImplCommand = 'create.impl'
31
44
  private static readonly interfaceName = generateId()
@@ -47,8 +60,12 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
47
60
  this.setFakeImplAutomodule()
48
61
  this.setFakeUiAutomodule()
49
62
  this.setFakeAutopackage()
50
- this.setFakePrompts()
63
+
64
+ this.setFakeExec()
51
65
  this.setFakeMkdir()
66
+ this.setFakePrompts()
67
+ this.setFakeReadFile()
68
+ this.setFakeWriteFile()
52
69
 
53
70
  process.env.GITHUB_TOKEN = this.githubToken
54
71
  }
@@ -279,6 +296,69 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
279
296
  )
280
297
  }
281
298
 
299
+ @test()
300
+ protected static async createUiPromptsInstallDependenciesIfMissing() {
301
+ this.setFakeReadFileResultPackageJson()
302
+
303
+ await this.runCreateUi()
304
+
305
+ assert.isEqualDeep(
306
+ callsToFakePrompts[0],
307
+ [
308
+ {
309
+ type: 'confirm',
310
+ name: 'shouldInstall',
311
+ message:
312
+ 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
313
+ initial: true,
314
+ },
315
+ ],
316
+ 'Did not prompt user for expected input!'
317
+ )
318
+ }
319
+
320
+ @test()
321
+ protected static async createUiInstallsDependenciesIfMissing() {
322
+ this.setFakeReadFileResultPackageJson()
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 createUiUpdatesTsconfigIfDependenciesWereMissing() {
337
+ this.setFakeReadFileResultToTsconfig()
338
+ this.setFakeReadFileResultPackageJson()
339
+
340
+ await this.runCreateUi({
341
+ shouldInstall: true,
342
+ })
343
+
344
+ assert.isEqualDeep(
345
+ callsToWriteFile[0],
346
+ {
347
+ file: this.tsconfigPath,
348
+ data: this.updatedTsconfigFile,
349
+ options: undefined,
350
+ },
351
+ 'Did not update tsconfig!'
352
+ )
353
+ }
354
+
355
+ @test()
356
+ protected static async createUiDoesNotPromptIfDependenciesAreInstalled() {
357
+ await this.runCreateUi()
358
+
359
+ assert.isEqual(callsToFakePrompts.length, 1, 'Prompted too many times!')
360
+ }
361
+
282
362
  @test()
283
363
  protected static async createUiPromptsUserForInput() {
284
364
  await this.runCreateUi()
@@ -372,7 +452,9 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
372
452
  )
373
453
  }
374
454
 
375
- private static async runCreateUi(responses?: Record<string, string>) {
455
+ private static async runCreateUi(
456
+ responses?: Record<string, string | boolean>
457
+ ) {
376
458
  setFakeResponses({
377
459
  componentName: this.componentName,
378
460
  ...responses,
@@ -384,6 +466,14 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
384
466
  return instance
385
467
  }
386
468
 
469
+ private static setFakeReadFileResultToTsconfig() {
470
+ setFakeReadFileResult(this.tsconfigPath, this.originalTsconfigFile)
471
+ }
472
+
473
+ private static setFakeReadFileResultPackageJson() {
474
+ setFakeReadFileResult('package.json', '{}')
475
+ }
476
+
387
477
  private static async runCreateImpl(responses?: Record<string, string>) {
388
478
  setFakeResponses({
389
479
  interfaceName: this.interfaceName,
@@ -438,6 +528,35 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
438
528
  return `src/testDoubles/${this.componentName}`
439
529
  }
440
530
 
531
+ private static readonly tsconfigPath = 'tsconfig.json'
532
+ private static readonly randomId = generateId()
533
+
534
+ private static readonly originalTsconfigFile = JSON.stringify(
535
+ {
536
+ abc: this.randomId,
537
+ compilerOptions: {
538
+ abc: this.randomId,
539
+ },
540
+ },
541
+ null,
542
+ 4
543
+ )
544
+
545
+ private static readonly updatedTsconfigFile = JSON.stringify(
546
+ {
547
+ abc: this.randomId,
548
+ compilerOptions: {
549
+ jsx: 'react-jsx',
550
+ abc: this.randomId,
551
+ },
552
+ },
553
+ null,
554
+ 4
555
+ )
556
+
557
+ private static readonly installDevDependenciesCommand =
558
+ 'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
559
+
441
560
  private static setFakeImplAutomodule() {
442
561
  ImplAutomodule.Class = FakeAutomodule
443
562
  FakeAutomodule.resetTestDouble()
@@ -453,6 +572,11 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
453
572
  FakeAutopackage.resetTestDouble()
454
573
  }
455
574
 
575
+ private static setFakeExec() {
576
+ CliCommandRunner.exec = fakeExec as unknown as typeof exec
577
+ resetCallsToExec()
578
+ }
579
+
456
580
  private static setFakeMkdir() {
457
581
  CliCommandRunner.mkdir = fakeMkdir as unknown as typeof mkdir
458
582
  resetCallsToMkdir()
@@ -463,6 +587,35 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
463
587
  resetCallsToFakePrompts()
464
588
  }
465
589
 
590
+ private static setFakeReadFile() {
591
+ CliCommandRunner.readFile = fakeReadFile as unknown as typeof readFile
592
+ resetCallsToReadFile()
593
+
594
+ this.setFakeReadFileToInstalledPackageJson()
595
+ this.setFakeReadFileResultToTsconfig()
596
+ }
597
+
598
+ private static setFakeReadFileToInstalledPackageJson() {
599
+ setFakeReadFileResult(
600
+ 'package.json',
601
+ `
602
+ {
603
+ "devDependencies": {
604
+ "@types/react": "^...",
605
+ "@testing-library/react": "^...",
606
+ "@testing-library/jest-dom": "^..."
607
+ }
608
+ }
609
+ `
610
+ )
611
+ }
612
+
613
+ private static setFakeWriteFile() {
614
+ CliCommandRunner.writeFile =
615
+ fakeWriteFile as unknown as typeof writeFile
616
+ resetCallsToWriteFile()
617
+ }
618
+
466
619
  private static readonly interfaceNameMessage =
467
620
  'What should the interface be called? Example: YourInterface'
468
621
 
@@ -1,6 +1,8 @@
1
- import { mkdir } from 'fs/promises'
1
+ import { exec as execSync } from 'child_process'
2
+ import { mkdir, readFile, writeFile } 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,11 @@ import prompts from 'prompts'
10
12
 
11
13
  export default class CliCommandRunner implements CommandRunner {
12
14
  public static Class?: CommandRunnerConstructor
13
- public static prompts = prompts
15
+ public static exec = promisify(execSync)
14
16
  public static mkdir = mkdir
17
+ public static prompts = prompts
18
+ public static readFile = readFile
19
+ public static writeFile = writeFile
15
20
 
16
21
  private args: string[]
17
22
 
@@ -188,6 +193,8 @@ export default class CliCommandRunner implements CommandRunner {
188
193
  }
189
194
 
190
195
  private async createUiModule() {
196
+ await this.installDependenciesIfNeeded()
197
+
191
198
  const { componentName } = await this.promptForUimodule()
192
199
 
193
200
  this.componentName = componentName
@@ -202,6 +209,88 @@ export default class CliCommandRunner implements CommandRunner {
202
209
  await instance.run()
203
210
  }
204
211
 
212
+ private async installDependenciesIfNeeded() {
213
+ const isInstalled = await this.checkIfDependenciesAreInstalled()
214
+
215
+ if (!isInstalled) {
216
+ const { shouldInstall } = await this.promptForInstallDependencies()
217
+
218
+ if (shouldInstall) {
219
+ await this.installReactDependencies()
220
+ await this.updateTsconfigForReact()
221
+ }
222
+ }
223
+ }
224
+
225
+ private async checkIfDependenciesAreInstalled() {
226
+ const original = await this.loadPackageJson()
227
+ const parsed = JSON.parse(original)
228
+ const devDependencies = Object.keys(parsed.devDependencies ?? {})
229
+
230
+ return this.requiredDevDependencies.every((dep) =>
231
+ devDependencies.includes(dep)
232
+ )
233
+ }
234
+
235
+ private async loadPackageJson() {
236
+ return await this.readFile(this.packageJsonPath, 'utf-8')
237
+ }
238
+
239
+ private readonly packageJsonPath = 'package.json'
240
+
241
+ private readonly requiredDevDependencies = [
242
+ '@types/react',
243
+ '@testing-library/react',
244
+ '@testing-library/jest-dom',
245
+ ]
246
+
247
+ private async promptForInstallDependencies() {
248
+ return await this.prompts([
249
+ {
250
+ type: 'confirm',
251
+ name: 'shouldInstall',
252
+ message:
253
+ 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
254
+ initial: true,
255
+ },
256
+ ])
257
+ }
258
+
259
+ private async installReactDependencies() {
260
+ console.log('Installing required dependencies...')
261
+
262
+ await this.exec(
263
+ 'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
264
+ )
265
+ }
266
+
267
+ private async updateTsconfigForReact() {
268
+ console.log('Updating tsconfig.json for React...')
269
+
270
+ const original = await this.loadTsconfig()
271
+ const parsed = JSON.parse(original)
272
+
273
+ const updated = JSON.stringify(
274
+ {
275
+ ...parsed,
276
+ compilerOptions: {
277
+ jsx: 'react-jsx',
278
+ ...parsed.compilerOptions,
279
+ },
280
+ },
281
+ null,
282
+ 4
283
+ )
284
+
285
+ await this.writeFile(this.tsconfigPath, updated)
286
+ }
287
+
288
+ private async loadTsconfig() {
289
+ return await this.readFile(this.tsconfigPath, 'utf-8')
290
+ }
291
+
292
+ private readonly tsconfigPath = 'tsconfig.json'
293
+
205
294
  private async promptForUimodule() {
206
295
  return await this.prompts([
207
296
  {
@@ -234,14 +323,26 @@ export default class CliCommandRunner implements CommandRunner {
234
323
  return `src/testDoubles/${this.componentName}`
235
324
  }
236
325
 
237
- private get prompts() {
238
- return CliCommandRunner.prompts
326
+ private get exec() {
327
+ return CliCommandRunner.exec
239
328
  }
240
329
 
241
330
  private get mkdir() {
242
331
  return CliCommandRunner.mkdir
243
332
  }
244
333
 
334
+ private get prompts() {
335
+ return CliCommandRunner.prompts
336
+ }
337
+
338
+ private get readFile() {
339
+ return CliCommandRunner.readFile
340
+ }
341
+
342
+ private get writeFile() {
343
+ return CliCommandRunner.writeFile
344
+ }
345
+
245
346
  private ImplAutomodule() {
246
347
  return ImplAutomodule.Create({
247
348
  testSaveDir: this.implTestSaveDir,