@neurodevs/ndx-cli 0.1.6 → 0.1.8

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.
@@ -123,7 +123,7 @@
123
123
  {
124
124
  "id": "ndxCommand",
125
125
  "description": "ndx command",
126
- "default": "create.module",
126
+ "default": "create.impl",
127
127
  "type": "promptString"
128
128
  }
129
129
  ]
@@ -1,28 +1,28 @@
1
1
  import AbstractSpruceTest from '@sprucelabs/test-utils';
2
2
  export default class CliCommandRunnerTest extends AbstractSpruceTest {
3
- private static readonly createModuleCommand;
3
+ private static readonly createImplCommand;
4
4
  private static readonly createPackageCommand;
5
5
  protected static beforeEach(): Promise<void>;
6
6
  protected static throwsIfCommandIsNotSupported(): Promise<void>;
7
- protected static createModuleCreatesInstance(): Promise<void>;
8
- protected static createModulePromptsUserForInput(): Promise<void>;
9
- protected static createModuleDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
10
- protected static createModuleCreatesNodeAutomodule(): Promise<void>;
11
- protected static createModuleRunsNodeAutomodule(): Promise<void>;
7
+ protected static createImplCreatesInstance(): Promise<void>;
8
+ protected static createImplPromptsUserForInput(): Promise<void>;
9
+ protected static createImplDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
10
+ protected static createImplCreatesImplAutomodule(): Promise<void>;
11
+ protected static createImplRunsImplAutomodule(): Promise<void>;
12
12
  protected static createPackageCreatesInstance(): Promise<void>;
13
13
  protected static createPackagePromptsUserForInput(): Promise<void>;
14
14
  protected static createPackageDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
15
15
  protected static createPackageCreatesNpmAutopackage(): Promise<void>;
16
16
  private static keywordsWithDefaults;
17
17
  protected static createPackageRunsNpmAutopackage(): Promise<void>;
18
- private static runCreateModule;
18
+ private static runCreateImpl;
19
19
  private static runCreatePackage;
20
20
  private static expandHomeDir;
21
21
  private static splitOnCommaOrWhitespace;
22
22
  private static setFakeAutomodule;
23
23
  private static setFakeAutopackage;
24
24
  private static setFakePrompts;
25
- private static setFakeResponsesForCreateModule;
25
+ private static setFakeResponsesForCreateImpl;
26
26
  private static setFakePromptResponsesForCreatePackage;
27
27
  private static readonly interfaceName;
28
28
  private static readonly implName;
@@ -62,12 +62,12 @@ class CliCommandRunnerTest extends test_utils_1.default {
62
62
  const err = await test_utils_1.assert.doesThrowAsync(async () => await instance.run());
63
63
  test_utils_1.assert.isEqual(err.message, `The command "${invalidArg}" is not supported!`, 'Did not receive the expected error!');
64
64
  }
65
- static async createModuleCreatesInstance() {
66
- const instance = await this.runCreateModule();
67
- test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.createModuleCommand}!`);
65
+ static async createImplCreatesInstance() {
66
+ const instance = await this.runCreateImpl();
67
+ test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.createImplCommand}!`);
68
68
  }
69
- static async createModulePromptsUserForInput() {
70
- await this.runCreateModule();
69
+ static async createImplPromptsUserForInput() {
70
+ await this.runCreateImpl();
71
71
  test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
72
72
  {
73
73
  type: 'text',
@@ -81,25 +81,26 @@ class CliCommandRunnerTest extends test_utils_1.default {
81
81
  },
82
82
  ], 'Did not prompt user for expected input!');
83
83
  }
84
- static async createModuleDoesNotContinueIfPromptsIsInterrupted() {
85
- await this.runCreateModule({
84
+ static async createImplDoesNotContinueIfPromptsIsInterrupted() {
85
+ await this.runCreateImpl({
86
86
  interfaceName: '',
87
87
  implName: '',
88
88
  });
89
- test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 0, 'Should not have called run on NodeAutomodule!');
89
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 0, 'Should not have called run on ImplAutomodule!');
90
90
  }
91
- static async createModuleCreatesNodeAutomodule() {
92
- await this.runCreateModule();
91
+ static async createImplCreatesImplAutomodule() {
92
+ await this.runCreateImpl();
93
93
  test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutomodule.callsToConstructor[0], {
94
94
  testSaveDir: 'src/__tests__/modules',
95
95
  moduleSaveDir: 'src/modules',
96
+ fakeSaveDir: `src/testDoubles/${this.interfaceName}`,
96
97
  interfaceName: this.interfaceName,
97
98
  implName: this.implName,
98
- }, 'Did not create NodeAutomodule with expected options!');
99
+ }, 'Did not create ImplAutomodule with expected options!');
99
100
  }
100
- static async createModuleRunsNodeAutomodule() {
101
- await this.runCreateModule();
102
- test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 1, 'Did not call run on NodeAutomodule!');
101
+ static async createImplRunsImplAutomodule() {
102
+ await this.runCreateImpl();
103
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 1, 'Did not call run on ImplAutomodule!');
103
104
  }
104
105
  static async createPackageCreatesInstance() {
105
106
  const instance = await this.runCreatePackage();
@@ -155,9 +156,9 @@ class CliCommandRunnerTest extends test_utils_1.default {
155
156
  await this.runCreatePackage();
156
157
  test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 1, 'Did not call run on Autopackage!');
157
158
  }
158
- static async runCreateModule(responses) {
159
- this.setFakeResponsesForCreateModule(responses);
160
- const instance = this.CliCommandRunner([this.createModuleCommand]);
159
+ static async runCreateImpl(responses) {
160
+ this.setFakeResponsesForCreateImpl(responses);
161
+ const instance = this.CliCommandRunner([this.createImplCommand]);
161
162
  await instance.run();
162
163
  return instance;
163
164
  }
@@ -179,7 +180,7 @@ class CliCommandRunnerTest extends test_utils_1.default {
179
180
  .filter(Boolean);
180
181
  }
181
182
  static setFakeAutomodule() {
182
- meta_node_1.NodeAutomodule.Class = meta_node_1.FakeAutomodule;
183
+ meta_node_1.ImplAutomodule.Class = meta_node_1.FakeAutomodule;
183
184
  meta_node_1.FakeAutomodule.resetTestDouble();
184
185
  }
185
186
  static setFakeAutopackage() {
@@ -190,7 +191,7 @@ class CliCommandRunnerTest extends test_utils_1.default {
190
191
  CliCommandRunner_1.default.prompts = fakePrompts_1.fakePrompts;
191
192
  (0, fakePrompts_1.resetCallsToFakePrompts)();
192
193
  }
193
- static setFakeResponsesForCreateModule(responses) {
194
+ static setFakeResponsesForCreateImpl(responses) {
194
195
  (0, fakePrompts_1.setFakeResponses)({
195
196
  interfaceName: this.interfaceName,
196
197
  implName: this.implName,
@@ -206,10 +207,10 @@ class CliCommandRunnerTest extends test_utils_1.default {
206
207
  });
207
208
  }
208
209
  static CliCommandRunner(args) {
209
- return CliCommandRunner_1.default.Create(args ?? ['create.module']);
210
+ return CliCommandRunner_1.default.Create(args);
210
211
  }
211
212
  }
212
- CliCommandRunnerTest.createModuleCommand = 'create.module';
213
+ CliCommandRunnerTest.createImplCommand = 'create.impl';
213
214
  CliCommandRunnerTest.createPackageCommand = 'create.package';
214
215
  CliCommandRunnerTest.interfaceName = (0, test_utils_1.generateId)();
215
216
  CliCommandRunnerTest.implName = (0, test_utils_1.generateId)();
@@ -227,19 +228,19 @@ __decorate([
227
228
  ], CliCommandRunnerTest, "throwsIfCommandIsNotSupported", null);
228
229
  __decorate([
229
230
  (0, test_utils_1.test)()
230
- ], CliCommandRunnerTest, "createModuleCreatesInstance", null);
231
+ ], CliCommandRunnerTest, "createImplCreatesInstance", null);
231
232
  __decorate([
232
233
  (0, test_utils_1.test)()
233
- ], CliCommandRunnerTest, "createModulePromptsUserForInput", null);
234
+ ], CliCommandRunnerTest, "createImplPromptsUserForInput", null);
234
235
  __decorate([
235
236
  (0, test_utils_1.test)()
236
- ], CliCommandRunnerTest, "createModuleDoesNotContinueIfPromptsIsInterrupted", null);
237
+ ], CliCommandRunnerTest, "createImplDoesNotContinueIfPromptsIsInterrupted", null);
237
238
  __decorate([
238
239
  (0, test_utils_1.test)()
239
- ], CliCommandRunnerTest, "createModuleCreatesNodeAutomodule", null);
240
+ ], CliCommandRunnerTest, "createImplCreatesImplAutomodule", null);
240
241
  __decorate([
241
242
  (0, test_utils_1.test)()
242
- ], CliCommandRunnerTest, "createModuleRunsNodeAutomodule", null);
243
+ ], CliCommandRunnerTest, "createImplRunsImplAutomodule", null);
243
244
  __decorate([
244
245
  (0, test_utils_1.test)()
245
246
  ], CliCommandRunnerTest, "createPackageCreatesInstance", 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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"}
@@ -3,7 +3,7 @@ export default class CliCommandRunner implements CommandRunner {
3
3
  static Class?: CommandRunnerConstructor;
4
4
  static prompts: typeof prompts;
5
5
  private args;
6
- private readonly createModuleCommand;
6
+ private readonly createImplCommand;
7
7
  private interfaceName;
8
8
  private implName;
9
9
  private readonly createPackageCommand;
@@ -18,11 +18,13 @@ export default class CliCommandRunner implements CommandRunner {
18
18
  private get commandIsSupported();
19
19
  private get command();
20
20
  private runCommand;
21
- private createModule;
21
+ private get isCreateImplCommand();
22
+ private get isCreatePackageCommand();
23
+ private createImpl;
22
24
  private promptForAutomodule;
23
25
  private readonly interfaceNameMessage;
24
26
  private readonly implNameMessage;
25
- private get userInputExistsForCreateModule();
27
+ private get userInputExistsForCreateImpl();
26
28
  private createPackage;
27
29
  private promptForAutopackage;
28
30
  private readonly packageNameMessage;
@@ -32,7 +34,7 @@ export default class CliCommandRunner implements CommandRunner {
32
34
  private get userInputExistsForCreatePackage();
33
35
  private expandHomeDir;
34
36
  private get prompts();
35
- private NodeAutomodule;
37
+ private ImplAutomodule;
36
38
  private NpmAutopackage;
37
39
  }
38
40
  export interface CommandRunner {
@@ -9,10 +9,10 @@ const meta_node_1 = require("@neurodevs/meta-node");
9
9
  const prompts_1 = __importDefault(require("prompts"));
10
10
  class CliCommandRunner {
11
11
  constructor(args) {
12
- this.createModuleCommand = 'create.module';
12
+ this.createImplCommand = 'create.impl';
13
13
  this.createPackageCommand = 'create.package';
14
14
  this.supportedCommands = [
15
- this.createModuleCommand,
15
+ this.createImplCommand,
16
16
  this.createPackageCommand,
17
17
  ];
18
18
  this.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
@@ -41,21 +41,27 @@ class CliCommandRunner {
41
41
  return this.args[0];
42
42
  }
43
43
  async runCommand() {
44
- if (this.command === 'create.module') {
45
- await this.createModule();
44
+ if (this.isCreateImplCommand) {
45
+ await this.createImpl();
46
46
  }
47
- else if (this.command === 'create.package') {
47
+ else if (this.isCreatePackageCommand) {
48
48
  await this.createPackage();
49
49
  }
50
50
  }
51
- async createModule() {
51
+ get isCreateImplCommand() {
52
+ return this.command === this.createImplCommand;
53
+ }
54
+ get isCreatePackageCommand() {
55
+ return this.command === this.createPackageCommand;
56
+ }
57
+ async createImpl() {
52
58
  const { interfaceName, implName } = await this.promptForAutomodule();
53
59
  this.interfaceName = interfaceName;
54
60
  this.implName = implName;
55
- if (!this.userInputExistsForCreateModule) {
61
+ if (!this.userInputExistsForCreateImpl) {
56
62
  return;
57
63
  }
58
- const automodule = this.NodeAutomodule();
64
+ const automodule = this.ImplAutomodule();
59
65
  await automodule.run();
60
66
  }
61
67
  async promptForAutomodule() {
@@ -72,7 +78,7 @@ class CliCommandRunner {
72
78
  },
73
79
  ]);
74
80
  }
75
- get userInputExistsForCreateModule() {
81
+ get userInputExistsForCreateImpl() {
76
82
  return this.interfaceName && this.implName;
77
83
  }
78
84
  async createPackage() {
@@ -124,10 +130,11 @@ class CliCommandRunner {
124
130
  get prompts() {
125
131
  return CliCommandRunner.prompts;
126
132
  }
127
- NodeAutomodule() {
128
- return meta_node_1.NodeAutomodule.Create({
133
+ ImplAutomodule() {
134
+ return meta_node_1.ImplAutomodule.Create({
129
135
  testSaveDir: 'src/__tests__/modules',
130
136
  moduleSaveDir: 'src/modules',
137
+ fakeSaveDir: `src/testDoubles/${this.interfaceName}`,
131
138
  interfaceName: this.interfaceName,
132
139
  implName: this.implName,
133
140
  });
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "CLI tools for the Neurodevs ecosystem.",
5
5
  "keywords": [
6
6
  "nodejs",
@@ -48,7 +48,7 @@
48
48
  "watch.tsc": "tsc -w"
49
49
  },
50
50
  "dependencies": {
51
- "@neurodevs/meta-node": "^0.4.5",
51
+ "@neurodevs/meta-node": "^0.6.0",
52
52
  "prompts": "^2.4.2"
53
53
  },
54
54
  "devDependencies": {
@@ -8,7 +8,7 @@ import AbstractSpruceTest, {
8
8
  import {
9
9
  FakeAutomodule,
10
10
  FakeAutopackage,
11
- NodeAutomodule,
11
+ ImplAutomodule,
12
12
  NpmAutopackage,
13
13
  } from '@neurodevs/meta-node'
14
14
  import prompts from 'prompts'
@@ -21,7 +21,7 @@ import {
21
21
  } from '../../testDoubles/prompts/fakePrompts'
22
22
 
23
23
  export default class CliCommandRunnerTest extends AbstractSpruceTest {
24
- private static readonly createModuleCommand = 'create.module'
24
+ private static readonly createImplCommand = 'create.impl'
25
25
  private static readonly createPackageCommand = 'create.package'
26
26
 
27
27
  protected static async beforeEach() {
@@ -51,18 +51,18 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
51
51
  }
52
52
 
53
53
  @test()
54
- protected static async createModuleCreatesInstance() {
55
- const instance = await this.runCreateModule()
54
+ protected static async createImplCreatesInstance() {
55
+ const instance = await this.runCreateImpl()
56
56
 
57
57
  assert.isTruthy(
58
58
  instance,
59
- `Failed to create instance for ${this.createModuleCommand}!`
59
+ `Failed to create instance for ${this.createImplCommand}!`
60
60
  )
61
61
  }
62
62
 
63
63
  @test()
64
- protected static async createModulePromptsUserForInput() {
65
- await this.runCreateModule()
64
+ protected static async createImplPromptsUserForInput() {
65
+ await this.runCreateImpl()
66
66
 
67
67
  assert.isEqualDeep(
68
68
  callsToFakePrompts[0],
@@ -83,8 +83,8 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
83
83
  }
84
84
 
85
85
  @test()
86
- protected static async createModuleDoesNotContinueIfPromptsIsInterrupted() {
87
- await this.runCreateModule({
86
+ protected static async createImplDoesNotContinueIfPromptsIsInterrupted() {
87
+ await this.runCreateImpl({
88
88
  interfaceName: '',
89
89
  implName: '',
90
90
  })
@@ -92,34 +92,35 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
92
92
  assert.isEqual(
93
93
  FakeAutomodule.numCallsToRun,
94
94
  0,
95
- 'Should not have called run on NodeAutomodule!'
95
+ 'Should not have called run on ImplAutomodule!'
96
96
  )
97
97
  }
98
98
 
99
99
  @test()
100
- protected static async createModuleCreatesNodeAutomodule() {
101
- await this.runCreateModule()
100
+ protected static async createImplCreatesImplAutomodule() {
101
+ await this.runCreateImpl()
102
102
 
103
103
  assert.isEqualDeep(
104
104
  FakeAutomodule.callsToConstructor[0],
105
105
  {
106
106
  testSaveDir: 'src/__tests__/modules',
107
107
  moduleSaveDir: 'src/modules',
108
+ fakeSaveDir: `src/testDoubles/${this.interfaceName}`,
108
109
  interfaceName: this.interfaceName,
109
110
  implName: this.implName,
110
111
  },
111
- 'Did not create NodeAutomodule with expected options!'
112
+ 'Did not create ImplAutomodule with expected options!'
112
113
  )
113
114
  }
114
115
 
115
116
  @test()
116
- protected static async createModuleRunsNodeAutomodule() {
117
- await this.runCreateModule()
117
+ protected static async createImplRunsImplAutomodule() {
118
+ await this.runCreateImpl()
118
119
 
119
120
  assert.isEqual(
120
121
  FakeAutomodule.numCallsToRun,
121
122
  1,
122
- 'Did not call run on NodeAutomodule!'
123
+ 'Did not call run on ImplAutomodule!'
123
124
  )
124
125
  }
125
126
 
@@ -215,10 +216,10 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
215
216
  )
216
217
  }
217
218
 
218
- private static async runCreateModule(responses?: Record<string, string>) {
219
- this.setFakeResponsesForCreateModule(responses)
219
+ private static async runCreateImpl(responses?: Record<string, string>) {
220
+ this.setFakeResponsesForCreateImpl(responses)
220
221
 
221
- const instance = this.CliCommandRunner([this.createModuleCommand])
222
+ const instance = this.CliCommandRunner([this.createImplCommand])
222
223
  await instance.run()
223
224
 
224
225
  return instance
@@ -247,7 +248,7 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
247
248
  }
248
249
 
249
250
  private static setFakeAutomodule() {
250
- NodeAutomodule.Class = FakeAutomodule
251
+ ImplAutomodule.Class = FakeAutomodule
251
252
  FakeAutomodule.resetTestDouble()
252
253
  }
253
254
 
@@ -261,7 +262,7 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
261
262
  resetCallsToFakePrompts()
262
263
  }
263
264
 
264
- private static setFakeResponsesForCreateModule(
265
+ private static setFakeResponsesForCreateImpl(
265
266
  responses?: Record<string, string>
266
267
  ) {
267
268
  setFakeResponses({
@@ -301,7 +302,7 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
301
302
  private static readonly packageDescriptionMessage =
302
303
  'What should the package description be? Example: A useful package.'
303
304
 
304
- private static CliCommandRunner(args?: string[]) {
305
- return CliCommandRunner.Create(args ?? ['create.module'])
305
+ private static CliCommandRunner(args: string[]) {
306
+ return CliCommandRunner.Create(args)
306
307
  }
307
308
  }
@@ -1,6 +1,6 @@
1
1
  import os from 'os'
2
2
  import path from 'path'
3
- import { NodeAutomodule, NpmAutopackage } from '@neurodevs/meta-node'
3
+ import { ImplAutomodule, NpmAutopackage } from '@neurodevs/meta-node'
4
4
  import prompts from 'prompts'
5
5
 
6
6
  export default class CliCommandRunner implements CommandRunner {
@@ -9,7 +9,7 @@ export default class CliCommandRunner implements CommandRunner {
9
9
 
10
10
  private args: string[]
11
11
 
12
- private readonly createModuleCommand = 'create.module'
12
+ private readonly createImplCommand = 'create.impl'
13
13
  private interfaceName!: string
14
14
  private implName!: string
15
15
 
@@ -19,7 +19,7 @@ export default class CliCommandRunner implements CommandRunner {
19
19
  private keywords!: string[]
20
20
 
21
21
  private readonly supportedCommands = [
22
- this.createModuleCommand,
22
+ this.createImplCommand,
23
23
  this.createPackageCommand,
24
24
  ]
25
25
 
@@ -51,24 +51,32 @@ export default class CliCommandRunner implements CommandRunner {
51
51
  }
52
52
 
53
53
  private async runCommand() {
54
- if (this.command === 'create.module') {
55
- await this.createModule()
56
- } else if (this.command === 'create.package') {
54
+ if (this.isCreateImplCommand) {
55
+ await this.createImpl()
56
+ } else if (this.isCreatePackageCommand) {
57
57
  await this.createPackage()
58
58
  }
59
59
  }
60
60
 
61
- private async createModule() {
61
+ private get isCreateImplCommand() {
62
+ return this.command === this.createImplCommand
63
+ }
64
+
65
+ private get isCreatePackageCommand() {
66
+ return this.command === this.createPackageCommand
67
+ }
68
+
69
+ private async createImpl() {
62
70
  const { interfaceName, implName } = await this.promptForAutomodule()
63
71
 
64
72
  this.interfaceName = interfaceName
65
73
  this.implName = implName
66
74
 
67
- if (!this.userInputExistsForCreateModule) {
75
+ if (!this.userInputExistsForCreateImpl) {
68
76
  return
69
77
  }
70
78
 
71
- const automodule = this.NodeAutomodule()
79
+ const automodule = this.ImplAutomodule()
72
80
  await automodule.run()
73
81
  }
74
82
 
@@ -93,7 +101,7 @@ export default class CliCommandRunner implements CommandRunner {
93
101
  private readonly implNameMessage =
94
102
  'What should the implementation class be called? Example: YourInterfaceImpl'
95
103
 
96
- private get userInputExistsForCreateModule() {
104
+ private get userInputExistsForCreateImpl() {
97
105
  return this.interfaceName && this.implName
98
106
  }
99
107
 
@@ -166,10 +174,11 @@ export default class CliCommandRunner implements CommandRunner {
166
174
  return CliCommandRunner.prompts
167
175
  }
168
176
 
169
- private NodeAutomodule() {
170
- return NodeAutomodule.Create({
177
+ private ImplAutomodule() {
178
+ return ImplAutomodule.Create({
171
179
  testSaveDir: 'src/__tests__/modules',
172
180
  moduleSaveDir: 'src/modules',
181
+ fakeSaveDir: `src/testDoubles/${this.interfaceName}`,
173
182
  interfaceName: this.interfaceName,
174
183
  implName: this.implName,
175
184
  })