@genesislcap/build-kit 14.162.4 → 14.162.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/prompts.js +2 -2
- package/dist/utils/seed.commands.d.ts +19 -0
- package/dist/utils/seed.commands.d.ts.map +1 -0
- package/dist/utils/seed.commands.js +58 -0
- package/dist/utils/seed.processing.d.ts.map +1 -1
- package/dist/utils/seed.processing.js +4 -3
- package/package.json +3 -3
- package/src/index.ts +0 -2
- package/src/types/build-context.ts +0 -57
- package/src/types/config.ts +0 -269
- package/src/types/index.ts +0 -3
- package/src/types/pwa.ts +0 -67
- package/src/utils/archive.ts +0 -18
- package/src/utils/args.ts +0 -7
- package/src/utils/build-context.ts +0 -42
- package/src/utils/child-process.ts +0 -115
- package/src/utils/config.ts +0 -45
- package/src/utils/console.ts +0 -1
- package/src/utils/env.ts +0 -71
- package/src/utils/federation.ts +0 -40
- package/src/utils/fs.ts +0 -53
- package/src/utils/handlebars.ts +0 -61
- package/src/utils/https.ts +0 -29
- package/src/utils/index.ts +0 -21
- package/src/utils/json.ts +0 -12
- package/src/utils/npm.ts +0 -155
- package/src/utils/object.ts +0 -21
- package/src/utils/prompts.ts +0 -160
- package/src/utils/proxy.ts +0 -139
- package/src/utils/seed.fetching.ts +0 -257
- package/src/utils/seed.meta.ts +0 -34
- package/src/utils/seed.processing.ts +0 -100
- package/src/utils/seed.setup.ts +0 -101
- package/src/utils/time.ts +0 -1
- package/test/utils/args.test.ts +0 -17
- package/test/utils/build-context.test.ts +0 -68
- package/test/utils/env.test.ts +0 -212
- package/test/utils/handlebars.test.ts +0 -277
- package/test/utils/https.test.ts +0 -14
- package/test/utils/proxy.test.ts +0 -96
- package/test/utils/seed.fetching.test.ts +0 -145
- package/test/utils/seed.meta.test.ts +0 -33
- package/tsconfig.json +0 -18
package/src/utils/seed.setup.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { cpSync } from 'node:fs';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
3
|
-
import * as changeCase from 'change-case';
|
|
4
|
-
import { consola } from 'consola';
|
|
5
|
-
import { runAsync } from './child-process';
|
|
6
|
-
import { listAllFiles, rename, rm } from './fs';
|
|
7
|
-
import { registerPartial, renderFile } from './handlebars';
|
|
8
|
-
import { editJSONFile } from './json';
|
|
9
|
-
import { replaceObjectKeys } from './object';
|
|
10
|
-
import { getData } from './prompts';
|
|
11
|
-
import { loadGenxModule } from './seed.meta';
|
|
12
|
-
import { PROMPT_DATA_FILE, processOptions } from './seed.processing';
|
|
13
|
-
|
|
14
|
-
export const installSeedDeps = async (dir, isLogLevelVerbose) => {
|
|
15
|
-
let dependencies = {};
|
|
16
|
-
try {
|
|
17
|
-
const packageJSONPath = resolve(dir, 'package.json');
|
|
18
|
-
const packageJSON = require(packageJSONPath);
|
|
19
|
-
dependencies = packageJSON.dependencies || {};
|
|
20
|
-
} catch (e) {}
|
|
21
|
-
|
|
22
|
-
consola.debug('Seed NPM dependencies', {
|
|
23
|
-
targetInstallDir: dir,
|
|
24
|
-
dependencyCount: Object.keys(dependencies).length,
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
if (Object.keys(dependencies).length !== 0) {
|
|
28
|
-
const start2 = Date.now();
|
|
29
|
-
consola.info('Installing seed NPM dependencies...');
|
|
30
|
-
await runAsync(dir, 'npm install', {
|
|
31
|
-
prefixCommandWithNode: false,
|
|
32
|
-
exitOnError: false,
|
|
33
|
-
verbose: isLogLevelVerbose,
|
|
34
|
-
env: {
|
|
35
|
-
...process.env,
|
|
36
|
-
NODE_ENV: 'production', // only install production NPM dependencies
|
|
37
|
-
},
|
|
38
|
-
}).catch((err) => {
|
|
39
|
-
consola.error(
|
|
40
|
-
'Unexpected error installing seed dependencies. Try re-runing with --log-level verbose',
|
|
41
|
-
);
|
|
42
|
-
if (err) {
|
|
43
|
-
consola.error(err);
|
|
44
|
-
}
|
|
45
|
-
process.exit(1);
|
|
46
|
-
});
|
|
47
|
-
consola.success(`Installed in ${Date.now() - start2}ms`);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// run seed configure script
|
|
52
|
-
export const configureSeedApp = async (
|
|
53
|
-
seedInfo,
|
|
54
|
-
fetchSeedResult,
|
|
55
|
-
params,
|
|
56
|
-
dir,
|
|
57
|
-
skipOptionalPrompts,
|
|
58
|
-
isInit: boolean,
|
|
59
|
-
) => {
|
|
60
|
-
const { configure, prompts, details, defaults, validate } = seedInfo;
|
|
61
|
-
|
|
62
|
-
// load persisted answers if available
|
|
63
|
-
const persistedAnswers = loadGenxModule(fetchSeedResult.genxDir, PROMPT_DATA_FILE, false);
|
|
64
|
-
|
|
65
|
-
// get prompt answers
|
|
66
|
-
const data = await getData(
|
|
67
|
-
persistedAnswers,
|
|
68
|
-
prompts,
|
|
69
|
-
details,
|
|
70
|
-
defaults,
|
|
71
|
-
validate,
|
|
72
|
-
params,
|
|
73
|
-
dir,
|
|
74
|
-
skipOptionalPrompts,
|
|
75
|
-
fetchSeedResult,
|
|
76
|
-
);
|
|
77
|
-
consola.debug('Loaded seed data', data);
|
|
78
|
-
|
|
79
|
-
const utils = {
|
|
80
|
-
writeFileWithData: renderFile,
|
|
81
|
-
registerPartial,
|
|
82
|
-
editJSONFile,
|
|
83
|
-
replaceObjectKeys,
|
|
84
|
-
listAllFiles,
|
|
85
|
-
rename,
|
|
86
|
-
changeCase,
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
// run seed configure script
|
|
90
|
-
await configure(data, utils).catch((e) => consola.error(e));
|
|
91
|
-
|
|
92
|
-
// process seed exclusions, render templates, rename files/folders
|
|
93
|
-
processOptions(fetchSeedResult, fetchSeedResult.extractedSeedDir, data, isInit, persistedAnswers);
|
|
94
|
-
|
|
95
|
-
// when adding seed, copy result from temp folder to the app root (omitting .genx folder of the seed)
|
|
96
|
-
if (!isInit) {
|
|
97
|
-
await rm(fetchSeedResult.extractedSeedGenxDir);
|
|
98
|
-
cpSync(fetchSeedResult.extractedSeedDir, dir, { recursive: true });
|
|
99
|
-
await rm(fetchSeedResult.extractedSeedDir);
|
|
100
|
-
}
|
|
101
|
-
};
|
package/src/utils/time.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as ms } from 'pretty-ms';
|
package/test/utils/args.test.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
-
import { unparseArgs } from '../../src/utils';
|
|
3
|
-
|
|
4
|
-
const suite = createLogicSuite('args utils');
|
|
5
|
-
|
|
6
|
-
suite('unparseArgs', () => {
|
|
7
|
-
const args = {
|
|
8
|
-
'--': [],
|
|
9
|
-
str: 'bar',
|
|
10
|
-
b1: true,
|
|
11
|
-
b2: false,
|
|
12
|
-
arr: ['a', 'b'],
|
|
13
|
-
};
|
|
14
|
-
assert.is(unparseArgs(args), '--str bar --b1 --no-b2 --arr a b');
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
suite.run();
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { basename, resolve } from 'node:path';
|
|
2
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
3
|
-
import { COMMAND } from '../../src/types';
|
|
4
|
-
import { loadBuildContext } from '../../src/utils';
|
|
5
|
-
|
|
6
|
-
const suite = createLogicSuite('Build context utils');
|
|
7
|
-
|
|
8
|
-
suite('returns populated build context', async () => {
|
|
9
|
-
const actual = await loadBuildContext(process.cwd(), COMMAND.DEV, { foo: 'bar' });
|
|
10
|
-
|
|
11
|
-
assert.equal(actual.cli, {
|
|
12
|
-
command: 'dev',
|
|
13
|
-
isDev: true,
|
|
14
|
-
isAnalyze: false,
|
|
15
|
-
isBuild: false,
|
|
16
|
-
isTest: false,
|
|
17
|
-
isRun: false,
|
|
18
|
-
isLint: false,
|
|
19
|
-
options: {
|
|
20
|
-
foo: 'bar',
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
assert.equal(actual.env, {
|
|
25
|
-
isCI: !!process.env.CI,
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
assert.equal(actual.enable, {
|
|
29
|
-
apiExtractor: null,
|
|
30
|
-
cemAnalyzer: null,
|
|
31
|
-
mft: null,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
assert.equal(actual.config, {
|
|
35
|
-
app: {},
|
|
36
|
-
builder: {
|
|
37
|
-
default: 'webpack',
|
|
38
|
-
dev: 'vite',
|
|
39
|
-
lint: 'eslint-stylelint',
|
|
40
|
-
test: 'uvu-playwright',
|
|
41
|
-
},
|
|
42
|
-
clean: true,
|
|
43
|
-
copyAssets: ['**/*.{css,jpg,png,svg,mp4,ogg,webm}'],
|
|
44
|
-
env: [
|
|
45
|
-
'API_HOST',
|
|
46
|
-
'DEFAULT_ORGANISATION',
|
|
47
|
-
'DEFAULT_USER',
|
|
48
|
-
'DEFAULT_PASSWORD',
|
|
49
|
-
'ENABLE_SSO',
|
|
50
|
-
'GENX.*',
|
|
51
|
-
'GENX_*',
|
|
52
|
-
'FORCE_HTTP',
|
|
53
|
-
'SOCKET_EXT',
|
|
54
|
-
],
|
|
55
|
-
federation: {
|
|
56
|
-
name: 'buildKit',
|
|
57
|
-
remotes: {},
|
|
58
|
-
shared: {},
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
assert.equal(actual.pkg.name, '@genesislcap/build-kit');
|
|
63
|
-
|
|
64
|
-
assert.equal(basename(actual.dirs.cwd), 'build-kit');
|
|
65
|
-
assert.equal(basename(actual.dirs.workspace || ''), basename(resolve('../../../..')));
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
suite.run();
|
package/test/utils/env.test.ts
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
-
import type { BuildContext } from '../../src/types';
|
|
3
|
-
import { ENV } from '../../src/types';
|
|
4
|
-
import { setEnvVars, setNodeEnv } from '../../src/utils';
|
|
5
|
-
|
|
6
|
-
const suite1 = createLogicSuite('setNodeEnv');
|
|
7
|
-
|
|
8
|
-
suite1('updates NODE_ENV', () => {
|
|
9
|
-
setNodeEnv(ENV.TEST);
|
|
10
|
-
assert.is(process.env.NODE_ENV, ENV.TEST);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
suite1('can handle repeated calls', () => {
|
|
14
|
-
setNodeEnv(ENV.DEV);
|
|
15
|
-
setNodeEnv(ENV.DEV);
|
|
16
|
-
assert.is(process.env.NODE_ENV, ENV.DEV);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
suite1.run();
|
|
20
|
-
|
|
21
|
-
const suite2 = createLogicSuite('setEnvVars');
|
|
22
|
-
|
|
23
|
-
suite2('should handle multiple -e arguments', () => {
|
|
24
|
-
const mockContext = {
|
|
25
|
-
pkg: {},
|
|
26
|
-
cli: {
|
|
27
|
-
options: {
|
|
28
|
-
env: ['KEY1=VAL1', 'KEY2=VAL2'],
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
33
|
-
assert.is(process.env.KEY1, 'VAL1');
|
|
34
|
-
assert.is(process.env.KEY2, 'VAL2');
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
suite2('should handle multiple -e arguments with the same key', () => {
|
|
38
|
-
const mockContext = {
|
|
39
|
-
pkg: {},
|
|
40
|
-
cli: {
|
|
41
|
-
options: {
|
|
42
|
-
env: ['KEY1=VAL1', 'KEY1=VAL2'],
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
47
|
-
assert.is(process.env.KEY1, 'VAL2');
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
suite2('should handle -e KEY (config[KEY] exists in package.json - string)', () => {
|
|
51
|
-
const mockContext = {
|
|
52
|
-
pkg: {
|
|
53
|
-
config: {
|
|
54
|
-
KEY: 'ABC',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
cli: {
|
|
58
|
-
options: {
|
|
59
|
-
env: 'KEY',
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
64
|
-
assert.is(process.env.KEY, mockContext.pkg.config.KEY);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
suite2('should handle -e KEY (config[KEY] exists in package.json - number)', () => {
|
|
68
|
-
const mockContext = {
|
|
69
|
-
pkg: {
|
|
70
|
-
config: {
|
|
71
|
-
KEY: 5,
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
cli: {
|
|
75
|
-
options: {
|
|
76
|
-
env: 'KEY',
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
81
|
-
assert.is(process.env.KEY, `${mockContext.pkg.config.KEY}`);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
suite2('should handle -e KEY (config[KEY] exists in package.json - boolean false)', () => {
|
|
85
|
-
const mockContext = {
|
|
86
|
-
pkg: {
|
|
87
|
-
config: {
|
|
88
|
-
KEY: false,
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
cli: {
|
|
92
|
-
options: {
|
|
93
|
-
env: 'KEY',
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
98
|
-
assert.is(process.env.KEY, `${mockContext.pkg.config.KEY}`);
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
suite2('should handle -e KEY (config[KEY] exists in package.json - boolean true)', () => {
|
|
102
|
-
const mockContext = {
|
|
103
|
-
pkg: {
|
|
104
|
-
config: {
|
|
105
|
-
KEY: true,
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
cli: {
|
|
109
|
-
options: {
|
|
110
|
-
env: 'KEY',
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
115
|
-
assert.is(process.env.KEY, `${mockContext.pkg.config.KEY}`);
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
// -e CI
|
|
119
|
-
suite2("should handle -e KEY (config[KEY] doesn't exist in package.json)", () => {
|
|
120
|
-
const mockContext = {
|
|
121
|
-
pkg: {
|
|
122
|
-
config: {},
|
|
123
|
-
},
|
|
124
|
-
cli: {
|
|
125
|
-
options: {
|
|
126
|
-
env: 'KEY',
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
131
|
-
assert.is(process.env.KEY, '1');
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
// -e API_HOST=API_HOST_DEV1 (where API_HOST_DEV1 exists in config)
|
|
135
|
-
suite2('should handle -e KEY=VAL (config[VAL] exists in package.json - string)', () => {
|
|
136
|
-
const mockContext = {
|
|
137
|
-
pkg: {
|
|
138
|
-
config: {
|
|
139
|
-
KEY: 'ABC',
|
|
140
|
-
VAL: 'XYZ',
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
cli: {
|
|
144
|
-
options: {
|
|
145
|
-
env: 'KEY=VAL',
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
150
|
-
assert.is(process.env.KEY, mockContext.pkg.config.VAL);
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
suite2('should handle -e KEY=VAL (config[VAL] exists in package.json - boolean false)', () => {
|
|
154
|
-
const mockContext = {
|
|
155
|
-
pkg: {
|
|
156
|
-
config: {
|
|
157
|
-
KEY: 'ABC',
|
|
158
|
-
VAL: false,
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
cli: {
|
|
162
|
-
options: {
|
|
163
|
-
env: 'KEY=VAL',
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
};
|
|
167
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
168
|
-
assert.is(process.env.KEY, `${mockContext.pkg.config.VAL}`);
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
// referencing enother env var
|
|
172
|
-
suite2(
|
|
173
|
-
"should handle -e KEY=VAL (config[VAL] doesn't exist in package.json, process.env[VAL] exists)",
|
|
174
|
-
() => {
|
|
175
|
-
const mockContext = {
|
|
176
|
-
pkg: {
|
|
177
|
-
config: {},
|
|
178
|
-
},
|
|
179
|
-
cli: {
|
|
180
|
-
options: {
|
|
181
|
-
env: 'KEY=VAL',
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
};
|
|
185
|
-
const VAL = 'ABC';
|
|
186
|
-
process.env.VAL = VAL;
|
|
187
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
188
|
-
assert.is(process.env.KEY, VAL);
|
|
189
|
-
delete process.env.VAL;
|
|
190
|
-
},
|
|
191
|
-
);
|
|
192
|
-
|
|
193
|
-
// -e KEY=literal e.g. -e API_HOST=ws://host/
|
|
194
|
-
suite2(
|
|
195
|
-
"should handle -e KEY=VAL (config[VAL] doesn't exist in package.json, process.env[VAL] doesn't exist)",
|
|
196
|
-
() => {
|
|
197
|
-
const mockContext = {
|
|
198
|
-
pkg: {
|
|
199
|
-
config: {},
|
|
200
|
-
},
|
|
201
|
-
cli: {
|
|
202
|
-
options: {
|
|
203
|
-
env: 'KEY=VAL',
|
|
204
|
-
},
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
setEnvVars(mockContext as unknown as BuildContext);
|
|
208
|
-
assert.is(process.env.KEY, 'VAL');
|
|
209
|
-
},
|
|
210
|
-
);
|
|
211
|
-
|
|
212
|
-
suite2.run();
|
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
-
import { render } from '../../src/utils';
|
|
3
|
-
|
|
4
|
-
const suite = createLogicSuite('Handlebars templating utils');
|
|
5
|
-
|
|
6
|
-
const scenarios = [
|
|
7
|
-
{
|
|
8
|
-
description: 'upperCase',
|
|
9
|
-
template: '{ "name": "{{upperCase name}}" }',
|
|
10
|
-
data: { name: 'Abc' },
|
|
11
|
-
expected: '{ "name": "ABC" }',
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
description: 'upperCase (non-existing variable)',
|
|
15
|
-
template: '{ "name": "{{upperCase doesnotexist}}" }',
|
|
16
|
-
data: {},
|
|
17
|
-
expected: '{ "name": "" }',
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
description: 'lowerCase',
|
|
22
|
-
template: '{ "name": "{{lowerCase name}}" }',
|
|
23
|
-
data: { name: 'AbC' },
|
|
24
|
-
expected: '{ "name": "abc" }',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
description: 'lowerCase (non-existing variable)',
|
|
28
|
-
template: '{ "name": "{{lowerCase doesnotexist}}" }',
|
|
29
|
-
data: {},
|
|
30
|
-
expected: '{ "name": "" }',
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
description: 'kebabCase',
|
|
35
|
-
template: '{ "name": "{{kebabCase name}}" }',
|
|
36
|
-
data: { name: 'AbCd' },
|
|
37
|
-
expected: '{ "name": "ab-cd" }',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
description: 'kebabCase',
|
|
41
|
-
template: '{ "name": "{{kebabCase name}}" }',
|
|
42
|
-
data: { name: 'ab.cd' },
|
|
43
|
-
expected: '{ "name": "ab-cd" }',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
description: 'kebabCase',
|
|
47
|
-
template: '{ "name": "{{kebabCase name}}" }',
|
|
48
|
-
data: { name: 'ab cd' },
|
|
49
|
-
expected: '{ "name": "ab-cd" }',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
description: 'kebabCase',
|
|
53
|
-
template: '{ "name": "{{kebabCase doesnotexist}}" }',
|
|
54
|
-
data: { name: 'ab cd' },
|
|
55
|
-
expected: '{ "name": "" }',
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
{
|
|
59
|
-
description: 'camelCase',
|
|
60
|
-
template: '{ "name": "{{camelCase name}}" }',
|
|
61
|
-
data: { name: 'AbCd' },
|
|
62
|
-
expected: '{ "name": "abCd" }',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
description: 'camelCase',
|
|
66
|
-
template: '{ "name": "{{camelCase name}}" }',
|
|
67
|
-
data: { name: 'ab.cd' },
|
|
68
|
-
expected: '{ "name": "abCd" }',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
description: 'camelCase',
|
|
72
|
-
template: '{ "name": "{{camelCase name}}" }',
|
|
73
|
-
data: { name: 'ab cd' },
|
|
74
|
-
expected: '{ "name": "abCd" }',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
description: 'camelCase',
|
|
78
|
-
template: '{ "name": "{{camelCase doesnotexist}}" }',
|
|
79
|
-
data: { name: 'ab cd' },
|
|
80
|
-
expected: '{ "name": "" }',
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
{
|
|
84
|
-
description: 'capitalCase',
|
|
85
|
-
template: '{ "name": "{{capitalCase name}}" }',
|
|
86
|
-
data: { name: 'AbCd' },
|
|
87
|
-
expected: '{ "name": "Ab Cd" }',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
description: 'capitalCase',
|
|
91
|
-
template: '{ "name": "{{capitalCase name}}" }',
|
|
92
|
-
data: { name: 'ab.cd' },
|
|
93
|
-
expected: '{ "name": "Ab Cd" }',
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
description: 'capitalCase',
|
|
97
|
-
template: '{ "name": "{{capitalCase name}}" }',
|
|
98
|
-
data: { name: 'ab cd' },
|
|
99
|
-
expected: '{ "name": "Ab Cd" }',
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
description: 'capitalCase',
|
|
103
|
-
template: '{ "name": "{{capitalCase doesnotexist}}" }',
|
|
104
|
-
data: { name: 'ab cd' },
|
|
105
|
-
expected: '{ "name": "" }',
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
{
|
|
109
|
-
description: 'snakeCase',
|
|
110
|
-
template: '{ "name": "{{snakeCase name}}" }',
|
|
111
|
-
data: { name: 'AbCd' },
|
|
112
|
-
expected: '{ "name": "ab_cd" }',
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
description: 'snakeCase',
|
|
116
|
-
template: '{ "name": "{{snakeCase name}}" }',
|
|
117
|
-
data: { name: 'ab.cd' },
|
|
118
|
-
expected: '{ "name": "ab_cd" }',
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
description: 'snakeCase',
|
|
122
|
-
template: '{ "name": "{{snakeCase name}}" }',
|
|
123
|
-
data: { name: 'ab cd' },
|
|
124
|
-
expected: '{ "name": "ab_cd" }',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
description: 'snakeCase',
|
|
128
|
-
template: '{ "name": "{{snakeCase doesnotexist}}" }',
|
|
129
|
-
data: { name: 'ab cd' },
|
|
130
|
-
expected: '{ "name": "" }',
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
{
|
|
134
|
-
description: 'dotCase',
|
|
135
|
-
template: '{ "name": "{{dotCase name}}" }',
|
|
136
|
-
data: { name: 'AbCd' },
|
|
137
|
-
expected: '{ "name": "ab.cd" }',
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
description: 'dotCase',
|
|
141
|
-
template: '{ "name": "{{dotCase name}}" }',
|
|
142
|
-
data: { name: 'ab.cd' },
|
|
143
|
-
expected: '{ "name": "ab.cd" }',
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
description: 'dotCase',
|
|
147
|
-
template: '{ "name": "{{dotCase name}}" }',
|
|
148
|
-
data: { name: 'ab cd' },
|
|
149
|
-
expected: '{ "name": "ab.cd" }',
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
description: 'dotCase',
|
|
153
|
-
template: '{ "name": "{{dotCase doesnotexist}}" }',
|
|
154
|
-
data: { name: 'ab cd' },
|
|
155
|
-
expected: '{ "name": "" }',
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
{
|
|
159
|
-
description: 'pascalCase',
|
|
160
|
-
template: '{ "name": "{{pascalCase name}}" }',
|
|
161
|
-
data: { name: 'AbCd' },
|
|
162
|
-
expected: '{ "name": "AbCd" }',
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
description: 'pascalCase',
|
|
166
|
-
template: '{ "name": "{{pascalCase name}}" }',
|
|
167
|
-
data: { name: 'ab.cd' },
|
|
168
|
-
expected: '{ "name": "AbCd" }',
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
description: 'pascalCase',
|
|
172
|
-
template: '{ "name": "{{pascalCase name}}" }',
|
|
173
|
-
data: { name: 'ab cd' },
|
|
174
|
-
expected: '{ "name": "AbCd" }',
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
description: 'pascalCase',
|
|
178
|
-
template: '{ "name": "{{pascalCase doesnotexist}}" }',
|
|
179
|
-
data: { name: 'ab cd' },
|
|
180
|
-
expected: '{ "name": "" }',
|
|
181
|
-
},
|
|
182
|
-
|
|
183
|
-
{
|
|
184
|
-
description: 'sentenceCase',
|
|
185
|
-
template: '{ "name": "{{sentenceCase name}}" }',
|
|
186
|
-
data: { name: 'AbCd' },
|
|
187
|
-
expected: '{ "name": "Ab cd" }',
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
description: 'sentenceCase',
|
|
191
|
-
template: '{ "name": "{{sentenceCase name}}" }',
|
|
192
|
-
data: { name: 'ab.cd' },
|
|
193
|
-
expected: '{ "name": "Ab cd" }',
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
description: 'sentenceCase',
|
|
197
|
-
template: '{ "name": "{{sentenceCase name}}" }',
|
|
198
|
-
data: { name: 'ab cd' },
|
|
199
|
-
expected: '{ "name": "Ab cd" }',
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
description: 'sentenceCase',
|
|
203
|
-
template: '{ "name": "{{sentenceCase doesnotexist}}" }',
|
|
204
|
-
data: { name: 'ab cd' },
|
|
205
|
-
expected: '{ "name": "" }',
|
|
206
|
-
},
|
|
207
|
-
|
|
208
|
-
{
|
|
209
|
-
description: 'pathCase',
|
|
210
|
-
template: '{ "name": "{{pathCase name}}" }',
|
|
211
|
-
data: { name: 'AbCd' },
|
|
212
|
-
expected: '{ "name": "ab/cd" }',
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
description: 'pathCase',
|
|
216
|
-
template: '{ "name": "{{pathCase name}}" }',
|
|
217
|
-
data: { name: 'ab.cd' },
|
|
218
|
-
expected: '{ "name": "ab/cd" }',
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
description: 'pathCase',
|
|
222
|
-
template: '{ "name": "{{pathCase name}}" }',
|
|
223
|
-
data: { name: 'ab cd' },
|
|
224
|
-
expected: '{ "name": "ab/cd" }',
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
description: 'pathCase',
|
|
228
|
-
template: '{ "name": "{{pathCase doesnotexist}}" }',
|
|
229
|
-
data: { name: 'ab cd' },
|
|
230
|
-
expected: '{ "name": "" }',
|
|
231
|
-
},
|
|
232
|
-
|
|
233
|
-
{
|
|
234
|
-
description: 'constantCase',
|
|
235
|
-
template: '{ "name": "{{constantCase name}}" }',
|
|
236
|
-
data: { name: 'AbCd' },
|
|
237
|
-
expected: '{ "name": "AB_CD" }',
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
description: 'constantCase',
|
|
241
|
-
template: '{ "name": "{{constantCase name}}" }',
|
|
242
|
-
data: { name: 'ab.cd' },
|
|
243
|
-
expected: '{ "name": "AB_CD" }',
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
description: 'constantCase',
|
|
247
|
-
template: '{ "name": "{{constantCase name}}" }',
|
|
248
|
-
data: { name: 'ab cd' },
|
|
249
|
-
expected: '{ "name": "AB_CD" }',
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
description: 'constantCase',
|
|
253
|
-
template: '{ "name": "{{constantCase doesnotexist}}" }',
|
|
254
|
-
data: { name: 'ab cd' },
|
|
255
|
-
expected: '{ "name": "" }',
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
description: 'ifEquals',
|
|
259
|
-
template: '{{#ifEquals type "pie"}}true{{/ifEquals}}',
|
|
260
|
-
data: { type: 'pie' },
|
|
261
|
-
expected: 'true',
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
description: 'ifEquals',
|
|
265
|
-
template: '{{#ifEquals type "pie"}}true{{else}}false{{/ifEquals}}',
|
|
266
|
-
data: { type: 'line' },
|
|
267
|
-
expected: 'false',
|
|
268
|
-
},
|
|
269
|
-
];
|
|
270
|
-
|
|
271
|
-
scenarios.forEach((scenario) => {
|
|
272
|
-
suite(scenario.description, () => {
|
|
273
|
-
assert.is(render(scenario.template, scenario.data), scenario.expected);
|
|
274
|
-
});
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
suite.run();
|
package/test/utils/https.test.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
-
import { getDevCertOptions } from '../../src/utils/https';
|
|
3
|
-
|
|
4
|
-
const suite = createLogicSuite('https dev server');
|
|
5
|
-
|
|
6
|
-
suite('should have default cert options', () => {
|
|
7
|
-
const options = getDevCertOptions();
|
|
8
|
-
assert.ok(
|
|
9
|
-
options,
|
|
10
|
-
'Dev server cert options could not be created. Please ensure the local cert and key is available in build-kit/cert and is being published.',
|
|
11
|
-
);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
suite.run();
|