@neurodevs/meta-node 0.10.3 → 0.10.5
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__/modules/ImplAutomodule.test.d.ts +1 -0
- package/build/__tests__/modules/ImplAutomodule.test.js +16 -0
- package/build/__tests__/modules/ImplAutomodule.test.js.map +1 -1
- package/build/__tests__/modules/UiAutomodule.test.d.ts +1 -5
- package/build/__tests__/modules/UiAutomodule.test.js +15 -28
- package/build/__tests__/modules/UiAutomodule.test.js.map +1 -1
- package/build/modules/AbstractAutomodule.d.ts +1 -0
- package/build/modules/AbstractAutomodule.js +8 -2
- package/build/modules/AbstractAutomodule.js.map +1 -1
- package/build/modules/UiAutomodule.d.ts +0 -5
- package/build/modules/UiAutomodule.js +0 -22
- package/build/modules/UiAutomodule.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/modules/ImplAutomodule.test.ts +23 -0
- package/src/__tests__/modules/UiAutomodule.test.ts +20 -42
- package/src/modules/AbstractAutomodule.ts +12 -2
- package/src/modules/UiAutomodule.ts +0 -33
|
@@ -7,6 +7,7 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
7
7
|
protected static createsModuleFileAsExpected(): Promise<void>;
|
|
8
8
|
protected static createsFakeFileAsExpected(): Promise<void>;
|
|
9
9
|
protected static sortsIndexFileExportsAlphabetically(): Promise<void>;
|
|
10
|
+
protected static triesBackupIndexFilePathIfNotFound(): Promise<void>;
|
|
10
11
|
protected static bumpsMinorVersionWithYarn(): Promise<void>;
|
|
11
12
|
private static readonly interfaceName;
|
|
12
13
|
private static readonly implName;
|
|
@@ -62,6 +62,19 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
62
62
|
data: this.normalize(this.sortedIndexFile),
|
|
63
63
|
}, 'Did not update index file as expected!');
|
|
64
64
|
}
|
|
65
|
+
static async triesBackupIndexFilePathIfNotFound() {
|
|
66
|
+
(0, fake_node_core_1.setFakeReadFileThrowsFor)(this.indexFilePath);
|
|
67
|
+
(0, fake_node_core_1.setFakeReadFileResult)('./src/exports.ts', this.originalIndexFile);
|
|
68
|
+
await this.run();
|
|
69
|
+
const call = fake_node_core_1.callsToWriteFile[3];
|
|
70
|
+
test_utils_1.assert.isEqualDeep({
|
|
71
|
+
file: call.file,
|
|
72
|
+
data: this.normalize(call.data),
|
|
73
|
+
}, {
|
|
74
|
+
file: './src/exports.ts',
|
|
75
|
+
data: this.normalize(this.sortedIndexFile),
|
|
76
|
+
}, 'Did not update index file as expected!');
|
|
77
|
+
}
|
|
65
78
|
static async bumpsMinorVersionWithYarn() {
|
|
66
79
|
await this.run();
|
|
67
80
|
test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec[0], 'yarn version --minor --no-git-tag-version', 'Did not bump minor version!');
|
|
@@ -183,6 +196,9 @@ __decorate([
|
|
|
183
196
|
__decorate([
|
|
184
197
|
(0, test_utils_1.test)()
|
|
185
198
|
], ImplAutomoduleTest, "sortsIndexFileExportsAlphabetically", null);
|
|
199
|
+
__decorate([
|
|
200
|
+
(0, test_utils_1.test)()
|
|
201
|
+
], ImplAutomoduleTest, "triesBackupIndexFilePathIfNotFound", null);
|
|
186
202
|
__decorate([
|
|
187
203
|
(0, test_utils_1.test)()
|
|
188
204
|
], ImplAutomoduleTest, "bumpsMinorVersionWithYarn", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/ImplAutomodule.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,10 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
7
7
|
protected static createsModuleFileAsExpected(): Promise<void>;
|
|
8
8
|
protected static createsFakeFileAsExpected(): Promise<void>;
|
|
9
9
|
protected static updatesIndexFileExportsAndSortsAlphabetically(): Promise<void>;
|
|
10
|
+
protected static triesBackupIndexFilePathIfNotFound(): Promise<void>;
|
|
10
11
|
protected static bumpsMinorVersionWithYarn(): Promise<void>;
|
|
11
|
-
protected static installsDevDependenciesIfMissing(): Promise<void>;
|
|
12
|
-
protected static doesNotInstallDevDependenciesIfPresent(): Promise<void>;
|
|
13
12
|
private static readonly componentName;
|
|
14
13
|
private static readonly componentNameKebabCase;
|
|
15
|
-
private static readonly packageJsonPath;
|
|
16
|
-
private static readonly installDevDependenciesCommand;
|
|
17
|
-
private static setFakePackageJsonOnReadFile;
|
|
18
14
|
private static get testFilePattern();
|
|
19
15
|
private static get moduleFilePattern();
|
|
20
16
|
private static get fakeFilePattern();
|
|
@@ -17,7 +17,6 @@ const AbstractAutomoduleTest_1 = __importDefault(require("../AbstractAutomoduleT
|
|
|
17
17
|
class UiAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
18
18
|
static async beforeEach() {
|
|
19
19
|
await super.beforeEach();
|
|
20
|
-
this.setFakePackageJsonOnReadFile();
|
|
21
20
|
this.instance = this.UiAutomodule();
|
|
22
21
|
}
|
|
23
22
|
static async passesAbstractTests() {
|
|
@@ -62,29 +61,22 @@ class UiAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
62
61
|
data: this.normalize(this.sortedIndexFile),
|
|
63
62
|
}, 'Did not update index file exports as expected!');
|
|
64
63
|
}
|
|
65
|
-
static async
|
|
64
|
+
static async triesBackupIndexFilePathIfNotFound() {
|
|
65
|
+
(0, fake_node_core_1.setFakeReadFileThrowsFor)(this.indexFilePath);
|
|
66
|
+
(0, fake_node_core_1.setFakeReadFileResult)('./src/exports.ts', this.originalIndexFile);
|
|
66
67
|
await this.run();
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
const call = fake_node_core_1.callsToWriteFile[3];
|
|
69
|
+
test_utils_1.assert.isEqualDeep({
|
|
70
|
+
file: call.file,
|
|
71
|
+
data: this.normalize(call.data),
|
|
72
|
+
}, {
|
|
73
|
+
file: './src/exports.ts',
|
|
74
|
+
data: this.normalize(this.sortedIndexFile),
|
|
75
|
+
}, 'Did not update index file as expected!');
|
|
73
76
|
}
|
|
74
|
-
static async
|
|
77
|
+
static async bumpsMinorVersionWithYarn() {
|
|
75
78
|
await this.run();
|
|
76
|
-
test_utils_1.assert.
|
|
77
|
-
}
|
|
78
|
-
static setFakePackageJsonOnReadFile() {
|
|
79
|
-
(0, fake_node_core_1.setFakeReadFileResult)(this.packageJsonPath, `
|
|
80
|
-
{
|
|
81
|
-
"devDependencies": {
|
|
82
|
-
"@testing-library/react": "...",
|
|
83
|
-
"@testing-library/jest-dom": "...",
|
|
84
|
-
"@types/react": "..."
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
`);
|
|
79
|
+
test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec[0], 'yarn version --minor --no-git-tag-version', 'Did not bump minor version!');
|
|
88
80
|
}
|
|
89
81
|
static get testFilePattern() {
|
|
90
82
|
return `
|
|
@@ -212,8 +204,6 @@ class UiAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
212
204
|
_a = UiAutomoduleTest;
|
|
213
205
|
UiAutomoduleTest.componentName = (0, test_utils_1.generateId)();
|
|
214
206
|
UiAutomoduleTest.componentNameKebabCase = _a.toKebabCase(_a.componentName);
|
|
215
|
-
UiAutomoduleTest.packageJsonPath = 'package.json';
|
|
216
|
-
UiAutomoduleTest.installDevDependenciesCommand = 'yarn add -D @types/react @testing-library/react @testing-library/jest-dom';
|
|
217
207
|
exports.default = UiAutomoduleTest;
|
|
218
208
|
__decorate([
|
|
219
209
|
(0, test_utils_1.test)()
|
|
@@ -235,11 +225,8 @@ __decorate([
|
|
|
235
225
|
], UiAutomoduleTest, "updatesIndexFileExportsAndSortsAlphabetically", null);
|
|
236
226
|
__decorate([
|
|
237
227
|
(0, test_utils_1.test)()
|
|
238
|
-
], UiAutomoduleTest, "
|
|
239
|
-
__decorate([
|
|
240
|
-
(0, test_utils_1.test)()
|
|
241
|
-
], UiAutomoduleTest, "installsDevDependenciesIfMissing", null);
|
|
228
|
+
], UiAutomoduleTest, "triesBackupIndexFilePathIfNotFound", null);
|
|
242
229
|
__decorate([
|
|
243
230
|
(0, test_utils_1.test)()
|
|
244
|
-
], UiAutomoduleTest, "
|
|
231
|
+
], UiAutomoduleTest, "bumpsMinorVersionWithYarn", null);
|
|
245
232
|
//# sourceMappingURL=UiAutomodule.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/UiAutomodule.test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"UiAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/UiAutomodule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export default abstract class AbstractAutomodule implements Automodule {
|
|
|
18
18
|
protected fakeFileContent: string;
|
|
19
19
|
protected indexFileContent: string;
|
|
20
20
|
protected originalIndexFile: string;
|
|
21
|
+
protected actualIndexFilePath?: string;
|
|
21
22
|
protected constructor(options: BaseAutomoduleOptions);
|
|
22
23
|
abstract run(): Promise<void>;
|
|
23
24
|
protected runAbstract(options: AbstractAutomoduleRunOptions): Promise<void>;
|
|
@@ -74,10 +74,16 @@ class AbstractAutomodule {
|
|
|
74
74
|
}
|
|
75
75
|
async updateIndexFileExports() {
|
|
76
76
|
this.originalIndexFile = await this.loadOriginalIndexFile();
|
|
77
|
-
await this.writeFile(this.indexFilePath, this.sortedIndexFile);
|
|
77
|
+
await this.writeFile(this.actualIndexFilePath ?? this.indexFilePath, this.sortedIndexFile);
|
|
78
78
|
}
|
|
79
79
|
async loadOriginalIndexFile() {
|
|
80
|
-
|
|
80
|
+
try {
|
|
81
|
+
return await this.readFile(this.indexFilePath, 'utf-8');
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
this.actualIndexFilePath = './src/exports.ts';
|
|
85
|
+
return await this.readFile(this.actualIndexFilePath, 'utf-8');
|
|
86
|
+
}
|
|
81
87
|
}
|
|
82
88
|
get sortedIndexFile() {
|
|
83
89
|
const blocks = `${this.originalIndexFile}${this.indexFileContent}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAutomodule.js","sourceRoot":"","sources":["../../src/modules/AbstractAutomodule.ts"],"names":[],"mappings":";;AAAA,iDAAgD;AAChD,0CAAiD;AACjD,+BAAgC;AAChC,uCAAqC;AAGrC,MAA8B,kBAAkB;
|
|
1
|
+
{"version":3,"file":"AbstractAutomodule.js","sourceRoot":"","sources":["../../src/modules/AbstractAutomodule.ts"],"names":[],"mappings":";;AAAA,iDAAgD;AAChD,0CAAiD;AACjD,+BAAgC;AAChC,uCAAqC;AAGrC,MAA8B,kBAAkB;IAqB5C,YAAsB,OAA8B;QAmHnC,kBAAa,GAAG,gBAAgB,CAAA;QAlH7C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QAE3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAIS,KAAK,CAAC,WAAW,CAAC,OAAqC;QAC7D,MAAM,EACF,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACnB,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAExC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAA;QAEzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACnC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACtC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAA;QACvC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAA;QACzC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAE7D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QAClE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEjE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAE7D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QAClE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,GAAW;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;IACrD,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACrE,CAAC;IAED,IAAY,cAAc;QACtB,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;IACzD,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;IACrD,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAE3D,MAAM,IAAI,CAAC,SAAS,CAChB,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,aAAa,EAC9C,IAAI,CAAC,eAAe,CACvB,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAC/B,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAA;YAC7C,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;QACjE,CAAC;IACL,CAAC;IAID,IAAY,eAAe;QACvB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE;aAC7D,KAAK,CAAC,UAAU,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAA;QAEpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC3D,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IAChE,CAAC;IAED,IAAc,IAAI;QACd,OAAO,kBAAkB,CAAC,IAAI,CAAA;IAClC,CAAC;IAED,IAAY,UAAU;QAClB,OAAO,kBAAkB,CAAC,UAAU,CAAA;IACxC,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,kBAAkB,CAAC,SAAS,CAAA;IACvC,CAAC;IAED,IAAc,QAAQ;QAClB,OAAO,kBAAkB,CAAC,QAAQ,CAAA;IACtC,CAAC;;AA1Ka,uBAAI,GAAG,IAAA,gBAAS,EAAC,oBAAQ,CAAC,AAAtB,CAAsB;AAC1B,6BAAU,GAAG,qBAAU,AAAb,CAAa;AACvB,4BAAS,GAAG,oBAAS,AAAZ,CAAY;AACrB,2BAAQ,GAAG,mBAAQ,AAAX,CAAW;kBAJP,kBAAkB"}
|
|
@@ -11,11 +11,6 @@ export default class UiAutomodule extends AbstractAutomodule {
|
|
|
11
11
|
private toKebabCase;
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
private runAbstractAutomodule;
|
|
14
|
-
private installDevDependencies;
|
|
15
|
-
private loadPackageJson;
|
|
16
|
-
private readonly packageJsonPath;
|
|
17
|
-
private checkIfDevDependenciesAreInstalled;
|
|
18
|
-
private readonly requiredDevDependencies;
|
|
19
14
|
private get testFileTemplate();
|
|
20
15
|
private get moduleFilePattern();
|
|
21
16
|
private get fakeFilePattern();
|
|
@@ -13,12 +13,6 @@ class UiAutomodule extends AbstractAutomodule_1.default {
|
|
|
13
13
|
moduleSaveDir,
|
|
14
14
|
fakeSaveDir,
|
|
15
15
|
});
|
|
16
|
-
this.packageJsonPath = 'package.json';
|
|
17
|
-
this.requiredDevDependencies = [
|
|
18
|
-
'@types/react',
|
|
19
|
-
'@testing-library/react',
|
|
20
|
-
'@testing-library/jest-dom',
|
|
21
|
-
];
|
|
22
16
|
this.componentName = componentName;
|
|
23
17
|
this.componentNameKebabCase = this.toKebabCase(componentName);
|
|
24
18
|
}
|
|
@@ -33,7 +27,6 @@ class UiAutomodule extends AbstractAutomodule_1.default {
|
|
|
33
27
|
}
|
|
34
28
|
async run() {
|
|
35
29
|
await this.runAbstractAutomodule();
|
|
36
|
-
await this.installDevDependencies();
|
|
37
30
|
}
|
|
38
31
|
async runAbstractAutomodule() {
|
|
39
32
|
await this.runAbstract({
|
|
@@ -46,21 +39,6 @@ class UiAutomodule extends AbstractAutomodule_1.default {
|
|
|
46
39
|
indexFileContent: this.indexFilePattern,
|
|
47
40
|
});
|
|
48
41
|
}
|
|
49
|
-
async installDevDependencies() {
|
|
50
|
-
const isInstalled = await this.checkIfDevDependenciesAreInstalled();
|
|
51
|
-
if (!isInstalled) {
|
|
52
|
-
await this.exec('yarn add -D @types/react @testing-library/react @testing-library/jest-dom');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async loadPackageJson() {
|
|
56
|
-
return await this.readFile(this.packageJsonPath, 'utf-8');
|
|
57
|
-
}
|
|
58
|
-
async checkIfDevDependenciesAreInstalled() {
|
|
59
|
-
const original = await this.loadPackageJson();
|
|
60
|
-
const parsed = JSON.parse(original);
|
|
61
|
-
const devDependencies = Object.keys(parsed.devDependencies ?? {});
|
|
62
|
-
return this.requiredDevDependencies.every((dep) => devDependencies.includes(dep));
|
|
63
|
-
}
|
|
64
42
|
get testFileTemplate() {
|
|
65
43
|
return `
|
|
66
44
|
import { test, assert } from '@sprucelabs/test-utils'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiAutomodule.js","sourceRoot":"","sources":["../../src/modules/UiAutomodule.ts"],"names":[],"mappings":";;;;;AAAA,uCAAqC;AAErC,8EAAqD;AAErD,MAAqB,YAAa,SAAQ,4BAAkB;IAOxD,YAAsB,OAA4B;QAC9C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAC5D,OAAO,CAAA;QAEX,KAAK,CAAC;YACF,WAAW;YACX,aAAa;YACb,WAAW;SACd,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"UiAutomodule.js","sourceRoot":"","sources":["../../src/modules/UiAutomodule.ts"],"names":[],"mappings":";;;;;AAAA,uCAAqC;AAErC,8EAAqD;AAErD,MAAqB,YAAa,SAAQ,4BAAkB;IAOxD,YAAsB,OAA4B;QAC9C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAC5D,OAAO,CAAA;QAEX,KAAK,CAAC;YACF,WAAW;YACX,aAAa;YACb,WAAW;SACd,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IACjE,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA4B;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,WAAW,CAAC,GAAW;QAC3B,OAAO,GAAG;aACL,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;aACnC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,WAAW,EAAE,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;IACtC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,WAAW;YAC9C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,MAAM;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,YAAY,EAAE,OAAO,IAAI,CAAC,aAAa,MAAM;YAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SAC1C,CAAC,CAAA;IACN,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO;;;qBAGM,IAAI,CAAC,aAAa,mBAAmB,IAAI,CAAC,aAAa;;;mCAGzC,IAAI,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDA+BE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;;;qCAGtD,IAAI,CAAC,aAAa;;;SAG9C,CAAA;IACL,CAAC;IAED,IAAY,iBAAiB;QACzB,OAAO;;;+BAGgB,IAAI,CAAC,aAAa;;oBAE7B,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,aAAa,qBAAqB,IAAI,CAAC,aAAa;;;qCAGxE,IAAI,CAAC,sBAAsB;uCACzB,IAAI,CAAC,sBAAsB;;;;;6BAKrC,IAAI,CAAC,aAAa;SACtC,CAAA;IACL,CAAC;IAED,IAAY,eAAe;QACvB,OAAO;;uBAEQ,IAAI,CAAC,aAAa,0BAA0B,IAAI,CAAC,aAAa;;6BAExD,IAAI,CAAC,aAAa,UAAU,IAAI,CAAC,aAAa;;wBAEnD,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,aAAa;yBACjD,IAAI,CAAC,aAAa;;sBAErB,IAAI,CAAC,aAAa;;;wCAGA,IAAI,CAAC,sBAAsB;;;;iCAIlC,IAAI,CAAC,aAAa;SAC1C,CAAA;IACL,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO;iBACE,IAAI,CAAC,aAAa;;kCAED,IAAI,CAAC,aAAa,iBAAiB,IAAI,CAAC,aAAa;kCACrD,IAAI,CAAC,aAAa;;sCAEd,IAAI,CAAC,aAAa,0BAA0B,IAAI,CAAC,aAAa,QAAQ,IAAI,CAAC,aAAa;2CACnF,IAAI,CAAC,aAAa,QAAQ,IAAI,CAAC,aAAa;;SAE9E,CAAA;IACL,CAAC;;AAhJa,uBAAU,GAAG,qBAAU,CAAA;kBAFpB,YAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/meta-node",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.5",
|
|
4
4
|
"description": "Meta-layer utilities for maintaining Node.js package ecosystems.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nodejs",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"fs-extra": "^11.3.2"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@neurodevs/fake-node-core": "^0.
|
|
54
|
+
"@neurodevs/fake-node-core": "^0.3.0",
|
|
55
55
|
"@neurodevs/generate-id": "^1.0.0",
|
|
56
56
|
"@sprucelabs/jest-json-reporter": "^9.0.61",
|
|
57
57
|
"@sprucelabs/resolve-path-aliases": "^3.0.28",
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
callsToExec,
|
|
4
4
|
callsToWriteFile,
|
|
5
5
|
setFakeReadFileResult,
|
|
6
|
+
setFakeReadFileThrowsFor,
|
|
6
7
|
} from '@neurodevs/fake-node-core'
|
|
7
8
|
import ImplAutomodule from '../../modules/ImplAutomodule'
|
|
8
9
|
import AbstractAutomoduleTest from '../AbstractAutomoduleTest'
|
|
@@ -92,6 +93,28 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
92
93
|
)
|
|
93
94
|
}
|
|
94
95
|
|
|
96
|
+
@test()
|
|
97
|
+
protected static async triesBackupIndexFilePathIfNotFound() {
|
|
98
|
+
setFakeReadFileThrowsFor(this.indexFilePath)
|
|
99
|
+
setFakeReadFileResult('./src/exports.ts', this.originalIndexFile)
|
|
100
|
+
|
|
101
|
+
await this.run()
|
|
102
|
+
|
|
103
|
+
const call = callsToWriteFile[3]
|
|
104
|
+
|
|
105
|
+
assert.isEqualDeep(
|
|
106
|
+
{
|
|
107
|
+
file: call.file,
|
|
108
|
+
data: this.normalize(call.data),
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
file: './src/exports.ts',
|
|
112
|
+
data: this.normalize(this.sortedIndexFile),
|
|
113
|
+
},
|
|
114
|
+
'Did not update index file as expected!'
|
|
115
|
+
)
|
|
116
|
+
}
|
|
117
|
+
|
|
95
118
|
@test()
|
|
96
119
|
protected static async bumpsMinorVersionWithYarn() {
|
|
97
120
|
await this.run()
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
callsToExec,
|
|
4
4
|
callsToWriteFile,
|
|
5
5
|
setFakeReadFileResult,
|
|
6
|
+
setFakeReadFileThrowsFor,
|
|
6
7
|
} from '@neurodevs/fake-node-core'
|
|
7
8
|
import UiAutomodule from '../../modules/UiAutomodule'
|
|
8
9
|
import AbstractAutomoduleTest from '../AbstractAutomoduleTest'
|
|
@@ -11,8 +12,6 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
11
12
|
protected static async beforeEach() {
|
|
12
13
|
await super.beforeEach()
|
|
13
14
|
|
|
14
|
-
this.setFakePackageJsonOnReadFile()
|
|
15
|
-
|
|
16
15
|
this.instance = this.UiAutomodule()
|
|
17
16
|
}
|
|
18
17
|
|
|
@@ -93,36 +92,35 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
93
92
|
}
|
|
94
93
|
|
|
95
94
|
@test()
|
|
96
|
-
protected static async
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
assert.isEqualDeep(
|
|
100
|
-
callsToExec[0],
|
|
101
|
-
'yarn version --minor --no-git-tag-version',
|
|
102
|
-
'Did not bump minor version!'
|
|
103
|
-
)
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@test()
|
|
107
|
-
protected static async installsDevDependenciesIfMissing() {
|
|
108
|
-
setFakeReadFileResult(this.packageJsonPath, '{}')
|
|
95
|
+
protected static async triesBackupIndexFilePathIfNotFound() {
|
|
96
|
+
setFakeReadFileThrowsFor(this.indexFilePath)
|
|
97
|
+
setFakeReadFileResult('./src/exports.ts', this.originalIndexFile)
|
|
109
98
|
|
|
110
99
|
await this.run()
|
|
111
100
|
|
|
101
|
+
const call = callsToWriteFile[3]
|
|
102
|
+
|
|
112
103
|
assert.isEqualDeep(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
104
|
+
{
|
|
105
|
+
file: call.file,
|
|
106
|
+
data: this.normalize(call.data),
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
file: './src/exports.ts',
|
|
110
|
+
data: this.normalize(this.sortedIndexFile),
|
|
111
|
+
},
|
|
112
|
+
'Did not update index file as expected!'
|
|
116
113
|
)
|
|
117
114
|
}
|
|
118
115
|
|
|
119
116
|
@test()
|
|
120
|
-
protected static async
|
|
117
|
+
protected static async bumpsMinorVersionWithYarn() {
|
|
121
118
|
await this.run()
|
|
122
119
|
|
|
123
|
-
assert.
|
|
124
|
-
callsToExec
|
|
125
|
-
'
|
|
120
|
+
assert.isEqualDeep(
|
|
121
|
+
callsToExec[0],
|
|
122
|
+
'yarn version --minor --no-git-tag-version',
|
|
123
|
+
'Did not bump minor version!'
|
|
126
124
|
)
|
|
127
125
|
}
|
|
128
126
|
|
|
@@ -132,26 +130,6 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
|
|
|
132
130
|
this.componentName
|
|
133
131
|
)
|
|
134
132
|
|
|
135
|
-
private static readonly packageJsonPath = 'package.json'
|
|
136
|
-
|
|
137
|
-
private static readonly installDevDependenciesCommand =
|
|
138
|
-
'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
|
|
139
|
-
|
|
140
|
-
private static setFakePackageJsonOnReadFile() {
|
|
141
|
-
setFakeReadFileResult(
|
|
142
|
-
this.packageJsonPath,
|
|
143
|
-
`
|
|
144
|
-
{
|
|
145
|
-
"devDependencies": {
|
|
146
|
-
"@testing-library/react": "...",
|
|
147
|
-
"@testing-library/jest-dom": "...",
|
|
148
|
-
"@types/react": "..."
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
`
|
|
152
|
-
)
|
|
153
|
-
}
|
|
154
|
-
|
|
155
133
|
private static get testFilePattern() {
|
|
156
134
|
return `
|
|
157
135
|
import { test, assert } from '@sprucelabs/test-utils'
|
|
@@ -23,6 +23,7 @@ export default abstract class AbstractAutomodule implements Automodule {
|
|
|
23
23
|
protected indexFileContent!: string
|
|
24
24
|
|
|
25
25
|
protected originalIndexFile!: string
|
|
26
|
+
protected actualIndexFilePath?: string
|
|
26
27
|
|
|
27
28
|
protected constructor(options: BaseAutomoduleOptions) {
|
|
28
29
|
const { testSaveDir, moduleSaveDir, fakeSaveDir } = options
|
|
@@ -123,11 +124,20 @@ export default abstract class AbstractAutomodule implements Automodule {
|
|
|
123
124
|
|
|
124
125
|
private async updateIndexFileExports() {
|
|
125
126
|
this.originalIndexFile = await this.loadOriginalIndexFile()
|
|
126
|
-
|
|
127
|
+
|
|
128
|
+
await this.writeFile(
|
|
129
|
+
this.actualIndexFilePath ?? this.indexFilePath,
|
|
130
|
+
this.sortedIndexFile
|
|
131
|
+
)
|
|
127
132
|
}
|
|
128
133
|
|
|
129
134
|
private async loadOriginalIndexFile() {
|
|
130
|
-
|
|
135
|
+
try {
|
|
136
|
+
return await this.readFile(this.indexFilePath, 'utf-8')
|
|
137
|
+
} catch {
|
|
138
|
+
this.actualIndexFilePath = './src/exports.ts'
|
|
139
|
+
return await this.readFile(this.actualIndexFilePath, 'utf-8')
|
|
140
|
+
}
|
|
131
141
|
}
|
|
132
142
|
|
|
133
143
|
private readonly indexFilePath = './src/index.ts'
|
|
@@ -36,7 +36,6 @@ export default class UiAutomodule extends AbstractAutomodule {
|
|
|
36
36
|
|
|
37
37
|
public async run() {
|
|
38
38
|
await this.runAbstractAutomodule()
|
|
39
|
-
await this.installDevDependencies()
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
private async runAbstractAutomodule() {
|
|
@@ -51,38 +50,6 @@ export default class UiAutomodule extends AbstractAutomodule {
|
|
|
51
50
|
})
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
private async installDevDependencies() {
|
|
55
|
-
const isInstalled = await this.checkIfDevDependenciesAreInstalled()
|
|
56
|
-
|
|
57
|
-
if (!isInstalled) {
|
|
58
|
-
await this.exec(
|
|
59
|
-
'yarn add -D @types/react @testing-library/react @testing-library/jest-dom'
|
|
60
|
-
)
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
private async loadPackageJson() {
|
|
65
|
-
return await this.readFile(this.packageJsonPath, 'utf-8')
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
private readonly packageJsonPath = 'package.json'
|
|
69
|
-
|
|
70
|
-
private async checkIfDevDependenciesAreInstalled() {
|
|
71
|
-
const original = await this.loadPackageJson()
|
|
72
|
-
const parsed = JSON.parse(original)
|
|
73
|
-
const devDependencies = Object.keys(parsed.devDependencies ?? {})
|
|
74
|
-
|
|
75
|
-
return this.requiredDevDependencies.every((dep) =>
|
|
76
|
-
devDependencies.includes(dep)
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
private readonly requiredDevDependencies = [
|
|
81
|
-
'@types/react',
|
|
82
|
-
'@testing-library/react',
|
|
83
|
-
'@testing-library/jest-dom',
|
|
84
|
-
]
|
|
85
|
-
|
|
86
53
|
private get testFileTemplate() {
|
|
87
54
|
return `
|
|
88
55
|
import { test, assert } from '@sprucelabs/test-utils'
|