@neurodevs/ndx-cli 0.1.32 → 0.1.34

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 (32) hide show
  1. package/build/__tests__/modules/CliCommandRunner.test.d.ts +10 -2
  2. package/build/__tests__/modules/CliCommandRunner.test.js +73 -6
  3. package/build/__tests__/modules/CliCommandRunner.test.js.map +1 -1
  4. package/build/modules/CliCommandRunner.d.ts +2 -52
  5. package/build/modules/CliCommandRunner.js +18 -278
  6. package/build/modules/CliCommandRunner.js.map +1 -1
  7. package/build/modules/commands/CreateImplCommand.d.ts +17 -0
  8. package/build/modules/commands/CreateImplCommand.js +68 -0
  9. package/build/modules/commands/CreateImplCommand.js.map +1 -0
  10. package/build/modules/commands/CreatePackageCommand.d.ts +15 -0
  11. package/build/modules/commands/CreatePackageCommand.js +73 -0
  12. package/build/modules/commands/CreatePackageCommand.js.map +1 -0
  13. package/build/modules/commands/CreateUiCommand.d.ts +34 -0
  14. package/build/modules/commands/CreateUiCommand.js +185 -0
  15. package/build/modules/commands/CreateUiCommand.js.map +1 -0
  16. package/build/modules/commands/UpgradePackageCommand.d.ts +11 -0
  17. package/build/modules/commands/UpgradePackageCommand.js +44 -0
  18. package/build/modules/commands/UpgradePackageCommand.js.map +1 -0
  19. package/build/modules/expandHomeDir.d.ts +1 -0
  20. package/build/modules/expandHomeDir.js +14 -0
  21. package/build/modules/expandHomeDir.js.map +1 -0
  22. package/build/scripts/runNeurodevsAutocloner.js +2 -1
  23. package/build/scripts/runNeurodevsAutocloner.js.map +1 -1
  24. package/package.json +2 -2
  25. package/src/__tests__/modules/CliCommandRunner.test.ts +111 -7
  26. package/src/modules/CliCommandRunner.ts +18 -381
  27. package/src/modules/commands/CreateImplCommand.ts +81 -0
  28. package/src/modules/commands/CreatePackageCommand.ts +87 -0
  29. package/src/modules/commands/CreateUiCommand.ts +243 -0
  30. package/src/modules/commands/UpgradePackageCommand.ts +51 -0
  31. package/src/modules/expandHomeDir.ts +8 -0
  32. package/src/scripts/runNeurodevsAutocloner.ts +2 -1
@@ -7,9 +7,12 @@ export default class CliCommandRunnerTest extends AbstractPackageTest {
7
7
  private static readonly packageName;
8
8
  private static readonly description;
9
9
  private static readonly keywords;
10
+ private static readonly githubToken;
11
+ private static readonly defaultKeywords;
12
+ private static get keywordsWithDefaults();
10
13
  private static readonly createUiCommand;
11
14
  private static readonly componentName;
12
- private static readonly githubToken;
15
+ private static readonly upgradePackageCommand;
13
16
  protected static beforeEach(): Promise<void>;
14
17
  protected static throwsIfCommandIsNotSupported(): Promise<void>;
15
18
  protected static createImplCreatesInstance(): Promise<void>;
@@ -24,7 +27,6 @@ export default class CliCommandRunnerTest extends AbstractPackageTest {
24
27
  protected static createPackagePromptsUserForInput(): Promise<void>;
25
28
  protected static createPackageDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
26
29
  protected static createPackageCreatesNpmAutopackage(): Promise<void>;
27
- private static keywordsWithDefaults;
28
30
  protected static createPackageRunsNpmAutopackage(): Promise<void>;
29
31
  protected static createUiCreatesInstance(): Promise<void>;
30
32
  protected static createUiPromptsInstallDependenciesIfMissing(): Promise<void>;
@@ -43,6 +45,11 @@ export default class CliCommandRunnerTest extends AbstractPackageTest {
43
45
  protected static createUiCreatesFakeSaveDirIfNotExists(): Promise<void>;
44
46
  protected static createUiCreatesUiAutomodule(): Promise<void>;
45
47
  protected static createUiRunsUiAutomodule(): Promise<void>;
48
+ protected static upgradePackageCreatesInstance(): Promise<void>;
49
+ protected static upgradePackageCreatesNpmAutopackage(): Promise<void>;
50
+ protected static upgradePackageRunsNpmAutopackage(): Promise<void>;
51
+ protected static upgradePackageAddsDefaultKeywordsIfMissing(): Promise<void>;
52
+ protected static upgradePackageDoesNotOverwriteKeywordsEvenIfDefaultsAreMissing(): Promise<void>;
46
53
  private static runCreateUi;
47
54
  private static setFakeReadFileResultToTsconfig;
48
55
  private static setFakeReadToEmptyPackageJson;
@@ -54,6 +61,7 @@ export default class CliCommandRunnerTest extends AbstractPackageTest {
54
61
  private static readonly installDevDependenciesCommand;
55
62
  private static runCreateImpl;
56
63
  private static runCreatePackage;
64
+ private static runUpgradePackage;
57
65
  private static expandHomeDir;
58
66
  private static splitOnCommaOrWhitespace;
59
67
  private static readonly implTestSaveDir;
@@ -55,6 +55,9 @@ const fakePrompts_1 = __importStar(require("../../testDoubles/prompts/fakePrompt
55
55
  const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
56
56
  const exec = (0, util_1.promisify)(child_process_1.exec);
57
57
  class CliCommandRunnerTest extends AbstractPackageTest_1.default {
58
+ static get keywordsWithDefaults() {
59
+ return [...this.defaultKeywords, ...this.keywords];
60
+ }
58
61
  static async beforeEach() {
59
62
  await super.beforeEach();
60
63
  this.setFakeImplAutomodule();
@@ -166,7 +169,7 @@ class CliCommandRunnerTest extends AbstractPackageTest_1.default {
166
169
  test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutopackage.callsToConstructor[0], {
167
170
  name: this.packageName,
168
171
  description: this.description,
169
- keywords: this.keywordsWithDefaults(),
172
+ keywords: this.keywordsWithDefaults,
170
173
  gitNamespace: 'neurodevs',
171
174
  npmNamespace: 'neurodevs',
172
175
  installDir: this.expandHomeDir('~/dev'),
@@ -174,12 +177,9 @@ class CliCommandRunnerTest extends AbstractPackageTest_1.default {
174
177
  author: 'Eric Yates <hello@ericthecurious.com>',
175
178
  }, 'Did not create NpmAutopackage with expected options!');
176
179
  }
177
- static keywordsWithDefaults() {
178
- return ['nodejs', 'typescript', 'tdd', ...this.keywords];
179
- }
180
180
  static async createPackageRunsNpmAutopackage() {
181
181
  await this.runCreatePackage();
182
- test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 1, 'Did not call run on Autopackage!');
182
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 1, 'Did not call run on NpmAutopackage!');
183
183
  }
184
184
  static async createUiCreatesInstance() {
185
185
  const instance = await this.runCreateUi();
@@ -318,6 +318,51 @@ class CliCommandRunnerTest extends AbstractPackageTest_1.default {
318
318
  await this.runCreateUi();
319
319
  test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 1, 'Did not call run on UiAutomodule!');
320
320
  }
321
+ static async upgradePackageCreatesInstance() {
322
+ const instance = await this.runUpgradePackage();
323
+ test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.upgradePackageCommand}!`);
324
+ }
325
+ static async upgradePackageCreatesNpmAutopackage() {
326
+ const infoFromPackageJson = {
327
+ name: this.packageName,
328
+ description: this.description,
329
+ keywords: this.keywordsWithDefaults,
330
+ };
331
+ (0, fake_node_core_1.setFakeReadFileResult)('package.json', JSON.stringify(infoFromPackageJson));
332
+ await this.runUpgradePackage();
333
+ test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutopackage.callsToConstructor[0], {
334
+ ...infoFromPackageJson,
335
+ gitNamespace: 'neurodevs',
336
+ npmNamespace: 'neurodevs',
337
+ installDir: this.expandHomeDir('~/dev'),
338
+ license: 'MIT',
339
+ author: 'Eric Yates <hello@ericthecurious.com>',
340
+ }, 'Did not create NpmAutopackage with expected options!');
341
+ }
342
+ static async upgradePackageRunsNpmAutopackage() {
343
+ await this.runUpgradePackage();
344
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 1, 'Did not call run on NpmAutopackage!');
345
+ }
346
+ static async upgradePackageAddsDefaultKeywordsIfMissing() {
347
+ const infoFromPackageJson = {
348
+ name: this.packageName,
349
+ description: this.description,
350
+ keywords: [],
351
+ };
352
+ (0, fake_node_core_1.setFakeReadFileResult)('package.json', JSON.stringify(infoFromPackageJson));
353
+ await this.runUpgradePackage();
354
+ test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutopackage.callsToConstructor[0]?.keywords, this.defaultKeywords, 'Did not add default keywords!');
355
+ }
356
+ static async upgradePackageDoesNotOverwriteKeywordsEvenIfDefaultsAreMissing() {
357
+ const infoFromPackageJson = {
358
+ name: this.packageName,
359
+ description: this.description,
360
+ keywords: [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()],
361
+ };
362
+ (0, fake_node_core_1.setFakeReadFileResult)('package.json', JSON.stringify(infoFromPackageJson));
363
+ await this.runUpgradePackage();
364
+ test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutopackage.callsToConstructor[0]?.keywords, [...this.defaultKeywords, ...infoFromPackageJson.keywords], 'Should not have overwritten keywords!');
365
+ }
321
366
  static async runCreateUi(responses) {
322
367
  (0, fakePrompts_1.setFakeResponses)({
323
368
  componentName: this.componentName,
@@ -360,6 +405,11 @@ class CliCommandRunnerTest extends AbstractPackageTest_1.default {
360
405
  await instance.run();
361
406
  return instance;
362
407
  }
408
+ static async runUpgradePackage() {
409
+ const instance = this.CliCommandRunner([this.upgradePackageCommand]);
410
+ await instance.run();
411
+ return instance;
412
+ }
363
413
  static expandHomeDir(inputPath) {
364
414
  return inputPath.startsWith('~')
365
415
  ? path_1.default.join(os_1.default.homedir(), inputPath.slice(1))
@@ -424,9 +474,11 @@ CliCommandRunnerTest.createPackageCommand = 'create.package';
424
474
  CliCommandRunnerTest.packageName = (0, test_utils_1.generateId)();
425
475
  CliCommandRunnerTest.description = (0, test_utils_1.generateId)();
426
476
  CliCommandRunnerTest.keywords = [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()];
477
+ CliCommandRunnerTest.githubToken = (0, test_utils_1.generateId)();
478
+ CliCommandRunnerTest.defaultKeywords = ['nodejs', 'typescript', 'tdd'];
427
479
  CliCommandRunnerTest.createUiCommand = 'create.ui';
428
480
  CliCommandRunnerTest.componentName = (0, test_utils_1.generateId)();
429
- CliCommandRunnerTest.githubToken = (0, test_utils_1.generateId)();
481
+ CliCommandRunnerTest.upgradePackageCommand = 'upgrade.package';
430
482
  CliCommandRunnerTest.allInstalled = `
431
483
  {
432
484
  "dependencies": {
@@ -597,4 +649,19 @@ __decorate([
597
649
  __decorate([
598
650
  (0, test_utils_1.test)()
599
651
  ], CliCommandRunnerTest, "createUiRunsUiAutomodule", null);
652
+ __decorate([
653
+ (0, test_utils_1.test)()
654
+ ], CliCommandRunnerTest, "upgradePackageCreatesInstance", null);
655
+ __decorate([
656
+ (0, test_utils_1.test)()
657
+ ], CliCommandRunnerTest, "upgradePackageCreatesNpmAutopackage", null);
658
+ __decorate([
659
+ (0, test_utils_1.test)()
660
+ ], CliCommandRunnerTest, "upgradePackageRunsNpmAutopackage", null);
661
+ __decorate([
662
+ (0, test_utils_1.test)()
663
+ ], CliCommandRunnerTest, "upgradePackageAddsDefaultKeywordsIfMissing", null);
664
+ __decorate([
665
+ (0, test_utils_1.test)()
666
+ ], CliCommandRunnerTest, "upgradePackageDoesNotOverwriteKeywordsEvenIfDefaultsAreMissing", null);
600
667
  //# sourceMappingURL=CliCommandRunner.test.js.map
@@ -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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"}
@@ -10,14 +10,9 @@ export default class CliCommandRunner implements CommandRunner {
10
10
  static writeFile: typeof writeFile;
11
11
  private args;
12
12
  private readonly createImplCommand;
13
- private interfaceName;
14
- private implName;
15
13
  private readonly createPackageCommand;
16
- private packageName;
17
- private description;
18
- private keywords;
19
14
  private readonly createUiCommand;
20
- private componentName;
15
+ private readonly upgradePackageCommand;
21
16
  private readonly supportedCommands;
22
17
  protected constructor(args: string[]);
23
18
  static Create(args: string[]): CommandRunner;
@@ -27,54 +22,9 @@ export default class CliCommandRunner implements CommandRunner {
27
22
  private get command();
28
23
  private runCommand;
29
24
  private createImplModule;
30
- private promptForAutomodule;
31
- private readonly interfaceNameMessage;
32
- private readonly implNameMessage;
33
- private get userInputExistsForCreateImpl();
34
- private makeRequiredImplDirectories;
35
- private readonly implTestSaveDir;
36
- private readonly implModuleSaveDir;
37
- private get implFakeSaveDir();
38
25
  private createPackage;
39
- private promptForAutopackage;
40
- private readonly packageNameMessage;
41
- private readonly descriptionMessage;
42
- private readonly keywordsMessage;
43
- private splitOnCommaOrWhitespace;
44
- private get userInputExistsForCreatePackage();
45
26
  private createUiModule;
46
- private installDependenciesIfNeeded;
47
- private checkIfDependenciesAreInstalled;
48
- private loadPackageJson;
49
- private readonly packageJsonPath;
50
- private readonly requiredDependencies;
51
- private readonly requiredDevDependencies;
52
- private promptForInstallDependencies;
53
- private installReactDependencies;
54
- private installDependencies;
55
- private installDevDependencies;
56
- private updateTsconfigForReact;
57
- private loadTsconfig;
58
- private readonly tsconfigPath;
59
- private createSetupTestsFile;
60
- private addSetupTestsToPackageJson;
61
- private recompileForTsxFiles;
62
- private promptForUimodule;
63
- private readonly componentNameMessage;
64
- private makeRequiredUiDirectories;
65
- private expandHomeDir;
66
- private readonly uiTestSaveDir;
67
- private readonly uiModuleSaveDir;
68
- private get uiFakeSaveDir();
69
- private get exec();
70
- private get mkdir();
71
- private get prompts();
72
- private get readFile();
73
- private get writeFile();
74
- private readonly setupTestsFile;
75
- private ImplAutomodule;
76
- private UiAutomodule;
77
- private NpmAutopackage;
27
+ private upgradePackage;
78
28
  }
79
29
  export interface CommandRunner {
80
30
  run(): Promise<void>;
@@ -5,64 +5,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const child_process_1 = require("child_process");
7
7
  const promises_1 = require("fs/promises");
8
- const os_1 = __importDefault(require("os"));
9
- const path_1 = __importDefault(require("path"));
10
8
  const util_1 = require("util");
11
- const meta_node_1 = require("@neurodevs/meta-node");
12
9
  const prompts_1 = __importDefault(require("prompts"));
10
+ const CreateImplCommand_1 = __importDefault(require("./commands/CreateImplCommand"));
11
+ const CreatePackageCommand_1 = __importDefault(require("./commands/CreatePackageCommand"));
12
+ const CreateUiCommand_1 = __importDefault(require("./commands/CreateUiCommand"));
13
+ const UpgradePackageCommand_1 = __importDefault(require("./commands/UpgradePackageCommand"));
13
14
  class CliCommandRunner {
14
15
  constructor(args) {
15
16
  this.createImplCommand = 'create.impl';
16
17
  this.createPackageCommand = 'create.package';
17
18
  this.createUiCommand = 'create.ui';
19
+ this.upgradePackageCommand = 'upgrade.package';
18
20
  this.supportedCommands = [
19
21
  this.createImplCommand,
20
22
  this.createPackageCommand,
21
23
  this.createUiCommand,
24
+ this.upgradePackageCommand,
22
25
  ];
23
- this.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
24
- this.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
25
- this.implTestSaveDir = 'src/__tests__/modules';
26
- this.implModuleSaveDir = 'src/modules';
27
- this.packageNameMessage = 'What should the package be called? Example: useful-package';
28
- this.descriptionMessage = 'What should the package description be? Example: A useful package.';
29
- this.keywordsMessage = 'Enter keywords (comma or space separated, lowercase, optional):';
30
- this.packageJsonPath = 'package.json';
31
- this.requiredDependencies = ['react', 'react-dom'];
32
- this.requiredDevDependencies = [
33
- '@types/react',
34
- '@types/react-dom',
35
- '@types/jsdom',
36
- '@testing-library/react',
37
- '@testing-library/dom',
38
- '@testing-library/jest-dom',
39
- 'jsdom',
40
- ];
41
- this.tsconfigPath = 'tsconfig.json';
42
- this.componentNameMessage = 'What should the component be called? Example: YourComponent';
43
- this.uiTestSaveDir = 'src/__tests__/ui';
44
- this.uiModuleSaveDir = 'src/ui';
45
- this.setupTestsFile = `
46
- import { JSDOM } from 'jsdom'
47
-
48
- const jsdom = new JSDOM('<!doctype html><html><body></body></html>', {
49
- url: 'http://localhost',
50
- })
51
-
52
- global.window = jsdom.window as unknown as Window & typeof globalThis
53
- global.document = jsdom.window.document
54
- global.navigator = jsdom.window.navigator
55
- global.HTMLElement = jsdom.window.HTMLElement
56
- global.getComputedStyle = jsdom.window.getComputedStyle
57
-
58
- global.ResizeObserver = class {
59
- public observe() {}
60
- public unobserve() {}
61
- public disconnect() {}
62
- }
63
-
64
- global.SVGElement = jsdom.window.SVGElement
65
- `;
66
26
  this.args = args;
67
27
  }
68
28
  static Create(args) {
@@ -94,246 +54,26 @@ class CliCommandRunner {
94
54
  case this.createUiCommand:
95
55
  await this.createUiModule();
96
56
  break;
57
+ case this.upgradePackageCommand:
58
+ await this.upgradePackage();
59
+ break;
97
60
  }
98
61
  }
99
62
  async createImplModule() {
100
- const { interfaceName, implName } = await this.promptForAutomodule();
101
- this.interfaceName = interfaceName;
102
- this.implName = implName;
103
- if (!this.userInputExistsForCreateImpl) {
104
- return;
105
- }
106
- await this.makeRequiredImplDirectories();
107
- const automodule = this.ImplAutomodule();
108
- await automodule.run();
109
- }
110
- async promptForAutomodule() {
111
- return await this.prompts([
112
- {
113
- type: 'text',
114
- name: 'interfaceName',
115
- message: this.interfaceNameMessage,
116
- },
117
- {
118
- type: 'text',
119
- name: 'implName',
120
- message: this.implNameMessage,
121
- },
122
- ]);
123
- }
124
- get userInputExistsForCreateImpl() {
125
- return this.interfaceName && this.implName;
126
- }
127
- async makeRequiredImplDirectories() {
128
- await this.mkdir(this.implTestSaveDir, { recursive: true });
129
- await this.mkdir(this.implModuleSaveDir, { recursive: true });
130
- await this.mkdir(this.implFakeSaveDir, { recursive: true });
131
- }
132
- get implFakeSaveDir() {
133
- return `src/testDoubles/${this.interfaceName}`;
63
+ const command = new CreateImplCommand_1.default();
64
+ await command.run();
134
65
  }
135
66
  async createPackage() {
136
- const { packageName, description, keywords } = await this.promptForAutopackage();
137
- this.packageName = packageName;
138
- this.description = description;
139
- this.keywords = keywords;
140
- if (!this.userInputExistsForCreatePackage) {
141
- return;
142
- }
143
- const autopackage = this.NpmAutopackage();
144
- await autopackage.run();
145
- }
146
- async promptForAutopackage() {
147
- return await this.prompts([
148
- {
149
- type: 'text',
150
- name: 'packageName',
151
- message: this.packageNameMessage,
152
- },
153
- {
154
- type: 'text',
155
- name: 'description',
156
- message: this.descriptionMessage,
157
- },
158
- {
159
- type: 'text',
160
- name: 'keywords',
161
- message: this.keywordsMessage,
162
- initial: '',
163
- format: (value) => value ? this.splitOnCommaOrWhitespace(value) : [],
164
- },
165
- ]);
166
- }
167
- splitOnCommaOrWhitespace(value) {
168
- return value
169
- .split(/[\s,]+/)
170
- .map((v) => v.trim())
171
- .filter(Boolean);
172
- }
173
- get userInputExistsForCreatePackage() {
174
- return this.packageName && this.description;
67
+ const command = new CreatePackageCommand_1.default();
68
+ await command.run();
175
69
  }
176
70
  async createUiModule() {
177
- await this.installDependenciesIfNeeded();
178
- const { componentName } = await this.promptForUimodule();
179
- this.componentName = componentName;
180
- if (!this.componentName) {
181
- return;
182
- }
183
- await this.makeRequiredUiDirectories();
184
- const instance = this.UiAutomodule();
185
- await instance.run();
186
- }
187
- async installDependenciesIfNeeded() {
188
- const isInstalled = await this.checkIfDependenciesAreInstalled();
189
- if (!isInstalled) {
190
- const { shouldInstall } = await this.promptForInstallDependencies();
191
- if (shouldInstall) {
192
- await this.installReactDependencies();
193
- await this.updateTsconfigForReact();
194
- await this.createSetupTestsFile();
195
- await this.addSetupTestsToPackageJson();
196
- await this.recompileForTsxFiles();
197
- }
198
- }
199
- }
200
- async checkIfDependenciesAreInstalled() {
201
- const original = await this.loadPackageJson();
202
- const parsed = JSON.parse(original);
203
- const dependencies = Object.keys(parsed.dependencies ?? {});
204
- const areDepsInstalled = this.requiredDependencies.every((dep) => dependencies.includes(dep));
205
- const devDependencies = Object.keys(parsed.devDependencies ?? {});
206
- const areDevDepsInstalled = this.requiredDevDependencies.every((dep) => devDependencies.includes(dep));
207
- return areDepsInstalled && areDevDepsInstalled;
208
- }
209
- async loadPackageJson() {
210
- return await this.readFile(this.packageJsonPath, 'utf-8');
211
- }
212
- async promptForInstallDependencies() {
213
- return await this.prompts([
214
- {
215
- type: 'confirm',
216
- name: 'shouldInstall',
217
- message: 'Some required dependencies are missing! Press Enter to install, or any other key to abort.',
218
- initial: true,
219
- },
220
- ]);
221
- }
222
- async installReactDependencies() {
223
- await this.installDependencies();
224
- await this.installDevDependencies();
225
- }
226
- async installDependencies() {
227
- console.log('Installing required dependencies...');
228
- await this.exec('yarn add react react-dom');
229
- }
230
- async installDevDependencies() {
231
- console.log('Installing required dev dependencies...');
232
- await this.exec('yarn add -D @types/react @types/react-dom @types/jsdom @testing-library/react @testing-library/dom @testing-library/jest-dom jsdom');
233
- }
234
- async updateTsconfigForReact() {
235
- console.log('Updating tsconfig.json for React...');
236
- const original = await this.loadTsconfig();
237
- const parsed = JSON.parse(original);
238
- const updated = JSON.stringify({
239
- ...parsed,
240
- compilerOptions: {
241
- jsx: 'react-jsx',
242
- ...parsed.compilerOptions,
243
- },
244
- include: ['src'],
245
- }, null, 4);
246
- await this.writeFile(this.tsconfigPath, updated);
247
- }
248
- async loadTsconfig() {
249
- return await this.readFile(this.tsconfigPath, 'utf-8');
250
- }
251
- async createSetupTestsFile() {
252
- console.log('Creating src/setupTests.ts...');
253
- await this.writeFile('src/__tests__/setupTests.ts', this.setupTestsFile);
254
- }
255
- async addSetupTestsToPackageJson() {
256
- console.log('Adding setupTests.ts to package.json...');
257
- const original = await this.loadPackageJson();
258
- const parsed = JSON.parse(original);
259
- const updated = JSON.stringify({
260
- ...parsed,
261
- jest: {
262
- ...parsed.jest,
263
- setupFiles: ['<rootDir>/build/__tests__/setupTests.js'],
264
- },
265
- }, null, 4);
266
- await this.writeFile(this.packageJsonPath, updated);
267
- }
268
- async recompileForTsxFiles() {
269
- console.log('Recompiling project for .tsx files...');
270
- await this.exec('npx tsc');
271
- }
272
- async promptForUimodule() {
273
- return await this.prompts([
274
- {
275
- type: 'text',
276
- name: 'componentName',
277
- message: this.componentNameMessage,
278
- },
279
- ]);
280
- }
281
- async makeRequiredUiDirectories() {
282
- await this.mkdir(this.uiTestSaveDir, { recursive: true });
283
- await this.mkdir(this.uiModuleSaveDir, { recursive: true });
284
- await this.mkdir(this.uiFakeSaveDir, { recursive: true });
285
- }
286
- expandHomeDir(inputPath) {
287
- return inputPath.startsWith('~')
288
- ? path_1.default.join(os_1.default.homedir(), inputPath.slice(1))
289
- : inputPath;
290
- }
291
- get uiFakeSaveDir() {
292
- return `src/testDoubles/${this.componentName}`;
293
- }
294
- get exec() {
295
- return CliCommandRunner.exec;
296
- }
297
- get mkdir() {
298
- return CliCommandRunner.mkdir;
299
- }
300
- get prompts() {
301
- return CliCommandRunner.prompts;
302
- }
303
- get readFile() {
304
- return CliCommandRunner.readFile;
305
- }
306
- get writeFile() {
307
- return CliCommandRunner.writeFile;
308
- }
309
- ImplAutomodule() {
310
- return meta_node_1.ImplAutomodule.Create({
311
- testSaveDir: this.implTestSaveDir,
312
- moduleSaveDir: this.implModuleSaveDir,
313
- fakeSaveDir: this.implFakeSaveDir,
314
- interfaceName: this.interfaceName,
315
- implName: this.implName,
316
- });
317
- }
318
- UiAutomodule() {
319
- return meta_node_1.UiAutomodule.Create({
320
- testSaveDir: this.uiTestSaveDir,
321
- moduleSaveDir: this.uiModuleSaveDir,
322
- fakeSaveDir: this.uiFakeSaveDir,
323
- componentName: this.componentName,
324
- });
71
+ const command = new CreateUiCommand_1.default();
72
+ await command.run();
325
73
  }
326
- NpmAutopackage() {
327
- return meta_node_1.NpmAutopackage.Create({
328
- name: this.packageName,
329
- description: this.description,
330
- keywords: ['nodejs', 'typescript', 'tdd', ...this.keywords],
331
- gitNamespace: 'neurodevs',
332
- npmNamespace: 'neurodevs',
333
- installDir: this.expandHomeDir('~/dev'),
334
- license: 'MIT',
335
- author: 'Eric Yates <hello@ericthecurious.com>',
336
- });
74
+ async upgradePackage() {
75
+ const command = new UpgradePackageCommand_1.default();
76
+ await command.run();
337
77
  }
338
78
  }
339
79
  CliCommandRunner.exec = (0, util_1.promisify)(child_process_1.exec);