@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,4 +1,4 @@
|
|
|
1
|
-
import AbstractPackageTest from './AbstractPackageTest';
|
|
1
|
+
import AbstractPackageTest from './AbstractPackageTest.js';
|
|
2
2
|
export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
3
3
|
protected static readonly bindSnippetCommand = "bind.snippet";
|
|
4
4
|
protected static readonly createImplCommand = "create.impl";
|
|
@@ -64,5 +64,5 @@ export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
|
64
64
|
protected static readonly componentNameMessage = "What should the component be called? Example: YourComponent";
|
|
65
65
|
protected static readonly setupTestsFile = "\n import { JSDOM } from 'jsdom'\n\n const jsdom = new JSDOM('<!doctype html><html><body></body></html>', {\n url: 'http://localhost',\n })\n\n global.window = jsdom.window as unknown as Window & typeof globalThis\n global.document = jsdom.window.document\n global.navigator = jsdom.window.navigator\n global.HTMLElement = jsdom.window.HTMLElement\n global.getComputedStyle = jsdom.window.getComputedStyle\n\n global.ResizeObserver = class {\n public observe() {}\n public unobserve() {}\n public disconnect() {}\n }\n\n global.SVGElement = jsdom.window.SVGElement\n ";
|
|
66
66
|
protected static readonly helpText = "ndx CLI (Command Line Interface)\n\n Available commands:\n\n - bind.snippet Bind a text snippet to a keyboard shortcut in vscode.\n - create.impl Create implementation for interface with test and fake.\n - create.package Create npm package using latest template.\n - create.ui Create React component with test and fake.\n - install.snippets Install text snippets with vscode keybindings.\n - upgrade.package Upgrade existing npm package to latest template.\n - help, --help, -h Show this help text.\n \n Usage:\n\n - ndx <command>\n ";
|
|
67
|
-
protected static CliCommandRunner(args: string[]): import("../impl/CliCommandRunner").CommandRunner;
|
|
67
|
+
protected static CliCommandRunner(args: string[]): import("../impl/CliCommandRunner.js").CommandRunner;
|
|
68
68
|
}
|
|
@@ -1,54 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
var _a;
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
const child_process_1 = require("child_process");
|
|
41
|
-
const os_1 = __importDefault(require("os"));
|
|
42
|
-
const path_1 = __importDefault(require("path"));
|
|
43
|
-
const util_1 = require("util");
|
|
44
|
-
const fake_node_core_1 = require("@neurodevs/fake-node-core");
|
|
45
|
-
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
46
|
-
const meta_node_1 = require("@neurodevs/meta-node");
|
|
47
|
-
const CliCommandRunner_1 = __importDefault(require("../impl/CliCommandRunner"));
|
|
48
|
-
const fakePrompts_1 = __importStar(require("../testDoubles/prompts/fakePrompts"));
|
|
49
|
-
const AbstractPackageTest_1 = __importDefault(require("./AbstractPackageTest"));
|
|
50
|
-
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
51
|
-
class AbstractCommandRunnerTest extends AbstractPackageTest_1.default {
|
|
1
|
+
import { exec as execSync } from 'child_process';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { promisify } from 'util';
|
|
5
|
+
import { fakeExec, fakeLog, fakeMkdir, fakeReadFile, fakeWriteFile, resetCallsToExec, resetCallsToLog, resetCallsToMkdir, resetCallsToReadFile, resetCallsToWriteFile, setFakeReadFileResult, } from '@neurodevs/fake-node-core';
|
|
6
|
+
import generateId from '@neurodevs/generate-id';
|
|
7
|
+
import { FakeAutomodule, FakeAutopackage, FakeSnippetKeybinder, FakeSnippetSuite, ImplAutomodule, NpmAutopackage, TypescriptClassSnippetSuite, UiAutomodule, VscodeSnippetKeybinder, } from '@neurodevs/meta-node';
|
|
8
|
+
import CliCommandRunner from '../impl/CliCommandRunner.js';
|
|
9
|
+
import fakePrompts, { resetCallsToFakePrompts, } from '../testDoubles/prompts/fakePrompts.js';
|
|
10
|
+
import AbstractPackageTest from './AbstractPackageTest.js';
|
|
11
|
+
const exec = promisify(execSync);
|
|
12
|
+
export default class AbstractCommandRunnerTest extends AbstractPackageTest {
|
|
13
|
+
static bindSnippetCommand = 'bind.snippet';
|
|
14
|
+
static createImplCommand = 'create.impl';
|
|
15
|
+
static interfaceName = generateId();
|
|
16
|
+
static implName = generateId();
|
|
17
|
+
static createPackageCommand = 'create.package';
|
|
18
|
+
static packageName = generateId();
|
|
19
|
+
static description = generateId();
|
|
20
|
+
static keywords = [generateId(), generateId()];
|
|
21
|
+
static githubToken = generateId();
|
|
22
|
+
static defaultKeywords = ['nodejs', 'typescript', 'tdd'];
|
|
23
|
+
static createUiCommand = 'create.ui';
|
|
24
|
+
static componentName = generateId();
|
|
25
|
+
static installSnippetsCommand = 'install.snippets';
|
|
26
|
+
static upgradePackageCommand = 'upgrade.package';
|
|
52
27
|
static async beforeEach() {
|
|
53
28
|
await super.beforeEach();
|
|
54
29
|
this.setFakeAutopackage();
|
|
@@ -65,31 +40,66 @@ class AbstractCommandRunnerTest extends AbstractPackageTest_1.default {
|
|
|
65
40
|
process.env.GITHUB_TOKEN = this.githubToken;
|
|
66
41
|
}
|
|
67
42
|
static setFakeReadFileResultToTsconfig() {
|
|
68
|
-
|
|
43
|
+
setFakeReadFileResult(this.tsconfigPath, this.originalTsconfigFile);
|
|
69
44
|
}
|
|
70
45
|
static setFakeReadToEmptyPackageJson() {
|
|
71
|
-
|
|
46
|
+
setFakeReadFileResult('package.json', '{}');
|
|
72
47
|
}
|
|
73
48
|
static setFakeReadToAllInstalledExcept(dep) {
|
|
74
|
-
|
|
49
|
+
setFakeReadFileResult('package.json', this.allInstalled.replace(dep, ''));
|
|
75
50
|
}
|
|
76
51
|
static setFakeReadToAllInstalled() {
|
|
77
|
-
|
|
52
|
+
setFakeReadFileResult('package.json', this.allInstalled);
|
|
78
53
|
}
|
|
79
54
|
static setFakePackageJson(responses) {
|
|
80
55
|
const infoFromPackageJson = {
|
|
81
56
|
...this.infoFromPackageJson,
|
|
82
57
|
...responses,
|
|
83
58
|
};
|
|
84
|
-
|
|
59
|
+
setFakeReadFileResult('package.json', JSON.stringify(infoFromPackageJson));
|
|
85
60
|
return infoFromPackageJson;
|
|
86
61
|
}
|
|
87
62
|
static get keywordsWithDefaults() {
|
|
88
63
|
return [...this.defaultKeywords, ...this.keywords];
|
|
89
64
|
}
|
|
65
|
+
static infoFromPackageJson = {
|
|
66
|
+
name: this.packageName,
|
|
67
|
+
description: this.description,
|
|
68
|
+
keywords: this.keywordsWithDefaults,
|
|
69
|
+
};
|
|
70
|
+
static allInstalled = `
|
|
71
|
+
{
|
|
72
|
+
"dependencies": {
|
|
73
|
+
"react": "^...",
|
|
74
|
+
"react-dom": "^..."
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@types/react": "^...",
|
|
78
|
+
"@types/react-dom": "^...",
|
|
79
|
+
"@types/jsdom": "^...",
|
|
80
|
+
"@testing-library/react": "^...",
|
|
81
|
+
"@testing-library/dom": "^...",
|
|
82
|
+
"@testing-library/jest-dom": "^...",
|
|
83
|
+
"jsdom": "^..."
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
`;
|
|
87
|
+
static allRequiredDependencies = [
|
|
88
|
+
'react',
|
|
89
|
+
'react-dom',
|
|
90
|
+
'@types/react',
|
|
91
|
+
'@types/react-dom',
|
|
92
|
+
'@types/jsdom',
|
|
93
|
+
'@testing-library/react',
|
|
94
|
+
'@testing-library/dom',
|
|
95
|
+
'@testing-library/jest-dom',
|
|
96
|
+
'jsdom',
|
|
97
|
+
];
|
|
98
|
+
static installDependenciesCommand = 'yarn add react react-dom';
|
|
99
|
+
static installDevDependenciesCommand = 'yarn add -D @types/react @types/react-dom @types/jsdom @testing-library/react @testing-library/dom @testing-library/jest-dom jsdom';
|
|
90
100
|
static expandHomeDir(inputPath) {
|
|
91
101
|
return inputPath.startsWith('~')
|
|
92
|
-
?
|
|
102
|
+
? path.join(os.homedir(), inputPath.slice(1))
|
|
93
103
|
: inputPath;
|
|
94
104
|
}
|
|
95
105
|
static splitOnCommaOrWhitespace(value) {
|
|
@@ -98,139 +108,85 @@ class AbstractCommandRunnerTest extends AbstractPackageTest_1.default {
|
|
|
98
108
|
.map((v) => v.trim())
|
|
99
109
|
.filter(Boolean);
|
|
100
110
|
}
|
|
111
|
+
static implTestSaveDir = 'src/__tests__/impl';
|
|
112
|
+
static implModuleSaveDir = 'src/impl';
|
|
101
113
|
static get implFakeSaveDir() {
|
|
102
114
|
return `src/testDoubles/${this.interfaceName}`;
|
|
103
115
|
}
|
|
116
|
+
static uiTestSaveDir = 'src/__tests__/ui';
|
|
117
|
+
static uiModuleSaveDir = 'src/ui';
|
|
104
118
|
static get uiFakeSaveDir() {
|
|
105
119
|
return `src/testDoubles/${this.componentName}`;
|
|
106
120
|
}
|
|
121
|
+
static tsconfigPath = 'tsconfig.json';
|
|
122
|
+
static randomId = generateId();
|
|
123
|
+
static originalTsconfigFile = JSON.stringify({
|
|
124
|
+
[this.randomId]: this.randomId,
|
|
125
|
+
compilerOptions: {
|
|
126
|
+
[this.randomId]: this.randomId,
|
|
127
|
+
},
|
|
128
|
+
}, null, 4);
|
|
129
|
+
static updatedTsconfigFile = JSON.stringify({
|
|
130
|
+
[this.randomId]: this.randomId,
|
|
131
|
+
compilerOptions: {
|
|
132
|
+
jsx: 'react-jsx',
|
|
133
|
+
[this.randomId]: this.randomId,
|
|
134
|
+
},
|
|
135
|
+
include: ['src'],
|
|
136
|
+
}, null, 4);
|
|
107
137
|
static setFakeAutopackage() {
|
|
108
|
-
|
|
109
|
-
|
|
138
|
+
NpmAutopackage.Class = FakeAutopackage;
|
|
139
|
+
FakeAutopackage.resetTestDouble();
|
|
110
140
|
}
|
|
111
141
|
static setFakeImplAutomodule() {
|
|
112
|
-
|
|
113
|
-
|
|
142
|
+
ImplAutomodule.Class = FakeAutomodule;
|
|
143
|
+
FakeAutomodule.resetTestDouble();
|
|
114
144
|
}
|
|
115
145
|
static setFakeUiAutomodule() {
|
|
116
|
-
|
|
117
|
-
|
|
146
|
+
UiAutomodule.Class = FakeAutomodule;
|
|
147
|
+
FakeAutomodule.resetTestDouble();
|
|
118
148
|
}
|
|
119
149
|
static setFakeSnippetKeybinder() {
|
|
120
|
-
|
|
121
|
-
|
|
150
|
+
VscodeSnippetKeybinder.Class = FakeSnippetKeybinder;
|
|
151
|
+
FakeSnippetKeybinder.resetTestDouble();
|
|
122
152
|
}
|
|
123
153
|
static setFakeSnippetSuite() {
|
|
124
|
-
|
|
125
|
-
|
|
154
|
+
TypescriptClassSnippetSuite.Class = FakeSnippetSuite;
|
|
155
|
+
FakeSnippetSuite.resetTestDouble();
|
|
126
156
|
}
|
|
127
157
|
static setFakeExec() {
|
|
128
|
-
|
|
129
|
-
|
|
158
|
+
CliCommandRunner.exec = fakeExec;
|
|
159
|
+
resetCallsToExec();
|
|
130
160
|
}
|
|
131
161
|
static setFakeLog() {
|
|
132
|
-
|
|
133
|
-
|
|
162
|
+
CliCommandRunner.log = fakeLog;
|
|
163
|
+
resetCallsToLog();
|
|
134
164
|
}
|
|
135
165
|
static setFakeMkdir() {
|
|
136
|
-
|
|
137
|
-
|
|
166
|
+
CliCommandRunner.mkdir = fakeMkdir;
|
|
167
|
+
resetCallsToMkdir();
|
|
138
168
|
}
|
|
139
169
|
static setFakePrompts() {
|
|
140
|
-
|
|
141
|
-
|
|
170
|
+
CliCommandRunner.prompts = fakePrompts;
|
|
171
|
+
resetCallsToFakePrompts();
|
|
142
172
|
}
|
|
143
173
|
static setFakeReadFile() {
|
|
144
|
-
|
|
145
|
-
|
|
174
|
+
CliCommandRunner.readFile = fakeReadFile;
|
|
175
|
+
resetCallsToReadFile();
|
|
146
176
|
this.setFakeReadToAllInstalled();
|
|
147
177
|
this.setFakeReadFileResultToTsconfig();
|
|
148
178
|
}
|
|
149
179
|
static setFakeWriteFile() {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
static
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
AbstractCommandRunnerTest.createImplCommand = 'create.impl';
|
|
161
|
-
AbstractCommandRunnerTest.interfaceName = (0, generate_id_1.default)();
|
|
162
|
-
AbstractCommandRunnerTest.implName = (0, generate_id_1.default)();
|
|
163
|
-
AbstractCommandRunnerTest.createPackageCommand = 'create.package';
|
|
164
|
-
AbstractCommandRunnerTest.packageName = (0, generate_id_1.default)();
|
|
165
|
-
AbstractCommandRunnerTest.description = (0, generate_id_1.default)();
|
|
166
|
-
AbstractCommandRunnerTest.keywords = [(0, generate_id_1.default)(), (0, generate_id_1.default)()];
|
|
167
|
-
AbstractCommandRunnerTest.githubToken = (0, generate_id_1.default)();
|
|
168
|
-
AbstractCommandRunnerTest.defaultKeywords = ['nodejs', 'typescript', 'tdd'];
|
|
169
|
-
AbstractCommandRunnerTest.createUiCommand = 'create.ui';
|
|
170
|
-
AbstractCommandRunnerTest.componentName = (0, generate_id_1.default)();
|
|
171
|
-
AbstractCommandRunnerTest.installSnippetsCommand = 'install.snippets';
|
|
172
|
-
AbstractCommandRunnerTest.upgradePackageCommand = 'upgrade.package';
|
|
173
|
-
AbstractCommandRunnerTest.infoFromPackageJson = {
|
|
174
|
-
name: _a.packageName,
|
|
175
|
-
description: _a.description,
|
|
176
|
-
keywords: _a.keywordsWithDefaults,
|
|
177
|
-
};
|
|
178
|
-
AbstractCommandRunnerTest.allInstalled = `
|
|
179
|
-
{
|
|
180
|
-
"dependencies": {
|
|
181
|
-
"react": "^...",
|
|
182
|
-
"react-dom": "^..."
|
|
183
|
-
},
|
|
184
|
-
"devDependencies": {
|
|
185
|
-
"@types/react": "^...",
|
|
186
|
-
"@types/react-dom": "^...",
|
|
187
|
-
"@types/jsdom": "^...",
|
|
188
|
-
"@testing-library/react": "^...",
|
|
189
|
-
"@testing-library/dom": "^...",
|
|
190
|
-
"@testing-library/jest-dom": "^...",
|
|
191
|
-
"jsdom": "^..."
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
`;
|
|
195
|
-
AbstractCommandRunnerTest.allRequiredDependencies = [
|
|
196
|
-
'react',
|
|
197
|
-
'react-dom',
|
|
198
|
-
'@types/react',
|
|
199
|
-
'@types/react-dom',
|
|
200
|
-
'@types/jsdom',
|
|
201
|
-
'@testing-library/react',
|
|
202
|
-
'@testing-library/dom',
|
|
203
|
-
'@testing-library/jest-dom',
|
|
204
|
-
'jsdom',
|
|
205
|
-
];
|
|
206
|
-
AbstractCommandRunnerTest.installDependenciesCommand = 'yarn add react react-dom';
|
|
207
|
-
AbstractCommandRunnerTest.installDevDependenciesCommand = 'yarn add -D @types/react @types/react-dom @types/jsdom @testing-library/react @testing-library/dom @testing-library/jest-dom jsdom';
|
|
208
|
-
AbstractCommandRunnerTest.implTestSaveDir = 'src/__tests__/impl';
|
|
209
|
-
AbstractCommandRunnerTest.implModuleSaveDir = 'src/impl';
|
|
210
|
-
AbstractCommandRunnerTest.uiTestSaveDir = 'src/__tests__/ui';
|
|
211
|
-
AbstractCommandRunnerTest.uiModuleSaveDir = 'src/ui';
|
|
212
|
-
AbstractCommandRunnerTest.tsconfigPath = 'tsconfig.json';
|
|
213
|
-
AbstractCommandRunnerTest.randomId = (0, generate_id_1.default)();
|
|
214
|
-
AbstractCommandRunnerTest.originalTsconfigFile = JSON.stringify({
|
|
215
|
-
[this.randomId]: _a.randomId,
|
|
216
|
-
compilerOptions: {
|
|
217
|
-
[this.randomId]: _a.randomId,
|
|
218
|
-
},
|
|
219
|
-
}, null, 4);
|
|
220
|
-
AbstractCommandRunnerTest.updatedTsconfigFile = JSON.stringify({
|
|
221
|
-
[this.randomId]: _a.randomId,
|
|
222
|
-
compilerOptions: {
|
|
223
|
-
jsx: 'react-jsx',
|
|
224
|
-
[this.randomId]: _a.randomId,
|
|
225
|
-
},
|
|
226
|
-
include: ['src'],
|
|
227
|
-
}, null, 4);
|
|
228
|
-
AbstractCommandRunnerTest.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
|
|
229
|
-
AbstractCommandRunnerTest.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
|
|
230
|
-
AbstractCommandRunnerTest.packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
231
|
-
AbstractCommandRunnerTest.packageDescriptionMessage = 'What should the package description be? Example: A useful package.';
|
|
232
|
-
AbstractCommandRunnerTest.componentNameMessage = 'What should the component be called? Example: YourComponent';
|
|
233
|
-
AbstractCommandRunnerTest.setupTestsFile = `
|
|
180
|
+
CliCommandRunner.writeFile =
|
|
181
|
+
fakeWriteFile;
|
|
182
|
+
resetCallsToWriteFile();
|
|
183
|
+
}
|
|
184
|
+
static interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
|
|
185
|
+
static implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
|
|
186
|
+
static packageNameMessage = 'What should the package be called? Example: useful-package';
|
|
187
|
+
static packageDescriptionMessage = 'What should the package description be? Example: A useful package.';
|
|
188
|
+
static componentNameMessage = 'What should the component be called? Example: YourComponent';
|
|
189
|
+
static setupTestsFile = `
|
|
234
190
|
import { JSDOM } from 'jsdom'
|
|
235
191
|
|
|
236
192
|
const jsdom = new JSDOM('<!doctype html><html><body></body></html>', {
|
|
@@ -251,7 +207,7 @@ AbstractCommandRunnerTest.setupTestsFile = `
|
|
|
251
207
|
|
|
252
208
|
global.SVGElement = jsdom.window.SVGElement
|
|
253
209
|
`;
|
|
254
|
-
|
|
210
|
+
static helpText = `ndx CLI (Command Line Interface)
|
|
255
211
|
|
|
256
212
|
Available commands:
|
|
257
213
|
|
|
@@ -267,5 +223,8 @@ AbstractCommandRunnerTest.helpText = `ndx CLI (Command Line Interface)
|
|
|
267
223
|
|
|
268
224
|
- ndx <command>
|
|
269
225
|
`;
|
|
270
|
-
|
|
226
|
+
static CliCommandRunner(args) {
|
|
227
|
+
return CliCommandRunner.Create(args);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
271
230
|
//# sourceMappingURL=AbstractCommandRunnerTest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractCommandRunnerTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractCommandRunnerTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractCommandRunnerTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractCommandRunnerTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class AbstractPackageTest extends
|
|
1
|
+
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
2
|
+
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
3
3
|
protected static beforeEach(): Promise<void>;
|
|
4
4
|
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const test_utils_1 = __importDefault(require("@sprucelabs/test-utils"));
|
|
7
|
-
class AbstractPackageTest extends test_utils_1.default {
|
|
1
|
+
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
2
|
+
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
8
3
|
static async beforeEach() {
|
|
9
4
|
await super.beforeEach();
|
|
10
5
|
}
|
|
11
6
|
}
|
|
12
|
-
exports.default = AbstractPackageTest;
|
|
13
7
|
//# sourceMappingURL=AbstractPackageTest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,kBAAkB;IACrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractCommandRunnerTest from '../AbstractCommandRunnerTest';
|
|
1
|
+
import AbstractCommandRunnerTest from '../AbstractCommandRunnerTest.js';
|
|
2
2
|
export default class CliCommandRunnerTest extends AbstractCommandRunnerTest {
|
|
3
3
|
protected static beforeEach(): Promise<void>;
|
|
4
4
|
protected static throwsIfCommandIsNotSupported(): Promise<void>;
|
|
@@ -1,55 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const fake_node_core_1 = require("@neurodevs/fake-node-core");
|
|
14
|
-
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
15
|
-
const AbstractCommandRunnerTest_1 = __importDefault(require("../AbstractCommandRunnerTest"));
|
|
16
|
-
class CliCommandRunnerTest extends AbstractCommandRunnerTest_1.default {
|
|
7
|
+
import { callsToLog } from '@neurodevs/fake-node-core';
|
|
8
|
+
import generateId from '@neurodevs/generate-id';
|
|
9
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
10
|
+
import AbstractCommandRunnerTest from '../AbstractCommandRunnerTest.js';
|
|
11
|
+
export default class CliCommandRunnerTest extends AbstractCommandRunnerTest {
|
|
17
12
|
static async beforeEach() {
|
|
18
13
|
await super.beforeEach();
|
|
19
14
|
}
|
|
20
15
|
static async throwsIfCommandIsNotSupported() {
|
|
21
|
-
const invalidArg = (
|
|
16
|
+
const invalidArg = generateId();
|
|
22
17
|
const instance = this.CliCommandRunner([invalidArg]);
|
|
23
|
-
const err = await
|
|
24
|
-
|
|
18
|
+
const err = await assert.doesThrowAsync(async () => await instance.run());
|
|
19
|
+
assert.isEqual(err.message, `The command "${invalidArg}" is not supported!`, 'Did not receive the expected error!');
|
|
25
20
|
}
|
|
26
21
|
static async helpOutputsHelpTextToConsole() {
|
|
27
22
|
const instance = this.CliCommandRunner(['help']);
|
|
28
23
|
await instance.run();
|
|
29
|
-
|
|
24
|
+
assert.isEqual(callsToLog[0]?.message, this.helpText, 'Help command should not execute any shell commands!');
|
|
30
25
|
}
|
|
31
26
|
static async helpAcceptsDashDashHelpFlag() {
|
|
32
27
|
const instance = this.CliCommandRunner(['--help']);
|
|
33
28
|
await instance.run();
|
|
34
|
-
|
|
29
|
+
assert.isEqual(callsToLog[0]?.message, this.helpText, 'Help command should not execute any shell commands!');
|
|
35
30
|
}
|
|
36
31
|
static async helpAcceptsDashHFlag() {
|
|
37
32
|
const instance = this.CliCommandRunner(['-h']);
|
|
38
33
|
await instance.run();
|
|
39
|
-
|
|
34
|
+
assert.isEqual(callsToLog[0]?.message, this.helpText, 'Help command should not execute any shell commands!');
|
|
40
35
|
}
|
|
41
36
|
}
|
|
42
|
-
exports.default = CliCommandRunnerTest;
|
|
43
37
|
__decorate([
|
|
44
|
-
|
|
38
|
+
test()
|
|
45
39
|
], CliCommandRunnerTest, "throwsIfCommandIsNotSupported", null);
|
|
46
40
|
__decorate([
|
|
47
|
-
|
|
41
|
+
test()
|
|
48
42
|
], CliCommandRunnerTest, "helpOutputsHelpTextToConsole", null);
|
|
49
43
|
__decorate([
|
|
50
|
-
|
|
44
|
+
test()
|
|
51
45
|
], CliCommandRunnerTest, "helpAcceptsDashDashHelpFlag", null);
|
|
52
46
|
__decorate([
|
|
53
|
-
|
|
47
|
+
test()
|
|
54
48
|
], CliCommandRunnerTest, "helpAcceptsDashHFlag", null);
|
|
55
49
|
//# sourceMappingURL=CliCommandRunner.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/CliCommandRunner.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/CliCommandRunner.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,yBAAyB,MAAM,iCAAiC,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,yBAAyB;IAC7D,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,MAAM,UAAU,GAAG,UAAU,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;QAEpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CACnC,KAAK,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,CACnC,CAAA;QAED,MAAM,CAAC,OAAO,CACV,GAAG,CAAC,OAAO,EACX,gBAAgB,UAAU,qBAAqB,EAC/C,qCAAqC,CACxC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EACtB,IAAI,CAAC,QAAQ,EACb,qDAAqD,CACxD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EACtB,IAAI,CAAC,QAAQ,EACb,qDAAqD,CACxD,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEpB,MAAM,CAAC,OAAO,CACV,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EACtB,IAAI,CAAC,QAAQ,EACb,qDAAqD,CACxD,CAAA;IACL,CAAC;CACJ;AAlD0B;IADtB,IAAI,EAAE;+DAcN;AAGsB;IADtB,IAAI,EAAE;8DAUN;AAGsB;IADtB,IAAI,EAAE;6DAUN;AAGsB;IADtB,IAAI,EAAE;sDAUN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractPackageTest from '../AbstractPackageTest';
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
2
|
export default class NeurodevsAutoclonerTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|