node-cli-tester 18.0.19 → 18.0.21
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/assets/shared/shared_folder_info.txt +1 -1
- package/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/base-project-structure.backend.js +38 -47
- package/lib/base-project-structure.backend.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/cli-test.backend.js +101 -126
- package/lib/cli-test.backend.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/meta-content-md.backend.js +167 -214
- package/lib/meta-content-md.backend.js.map +1 -1
- package/lib/node-cli-tester.js +151 -236
- package/lib/node-cli-tester.js.map +1 -1
- package/lib/spec-templates.backend.js +90 -30
- package/lib/spec-templates.backend.js.map +1 -1
- package/lib/start.backend.js +15 -10
- package/lib/start.backend.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +5 -45
- package/src.d.ts +1 -1
- package/tmp-environment.json +8 -379
- package/browser/package.json +0 -25
- package/taon.jsonc +0 -39
- package/websql/package.json +0 -25
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (node-cli-tester@18.0.
|
|
3
|
+
Assets from this folder are being shipped with this npm package (node-cli-tester@18.0.20)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
package/index.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
tslib_1.__exportStar(require("./lib"), exports);
|
|
17
|
+
__exportStar(require("./lib"), exports);
|
|
5
18
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
|
|
@@ -2,60 +2,53 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseProjectStructure = void 0;
|
|
4
4
|
//#region imports
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const tnp_core_1 = require("tnp-core");
|
|
6
|
+
const tnp_helpers_1 = require("tnp-helpers");
|
|
7
7
|
//#endregion
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
class BaseProjectStructure {
|
|
9
|
+
cwd;
|
|
10
|
+
static BASE_STRUCTURES_FOLDER = 'base-structures';
|
|
11
|
+
get baseStructureHash() {
|
|
12
|
+
return tnp_core_1.path.basename(this.cwd);
|
|
13
|
+
}
|
|
14
|
+
get projectPathBasename() {
|
|
15
|
+
return tnp_core_1._.first(tnp_core_1.path.basename(this.cwd).split('__'));
|
|
16
|
+
}
|
|
17
|
+
constructor(cwd) {
|
|
10
18
|
this.cwd = cwd;
|
|
11
19
|
}
|
|
12
|
-
|
|
13
|
-
get: function () {
|
|
14
|
-
return tnp_core_1.path.basename(this.cwd);
|
|
15
|
-
},
|
|
16
|
-
enumerable: false,
|
|
17
|
-
configurable: true
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(BaseProjectStructure.prototype, "projectPathBasename", {
|
|
20
|
-
get: function () {
|
|
21
|
-
return tnp_core_1._.first(tnp_core_1.path.basename(this.cwd).split('__'));
|
|
22
|
-
},
|
|
23
|
-
enumerable: false,
|
|
24
|
-
configurable: true
|
|
25
|
-
});
|
|
26
|
-
BaseProjectStructure.prototype.copyto = function (destinationCwd, basename) {
|
|
20
|
+
copyto(destinationCwd, basename) {
|
|
27
21
|
tnp_helpers_1.Helpers.copy(this.cwd, tnp_core_1.path.join(destinationCwd, basename ? basename : this.projectPathBasename));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return tnp_helpers_1.Helpers.foldersFrom(folderPath).map(
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
var abasolutePAth = tnp_core_1.path.join(orgCwd, file.relativePath);
|
|
22
|
+
}
|
|
23
|
+
static allBaseStructures(cwd) {
|
|
24
|
+
const folderPath = tnp_core_1.path.join(cwd, this.BASE_STRUCTURES_FOLDER);
|
|
25
|
+
return tnp_helpers_1.Helpers.foldersFrom(folderPath).map(f => new BaseProjectStructure(f));
|
|
26
|
+
}
|
|
27
|
+
static generate(project) {
|
|
28
|
+
const that = this;
|
|
29
|
+
const orgCwd = tnp_core_1.path.join(project.location);
|
|
30
|
+
const files = []; //= project.forEmptyStructure();
|
|
31
|
+
const filesWithoutLinks = files.filter(f => !f.relativeLinkFrom);
|
|
32
|
+
let hash = files.length.toString();
|
|
33
|
+
for (let index = 0; index < filesWithoutLinks.length; index++) {
|
|
34
|
+
const file = filesWithoutLinks[index];
|
|
35
|
+
const abasolutePAth = tnp_core_1.path.join(orgCwd, file.relativePath);
|
|
43
36
|
hash += (file.relativePath.length + 1).toString() +
|
|
44
|
-
(tnp_helpers_1.Helpers.isFolder(abasolutePAth) ? '' : (
|
|
37
|
+
(tnp_helpers_1.Helpers.isFolder(abasolutePAth) ? '' : (tnp_helpers_1.Helpers.readFile(abasolutePAth)?.length + 1).toString());
|
|
45
38
|
}
|
|
46
|
-
hash =
|
|
39
|
+
hash = `${project.name}__${tnp_helpers_1.Helpers.checksum(hash)}`;
|
|
47
40
|
return {
|
|
48
|
-
insideIfNotExists
|
|
49
|
-
|
|
41
|
+
insideIfNotExists(destinationCwd) {
|
|
42
|
+
const destStruct = tnp_core_1.path.join(destinationCwd, that.BASE_STRUCTURES_FOLDER, hash);
|
|
50
43
|
if (tnp_helpers_1.Helpers.exists(destStruct)) {
|
|
51
|
-
tnp_helpers_1.Helpers.log(
|
|
44
|
+
tnp_helpers_1.Helpers.log(`Base structure with name: ${hash}`);
|
|
52
45
|
return hash;
|
|
53
46
|
}
|
|
54
47
|
tnp_helpers_1.Helpers.removeFolderIfExists(destStruct);
|
|
55
|
-
for (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
for (let index = 0; index < filesWithoutLinks.length; index++) {
|
|
49
|
+
const file = filesWithoutLinks[index];
|
|
50
|
+
const orgPath = tnp_core_1.path.join(orgCwd, file.relativePath);
|
|
51
|
+
const destPath = tnp_core_1.path.join(destStruct, file.relativePath);
|
|
59
52
|
tnp_helpers_1.Helpers.mkdirp(tnp_core_1.path.dirname(destPath));
|
|
60
53
|
if (tnp_helpers_1.Helpers.isFolder(orgPath)) {
|
|
61
54
|
if (file.includeContent) {
|
|
@@ -77,9 +70,7 @@ var BaseProjectStructure = /** @class */ (function () {
|
|
|
77
70
|
return hash;
|
|
78
71
|
}
|
|
79
72
|
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return BaseProjectStructure;
|
|
83
|
-
}());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
84
75
|
exports.BaseProjectStructure = BaseProjectStructure;
|
|
85
76
|
//# sourceMappingURL=base-project-structure.backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-project-structure.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,
|
|
1
|
+
{"version":3,"file":"base-project-structure.backend.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/lib/base-project-structure.backend.ts"],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,uCAAmC;AACnC,6CAA8D;AAC9D,YAAY;AAEZ,MAAa,oBAAoB;IAWrB;IAVV,MAAM,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;IAClD,IAAI,iBAAiB;QACnB,OAAO,eAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,YAAC,CAAC,KAAK,CAAC,eAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,YACU,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAGrB,CAAC;IAED,MAAM,CAAC,cAAsB,EAAE,QAAiB;QAC9C,qBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG;QAC1B,MAAM,UAAU,GAAG,eAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/D,OAAO,qBAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,QAAQ,CAA8B,OAAU;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,MAAM,GAAG,eAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,gCAAgC;QAClD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACjE,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,eAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC/C,CAAC,qBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,qBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,iBAAiB,CAAC,cAAsB;gBACtC,MAAM,UAAU,GAAG,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;gBAChF,IAAI,qBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,qBAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qBAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9D,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM,OAAO,GAAG,eAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,eAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1D,qBAAO,CAAC,MAAM,CAAC,eAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvC,IAAI,qBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;4BACxB,qBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;wBACjC,CAAC;6BAAM,CAAC;4BACN,qBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;4BACxB,qBAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACN,qBAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAA;IACH,CAAC;;AApEH,oDAsEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/lib/build-info._auto-generated_.ts"],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
|
package/lib/cli-test.backend.js
CHANGED
|
@@ -1,170 +1,145 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CliTest = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
4
|
//#region imports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const tnp_core_1 = require("tnp-core");
|
|
6
|
+
const tnp_config_1 = require("tnp-config");
|
|
7
|
+
const tnp_helpers_1 = require("tnp-helpers");
|
|
8
|
+
const meta_content_md_backend_1 = require("./meta-content-md.backend");
|
|
9
|
+
const typescript_class_helpers_1 = require("typescript-class-helpers");
|
|
11
10
|
//#endregion
|
|
12
|
-
|
|
11
|
+
class CliTest {
|
|
12
|
+
cwd;
|
|
13
|
+
testName;
|
|
14
|
+
static NAME_FOR_CLI_TESTS_FOLDER = 'src/tests/tests-cli';
|
|
15
|
+
testDirnamePath;
|
|
16
|
+
//#region singleton / static inst
|
|
17
|
+
static instances = {};
|
|
18
|
+
static allFrom(cwd) {
|
|
19
|
+
const folderWithTests = tnp_core_1.path.join(cwd, this.NAME_FOR_CLI_TESTS_FOLDER);
|
|
20
|
+
const folders = tnp_helpers_1.Helpers.foldersFrom(folderWithTests);
|
|
21
|
+
const tests = folders.map(f => CliTest.from(f)).filter(f => !!f);
|
|
22
|
+
return tests;
|
|
23
|
+
}
|
|
24
|
+
static getBy(cwd, timeHash) {
|
|
25
|
+
return this.allFrom(cwd).find(c => !tnp_core_1._.isUndefined(c.metaMd.all.find(c => c.readonlyMetaJson.timeHash === timeHash)));
|
|
26
|
+
}
|
|
27
|
+
static from(cwd, testName) {
|
|
28
|
+
if (!testName) {
|
|
29
|
+
testName = tnp_core_1.path.basename(cwd);
|
|
30
|
+
cwd = tnp_core_1.path.dirname(cwd);
|
|
31
|
+
}
|
|
32
|
+
if (!CliTest.instances[cwd]) {
|
|
33
|
+
CliTest.instances[cwd] = {};
|
|
34
|
+
}
|
|
35
|
+
if (!CliTest.instances[cwd][testName]) {
|
|
36
|
+
CliTest.instances[cwd][testName] = new CliTest(cwd, testName);
|
|
37
|
+
}
|
|
38
|
+
return CliTest.instances[cwd][testName];
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region getters
|
|
42
|
+
//#region getters / meta md
|
|
43
|
+
get metaMd() {
|
|
44
|
+
const that = this;
|
|
45
|
+
return {
|
|
46
|
+
get all() {
|
|
47
|
+
return meta_content_md_backend_1.MetaMd.allInstancesFrom(that.testDirnamePath);
|
|
48
|
+
},
|
|
49
|
+
async add(originalFilePath, baseCwd, NodeCliTestrClass) {
|
|
50
|
+
await meta_content_md_backend_1.MetaMd.preserveFiles(originalFilePath, that.testDirnamePath, baseCwd, NodeCliTestrClass.foundProjectsFn, that.cwd);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region getters / pathes
|
|
56
|
+
get firedev_jsonc() {
|
|
57
|
+
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file.firedev_jsonc);
|
|
58
|
+
}
|
|
59
|
+
get packageJsonPath() {
|
|
60
|
+
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file.package_json);
|
|
61
|
+
}
|
|
62
|
+
get gitignorePath() {
|
|
63
|
+
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file._gitignore);
|
|
64
|
+
}
|
|
65
|
+
get specTsPath() {
|
|
66
|
+
return tnp_core_1.path.join(this.testDirnamePath, `${tnp_core_1._.kebabCase(this.testName)}.spec.ts`);
|
|
67
|
+
}
|
|
13
68
|
//#endregion
|
|
14
69
|
//#endregion
|
|
15
70
|
//#region constructor / init
|
|
16
|
-
|
|
71
|
+
constructor(cwd, testName) {
|
|
17
72
|
this.cwd = cwd;
|
|
18
73
|
this.testName = testName;
|
|
19
74
|
cwd = cwd.endsWith(CliTest.NAME_FOR_CLI_TESTS_FOLDER) ? cwd.replace(CliTest.NAME_FOR_CLI_TESTS_FOLDER, '') : cwd;
|
|
20
75
|
this.cwd = cwd;
|
|
21
76
|
this.testDirnamePath = tnp_core_1.path.join(cwd, CliTest.NAME_FOR_CLI_TESTS_FOLDER, tnp_core_1._.kebabCase(this.testName));
|
|
22
|
-
|
|
23
|
-
|
|
77
|
+
const pathToTempEnvs = tnp_core_1.path.join(cwd, tnp_config_1.config.folder.tmpTestsEnvironments);
|
|
78
|
+
const pathToEnvs = tnp_core_1.path.join(cwd, tnp_config_1.config.folder.testsEnvironments);
|
|
24
79
|
tnp_helpers_1.Helpers.createSymLink(pathToTempEnvs, pathToEnvs, {
|
|
25
80
|
continueWhenExistedFolderDoesntExists: true
|
|
26
81
|
});
|
|
27
82
|
if (tnp_helpers_1.Helpers.exists(this.firedev_jsonc)) {
|
|
28
|
-
|
|
83
|
+
const testNameFromPJ5 = tnp_helpers_1.Helpers.readJson(this.firedev_jsonc, {}, true).description;
|
|
29
84
|
if (testNameFromPJ5) {
|
|
30
85
|
testName = testNameFromPJ5;
|
|
31
86
|
this.testName = testName;
|
|
32
87
|
}
|
|
33
88
|
}
|
|
34
89
|
}
|
|
35
|
-
CliTest.allFrom = function (cwd) {
|
|
36
|
-
var folderWithTests = tnp_core_1.path.join(cwd, this.NAME_FOR_CLI_TESTS_FOLDER);
|
|
37
|
-
var folders = tnp_helpers_1.Helpers.foldersFrom(folderWithTests);
|
|
38
|
-
var tests = folders.map(function (f) { return CliTest.from(f); }).filter(function (f) { return !!f; });
|
|
39
|
-
return tests;
|
|
40
|
-
};
|
|
41
|
-
CliTest.getBy = function (cwd, timeHash) {
|
|
42
|
-
return this.allFrom(cwd).find(function (c) { return !tnp_core_1._.isUndefined(c.metaMd.all.find(function (c) { return c.readonlyMetaJson.timeHash === timeHash; })); });
|
|
43
|
-
};
|
|
44
|
-
CliTest.from = function (cwd, testName) {
|
|
45
|
-
if (!testName) {
|
|
46
|
-
testName = tnp_core_1.path.basename(cwd);
|
|
47
|
-
cwd = tnp_core_1.path.dirname(cwd);
|
|
48
|
-
}
|
|
49
|
-
if (!CliTest.instances[cwd]) {
|
|
50
|
-
CliTest.instances[cwd] = {};
|
|
51
|
-
}
|
|
52
|
-
if (!CliTest.instances[cwd][testName]) {
|
|
53
|
-
CliTest.instances[cwd][testName] = new CliTest(cwd, testName);
|
|
54
|
-
}
|
|
55
|
-
return CliTest.instances[cwd][testName];
|
|
56
|
-
};
|
|
57
|
-
Object.defineProperty(CliTest.prototype, "metaMd", {
|
|
58
|
-
//#endregion
|
|
59
|
-
//#region getters
|
|
60
|
-
//#region getters / meta md
|
|
61
|
-
get: function () {
|
|
62
|
-
var that = this;
|
|
63
|
-
return {
|
|
64
|
-
get all() {
|
|
65
|
-
return meta_content_md_backend_1.MetaMd.allInstancesFrom(that.testDirnamePath);
|
|
66
|
-
},
|
|
67
|
-
add: function (originalFilePath, baseCwd, NodeCliTestrClass) {
|
|
68
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
69
|
-
return tslib_1.__generator(this, function (_a) {
|
|
70
|
-
switch (_a.label) {
|
|
71
|
-
case 0: return [4 /*yield*/, meta_content_md_backend_1.MetaMd.preserveFiles(originalFilePath, that.testDirnamePath, baseCwd, NodeCliTestrClass.foundProjectsFn, that.cwd)];
|
|
72
|
-
case 1:
|
|
73
|
-
_a.sent();
|
|
74
|
-
return [2 /*return*/];
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
},
|
|
81
|
-
enumerable: false,
|
|
82
|
-
configurable: true
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(CliTest.prototype, "firedev_jsonc", {
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region getters / pathes
|
|
87
|
-
get: function () {
|
|
88
|
-
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file.firedev_jsonc);
|
|
89
|
-
},
|
|
90
|
-
enumerable: false,
|
|
91
|
-
configurable: true
|
|
92
|
-
});
|
|
93
|
-
Object.defineProperty(CliTest.prototype, "packageJsonPath", {
|
|
94
|
-
get: function () {
|
|
95
|
-
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file.package_json);
|
|
96
|
-
},
|
|
97
|
-
enumerable: false,
|
|
98
|
-
configurable: true
|
|
99
|
-
});
|
|
100
|
-
Object.defineProperty(CliTest.prototype, "gitignorePath", {
|
|
101
|
-
get: function () {
|
|
102
|
-
return tnp_core_1.path.join(this.testDirnamePath, tnp_config_1.config.file._gitignore);
|
|
103
|
-
},
|
|
104
|
-
enumerable: false,
|
|
105
|
-
configurable: true
|
|
106
|
-
});
|
|
107
|
-
Object.defineProperty(CliTest.prototype, "specTsPath", {
|
|
108
|
-
get: function () {
|
|
109
|
-
return tnp_core_1.path.join(this.testDirnamePath, "".concat(tnp_core_1._.kebabCase(this.testName), ".spec.ts"));
|
|
110
|
-
},
|
|
111
|
-
enumerable: false,
|
|
112
|
-
configurable: true
|
|
113
|
-
});
|
|
114
90
|
//#endregion
|
|
115
91
|
//#region public api
|
|
116
92
|
//#region regenerate
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return require('./spec-templates.backend'); })];
|
|
130
|
-
case 1: return [4 /*yield*/, (_a.sent()).TestTemplates];
|
|
131
|
-
case 2:
|
|
132
|
-
TestTemplatesClass = _a.sent();
|
|
133
|
-
_a.label = 3;
|
|
134
|
-
case 3:
|
|
135
|
-
TestTemplatesClass.regenerateSpecTs(this.specTsPath, this.testName);
|
|
136
|
-
this.regenerateGitIgnore();
|
|
137
|
-
return [2 /*return*/];
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
};
|
|
93
|
+
async regenerateFiles() {
|
|
94
|
+
if (!tnp_helpers_1.Helpers.exists(this.testDirnamePath)) {
|
|
95
|
+
tnp_helpers_1.Helpers.mkdirp(this.testDirnamePath);
|
|
96
|
+
}
|
|
97
|
+
this.regeneratePackageJson5();
|
|
98
|
+
let TestTemplatesClass = typescript_class_helpers_1.CLASS.getBy('TestTemplates');
|
|
99
|
+
if (!TestTemplatesClass) {
|
|
100
|
+
TestTemplatesClass = await (await Promise.resolve().then(() => require('./spec-templates.backend'))).TestTemplates;
|
|
101
|
+
}
|
|
102
|
+
TestTemplatesClass.regenerateSpecTs(this.specTsPath, this.testName);
|
|
103
|
+
this.regenerateGitIgnore();
|
|
104
|
+
}
|
|
142
105
|
//#endregion
|
|
143
106
|
//#endregion
|
|
144
107
|
//#region private methods
|
|
145
108
|
//#region regenerate package json 5
|
|
146
|
-
|
|
109
|
+
regeneratePackageJson5() {
|
|
147
110
|
if (!tnp_helpers_1.Helpers.exists(this.firedev_jsonc)) {
|
|
148
111
|
tnp_helpers_1.Helpers.writeFile(this.firedev_jsonc,
|
|
149
112
|
//#region content of package.json5
|
|
150
|
-
|
|
113
|
+
`{
|
|
114
|
+
// generated from basename
|
|
115
|
+
"name": "${tnp_core_1._.kebabCase(this.testName)}",
|
|
116
|
+
"description": "${this.testName}",
|
|
117
|
+
"tnp": {
|
|
118
|
+
"type": "cli-test"
|
|
119
|
+
},
|
|
120
|
+
"version": "0.0.0",
|
|
121
|
+
}`
|
|
151
122
|
//#endregion
|
|
152
123
|
);
|
|
153
124
|
}
|
|
154
|
-
}
|
|
125
|
+
}
|
|
155
126
|
//#endregion
|
|
156
127
|
//#region regenerate gitignore
|
|
157
|
-
|
|
128
|
+
regenerateGitIgnore() {
|
|
158
129
|
tnp_helpers_1.Helpers.writeFile(this.gitignorePath,
|
|
159
130
|
//#region content of .gitignore
|
|
160
|
-
|
|
131
|
+
`
|
|
132
|
+
/**/*.*
|
|
133
|
+
!/.gitignore
|
|
134
|
+
!/${tnp_core_1.path.basename(this.specTsPath)}
|
|
135
|
+
!/package.json
|
|
136
|
+
!/package.json5
|
|
137
|
+
!/*.md
|
|
138
|
+
|
|
139
|
+
`
|
|
161
140
|
//#endregion
|
|
162
141
|
);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
//#region singleton / static inst
|
|
166
|
-
CliTest.instances = {};
|
|
167
|
-
return CliTest;
|
|
168
|
-
}());
|
|
142
|
+
}
|
|
143
|
+
}
|
|
169
144
|
exports.CliTest = CliTest;
|
|
170
145
|
//# sourceMappingURL=cli-test.backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-test.backend.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-test.backend.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/lib/cli-test.backend.ts"],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,uCAAmC;AACnC,2CAAoC;AACpC,6CAAsC;AACtC,uEAAmD;AAGnD,uEAAiD;AACjD,YAAY;AAEZ,MAAa,OAAO;IAkFT;IACA;IAlFT,MAAM,CAAU,yBAAyB,GAAG,qBAAqB,CAAC;IACzD,eAAe,CAAS;IAEjC,kCAAkC;IAC1B,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,GAAW;QACxB,MAAM,eAAe,GAAG,eAAI,CAAC,IAAI,CAAC,GAAG,EACnC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,qBAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,QAAgB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAW,EACX,QAAiB;QAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,eAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9B,GAAG,GAAG,eAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAEtC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAY,CAAC;IACrD,CAAC;IACD,YAAY;IAEZ,iBAAiB;IAEjB,2BAA2B;IAC3B,IAAI,MAAM;QACR,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACL,IAAI,GAAG;gBACL,OAAO,gCAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,gBAA0B,EAAE,OAAe,EAAE,iBAAuC;gBAC5F,MAAM,gCAAM,CAAC,aAAa,CACxB,gBAAgB,EAChB,IAAI,CAAC,eAAe,EACpB,OAAO,EACP,iBAAiB,CAAC,eAAe,EACjC,IAAI,CAAC,GAAG,CACT,CAAC;YACJ,CAAC;SACF,CAAA;IACH,CAAC;IACD,YAAY;IAEZ,0BAA0B;IAE1B,IAAY,aAAa;QACvB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,YAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC;IACD,YAAY;IAEZ,YAAY;IAEZ,4BAA4B;IAC5B,YACS,GAAW,EACX,QAAgB;QADhB,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAQ;QAGvB,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjH,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAI,CAAC,IAAI,CAC9B,GAAG,EACH,OAAO,CAAC,yBAAyB,EACjC,YAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CAAC;QACF,MAAM,cAAc,GAAG,eAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,eAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnE,qBAAO,CAAC,aAAa,CAAC,cAAc,EAAC,UAAU,EAAC;YAC9C,qCAAqC,EAAE,IAAI;SAC5C,CAAC,CAAC;QAEH,IAAI,qBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,qBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC;YACnF,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,GAAG,eAAe,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,YAAY;IAEZ,oBAAoB;IAEpB,oBAAoB;IACb,KAAK,CAAC,eAAe;QAC1B,IAAI,CAAC,qBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,qBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,kBAAkB,GAAG,gCAAK,CAAC,KAAK,CAAC,eAAe,CAAyB,CAAC;QAC9E,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,MAAM,CAAC,2CAAa,0BAA0B,EAAC,CAAC,CAAC,aAAa,CAAC;QACtF,CAAC;QACD,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;IAEZ,YAAY;IAEZ,yBAAyB;IAEzB,mCAAmC;IAC3B,sBAAsB;QAC5B,IAAI,CAAC,qBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,qBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa;YAClC,kCAAkC;YAClC;;aAEK,YAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnB,IAAI,CAAC,QAAQ;;;;;IAK7B;YACI,YAAY;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IACD,YAAY;IAEZ,8BAA8B;IACtB,mBAAmB;QAEzB,qBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa;QAClC,+BAA+B;QAC/B;;;IAGF,eAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;;;;OAK3B;QACD,YAAY;SACb,CAAC;IACJ,CAAC;;AAvKH,0BA2KC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,2BAA2B;AAC3B,uDAAuD;AACvD,2CAA2C"}
|
|
1
|
+
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/lib/index._auto-generated_.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,2BAA2B;AAC3B,uDAAuD;AACvD,2CAA2C"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,kBAAkB;AAClB,mEAAyD;AAAhD,uHAAA,aAAa,OAAA;AACtB,uDAA6C;AAApC,2GAAA,OAAO,OAAA;AAChB,iDAAsC;AAA7B,oGAAA,GAAG,OAAA;AACZ,YAAY"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/node-cli-tester/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,kBAAkB;AAClB,mEAAyD;AAAhD,uHAAA,aAAa,OAAA;AACtB,uDAA6C;AAApC,2GAAA,OAAO,OAAA;AAChB,iDAAsC;AAA7B,oGAAA,GAAG,OAAA;AACZ,YAAY"}
|