@neurodevs/meta-node 0.4.5 → 0.6.0
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/{NodeAutomodule.test.d.ts → ImplAutomodule.test.d.ts} +13 -4
- package/build/__tests__/modules/{NodeAutomodule.test.js → ImplAutomodule.test.js} +88 -18
- package/build/__tests__/modules/ImplAutomodule.test.js.map +1 -0
- package/build/__tests__/modules/PackageAutodocumenter.test.d.ts +7 -0
- package/build/__tests__/modules/PackageAutodocumenter.test.js +63 -0
- package/build/__tests__/modules/PackageAutodocumenter.test.js.map +1 -0
- package/build/index.d.ts +8 -2
- package/build/index.js +14 -4
- package/build/index.js.map +1 -1
- package/build/modules/{NodeAutomodule.d.ts → ImplAutomodule.d.ts} +16 -2
- package/build/modules/{NodeAutomodule.js → ImplAutomodule.js} +71 -10
- package/build/modules/ImplAutomodule.js.map +1 -0
- package/build/modules/PackageAutodocumenter.d.ts +8 -0
- package/build/modules/PackageAutodocumenter.js +10 -0
- package/build/modules/PackageAutodocumenter.js.map +1 -0
- package/build/scripts/runAutomodule.js +5 -4
- package/build/scripts/runAutomodule.js.map +1 -1
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.d.ts +6 -0
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js +13 -0
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js.map +1 -0
- package/build/testDoubles/Automodule/FakeAutomodule.d.ts +1 -1
- package/build/testDoubles/fs/fakeReadFile.d.ts +5 -0
- package/build/testDoubles/fs/fakeReadFile.js +20 -0
- package/build/testDoubles/fs/fakeReadFile.js.map +1 -0
- package/build/testDoubles/fs/fakeWriteFile.js.map +1 -1
- package/package.json +26 -5
- package/src/__tests__/modules/{NodeAutomodule.test.ts → ImplAutomodule.test.ts} +100 -10
- package/src/__tests__/modules/PackageAutodocumenter.test.ts +23 -0
- package/src/index.ts +13 -2
- package/src/modules/{NodeAutomodule.ts → ImplAutomodule.ts} +90 -9
- package/src/modules/PackageAutodocumenter.ts +13 -0
- package/src/scripts/runAutomodule.ts +6 -4
- package/src/testDoubles/Autodocumenter/FakeAutodocumenter.ts +13 -0
- package/src/testDoubles/Automodule/FakeAutomodule.ts +1 -1
- package/src/testDoubles/fs/fakeReadFile.ts +18 -0
- package/src/testDoubles/fs/fakeWriteFile.ts +4 -1
- package/build/__tests__/modules/NodeAutomodule.test.js.map +0 -1
- package/build/modules/NodeAutomodule.js.map +0 -1
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
|
-
export default class
|
|
2
|
+
export default class ImplAutomoduleTest extends AbstractSpruceTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
5
|
protected static createsInstance(): Promise<void>;
|
|
6
6
|
protected static runThrowsIfTestSaveDirMissing(): Promise<void>;
|
|
7
7
|
protected static runThrowsIfModuleSaveDirMissing(): Promise<void>;
|
|
8
|
+
protected static runThrowsIfFakeSaveDirMissing(): Promise<void>;
|
|
8
9
|
protected static createsTestFileAsExpected(): Promise<void>;
|
|
9
10
|
protected static createsModuleFileAsExpected(): Promise<void>;
|
|
11
|
+
protected static createsFakeFileAsExpected(): Promise<void>;
|
|
12
|
+
protected static updatesIndexFileExports(): Promise<void>;
|
|
10
13
|
private static run;
|
|
11
14
|
private static setFakePathExists;
|
|
15
|
+
private static setFakeReadFile;
|
|
12
16
|
private static setFakeWriteFile;
|
|
13
|
-
private static readonly testSaveDir;
|
|
14
|
-
private static readonly moduleSaveDir;
|
|
15
17
|
private static readonly interfaceName;
|
|
16
18
|
private static readonly implName;
|
|
19
|
+
private static readonly testSaveDir;
|
|
20
|
+
private static readonly moduleSaveDir;
|
|
21
|
+
private static readonly fakeSaveDir;
|
|
17
22
|
private static get testFilePattern();
|
|
18
23
|
private static get moduleFilePattern();
|
|
19
|
-
private static
|
|
24
|
+
private static get fakeFilePattern();
|
|
25
|
+
private static readonly indexFilePath;
|
|
26
|
+
private static readonly originalIndexFile;
|
|
27
|
+
private static get indexFilePattern();
|
|
28
|
+
private static ImplAutomodule;
|
|
20
29
|
}
|
|
@@ -43,15 +43,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
46
|
-
const
|
|
46
|
+
const ImplAutomodule_1 = __importDefault(require("../../modules/ImplAutomodule"));
|
|
47
47
|
const fakePathExists_1 = __importStar(require("../../testDoubles/fs/fakePathExists"));
|
|
48
|
+
const fakeReadFile_1 = __importStar(require("../../testDoubles/fs/fakeReadFile"));
|
|
48
49
|
const fakeWriteFile_1 = __importStar(require("../../testDoubles/fs/fakeWriteFile"));
|
|
49
|
-
class
|
|
50
|
+
class ImplAutomoduleTest extends test_utils_1.default {
|
|
50
51
|
static async beforeEach() {
|
|
51
52
|
await super.beforeEach();
|
|
52
53
|
this.setFakePathExists();
|
|
54
|
+
this.setFakeReadFile();
|
|
53
55
|
this.setFakeWriteFile();
|
|
54
|
-
this.instance = this.
|
|
56
|
+
this.instance = this.ImplAutomodule();
|
|
55
57
|
}
|
|
56
58
|
static async createsInstance() {
|
|
57
59
|
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
@@ -66,6 +68,11 @@ class NodeAutomoduleTest extends test_utils_1.default {
|
|
|
66
68
|
const err = await test_utils_1.assert.doesThrowAsync(async () => await this.run());
|
|
67
69
|
test_utils_1.assert.isEqual(err.message, `moduleSaveDir does not exist: ${this.moduleSaveDir}!`, 'Did not receive the expected error!');
|
|
68
70
|
}
|
|
71
|
+
static async runThrowsIfFakeSaveDirMissing() {
|
|
72
|
+
(0, fakePathExists_1.setPathShouldExist)(this.fakeSaveDir, false);
|
|
73
|
+
const err = await test_utils_1.assert.doesThrowAsync(async () => await this.run());
|
|
74
|
+
test_utils_1.assert.isEqual(err.message, `fakeSaveDir does not exist: ${this.fakeSaveDir}!`, 'Did not receive the expected error!');
|
|
75
|
+
}
|
|
69
76
|
static async createsTestFileAsExpected() {
|
|
70
77
|
await this.run();
|
|
71
78
|
test_utils_1.assert.isEqualDeep(fakeWriteFile_1.callsToWriteFile[0], {
|
|
@@ -80,16 +87,36 @@ class NodeAutomoduleTest extends test_utils_1.default {
|
|
|
80
87
|
data: this.moduleFilePattern,
|
|
81
88
|
}, 'Did not write expected module file!');
|
|
82
89
|
}
|
|
90
|
+
static async createsFakeFileAsExpected() {
|
|
91
|
+
await this.run();
|
|
92
|
+
test_utils_1.assert.isEqualDeep(fakeWriteFile_1.callsToWriteFile[2], {
|
|
93
|
+
file: `${this.fakeSaveDir}/Fake${this.interfaceName}.ts`,
|
|
94
|
+
data: this.fakeFilePattern,
|
|
95
|
+
}, 'Did not write expected fake file!');
|
|
96
|
+
}
|
|
97
|
+
static async updatesIndexFileExports() {
|
|
98
|
+
await this.run();
|
|
99
|
+
test_utils_1.assert.isEqualDeep(fakeWriteFile_1.callsToWriteFile[3], {
|
|
100
|
+
file: this.indexFilePath,
|
|
101
|
+
data: this.indexFilePattern,
|
|
102
|
+
}, 'Did not update index file as expected!');
|
|
103
|
+
}
|
|
83
104
|
static async run() {
|
|
84
105
|
return await this.instance.run();
|
|
85
106
|
}
|
|
86
107
|
static setFakePathExists() {
|
|
87
|
-
|
|
108
|
+
ImplAutomodule_1.default.pathExists = fakePathExists_1.default;
|
|
88
109
|
(0, fakePathExists_1.setPathShouldExist)(this.testSaveDir, true);
|
|
89
110
|
(0, fakePathExists_1.setPathShouldExist)(this.moduleSaveDir, true);
|
|
111
|
+
(0, fakePathExists_1.setPathShouldExist)(this.fakeSaveDir, true);
|
|
112
|
+
(0, fakePathExists_1.setPathShouldExist)(this.indexFilePath, true);
|
|
113
|
+
}
|
|
114
|
+
static setFakeReadFile() {
|
|
115
|
+
ImplAutomodule_1.default.readFile = fakeReadFile_1.default;
|
|
116
|
+
(0, fakeReadFile_1.resetCallsToReadFile)();
|
|
90
117
|
}
|
|
91
118
|
static setFakeWriteFile() {
|
|
92
|
-
|
|
119
|
+
ImplAutomodule_1.default.writeFile = fakeWriteFile_1.default;
|
|
93
120
|
(0, fakeWriteFile_1.resetCallsToWriteFile)();
|
|
94
121
|
}
|
|
95
122
|
static get testFilePattern() {
|
|
@@ -134,33 +161,76 @@ class NodeAutomoduleTest extends test_utils_1.default {
|
|
|
134
161
|
export type ${this.interfaceName}Constructor = new () => ${this.interfaceName}
|
|
135
162
|
`;
|
|
136
163
|
}
|
|
137
|
-
static
|
|
138
|
-
return
|
|
164
|
+
static get fakeFilePattern() {
|
|
165
|
+
return `
|
|
166
|
+
import { ${this.interfaceName} } from '../../modules/${this.implName}'
|
|
167
|
+
|
|
168
|
+
export default class Fake${this.interfaceName} implements ${this.interfaceName} {
|
|
169
|
+
public static numCallsToConstructor = 0
|
|
170
|
+
|
|
171
|
+
public constructor() {
|
|
172
|
+
Fake${this.interfaceName}.numCallsToConstructor++
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
public static resetTestDouble() {
|
|
176
|
+
Fake${this.interfaceName}.numCallsToConstructor = 0
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`;
|
|
180
|
+
}
|
|
181
|
+
static get indexFilePattern() {
|
|
182
|
+
return `
|
|
183
|
+
${this.originalIndexFile}
|
|
184
|
+
|
|
185
|
+
// ${this.interfaceName}
|
|
186
|
+
|
|
187
|
+
export { default as ${this.implName} } from './modules/${this.implName}'
|
|
188
|
+
export * from './modules/${this.implName}'
|
|
189
|
+
|
|
190
|
+
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
191
|
+
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
192
|
+
`;
|
|
193
|
+
}
|
|
194
|
+
static ImplAutomodule() {
|
|
195
|
+
return ImplAutomodule_1.default.Create({
|
|
139
196
|
testSaveDir: this.testSaveDir,
|
|
140
197
|
moduleSaveDir: this.moduleSaveDir,
|
|
198
|
+
fakeSaveDir: this.fakeSaveDir,
|
|
141
199
|
interfaceName: this.interfaceName,
|
|
142
200
|
implName: this.implName,
|
|
143
201
|
});
|
|
144
202
|
}
|
|
145
203
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
204
|
+
ImplAutomoduleTest.interfaceName = (0, test_utils_1.generateId)();
|
|
205
|
+
ImplAutomoduleTest.implName = (0, test_utils_1.generateId)();
|
|
206
|
+
ImplAutomoduleTest.testSaveDir = (0, test_utils_1.generateId)();
|
|
207
|
+
ImplAutomoduleTest.moduleSaveDir = (0, test_utils_1.generateId)();
|
|
208
|
+
ImplAutomoduleTest.fakeSaveDir = (0, test_utils_1.generateId)();
|
|
209
|
+
ImplAutomoduleTest.indexFilePath = './src/index.ts';
|
|
210
|
+
ImplAutomoduleTest.originalIndexFile = fakeReadFile_1.fakeReadFileResult;
|
|
211
|
+
exports.default = ImplAutomoduleTest;
|
|
212
|
+
__decorate([
|
|
213
|
+
(0, test_utils_1.test)()
|
|
214
|
+
], ImplAutomoduleTest, "createsInstance", null);
|
|
215
|
+
__decorate([
|
|
216
|
+
(0, test_utils_1.test)()
|
|
217
|
+
], ImplAutomoduleTest, "runThrowsIfTestSaveDirMissing", null);
|
|
218
|
+
__decorate([
|
|
219
|
+
(0, test_utils_1.test)()
|
|
220
|
+
], ImplAutomoduleTest, "runThrowsIfModuleSaveDirMissing", null);
|
|
151
221
|
__decorate([
|
|
152
222
|
(0, test_utils_1.test)()
|
|
153
|
-
],
|
|
223
|
+
], ImplAutomoduleTest, "runThrowsIfFakeSaveDirMissing", null);
|
|
154
224
|
__decorate([
|
|
155
225
|
(0, test_utils_1.test)()
|
|
156
|
-
],
|
|
226
|
+
], ImplAutomoduleTest, "createsTestFileAsExpected", null);
|
|
157
227
|
__decorate([
|
|
158
228
|
(0, test_utils_1.test)()
|
|
159
|
-
],
|
|
229
|
+
], ImplAutomoduleTest, "createsModuleFileAsExpected", null);
|
|
160
230
|
__decorate([
|
|
161
231
|
(0, test_utils_1.test)()
|
|
162
|
-
],
|
|
232
|
+
], ImplAutomoduleTest, "createsFakeFileAsExpected", null);
|
|
163
233
|
__decorate([
|
|
164
234
|
(0, test_utils_1.test)()
|
|
165
|
-
],
|
|
166
|
-
//# sourceMappingURL=
|
|
235
|
+
], ImplAutomoduleTest, "updatesIndexFileExports", null);
|
|
236
|
+
//# sourceMappingURL=ImplAutomodule.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
|
+
export default class PackageAutodocumenterTest extends AbstractSpruceTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
|
+
private static PackageAutodocumenter;
|
|
7
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
|
|
46
|
+
const PackageAutodocumenter_1 = __importDefault(require("../../modules/PackageAutodocumenter"));
|
|
47
|
+
class PackageAutodocumenterTest extends test_utils_1.default {
|
|
48
|
+
static async beforeEach() {
|
|
49
|
+
await super.beforeEach();
|
|
50
|
+
this.instance = this.PackageAutodocumenter();
|
|
51
|
+
}
|
|
52
|
+
static async createsInstance() {
|
|
53
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
54
|
+
}
|
|
55
|
+
static PackageAutodocumenter() {
|
|
56
|
+
return PackageAutodocumenter_1.default.Create();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.default = PackageAutodocumenterTest;
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, test_utils_1.test)()
|
|
62
|
+
], PackageAutodocumenterTest, "createsInstance", null);
|
|
63
|
+
//# sourceMappingURL=PackageAutodocumenter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageAutodocumenter.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/PackageAutodocumenter.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAyE;AACzE,gGAE4C;AAE5C,MAAqB,yBAA0B,SAAQ,oBAAkB;IAG3D,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAChD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAChC,OAAO,+BAAqB,CAAC,MAAM,EAAE,CAAA;IACzC,CAAC;CACJ;AAjBD,4CAiBC;AAP0B;IADtB,IAAA,iBAAI,GAAE;sDAGN"}
|
package/build/index.d.ts
CHANGED
|
@@ -2,8 +2,12 @@ export { default as GitAutocloner } from './modules/GitAutocloner';
|
|
|
2
2
|
export * from './modules/GitAutocloner';
|
|
3
3
|
export { default as FakeAutocloner } from './testDoubles/Autocloner/FakeAutocloner';
|
|
4
4
|
export * from './testDoubles/Autocloner/FakeAutocloner';
|
|
5
|
-
export { default as
|
|
6
|
-
export * from './modules/
|
|
5
|
+
export { default as PackageAutodocumenter } from './modules/PackageAutodocumenter';
|
|
6
|
+
export * from './modules/PackageAutodocumenter';
|
|
7
|
+
export { default as FakeAutodocumenter } from './testDoubles/Autodocumenter/FakeAutodocumenter';
|
|
8
|
+
export * from './testDoubles/Autodocumenter/FakeAutodocumenter';
|
|
9
|
+
export { default as ImplAutomodule } from './modules/ImplAutomodule';
|
|
10
|
+
export * from './modules/ImplAutomodule';
|
|
7
11
|
export { default as FakeAutomodule } from './testDoubles/Automodule/FakeAutomodule';
|
|
8
12
|
export * from './testDoubles/Automodule/FakeAutomodule';
|
|
9
13
|
export { default as NpmAutopackage } from './modules/NpmAutopackage';
|
|
@@ -12,5 +16,7 @@ export { default as FakeAutopackage } from './testDoubles/Autopackage/FakeAutopa
|
|
|
12
16
|
export * from './testDoubles/Autopackage/FakeAutopackage';
|
|
13
17
|
export { default as fakePathExists } from './testDoubles/fs/fakePathExists';
|
|
14
18
|
export * from './testDoubles/fs/fakePathExists';
|
|
19
|
+
export { default as fakeReadFile } from './testDoubles/fs/fakeReadFile';
|
|
20
|
+
export * from './testDoubles/fs/fakeReadFile';
|
|
15
21
|
export { default as fakeWriteFile } from './testDoubles/fs/fakeWriteFile';
|
|
16
22
|
export * from './testDoubles/fs/fakeWriteFile';
|
package/build/index.js
CHANGED
|
@@ -18,17 +18,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.fakeWriteFile = exports.fakePathExists = exports.FakeAutopackage = exports.NpmAutopackage = exports.FakeAutomodule = exports.
|
|
21
|
+
exports.fakeWriteFile = exports.fakeReadFile = exports.fakePathExists = exports.FakeAutopackage = exports.NpmAutopackage = exports.FakeAutomodule = exports.ImplAutomodule = exports.FakeAutodocumenter = exports.PackageAutodocumenter = exports.FakeAutocloner = exports.GitAutocloner = void 0;
|
|
22
22
|
var GitAutocloner_1 = require("./modules/GitAutocloner");
|
|
23
23
|
Object.defineProperty(exports, "GitAutocloner", { enumerable: true, get: function () { return __importDefault(GitAutocloner_1).default; } });
|
|
24
24
|
__exportStar(require("./modules/GitAutocloner"), exports);
|
|
25
25
|
var FakeAutocloner_1 = require("./testDoubles/Autocloner/FakeAutocloner");
|
|
26
26
|
Object.defineProperty(exports, "FakeAutocloner", { enumerable: true, get: function () { return __importDefault(FakeAutocloner_1).default; } });
|
|
27
27
|
__exportStar(require("./testDoubles/Autocloner/FakeAutocloner"), exports);
|
|
28
|
+
// Autodocumenter
|
|
29
|
+
var PackageAutodocumenter_1 = require("./modules/PackageAutodocumenter");
|
|
30
|
+
Object.defineProperty(exports, "PackageAutodocumenter", { enumerable: true, get: function () { return __importDefault(PackageAutodocumenter_1).default; } });
|
|
31
|
+
__exportStar(require("./modules/PackageAutodocumenter"), exports);
|
|
32
|
+
var FakeAutodocumenter_1 = require("./testDoubles/Autodocumenter/FakeAutodocumenter");
|
|
33
|
+
Object.defineProperty(exports, "FakeAutodocumenter", { enumerable: true, get: function () { return __importDefault(FakeAutodocumenter_1).default; } });
|
|
34
|
+
__exportStar(require("./testDoubles/Autodocumenter/FakeAutodocumenter"), exports);
|
|
28
35
|
// Automodule
|
|
29
|
-
var
|
|
30
|
-
Object.defineProperty(exports, "
|
|
31
|
-
__exportStar(require("./modules/
|
|
36
|
+
var ImplAutomodule_1 = require("./modules/ImplAutomodule");
|
|
37
|
+
Object.defineProperty(exports, "ImplAutomodule", { enumerable: true, get: function () { return __importDefault(ImplAutomodule_1).default; } });
|
|
38
|
+
__exportStar(require("./modules/ImplAutomodule"), exports);
|
|
32
39
|
var FakeAutomodule_1 = require("./testDoubles/Automodule/FakeAutomodule");
|
|
33
40
|
Object.defineProperty(exports, "FakeAutomodule", { enumerable: true, get: function () { return __importDefault(FakeAutomodule_1).default; } });
|
|
34
41
|
__exportStar(require("./testDoubles/Automodule/FakeAutomodule"), exports);
|
|
@@ -43,6 +50,9 @@ __exportStar(require("./testDoubles/Autopackage/FakeAutopackage"), exports);
|
|
|
43
50
|
var fakePathExists_1 = require("./testDoubles/fs/fakePathExists");
|
|
44
51
|
Object.defineProperty(exports, "fakePathExists", { enumerable: true, get: function () { return __importDefault(fakePathExists_1).default; } });
|
|
45
52
|
__exportStar(require("./testDoubles/fs/fakePathExists"), exports);
|
|
53
|
+
var fakeReadFile_1 = require("./testDoubles/fs/fakeReadFile");
|
|
54
|
+
Object.defineProperty(exports, "fakeReadFile", { enumerable: true, get: function () { return __importDefault(fakeReadFile_1).default; } });
|
|
55
|
+
__exportStar(require("./testDoubles/fs/fakeReadFile"), exports);
|
|
46
56
|
var fakeWriteFile_1 = require("./testDoubles/fs/fakeWriteFile");
|
|
47
57
|
Object.defineProperty(exports, "fakeWriteFile", { enumerable: true, get: function () { return __importDefault(fakeWriteFile_1).default; } });
|
|
48
58
|
__exportStar(require("./testDoubles/fs/fakeWriteFile"), exports);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,aAAa;;;;;;;;;;;;;;;;;;;;AAEb,yDAAkE;AAAzD,+HAAA,OAAO,OAAiB;AACjC,0DAAuC;AAEvC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,aAAa;AAEb,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,cAAc;AAEd,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,6EAAsF;AAA7E,mIAAA,OAAO,OAAmB;AACnC,4EAAyD;AAEzD,KAAK;AAEL,kEAA2E;AAAlE,iIAAA,OAAO,OAAkB;AAClC,kEAA+C;AAE/C,gEAAyE;AAAhE,+HAAA,OAAO,OAAiB;AACjC,iEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,aAAa;;;;;;;;;;;;;;;;;;;;AAEb,yDAAkE;AAAzD,+HAAA,OAAO,OAAiB;AACjC,0DAAuC;AAEvC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,iBAAiB;AAEjB,yEAAkF;AAAzE,+IAAA,OAAO,OAAyB;AACzC,kEAA+C;AAE/C,sFAA+F;AAAtF,yIAAA,OAAO,OAAsB;AACtC,kFAA+D;AAE/D,aAAa;AAEb,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,cAAc;AAEd,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,6EAAsF;AAA7E,mIAAA,OAAO,OAAmB;AACnC,4EAAyD;AAEzD,KAAK;AAEL,kEAA2E;AAAlE,iIAAA,OAAO,OAAkB;AAClC,kEAA+C;AAE/C,8DAAuE;AAA9D,6HAAA,OAAO,OAAgB;AAChC,gEAA6C;AAE7C,gEAAyE;AAAhE,+HAAA,OAAO,OAAiB;AACjC,iEAA8C"}
|
|
@@ -1,26 +1,39 @@
|
|
|
1
|
-
import { writeFile } from 'fs/promises';
|
|
1
|
+
import { readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import pathExists from './pathExists';
|
|
3
|
-
export default class
|
|
3
|
+
export default class ImplAutomodule implements Automodule {
|
|
4
4
|
static Class?: AutomoduleConstructor;
|
|
5
5
|
static pathExists: typeof pathExists;
|
|
6
|
+
static readFile: typeof readFile;
|
|
6
7
|
static writeFile: typeof writeFile;
|
|
7
8
|
private testSaveDir;
|
|
8
9
|
private moduleSaveDir;
|
|
10
|
+
private fakeSaveDir;
|
|
9
11
|
private interfaceName;
|
|
10
12
|
private implName;
|
|
13
|
+
private originalIndexFile;
|
|
11
14
|
protected constructor(options: AutomoduleOptions);
|
|
12
15
|
static Create(options: AutomoduleOptions): Automodule;
|
|
13
16
|
run(): Promise<void>;
|
|
14
17
|
private throwIfTestDirDoesNotExist;
|
|
15
18
|
private throwIfModuleDirDoesNotExist;
|
|
19
|
+
private throwIfFakeDirDoesNotExist;
|
|
20
|
+
private throw;
|
|
16
21
|
private createTestFile;
|
|
17
22
|
private get testFileName();
|
|
18
23
|
private createModuleFile;
|
|
19
24
|
private get moduleFileName();
|
|
25
|
+
private createFakeFile;
|
|
26
|
+
private get fakeFileName();
|
|
27
|
+
private updateIndexFileExports;
|
|
28
|
+
private loadOriginalIndexFile;
|
|
29
|
+
private readonly indexFilePath;
|
|
20
30
|
private get pathExists();
|
|
31
|
+
private get readFile();
|
|
21
32
|
private get writeFile();
|
|
22
33
|
private get testFilePattern();
|
|
23
34
|
private get moduleFilePattern();
|
|
35
|
+
private get fakeFilePattern();
|
|
36
|
+
private get indexFilePattern();
|
|
24
37
|
}
|
|
25
38
|
export interface Automodule {
|
|
26
39
|
run(): Promise<void>;
|
|
@@ -29,6 +42,7 @@ export type AutomoduleConstructor = new (options: AutomoduleOptions) => Automodu
|
|
|
29
42
|
export interface AutomoduleOptions {
|
|
30
43
|
testSaveDir: string;
|
|
31
44
|
moduleSaveDir: string;
|
|
45
|
+
fakeSaveDir: string;
|
|
32
46
|
interfaceName: string;
|
|
33
47
|
implName: string;
|
|
34
48
|
}
|
|
@@ -6,11 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const promises_1 = require("fs/promises");
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const pathExists_1 = __importDefault(require("./pathExists"));
|
|
9
|
-
class
|
|
9
|
+
class ImplAutomodule {
|
|
10
10
|
constructor(options) {
|
|
11
|
-
|
|
11
|
+
this.indexFilePath = './src/index.ts';
|
|
12
|
+
const { testSaveDir, moduleSaveDir, fakeSaveDir, interfaceName, implName, } = options;
|
|
12
13
|
this.testSaveDir = testSaveDir;
|
|
13
14
|
this.moduleSaveDir = moduleSaveDir;
|
|
15
|
+
this.fakeSaveDir = fakeSaveDir;
|
|
14
16
|
this.interfaceName = interfaceName;
|
|
15
17
|
this.implName = implName;
|
|
16
18
|
}
|
|
@@ -20,21 +22,33 @@ class NodeAutomodule {
|
|
|
20
22
|
async run() {
|
|
21
23
|
await this.throwIfTestDirDoesNotExist();
|
|
22
24
|
await this.throwIfModuleDirDoesNotExist();
|
|
25
|
+
await this.throwIfFakeDirDoesNotExist();
|
|
23
26
|
await this.createTestFile();
|
|
24
27
|
await this.createModuleFile();
|
|
28
|
+
await this.createFakeFile();
|
|
29
|
+
await this.updateIndexFileExports();
|
|
25
30
|
}
|
|
26
31
|
async throwIfTestDirDoesNotExist() {
|
|
27
32
|
const testDirExists = await this.pathExists(this.testSaveDir);
|
|
28
33
|
if (!testDirExists) {
|
|
29
|
-
throw
|
|
34
|
+
this.throw(`testSaveDir does not exist: ${this.testSaveDir}!`);
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
async throwIfModuleDirDoesNotExist() {
|
|
33
38
|
const moduleDirExists = await this.pathExists(this.moduleSaveDir);
|
|
34
39
|
if (!moduleDirExists) {
|
|
35
|
-
throw
|
|
40
|
+
this.throw(`moduleSaveDir does not exist: ${this.moduleSaveDir}!`);
|
|
36
41
|
}
|
|
37
42
|
}
|
|
43
|
+
async throwIfFakeDirDoesNotExist() {
|
|
44
|
+
const fakeDirExists = await this.pathExists(this.fakeSaveDir);
|
|
45
|
+
if (!fakeDirExists) {
|
|
46
|
+
this.throw(`fakeSaveDir does not exist: ${this.fakeSaveDir}!`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw(err) {
|
|
50
|
+
throw new Error(err);
|
|
51
|
+
}
|
|
38
52
|
async createTestFile() {
|
|
39
53
|
await this.writeFile(this.testFileName, this.testFilePattern);
|
|
40
54
|
}
|
|
@@ -47,11 +61,27 @@ class NodeAutomodule {
|
|
|
47
61
|
get moduleFileName() {
|
|
48
62
|
return path_1.default.join(this.moduleSaveDir, `${this.implName}.ts`);
|
|
49
63
|
}
|
|
64
|
+
async createFakeFile() {
|
|
65
|
+
await this.writeFile(this.fakeFileName, this.fakeFilePattern);
|
|
66
|
+
}
|
|
67
|
+
get fakeFileName() {
|
|
68
|
+
return path_1.default.join(this.fakeSaveDir, `Fake${this.interfaceName}.ts`);
|
|
69
|
+
}
|
|
70
|
+
async updateIndexFileExports() {
|
|
71
|
+
this.originalIndexFile = await this.loadOriginalIndexFile();
|
|
72
|
+
await this.writeFile(this.indexFilePath, this.indexFilePattern);
|
|
73
|
+
}
|
|
74
|
+
async loadOriginalIndexFile() {
|
|
75
|
+
return await this.readFile(this.indexFilePath, 'utf-8');
|
|
76
|
+
}
|
|
50
77
|
get pathExists() {
|
|
51
|
-
return
|
|
78
|
+
return ImplAutomodule.pathExists;
|
|
79
|
+
}
|
|
80
|
+
get readFile() {
|
|
81
|
+
return ImplAutomodule.readFile;
|
|
52
82
|
}
|
|
53
83
|
get writeFile() {
|
|
54
|
-
return
|
|
84
|
+
return ImplAutomodule.writeFile;
|
|
55
85
|
}
|
|
56
86
|
get testFilePattern() {
|
|
57
87
|
return `
|
|
@@ -95,8 +125,39 @@ class NodeAutomodule {
|
|
|
95
125
|
export type ${this.interfaceName}Constructor = new () => ${this.interfaceName}
|
|
96
126
|
`;
|
|
97
127
|
}
|
|
128
|
+
get fakeFilePattern() {
|
|
129
|
+
return `
|
|
130
|
+
import { ${this.interfaceName} } from '../../modules/${this.implName}'
|
|
131
|
+
|
|
132
|
+
export default class Fake${this.interfaceName} implements ${this.interfaceName} {
|
|
133
|
+
public static numCallsToConstructor = 0
|
|
134
|
+
|
|
135
|
+
public constructor() {
|
|
136
|
+
Fake${this.interfaceName}.numCallsToConstructor++
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public static resetTestDouble() {
|
|
140
|
+
Fake${this.interfaceName}.numCallsToConstructor = 0
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
`;
|
|
144
|
+
}
|
|
145
|
+
get indexFilePattern() {
|
|
146
|
+
return `
|
|
147
|
+
${this.originalIndexFile}
|
|
148
|
+
|
|
149
|
+
// ${this.interfaceName}
|
|
150
|
+
|
|
151
|
+
export { default as ${this.implName} } from './modules/${this.implName}'
|
|
152
|
+
export * from './modules/${this.implName}'
|
|
153
|
+
|
|
154
|
+
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
155
|
+
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
156
|
+
`;
|
|
157
|
+
}
|
|
98
158
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
159
|
+
ImplAutomodule.pathExists = pathExists_1.default;
|
|
160
|
+
ImplAutomodule.readFile = promises_1.readFile;
|
|
161
|
+
ImplAutomodule.writeFile = promises_1.writeFile;
|
|
162
|
+
exports.default = ImplAutomodule;
|
|
163
|
+
//# sourceMappingURL=ImplAutomodule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImplAutomodule.js","sourceRoot":"","sources":["../../src/modules/ImplAutomodule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default class PackageAutodocumenter implements Autodocumenter {
|
|
2
|
+
static Class?: AutodocumenterConstructor;
|
|
3
|
+
protected constructor();
|
|
4
|
+
static Create(): PackageAutodocumenter;
|
|
5
|
+
}
|
|
6
|
+
export interface Autodocumenter {
|
|
7
|
+
}
|
|
8
|
+
export type AutodocumenterConstructor = new () => Autodocumenter;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class PackageAutodocumenter {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static Create() {
|
|
6
|
+
return new (this.Class ?? this)();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.default = PackageAutodocumenter;
|
|
10
|
+
//# sourceMappingURL=PackageAutodocumenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageAutodocumenter.js","sourceRoot":"","sources":["../../src/modules/PackageAutodocumenter.ts"],"names":[],"mappings":";;AAAA,MAAqB,qBAAqB;IAGtC,gBAAyB,CAAC;IAEnB,MAAM,CAAC,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAA;IACrC,CAAC;CACJ;AARD,wCAQC"}
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const ImplAutomodule_1 = __importDefault(require("../modules/ImplAutomodule"));
|
|
7
7
|
async function main() {
|
|
8
8
|
console.log('\nRunning automodule...');
|
|
9
|
-
const instance =
|
|
9
|
+
const instance = ImplAutomodule_1.default.Create({
|
|
10
10
|
testSaveDir: '/Users/ericthecurious/dev/meta-node/src/__tests__/modules',
|
|
11
11
|
moduleSaveDir: '/Users/ericthecurious/dev/meta-node/src/modules',
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
fakeSaveDir: '/Users/ericthecurious/dev/meta-node/src/testDoubles/Autodocumenter',
|
|
13
|
+
interfaceName: 'Autodocumenter',
|
|
14
|
+
implName: 'PackageAutodocumenter',
|
|
14
15
|
});
|
|
15
16
|
await instance.run();
|
|
16
17
|
console.log('Finished running automodule!\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAutomodule.js","sourceRoot":"","sources":["../../src/scripts/runAutomodule.ts"],"names":[],"mappings":";;;;;AAAA,+EAAsD;AAEtD,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,wBAAc,CAAC,MAAM,CAAC;QACnC,WAAW,EACP,2DAA2D;QAC/D,aAAa,EAAE,iDAAiD;QAChE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"runAutomodule.js","sourceRoot":"","sources":["../../src/scripts/runAutomodule.ts"],"names":[],"mappings":";;;;;AAAA,+EAAsD;AAEtD,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,wBAAc,CAAC,MAAM,CAAC;QACnC,WAAW,EACP,2DAA2D;QAC/D,aAAa,EAAE,iDAAiD;QAChE,WAAW,EACP,oEAAoE;QACxE,aAAa,EAAE,gBAAgB;QAC/B,QAAQ,EAAE,uBAAuB;KACpC,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACjD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class FakeAutodocumenter {
|
|
4
|
+
constructor() {
|
|
5
|
+
FakeAutodocumenter.numCallsToConstructor++;
|
|
6
|
+
}
|
|
7
|
+
static resetTestDouble() {
|
|
8
|
+
FakeAutodocumenter.numCallsToConstructor = 0;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
FakeAutodocumenter.numCallsToConstructor = 0;
|
|
12
|
+
exports.default = FakeAutodocumenter;
|
|
13
|
+
//# sourceMappingURL=FakeAutodocumenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeAutodocumenter.js","sourceRoot":"","sources":["../../../src/testDoubles/Autodocumenter/FakeAutodocumenter.ts"],"names":[],"mappings":";;AAEA,MAAqB,kBAAkB;IAGnC;QACI,kBAAkB,CAAC,qBAAqB,EAAE,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,kBAAkB,CAAC,qBAAqB,GAAG,CAAC,CAAA;IAChD,CAAC;;AARa,wCAAqB,GAAG,CAAC,CAAA;kBADtB,kBAAkB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Automodule, AutomoduleOptions } from '../../modules/
|
|
1
|
+
import { Automodule, AutomoduleOptions } from '../../modules/ImplAutomodule';
|
|
2
2
|
export default class FakeAutomodule implements Automodule {
|
|
3
3
|
static callsToConstructor: AutomoduleOptions[];
|
|
4
4
|
static numCallsToRun: number;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare let callsToReadFile: string[];
|
|
2
|
+
export declare function resetCallsToReadFile(): void;
|
|
3
|
+
export declare let fakeReadFileResult: string;
|
|
4
|
+
export declare function setFakeReadFileResult(result: string): void;
|
|
5
|
+
export default function fakeReadFile(file: string): Promise<string>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fakeReadFileResult = exports.callsToReadFile = void 0;
|
|
4
|
+
exports.resetCallsToReadFile = resetCallsToReadFile;
|
|
5
|
+
exports.setFakeReadFileResult = setFakeReadFileResult;
|
|
6
|
+
exports.default = fakeReadFile;
|
|
7
|
+
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
8
|
+
exports.callsToReadFile = [];
|
|
9
|
+
function resetCallsToReadFile() {
|
|
10
|
+
exports.callsToReadFile = [];
|
|
11
|
+
}
|
|
12
|
+
exports.fakeReadFileResult = (0, test_utils_1.generateId)();
|
|
13
|
+
function setFakeReadFileResult(result) {
|
|
14
|
+
exports.fakeReadFileResult = result;
|
|
15
|
+
}
|
|
16
|
+
async function fakeReadFile(file) {
|
|
17
|
+
exports.callsToReadFile.push(file);
|
|
18
|
+
return exports.fakeReadFileResult;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=fakeReadFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fakeReadFile.js","sourceRoot":"","sources":["../../../src/testDoubles/fs/fakeReadFile.ts"],"names":[],"mappings":";;;AAIA,oDAEC;AAID,sDAEC;AAED,+BAGC;AAjBD,uDAAmD;AAExC,QAAA,eAAe,GAAa,EAAE,CAAA;AAEzC,SAAgB,oBAAoB;IAChC,uBAAe,GAAG,EAAE,CAAA;AACxB,CAAC;AAEU,QAAA,kBAAkB,GAAG,IAAA,uBAAU,GAAE,CAAA;AAE5C,SAAgB,qBAAqB,CAAC,MAAc;IAChD,0BAAkB,GAAG,MAAM,CAAA;AAC/B,CAAC;AAEc,KAAK,UAAU,YAAY,CAAC,IAAY;IACnD,uBAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,0BAAkB,CAAA;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fakeWriteFile.js","sourceRoot":"","sources":["../../../src/testDoubles/fs/fakeWriteFile.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"fakeWriteFile.js","sourceRoot":"","sources":["../../../src/testDoubles/fs/fakeWriteFile.ts"],"names":[],"mappings":";;;AAKA,sDAEC;AAED,gCAEC;AAXU,QAAA,gBAAgB,GAGrB,EAAE,CAAA;AAER,SAAgB,qBAAqB;IACjC,wBAAgB,GAAG,EAAE,CAAA;AACzB,CAAC;AAEc,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IAClE,wBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/meta-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Meta-layer utilities for maintaining Node.js package ecosystems.",
|
|
5
|
-
"
|
|
5
|
+
"keywords": [
|
|
6
|
+
"nodejs",
|
|
7
|
+
"typescript",
|
|
8
|
+
"tdd",
|
|
9
|
+
"git",
|
|
10
|
+
"npm",
|
|
11
|
+
"repositories",
|
|
12
|
+
"packages",
|
|
13
|
+
"modules",
|
|
14
|
+
"interfaces",
|
|
15
|
+
"implementations"
|
|
16
|
+
],
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Eric Yates <hello@ericthecurious.com>",
|
|
19
|
+
"homepage": "https://github.com/neurodevs/meta-node",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/neurodevs/meta-node.git"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/neurodevs/meta-node/issues"
|
|
26
|
+
},
|
|
6
27
|
"main": "build/index.js",
|
|
7
28
|
"scripts": {
|
|
8
29
|
"build.ci": "yarn run build.tsc && yarn run build.resolve-paths && yarn run lint",
|
|
@@ -26,6 +47,9 @@
|
|
|
26
47
|
"watch.rebuild": "yarn run clean.all && yarn install && yarn run watch.build.dev",
|
|
27
48
|
"watch.tsc": "tsc -w"
|
|
28
49
|
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"node-fetch": "^3.3.2"
|
|
52
|
+
},
|
|
29
53
|
"devDependencies": {
|
|
30
54
|
"@sprucelabs/jest-json-reporter": "^9.0.61",
|
|
31
55
|
"@sprucelabs/resolve-path-aliases": "^3.0.28",
|
|
@@ -63,8 +87,5 @@
|
|
|
63
87
|
},
|
|
64
88
|
"skill": {
|
|
65
89
|
"namespace": "meta-node"
|
|
66
|
-
},
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"node-fetch": "^3.3.2"
|
|
69
90
|
}
|
|
70
91
|
}
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
import { writeFile } from 'fs/promises'
|
|
1
|
+
import { readFile, writeFile } from 'fs/promises'
|
|
2
2
|
import AbstractSpruceTest, {
|
|
3
3
|
test,
|
|
4
4
|
assert,
|
|
5
5
|
generateId,
|
|
6
6
|
} from '@sprucelabs/test-utils'
|
|
7
|
-
import
|
|
7
|
+
import ImplAutomodule, { Automodule } from '../../modules/ImplAutomodule'
|
|
8
8
|
import fakePathExists, {
|
|
9
9
|
setPathShouldExist,
|
|
10
10
|
} from '../../testDoubles/fs/fakePathExists'
|
|
11
|
+
import fakeReadFile, {
|
|
12
|
+
fakeReadFileResult,
|
|
13
|
+
resetCallsToReadFile,
|
|
14
|
+
} from '../../testDoubles/fs/fakeReadFile'
|
|
11
15
|
import fakeWriteFile, {
|
|
12
16
|
callsToWriteFile,
|
|
13
17
|
resetCallsToWriteFile,
|
|
14
18
|
} from '../../testDoubles/fs/fakeWriteFile'
|
|
15
19
|
|
|
16
|
-
export default class
|
|
20
|
+
export default class ImplAutomoduleTest extends AbstractSpruceTest {
|
|
17
21
|
private static instance: Automodule
|
|
18
22
|
|
|
19
23
|
protected static async beforeEach() {
|
|
20
24
|
await super.beforeEach()
|
|
21
25
|
|
|
22
26
|
this.setFakePathExists()
|
|
27
|
+
this.setFakeReadFile()
|
|
23
28
|
this.setFakeWriteFile()
|
|
24
29
|
|
|
25
|
-
this.instance = this.
|
|
30
|
+
this.instance = this.ImplAutomodule()
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
@test()
|
|
@@ -56,6 +61,19 @@ export default class NodeAutomoduleTest extends AbstractSpruceTest {
|
|
|
56
61
|
)
|
|
57
62
|
}
|
|
58
63
|
|
|
64
|
+
@test()
|
|
65
|
+
protected static async runThrowsIfFakeSaveDirMissing() {
|
|
66
|
+
setPathShouldExist(this.fakeSaveDir, false)
|
|
67
|
+
|
|
68
|
+
const err = await assert.doesThrowAsync(async () => await this.run())
|
|
69
|
+
|
|
70
|
+
assert.isEqual(
|
|
71
|
+
err.message,
|
|
72
|
+
`fakeSaveDir does not exist: ${this.fakeSaveDir}!`,
|
|
73
|
+
'Did not receive the expected error!'
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
|
|
59
77
|
@test()
|
|
60
78
|
protected static async createsTestFileAsExpected() {
|
|
61
79
|
await this.run()
|
|
@@ -84,26 +102,62 @@ export default class NodeAutomoduleTest extends AbstractSpruceTest {
|
|
|
84
102
|
)
|
|
85
103
|
}
|
|
86
104
|
|
|
105
|
+
@test()
|
|
106
|
+
protected static async createsFakeFileAsExpected() {
|
|
107
|
+
await this.run()
|
|
108
|
+
|
|
109
|
+
assert.isEqualDeep(
|
|
110
|
+
callsToWriteFile[2],
|
|
111
|
+
{
|
|
112
|
+
file: `${this.fakeSaveDir}/Fake${this.interfaceName}.ts`,
|
|
113
|
+
data: this.fakeFilePattern,
|
|
114
|
+
},
|
|
115
|
+
'Did not write expected fake file!'
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@test()
|
|
120
|
+
protected static async updatesIndexFileExports() {
|
|
121
|
+
await this.run()
|
|
122
|
+
|
|
123
|
+
assert.isEqualDeep(
|
|
124
|
+
callsToWriteFile[3],
|
|
125
|
+
{
|
|
126
|
+
file: this.indexFilePath,
|
|
127
|
+
data: this.indexFilePattern,
|
|
128
|
+
},
|
|
129
|
+
'Did not update index file as expected!'
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
|
|
87
133
|
private static async run() {
|
|
88
134
|
return await this.instance.run()
|
|
89
135
|
}
|
|
90
136
|
|
|
91
137
|
private static setFakePathExists() {
|
|
92
|
-
|
|
138
|
+
ImplAutomodule.pathExists = fakePathExists
|
|
93
139
|
|
|
94
140
|
setPathShouldExist(this.testSaveDir, true)
|
|
95
141
|
setPathShouldExist(this.moduleSaveDir, true)
|
|
142
|
+
setPathShouldExist(this.fakeSaveDir, true)
|
|
143
|
+
setPathShouldExist(this.indexFilePath, true)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private static setFakeReadFile() {
|
|
147
|
+
ImplAutomodule.readFile = fakeReadFile as unknown as typeof readFile
|
|
148
|
+
resetCallsToReadFile()
|
|
96
149
|
}
|
|
97
150
|
|
|
98
151
|
private static setFakeWriteFile() {
|
|
99
|
-
|
|
152
|
+
ImplAutomodule.writeFile = fakeWriteFile as typeof writeFile
|
|
100
153
|
resetCallsToWriteFile()
|
|
101
154
|
}
|
|
155
|
+
private static readonly interfaceName = generateId()
|
|
156
|
+
private static readonly implName = generateId()
|
|
102
157
|
|
|
103
158
|
private static readonly testSaveDir = generateId()
|
|
104
159
|
private static readonly moduleSaveDir = generateId()
|
|
105
|
-
private static readonly
|
|
106
|
-
private static readonly implName = generateId()
|
|
160
|
+
private static readonly fakeSaveDir = generateId()
|
|
107
161
|
|
|
108
162
|
private static get testFilePattern() {
|
|
109
163
|
return `
|
|
@@ -149,10 +203,46 @@ export default class NodeAutomoduleTest extends AbstractSpruceTest {
|
|
|
149
203
|
`
|
|
150
204
|
}
|
|
151
205
|
|
|
152
|
-
private static
|
|
153
|
-
return
|
|
206
|
+
private static get fakeFilePattern() {
|
|
207
|
+
return `
|
|
208
|
+
import { ${this.interfaceName} } from '../../modules/${this.implName}'
|
|
209
|
+
|
|
210
|
+
export default class Fake${this.interfaceName} implements ${this.interfaceName} {
|
|
211
|
+
public static numCallsToConstructor = 0
|
|
212
|
+
|
|
213
|
+
public constructor() {
|
|
214
|
+
Fake${this.interfaceName}.numCallsToConstructor++
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
public static resetTestDouble() {
|
|
218
|
+
Fake${this.interfaceName}.numCallsToConstructor = 0
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
`
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
private static readonly indexFilePath = './src/index.ts'
|
|
225
|
+
private static readonly originalIndexFile = fakeReadFileResult
|
|
226
|
+
|
|
227
|
+
private static get indexFilePattern() {
|
|
228
|
+
return `
|
|
229
|
+
${this.originalIndexFile}
|
|
230
|
+
|
|
231
|
+
// ${this.interfaceName}
|
|
232
|
+
|
|
233
|
+
export { default as ${this.implName} } from './modules/${this.implName}'
|
|
234
|
+
export * from './modules/${this.implName}'
|
|
235
|
+
|
|
236
|
+
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
237
|
+
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
238
|
+
`
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
private static ImplAutomodule() {
|
|
242
|
+
return ImplAutomodule.Create({
|
|
154
243
|
testSaveDir: this.testSaveDir,
|
|
155
244
|
moduleSaveDir: this.moduleSaveDir,
|
|
245
|
+
fakeSaveDir: this.fakeSaveDir,
|
|
156
246
|
interfaceName: this.interfaceName,
|
|
157
247
|
implName: this.implName,
|
|
158
248
|
})
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import AbstractSpruceTest, { test, assert } from '@sprucelabs/test-utils'
|
|
2
|
+
import PackageAutodocumenter, {
|
|
3
|
+
Autodocumenter,
|
|
4
|
+
} from '../../modules/PackageAutodocumenter'
|
|
5
|
+
|
|
6
|
+
export default class PackageAutodocumenterTest extends AbstractSpruceTest {
|
|
7
|
+
private static instance: Autodocumenter
|
|
8
|
+
|
|
9
|
+
protected static async beforeEach() {
|
|
10
|
+
await super.beforeEach()
|
|
11
|
+
|
|
12
|
+
this.instance = this.PackageAutodocumenter()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@test()
|
|
16
|
+
protected static async createsInstance() {
|
|
17
|
+
assert.isTruthy(this.instance, 'Failed to create instance!')
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
private static PackageAutodocumenter() {
|
|
21
|
+
return PackageAutodocumenter.Create()
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -6,10 +6,18 @@ export * from './modules/GitAutocloner'
|
|
|
6
6
|
export { default as FakeAutocloner } from './testDoubles/Autocloner/FakeAutocloner'
|
|
7
7
|
export * from './testDoubles/Autocloner/FakeAutocloner'
|
|
8
8
|
|
|
9
|
+
// Autodocumenter
|
|
10
|
+
|
|
11
|
+
export { default as PackageAutodocumenter } from './modules/PackageAutodocumenter'
|
|
12
|
+
export * from './modules/PackageAutodocumenter'
|
|
13
|
+
|
|
14
|
+
export { default as FakeAutodocumenter } from './testDoubles/Autodocumenter/FakeAutodocumenter'
|
|
15
|
+
export * from './testDoubles/Autodocumenter/FakeAutodocumenter'
|
|
16
|
+
|
|
9
17
|
// Automodule
|
|
10
18
|
|
|
11
|
-
export { default as
|
|
12
|
-
export * from './modules/
|
|
19
|
+
export { default as ImplAutomodule } from './modules/ImplAutomodule'
|
|
20
|
+
export * from './modules/ImplAutomodule'
|
|
13
21
|
|
|
14
22
|
export { default as FakeAutomodule } from './testDoubles/Automodule/FakeAutomodule'
|
|
15
23
|
export * from './testDoubles/Automodule/FakeAutomodule'
|
|
@@ -27,5 +35,8 @@ export * from './testDoubles/Autopackage/FakeAutopackage'
|
|
|
27
35
|
export { default as fakePathExists } from './testDoubles/fs/fakePathExists'
|
|
28
36
|
export * from './testDoubles/fs/fakePathExists'
|
|
29
37
|
|
|
38
|
+
export { default as fakeReadFile } from './testDoubles/fs/fakeReadFile'
|
|
39
|
+
export * from './testDoubles/fs/fakeReadFile'
|
|
40
|
+
|
|
30
41
|
export { default as fakeWriteFile } from './testDoubles/fs/fakeWriteFile'
|
|
31
42
|
export * from './testDoubles/fs/fakeWriteFile'
|
|
@@ -1,22 +1,33 @@
|
|
|
1
|
-
import { writeFile } from 'fs/promises'
|
|
1
|
+
import { readFile, writeFile } from 'fs/promises'
|
|
2
2
|
import path from 'path'
|
|
3
3
|
import pathExists from './pathExists'
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class ImplAutomodule implements Automodule {
|
|
6
6
|
public static Class?: AutomoduleConstructor
|
|
7
7
|
public static pathExists = pathExists
|
|
8
|
+
public static readFile = readFile
|
|
8
9
|
public static writeFile = writeFile
|
|
9
10
|
|
|
10
11
|
private testSaveDir: string
|
|
11
12
|
private moduleSaveDir: string
|
|
13
|
+
private fakeSaveDir: string
|
|
12
14
|
private interfaceName: string
|
|
13
15
|
private implName: string
|
|
14
16
|
|
|
17
|
+
private originalIndexFile!: string
|
|
18
|
+
|
|
15
19
|
protected constructor(options: AutomoduleOptions) {
|
|
16
|
-
const {
|
|
20
|
+
const {
|
|
21
|
+
testSaveDir,
|
|
22
|
+
moduleSaveDir,
|
|
23
|
+
fakeSaveDir,
|
|
24
|
+
interfaceName,
|
|
25
|
+
implName,
|
|
26
|
+
} = options
|
|
17
27
|
|
|
18
28
|
this.testSaveDir = testSaveDir
|
|
19
29
|
this.moduleSaveDir = moduleSaveDir
|
|
30
|
+
this.fakeSaveDir = fakeSaveDir
|
|
20
31
|
this.interfaceName = interfaceName
|
|
21
32
|
this.implName = implName
|
|
22
33
|
}
|
|
@@ -28,16 +39,20 @@ export default class NodeAutomodule implements Automodule {
|
|
|
28
39
|
public async run() {
|
|
29
40
|
await this.throwIfTestDirDoesNotExist()
|
|
30
41
|
await this.throwIfModuleDirDoesNotExist()
|
|
42
|
+
await this.throwIfFakeDirDoesNotExist()
|
|
31
43
|
|
|
32
44
|
await this.createTestFile()
|
|
33
45
|
await this.createModuleFile()
|
|
46
|
+
await this.createFakeFile()
|
|
47
|
+
|
|
48
|
+
await this.updateIndexFileExports()
|
|
34
49
|
}
|
|
35
50
|
|
|
36
51
|
private async throwIfTestDirDoesNotExist() {
|
|
37
52
|
const testDirExists = await this.pathExists(this.testSaveDir)
|
|
38
53
|
|
|
39
54
|
if (!testDirExists) {
|
|
40
|
-
throw
|
|
55
|
+
this.throw(`testSaveDir does not exist: ${this.testSaveDir}!`)
|
|
41
56
|
}
|
|
42
57
|
}
|
|
43
58
|
|
|
@@ -45,12 +60,22 @@ export default class NodeAutomodule implements Automodule {
|
|
|
45
60
|
const moduleDirExists = await this.pathExists(this.moduleSaveDir)
|
|
46
61
|
|
|
47
62
|
if (!moduleDirExists) {
|
|
48
|
-
throw
|
|
49
|
-
`moduleSaveDir does not exist: ${this.moduleSaveDir}!`
|
|
50
|
-
)
|
|
63
|
+
this.throw(`moduleSaveDir does not exist: ${this.moduleSaveDir}!`)
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
66
|
|
|
67
|
+
private async throwIfFakeDirDoesNotExist() {
|
|
68
|
+
const fakeDirExists = await this.pathExists(this.fakeSaveDir)
|
|
69
|
+
|
|
70
|
+
if (!fakeDirExists) {
|
|
71
|
+
this.throw(`fakeSaveDir does not exist: ${this.fakeSaveDir}!`)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private throw(err: string) {
|
|
76
|
+
throw new Error(err)
|
|
77
|
+
}
|
|
78
|
+
|
|
54
79
|
private async createTestFile() {
|
|
55
80
|
await this.writeFile(this.testFileName, this.testFilePattern)
|
|
56
81
|
}
|
|
@@ -67,12 +92,35 @@ export default class NodeAutomodule implements Automodule {
|
|
|
67
92
|
return path.join(this.moduleSaveDir, `${this.implName}.ts`)
|
|
68
93
|
}
|
|
69
94
|
|
|
95
|
+
private async createFakeFile() {
|
|
96
|
+
await this.writeFile(this.fakeFileName, this.fakeFilePattern)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private get fakeFileName() {
|
|
100
|
+
return path.join(this.fakeSaveDir, `Fake${this.interfaceName}.ts`)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private async updateIndexFileExports() {
|
|
104
|
+
this.originalIndexFile = await this.loadOriginalIndexFile()
|
|
105
|
+
await this.writeFile(this.indexFilePath, this.indexFilePattern)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private async loadOriginalIndexFile() {
|
|
109
|
+
return await this.readFile(this.indexFilePath, 'utf-8')
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private readonly indexFilePath = './src/index.ts'
|
|
113
|
+
|
|
70
114
|
private get pathExists() {
|
|
71
|
-
return
|
|
115
|
+
return ImplAutomodule.pathExists
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private get readFile() {
|
|
119
|
+
return ImplAutomodule.readFile
|
|
72
120
|
}
|
|
73
121
|
|
|
74
122
|
private get writeFile() {
|
|
75
|
-
return
|
|
123
|
+
return ImplAutomodule.writeFile
|
|
76
124
|
}
|
|
77
125
|
|
|
78
126
|
private get testFilePattern() {
|
|
@@ -118,6 +166,38 @@ export default class NodeAutomodule implements Automodule {
|
|
|
118
166
|
export type ${this.interfaceName}Constructor = new () => ${this.interfaceName}
|
|
119
167
|
`
|
|
120
168
|
}
|
|
169
|
+
|
|
170
|
+
private get fakeFilePattern() {
|
|
171
|
+
return `
|
|
172
|
+
import { ${this.interfaceName} } from '../../modules/${this.implName}'
|
|
173
|
+
|
|
174
|
+
export default class Fake${this.interfaceName} implements ${this.interfaceName} {
|
|
175
|
+
public static numCallsToConstructor = 0
|
|
176
|
+
|
|
177
|
+
public constructor() {
|
|
178
|
+
Fake${this.interfaceName}.numCallsToConstructor++
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
public static resetTestDouble() {
|
|
182
|
+
Fake${this.interfaceName}.numCallsToConstructor = 0
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
`
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
private get indexFilePattern() {
|
|
189
|
+
return `
|
|
190
|
+
${this.originalIndexFile}
|
|
191
|
+
|
|
192
|
+
// ${this.interfaceName}
|
|
193
|
+
|
|
194
|
+
export { default as ${this.implName} } from './modules/${this.implName}'
|
|
195
|
+
export * from './modules/${this.implName}'
|
|
196
|
+
|
|
197
|
+
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
198
|
+
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
199
|
+
`
|
|
200
|
+
}
|
|
121
201
|
}
|
|
122
202
|
|
|
123
203
|
export interface Automodule {
|
|
@@ -131,6 +211,7 @@ export type AutomoduleConstructor = new (
|
|
|
131
211
|
export interface AutomoduleOptions {
|
|
132
212
|
testSaveDir: string
|
|
133
213
|
moduleSaveDir: string
|
|
214
|
+
fakeSaveDir: string
|
|
134
215
|
interfaceName: string
|
|
135
216
|
implName: string
|
|
136
217
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default class PackageAutodocumenter implements Autodocumenter {
|
|
2
|
+
public static Class?: AutodocumenterConstructor
|
|
3
|
+
|
|
4
|
+
protected constructor() {}
|
|
5
|
+
|
|
6
|
+
public static Create() {
|
|
7
|
+
return new (this.Class ?? this)()
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface Autodocumenter {}
|
|
12
|
+
|
|
13
|
+
export type AutodocumenterConstructor = new () => Autodocumenter
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ImplAutomodule from '../modules/ImplAutomodule'
|
|
2
2
|
|
|
3
3
|
async function main() {
|
|
4
4
|
console.log('\nRunning automodule...')
|
|
5
5
|
|
|
6
|
-
const instance =
|
|
6
|
+
const instance = ImplAutomodule.Create({
|
|
7
7
|
testSaveDir:
|
|
8
8
|
'/Users/ericthecurious/dev/meta-node/src/__tests__/modules',
|
|
9
9
|
moduleSaveDir: '/Users/ericthecurious/dev/meta-node/src/modules',
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
fakeSaveDir:
|
|
11
|
+
'/Users/ericthecurious/dev/meta-node/src/testDoubles/Autodocumenter',
|
|
12
|
+
interfaceName: 'Autodocumenter',
|
|
13
|
+
implName: 'PackageAutodocumenter',
|
|
12
14
|
})
|
|
13
15
|
|
|
14
16
|
await instance.run()
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Autodocumenter } from '../../modules/PackageAutodocumenter'
|
|
2
|
+
|
|
3
|
+
export default class FakeAutodocumenter implements Autodocumenter {
|
|
4
|
+
public static numCallsToConstructor = 0
|
|
5
|
+
|
|
6
|
+
public constructor() {
|
|
7
|
+
FakeAutodocumenter.numCallsToConstructor++
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
public static resetTestDouble() {
|
|
11
|
+
FakeAutodocumenter.numCallsToConstructor = 0
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Automodule, AutomoduleOptions } from '../../modules/
|
|
1
|
+
import { Automodule, AutomoduleOptions } from '../../modules/ImplAutomodule'
|
|
2
2
|
|
|
3
3
|
export default class FakeAutomodule implements Automodule {
|
|
4
4
|
public static callsToConstructor: AutomoduleOptions[] = []
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { generateId } from '@sprucelabs/test-utils'
|
|
2
|
+
|
|
3
|
+
export let callsToReadFile: string[] = []
|
|
4
|
+
|
|
5
|
+
export function resetCallsToReadFile() {
|
|
6
|
+
callsToReadFile = []
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export let fakeReadFileResult = generateId()
|
|
10
|
+
|
|
11
|
+
export function setFakeReadFileResult(result: string) {
|
|
12
|
+
fakeReadFileResult = result
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default async function fakeReadFile(file: string) {
|
|
16
|
+
callsToReadFile.push(file)
|
|
17
|
+
return fakeReadFileResult
|
|
18
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodeAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/NodeAutomodule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodeAutomodule.js","sourceRoot":"","sources":["../../src/modules/NodeAutomodule.ts"],"names":[],"mappings":";;;;;AAAA,0CAAuC;AACvC,gDAAuB;AACvB,8DAAqC;AAErC,MAAqB,cAAc;IAU/B,YAAsB,OAA0B;QAC5C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAEvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA0B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAA;QACvC,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAA;QAEzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACjC,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,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACvE,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,MAAM,IAAI,KAAK,CACX,iCAAiC,IAAI,CAAC,aAAa,GAAG,CACzD,CAAA;QACL,CAAC;IACL,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,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,UAAU,CAAC,CAAA;IAClE,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,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAA;IAC/D,CAAC;IAED,IAAY,UAAU;QAClB,OAAO,cAAc,CAAC,UAAU,CAAA;IACpC,CAAC;IAED,IAAY,SAAS;QACjB,OAAO,cAAc,CAAC,SAAS,CAAA;IACnC,CAAC;IAED,IAAY,eAAe;QACvB,OAAO;;qBAEM,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,aAAa,0BAA0B,IAAI,CAAC,QAAQ;;mCAE/D,IAAI,CAAC,QAAQ;2CACL,IAAI,CAAC,aAAa;;;;;2CAKlB,IAAI,CAAC,QAAQ;;;;;;;;iCAQvB,IAAI,CAAC,QAAQ;6BACjB,IAAI,CAAC,QAAQ;;;SAGjC,CAAA;IACL,CAAC;IAED,IAAY,iBAAiB;QACzB,OAAO;mCACoB,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,aAAa;wCACzC,IAAI,CAAC,aAAa;;;;;;;;;+BAS3B,IAAI,CAAC,aAAa;;0BAEvB,IAAI,CAAC,aAAa,2BAA2B,IAAI,CAAC,aAAa;SAChF,CAAA;IACL,CAAC;;AAjHa,yBAAU,GAAG,oBAAU,CAAA;AACvB,wBAAS,GAAG,oBAAS,CAAA;kBAHlB,cAAc"}
|