@haibun/core 1.10.1 → 1.10.3
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/index.d.ts +0 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -2
- package/build/index.js.map +1 -1
- package/build/lib/ConnectedLogger.d.ts +12 -0
- package/build/lib/ConnectedLogger.d.ts.map +1 -0
- package/build/lib/ConnectedLogger.js +28 -0
- package/build/lib/ConnectedLogger.js.map +1 -0
- package/build/lib/Logger.d.ts +1 -5
- package/build/lib/Logger.d.ts.map +1 -1
- package/build/lib/Logger.js.map +1 -1
- package/build/lib/TestLogger.d.ts +10 -0
- package/build/lib/TestLogger.d.ts.map +1 -0
- package/build/lib/TestLogger.js +12 -0
- package/build/lib/TestLogger.js.map +1 -0
- package/build/lib/interfaces/logger.d.ts +15 -0
- package/build/lib/interfaces/logger.d.ts.map +1 -1
- package/build/lib/interfaces/logger.js +1 -0
- package/build/lib/interfaces/logger.js.map +1 -1
- package/build/lib/namedVars.d.ts +2 -2
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +2 -2
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/namedVars.test.js +13 -1
- package/build/lib/namedVars.test.js.map +1 -1
- package/build/lib/test/lib.d.ts +4 -2
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +3 -2
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/index.d.ts +1 -0
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +10 -2
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/util.test.js +9 -0
- package/build/lib/util/util.test.js.map +1 -1
- package/build/phases/Executor.js +2 -2
- package/build/phases/Executor.js.map +1 -1
- package/build/scaffold/index.d.ts +3 -0
- package/build/scaffold/index.d.ts.map +1 -0
- package/build/scaffold/index.js +11 -0
- package/build/scaffold/index.js.map +1 -0
- package/build/scaffold/scaffold.d.ts +11 -0
- package/build/scaffold/scaffold.d.ts.map +1 -0
- package/build/scaffold/scaffold.js +90 -0
- package/build/scaffold/scaffold.js.map +1 -0
- package/build/scaffold/scaffold.test.d.ts +2 -0
- package/build/scaffold/scaffold.test.d.ts.map +1 -0
- package/build/scaffold/scaffold.test.js +34 -0
- package/build/scaffold/scaffold.test.js.map +1 -0
- package/build/steps/haibun.d.ts +0 -4
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +6 -6
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/vars.d.ts.map +1 -1
- package/build/steps/vars.js +8 -4
- package/build/steps/vars.js.map +1 -1
- package/build/steps/vars.test.js +21 -22
- package/build/steps/vars.test.js.map +1 -1
- package/package.json +3 -19
- package/scaffold/jest.config.ts.in +11 -0
- package/scaffold/src/lib/test.ts.in +10 -0
- package/scaffold/src/lib/ts.in +11 -0
- package/scaffold/src/stepper.test.ts.in +16 -0
- package/scaffold/src/stepper.ts.in +26 -0
- package/scaffold/tsconfig.json.in +14 -0
- package/build/bootstrap.d.ts +0 -3
- package/build/bootstrap.d.ts.map +0 -1
- package/build/bootstrap.js +0 -76
- package/build/bootstrap.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const scaffold_1 = require("./scaffold");
|
|
5
|
+
try {
|
|
6
|
+
(0, scaffold_1.scaffoldHaibun)('.', console.info);
|
|
7
|
+
}
|
|
8
|
+
catch (e) {
|
|
9
|
+
console.error(e);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":";;;AAEA,yCAA4C;AAG5C,IAAI;IACA,IAAA,yBAAc,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAAC,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
declare type Tkv = {
|
|
3
|
+
[name: string]: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function scaffoldHaibun(dest: string, out: typeof console.info, add?: {
|
|
6
|
+
addDeps?: Tkv;
|
|
7
|
+
addDevDeps?: Tkv;
|
|
8
|
+
addDirs: string[];
|
|
9
|
+
}): void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":";AAKA,aAAK,GAAG,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAIrC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,QAsFlI"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.scaffoldHaibun = void 0;
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const here = process.cwd();
|
|
11
|
+
function scaffoldHaibun(dest, out, add) {
|
|
12
|
+
const ppkg = require(path_1.default.join(here, '..', '..', 'package.json'));
|
|
13
|
+
const what = {
|
|
14
|
+
dependencies: {
|
|
15
|
+
'@haibun/core': `${ppkg.version}`
|
|
16
|
+
},
|
|
17
|
+
devDependencies: {
|
|
18
|
+
'jest': ppkg.devDependencies.jest,
|
|
19
|
+
'ts-jest': ppkg.devDependencies['ts-jest'],
|
|
20
|
+
'ts-node': ppkg.devDependencies['ts-node'],
|
|
21
|
+
'@types/node': ppkg.devDependencies['@types/node'],
|
|
22
|
+
'@types/jest': ppkg.devDependencies['@types/jest'],
|
|
23
|
+
},
|
|
24
|
+
scripts: {
|
|
25
|
+
test: 'jest --config jest.config.ts'
|
|
26
|
+
},
|
|
27
|
+
dirs: [
|
|
28
|
+
'src',
|
|
29
|
+
'src/lib',
|
|
30
|
+
]
|
|
31
|
+
};
|
|
32
|
+
let localDest;
|
|
33
|
+
let pName;
|
|
34
|
+
const localPackageJson = path_1.default.join(dest, 'package.json');
|
|
35
|
+
try {
|
|
36
|
+
const ppkg = (0, fs_1.readFileSync)(localPackageJson, 'utf-8');
|
|
37
|
+
localDest = JSON.parse(ppkg);
|
|
38
|
+
pName = localDest.name.replace(/.*\//, '').replace(/[@]/, '_', 'g').replace(/-./g, (x) => x[1].toUpperCase());
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
throw Error('please run this command from a project folder that has a package.json file with at least a name field. {e}');
|
|
42
|
+
}
|
|
43
|
+
for (const t of ['devDependencies', 'dependencies', 'scripts']) {
|
|
44
|
+
if (!localDest[t]) {
|
|
45
|
+
localDest[t] = {};
|
|
46
|
+
}
|
|
47
|
+
for (const [k, v] of Object.entries(what[t])) {
|
|
48
|
+
if (!localDest[t][k]) {
|
|
49
|
+
if (v === undefined) {
|
|
50
|
+
throw Error(`${t} ${k} is undefined`);
|
|
51
|
+
}
|
|
52
|
+
localDest[t][k] = v;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
(0, fs_1.writeFileSync)(localPackageJson, JSON.stringify(localDest, null, 2));
|
|
57
|
+
for (const f of ['tsconfig.json', 'jest.config.ts']) {
|
|
58
|
+
writeIfMissing(f);
|
|
59
|
+
}
|
|
60
|
+
for (const d of what.dirs) {
|
|
61
|
+
const ddest = path_1.default.join(dest, d);
|
|
62
|
+
if (!(0, fs_1.existsSync)(ddest)) {
|
|
63
|
+
out('mkdir', ddest);
|
|
64
|
+
(0, fs_1.mkdirSync)(ddest);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
for (const f of ['stepper.ts', 'stepper.test.ts']) {
|
|
68
|
+
writeIfMissing(`src/${f}`, `src/${pName}-${f}`, 'WTW', pName);
|
|
69
|
+
}
|
|
70
|
+
for (const f of ['ts', 'test.ts']) {
|
|
71
|
+
writeIfMissing(`src/lib/${f}`, `src/lib/${pName}.${f}`, 'WTW', pName);
|
|
72
|
+
}
|
|
73
|
+
function writeIfMissing(from, to, replace, instead) {
|
|
74
|
+
to = path_1.default.join(dest, to || from);
|
|
75
|
+
from = `${from}.in`;
|
|
76
|
+
if ((0, fs_1.existsSync)(to)) {
|
|
77
|
+
out(`not copying ${to} because it already exists`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
let contents = (0, fs_1.readFileSync)(path_1.default.join(here, 'scaffold', from), 'utf-8');
|
|
81
|
+
if (replace) {
|
|
82
|
+
contents = contents.replaceAll(replace, instead);
|
|
83
|
+
}
|
|
84
|
+
(0, fs_1.writeFileSync)(to, contents);
|
|
85
|
+
out(`copied ${to}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.scaffoldHaibun = scaffoldHaibun;
|
|
90
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":";;;;;;;AAEA,2BAAwE;AACxE,gDAAwB;AAIxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE3B,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAwB,EAAE,GAA4D;IAC/H,MAAM,IAAI,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAElE,MAAM,IAAI,GAAuD;QAC7D,YAAY,EAAE;YACV,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;SACpC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACjC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC1C,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC1C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YAClD,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;SACrD;QACD,OAAO,EAAE;YACL,IAAI,EAAE,8BAA8B;SACvC;QACD,IAAI,EAAE;YACF,KAAK;YACL,SAAS;SACZ;KACJ,CAAA;IAED,IAAI,SAAS,CAAC;IACd,IAAI,KAAK,CAAC;IACV,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACzD,IAAI;QACA,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACrD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;KACzH;IAAC,OAAO,CAAC,EAAE;QACR,MAAM,KAAK,CAAC,4GAA4G,CAAC,CAAC;KAC7H;IAED,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE;QAC5D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACf,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACrB;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClB,IAAI,CAAC,KAAK,SAAS,EAAE;oBACjB,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBACzC;gBACD,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACvB;SACJ;KACJ;IAED,IAAA,kBAAa,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE;QACjD,cAAc,CAAC,CAAC,CAAC,CAAC;KACrB;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;QACvB,MAAM,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,IAAA,eAAU,EAAC,KAAK,CAAC,EAAE;YACpB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpB,IAAA,cAAS,EAAC,KAAK,CAAC,CAAC;SACpB;KACJ;IAED,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE;QAC/C,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACjE;IAED,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;QAC/B,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACzE;IAED,SAAS,cAAc,CAAC,IAAY,EAAE,EAAW,EAAE,OAAgB,EAAE,OAAgB;QACjF,EAAE,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC;QAEpB,IAAI,IAAA,eAAU,EAAC,EAAE,CAAC,EAAE;YAChB,GAAG,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;SACtD;aAAM;YACH,IAAI,QAAQ,GAAG,IAAA,iBAAY,EAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,IAAI,OAAO,EAAE;gBACT,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,OAAQ,CAAC,CAAC;aACrD;YACD,IAAA,kBAAa,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC5B,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SACvB;IACL,CAAC;AACL,CAAC;AAtFD,wCAsFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.test.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const scaffold_1 = require("./scaffold");
|
|
9
|
+
const TMPDIR = '/tmp/haibun-scaffold-test/';
|
|
10
|
+
const out = (...a) => undefined;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
(0, fs_1.rmSync)(TMPDIR, { recursive: true, force: true });
|
|
13
|
+
(0, fs_1.mkdirSync)(TMPDIR);
|
|
14
|
+
});
|
|
15
|
+
afterAll(() => {
|
|
16
|
+
(0, fs_1.rmSync)(TMPDIR, { recursive: true, force: true });
|
|
17
|
+
});
|
|
18
|
+
describe('scaffold', () => {
|
|
19
|
+
it('throws for empty directory', async () => {
|
|
20
|
+
expect(() => (0, scaffold_1.scaffoldHaibun)(TMPDIR, out)).toThrow();
|
|
21
|
+
});
|
|
22
|
+
it('creates from basic', async () => {
|
|
23
|
+
const ppkg = require(path_1.default.join(process.cwd(), '..', '..', 'package.json'));
|
|
24
|
+
(0, fs_1.writeFileSync)(`${TMPDIR}/package.json`, JSON.stringify({ name: 'test' }));
|
|
25
|
+
expect(() => (0, scaffold_1.scaffoldHaibun)(TMPDIR, out)).not.toThrow();
|
|
26
|
+
const pkg = JSON.parse((0, fs_1.readFileSync)(`${TMPDIR}/package.json`, 'utf-8'));
|
|
27
|
+
expect((0, fs_1.readdirSync)(TMPDIR).sort()).toEqual(['package.json', 'src', 'tsconfig.json', 'jest.config.ts'].sort());
|
|
28
|
+
expect(pkg.dependencies['@haibun/core']).toBeDefined();
|
|
29
|
+
expect(pkg.devDependencies.jest).toEqual(ppkg.devDependencies.jest);
|
|
30
|
+
expect((0, fs_1.readdirSync)(path_1.default.join(TMPDIR, 'src'))).toEqual(['lib', 'test-stepper.test.ts', 'test-stepper.ts']);
|
|
31
|
+
expect((0, fs_1.readdirSync)(path_1.default.join(TMPDIR, 'src/lib'))).toEqual(['test.test.ts', 'test.ts']);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=scaffold.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.test.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.test.ts"],"names":[],"mappings":";;;;;AAAA,2BAAiF;AACjF,gDAAwB;AACxB,yCAA2C;AAE3C,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAC5C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAQ,EAAE,EAAE,CAAC,SAAS,CAAC;AAEvC,UAAU,CAAC,GAAG,EAAE;IACZ,IAAA,WAAM,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,GAAG,EAAE;IACV,IAAA,WAAM,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAE3E,IAAA,kBAAa,EAAC,GAAG,MAAM,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,GAAG,MAAM,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,IAAA,gBAAW,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9G,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,IAAA,gBAAW,EAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC1G,MAAM,CAAC,IAAA,gBAAW,EAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/build/steps/haibun.d.ts
CHANGED
|
@@ -6,10 +6,6 @@ declare const Haibun: {
|
|
|
6
6
|
gwta: string;
|
|
7
7
|
action: () => Promise<import("../lib/defs").TOKActionResult>;
|
|
8
8
|
};
|
|
9
|
-
sendFeatures: {
|
|
10
|
-
gwta: string;
|
|
11
|
-
action: () => Promise<import("../lib/defs").TOKActionResult>;
|
|
12
|
-
};
|
|
13
9
|
startStepDelay: {
|
|
14
10
|
gwta: string;
|
|
15
11
|
action: ({ ms }: TNamed) => Promise<import("../lib/defs").TOKActionResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,QAAA,MAAM,MAAM;;;;;;;;;iCAciB,MAAM;;;;sCAOH,MAAM;;;;;;;;4BAYd,MAAM;;;;oCAOE,MAAM;;;;iCAQT,MAAM;;;;sCAQJ,MAAM;;;;;;;;;;CAMpC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/build/steps/haibun.js
CHANGED
|
@@ -10,12 +10,12 @@ const Haibun = class Haibun extends defs_1.AStepper {
|
|
|
10
10
|
gwta: '.*[.?!]$',
|
|
11
11
|
action: async () => defs_1.OK,
|
|
12
12
|
},
|
|
13
|
-
sendFeatures: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
13
|
+
// sendFeatures: {
|
|
14
|
+
// gwta: 'send features',
|
|
15
|
+
// action: async () => {
|
|
16
|
+
// return actionOK({ features: this.getWorld().shared.values._features });
|
|
17
|
+
// },
|
|
18
|
+
// },
|
|
19
19
|
startStepDelay: {
|
|
20
20
|
gwta: 'start step delay of (?<ms>.+)',
|
|
21
21
|
action: async ({ ms }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":";;AAAA,sCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":";;AAAA,sCAAmD;AACnD,sCAAiD;AAEjD,MAAM,MAAM,GAAG,MAAM,MAAO,SAAQ,eAAQ;IAA7B;;QACb,UAAK,GAAG;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAE;aACvB;YACD,kBAAkB;YAClB,2BAA2B;YAC3B,0BAA0B;YAC1B,8EAA8E;YAC9E,OAAO;YACP,KAAK;YACL,cAAc,EAAE;gBACd,IAAI,EAAE,+BAA+B;gBACrC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAU,EAAE,EAAE;oBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtD,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,KAAK,EAAE,EAAC,OAAO,EAAS,EAAE,EAAE;oBAClC,OAAO,IAAA,kBAAW,EAAC,UAAU,OAAO,EAAE,CAAC,CAAC;gBAC1C,CAAC;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,KAAK,EAAE,CAAS,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACxE,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAU,EAAE,EAAE;oBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;oBAC/E,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC/D,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAU,EAAE,EAAE;oBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;oBACxC,MAAM,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;oBACrB,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,KAAK,EAAC,EAAC,OAAO,EAAS,EAAE,EAAE;oBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oBAClD,OAAO,SAAE,CAAC;gBACZ,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CAAA,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAM,MAAM,EAAE,MAAM,EAAE,MAAM,EAAuB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOxF,QAAA,MAAM,IAAI;;qBACY,MAAM,SAAS,MAAM;;;;;;;;oBAM7B,MAAM,UAAU,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAM,MAAM,EAAE,MAAM,EAAE,MAAM,EAAuB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOxF,QAAA,MAAM,IAAI;;qBACY,MAAM,SAAS,MAAM;;;;;;;;oBAM7B,MAAM,UAAU,MAAM;;;;2CAmBG,MAAM,SAAS,MAAM;;;;;;;;;;;4BAIpC,MAAM,SAAS,MAAM;;;;;;;;2BAGtB,MAAM,SAAS,MAAM;;;;;;;;;;;0CAIN,MAAM;;;;mCASb,MAAM,SAAS,MAAM;kCACtB,MAAM,SAAS,MAAM;;;;yCAId,MAAM;;;;sCAOT,MAAM;;;;uCAOL,MAAM;;;;mCAOV,MAAM;;;;;;;;;;CAOpC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,eAAe,SAAU,MAAM,WAAW,MAAM,GAAG,OAAO,SAAS,MAAM;;;;CAAoG,CAAC;AAE3L,eAAO,MAAM,SAAS,oBAAqB,MAAM,SAAS,MAAM,SAAS,MAAM,cAAa,OAAO;;;;;;;CAqBlG,CAAC;AAGF,eAAO,MAAM,sBAAsB;UAA4B,MAAM;UAAQ,MAAM;UAAW,MAAM,QAenG,CAAC"}
|
package/build/steps/vars.js
CHANGED
|
@@ -18,14 +18,14 @@ const vars = class Vars extends defs_1.AStepper {
|
|
|
18
18
|
this.steps = {
|
|
19
19
|
concat: {
|
|
20
20
|
gwta: 'concat {p1} and {p2} as {what}',
|
|
21
|
-
action: ({ p1, p2, what }, vstep) => this.set({ what, value: `${p1}${p2}` }, vstep)
|
|
21
|
+
action: async ({ p1, p2, what }, vstep) => await this.set({ what, value: `${p1}${p2}` }, vstep)
|
|
22
22
|
},
|
|
23
23
|
set: {
|
|
24
24
|
gwta: 'set( empty)? {what: string} to {value: string}',
|
|
25
|
-
action: (n, vstep) => {
|
|
26
|
-
return this.set(n, vstep);
|
|
25
|
+
action: async (n, vstep) => {
|
|
26
|
+
return await this.set(n, vstep);
|
|
27
27
|
},
|
|
28
|
-
build: (n, vstep) => this.set(n, vstep),
|
|
28
|
+
build: async (n, vstep) => await this.set(n, vstep),
|
|
29
29
|
},
|
|
30
30
|
is: {
|
|
31
31
|
gwta: '{what: string} is "{value}"',
|
|
@@ -89,6 +89,10 @@ exports.didNotOverwrite = didNotOverwrite;
|
|
|
89
89
|
const setShared = ({ what, value }, vstep, world, emptyOnly = false) => {
|
|
90
90
|
// if on a domain page, set it in that domain's shared
|
|
91
91
|
const { type, name } = vstep.source;
|
|
92
|
+
// FIXME this should be in namedVars
|
|
93
|
+
if (what === '[HERE]') {
|
|
94
|
+
what = vstep.source.path.replace(world.base, '').replaceAll('/', '_').replace('.feature', '');
|
|
95
|
+
}
|
|
92
96
|
let shared = (0, domain_1.getStepShared)(type, world);
|
|
93
97
|
if (shared instanceof contexts_1.DomainContext) {
|
|
94
98
|
const dc = shared;
|
package/build/steps/vars.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":";;;AAAA,8CAAyD;AACzD,sCAAwF;AACxF,0CAAyD;AACzD,sCAA0C;AAE1C,2DAA2D;AAC3D,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAElE,MAAM,IAAI,GAAG,MAAM,IAAK,SAAQ,eAAQ;IAA3B;;QACX,QAAG,GAAG,KAAK,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE;YAC3C,2DAA2D;YAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEjD,OAAO,IAAA,iBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC;QAiBF,UAAK,GAAG;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,gCAAgC;gBACtC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":"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"}
|
package/build/steps/vars.test.js
CHANGED
|
@@ -2,27 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const Executor_1 = require("../phases/Executor");
|
|
4
4
|
const lib_1 = require("../lib/test/lib");
|
|
5
|
-
describe
|
|
5
|
+
describe('vars', () => {
|
|
6
6
|
it('assigns', async () => {
|
|
7
|
-
const feature = { path: '/features/test.feature', content: 'set
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
expect(ok).toBe(true);
|
|
7
|
+
const feature = { path: '/features/test.feature', content: 'set x to 1' };
|
|
8
|
+
const display = { path: '/features/display.feature', content: 'display x' };
|
|
9
|
+
const verify = { path: '/features/verify.feature', content: 'x is "1"' };
|
|
10
|
+
const res = await (0, lib_1.testWithDefaults)([feature, display, verify], []);
|
|
11
|
+
expect(res.ok).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
it('assigns [HERE]', async () => {
|
|
14
|
+
const feature = { path: '/features/here.feature', content: 'set [HERE] to 1' };
|
|
15
|
+
const verify = { path: '/features/verify.feature', content: '"here" is "1"' };
|
|
16
|
+
const res = await (0, lib_1.testWithDefaults)([feature, verify], []);
|
|
17
|
+
expect(res.ok).toBe(true);
|
|
12
18
|
});
|
|
13
19
|
it('assigns empty', async () => {
|
|
14
20
|
const feature = { path: '/features/test.feature', content: 'set empty "x" to y' };
|
|
15
|
-
const verify = { path: '/features/verify.feature', content: 'x is "y"' };
|
|
16
|
-
const
|
|
17
|
-
expect(ok).toBe(true);
|
|
21
|
+
const verify = { path: '/features/verify.feature', content: '"x" is "y"' };
|
|
22
|
+
const res = await (0, lib_1.testWithDefaults)([feature, verify], []);
|
|
23
|
+
expect(res.ok).toBe(true);
|
|
18
24
|
});
|
|
19
25
|
it('empty does not overwrite', async () => {
|
|
20
26
|
const feature = { path: '/features/test.feature', content: 'set empty "x" to y' };
|
|
21
27
|
const notempty = { path: '/features/test.feature', content: 'set empty "x" to z' };
|
|
22
|
-
const verify = { path: '/features/verify.feature', content: 'x is "y"' };
|
|
23
|
-
const
|
|
24
|
-
expect(ok).toBe(true);
|
|
25
|
-
// expect(res.actionResults[0].topics).toEqual({ ...didNotOverwrite('x', 'notY', 'newValue') });
|
|
28
|
+
const verify = { path: '/features/verify.feature', content: '"x" is "y"' };
|
|
29
|
+
const res = await (0, lib_1.testWithDefaults)([feature, notempty, verify], []);
|
|
30
|
+
expect(res.ok).toBe(true);
|
|
26
31
|
});
|
|
27
32
|
it('is not set', async () => {
|
|
28
33
|
const { world, vstep, steppers } = await (0, lib_1.getTestEnv)(['vars'], '"x 1" is set', { ...(0, lib_1.getDefaultWorld)(0).world });
|
|
@@ -31,15 +36,9 @@ describe.skip('vars', () => {
|
|
|
31
36
|
});
|
|
32
37
|
it('is set', async () => {
|
|
33
38
|
const feature = { path: '/features/test.feature', content: 'set "x" to y' };
|
|
34
|
-
const verify = { path: '/features/verify.feature', content: 'x is set' };
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
});
|
|
38
|
-
it('is set with or', async () => {
|
|
39
|
-
const { world, vstep, steppers } = await (0, lib_1.getTestEnv)(['vars'], '"x 1" is set or do something', { ...(0, lib_1.getDefaultWorld)(0).world });
|
|
40
|
-
const res = await Executor_1.FeatureExecutor.doFeatureStep(steppers, vstep, world);
|
|
41
|
-
expect(res.ok).toBe(false);
|
|
42
|
-
expect(res.actionResults[0].message).toBe('x 1 not set: do something');
|
|
39
|
+
const verify = { path: '/features/verify.feature', content: '"x" is set' };
|
|
40
|
+
const res = await (0, lib_1.testWithDefaults)([feature, verify], []);
|
|
41
|
+
expect(res.ok).toBe(true);
|
|
43
42
|
});
|
|
44
43
|
});
|
|
45
44
|
//# sourceMappingURL=vars.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.test.js","sourceRoot":"","sources":["../../src/steps/vars.test.ts"],"names":[],"mappings":";;AAAA,iDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"vars.test.js","sourceRoot":"","sources":["../../src/steps/vars.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haibun/core",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -8,25 +8,9 @@
|
|
|
8
8
|
"scaffold": "build/scaffold.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
-
"build/**"
|
|
11
|
+
"build/**",
|
|
12
|
+
"scaffold/**"
|
|
12
13
|
],
|
|
13
|
-
"devDependencies": {
|
|
14
|
-
"@types/jest": "^26.0.19",
|
|
15
|
-
"@types/node": "^15.0.1",
|
|
16
|
-
"@typescript-eslint/eslint-plugin": "^4.13.0",
|
|
17
|
-
"@typescript-eslint/parser": "^4.13.0",
|
|
18
|
-
"eslint": "^7.2.0",
|
|
19
|
-
"eslint-config-airbnb-typescript": "^12.0.0",
|
|
20
|
-
"eslint-config-prettier": "^8.3.0",
|
|
21
|
-
"eslint-plugin-import": "^2.22.1",
|
|
22
|
-
"eslint-plugin-prefer-arrow": "^1.2.2",
|
|
23
|
-
"eslint-plugin-prettier": "^3.3.1",
|
|
24
|
-
"jest": "^27.0.4",
|
|
25
|
-
"node-notifier": "^10.0.1",
|
|
26
|
-
"prettier": "^2.3.1",
|
|
27
|
-
"ts-node": "^10.0.0",
|
|
28
|
-
"tslint": "^6.1.3"
|
|
29
|
-
},
|
|
30
14
|
"scripts": {
|
|
31
15
|
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
32
16
|
"lint": "eslint -c .eslintrc.json --ext .ts,.js src",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
preset: 'ts-jest',
|
|
4
|
+
testEnvironment: 'node',
|
|
5
|
+
testPathIgnorePatterns: ['node_modules', 'build'],
|
|
6
|
+
globals: {
|
|
7
|
+
'testMatch': [
|
|
8
|
+
"<rootDir>/src/**/*.test.ts"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { testWithDefaults } from '@haibun/core/build/lib/test/lib';
|
|
2
|
+
|
|
3
|
+
import WTW from './WTW-stepper';
|
|
4
|
+
|
|
5
|
+
describe('WTW test', () => {
|
|
6
|
+
it('passes', async () => {
|
|
7
|
+
const feature = { path: '/features/test.feature', content: `your test phrase passes` };
|
|
8
|
+
const result = await testWithDefaults([feature], [WTW]);
|
|
9
|
+
expect(result.ok).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it('fails', async () => {
|
|
12
|
+
const feature = { path: '/features/test.feature', content: `your test phrase fails` };
|
|
13
|
+
const result = await testWithDefaults([feature], [WTW]);
|
|
14
|
+
expect(result.ok).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AStepper, OK, TNamed, TWorld } from '@haibun/core/build/lib/defs';
|
|
2
|
+
import { actionNotOK } from '@haibun/core/build/lib/util';
|
|
3
|
+
|
|
4
|
+
import WTW from './lib/WTW';
|
|
5
|
+
|
|
6
|
+
class WTWStepper extends AStepper {
|
|
7
|
+
setWorld(world: TWorld, steppers: AStepper[]) {
|
|
8
|
+
super.setWorld(world, steppers);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
steps = {
|
|
12
|
+
WTW: {
|
|
13
|
+
gwta: `your test phrase {what}`,
|
|
14
|
+
action: async ({ what }: TNamed) => {
|
|
15
|
+
const value = await WTW(what);
|
|
16
|
+
if (value.ok === true) {
|
|
17
|
+
return OK;
|
|
18
|
+
}
|
|
19
|
+
const { message } = value.error;
|
|
20
|
+
return actionNotOK(message, { topics: { WTW: { summary: message, details: value } } });
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default WTWStepper;
|
package/build/bootstrap.d.ts
DELETED
package/build/bootstrap.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":""}
|
package/build/bootstrap.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const pkg = require(path_1.default.join(__dirname, '..', 'package.json'));
|
|
10
|
-
// inherited
|
|
11
|
-
const mpkg = {
|
|
12
|
-
'ts-jest': '^26',
|
|
13
|
-
jest: '^26'
|
|
14
|
-
};
|
|
15
|
-
let pPkg;
|
|
16
|
-
let pName;
|
|
17
|
-
try {
|
|
18
|
-
const ppkg = (0, fs_1.readFileSync)('./package.json', 'utf-8');
|
|
19
|
-
pPkg = JSON.parse(ppkg);
|
|
20
|
-
pName = pPkg.name.replace(/.*\//, '').replace(/[@]/, '_', 'g').replace(/-./g, (x) => x[1].toUpperCase());
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
console.error(e);
|
|
24
|
-
console.error('please run this command from a project folder that has a package.json file with at least a name field.');
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
pPkg.dependencies['@haibun/core'] = `${pkg.version}`;
|
|
28
|
-
if (!pPkg.devDependencies) {
|
|
29
|
-
pPkg.devDependencies = {};
|
|
30
|
-
}
|
|
31
|
-
for (const d of ['jest', 'ts-jest', 'ts-node', '@types/node', '@types/jest']) {
|
|
32
|
-
console.log(d, pkg.devDependencies[d], mpkg[d]);
|
|
33
|
-
if (!pPkg.devDependencies[d]) {
|
|
34
|
-
pPkg.devDependencies[d] = mpkg[d] || pkg.devDependencies[d];
|
|
35
|
-
}
|
|
36
|
-
console.info(`added ${d} to devDependencies`);
|
|
37
|
-
}
|
|
38
|
-
if (!pPkg.scripts) {
|
|
39
|
-
pPkg.scripts = {};
|
|
40
|
-
}
|
|
41
|
-
if (!pPkg.scripts.test || pPkg.scripts?.test.startsWith('echo')) {
|
|
42
|
-
pPkg.scripts.test = 'jest --config jest.config.ts';
|
|
43
|
-
console.info('added test script');
|
|
44
|
-
}
|
|
45
|
-
(0, fs_1.writeFileSync)('package.json', JSON.stringify(pPkg, null, 2));
|
|
46
|
-
for (const f of ['tsconfig.json', 'jest.config.ts']) {
|
|
47
|
-
writeIfMissing(f);
|
|
48
|
-
}
|
|
49
|
-
if (!(0, fs_1.existsSync)('src')) {
|
|
50
|
-
(0, fs_1.mkdirSync)('src');
|
|
51
|
-
}
|
|
52
|
-
if (!(0, fs_1.existsSync)('src/lib')) {
|
|
53
|
-
(0, fs_1.mkdirSync)('src/lib');
|
|
54
|
-
}
|
|
55
|
-
for (const f of ['stepper.ts', 'stepper.test.ts']) {
|
|
56
|
-
writeIfMissing(`src/${f}`, `src/${pName}-${f}`, 'WTW', pName);
|
|
57
|
-
}
|
|
58
|
-
for (const f of ['ts', 'test.ts']) {
|
|
59
|
-
writeIfMissing(`src/lib/${f}`, `src/lib/${pName}.${f}`, 'WTW', pName);
|
|
60
|
-
}
|
|
61
|
-
function writeIfMissing(from, to, replace, instead) {
|
|
62
|
-
to = to || from;
|
|
63
|
-
from = `${from}.in`;
|
|
64
|
-
if ((0, fs_1.existsSync)(to)) {
|
|
65
|
-
console.info(`not copying ${to} because it already exists`);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
let contents = (0, fs_1.readFileSync)(path_1.default.join(__dirname, '..', 'bootstrap', from), 'utf-8');
|
|
69
|
-
if (replace) {
|
|
70
|
-
contents = contents.replaceAll(replace, instead);
|
|
71
|
-
}
|
|
72
|
-
(0, fs_1.writeFileSync)(to, contents);
|
|
73
|
-
console.info(`copied ${to}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=bootstrap.js.map
|
package/build/bootstrap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|