@neurodevs/ndx-cli 0.1.70 → 0.1.72
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__/AbstractCommandRunnerTest.d.ts +2 -2
- package/build/__tests__/AbstractCommandRunnerTest.js +122 -163
- package/build/__tests__/AbstractCommandRunnerTest.js.map +1 -1
- package/build/__tests__/AbstractPackageTest.d.ts +2 -2
- package/build/__tests__/AbstractPackageTest.js +2 -8
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/CliCommandRunner.test.d.ts +1 -1
- package/build/__tests__/impl/CliCommandRunner.test.js +15 -21
- package/build/__tests__/impl/CliCommandRunner.test.js.map +1 -1
- package/build/__tests__/impl/NeurodevsAutocloner.test.d.ts +1 -1
- package/build/__tests__/impl/NeurodevsAutocloner.test.js +48 -55
- package/build/__tests__/impl/NeurodevsAutocloner.test.js.map +1 -1
- package/build/__tests__/impl/commands/BindSnippetCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/BindSnippetCommand.test.js +37 -45
- package/build/__tests__/impl/commands/BindSnippetCommand.test.js.map +1 -1
- package/build/__tests__/impl/commands/CreateImplCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/CreateImplCommand.test.js +23 -29
- package/build/__tests__/impl/commands/CreateImplCommand.test.js.map +1 -1
- package/build/__tests__/impl/commands/CreatePackageCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/CreatePackageCommand.test.js +16 -22
- package/build/__tests__/impl/commands/CreatePackageCommand.test.js.map +1 -1
- package/build/__tests__/impl/commands/CreateUiCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/CreateUiCommand.test.js +42 -48
- package/build/__tests__/impl/commands/CreateUiCommand.test.js.map +1 -1
- package/build/__tests__/impl/commands/InstallSnippetsCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/InstallSnippetsCommand.test.js +9 -14
- package/build/__tests__/impl/commands/InstallSnippetsCommand.test.js.map +1 -1
- package/build/__tests__/impl/commands/UpgradePackageCommand.test.d.ts +1 -1
- package/build/__tests__/impl/commands/UpgradePackageCommand.test.js +18 -24
- package/build/__tests__/impl/commands/UpgradePackageCommand.test.js.map +1 -1
- package/build/cli.js +2 -7
- package/build/cli.js.map +1 -1
- package/build/impl/CliCommandRunner.d.ts +1 -4
- package/build/impl/CliCommandRunner.js +61 -65
- package/build/impl/CliCommandRunner.js.map +1 -1
- package/build/impl/NeurodevsAutocloner.js +36 -36
- package/build/impl/NeurodevsAutocloner.js.map +1 -1
- package/build/impl/commands/BindSnippetCommand.js +14 -17
- package/build/impl/commands/BindSnippetCommand.js.map +1 -1
- package/build/impl/commands/CreateImplCommand.js +13 -18
- package/build/impl/commands/CreateImplCommand.js.map +1 -1
- package/build/impl/commands/CreatePackageCommand.js +14 -18
- package/build/impl/commands/CreatePackageCommand.js.map +1 -1
- package/build/impl/commands/CreateUiCommand.js +47 -53
- package/build/impl/commands/CreateUiCommand.js.map +1 -1
- package/build/impl/commands/InstallSnippetsCommand.js +3 -6
- package/build/impl/commands/InstallSnippetsCommand.js.map +1 -1
- package/build/impl/commands/UpgradePackageCommand.js +12 -16
- package/build/impl/commands/UpgradePackageCommand.js.map +1 -1
- package/build/impl/expandHomeDir.js +4 -10
- package/build/impl/expandHomeDir.js.map +1 -1
- package/build/index.d.ts +8 -8
- package/build/index.js +8 -32
- package/build/index.js.map +1 -1
- package/build/scripts/runCommandRunner.js +2 -7
- package/build/scripts/runCommandRunner.js.map +1 -1
- package/build/scripts/runNeurodevsAutocloner.js +4 -9
- package/build/scripts/runNeurodevsAutocloner.js.map +1 -1
- package/build/testDoubles/PresetUrlsAutocloner/FakeNeurodevsAutocloner.d.ts +1 -1
- package/build/testDoubles/PresetUrlsAutocloner/FakeNeurodevsAutocloner.js +3 -6
- package/build/testDoubles/PresetUrlsAutocloner/FakeNeurodevsAutocloner.js.map +1 -1
- package/build/testDoubles/prompts/fakePrompts.js +9 -15
- package/build/testDoubles/prompts/fakePrompts.js.map +1 -1
- package/package.json +6 -4
- package/src/__tests__/AbstractCommandRunnerTest.ts +4 -3
- package/src/__tests__/AbstractPackageTest.ts +2 -2
- package/src/__tests__/impl/CliCommandRunner.test.ts +2 -2
- package/src/__tests__/impl/NeurodevsAutocloner.test.ts +4 -3
- package/src/__tests__/impl/commands/BindSnippetCommand.test.ts +4 -3
- package/src/__tests__/impl/commands/CreateImplCommand.test.ts +4 -3
- package/src/__tests__/impl/commands/CreatePackageCommand.test.ts +4 -3
- package/src/__tests__/impl/commands/CreateUiCommand.test.ts +4 -3
- package/src/__tests__/impl/commands/InstallSnippetsCommand.test.ts +4 -3
- package/src/__tests__/impl/commands/UpgradePackageCommand.test.ts +3 -2
- package/src/cli.ts +1 -1
- package/src/impl/CliCommandRunner.ts +7 -6
- package/src/impl/commands/BindSnippetCommand.ts +2 -1
- package/src/impl/commands/CreateImplCommand.ts +2 -1
- package/src/impl/commands/CreatePackageCommand.ts +3 -2
- package/src/impl/commands/CreateUiCommand.ts +2 -1
- package/src/impl/commands/UpgradePackageCommand.ts +3 -2
- package/src/index.ts +8 -8
- package/src/scripts/runCommandRunner.ts +1 -1
- package/src/scripts/runNeurodevsAutocloner.ts +2 -2
- package/src/testDoubles/PresetUrlsAutocloner/FakeNeurodevsAutocloner.ts +1 -1
- package/tsconfig.json +17 -28
|
@@ -1,56 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { exec as execSync } from 'child_process';
|
|
2
|
+
import { mkdir, readFile, writeFile } from 'fs/promises';
|
|
3
|
+
import { promisify } from 'util';
|
|
4
|
+
import prompts from 'prompts';
|
|
5
|
+
import BindSnippetCommand from './commands/BindSnippetCommand.js';
|
|
6
|
+
import CreateImplCommand from './commands/CreateImplCommand.js';
|
|
7
|
+
import CreatePackageCommand from './commands/CreatePackageCommand.js';
|
|
8
|
+
import CreateUiCommand from './commands/CreateUiCommand.js';
|
|
9
|
+
import InstallSnippetsCommand from './commands/InstallSnippetsCommand.js';
|
|
10
|
+
import UpgradePackageCommand from './commands/UpgradePackageCommand.js';
|
|
11
|
+
export default class CliCommandRunner {
|
|
12
|
+
static Class;
|
|
13
|
+
static exec = promisify(execSync);
|
|
14
|
+
static log = console.log;
|
|
15
|
+
static mkdir = mkdir;
|
|
16
|
+
static prompts = prompts;
|
|
17
|
+
static readFile = readFile;
|
|
18
|
+
static writeFile = writeFile;
|
|
19
|
+
args;
|
|
20
|
+
bindSnippetCommand = 'bind.snippet';
|
|
21
|
+
createImplCommand = 'create.impl';
|
|
22
|
+
createPackageCommand = 'create.package';
|
|
23
|
+
createUiCommand = 'create.ui';
|
|
24
|
+
helpCommand = 'help';
|
|
25
|
+
helpFlagShort = '-h';
|
|
26
|
+
helpFlagLong = '--help';
|
|
27
|
+
installSnippetsCommand = 'install.snippets';
|
|
28
|
+
upgradePackageCommand = 'upgrade.package';
|
|
29
|
+
supportedCommands = [
|
|
30
|
+
this.bindSnippetCommand,
|
|
31
|
+
this.createImplCommand,
|
|
32
|
+
this.createPackageCommand,
|
|
33
|
+
this.createUiCommand,
|
|
34
|
+
this.helpCommand,
|
|
35
|
+
this.helpFlagShort,
|
|
36
|
+
this.helpFlagLong,
|
|
37
|
+
this.installSnippetsCommand,
|
|
38
|
+
this.upgradePackageCommand,
|
|
39
|
+
];
|
|
17
40
|
constructor(args) {
|
|
18
|
-
this.bindSnippetCommand = 'bind.snippet';
|
|
19
|
-
this.createImplCommand = 'create.impl';
|
|
20
|
-
this.createPackageCommand = 'create.package';
|
|
21
|
-
this.createUiCommand = 'create.ui';
|
|
22
|
-
this.helpCommand = 'help';
|
|
23
|
-
this.helpFlagShort = '-h';
|
|
24
|
-
this.helpFlagLong = '--help';
|
|
25
|
-
this.installSnippetsCommand = 'install.snippets';
|
|
26
|
-
this.upgradePackageCommand = 'upgrade.package';
|
|
27
|
-
this.supportedCommands = [
|
|
28
|
-
this.bindSnippetCommand,
|
|
29
|
-
this.createImplCommand,
|
|
30
|
-
this.createPackageCommand,
|
|
31
|
-
this.createUiCommand,
|
|
32
|
-
this.helpCommand,
|
|
33
|
-
this.helpFlagShort,
|
|
34
|
-
this.helpFlagLong,
|
|
35
|
-
this.installSnippetsCommand,
|
|
36
|
-
this.upgradePackageCommand,
|
|
37
|
-
];
|
|
38
|
-
this.helpText = `ndx CLI (Command Line Interface)
|
|
39
|
-
|
|
40
|
-
Available commands:
|
|
41
|
-
|
|
42
|
-
- bind.snippet Bind a text snippet to a keyboard shortcut in vscode.
|
|
43
|
-
- create.impl Create implementation for interface with test and fake.
|
|
44
|
-
- create.package Create npm package using latest template.
|
|
45
|
-
- create.ui Create React component with test and fake.
|
|
46
|
-
- install.snippets Install text snippets with vscode keybindings.
|
|
47
|
-
- upgrade.package Upgrade existing npm package to latest template.
|
|
48
|
-
- help, --help, -h Show this help text.
|
|
49
|
-
|
|
50
|
-
Usage:
|
|
51
|
-
|
|
52
|
-
- ndx <command>
|
|
53
|
-
`;
|
|
54
41
|
this.args = args;
|
|
55
42
|
}
|
|
56
43
|
static Create(args) {
|
|
@@ -103,27 +90,27 @@ class CliCommandRunner {
|
|
|
103
90
|
}
|
|
104
91
|
}
|
|
105
92
|
async bindSnippet() {
|
|
106
|
-
const command = new
|
|
93
|
+
const command = new BindSnippetCommand();
|
|
107
94
|
await command.run();
|
|
108
95
|
}
|
|
109
96
|
async createImplModule() {
|
|
110
|
-
const command = new
|
|
97
|
+
const command = new CreateImplCommand();
|
|
111
98
|
await command.run();
|
|
112
99
|
}
|
|
113
100
|
async createPackage() {
|
|
114
|
-
const command = new
|
|
101
|
+
const command = new CreatePackageCommand();
|
|
115
102
|
await command.run();
|
|
116
103
|
}
|
|
117
104
|
async createUiModule() {
|
|
118
|
-
const command = new
|
|
105
|
+
const command = new CreateUiCommand();
|
|
119
106
|
await command.run();
|
|
120
107
|
}
|
|
121
108
|
async installSnippets() {
|
|
122
|
-
const command = new
|
|
109
|
+
const command = new InstallSnippetsCommand();
|
|
123
110
|
await command.run();
|
|
124
111
|
}
|
|
125
112
|
async upgradePackage() {
|
|
126
|
-
const command = new
|
|
113
|
+
const command = new UpgradePackageCommand();
|
|
127
114
|
await command.run();
|
|
128
115
|
}
|
|
129
116
|
async help() {
|
|
@@ -132,12 +119,21 @@ class CliCommandRunner {
|
|
|
132
119
|
get log() {
|
|
133
120
|
return CliCommandRunner.log;
|
|
134
121
|
}
|
|
122
|
+
helpText = `ndx CLI (Command Line Interface)
|
|
123
|
+
|
|
124
|
+
Available commands:
|
|
125
|
+
|
|
126
|
+
- bind.snippet Bind a text snippet to a keyboard shortcut in vscode.
|
|
127
|
+
- create.impl Create implementation for interface with test and fake.
|
|
128
|
+
- create.package Create npm package using latest template.
|
|
129
|
+
- create.ui Create React component with test and fake.
|
|
130
|
+
- install.snippets Install text snippets with vscode keybindings.
|
|
131
|
+
- upgrade.package Upgrade existing npm package to latest template.
|
|
132
|
+
- help, --help, -h Show this help text.
|
|
133
|
+
|
|
134
|
+
Usage:
|
|
135
|
+
|
|
136
|
+
- ndx <command>
|
|
137
|
+
`;
|
|
135
138
|
}
|
|
136
|
-
CliCommandRunner.exec = (0, util_1.promisify)(child_process_1.exec);
|
|
137
|
-
CliCommandRunner.log = console.log;
|
|
138
|
-
CliCommandRunner.mkdir = promises_1.mkdir;
|
|
139
|
-
CliCommandRunner.prompts = prompts_1.default;
|
|
140
|
-
CliCommandRunner.readFile = promises_1.readFile;
|
|
141
|
-
CliCommandRunner.writeFile = promises_1.writeFile;
|
|
142
|
-
exports.default = CliCommandRunner;
|
|
143
139
|
//# sourceMappingURL=CliCommandRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/impl/CliCommandRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/impl/CliCommandRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { GitAutocloner } from '@neurodevs/meta-node';
|
|
2
|
+
export default class NeurodevsAutocloner {
|
|
3
|
+
static Class;
|
|
4
|
+
autocloner;
|
|
5
|
+
dirPath;
|
|
5
6
|
constructor(autocloner) {
|
|
6
|
-
this.repoNames = [
|
|
7
|
-
'fili.js',
|
|
8
|
-
'labrecorder',
|
|
9
|
-
'liblsl',
|
|
10
|
-
'libxdf',
|
|
11
|
-
'node-autocloner',
|
|
12
|
-
'node-autopackage',
|
|
13
|
-
'node-autoupgrader',
|
|
14
|
-
'node-biometrics',
|
|
15
|
-
'node-biosensors',
|
|
16
|
-
'node-biosignal-experiments',
|
|
17
|
-
'node-ble',
|
|
18
|
-
'node-csv',
|
|
19
|
-
'node-eeg',
|
|
20
|
-
'node-file-checker',
|
|
21
|
-
'node-file-loader',
|
|
22
|
-
'node-html-loader',
|
|
23
|
-
'node-knowledge-graphs',
|
|
24
|
-
'node-lsl',
|
|
25
|
-
'node-mangled-names',
|
|
26
|
-
'node-neuropype',
|
|
27
|
-
'node-ppg',
|
|
28
|
-
'node-server-plots',
|
|
29
|
-
'node-signal-processing',
|
|
30
|
-
'node-task-queue',
|
|
31
|
-
'node-test-counter',
|
|
32
|
-
'node-xdf',
|
|
33
|
-
'personomic',
|
|
34
|
-
];
|
|
35
|
-
this.repoUrls = this.repoNames.map(this.generateUrl);
|
|
36
7
|
this.autocloner = autocloner;
|
|
37
8
|
}
|
|
38
9
|
static Create() {
|
|
@@ -49,12 +20,41 @@ class NeurodevsAutocloner {
|
|
|
49
20
|
dirPath: this.dirPath,
|
|
50
21
|
});
|
|
51
22
|
}
|
|
23
|
+
repoNames = [
|
|
24
|
+
'fili.js',
|
|
25
|
+
'labrecorder',
|
|
26
|
+
'liblsl',
|
|
27
|
+
'libxdf',
|
|
28
|
+
'node-autocloner',
|
|
29
|
+
'node-autopackage',
|
|
30
|
+
'node-autoupgrader',
|
|
31
|
+
'node-biometrics',
|
|
32
|
+
'node-biosensors',
|
|
33
|
+
'node-biosignal-experiments',
|
|
34
|
+
'node-ble',
|
|
35
|
+
'node-csv',
|
|
36
|
+
'node-eeg',
|
|
37
|
+
'node-file-checker',
|
|
38
|
+
'node-file-loader',
|
|
39
|
+
'node-html-loader',
|
|
40
|
+
'node-knowledge-graphs',
|
|
41
|
+
'node-lsl',
|
|
42
|
+
'node-mangled-names',
|
|
43
|
+
'node-neuropype',
|
|
44
|
+
'node-ppg',
|
|
45
|
+
'node-server-plots',
|
|
46
|
+
'node-signal-processing',
|
|
47
|
+
'node-task-queue',
|
|
48
|
+
'node-test-counter',
|
|
49
|
+
'node-xdf',
|
|
50
|
+
'personomic',
|
|
51
|
+
];
|
|
52
|
+
repoUrls = this.repoNames.map(this.generateUrl);
|
|
52
53
|
generateUrl(repoName) {
|
|
53
54
|
return `https://github.com/neurodevs/${repoName}.git`;
|
|
54
55
|
}
|
|
55
56
|
static GitAutocloner() {
|
|
56
|
-
return
|
|
57
|
+
return GitAutocloner.Create();
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
|
-
exports.default = NeurodevsAutocloner;
|
|
60
60
|
//# sourceMappingURL=NeurodevsAutocloner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeurodevsAutocloner.js","sourceRoot":"","sources":["../../src/impl/NeurodevsAutocloner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NeurodevsAutocloner.js","sourceRoot":"","sources":["../../src/impl/NeurodevsAutocloner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC7B,MAAM,CAAC,KAAK,CAAkC;IAE7C,UAAU,CAAY;IACtB,OAAO,CAAS;IAExB,YAAsB,UAAsB;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,MAAM;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,OAAe;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAA;IACN,CAAC;IAEO,SAAS,GAAG;QAChB,SAAS;QACT,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,iBAAiB;QACjB,iBAAiB;QACjB,4BAA4B;QAC5B,UAAU;QACV,UAAU;QACV,UAAU;QACV,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,uBAAuB;QACvB,UAAU;QACV,oBAAoB;QACpB,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,wBAAwB;QACxB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,YAAY;KACf,CAAA;IAEO,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/C,WAAW,CAAC,QAAgB;QAChC,OAAO,gCAAgC,QAAQ,MAAM,CAAA;IACzD,CAAC;IAEO,MAAM,CAAC,aAAa;QACxB,OAAO,aAAa,CAAC,MAAM,EAAE,CAAA;IACjC,CAAC;CACJ"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor() {
|
|
10
|
-
this.nameMessage = `Snippet name? Example: Singleton class template`;
|
|
11
|
-
this.descriptionMessage = `Snippet description? Example: A class template based on the singleton pattern`;
|
|
12
|
-
this.snippetMessage = `Snippet text content? Use \\n for newlines. Example: line-1\\nline-2`;
|
|
13
|
-
this.keybindingMessage = `Snippet keybinding? Examples: ctrl+alt+c, f4`;
|
|
14
|
-
}
|
|
1
|
+
import { VscodeSnippetKeybinder } from '@neurodevs/meta-node';
|
|
2
|
+
import CliCommandRunner from '../CliCommandRunner.js';
|
|
3
|
+
export default class BindSnippetCommand {
|
|
4
|
+
name;
|
|
5
|
+
description;
|
|
6
|
+
lines;
|
|
7
|
+
keybinding;
|
|
8
|
+
constructor() { }
|
|
15
9
|
async run() {
|
|
16
10
|
const { name, description, lines, keybinding } = await this.promptUserForInput();
|
|
17
11
|
this.name = name;
|
|
@@ -51,11 +45,15 @@ class BindSnippetCommand {
|
|
|
51
45
|
get hasAllUserInput() {
|
|
52
46
|
return this.name && this.description && this.lines && this.keybinding;
|
|
53
47
|
}
|
|
48
|
+
nameMessage = `Snippet name? Example: Singleton class template`;
|
|
49
|
+
descriptionMessage = `Snippet description? Example: A class template based on the singleton pattern`;
|
|
50
|
+
snippetMessage = `Snippet text content? Use \\n for newlines. Example: line-1\\nline-2`;
|
|
51
|
+
keybindingMessage = `Snippet keybinding? Examples: ctrl+alt+c, f4`;
|
|
54
52
|
get prompts() {
|
|
55
|
-
return
|
|
53
|
+
return CliCommandRunner.prompts;
|
|
56
54
|
}
|
|
57
55
|
VscodeSnippetKeybinder() {
|
|
58
|
-
return
|
|
56
|
+
return VscodeSnippetKeybinder.Create({
|
|
59
57
|
name: this.name,
|
|
60
58
|
description: this.description,
|
|
61
59
|
lines: this.lines.split('\\n'),
|
|
@@ -63,5 +61,4 @@ class BindSnippetCommand {
|
|
|
63
61
|
});
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
|
-
exports.default = BindSnippetCommand;
|
|
67
64
|
//# sourceMappingURL=BindSnippetCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BindSnippetCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/BindSnippetCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BindSnippetCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/BindSnippetCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,gBAAgB,MAAM,wBAAwB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC3B,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,KAAK,CAAS;IACd,UAAU,CAAS;IAE3B,gBAAsB,CAAC;IAEhB,KAAK,CAAC,GAAG;QACZ,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAC1C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,OAAM;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACtB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,WAAW;aAC5B;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,IAAI,CAAC,cAAc;aAC/B;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,IAAI,CAAC,iBAAiB;aAClC;SACJ,CAAC,CAAA;IACN,CAAC;IAED,IAAY,eAAe;QACvB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAA;IACzE,CAAC;IAEgB,WAAW,GAAG,iDAAiD,CAAA;IAC/D,kBAAkB,GAAG,+EAA+E,CAAA;IACpG,cAAc,GAAG,sEAAsE,CAAA;IACvF,iBAAiB,GAAG,8CAA8C,CAAA;IAEnF,IAAY,OAAO;QACf,OAAO,gBAAgB,CAAC,OAAO,CAAA;IACnC,CAAC;IAEO,sBAAsB;QAC1B,OAAO,sBAAsB,CAAC,MAAM,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const CliCommandRunner_1 = __importDefault(require("../CliCommandRunner"));
|
|
8
|
-
class CreateImplCommand {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
|
|
11
|
-
this.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
|
|
12
|
-
this.implTestSaveDir = 'src/__tests__/impl';
|
|
13
|
-
this.implModuleSaveDir = 'src/impl';
|
|
14
|
-
}
|
|
1
|
+
import { ImplAutomodule } from '@neurodevs/meta-node';
|
|
2
|
+
import CliCommandRunner from '../CliCommandRunner.js';
|
|
3
|
+
export default class CreateImplCommand {
|
|
4
|
+
interfaceName;
|
|
5
|
+
implName;
|
|
6
|
+
constructor() { }
|
|
15
7
|
async run() {
|
|
16
8
|
const { interfaceName, implName } = await this.promptForAutomodule();
|
|
17
9
|
this.interfaceName = interfaceName;
|
|
@@ -37,6 +29,8 @@ class CreateImplCommand {
|
|
|
37
29
|
},
|
|
38
30
|
]);
|
|
39
31
|
}
|
|
32
|
+
interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
|
|
33
|
+
implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
|
|
40
34
|
get userInputExistsForCreateImpl() {
|
|
41
35
|
return this.interfaceName && this.implName;
|
|
42
36
|
}
|
|
@@ -45,17 +39,19 @@ class CreateImplCommand {
|
|
|
45
39
|
await this.mkdir(this.implModuleSaveDir, { recursive: true });
|
|
46
40
|
await this.mkdir(this.implFakeSaveDir, { recursive: true });
|
|
47
41
|
}
|
|
42
|
+
implTestSaveDir = 'src/__tests__/impl';
|
|
43
|
+
implModuleSaveDir = 'src/impl';
|
|
48
44
|
get implFakeSaveDir() {
|
|
49
45
|
return `src/testDoubles/${this.interfaceName}`;
|
|
50
46
|
}
|
|
51
47
|
get mkdir() {
|
|
52
|
-
return
|
|
48
|
+
return CliCommandRunner.mkdir;
|
|
53
49
|
}
|
|
54
50
|
get prompts() {
|
|
55
|
-
return
|
|
51
|
+
return CliCommandRunner.prompts;
|
|
56
52
|
}
|
|
57
53
|
ImplAutomodule() {
|
|
58
|
-
return
|
|
54
|
+
return ImplAutomodule.Create({
|
|
59
55
|
testSaveDir: this.implTestSaveDir,
|
|
60
56
|
moduleSaveDir: this.implModuleSaveDir,
|
|
61
57
|
fakeSaveDir: this.implFakeSaveDir,
|
|
@@ -64,5 +60,4 @@ class CreateImplCommand {
|
|
|
64
60
|
});
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
|
-
exports.default = CreateImplCommand;
|
|
68
63
|
//# sourceMappingURL=CreateImplCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateImplCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/CreateImplCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateImplCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/CreateImplCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,gBAAgB,MAAM,wBAAwB,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC1B,aAAa,CAAS;IACtB,QAAQ,CAAS;IAEzB,gBAAsB,CAAC;IAEhB,KAAK,CAAC,GAAG;QACZ,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;IAEgB,oBAAoB,GACjC,6DAA6D,CAAA;IAEhD,eAAe,GAC5B,4EAA4E,CAAA;IAEhF,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;IAEgB,eAAe,GAAG,oBAAoB,CAAA;IACtC,iBAAiB,GAAG,UAAU,CAAA;IAE/C,IAAY,eAAe;QACvB,OAAO,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAA;IAClD,CAAC;IAED,IAAY,KAAK;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAA;IACjC,CAAC;IAED,IAAY,OAAO;QACf,OAAO,gBAAgB,CAAC,OAAO,CAAA;IACnC,CAAC;IAEO,cAAc;QAClB,OAAO,cAAc,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;CACJ"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class CreatePackageCommand {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
12
|
-
this.descriptionMessage = 'What should the package description be? Example: A useful package.';
|
|
13
|
-
this.keywordsMessage = 'Enter keywords (comma or space separated, lowercase, optional):';
|
|
14
|
-
}
|
|
1
|
+
import { NpmAutopackage } from '@neurodevs/meta-node';
|
|
2
|
+
import CliCommandRunner from '../CliCommandRunner.js';
|
|
3
|
+
import expandHomeDir from '../expandHomeDir.js';
|
|
4
|
+
export default class CreatePackageCommand {
|
|
5
|
+
packageName;
|
|
6
|
+
description;
|
|
7
|
+
keywords;
|
|
8
|
+
constructor() { }
|
|
15
9
|
async run() {
|
|
16
10
|
const { packageName, description, keywords } = await this.promptForAutopackage();
|
|
17
11
|
this.packageName = packageName;
|
|
@@ -44,6 +38,9 @@ class CreatePackageCommand {
|
|
|
44
38
|
},
|
|
45
39
|
]);
|
|
46
40
|
}
|
|
41
|
+
packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
42
|
+
descriptionMessage = 'What should the package description be? Example: A useful package.';
|
|
43
|
+
keywordsMessage = 'Enter keywords (comma or space separated, lowercase, optional):';
|
|
47
44
|
splitOnCommaOrWhitespace(value) {
|
|
48
45
|
return value
|
|
49
46
|
.split(/[\s,]+/)
|
|
@@ -54,20 +51,19 @@ class CreatePackageCommand {
|
|
|
54
51
|
return this.packageName && this.description;
|
|
55
52
|
}
|
|
56
53
|
get prompts() {
|
|
57
|
-
return
|
|
54
|
+
return CliCommandRunner.prompts;
|
|
58
55
|
}
|
|
59
56
|
NpmAutopackage() {
|
|
60
|
-
return
|
|
57
|
+
return NpmAutopackage.Create({
|
|
61
58
|
name: this.packageName,
|
|
62
59
|
description: this.description,
|
|
63
60
|
keywords: ['nodejs', 'typescript', 'tdd', ...this.keywords],
|
|
64
61
|
gitNamespace: 'neurodevs',
|
|
65
62
|
npmNamespace: 'neurodevs',
|
|
66
|
-
installDir: (
|
|
63
|
+
installDir: expandHomeDir('~/dev'),
|
|
67
64
|
license: 'MIT',
|
|
68
65
|
author: 'Eric Yates <hello@ericthecurious.com>',
|
|
69
66
|
});
|
|
70
67
|
}
|
|
71
68
|
}
|
|
72
|
-
exports.default = CreatePackageCommand;
|
|
73
69
|
//# sourceMappingURL=CreatePackageCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePackageCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/CreatePackageCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreatePackageCommand.js","sourceRoot":"","sources":["../../../src/impl/commands/CreatePackageCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,gBAAgB,MAAM,wBAAwB,CAAA;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAE/C,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAC7B,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,QAAQ,CAAW;IAE3B,gBAAsB,CAAC;IAEhB,KAAK,CAAC,GAAG;QACZ,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;IAEgB,kBAAkB,GAC/B,4DAA4D,CAAA;IAE/C,kBAAkB,GAC/B,oEAAoE,CAAA;IAEvD,eAAe,GAC5B,iEAAiE,CAAA;IAE7D,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;IAED,IAAY,OAAO;QACf,OAAO,gBAAgB,CAAC,OAAO,CAAA;IACnC,CAAC;IAEO,cAAc;QAClB,OAAO,cAAc,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,aAAa,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uCAAuC;SAClD,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,49 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const meta_node_1 = require("@neurodevs/meta-node");
|
|
7
|
-
const CliCommandRunner_1 = __importDefault(require("../CliCommandRunner"));
|
|
8
|
-
class CreateUiCommand {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.packageJsonPath = 'package.json';
|
|
11
|
-
this.requiredDependencies = ['react', 'react-dom'];
|
|
12
|
-
this.requiredDevDependencies = [
|
|
13
|
-
'@types/react',
|
|
14
|
-
'@types/react-dom',
|
|
15
|
-
'@types/jsdom',
|
|
16
|
-
'@testing-library/react',
|
|
17
|
-
'@testing-library/dom',
|
|
18
|
-
'@testing-library/jest-dom',
|
|
19
|
-
'jsdom',
|
|
20
|
-
];
|
|
21
|
-
this.tsconfigPath = 'tsconfig.json';
|
|
22
|
-
this.componentNameMessage = 'What should the component be called? Example: YourComponent';
|
|
23
|
-
this.uiTestSaveDir = 'src/__tests__/ui';
|
|
24
|
-
this.uiModuleSaveDir = 'src/ui';
|
|
25
|
-
this.setupTestsFile = `
|
|
26
|
-
import { JSDOM } from 'jsdom'
|
|
27
|
-
|
|
28
|
-
const jsdom = new JSDOM('<!doctype html><html><body></body></html>', {
|
|
29
|
-
url: 'http://localhost',
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
global.window = jsdom.window as unknown as Window & typeof globalThis
|
|
33
|
-
global.document = jsdom.window.document
|
|
34
|
-
global.navigator = jsdom.window.navigator
|
|
35
|
-
global.HTMLElement = jsdom.window.HTMLElement
|
|
36
|
-
global.getComputedStyle = jsdom.window.getComputedStyle
|
|
37
|
-
|
|
38
|
-
global.ResizeObserver = class {
|
|
39
|
-
public observe() {}
|
|
40
|
-
public unobserve() {}
|
|
41
|
-
public disconnect() {}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
global.SVGElement = jsdom.window.SVGElement
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
1
|
+
import { UiAutomodule } from '@neurodevs/meta-node';
|
|
2
|
+
import CliCommandRunner from '../CliCommandRunner.js';
|
|
3
|
+
export default class CreateUiCommand {
|
|
4
|
+
componentName;
|
|
5
|
+
constructor() { }
|
|
47
6
|
async run() {
|
|
48
7
|
await this.installDependenciesIfNeeded();
|
|
49
8
|
const { componentName } = await this.promptForUimodule();
|
|
@@ -80,6 +39,17 @@ class CreateUiCommand {
|
|
|
80
39
|
async loadPackageJson() {
|
|
81
40
|
return await this.readFile(this.packageJsonPath, 'utf-8');
|
|
82
41
|
}
|
|
42
|
+
packageJsonPath = 'package.json';
|
|
43
|
+
requiredDependencies = ['react', 'react-dom'];
|
|
44
|
+
requiredDevDependencies = [
|
|
45
|
+
'@types/react',
|
|
46
|
+
'@types/react-dom',
|
|
47
|
+
'@types/jsdom',
|
|
48
|
+
'@testing-library/react',
|
|
49
|
+
'@testing-library/dom',
|
|
50
|
+
'@testing-library/jest-dom',
|
|
51
|
+
'jsdom',
|
|
52
|
+
];
|
|
83
53
|
async promptForInstallDependencies() {
|
|
84
54
|
return await this.prompts([
|
|
85
55
|
{
|
|
@@ -119,6 +89,7 @@ class CreateUiCommand {
|
|
|
119
89
|
async loadTsconfig() {
|
|
120
90
|
return await this.readFile(this.tsconfigPath, 'utf-8');
|
|
121
91
|
}
|
|
92
|
+
tsconfigPath = 'tsconfig.json';
|
|
122
93
|
async createSetupTestsFile() {
|
|
123
94
|
console.log('Creating src/setupTests.ts...');
|
|
124
95
|
await this.writeFile('src/__tests__/setupTests.ts', this.setupTestsFile);
|
|
@@ -149,31 +120,55 @@ class CreateUiCommand {
|
|
|
149
120
|
},
|
|
150
121
|
]);
|
|
151
122
|
}
|
|
123
|
+
componentNameMessage = 'What should the component be called? Example: YourComponent';
|
|
152
124
|
async makeRequiredUiDirectories() {
|
|
153
125
|
await this.mkdir(this.uiTestSaveDir, { recursive: true });
|
|
154
126
|
await this.mkdir(this.uiModuleSaveDir, { recursive: true });
|
|
155
127
|
await this.mkdir(this.uiFakeSaveDir, { recursive: true });
|
|
156
128
|
}
|
|
129
|
+
uiTestSaveDir = 'src/__tests__/ui';
|
|
130
|
+
uiModuleSaveDir = 'src/ui';
|
|
157
131
|
get uiFakeSaveDir() {
|
|
158
132
|
return `src/testDoubles/${this.componentName}`;
|
|
159
133
|
}
|
|
160
134
|
get exec() {
|
|
161
|
-
return
|
|
135
|
+
return CliCommandRunner.exec;
|
|
162
136
|
}
|
|
163
137
|
get mkdir() {
|
|
164
|
-
return
|
|
138
|
+
return CliCommandRunner.mkdir;
|
|
165
139
|
}
|
|
166
140
|
get prompts() {
|
|
167
|
-
return
|
|
141
|
+
return CliCommandRunner.prompts;
|
|
168
142
|
}
|
|
169
143
|
get readFile() {
|
|
170
|
-
return
|
|
144
|
+
return CliCommandRunner.readFile;
|
|
171
145
|
}
|
|
172
146
|
get writeFile() {
|
|
173
|
-
return
|
|
147
|
+
return CliCommandRunner.writeFile;
|
|
174
148
|
}
|
|
149
|
+
setupTestsFile = `
|
|
150
|
+
import { JSDOM } from 'jsdom'
|
|
151
|
+
|
|
152
|
+
const jsdom = new JSDOM('<!doctype html><html><body></body></html>', {
|
|
153
|
+
url: 'http://localhost',
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
global.window = jsdom.window as unknown as Window & typeof globalThis
|
|
157
|
+
global.document = jsdom.window.document
|
|
158
|
+
global.navigator = jsdom.window.navigator
|
|
159
|
+
global.HTMLElement = jsdom.window.HTMLElement
|
|
160
|
+
global.getComputedStyle = jsdom.window.getComputedStyle
|
|
161
|
+
|
|
162
|
+
global.ResizeObserver = class {
|
|
163
|
+
public observe() {}
|
|
164
|
+
public unobserve() {}
|
|
165
|
+
public disconnect() {}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
global.SVGElement = jsdom.window.SVGElement
|
|
169
|
+
`;
|
|
175
170
|
UiAutomodule() {
|
|
176
|
-
return
|
|
171
|
+
return UiAutomodule.Create({
|
|
177
172
|
testSaveDir: this.uiTestSaveDir,
|
|
178
173
|
moduleSaveDir: this.uiModuleSaveDir,
|
|
179
174
|
fakeSaveDir: this.uiFakeSaveDir,
|
|
@@ -181,5 +176,4 @@ class CreateUiCommand {
|
|
|
181
176
|
});
|
|
182
177
|
}
|
|
183
178
|
}
|
|
184
|
-
exports.default = CreateUiCommand;
|
|
185
179
|
//# sourceMappingURL=CreateUiCommand.js.map
|