@form8ion/javascript 13.0.0-beta.10 → 13.0.0-beta.11
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/lib/index.js +159 -141
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
package/lib/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { questionNames as questionNames$2, questions } from '@travi/language-scaffolder-prompts';
|
|
2
2
|
import deepmerge from 'deepmerge';
|
|
3
3
|
import { fileTypes, fileExists, optionsSchemas, validateOptions, applyEnhancers, writeConfigFile } from '@form8ion/core';
|
|
4
|
-
import { scaffoldChoice,
|
|
4
|
+
import { scaffoldChoice, packageManagers as packageManagers$1, projectTypes as projectTypes$1, mergeIntoExistingPackageJson, dialects as dialects$1, writePackageJson, DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE } from '@form8ion/javascript-core';
|
|
5
5
|
import { prompt as prompt$1 } from '@form8ion/overridable-prompts';
|
|
6
6
|
import joi from 'joi';
|
|
7
7
|
import { scaffold, lift as lift$3 } from '@form8ion/codecov';
|
|
8
|
-
import { write as write$
|
|
8
|
+
import { write as write$2, load } from '@form8ion/config-file';
|
|
9
9
|
import { info, warn, error } from '@travi/cli-messages';
|
|
10
10
|
import * as commitConventionPlugin from '@form8ion/commit-convention';
|
|
11
11
|
import { scaffold as scaffold$4 } from '@form8ion/commit-convention';
|
|
@@ -48,7 +48,7 @@ const questionNames$1 = {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
async function scaffoldC8 ({projectRoot}) {
|
|
51
|
-
await write$
|
|
51
|
+
await write$2({
|
|
52
52
|
name: 'c8',
|
|
53
53
|
format: fileTypes.JSON,
|
|
54
54
|
path: projectRoot,
|
|
@@ -161,6 +161,117 @@ function tester$4 () {
|
|
|
161
161
|
return true;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
+
function buildAllowedHostsList ({packageManager, registries = {}}) {
|
|
165
|
+
return [
|
|
166
|
+
...!registries.registry ? [packageManager] : [],
|
|
167
|
+
...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))
|
|
168
|
+
];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function determineLockfilePathFor (packageManager) {
|
|
172
|
+
const lockfilePaths = {
|
|
173
|
+
[packageManagers$1.NPM]: 'package-lock.json',
|
|
174
|
+
[packageManagers$1.YARN]: 'yarn.lock'
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
return lockfilePaths[packageManager];
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function npmIsUsed ({projectRoot}) {
|
|
181
|
+
return fileExists(`${projectRoot}/${determineLockfilePathFor(packageManagers$1.NPM)}`);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function yarnIsUsed ({projectRoot}) {
|
|
185
|
+
return fileExists(`${projectRoot}/${determineLockfilePathFor(packageManagers$1.YARN)}`);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
async function jsPackageManagerIsUsed ({projectRoot}) {
|
|
189
|
+
const [npmFound, yarnFound] = await Promise.all([
|
|
190
|
+
npmIsUsed({projectRoot}),
|
|
191
|
+
yarnIsUsed({projectRoot})
|
|
192
|
+
]);
|
|
193
|
+
|
|
194
|
+
return npmFound || yarnFound;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
async function liftCorepack () {
|
|
198
|
+
await execa('corepack', ['use', 'npm@latest']);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
async function lifter$5 () {
|
|
202
|
+
await liftCorepack();
|
|
203
|
+
|
|
204
|
+
return {};
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
async function resolvePackageManager ({projectRoot, packageManager}) {
|
|
208
|
+
if (packageManager) return packageManager;
|
|
209
|
+
|
|
210
|
+
if (await npmIsUsed({projectRoot})) {
|
|
211
|
+
return packageManagers$1.NPM;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (await yarnIsUsed({projectRoot})) {
|
|
215
|
+
return packageManagers$1.YARN;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
throw new Error('Package-manager could not be determined');
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
var packageManagers = /*#__PURE__*/Object.freeze({
|
|
222
|
+
__proto__: null,
|
|
223
|
+
defineLockfilePath: determineLockfilePathFor,
|
|
224
|
+
determineCurrent: resolvePackageManager,
|
|
225
|
+
lift: lifter$5,
|
|
226
|
+
test: jsPackageManagerIsUsed
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
const lockfileLintSupportedPackageManagers = [packageManagers$1.NPM, packageManagers$1.YARN];
|
|
230
|
+
|
|
231
|
+
function lockfileLintSupports(packageManager) {
|
|
232
|
+
return lockfileLintSupportedPackageManagers.includes(packageManager);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
async function scaffoldLockfileLint ({projectRoot, packageManager, registries}) {
|
|
236
|
+
if (!lockfileLintSupports(packageManager)) {
|
|
237
|
+
throw new Error(
|
|
238
|
+
`The ${packageManager} package manager is currently not supported by lockfile-lint. `
|
|
239
|
+
+ `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
await write$2({
|
|
244
|
+
name: 'lockfile-lint',
|
|
245
|
+
format: fileTypes.JSON,
|
|
246
|
+
path: projectRoot,
|
|
247
|
+
config: {
|
|
248
|
+
path: determineLockfilePathFor(packageManager),
|
|
249
|
+
type: packageManager,
|
|
250
|
+
'validate-https': true,
|
|
251
|
+
'allowed-hosts': buildAllowedHostsList({packageManager, registries})
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
return {
|
|
256
|
+
devDependencies: ['lockfile-lint'],
|
|
257
|
+
scripts: {'lint:lockfile': 'lockfile-lint'}
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function lockfileLintIsAlreadyConfigured ({projectRoot}) {
|
|
262
|
+
return fileExists(`${projectRoot}/.lockfile-lintrc.json`);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const configName = 'lockfile-lint';
|
|
266
|
+
|
|
267
|
+
function read() {
|
|
268
|
+
return load({name: configName});
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
function write$1({projectRoot, config}) {
|
|
272
|
+
return write$2({name: configName, format: fileTypes.JSON, path: projectRoot, config});
|
|
273
|
+
}
|
|
274
|
+
|
|
164
275
|
async function writeNpmConfig ({projectRoot, config}) {
|
|
165
276
|
await promises$1.writeFile(`${projectRoot}/.npmrc`, stringify(config));
|
|
166
277
|
}
|
|
@@ -169,24 +280,10 @@ function projectWillNotBeConsumed(projectType) {
|
|
|
169
280
|
return projectTypes$1.APPLICATION === projectType || projectTypes$1.CLI === projectType;
|
|
170
281
|
}
|
|
171
282
|
|
|
172
|
-
async function scaffoldNpmConfig ({
|
|
173
|
-
projectRoot,
|
|
174
|
-
projectType,
|
|
175
|
-
registries
|
|
176
|
-
}) {
|
|
283
|
+
async function scaffoldNpmConfig ({projectRoot, projectType}) {
|
|
177
284
|
await writeNpmConfig({
|
|
178
285
|
projectRoot,
|
|
179
|
-
config: {
|
|
180
|
-
'update-notifier': false,
|
|
181
|
-
...projectWillNotBeConsumed(projectType) && {'save-exact': true},
|
|
182
|
-
...Object.fromEntries(Object.entries(registries)
|
|
183
|
-
.filter(([scope]) => 'publish' !== scope)
|
|
184
|
-
.map(([scope, url]) => {
|
|
185
|
-
if ('registry' === scope) return ['registry', url];
|
|
186
|
-
|
|
187
|
-
return [`@${scope}:registry`, url];
|
|
188
|
-
}))
|
|
189
|
-
}
|
|
286
|
+
config: {'update-notifier': false, ...projectWillNotBeConsumed(projectType) && {'save-exact': true}}
|
|
190
287
|
});
|
|
191
288
|
|
|
192
289
|
return {scripts: {'lint:peer': 'npm ls >/dev/null'}};
|
|
@@ -196,31 +293,29 @@ function tester$3 ({projectRoot}) {
|
|
|
196
293
|
return fileExists(`${projectRoot}/.npmrc`);
|
|
197
294
|
}
|
|
198
295
|
|
|
199
|
-
async function
|
|
296
|
+
async function readNpmConfig ({projectRoot}) {
|
|
200
297
|
const pathToConfig = `${projectRoot}/.npmrc`;
|
|
201
298
|
|
|
299
|
+
if (!(await fileExists(pathToConfig))) return {};
|
|
300
|
+
|
|
301
|
+
return parse(await promises$1.readFile(pathToConfig, 'utf-8'));
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
async function lifter$4 ({projectRoot}) {
|
|
202
305
|
const {
|
|
203
306
|
provenance,
|
|
204
307
|
'engines-strict': enginesStrict,
|
|
205
308
|
...remainingProperties
|
|
206
|
-
} =
|
|
309
|
+
} = await readNpmConfig({projectRoot});
|
|
207
310
|
|
|
208
|
-
await
|
|
311
|
+
await writeNpmConfig({projectRoot, config: remainingProperties});
|
|
209
312
|
|
|
210
313
|
return {};
|
|
211
314
|
}
|
|
212
315
|
|
|
213
|
-
async function readNpmConfig ({projectRoot}) {
|
|
214
|
-
const pathToConfig = `${projectRoot}/.npmrc`;
|
|
215
|
-
|
|
216
|
-
if (!(await fileExists(pathToConfig))) return {};
|
|
217
|
-
|
|
218
|
-
return parse(await promises$1.readFile(pathToConfig, 'utf-8'));
|
|
219
|
-
}
|
|
220
|
-
|
|
221
316
|
var npmConfigPlugin = /*#__PURE__*/Object.freeze({
|
|
222
317
|
__proto__: null,
|
|
223
|
-
lift: lifter$
|
|
318
|
+
lift: lifter$4,
|
|
224
319
|
read: readNpmConfig,
|
|
225
320
|
scaffold: scaffoldNpmConfig,
|
|
226
321
|
test: tester$3,
|
|
@@ -237,28 +332,48 @@ function buildRegistriesConfig (registries = {}) {
|
|
|
237
332
|
}, {registry: 'https://registry.npmjs.org'});
|
|
238
333
|
}
|
|
239
334
|
|
|
240
|
-
async function
|
|
241
|
-
const
|
|
335
|
+
async function updateRegistriesInNpmConfig(registries, projectRoot) {
|
|
336
|
+
const registriesForNpmConfig = buildRegistriesConfig(registries);
|
|
242
337
|
|
|
243
338
|
await writeNpmConfig({
|
|
244
339
|
projectRoot,
|
|
245
340
|
config: {
|
|
246
341
|
...(await readNpmConfig({projectRoot})),
|
|
247
|
-
...
|
|
342
|
+
...registriesForNpmConfig
|
|
248
343
|
}
|
|
249
344
|
});
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
async function updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries) {
|
|
348
|
+
await write$1({
|
|
349
|
+
projectRoot,
|
|
350
|
+
config: {
|
|
351
|
+
...await read(),
|
|
352
|
+
'allowed-hosts': buildAllowedHostsList({packageManager, registries})
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
async function lifter$3 ({projectRoot, packageManager, configs: {registries}}) {
|
|
358
|
+
await updateRegistriesInNpmConfig(registries, projectRoot);
|
|
359
|
+
|
|
360
|
+
if (!(await lockfileLintIsAlreadyConfigured({projectRoot}))) {
|
|
361
|
+
return scaffoldLockfileLint({projectRoot, packageManager, registries});
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
await updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries);
|
|
250
365
|
|
|
251
366
|
return {};
|
|
252
367
|
}
|
|
253
368
|
|
|
254
369
|
var registriesPlugin = /*#__PURE__*/Object.freeze({
|
|
255
370
|
__proto__: null,
|
|
256
|
-
lift: lifter$
|
|
371
|
+
lift: lifter$3,
|
|
257
372
|
test: tester$4
|
|
258
373
|
});
|
|
259
374
|
|
|
260
375
|
async function scaffoldRemark ({config, projectRoot, projectType, vcs}) {
|
|
261
|
-
await write$
|
|
376
|
+
await write$2({
|
|
262
377
|
format: fileTypes.JSON,
|
|
263
378
|
path: projectRoot,
|
|
264
379
|
name: 'remark',
|
|
@@ -312,7 +427,7 @@ async function scaffoldCodeStyle ({
|
|
|
312
427
|
].filter(Boolean)));
|
|
313
428
|
}
|
|
314
429
|
|
|
315
|
-
function lifter$
|
|
430
|
+
function lifter$2 (options) {
|
|
316
431
|
return applyEnhancers({options, enhancers: [eslintPlugin]});
|
|
317
432
|
}
|
|
318
433
|
|
|
@@ -322,7 +437,7 @@ function tester$2 (options) {
|
|
|
322
437
|
|
|
323
438
|
var codeStylePlugin = /*#__PURE__*/Object.freeze({
|
|
324
439
|
__proto__: null,
|
|
325
|
-
lift: lifter$
|
|
440
|
+
lift: lifter$2,
|
|
326
441
|
scaffold: scaffoldCodeStyle,
|
|
327
442
|
test: tester$2
|
|
328
443
|
});
|
|
@@ -798,7 +913,7 @@ function vcsRepositoryHostedOnGithub(vcs) {
|
|
|
798
913
|
return vcs && 'github' === vcs.host;
|
|
799
914
|
}
|
|
800
915
|
|
|
801
|
-
async function lifter$
|
|
916
|
+
async function lifter$1 ({projectRoot, packageDetails, vcs}) {
|
|
802
917
|
if (await isPackage({projectRoot, packageDetails})) return liftPackage$1({projectRoot, packageDetails});
|
|
803
918
|
if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});
|
|
804
919
|
|
|
@@ -815,13 +930,13 @@ async function lifter$2 ({projectRoot, packageDetails, vcs}) {
|
|
|
815
930
|
|
|
816
931
|
var projectTypes = /*#__PURE__*/Object.freeze({
|
|
817
932
|
__proto__: null,
|
|
818
|
-
lift: lifter$
|
|
933
|
+
lift: lifter$1,
|
|
819
934
|
scaffold: scaffoldProjectType,
|
|
820
935
|
test: tester$1
|
|
821
936
|
});
|
|
822
937
|
|
|
823
938
|
function write ({projectRoot, config}) {
|
|
824
|
-
return write$
|
|
939
|
+
return write$2({path: projectRoot, name: 'babel', format: fileTypes.JSON, config});
|
|
825
940
|
}
|
|
826
941
|
|
|
827
942
|
function loadConfig () {
|
|
@@ -849,7 +964,7 @@ async function scaffoldBabel ({projectRoot, preset}) {
|
|
|
849
964
|
};
|
|
850
965
|
}
|
|
851
966
|
|
|
852
|
-
async function lifter
|
|
967
|
+
async function lifter ({results, projectRoot}) {
|
|
853
968
|
await addIgnore({ignore: results.buildDirectory, projectRoot});
|
|
854
969
|
|
|
855
970
|
return {};
|
|
@@ -901,7 +1016,7 @@ function scaffoldDialect ({dialect, projectType, projectRoot, configs, testFilen
|
|
|
901
1016
|
|
|
902
1017
|
var dialects = /*#__PURE__*/Object.freeze({
|
|
903
1018
|
__proto__: null,
|
|
904
|
-
lift: lifter
|
|
1019
|
+
lift: lifter,
|
|
905
1020
|
scaffold: scaffoldDialect,
|
|
906
1021
|
test: predicate
|
|
907
1022
|
});
|
|
@@ -1124,64 +1239,6 @@ async function liftPackage ({
|
|
|
1124
1239
|
await processDependencies({dependencies, devDependencies, projectRoot, packageManager});
|
|
1125
1240
|
}
|
|
1126
1241
|
|
|
1127
|
-
function determineLockfilePathFor (packageManager) {
|
|
1128
|
-
const lockfilePaths = {
|
|
1129
|
-
[packageManagers$1.NPM]: 'package-lock.json',
|
|
1130
|
-
[packageManagers$1.YARN]: 'yarn.lock'
|
|
1131
|
-
};
|
|
1132
|
-
|
|
1133
|
-
return lockfilePaths[packageManager];
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
function npmIsUsed ({projectRoot}) {
|
|
1137
|
-
return fileExists(`${projectRoot}/${determineLockfilePathFor(packageManagers$1.NPM)}`);
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
function yarnIsUsed ({projectRoot}) {
|
|
1141
|
-
return fileExists(`${projectRoot}/${determineLockfilePathFor(packageManagers$1.YARN)}`);
|
|
1142
|
-
}
|
|
1143
|
-
|
|
1144
|
-
async function jsPackageManagerIsUsed ({projectRoot}) {
|
|
1145
|
-
const [npmFound, yarnFound] = await Promise.all([
|
|
1146
|
-
npmIsUsed({projectRoot}),
|
|
1147
|
-
yarnIsUsed({projectRoot})
|
|
1148
|
-
]);
|
|
1149
|
-
|
|
1150
|
-
return npmFound || yarnFound;
|
|
1151
|
-
}
|
|
1152
|
-
|
|
1153
|
-
async function liftCorepack () {
|
|
1154
|
-
await execa('corepack', ['use', 'npm@latest']);
|
|
1155
|
-
}
|
|
1156
|
-
|
|
1157
|
-
async function lifter () {
|
|
1158
|
-
await liftCorepack();
|
|
1159
|
-
|
|
1160
|
-
return {};
|
|
1161
|
-
}
|
|
1162
|
-
|
|
1163
|
-
async function resolvePackageManager ({projectRoot, packageManager}) {
|
|
1164
|
-
if (packageManager) return packageManager;
|
|
1165
|
-
|
|
1166
|
-
if (await npmIsUsed({projectRoot})) {
|
|
1167
|
-
return packageManagers$1.NPM;
|
|
1168
|
-
}
|
|
1169
|
-
|
|
1170
|
-
if (await yarnIsUsed({projectRoot})) {
|
|
1171
|
-
return packageManagers$1.YARN;
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
throw new Error('Package-manager could not be determined');
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
|
-
var packageManagers = /*#__PURE__*/Object.freeze({
|
|
1178
|
-
__proto__: null,
|
|
1179
|
-
defineLockfilePath: determineLockfilePathFor,
|
|
1180
|
-
determineCurrent: resolvePackageManager,
|
|
1181
|
-
lift: lifter,
|
|
1182
|
-
test: jsPackageManagerIsUsed
|
|
1183
|
-
});
|
|
1184
|
-
|
|
1185
1242
|
async function lift ({projectRoot, vcs, results, pathWithinParent, enhancers = {}, configs = {}}) {
|
|
1186
1243
|
info('Lifting JavaScript-specific details');
|
|
1187
1244
|
|
|
@@ -1607,45 +1664,6 @@ async function scaffoldTesting ({
|
|
|
1607
1664
|
return deepmerge({devDependencies: [...(unit || integration) ? ['@travi/any'] : []], eslint: {}}, unitResults);
|
|
1608
1665
|
}
|
|
1609
1666
|
|
|
1610
|
-
function buildAllowedHostsList ({packageManager, registries}) {
|
|
1611
|
-
return [
|
|
1612
|
-
...(!registries || (registries && !registries.registry)) ? [packageManager] : [],
|
|
1613
|
-
...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))
|
|
1614
|
-
];
|
|
1615
|
-
}
|
|
1616
|
-
|
|
1617
|
-
const lockfileLintSupportedPackageManagers = [packageManagers$1.NPM, packageManagers$1.YARN];
|
|
1618
|
-
|
|
1619
|
-
function lockfileLintSupports(packageManager) {
|
|
1620
|
-
return lockfileLintSupportedPackageManagers.includes(packageManager);
|
|
1621
|
-
}
|
|
1622
|
-
|
|
1623
|
-
async function scaffoldLockfileLint ({projectRoot, packageManager, registries}) {
|
|
1624
|
-
if (!lockfileLintSupports(packageManager)) {
|
|
1625
|
-
throw new Error(
|
|
1626
|
-
`The ${packageManager} package manager is currently not supported by lockfile-lint. `
|
|
1627
|
-
+ `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`
|
|
1628
|
-
);
|
|
1629
|
-
}
|
|
1630
|
-
|
|
1631
|
-
await write$1({
|
|
1632
|
-
name: 'lockfile-lint',
|
|
1633
|
-
format: fileTypes.JSON,
|
|
1634
|
-
path: projectRoot,
|
|
1635
|
-
config: {
|
|
1636
|
-
path: determineLockfilePathFor(packageManager),
|
|
1637
|
-
type: packageManager,
|
|
1638
|
-
'validate-https': true,
|
|
1639
|
-
'allowed-hosts': buildAllowedHostsList({packageManager, registries})
|
|
1640
|
-
}
|
|
1641
|
-
});
|
|
1642
|
-
|
|
1643
|
-
return {
|
|
1644
|
-
devDependencies: ['lockfile-lint'],
|
|
1645
|
-
scripts: {'lint:lockfile': 'lockfile-lint'}
|
|
1646
|
-
};
|
|
1647
|
-
}
|
|
1648
|
-
|
|
1649
1667
|
async function scaffoldLinting ({projectRoot, packageManager, registries}) {
|
|
1650
1668
|
return scaffoldLockfileLint({projectRoot, packageManager, registries});
|
|
1651
1669
|
}
|
|
@@ -1762,7 +1780,7 @@ async function scaffolder (options) {
|
|
|
1762
1780
|
});
|
|
1763
1781
|
const [nodeVersion, npmResults, dialectResults, codeStyleResults] = await Promise.all([
|
|
1764
1782
|
scaffoldNodeVersion({projectRoot, nodeVersionCategory}),
|
|
1765
|
-
scaffoldNpmConfig({projectType, projectRoot
|
|
1783
|
+
scaffoldNpmConfig({projectType, projectRoot}),
|
|
1766
1784
|
scaffoldDialect({
|
|
1767
1785
|
dialect,
|
|
1768
1786
|
configs,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/coverage/c8/scaffolder.js","../src/coverage/scaffolder.js","../src/coverage/nyc/tester.js","../src/dependencies/remover.js","../src/coverage/nyc/remover.js","../src/coverage/lifter.js","../src/coverage/c8/tester.js","../src/coverage/tester.js","../src/testing/prompt.js","../src/plugins-schemas.js","../src/testing/unit.js","../src/registries/tester.js","../src/npm-config/writer.js","../src/npm-config/scaffolder.js","../src/npm-config/tester.js","../src/npm-config/lifter.js","../src/npm-config/reader.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/lift/enhancers/engines.js","../src/documentation/generation-command.js","../src/project-type/package/documentation.js","../src/project-type/publishable/access-level.js","../src/project-type/publishable/badges.js","../src/project-type/publishable/provenance/slsa.js","../src/project-type/publishable/provenance/lifter.js","../src/project-type/publishable/lifter.js","../src/project-type/publishable/scaffolder.js","../src/project-type/publishable/bundler/prompt.js","../src/project-type/publishable/bundler/scaffolder.js","../src/template-path.js","../src/project-type/package/build-details.js","../src/project-type/package/scaffolder.js","../src/project-type/package/lifter.js","../src/project-type/package/tester.js","../src/project-type/application/scaffolder.js","../src/project-type/application/predicate.js","../src/project-type/monorepo/scaffolder.js","../src/project-type/cli/scaffolder.js","../src/project-type/cli/tester.js","../src/project-type/cli/lifter.js","../src/project-type/scaffolder.js","../src/project-type/tester.js","../src/project-type/lifter.js","../src/dialects/babel/config/writer.js","../src/dialects/babel/config/loader.js","../src/dialects/babel/config/ignore-adder.js","../src/dialects/babel/scaffolder.js","../src/dialects/babel/lifter.js","../src/dialects/babel/predicate.js","../src/dialects/typescript/scaffolder.js","../src/dialects/scaffolder.js","../src/package/package-name.js","../src/package/details.js","../src/package/scaffolder.js","../src/package/property-sorter.js","../src/package/vcs-host-details.js","../src/dependencies/package-managers.js","../src/dependencies/installer.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/lifter.js","../src/package/lifter.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/current-manager-resolver.js","../src/lift/lift.js","../src/options/schemas.js","../src/vcs/schema.js","../src/options/validator.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/documentation/scaffolder.js","../src/documentation/badges.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.js","../src/project-type-plugin/prompt.js","../src/project-type-plugin/scaffolder.js","../src/scaffolder/verification/testing/scaffolder.js","../src/lockfile-lint/allowed-hosts-builder.js","../src/lockfile-lint/scaffolder.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/scaffolder/scaffolder.js","../src/tester.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\n PACKAGE_BUNDLER: 'packageBundler',\n PROJECT_TYPE: 'projectType',\n PROJECT_TYPE_CHOICE: 'projectTypeChoice',\n SHOULD_BE_SCOPED: 'shouldBeScoped',\n SCOPE: 'scope',\n AUTHOR_NAME: 'authorName',\n AUTHOR_EMAIL: 'authorEmail',\n AUTHOR_URL: 'authorUrl',\n HOST: 'host',\n CONFIGURE_LINTING: 'configureLint',\n PROVIDE_EXAMPLE: 'provideExample',\n DIALECT: 'dialect'\n};\n","import {write} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n await write({\n name: 'c8',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n reporter: ['lcov', 'text-summary', 'html'],\n exclude: ['src/**/*-test.js', 'test/', 'thirdparty-wrappers/', 'vendor/']\n }\n });\n\n return {\n devDependencies: ['cross-env', 'c8'],\n vcsIgnore: {files: [], directories: ['/coverage/']},\n eslint: {ignore: {directories: ['/coverage/']}}\n };\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\n\nexport default async function ({projectRoot, vcs, visibility, pathWithinParent}) {\n return deepmerge(await scaffoldC8({projectRoot}), await scaffoldCodecov({vcs, visibility, pathWithinParent}));\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nycrc`);\n}\n","import execa from '../../thirdparty-wrappers/execa.js';\n\nexport default async function ({packageManager, dependencies}) {\n await execa(packageManager, ['remove', ...dependencies]);\n}\n","import {promises as fs} from 'fs';\n\nimport removeDependencies from '../../dependencies/remover.js';\n\nexport default async function ({projectRoot, packageManager}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true}),\n removeDependencies({packageManager, dependencies: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']})\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {lift as liftCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\nimport {test as nycIsConfigured, remove as removeNyc} from './nyc/index.js';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const codecovResults = await liftCodecov({projectRoot, packageManager, vcs});\n\n if (await nycIsConfigured({projectRoot})) {\n const [c8Results] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot, packageManager})\n ]);\n\n return deepmerge.all([\n c8Results,\n codecovResults,\n {\n scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'},\n nextSteps: [{\n summary: 'Remove use of `@istanbuljs/nyc-config-babel` from your babel config, if present,'\n + ' after the migration away from `nyc`'\n }]\n }\n ]);\n }\n\n return codecovResults;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.c8rc.json`);\n}\n","import c8IsConfigured from './c8/tester.js';\nimport nycIsConfigured from './nyc/tester.js';\n\nexport default async function ({projectRoot}) {\n const [c8Exists, nycExists] = await Promise.all([c8IsConfigured({projectRoot}), nycIsConfigured({projectRoot})]);\n\n return c8Exists || nycExists;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({frameworks, decisions}) {\n if (!Object.keys(frameworks).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.UNIT_TEST_FRAMEWORK,\n type: 'list',\n message: 'Which type of unit testing framework should be used?',\n choices: [...Object.keys(frameworks), 'Other']\n }], decisions);\n\n return answers[questionNames.UNIT_TEST_FRAMEWORK];\n}\n","import joi from 'joi';\nimport {optionsSchemas} from '@form8ion/core';\n\nexport const pluginsSchema = joi.object().pattern(/^/, optionsSchemas.form8ionPlugin).default({});\n","import deepmerge from 'deepmerge';\nimport {validateOptions} from '@form8ion/core';\nimport {scaffoldChoice as scaffoldFrameworkChoice} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldCoverage} from '../coverage/index.js';\nimport chooseFramework from './prompt.js';\nimport {pluginsSchema} from '../plugins-schemas.js';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {\n const validatedFrameworks = validateOptions(pluginsSchema, frameworks);\n const [framework, coverage] = await Promise.all([\n chooseFramework({frameworks: validatedFrameworks, decisions})\n .then(chosenFramework => scaffoldFrameworkChoice(validatedFrameworks, chosenFramework, {projectRoot, dialect})),\n scaffoldCoverage({projectRoot, vcs, visibility, pathWithinParent})\n ]);\n\n return deepmerge.all([\n {scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'}},\n framework,\n coverage\n ]);\n}\n","export default function () {\n return true;\n}\n","import {promises as fs} from 'node:fs';\nimport {stringify} from 'ini';\n\nexport default async function ({projectRoot, config}) {\n await fs.writeFile(`${projectRoot}/.npmrc`, stringify(config));\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport write from './writer.js';\n\nfunction projectWillNotBeConsumed(projectType) {\n return projectTypes.APPLICATION === projectType || projectTypes.CLI === projectType;\n}\n\nexport default async function ({\n projectRoot,\n projectType,\n registries\n}) {\n await write({\n projectRoot,\n config: {\n 'update-notifier': false,\n ...projectWillNotBeConsumed(projectType) && {'save-exact': true},\n ...Object.fromEntries(Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .map(([scope, url]) => {\n if ('registry' === scope) return ['registry', url];\n\n return [`@${scope}:registry`, url];\n }))\n }\n });\n\n return {scripts: {'lint:peer': 'npm ls >/dev/null'}};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.npmrc`);\n}\n","import {promises as fs} from 'node:fs';\nimport {parse, stringify} from 'ini';\n\nexport default async function ({projectRoot}) {\n const pathToConfig = `${projectRoot}/.npmrc`;\n\n const {\n provenance,\n 'engines-strict': enginesStrict,\n ...remainingProperties\n } = parse(await fs.readFile(pathToConfig, 'utf-8'));\n\n await fs.writeFile(pathToConfig, stringify(remainingProperties));\n\n return {};\n}\n","import {parse} from 'ini';\nimport {promises as fs} from 'node:fs';\nimport {fileExists} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n const pathToConfig = `${projectRoot}/.npmrc`;\n\n if (!(await fileExists(pathToConfig))) return {};\n\n return parse(await fs.readFile(pathToConfig, 'utf-8'));\n}\n","export default function (registries = {}) {\n return Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .reduce((acc, [scope, url]) => {\n if ('registry' === scope) return {...acc, registry: url};\n\n return {...acc, [`@${scope}:registry`]: url};\n }, {registry: 'https://registry.npmjs.org'});\n}\n","import {read as readNpmConfig, write as writeNpmConfig} from '../npm-config/index.js';\nimport buildRegistriesConfig from './npm-config/list-builder.js';\n\nexport default async function ({projectRoot, configs}) {\n const registries = buildRegistriesConfig(configs.registries);\n\n await writeNpmConfig({\n projectRoot,\n config: {\n ...(await readNpmConfig({projectRoot})),\n ...registries\n }\n });\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {fileTypes} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nexport default async function ({config, projectRoot, projectType, vcs}) {\n await write({\n format: fileTypes.JSON,\n path: projectRoot,\n name: 'remark',\n config: {\n settings: {\n listItemIndent: 'one',\n emphasis: '_',\n strong: '_',\n bullet: '*',\n incrementListMarker: false\n },\n plugins: [\n config,\n ['remark-toc', {tight: true}],\n ...projectTypes.PACKAGE === projectType ? [['remark-usage', {heading: 'example'}]] : [],\n ...!vcs ? [['validate-links', {repository: false}]] : []\n ]\n }\n });\n\n return deepmerge(\n {\n devDependencies: [config, 'remark-cli', 'remark-toc'],\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {devDependencies: ['remark-usage']}}\n );\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldPrettier} from '@form8ion/prettier';\nimport {scaffold as scaffoldEslint} from '@form8ion/eslint';\n\nimport {scaffold as scaffoldRemark} from './remark/index.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n configs,\n vcs,\n configureLinting\n}) {\n return deepmerge.all(await Promise.all([\n configs.eslint\n && configureLinting\n && scaffoldEslint({projectRoot, config: configs.eslint}),\n scaffoldRemark({\n projectRoot,\n projectType,\n vcs,\n config: configs.remark || '@form8ion/remark-lint-preset'\n }),\n scaffoldPrettier({projectRoot, config: configs.prettier})\n ].filter(Boolean)));\n}\n","import {applyEnhancers} from '@form8ion/core';\nimport * as eslintPlugin from '@form8ion/eslint';\n\nexport default function (options) {\n return applyEnhancers({options, enhancers: [eslintPlugin]});\n}\n","import {test as testForEslint} from '@form8ion/eslint';\n\nexport default function (options) {\n return testForEslint(options);\n}\n","import {promises as fs} from 'fs';\n\nexport async function test({projectRoot}) {\n const {engines} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf8'));\n\n return !!engines?.node;\n}\n\nexport async function lift({packageDetails: {name}}) {\n return {\n devDependencies: ['ls-engines'],\n scripts: {'lint:engines': 'ls-engines'},\n badges: {consumer: {node: {img: `https://img.shields.io/node/v/${name}?logo=node.js`, text: 'node'}}}\n };\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm run generate:md';\n if (packageManagers.YARN === packageManager) return 'yarn generate:md';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport buildGenerationCommand from '../../documentation/generation-command.js';\n\nfunction getInstallationCommand(packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm install';\n if (packageManagers.YARN === packageManager) return 'yarn add';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n\nexport default function ({scope, packageName, packageManager, visibility, provideExample}) {\n return {\n usage: `### Installation\n${'Private' === visibility ? `\n:warning: this is a private package, so you will need to use an npm token with\naccess to private packages under \\`@${scope}\\`\n` : ''\n}\n\\`\\`\\`sh\n$ ${getInstallationCommand(packageManager)} ${packageName}\n\\`\\`\\`${provideExample\n ? `\n\n### Example\n\nrun \\`${buildGenerationCommand(packageManager)}\\` to inject the usage example`\n : ''\n}`\n };\n}\n","export default function ({projectVisibility}) {\n return 'Public' === projectVisibility ? 'public' : 'restricted';\n}\n","export default function (packageName, accessLevel) {\n return {\n consumer: {\n ...'public' === accessLevel && {\n npm: {\n img: `https://img.shields.io/npm/v/${packageName}?logo=npm`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\n}\n","export default function ({provenance}) {\n if (provenance) {\n return {\n badges: {\n status: {\n slsa: {\n img: 'https://slsa.dev/images/gh-badge-level2.svg',\n url: 'https://slsa.dev',\n text: 'SLSA Level 2'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport enhanceSlsa from './slsa.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {publishConfig: {access}} = packageDetails;\n\n if ('public' === access) {\n await mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});\n\n return enhanceSlsa({provenance: true});\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport defineBadges from './badges.js';\nimport {lift as liftProvenance} from './provenance/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {name: packageName, publishConfig: {access: packageAccessLevel}} = packageDetails;\n const homepage = `https://npm.im/${packageName}`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n\n return deepmerge(\n await liftProvenance({packageDetails, projectRoot}),\n {\n homepage,\n devDependencies: ['publint'],\n scripts: {'lint:publish': 'publint --strict'},\n badges: defineBadges(packageName, packageAccessLevel)\n }\n );\n}\n","import defineBadges from './badges.js';\n\nexport default async function ({packageName, packageAccessLevel}) {\n return {\n badges: await defineBadges(packageName, packageAccessLevel)\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../../prompts/question-names.js';\n\nexport default async function ({bundlers, decisions}) {\n if (!Object.keys(bundlers).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PACKAGE_BUNDLER,\n type: 'list',\n message: 'Which bundler should be used?',\n choices: [...Object.keys(bundlers), 'Other']\n }], decisions);\n\n return answers[questionNames.PACKAGE_BUNDLER];\n}\n","import {scaffoldChoice as scaffoldChosenBundler} from '@form8ion/javascript-core';\nimport chooseBundler from './prompt.js';\n\nexport default async function ({projectRoot, projectType, bundlers, dialect, decisions}) {\n const chosenBundler = await chooseBundler({bundlers, decisions});\n\n return scaffoldChosenBundler(bundlers, chosenBundler, {projectRoot, projectType, dialect});\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'fs';\nimport deepmerge from 'deepmerge';\nimport mustache from 'mustache';\nimport mkdir from 'make-dir';\nimport touch from 'touch';\nimport camelcase from 'camelcase';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\nimport determinePathToTemplateFile from '../../template-path.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot, projectName, dialect) {\n return fs.writeFile(\n `${projectRoot}/example.js`,\n mustache.render(\n await fs.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),\n {projectName: camelcase(projectName), esm: dialect === dialects.ESM}\n )\n );\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, projectName, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\\n`)\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function ({\n projectRoot,\n projectName,\n visibility,\n packageName,\n packageBundlers,\n dialect,\n provideExample,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName, provideExample});\n\n const pathToCreatedSrcDirectory = await mkdir(`${projectRoot}/src`);\n const [bundlerResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.PACKAGE}),\n provideExample ? await createExample(projectRoot, projectName, dialect) : Promise.resolve,\n touch(`${pathToCreatedSrcDirectory}/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n devDependencies: ['rimraf'],\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build',\n ...provideExample && {'pregenerate:md': 'run-s build'}\n },\n vcsIgnore: {directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n badges: {\n consumer: {\n ...'Public' === visibility && {\n runkit: {\n img: `https://badge.runkitcdn.com/${packageName}.svg`,\n text: `Try ${packageName} on RunKit`,\n link: `https://npm.runkit.com/${packageName}`\n }\n }\n }\n }\n }\n );\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {dialects, mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport scaffoldPackageDocumentation from './documentation.js';\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport buildDetails from './build-details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n info('Scaffolding Package Details');\n\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [detailsForBuild, publishableResults] = await Promise.all([\n buildDetails({\n projectRoot,\n projectName,\n packageBundlers,\n visibility,\n packageName,\n dialect,\n provideExample,\n decisions\n }),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n files: ['example.js', ...dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/']],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\n ...'Public' === visibility && {runkitExampleFilename: './example.js'},\n ...dialects.BABEL === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n exports: {\n module: './lib/index.mjs',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n },\n ...dialects.ESM === dialect && {\n main: './lib/index.js',\n exports: './lib/index.js'\n },\n ...dialects.TYPESCRIPT === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n types: './lib/index.d.ts',\n exports: {\n types: './lib/index.d.ts',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n {\n documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager, provideExample}),\n nextSteps: [\n {summary: 'Add the appropriate `save` flag to the installation instructions in the README'},\n {summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'},\n {summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}\n ]\n },\n detailsForBuild\n ]);\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin}}) {\n return !!exports || (!!publishConfig && !bin);\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nconst defaultBuildDirectory = 'public';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Application Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n const buildDirectory = defaultBuildDirectory;\n\n return {\n scripts: {\n clean: `rimraf ./${buildDirectory}`,\n start: `node ./${buildDirectory}/index.js`,\n prebuild: 'run-s clean'\n },\n dependencies: [],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},\n buildDirectory,\n nextSteps: []\n };\n}\n","export default function ({packageDetails}) {\n return !!packageDetails.private;\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Monorepo Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n return {\n nextSteps: [{\n summary: 'Add packages to your new monorepo',\n description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'\n + ' to scaffold new packages into your new monorepo'\n }]\n };\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, projectTypes} from '@form8ion/javascript-core';\n\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'bin';\n\nexport default async function ({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n}) {\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [bundlerResults, publishableResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.CLI}),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n bundlerResults,\n {\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build'\n },\n dependencies: ['update-notifier'],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n nextSteps: [{summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'}]\n }\n ]);\n}\n","export default async function ({packageDetails: {bin}}) {\n return !!bin;\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldPackageType} from './package/index.js';\nimport {scaffold as scaffoldApplicationType} from './application/index.js';\nimport {scaffold as scaffoldMonorepoType} from './monorepo/index.js';\nimport {scaffold as scaffoldCliType} from './cli/index.js';\n\nexport default async function ({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n packageBundlers,\n scope,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n switch (projectType) {\n case projectTypes.PACKAGE:\n return scaffoldPackageType({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n });\n case projectTypes.APPLICATION:\n return scaffoldApplicationType({projectRoot});\n case projectTypes.CLI:\n return scaffoldCliType({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n });\n case projectTypes.MONOREPO:\n return scaffoldMonorepoType({projectRoot});\n case 'Other':\n return {};\n default:\n throw new Error(`The project-type of ${projectType} is invalid`);\n }\n}\n","import {test as isPackage} from './package/index.js';\nimport {test as isCli} from './cli/index.js';\nimport {test as isApplication} from './application/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n return await isPackage({projectRoot, packageDetails})\n || await isCli({projectRoot, packageDetails})\n || isApplication({projectRoot, packageDetails});\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport {test as isPackage, lift as liftPackage} from './package/index.js';\nimport {test as isCli, lift as liftCli} from './cli/index.js';\n\nfunction vcsRepositoryHostedOnGithub(vcs) {\n return vcs && 'github' === vcs.host;\n}\n\nexport default async function ({projectRoot, packageDetails, vcs}) {\n if (await isPackage({projectRoot, packageDetails})) return liftPackage({projectRoot, packageDetails});\n if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});\n\n let homepage;\n\n if (vcsRepositoryHostedOnGithub(vcs)) {\n homepage = `https://github.com/${vcs.owner}/${vcs.name}#readme`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n }\n\n return {homepage};\n}\n","import {fileTypes} from '@form8ion/core';\nimport {write} from '@form8ion/config-file';\n\nexport default function ({projectRoot, config}) {\n return write({path: projectRoot, name: 'babel', format: fileTypes.JSON, config});\n}\n","import {load} from '@form8ion/config-file';\n\nexport default function () {\n return load({name: 'babel'});\n}\n","import writeConfig from './writer.js';\nimport loadConfig from './loader.js';\n\nexport default async function ({projectRoot, ignore}) {\n if (ignore) {\n const existingConfig = await loadConfig();\n\n await writeConfig({projectRoot, config: {...existingConfig, ignore: [`./${ignore}/`]}});\n }\n}\n","import {write} from './config/index.js';\n\nexport default async function ({projectRoot, preset}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await write({projectRoot, config: {presets: [preset.name]}});\n\n return {\n devDependencies: ['@babel/register', preset.packageName],\n eslint: {}\n };\n}\n","import {addIgnore} from './config/index.js';\n\nexport default async function ({results, projectRoot}) {\n await addIgnore({ignore: results.buildDirectory, projectRoot});\n\n return {};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.babelrc.json`);\n}\n","import {fileTypes, writeConfigFile} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectType, projectRoot, testFilenamePattern}) {\n const shareableTsConfigPackage = `${config.scope}/tsconfig`;\n\n await writeConfigFile({\n path: projectRoot,\n name: 'tsconfig',\n format: fileTypes.JSON,\n config: {\n $schema: 'https://json.schemastore.org/tsconfig',\n extends: shareableTsConfigPackage,\n compilerOptions: {\n rootDir: 'src',\n ...projectTypes.PACKAGE === projectType && {\n outDir: 'lib',\n declaration: true\n }\n },\n include: ['src/**/*.ts'],\n ...testFilenamePattern && {exclude: [testFilenamePattern]}\n }\n });\n\n return {\n eslint: {configs: ['typescript']},\n devDependencies: ['typescript', shareableTsConfigPackage],\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBabel} from './babel/index.js';\nimport {scaffold as scaffoldTypescript} from './typescript/index.js';\n\nexport default function ({dialect, projectType, projectRoot, configs, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n default:\n return {};\n }\n}\n","import {EOL} from 'os';\nimport validatePackageName from '../../thirdparty-wrappers/validate-npm-package-name.js';\n\nexport default function (projectName, scope) {\n const name = `${scope ? `@${scope}/` : ''}${projectName}`;\n\n const {validForNewPackages, errors} = validatePackageName(name);\n\n if (validForNewPackages) return name;\n if (1 === errors.length && errors.includes('name cannot start with a period')) return projectName.slice(1);\n\n throw new Error(`The package name ${name} is invalid:${EOL}\\t* ${errors.join(`${EOL}\\t* `)}`);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({\n packageName,\n dialect,\n license,\n author,\n description\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: {}\n };\n}\n","import {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport buildPackageName from './package-name.js';\nimport buildPackageDetails from './details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n}) {\n info('Configuring package.json');\n\n const packageName = buildPackageName(projectName, scope);\n\n await writePackageJson({\n projectRoot,\n config: await buildPackageDetails({\n packageName,\n dialect,\n license,\n author,\n description\n })\n });\n\n return {packageName};\n}\n","import sortProperties from 'sort-object-keys';\n\nexport default function (packageContents) {\n return sortProperties(\n packageContents,\n [\n 'name',\n 'description',\n 'license',\n 'version',\n 'private',\n 'type',\n 'engines',\n 'author',\n 'contributors',\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n 'keywords',\n 'runkitExampleFilename',\n 'exports',\n 'bin',\n 'main',\n 'module',\n 'types',\n 'sideEffects',\n 'scripts',\n 'files',\n 'publishConfig',\n 'packageManager',\n 'config',\n 'dependencies',\n 'devDependencies',\n 'peerDependencies'\n ]\n );\n}\n","export default function (vcs, pathWithinParent) {\n return vcs && 'github' === vcs.host && {\n repository: pathWithinParent\n ? {\n type: 'git',\n url: `https://github.com/${vcs.owner}/${vcs.name}.git`,\n directory: pathWithinParent\n }\n : `${vcs.owner}/${vcs.name}`,\n bugs: `https://github.com/${vcs.owner}/${vcs.name}/issues`\n };\n}\n","import {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nexport const details = {\n [packageManagers.NPM]: {\n installationCommand: 'install',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: `save-${DEV_DEPENDENCY_TYPE}`,\n [PROD_DEPENDENCY_TYPE]: `save-${PROD_DEPENDENCY_TYPE}`,\n exact: 'save-exact'\n }\n },\n [packageManagers.YARN]: {\n installationCommand: 'add',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: DEV_DEPENDENCY_TYPE,\n [PROD_DEPENDENCY_TYPE]: PROD_DEPENDENCY_TYPE,\n exact: 'exact'\n }\n }\n};\n\nexport function getInstallationCommandFor(manager) {\n return details[manager].installationCommand;\n}\n\nexport function getDependencyTypeFlag(manager, type) {\n return details[manager].installationFlags[type];\n}\n\nexport function getExactFlag(manager) {\n return details[manager].installationFlags.exact;\n}\n","import {info, warn} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport {getDependencyTypeFlag, getExactFlag, getInstallationCommandFor} from './package-managers.js';\n\nexport default async function (dependencies, dependenciesType, projectRoot, packageManager = packageManagers.NPM) {\n if (dependencies.length) {\n info(`Installing ${dependenciesType} dependencies`, {level: 'secondary'});\n\n await execa(\n `. ~/.nvm/nvm.sh && nvm use && ${packageManager} ${\n getInstallationCommandFor(packageManager)\n } ${[...new Set(dependencies)].join(' ')} --${getDependencyTypeFlag(packageManager, dependenciesType)}${\n DEV_DEPENDENCY_TYPE === dependenciesType ? ` --${getExactFlag(packageManager)}` : ''\n }`,\n {shell: true, cwd: projectRoot}\n );\n } else warn(`No ${dependenciesType} dependencies to install`);\n}\n","import {error, info} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE} from '@form8ion/javascript-core';\n\nimport install from './installer.js';\n\nexport default async function ({dependencies, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n try {\n await install(dependencies || [], PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(devDependencies || [], DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n } catch (e) {\n error('Failed to update dependencies');\n error(e, {level: 'secondary'});\n }\n}\n","function projectWillBeTested(scripts) {\n return Object.keys(scripts).find(scriptName => scriptName.startsWith('test:'));\n}\n\nfunction projectShouldBeBuiltForVerification(scripts) {\n return 'run-s build' === scripts['pregenerate:md'];\n}\n\nexport default function (scripts) {\n return {\n ...scripts,\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\n","import updateTestScript from './test-script-updater.js';\n\nexport default function ({existingScripts, scripts}) {\n return updateTestScript({...existingScripts, ...scripts});\n}\n","import {promises as fs} from 'fs';\nimport {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport sortPackageProperties from './property-sorter.js';\nimport defineVcsHostDetails from './vcs-host-details.js';\nimport {process as processDependencies} from '../dependencies/index.js';\nimport {lift as liftScripts} from './scripts/index.js';\n\nexport default async function ({\n projectRoot,\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager,\n vcs,\n pathWithinParent\n}) {\n info('Updating `package.json`', {level: 'secondary'});\n\n const existingPackageJsonContents = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n }),\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({dependencies, devDependencies, projectRoot, packageManager});\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n const lockfilePaths = {\n [packageManagers.NPM]: 'package-lock.json',\n [packageManagers.YARN]: 'yarn.lock'\n };\n\n return lockfilePaths[packageManager];\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.YARN)}`);\n}\n","import {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot}) {\n const [npmFound, yarnFound] = await Promise.all([\n npmIsUsed({projectRoot}),\n yarnIsUsed({projectRoot})\n ]);\n\n return npmFound || yarnFound;\n}\n","import execa from '../../thirdparty-wrappers/execa.js';\n\nexport default async function () {\n await execa('corepack', ['use', 'npm@latest']);\n}\n","import {lift as liftCorepack} from '../corepack/index.js';\n\nexport default async function () {\n await liftCorepack();\n\n return {};\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot, packageManager}) {\n if (packageManager) return packageManager;\n\n if (await npmIsUsed({projectRoot})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {applyEnhancers} from '@form8ion/core';\nimport * as huskyPlugin from '@form8ion/husky';\nimport * as commitConventionPlugin from '@form8ion/commit-convention';\n\nimport * as registriesPlugin from '../registries/index.js';\nimport * as coveragePlugin from '../coverage/index.js';\nimport * as codeStylePlugin from '../code-style/index.js';\nimport * as npmConfigPlugin from '../npm-config/index.js';\nimport * as enginesEnhancer from './enhancers/engines.js';\nimport * as projectTypes from '../project-type/index.js';\nimport * as dialects from '../dialects/index.js';\nimport {lift as liftPackage} from '../package/index.js';\nimport * as packageManagers from '../package-managers/index.js';\nimport {determineCurrent as resolvePackageManager} from '../package-managers/index.js';\n\nexport default async function ({projectRoot, vcs, results, pathWithinParent, enhancers = {}, configs = {}}) {\n info('Lifting JavaScript-specific details');\n\n const {\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager: manager\n } = results;\n\n const [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: manager}),\n fs.readFile(`${projectRoot}/package.json`, 'utf8')\n ]);\n\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {\n ...enhancers,\n huskyPlugin,\n enginesEnhancer,\n coveragePlugin,\n commitConventionPlugin,\n dialects,\n codeStylePlugin,\n npmConfigPlugin,\n projectTypes,\n packageManagers,\n registriesPlugin\n },\n options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents), configs}\n });\n\n await liftPackage(\n deepmerge.all([\n {projectRoot, scripts, tags, dependencies, devDependencies, packageManager, vcs, pathWithinParent},\n enhancerResults\n ])\n );\n\n return enhancerResults;\n}\n","import joi from 'joi';\n\nexport const scopeBasedConfigSchema = joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()});\n\nexport const nameBasedConfigSchema = joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n});\n\nexport const registriesSchema = joi.object().pattern(joi.string(), joi.string().uri()).default({});\n\nexport const visibilitySchema = joi.string().valid('Public', 'Private').required();\n\nexport const projectNameSchema = joi.string().regex(/^@\\w*\\//, {invert: true}).required();\n","import joi from 'joi';\n\nexport const vcsSchema = joi.object({\n host: joi.string().required(),\n owner: joi.string().required(),\n name: joi.string().required()\n});\n","import joi from 'joi';\nimport {validateOptions} from '@form8ion/core';\n\nimport {pluginsSchema} from '../plugins-schemas.js';\nimport {\n nameBasedConfigSchema,\n projectNameSchema,\n registriesSchema,\n scopeBasedConfigSchema,\n visibilitySchema\n} from './schemas.js';\nimport {vcsSchema} from '../vcs/schema.js';\n\nexport function validate(options) {\n const schema = joi.object({\n projectRoot: joi.string().required(),\n projectName: projectNameSchema,\n visibility: visibilitySchema,\n license: joi.string().required(),\n description: joi.string(),\n pathWithinParent: joi.string(),\n decisions: joi.object(),\n vcs: vcsSchema,\n configs: joi.object({\n eslint: scopeBasedConfigSchema,\n typescript: scopeBasedConfigSchema,\n prettier: scopeBasedConfigSchema,\n commitlint: nameBasedConfigSchema,\n babelPreset: nameBasedConfigSchema,\n remark: joi.string(),\n registries: registriesSchema\n }).default({}),\n plugins: {\n unitTestFrameworks: pluginsSchema,\n packageBundlers: pluginsSchema,\n applicationTypes: pluginsSchema,\n packageTypes: pluginsSchema,\n monorepoTypes: pluginsSchema,\n hosts: pluginsSchema,\n ciServices: pluginsSchema\n }\n }).required();\n\n return validateOptions(schema, options);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({babelPreset, typescript}) {\n return [\n {name: 'Common JS (no transpilation)', value: dialects.COMMON_JS, short: 'cjs'},\n ...babelPreset ? [{name: 'Modern JavaScript (transpiled)', value: dialects.BABEL, short: 'modern'}] : [],\n {name: 'ESM-only (no transpilation)', value: dialects.ESM, short: 'esm'},\n ...typescript ? [{name: 'TypeScript', value: dialects.TYPESCRIPT, short: 'ts'}] : []\n ];\n}\n","import {projectTypes} from '@form8ion/javascript-core';\nimport {questionNames as commonQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames} from './question-names.js';\n\nfunction projectIsCLI(answers) {\n return projectTypes.CLI === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsPackage(answers) {\n return projectTypes.PACKAGE === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsApplication(answers) {\n return projectTypes.APPLICATION === answers[questionNames.PROJECT_TYPE];\n}\n\nfunction packageShouldBeScoped(visibility, answers) {\n return 'Private' === visibility || answers[questionNames.SHOULD_BE_SCOPED];\n}\n\nfunction willBePublishedToNpm(answers) {\n return projectIsPackage(answers) || projectIsCLI(answers);\n}\n\nexport function shouldBeScopedPromptShouldBePresented(answers) {\n return willBePublishedToNpm(answers);\n}\n\nexport function scopePromptShouldBePresentedFactory(visibility) {\n return answers => willBePublishedToNpm(answers) && packageShouldBeScoped(visibility, answers);\n}\n\nexport function lintingPromptShouldBePresented({\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested\n}) {\n return !unitTested && !integrationTested;\n}\n","export function scope(visibility) {\n return input => {\n if (!input && 'Private' === visibility) {\n return 'Private packages must be scoped (https://docs.npmjs.com/private-modules/intro#setting-up-your-package)';\n }\n\n return true;\n };\n}\n","import {packageManagers, projectTypes} from '@form8ion/javascript-core';\nimport {prompt as promptWithInquirer} from '@form8ion/overridable-prompts';\nimport {questionNames as commonQuestionNames, questions as commonQuestions} from '@travi/language-scaffolder-prompts';\nimport {warn} from '@travi/cli-messages';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport npmConfFactory from '../../thirdparty-wrappers/npm-conf.js';\nimport buildDialectChoices from '../dialects/prompt-choices.js';\nimport {\n lintingPromptShouldBePresented,\n projectIsApplication,\n projectIsPackage,\n scopePromptShouldBePresentedFactory,\n shouldBeScopedPromptShouldBePresented\n} from './conditionals.js';\nimport {questionNames} from './question-names.js';\nimport {scope as validateScope} from './validators.js';\n\nfunction authorQuestions({name, email, url}) {\n return [\n {\n name: questionNames.AUTHOR_NAME,\n message: 'What is the author\\'s name?',\n default: name\n },\n {\n name: questionNames.AUTHOR_EMAIL,\n message: 'What is the author\\'s email?',\n default: email\n },\n {\n name: questionNames.AUTHOR_URL,\n message: 'What is the author\\'s website url?',\n default: url\n }\n ];\n}\n\nexport async function prompt(\n ciServices,\n hosts,\n visibility,\n vcs,\n decisions,\n configs,\n pathWithinParent\n) {\n const npmConf = npmConfFactory();\n\n let maybeLoggedInNpmUsername;\n try {\n maybeLoggedInNpmUsername = (await execa('npm', ['whoami'])).stdout;\n } catch (failedExecutionResult) {\n if (!decisions[questionNames.SCOPE]) {\n warn('No logged in user found with `npm whoami`. Login with `npm login` '\n + 'to use your npm account name as the package scope default.');\n }\n }\n\n const {\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested,\n [questionNames.PROJECT_TYPE]: projectType,\n [commonQuestionNames.CI_SERVICE]: ci,\n [questionNames.HOST]: chosenHost,\n [questionNames.SCOPE]: scope,\n [questionNames.NODE_VERSION_CATEGORY]: nodeVersionCategory,\n [questionNames.AUTHOR_NAME]: authorName,\n [questionNames.AUTHOR_EMAIL]: authorEmail,\n [questionNames.AUTHOR_URL]: authorUrl,\n [questionNames.CONFIGURE_LINTING]: configureLinting,\n [questionNames.PROVIDE_EXAMPLE]: provideExample,\n [questionNames.PACKAGE_MANAGER]: packageManager,\n [questionNames.DIALECT]: dialect\n } = await promptWithInquirer([\n {\n name: questionNames.DIALECT,\n message: 'Which JavaScript dialect should this project follow?',\n type: 'list',\n choices: buildDialectChoices(configs),\n default: 'babel'\n },\n ...pathWithinParent ? [] : [{\n name: questionNames.NODE_VERSION_CATEGORY,\n message: 'What node.js version should be used?',\n type: 'list',\n choices: ['LTS', 'Latest'],\n default: 'LTS'\n }],\n {\n name: questionNames.PACKAGE_MANAGER,\n message: 'Which package manager will be used with this project?',\n type: 'list',\n choices: Object.values(packageManagers),\n default: packageManagers.NPM\n },\n {\n name: questionNames.PROJECT_TYPE,\n message: 'What type of JavaScript project is this?',\n type: 'list',\n choices: [...Object.values(projectTypes), 'Other'],\n default: projectTypes.PACKAGE\n },\n ...'Private' === visibility ? [] : [{\n name: questionNames.SHOULD_BE_SCOPED,\n message: 'Should this package be scoped?',\n type: 'confirm',\n when: shouldBeScopedPromptShouldBePresented,\n default: true\n }],\n {\n name: questionNames.SCOPE,\n message: 'What is the scope?',\n when: scopePromptShouldBePresentedFactory(visibility),\n validate: validateScope(visibility),\n default: maybeLoggedInNpmUsername\n },\n ...authorQuestions({\n name: npmConf.get('init.author.name'),\n email: npmConf.get('init.author.email'),\n url: npmConf.get('init.author.url')\n }),\n ...commonQuestions(({vcs, ciServices, pathWithinParent})),\n {\n name: questionNames.CONFIGURE_LINTING,\n message: 'Will there be source code that should be linted?',\n type: 'confirm',\n when: lintingPromptShouldBePresented\n },\n {\n name: questionNames.PROVIDE_EXAMPLE,\n message: 'Should an example be provided in the README?',\n type: 'confirm',\n when: projectIsPackage\n },\n {\n name: questionNames.HOST,\n type: 'list',\n message: 'Where will the application be hosted?',\n when: projectIsApplication,\n choices: [...Object.keys(hosts), 'Other']\n }\n ], decisions);\n\n return {\n tests: {unit: unitTested, integration: integrationTested},\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author: {name: authorName, email: authorEmail, url: authorUrl},\n configureLinting: false !== configureLinting,\n provideExample,\n packageManager,\n dialect\n };\n}\n","import buildGenerationCommand from './generation-command.js';\n\nexport default function ({projectTypeResults, packageManager}) {\n return {\n toc: `Run \\`${buildGenerationCommand(packageManager)}\\` to generate a table of contents`,\n ...projectTypeResults.documentation,\n contributing: `### Dependencies\n\n\\`\\`\\`sh\n$ nvm install\n$ ${packageManager} install\n\\`\\`\\`\n\n### Verification\n\n\\`\\`\\`sh\n$ ${packageManager} test\n\\`\\`\\``\n };\n}\n","import deepmerge from 'deepmerge';\n\nexport default function (contributors) {\n return deepmerge.all(contributors).badges;\n}\n","import {info} from '@travi/cli-messages';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\n\nexport async function determineLatestVersionOf(nodeVersionCategory) {\n info('Determining version of node', {level: 'secondary'});\n\n const {stdout: nvmLsOutput} = await execa(\n `. ~/.nvm/nvm.sh && nvm ls-remote${('LTS' === nodeVersionCategory) ? ' --lts' : ''}`,\n {shell: true}\n );\n\n const lsLines = nvmLsOutput.split('\\n');\n const lsLine = lsLines[lsLines.length - 2];\n\n return lsLine.match(/(v[0-9]+)\\.[0-9]+\\.[0-9]+/)[1];\n}\n\nexport function install(nodeVersionCategory) {\n info(`Installing ${nodeVersionCategory} version of node using nvm`, {level: 'secondary'});\n\n const subprocess = execa('. ~/.nvm/nvm.sh && nvm install', {shell: true});\n subprocess.stdout.pipe(process.stdout);\n return subprocess;\n}\n","import {promises as fs} from 'node:fs';\nimport {info} from '@travi/cli-messages';\n\nimport {determineLatestVersionOf, install as installNodeVersion} from './tasks.js';\n\nexport default async function ({projectRoot, nodeVersionCategory}) {\n if (!nodeVersionCategory) return undefined;\n\n const lowerCaseCategory = nodeVersionCategory.toLowerCase();\n info(`Configuring ${lowerCaseCategory} version of node`);\n\n const version = await determineLatestVersionOf(nodeVersionCategory);\n\n await fs.writeFile(`${projectRoot}/.nvmrc`, version);\n\n await installNodeVersion(nodeVersionCategory);\n\n return version;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nvmrc`);\n}\n","export default function (vcsIgnoreLists = {}) {\n return {\n files: vcsIgnoreLists.files || [],\n directories: ['/node_modules/', ...vcsIgnoreLists.directories || []]\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({types, projectType, decisions}) {\n if (!Object.keys(types).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PROJECT_TYPE_CHOICE,\n type: 'list',\n message: `What type of ${projectType} is this?`,\n choices: [...Object.keys(types), 'Other']\n }], decisions);\n\n return answers[questionNames.PROJECT_TYPE_CHOICE];\n}\n","import {scaffoldChoice} from '@form8ion/javascript-core';\n\nimport chooseProjectTypePlugin from './prompt.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins\n}) {\n const pluginsForProjectType = plugins[projectType];\n\n if (!pluginsForProjectType) return {};\n\n const chosenType = await chooseProjectTypePlugin({types: pluginsForProjectType, decisions, projectType});\n\n return scaffoldChoice(\n pluginsForProjectType,\n chosenType,\n {projectRoot, projectName, packageName, packageManager, scope, tests, dialect}\n );\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldUnitTesting from '../../../testing/unit.js';\n\nexport default async function ({\n projectRoot,\n visibility,\n tests: {unit, integration},\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n}) {\n const unitResults = unit\n ? await scaffoldUnitTesting({\n projectRoot,\n visibility,\n vcs,\n frameworks: unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n })\n : {};\n\n return deepmerge({devDependencies: [...(unit || integration) ? ['@travi/any'] : []], eslint: {}}, unitResults);\n}\n","export default function ({packageManager, registries}) {\n return [\n ...(!registries || (registries && !registries.registry)) ? [packageManager] : [],\n ...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))\n ];\n}\n","import {fileTypes} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nimport buildAllowedHostsList from './allowed-hosts-builder.js';\nimport {defineLockfilePath as determineLockfilePathFor} from '../package-managers/index.js';\n\nconst lockfileLintSupportedPackageManagers = [packageManagers.NPM, packageManagers.YARN];\n\nfunction lockfileLintSupports(packageManager) {\n return lockfileLintSupportedPackageManagers.includes(packageManager);\n}\n\nexport default async function ({projectRoot, packageManager, registries}) {\n if (!lockfileLintSupports(packageManager)) {\n throw new Error(\n `The ${packageManager} package manager is currently not supported by lockfile-lint. `\n + `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`\n );\n }\n\n await write({\n name: 'lockfile-lint',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n path: determineLockfilePathFor(packageManager),\n type: packageManager,\n 'validate-https': true,\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n\n return {\n devDependencies: ['lockfile-lint'],\n scripts: {'lint:lockfile': 'lockfile-lint'}\n };\n}\n","import {scaffold as scaffoldLockfileLint} from '../lockfile-lint/index.js';\n\nexport default async function ({projectRoot, packageManager, registries}) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldHusky} from '@form8ion/husky';\n\nimport scaffoldTesting from './testing/index.js';\nimport {scaffold as scaffoldLinting} from '../../linting/index.js';\n\nexport async function scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n}) {\n const [testingResults, lintingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n }),\n scaffoldLinting({projectRoot, packageManager, registries, vcs, pathWithinParent}),\n scaffoldHusky({projectRoot, packageManager, pathWithinParent})\n ]);\n\n return deepmerge.all([testingResults, lintingResults, huskyResults]);\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {projectTypes, scaffoldChoice} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport lift from '../lift/index.js';\nimport {validate} from '../options/validator.js';\nimport {prompt} from '../prompts/questions.js';\nimport {scaffold as scaffoldDialect} from '../dialects/index.js';\nimport {scaffold as scaffoldNpmConfig} from '../npm-config/index.js';\nimport scaffoldDocumentation from '../documentation/index.js';\nimport buildBadgesDetails from '../documentation/badges.js';\nimport {scaffold as scaffoldNodeVersion} from '../node-version/index.js';\nimport buildVcsIgnoreLists from '../vcs/ignore-lists-builder.js';\nimport {scaffold as scaffoldPackage} from '../package/index.js';\nimport {scaffold as scaffoldProjectType} from '../project-type/index.js';\nimport {scaffold as scaffoldProjectTypePlugin} from '../project-type-plugin/index.js';\nimport buildDocumentationCommand from '../documentation/generation-command.js';\nimport {scaffold as scaffoldVerification} from './verification/index.js';\nimport {scaffold as scaffoldCodeStyle} from '../code-style/index.js';\n\nexport default async function (options) {\n info('Initializing JavaScript project');\n\n const {\n projectRoot,\n projectName,\n visibility,\n license,\n vcs,\n description,\n configs,\n decisions,\n pathWithinParent,\n plugins: {\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n unitTestFrameworks,\n hosts,\n ciServices\n }\n } = validate(options);\n\n const {\n tests,\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author,\n configureLinting,\n provideExample,\n packageManager,\n dialect\n } = await prompt(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent);\n\n info('Writing project files', {level: 'secondary'});\n\n const {packageName} = await scaffoldPackage({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n });\n const projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\n provideExample,\n publishRegistry: configs.registries.publish\n });\n const verificationResults = await scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries: configs.registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n });\n const [nodeVersion, npmResults, dialectResults, codeStyleResults] = await Promise.all([\n scaffoldNodeVersion({projectRoot, nodeVersionCategory}),\n scaffoldNpmConfig({projectType, projectRoot, registries: configs.registries}),\n scaffoldDialect({\n dialect,\n configs,\n projectRoot,\n projectType,\n testFilenamePattern: verificationResults.testFilenamePattern\n }),\n scaffoldCodeStyle({projectRoot, projectType, configs, vcs, configureLinting})\n ]);\n const projectTypePluginResults = await scaffoldProjectTypePlugin({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins: {\n [projectTypes.PACKAGE]: packageTypes,\n [projectTypes.APPLICATION]: applicationTypes,\n [projectTypes.MONOREPO]: monorepoTypes\n }\n });\n const mergedContributions = deepmerge.all([\n ...(await Promise.all([\n scaffoldChoice(\n hosts,\n chosenHost,\n {buildDirectory: `./${projectTypeResults.buildDirectory}`, projectRoot, projectName, nodeVersion}\n ),\n scaffoldChoice(ciServices, ci, {projectRoot, vcs, visibility, projectType, projectName, nodeVersion, tests}),\n scaffoldCommitConvention({projectRoot, projectType, configs, pathWithinParent})\n ])),\n projectTypeResults,\n verificationResults,\n codeStyleResults,\n npmResults,\n dialectResults,\n projectTypePluginResults\n ]);\n\n const liftResults = await lift({\n results: deepmerge({devDependencies: ['npm-run-all2'], packageManager}, mergedContributions),\n projectRoot,\n configs,\n vcs,\n pathWithinParent\n });\n\n return {\n badges: buildBadgesDetails([mergedContributions, liftResults]),\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`,\n projectDetails: {...liftResults.homepage && {homepage: liftResults.homepage}},\n nextSteps: mergedContributions.nextSteps\n };\n}\n","import {info} from '@travi/cli-messages';\n\nimport {test as nvmIsUsed} from './node-version/index.js';\nimport {test as jsPackageManagerIsUsed} from './package-managers/index.js';\n\nexport default async function ({projectRoot}) {\n const [nvmFound, jsPackageManagerFound] = await Promise.all([\n nvmIsUsed({projectRoot}),\n jsPackageManagerIsUsed({projectRoot})\n ]);\n\n const jsProjectFound = nvmFound || jsPackageManagerFound;\n\n if (jsProjectFound) info('JavaScript Project Detected');\n\n return jsProjectFound;\n}\n","import {questionNames as languageScaffolderPromptsQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames as jsScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport {default as scaffoldUnitTesting} from './testing/unit.js';\nexport {default as scaffold} from './scaffolder/index.js';\nexport {default as lift} from './lift/index.js';\nexport {default as test} from './tester.js';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","write","scaffoldCodecov","fs","lift","liftCodecov","prompt","scaffoldFrameworkChoice","projectTypes","scaffoldEslint","scaffoldPrettier","testForEslint","packageManagers","buildGenerationCommand","scaffoldChosenBundler","defaultBuildDirectory","dialects","liftPackage","writeConfig","install","determineLockfilePath","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","validateScope","commonQuestions","installNodeVersion","scaffoldHusky","scaffoldCommitConvention","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/coverage/c8/scaffolder.js","../src/coverage/scaffolder.js","../src/coverage/nyc/tester.js","../src/dependencies/remover.js","../src/coverage/nyc/remover.js","../src/coverage/lifter.js","../src/coverage/c8/tester.js","../src/coverage/tester.js","../src/testing/prompt.js","../src/plugins-schemas.js","../src/testing/unit.js","../src/registries/tester.js","../src/lockfile-lint/allowed-hosts-builder.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/current-manager-resolver.js","../src/lockfile-lint/scaffolder.js","../src/lockfile-lint/tester.js","../src/lockfile-lint/config.js","../src/npm-config/writer.js","../src/npm-config/scaffolder.js","../src/npm-config/tester.js","../src/npm-config/reader.js","../src/npm-config/lifter.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/lift/enhancers/engines.js","../src/documentation/generation-command.js","../src/project-type/package/documentation.js","../src/project-type/publishable/access-level.js","../src/project-type/publishable/badges.js","../src/project-type/publishable/provenance/slsa.js","../src/project-type/publishable/provenance/lifter.js","../src/project-type/publishable/lifter.js","../src/project-type/publishable/scaffolder.js","../src/project-type/publishable/bundler/prompt.js","../src/project-type/publishable/bundler/scaffolder.js","../src/template-path.js","../src/project-type/package/build-details.js","../src/project-type/package/scaffolder.js","../src/project-type/package/lifter.js","../src/project-type/package/tester.js","../src/project-type/application/scaffolder.js","../src/project-type/application/predicate.js","../src/project-type/monorepo/scaffolder.js","../src/project-type/cli/scaffolder.js","../src/project-type/cli/tester.js","../src/project-type/cli/lifter.js","../src/project-type/scaffolder.js","../src/project-type/tester.js","../src/project-type/lifter.js","../src/dialects/babel/config/writer.js","../src/dialects/babel/config/loader.js","../src/dialects/babel/config/ignore-adder.js","../src/dialects/babel/scaffolder.js","../src/dialects/babel/lifter.js","../src/dialects/babel/predicate.js","../src/dialects/typescript/scaffolder.js","../src/dialects/scaffolder.js","../src/package/package-name.js","../src/package/details.js","../src/package/scaffolder.js","../src/package/property-sorter.js","../src/package/vcs-host-details.js","../src/dependencies/package-managers.js","../src/dependencies/installer.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/lifter.js","../src/package/lifter.js","../src/lift/lift.js","../src/options/schemas.js","../src/vcs/schema.js","../src/options/validator.js","../src/dialects/prompt-choices.js","../src/prompts/conditionals.js","../src/prompts/validators.js","../src/prompts/questions.js","../src/documentation/scaffolder.js","../src/documentation/badges.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.js","../src/project-type-plugin/prompt.js","../src/project-type-plugin/scaffolder.js","../src/scaffolder/verification/testing/scaffolder.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/scaffolder/scaffolder.js","../src/tester.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n UNIT_TEST_FRAMEWORK: 'unitTestFramework',\n NODE_VERSION_CATEGORY: 'nodeVersionCategory',\n PACKAGE_MANAGER: 'packageManager',\n PACKAGE_BUNDLER: 'packageBundler',\n PROJECT_TYPE: 'projectType',\n PROJECT_TYPE_CHOICE: 'projectTypeChoice',\n SHOULD_BE_SCOPED: 'shouldBeScoped',\n SCOPE: 'scope',\n AUTHOR_NAME: 'authorName',\n AUTHOR_EMAIL: 'authorEmail',\n AUTHOR_URL: 'authorUrl',\n HOST: 'host',\n CONFIGURE_LINTING: 'configureLint',\n PROVIDE_EXAMPLE: 'provideExample',\n DIALECT: 'dialect'\n};\n","import {write} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n await write({\n name: 'c8',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n reporter: ['lcov', 'text-summary', 'html'],\n exclude: ['src/**/*-test.js', 'test/', 'thirdparty-wrappers/', 'vendor/']\n }\n });\n\n return {\n devDependencies: ['cross-env', 'c8'],\n vcsIgnore: {files: [], directories: ['/coverage/']},\n eslint: {ignore: {directories: ['/coverage/']}}\n };\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\n\nexport default async function ({projectRoot, vcs, visibility, pathWithinParent}) {\n return deepmerge(await scaffoldC8({projectRoot}), await scaffoldCodecov({vcs, visibility, pathWithinParent}));\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nycrc`);\n}\n","import execa from '../../thirdparty-wrappers/execa.js';\n\nexport default async function ({packageManager, dependencies}) {\n await execa(packageManager, ['remove', ...dependencies]);\n}\n","import {promises as fs} from 'fs';\n\nimport removeDependencies from '../../dependencies/remover.js';\n\nexport default async function ({projectRoot, packageManager}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true}),\n removeDependencies({packageManager, dependencies: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']})\n ]);\n}\n","import deepmerge from 'deepmerge';\nimport {lift as liftCodecov} from '@form8ion/codecov';\n\nimport {scaffold as scaffoldC8} from './c8/index.js';\nimport {test as nycIsConfigured, remove as removeNyc} from './nyc/index.js';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const codecovResults = await liftCodecov({projectRoot, packageManager, vcs});\n\n if (await nycIsConfigured({projectRoot})) {\n const [c8Results] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot, packageManager})\n ]);\n\n return deepmerge.all([\n c8Results,\n codecovResults,\n {\n scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'},\n nextSteps: [{\n summary: 'Remove use of `@istanbuljs/nyc-config-babel` from your babel config, if present,'\n + ' after the migration away from `nyc`'\n }]\n }\n ]);\n }\n\n return codecovResults;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.c8rc.json`);\n}\n","import c8IsConfigured from './c8/tester.js';\nimport nycIsConfigured from './nyc/tester.js';\n\nexport default async function ({projectRoot}) {\n const [c8Exists, nycExists] = await Promise.all([c8IsConfigured({projectRoot}), nycIsConfigured({projectRoot})]);\n\n return c8Exists || nycExists;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({frameworks, decisions}) {\n if (!Object.keys(frameworks).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.UNIT_TEST_FRAMEWORK,\n type: 'list',\n message: 'Which type of unit testing framework should be used?',\n choices: [...Object.keys(frameworks), 'Other']\n }], decisions);\n\n return answers[questionNames.UNIT_TEST_FRAMEWORK];\n}\n","import joi from 'joi';\nimport {optionsSchemas} from '@form8ion/core';\n\nexport const pluginsSchema = joi.object().pattern(/^/, optionsSchemas.form8ionPlugin).default({});\n","import deepmerge from 'deepmerge';\nimport {validateOptions} from '@form8ion/core';\nimport {scaffoldChoice as scaffoldFrameworkChoice} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldCoverage} from '../coverage/index.js';\nimport chooseFramework from './prompt.js';\nimport {pluginsSchema} from '../plugins-schemas.js';\n\nexport default async function ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {\n const validatedFrameworks = validateOptions(pluginsSchema, frameworks);\n const [framework, coverage] = await Promise.all([\n chooseFramework({frameworks: validatedFrameworks, decisions})\n .then(chosenFramework => scaffoldFrameworkChoice(validatedFrameworks, chosenFramework, {projectRoot, dialect})),\n scaffoldCoverage({projectRoot, vcs, visibility, pathWithinParent})\n ]);\n\n return deepmerge.all([\n {scripts: {'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'}},\n framework,\n coverage\n ]);\n}\n","export default function () {\n return true;\n}\n","export default function ({packageManager, registries = {}}) {\n return [\n ...!registries.registry ? [packageManager] : [],\n ...Object.values(Object.fromEntries(Object.entries(registries).filter(([scope]) => 'publish' !== scope)))\n ];\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n const lockfilePaths = {\n [packageManagers.NPM]: 'package-lock.json',\n [packageManagers.YARN]: 'yarn.lock'\n };\n\n return lockfilePaths[packageManager];\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {fileExists} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\n\nimport determineLockfilePath from '../lockfile-path-resolver.js';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.YARN)}`);\n}\n","import {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot}) {\n const [npmFound, yarnFound] = await Promise.all([\n npmIsUsed({projectRoot}),\n yarnIsUsed({projectRoot})\n ]);\n\n return npmFound || yarnFound;\n}\n","import execa from '../../thirdparty-wrappers/execa.js';\n\nexport default async function () {\n await execa('corepack', ['use', 'npm@latest']);\n}\n","import {lift as liftCorepack} from '../corepack/index.js';\n\nexport default async function () {\n await liftCorepack();\n\n return {};\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport {test as npmIsUsed} from './npm/index.js';\nimport {test as yarnIsUsed} from './yarn/index.js';\n\nexport default async function ({projectRoot, packageManager}) {\n if (packageManager) return packageManager;\n\n if (await npmIsUsed({projectRoot})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\n}\n","import {fileTypes} from '@form8ion/core';\nimport {packageManagers} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nimport buildAllowedHostsList from './allowed-hosts-builder.js';\nimport {defineLockfilePath as determineLockfilePathFor} from '../package-managers/index.js';\n\nconst lockfileLintSupportedPackageManagers = [packageManagers.NPM, packageManagers.YARN];\n\nfunction lockfileLintSupports(packageManager) {\n return lockfileLintSupportedPackageManagers.includes(packageManager);\n}\n\nexport default async function ({projectRoot, packageManager, registries}) {\n if (!lockfileLintSupports(packageManager)) {\n throw new Error(\n `The ${packageManager} package manager is currently not supported by lockfile-lint. `\n + `Only ${lockfileLintSupportedPackageManagers.join(' and ')} are currently supported.`\n );\n }\n\n await write({\n name: 'lockfile-lint',\n format: fileTypes.JSON,\n path: projectRoot,\n config: {\n path: determineLockfilePathFor(packageManager),\n type: packageManager,\n 'validate-https': true,\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n\n return {\n devDependencies: ['lockfile-lint'],\n scripts: {'lint:lockfile': 'lockfile-lint'}\n };\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.lockfile-lintrc.json`);\n}\n","import {write as writeConfig, load as loadConfig} from '@form8ion/config-file';\nimport {fileTypes} from '@form8ion/core';\n\nconst configName = 'lockfile-lint';\n\nexport function read() {\n return loadConfig({name: configName});\n}\n\nexport function write({projectRoot, config}) {\n return writeConfig({name: configName, format: fileTypes.JSON, path: projectRoot, config});\n}\n","import {promises as fs} from 'node:fs';\nimport {stringify} from 'ini';\n\nexport default async function ({projectRoot, config}) {\n await fs.writeFile(`${projectRoot}/.npmrc`, stringify(config));\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport write from './writer.js';\n\nfunction projectWillNotBeConsumed(projectType) {\n return projectTypes.APPLICATION === projectType || projectTypes.CLI === projectType;\n}\n\nexport default async function ({projectRoot, projectType}) {\n await write({\n projectRoot,\n config: {'update-notifier': false, ...projectWillNotBeConsumed(projectType) && {'save-exact': true}}\n });\n\n return {scripts: {'lint:peer': 'npm ls >/dev/null'}};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.npmrc`);\n}\n","import {parse} from 'ini';\nimport {promises as fs} from 'node:fs';\nimport {fileExists} from '@form8ion/core';\n\nexport default async function ({projectRoot}) {\n const pathToConfig = `${projectRoot}/.npmrc`;\n\n if (!(await fileExists(pathToConfig))) return {};\n\n return parse(await fs.readFile(pathToConfig, 'utf-8'));\n}\n","import read from './reader.js';\nimport write from './writer.js';\n\nexport default async function ({projectRoot}) {\n const {\n provenance,\n 'engines-strict': enginesStrict,\n ...remainingProperties\n } = await read({projectRoot});\n\n await write({projectRoot, config: remainingProperties});\n\n return {};\n}\n","export default function (registries = {}) {\n return Object.entries(registries)\n .filter(([scope]) => 'publish' !== scope)\n .reduce((acc, [scope, url]) => {\n if ('registry' === scope) return {...acc, registry: url};\n\n return {...acc, [`@${scope}:registry`]: url};\n }, {registry: 'https://registry.npmjs.org'});\n}\n","import {\n scaffold as scaffoldLockfileLint,\n test as lockfileLintIsAlreadyConfigured,\n read as readLockfileLintConfig,\n write as writeLockfileLintConfig\n} from '../lockfile-lint/index.js';\nimport {read as readNpmConfig, write as writeNpmConfig} from '../npm-config/index.js';\nimport buildRegistriesConfig from './npm-config/list-builder.js';\nimport buildAllowedHostsList from '../lockfile-lint/allowed-hosts-builder.js';\n\nasync function updateRegistriesInNpmConfig(registries, projectRoot) {\n const registriesForNpmConfig = buildRegistriesConfig(registries);\n\n await writeNpmConfig({\n projectRoot,\n config: {\n ...(await readNpmConfig({projectRoot})),\n ...registriesForNpmConfig\n }\n });\n}\n\nasync function updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries) {\n await writeLockfileLintConfig({\n projectRoot,\n config: {\n ...await readLockfileLintConfig(),\n 'allowed-hosts': buildAllowedHostsList({packageManager, registries})\n }\n });\n}\n\nexport default async function ({projectRoot, packageManager, configs: {registries}}) {\n await updateRegistriesInNpmConfig(registries, projectRoot);\n\n if (!(await lockfileLintIsAlreadyConfigured({projectRoot}))) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n }\n\n await updateRegistriesInLockfileLintConfig(projectRoot, packageManager, registries);\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {fileTypes} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\nimport {write} from '@form8ion/config-file';\n\nexport default async function ({config, projectRoot, projectType, vcs}) {\n await write({\n format: fileTypes.JSON,\n path: projectRoot,\n name: 'remark',\n config: {\n settings: {\n listItemIndent: 'one',\n emphasis: '_',\n strong: '_',\n bullet: '*',\n incrementListMarker: false\n },\n plugins: [\n config,\n ['remark-toc', {tight: true}],\n ...projectTypes.PACKAGE === projectType ? [['remark-usage', {heading: 'example'}]] : [],\n ...!vcs ? [['validate-links', {repository: false}]] : []\n ]\n }\n });\n\n return deepmerge(\n {\n devDependencies: [config, 'remark-cli', 'remark-toc'],\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {devDependencies: ['remark-usage']}}\n );\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldPrettier} from '@form8ion/prettier';\nimport {scaffold as scaffoldEslint} from '@form8ion/eslint';\n\nimport {scaffold as scaffoldRemark} from './remark/index.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n configs,\n vcs,\n configureLinting\n}) {\n return deepmerge.all(await Promise.all([\n configs.eslint\n && configureLinting\n && scaffoldEslint({projectRoot, config: configs.eslint}),\n scaffoldRemark({\n projectRoot,\n projectType,\n vcs,\n config: configs.remark || '@form8ion/remark-lint-preset'\n }),\n scaffoldPrettier({projectRoot, config: configs.prettier})\n ].filter(Boolean)));\n}\n","import {applyEnhancers} from '@form8ion/core';\nimport * as eslintPlugin from '@form8ion/eslint';\n\nexport default function (options) {\n return applyEnhancers({options, enhancers: [eslintPlugin]});\n}\n","import {test as testForEslint} from '@form8ion/eslint';\n\nexport default function (options) {\n return testForEslint(options);\n}\n","import {promises as fs} from 'fs';\n\nexport async function test({projectRoot}) {\n const {engines} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf8'));\n\n return !!engines?.node;\n}\n\nexport async function lift({packageDetails: {name}}) {\n return {\n devDependencies: ['ls-engines'],\n scripts: {'lint:engines': 'ls-engines'},\n badges: {consumer: {node: {img: `https://img.shields.io/node/v/${name}?logo=node.js`, text: 'node'}}}\n };\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nexport default function (packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm run generate:md';\n if (packageManagers.YARN === packageManager) return 'yarn generate:md';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n","import {packageManagers} from '@form8ion/javascript-core';\n\nimport buildGenerationCommand from '../../documentation/generation-command.js';\n\nfunction getInstallationCommand(packageManager) {\n if (packageManagers.NPM === packageManager) return 'npm install';\n if (packageManagers.YARN === packageManager) return 'yarn add';\n\n throw new Error(\n `The ${packageManager} package manager is currently not supported. `\n + `Only ${Object.values(packageManagers).join(' and ')} are currently supported.`\n );\n}\n\nexport default function ({scope, packageName, packageManager, visibility, provideExample}) {\n return {\n usage: `### Installation\n${'Private' === visibility ? `\n:warning: this is a private package, so you will need to use an npm token with\naccess to private packages under \\`@${scope}\\`\n` : ''\n}\n\\`\\`\\`sh\n$ ${getInstallationCommand(packageManager)} ${packageName}\n\\`\\`\\`${provideExample\n ? `\n\n### Example\n\nrun \\`${buildGenerationCommand(packageManager)}\\` to inject the usage example`\n : ''\n}`\n };\n}\n","export default function ({projectVisibility}) {\n return 'Public' === projectVisibility ? 'public' : 'restricted';\n}\n","export default function (packageName, accessLevel) {\n return {\n consumer: {\n ...'public' === accessLevel && {\n npm: {\n img: `https://img.shields.io/npm/v/${packageName}?logo=npm`,\n text: 'npm',\n link: `https://www.npmjs.com/package/${packageName}`\n }\n }\n },\n status: {}\n };\n}\n","export default function ({provenance}) {\n if (provenance) {\n return {\n badges: {\n status: {\n slsa: {\n img: 'https://slsa.dev/images/gh-badge-level2.svg',\n url: 'https://slsa.dev',\n text: 'SLSA Level 2'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport enhanceSlsa from './slsa.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {publishConfig: {access}} = packageDetails;\n\n if ('public' === access) {\n await mergeIntoExistingPackageJson({projectRoot, config: {publishConfig: {provenance: true}}});\n\n return enhanceSlsa({provenance: true});\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport defineBadges from './badges.js';\nimport {lift as liftProvenance} from './provenance/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n const {name: packageName, publishConfig: {access: packageAccessLevel}} = packageDetails;\n const homepage = `https://npm.im/${packageName}`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n\n return deepmerge(\n await liftProvenance({packageDetails, projectRoot}),\n {\n homepage,\n devDependencies: ['publint'],\n scripts: {'lint:publish': 'publint --strict'},\n badges: defineBadges(packageName, packageAccessLevel)\n }\n );\n}\n","import defineBadges from './badges.js';\n\nexport default async function ({packageName, packageAccessLevel}) {\n return {\n badges: await defineBadges(packageName, packageAccessLevel)\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../../prompts/question-names.js';\n\nexport default async function ({bundlers, decisions}) {\n if (!Object.keys(bundlers).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PACKAGE_BUNDLER,\n type: 'list',\n message: 'Which bundler should be used?',\n choices: [...Object.keys(bundlers), 'Other']\n }], decisions);\n\n return answers[questionNames.PACKAGE_BUNDLER];\n}\n","import {scaffoldChoice as scaffoldChosenBundler} from '@form8ion/javascript-core';\nimport chooseBundler from './prompt.js';\n\nexport default async function ({projectRoot, projectType, bundlers, dialect, decisions}) {\n const chosenBundler = await chooseBundler({bundlers, decisions});\n\n return scaffoldChosenBundler(bundlers, chosenBundler, {projectRoot, projectType, dialect});\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'fs';\nimport deepmerge from 'deepmerge';\nimport mustache from 'mustache';\nimport mkdir from 'make-dir';\nimport touch from 'touch';\nimport camelcase from 'camelcase';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\nimport determinePathToTemplateFile from '../../template-path.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot, projectName, dialect) {\n return fs.writeFile(\n `${projectRoot}/example.js`,\n mustache.render(\n await fs.readFile(determinePathToTemplateFile('example.mustache'), 'utf8'),\n {projectName: camelcase(projectName), esm: dialect === dialects.ESM}\n )\n );\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, projectName, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, `const ${camelcase(projectName)} = require('.');\\n`)\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function ({\n projectRoot,\n projectName,\n visibility,\n packageName,\n packageBundlers,\n dialect,\n provideExample,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, projectName, provideExample});\n\n const pathToCreatedSrcDirectory = await mkdir(`${projectRoot}/src`);\n const [bundlerResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.PACKAGE}),\n provideExample ? await createExample(projectRoot, projectName, dialect) : Promise.resolve,\n touch(`${pathToCreatedSrcDirectory}/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n devDependencies: ['rimraf'],\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build',\n ...provideExample && {'pregenerate:md': 'run-s build'}\n },\n vcsIgnore: {directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n badges: {\n consumer: {\n ...'Public' === visibility && {\n runkit: {\n img: `https://badge.runkitcdn.com/${packageName}.svg`,\n text: `Try ${packageName} on RunKit`,\n link: `https://npm.runkit.com/${packageName}`\n }\n }\n }\n }\n }\n );\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {dialects, mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport scaffoldPackageDocumentation from './documentation.js';\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport buildDetails from './build-details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n info('Scaffolding Package Details');\n\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [detailsForBuild, publishableResults] = await Promise.all([\n buildDetails({\n projectRoot,\n projectName,\n packageBundlers,\n visibility,\n packageName,\n dialect,\n provideExample,\n decisions\n }),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n files: ['example.js', ...dialects.COMMON_JS === dialect ? ['index.js'] : ['lib/']],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\n ...'Public' === visibility && {runkitExampleFilename: './example.js'},\n ...dialects.BABEL === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n exports: {\n module: './lib/index.mjs',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n },\n ...dialects.ESM === dialect && {\n main: './lib/index.js',\n exports: './lib/index.js'\n },\n ...dialects.TYPESCRIPT === dialect && {\n main: './lib/index.js',\n module: './lib/index.mjs',\n types: './lib/index.d.ts',\n exports: {\n types: './lib/index.d.ts',\n require: './lib/index.js',\n import: './lib/index.mjs'\n }\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n {\n documentation: scaffoldPackageDocumentation({packageName, visibility, scope, packageManager, provideExample}),\n nextSteps: [\n {summary: 'Add the appropriate `save` flag to the installation instructions in the README'},\n {summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'},\n {summary: 'Publish pre-release versions to npm until package is stable enough to publish v1.0.0'}\n ]\n },\n detailsForBuild\n ]);\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin}}) {\n return !!exports || (!!publishConfig && !bin);\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nconst defaultBuildDirectory = 'public';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Application Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n const buildDirectory = defaultBuildDirectory;\n\n return {\n scripts: {\n clean: `rimraf ./${buildDirectory}`,\n start: `node ./${buildDirectory}/index.js`,\n prebuild: 'run-s clean'\n },\n dependencies: [],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: ['.env'], directories: [`/${buildDirectory}/`]},\n buildDirectory,\n nextSteps: []\n };\n}\n","export default function ({packageDetails}) {\n return !!packageDetails.private;\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot}) {\n info('Scaffolding Monorepo Details');\n\n await mergeIntoExistingPackageJson({projectRoot, config: {private: true}});\n\n return {\n nextSteps: [{\n summary: 'Add packages to your new monorepo',\n description: 'Leverage [@form8ion/add-package-to-monorepo](https://npm.im/@form8ion/add-package-to-monorepo)'\n + ' to scaffold new packages into your new monorepo'\n }]\n };\n}\n","import deepmerge from 'deepmerge';\nimport {mergeIntoExistingPackageJson, projectTypes} from '@form8ion/javascript-core';\n\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'bin';\n\nexport default async function ({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n}) {\n const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});\n const [bundlerResults, publishableResults] = await Promise.all([\n scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.CLI}),\n scaffoldPublishable({packageName, packageAccessLevel}),\n mergeIntoExistingPackageJson({\n projectRoot,\n config: {\n bin: {},\n files: [`${defaultBuildDirectory}/`],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n }\n }\n })\n ]);\n\n return deepmerge.all([\n publishableResults,\n bundlerResults,\n {\n scripts: {\n clean: `rimraf ./${defaultBuildDirectory}`,\n prebuild: 'run-s clean',\n build: 'npm-run-all --print-label --parallel build:*',\n prepack: 'run-s build'\n },\n dependencies: ['update-notifier'],\n devDependencies: ['rimraf'],\n vcsIgnore: {files: [], directories: [`/${defaultBuildDirectory}/`]},\n buildDirectory: defaultBuildDirectory,\n nextSteps: [{summary: 'Define supported node.js versions as `engines.node` in the `package.json` file'}]\n }\n ]);\n}\n","export default async function ({packageDetails: {bin}}) {\n return !!bin;\n}\n","import {lift as liftPublishable} from '../publishable/index.js';\n\nexport default function ({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","import {projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldPackageType} from './package/index.js';\nimport {scaffold as scaffoldApplicationType} from './application/index.js';\nimport {scaffold as scaffoldMonorepoType} from './monorepo/index.js';\nimport {scaffold as scaffoldCliType} from './cli/index.js';\n\nexport default async function ({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n packageBundlers,\n scope,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n}) {\n switch (projectType) {\n case projectTypes.PACKAGE:\n return scaffoldPackageType({\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n scope,\n packageBundlers,\n decisions,\n dialect,\n provideExample,\n publishRegistry\n });\n case projectTypes.APPLICATION:\n return scaffoldApplicationType({projectRoot});\n case projectTypes.CLI:\n return scaffoldCliType({\n packageName,\n visibility,\n projectRoot,\n dialect,\n publishRegistry,\n decisions,\n packageBundlers\n });\n case projectTypes.MONOREPO:\n return scaffoldMonorepoType({projectRoot});\n case 'Other':\n return {};\n default:\n throw new Error(`The project-type of ${projectType} is invalid`);\n }\n}\n","import {test as isPackage} from './package/index.js';\nimport {test as isCli} from './cli/index.js';\nimport {test as isApplication} from './application/index.js';\n\nexport default async function ({projectRoot, packageDetails}) {\n return await isPackage({projectRoot, packageDetails})\n || await isCli({projectRoot, packageDetails})\n || isApplication({projectRoot, packageDetails});\n}\n","import {mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport {test as isPackage, lift as liftPackage} from './package/index.js';\nimport {test as isCli, lift as liftCli} from './cli/index.js';\n\nfunction vcsRepositoryHostedOnGithub(vcs) {\n return vcs && 'github' === vcs.host;\n}\n\nexport default async function ({projectRoot, packageDetails, vcs}) {\n if (await isPackage({projectRoot, packageDetails})) return liftPackage({projectRoot, packageDetails});\n if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});\n\n let homepage;\n\n if (vcsRepositoryHostedOnGithub(vcs)) {\n homepage = `https://github.com/${vcs.owner}/${vcs.name}#readme`;\n\n await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});\n }\n\n return {homepage};\n}\n","import {fileTypes} from '@form8ion/core';\nimport {write} from '@form8ion/config-file';\n\nexport default function ({projectRoot, config}) {\n return write({path: projectRoot, name: 'babel', format: fileTypes.JSON, config});\n}\n","import {load} from '@form8ion/config-file';\n\nexport default function () {\n return load({name: 'babel'});\n}\n","import writeConfig from './writer.js';\nimport loadConfig from './loader.js';\n\nexport default async function ({projectRoot, ignore}) {\n if (ignore) {\n const existingConfig = await loadConfig();\n\n await writeConfig({projectRoot, config: {...existingConfig, ignore: [`./${ignore}/`]}});\n }\n}\n","import {write} from './config/index.js';\n\nexport default async function ({projectRoot, preset}) {\n if (!preset) {\n throw new Error('No babel preset provided. Cannot configure babel transpilation');\n }\n\n await write({projectRoot, config: {presets: [preset.name]}});\n\n return {\n devDependencies: ['@babel/register', preset.packageName],\n eslint: {}\n };\n}\n","import {addIgnore} from './config/index.js';\n\nexport default async function ({results, projectRoot}) {\n await addIgnore({ignore: results.buildDirectory, projectRoot});\n\n return {};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.babelrc.json`);\n}\n","import {fileTypes, writeConfigFile} from '@form8ion/core';\nimport {projectTypes} from '@form8ion/javascript-core';\n\nexport default async function ({config, projectType, projectRoot, testFilenamePattern}) {\n const shareableTsConfigPackage = `${config.scope}/tsconfig`;\n\n await writeConfigFile({\n path: projectRoot,\n name: 'tsconfig',\n format: fileTypes.JSON,\n config: {\n $schema: 'https://json.schemastore.org/tsconfig',\n extends: shareableTsConfigPackage,\n compilerOptions: {\n rootDir: 'src',\n ...projectTypes.PACKAGE === projectType && {\n outDir: 'lib',\n declaration: true\n }\n },\n include: ['src/**/*.ts'],\n ...testFilenamePattern && {exclude: [testFilenamePattern]}\n }\n });\n\n return {\n eslint: {configs: ['typescript']},\n devDependencies: ['typescript', shareableTsConfigPackage],\n vcsIgnore: {files: ['tsconfig.tsbuildinfo']}\n };\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBabel} from './babel/index.js';\nimport {scaffold as scaffoldTypescript} from './typescript/index.js';\n\nexport default function ({dialect, projectType, projectRoot, configs, testFilenamePattern}) {\n switch (dialect) {\n case dialects.BABEL:\n return scaffoldBabel({preset: configs.babelPreset, projectRoot});\n case dialects.TYPESCRIPT:\n return scaffoldTypescript({config: configs.typescript, projectType, projectRoot, testFilenamePattern});\n default:\n return {};\n }\n}\n","import {EOL} from 'os';\nimport validatePackageName from '../../thirdparty-wrappers/validate-npm-package-name.js';\n\nexport default function (projectName, scope) {\n const name = `${scope ? `@${scope}/` : ''}${projectName}`;\n\n const {validForNewPackages, errors} = validatePackageName(name);\n\n if (validForNewPackages) return name;\n if (1 === errors.length && errors.includes('name cannot start with a period')) return projectName.slice(1);\n\n throw new Error(`The package name ${name} is invalid:${EOL}\\t* ${errors.join(`${EOL}\\t* `)}`);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({\n packageName,\n dialect,\n license,\n author,\n description\n}) {\n return {\n name: packageName,\n description,\n license,\n type: dialects.ESM === dialect ? 'module' : 'commonjs',\n author: `${author.name}${author.email ? ` <${author.email}>` : ''}${author.url ? ` (${author.url})` : ''}`,\n scripts: {}\n };\n}\n","import {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport buildPackageName from './package-name.js';\nimport buildPackageDetails from './details.js';\n\nexport default async function ({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n}) {\n info('Configuring package.json');\n\n const packageName = buildPackageName(projectName, scope);\n\n await writePackageJson({\n projectRoot,\n config: await buildPackageDetails({\n packageName,\n dialect,\n license,\n author,\n description\n })\n });\n\n return {packageName};\n}\n","import sortProperties from 'sort-object-keys';\n\nexport default function (packageContents) {\n return sortProperties(\n packageContents,\n [\n 'name',\n 'description',\n 'license',\n 'version',\n 'private',\n 'type',\n 'engines',\n 'author',\n 'contributors',\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n 'keywords',\n 'runkitExampleFilename',\n 'exports',\n 'bin',\n 'main',\n 'module',\n 'types',\n 'sideEffects',\n 'scripts',\n 'files',\n 'publishConfig',\n 'packageManager',\n 'config',\n 'dependencies',\n 'devDependencies',\n 'peerDependencies'\n ]\n );\n}\n","export default function (vcs, pathWithinParent) {\n return vcs && 'github' === vcs.host && {\n repository: pathWithinParent\n ? {\n type: 'git',\n url: `https://github.com/${vcs.owner}/${vcs.name}.git`,\n directory: pathWithinParent\n }\n : `${vcs.owner}/${vcs.name}`,\n bugs: `https://github.com/${vcs.owner}/${vcs.name}/issues`\n };\n}\n","import {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nexport const details = {\n [packageManagers.NPM]: {\n installationCommand: 'install',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: `save-${DEV_DEPENDENCY_TYPE}`,\n [PROD_DEPENDENCY_TYPE]: `save-${PROD_DEPENDENCY_TYPE}`,\n exact: 'save-exact'\n }\n },\n [packageManagers.YARN]: {\n installationCommand: 'add',\n installationFlags: {\n [DEV_DEPENDENCY_TYPE]: DEV_DEPENDENCY_TYPE,\n [PROD_DEPENDENCY_TYPE]: PROD_DEPENDENCY_TYPE,\n exact: 'exact'\n }\n }\n};\n\nexport function getInstallationCommandFor(manager) {\n return details[manager].installationCommand;\n}\n\nexport function getDependencyTypeFlag(manager, type) {\n return details[manager].installationFlags[type];\n}\n\nexport function getExactFlag(manager) {\n return details[manager].installationFlags.exact;\n}\n","import {info, warn} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, packageManagers} from '@form8ion/javascript-core';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport {getDependencyTypeFlag, getExactFlag, getInstallationCommandFor} from './package-managers.js';\n\nexport default async function (dependencies, dependenciesType, projectRoot, packageManager = packageManagers.NPM) {\n if (dependencies.length) {\n info(`Installing ${dependenciesType} dependencies`, {level: 'secondary'});\n\n await execa(\n `. ~/.nvm/nvm.sh && nvm use && ${packageManager} ${\n getInstallationCommandFor(packageManager)\n } ${[...new Set(dependencies)].join(' ')} --${getDependencyTypeFlag(packageManager, dependenciesType)}${\n DEV_DEPENDENCY_TYPE === dependenciesType ? ` --${getExactFlag(packageManager)}` : ''\n }`,\n {shell: true, cwd: projectRoot}\n );\n } else warn(`No ${dependenciesType} dependencies to install`);\n}\n","import {error, info} from '@travi/cli-messages';\nimport {DEV_DEPENDENCY_TYPE, PROD_DEPENDENCY_TYPE} from '@form8ion/javascript-core';\n\nimport install from './installer.js';\n\nexport default async function ({dependencies, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n try {\n await install(dependencies || [], PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(devDependencies || [], DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n } catch (e) {\n error('Failed to update dependencies');\n error(e, {level: 'secondary'});\n }\n}\n","function projectWillBeTested(scripts) {\n return Object.keys(scripts).find(scriptName => scriptName.startsWith('test:'));\n}\n\nfunction projectShouldBeBuiltForVerification(scripts) {\n return 'run-s build' === scripts['pregenerate:md'];\n}\n\nexport default function (scripts) {\n return {\n ...scripts,\n test: `npm-run-all --print-label${\n projectShouldBeBuiltForVerification(scripts) ? ' build' : ''\n } --parallel lint:*${\n projectWillBeTested(scripts) ? ' --parallel test:*' : ''\n }`\n };\n}\n","import updateTestScript from './test-script-updater.js';\n\nexport default function ({existingScripts, scripts}) {\n return updateTestScript({...existingScripts, ...scripts});\n}\n","import {promises as fs} from 'fs';\nimport {info} from '@travi/cli-messages';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nimport sortPackageProperties from './property-sorter.js';\nimport defineVcsHostDetails from './vcs-host-details.js';\nimport {process as processDependencies} from '../dependencies/index.js';\nimport {lift as liftScripts} from './scripts/index.js';\n\nexport default async function ({\n projectRoot,\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager,\n vcs,\n pathWithinParent\n}) {\n info('Updating `package.json`', {level: 'secondary'});\n\n const existingPackageJsonContents = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n }),\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({dependencies, devDependencies, projectRoot, packageManager});\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {applyEnhancers} from '@form8ion/core';\nimport * as huskyPlugin from '@form8ion/husky';\nimport * as commitConventionPlugin from '@form8ion/commit-convention';\n\nimport * as registriesPlugin from '../registries/index.js';\nimport * as coveragePlugin from '../coverage/index.js';\nimport * as codeStylePlugin from '../code-style/index.js';\nimport * as npmConfigPlugin from '../npm-config/index.js';\nimport * as enginesEnhancer from './enhancers/engines.js';\nimport * as projectTypes from '../project-type/index.js';\nimport * as dialects from '../dialects/index.js';\nimport {lift as liftPackage} from '../package/index.js';\nimport * as packageManagers from '../package-managers/index.js';\nimport {determineCurrent as resolvePackageManager} from '../package-managers/index.js';\n\nexport default async function ({projectRoot, vcs, results, pathWithinParent, enhancers = {}, configs = {}}) {\n info('Lifting JavaScript-specific details');\n\n const {\n scripts,\n tags,\n dependencies,\n devDependencies,\n packageManager: manager\n } = results;\n\n const [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: manager}),\n fs.readFile(`${projectRoot}/package.json`, 'utf8')\n ]);\n\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {\n ...enhancers,\n huskyPlugin,\n enginesEnhancer,\n coveragePlugin,\n commitConventionPlugin,\n dialects,\n codeStylePlugin,\n npmConfigPlugin,\n projectTypes,\n packageManagers,\n registriesPlugin\n },\n options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents), configs}\n });\n\n await liftPackage(\n deepmerge.all([\n {projectRoot, scripts, tags, dependencies, devDependencies, packageManager, vcs, pathWithinParent},\n enhancerResults\n ])\n );\n\n return enhancerResults;\n}\n","import joi from 'joi';\n\nexport const scopeBasedConfigSchema = joi.object({scope: joi.string().regex(/^@[a-z0-9-]+$/i, 'scope').required()});\n\nexport const nameBasedConfigSchema = joi.object({\n packageName: joi.string().required(),\n name: joi.string().required()\n});\n\nexport const registriesSchema = joi.object().pattern(joi.string(), joi.string().uri()).default({});\n\nexport const visibilitySchema = joi.string().valid('Public', 'Private').required();\n\nexport const projectNameSchema = joi.string().regex(/^@\\w*\\//, {invert: true}).required();\n","import joi from 'joi';\n\nexport const vcsSchema = joi.object({\n host: joi.string().required(),\n owner: joi.string().required(),\n name: joi.string().required()\n});\n","import joi from 'joi';\nimport {validateOptions} from '@form8ion/core';\n\nimport {pluginsSchema} from '../plugins-schemas.js';\nimport {\n nameBasedConfigSchema,\n projectNameSchema,\n registriesSchema,\n scopeBasedConfigSchema,\n visibilitySchema\n} from './schemas.js';\nimport {vcsSchema} from '../vcs/schema.js';\n\nexport function validate(options) {\n const schema = joi.object({\n projectRoot: joi.string().required(),\n projectName: projectNameSchema,\n visibility: visibilitySchema,\n license: joi.string().required(),\n description: joi.string(),\n pathWithinParent: joi.string(),\n decisions: joi.object(),\n vcs: vcsSchema,\n configs: joi.object({\n eslint: scopeBasedConfigSchema,\n typescript: scopeBasedConfigSchema,\n prettier: scopeBasedConfigSchema,\n commitlint: nameBasedConfigSchema,\n babelPreset: nameBasedConfigSchema,\n remark: joi.string(),\n registries: registriesSchema\n }).default({}),\n plugins: {\n unitTestFrameworks: pluginsSchema,\n packageBundlers: pluginsSchema,\n applicationTypes: pluginsSchema,\n packageTypes: pluginsSchema,\n monorepoTypes: pluginsSchema,\n hosts: pluginsSchema,\n ciServices: pluginsSchema\n }\n }).required();\n\n return validateOptions(schema, options);\n}\n","import {dialects} from '@form8ion/javascript-core';\n\nexport default function ({babelPreset, typescript}) {\n return [\n {name: 'Common JS (no transpilation)', value: dialects.COMMON_JS, short: 'cjs'},\n ...babelPreset ? [{name: 'Modern JavaScript (transpiled)', value: dialects.BABEL, short: 'modern'}] : [],\n {name: 'ESM-only (no transpilation)', value: dialects.ESM, short: 'esm'},\n ...typescript ? [{name: 'TypeScript', value: dialects.TYPESCRIPT, short: 'ts'}] : []\n ];\n}\n","import {projectTypes} from '@form8ion/javascript-core';\nimport {questionNames as commonQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames} from './question-names.js';\n\nfunction projectIsCLI(answers) {\n return projectTypes.CLI === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsPackage(answers) {\n return projectTypes.PACKAGE === answers[questionNames.PROJECT_TYPE];\n}\n\nexport function projectIsApplication(answers) {\n return projectTypes.APPLICATION === answers[questionNames.PROJECT_TYPE];\n}\n\nfunction packageShouldBeScoped(visibility, answers) {\n return 'Private' === visibility || answers[questionNames.SHOULD_BE_SCOPED];\n}\n\nfunction willBePublishedToNpm(answers) {\n return projectIsPackage(answers) || projectIsCLI(answers);\n}\n\nexport function shouldBeScopedPromptShouldBePresented(answers) {\n return willBePublishedToNpm(answers);\n}\n\nexport function scopePromptShouldBePresentedFactory(visibility) {\n return answers => willBePublishedToNpm(answers) && packageShouldBeScoped(visibility, answers);\n}\n\nexport function lintingPromptShouldBePresented({\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested\n}) {\n return !unitTested && !integrationTested;\n}\n","export function scope(visibility) {\n return input => {\n if (!input && 'Private' === visibility) {\n return 'Private packages must be scoped (https://docs.npmjs.com/private-modules/intro#setting-up-your-package)';\n }\n\n return true;\n };\n}\n","import {packageManagers, projectTypes} from '@form8ion/javascript-core';\nimport {prompt as promptWithInquirer} from '@form8ion/overridable-prompts';\nimport {questionNames as commonQuestionNames, questions as commonQuestions} from '@travi/language-scaffolder-prompts';\nimport {warn} from '@travi/cli-messages';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport npmConfFactory from '../../thirdparty-wrappers/npm-conf.js';\nimport buildDialectChoices from '../dialects/prompt-choices.js';\nimport {\n lintingPromptShouldBePresented,\n projectIsApplication,\n projectIsPackage,\n scopePromptShouldBePresentedFactory,\n shouldBeScopedPromptShouldBePresented\n} from './conditionals.js';\nimport {questionNames} from './question-names.js';\nimport {scope as validateScope} from './validators.js';\n\nfunction authorQuestions({name, email, url}) {\n return [\n {\n name: questionNames.AUTHOR_NAME,\n message: 'What is the author\\'s name?',\n default: name\n },\n {\n name: questionNames.AUTHOR_EMAIL,\n message: 'What is the author\\'s email?',\n default: email\n },\n {\n name: questionNames.AUTHOR_URL,\n message: 'What is the author\\'s website url?',\n default: url\n }\n ];\n}\n\nexport async function prompt(\n ciServices,\n hosts,\n visibility,\n vcs,\n decisions,\n configs,\n pathWithinParent\n) {\n const npmConf = npmConfFactory();\n\n let maybeLoggedInNpmUsername;\n try {\n maybeLoggedInNpmUsername = (await execa('npm', ['whoami'])).stdout;\n } catch (failedExecutionResult) {\n if (!decisions[questionNames.SCOPE]) {\n warn('No logged in user found with `npm whoami`. Login with `npm login` '\n + 'to use your npm account name as the package scope default.');\n }\n }\n\n const {\n [commonQuestionNames.UNIT_TESTS]: unitTested,\n [commonQuestionNames.INTEGRATION_TESTS]: integrationTested,\n [questionNames.PROJECT_TYPE]: projectType,\n [commonQuestionNames.CI_SERVICE]: ci,\n [questionNames.HOST]: chosenHost,\n [questionNames.SCOPE]: scope,\n [questionNames.NODE_VERSION_CATEGORY]: nodeVersionCategory,\n [questionNames.AUTHOR_NAME]: authorName,\n [questionNames.AUTHOR_EMAIL]: authorEmail,\n [questionNames.AUTHOR_URL]: authorUrl,\n [questionNames.CONFIGURE_LINTING]: configureLinting,\n [questionNames.PROVIDE_EXAMPLE]: provideExample,\n [questionNames.PACKAGE_MANAGER]: packageManager,\n [questionNames.DIALECT]: dialect\n } = await promptWithInquirer([\n {\n name: questionNames.DIALECT,\n message: 'Which JavaScript dialect should this project follow?',\n type: 'list',\n choices: buildDialectChoices(configs),\n default: 'babel'\n },\n ...pathWithinParent ? [] : [{\n name: questionNames.NODE_VERSION_CATEGORY,\n message: 'What node.js version should be used?',\n type: 'list',\n choices: ['LTS', 'Latest'],\n default: 'LTS'\n }],\n {\n name: questionNames.PACKAGE_MANAGER,\n message: 'Which package manager will be used with this project?',\n type: 'list',\n choices: Object.values(packageManagers),\n default: packageManagers.NPM\n },\n {\n name: questionNames.PROJECT_TYPE,\n message: 'What type of JavaScript project is this?',\n type: 'list',\n choices: [...Object.values(projectTypes), 'Other'],\n default: projectTypes.PACKAGE\n },\n ...'Private' === visibility ? [] : [{\n name: questionNames.SHOULD_BE_SCOPED,\n message: 'Should this package be scoped?',\n type: 'confirm',\n when: shouldBeScopedPromptShouldBePresented,\n default: true\n }],\n {\n name: questionNames.SCOPE,\n message: 'What is the scope?',\n when: scopePromptShouldBePresentedFactory(visibility),\n validate: validateScope(visibility),\n default: maybeLoggedInNpmUsername\n },\n ...authorQuestions({\n name: npmConf.get('init.author.name'),\n email: npmConf.get('init.author.email'),\n url: npmConf.get('init.author.url')\n }),\n ...commonQuestions(({vcs, ciServices, pathWithinParent})),\n {\n name: questionNames.CONFIGURE_LINTING,\n message: 'Will there be source code that should be linted?',\n type: 'confirm',\n when: lintingPromptShouldBePresented\n },\n {\n name: questionNames.PROVIDE_EXAMPLE,\n message: 'Should an example be provided in the README?',\n type: 'confirm',\n when: projectIsPackage\n },\n {\n name: questionNames.HOST,\n type: 'list',\n message: 'Where will the application be hosted?',\n when: projectIsApplication,\n choices: [...Object.keys(hosts), 'Other']\n }\n ], decisions);\n\n return {\n tests: {unit: unitTested, integration: integrationTested},\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author: {name: authorName, email: authorEmail, url: authorUrl},\n configureLinting: false !== configureLinting,\n provideExample,\n packageManager,\n dialect\n };\n}\n","import buildGenerationCommand from './generation-command.js';\n\nexport default function ({projectTypeResults, packageManager}) {\n return {\n toc: `Run \\`${buildGenerationCommand(packageManager)}\\` to generate a table of contents`,\n ...projectTypeResults.documentation,\n contributing: `### Dependencies\n\n\\`\\`\\`sh\n$ nvm install\n$ ${packageManager} install\n\\`\\`\\`\n\n### Verification\n\n\\`\\`\\`sh\n$ ${packageManager} test\n\\`\\`\\``\n };\n}\n","import deepmerge from 'deepmerge';\n\nexport default function (contributors) {\n return deepmerge.all(contributors).badges;\n}\n","import {info} from '@travi/cli-messages';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\n\nexport async function determineLatestVersionOf(nodeVersionCategory) {\n info('Determining version of node', {level: 'secondary'});\n\n const {stdout: nvmLsOutput} = await execa(\n `. ~/.nvm/nvm.sh && nvm ls-remote${('LTS' === nodeVersionCategory) ? ' --lts' : ''}`,\n {shell: true}\n );\n\n const lsLines = nvmLsOutput.split('\\n');\n const lsLine = lsLines[lsLines.length - 2];\n\n return lsLine.match(/(v[0-9]+)\\.[0-9]+\\.[0-9]+/)[1];\n}\n\nexport function install(nodeVersionCategory) {\n info(`Installing ${nodeVersionCategory} version of node using nvm`, {level: 'secondary'});\n\n const subprocess = execa('. ~/.nvm/nvm.sh && nvm install', {shell: true});\n subprocess.stdout.pipe(process.stdout);\n return subprocess;\n}\n","import {promises as fs} from 'node:fs';\nimport {info} from '@travi/cli-messages';\n\nimport {determineLatestVersionOf, install as installNodeVersion} from './tasks.js';\n\nexport default async function ({projectRoot, nodeVersionCategory}) {\n if (!nodeVersionCategory) return undefined;\n\n const lowerCaseCategory = nodeVersionCategory.toLowerCase();\n info(`Configuring ${lowerCaseCategory} version of node`);\n\n const version = await determineLatestVersionOf(nodeVersionCategory);\n\n await fs.writeFile(`${projectRoot}/.nvmrc`, version);\n\n await installNodeVersion(nodeVersionCategory);\n\n return version;\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/.nvmrc`);\n}\n","export default function (vcsIgnoreLists = {}) {\n return {\n files: vcsIgnoreLists.files || [],\n directories: ['/node_modules/', ...vcsIgnoreLists.directories || []]\n };\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default async function ({types, projectType, decisions}) {\n if (!Object.keys(types).length) return 'Other';\n\n const answers = await prompt([{\n name: questionNames.PROJECT_TYPE_CHOICE,\n type: 'list',\n message: `What type of ${projectType} is this?`,\n choices: [...Object.keys(types), 'Other']\n }], decisions);\n\n return answers[questionNames.PROJECT_TYPE_CHOICE];\n}\n","import {scaffoldChoice} from '@form8ion/javascript-core';\n\nimport chooseProjectTypePlugin from './prompt.js';\n\nexport default async function ({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins\n}) {\n const pluginsForProjectType = plugins[projectType];\n\n if (!pluginsForProjectType) return {};\n\n const chosenType = await chooseProjectTypePlugin({types: pluginsForProjectType, decisions, projectType});\n\n return scaffoldChoice(\n pluginsForProjectType,\n chosenType,\n {projectRoot, projectName, packageName, packageManager, scope, tests, dialect}\n );\n}\n","import deepmerge from 'deepmerge';\n\nimport scaffoldUnitTesting from '../../../testing/unit.js';\n\nexport default async function ({\n projectRoot,\n visibility,\n tests: {unit, integration},\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n}) {\n const unitResults = unit\n ? await scaffoldUnitTesting({\n projectRoot,\n visibility,\n vcs,\n frameworks: unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n })\n : {};\n\n return deepmerge({devDependencies: [...(unit || integration) ? ['@travi/any'] : []], eslint: {}}, unitResults);\n}\n","import {scaffold as scaffoldLockfileLint} from '../lockfile-lint/index.js';\n\nexport default async function ({projectRoot, packageManager, registries}) {\n return scaffoldLockfileLint({projectRoot, packageManager, registries});\n}\n","import deepmerge from 'deepmerge';\nimport {scaffold as scaffoldHusky} from '@form8ion/husky';\n\nimport scaffoldTesting from './testing/index.js';\nimport {scaffold as scaffoldLinting} from '../../linting/index.js';\n\nexport async function scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n}) {\n const [testingResults, lintingResults, huskyResults] = await Promise.all([\n scaffoldTesting({\n projectRoot,\n tests,\n visibility,\n vcs,\n unitTestFrameworks,\n decisions,\n dialect,\n pathWithinParent\n }),\n scaffoldLinting({projectRoot, packageManager, registries, vcs, pathWithinParent}),\n scaffoldHusky({projectRoot, packageManager, pathWithinParent})\n ]);\n\n return deepmerge.all([testingResults, lintingResults, huskyResults]);\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {projectTypes, scaffoldChoice} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldCommitConvention} from '@form8ion/commit-convention';\n\nimport lift from '../lift/index.js';\nimport {validate} from '../options/validator.js';\nimport {prompt} from '../prompts/questions.js';\nimport {scaffold as scaffoldDialect} from '../dialects/index.js';\nimport {scaffold as scaffoldNpmConfig} from '../npm-config/index.js';\nimport scaffoldDocumentation from '../documentation/index.js';\nimport buildBadgesDetails from '../documentation/badges.js';\nimport {scaffold as scaffoldNodeVersion} from '../node-version/index.js';\nimport buildVcsIgnoreLists from '../vcs/ignore-lists-builder.js';\nimport {scaffold as scaffoldPackage} from '../package/index.js';\nimport {scaffold as scaffoldProjectType} from '../project-type/index.js';\nimport {scaffold as scaffoldProjectTypePlugin} from '../project-type-plugin/index.js';\nimport buildDocumentationCommand from '../documentation/generation-command.js';\nimport {scaffold as scaffoldVerification} from './verification/index.js';\nimport {scaffold as scaffoldCodeStyle} from '../code-style/index.js';\n\nexport default async function (options) {\n info('Initializing JavaScript project');\n\n const {\n projectRoot,\n projectName,\n visibility,\n license,\n vcs,\n description,\n configs,\n decisions,\n pathWithinParent,\n plugins: {\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n unitTestFrameworks,\n hosts,\n ciServices\n }\n } = validate(options);\n\n const {\n tests,\n projectType,\n ci,\n chosenHost,\n scope,\n nodeVersionCategory,\n author,\n configureLinting,\n provideExample,\n packageManager,\n dialect\n } = await prompt(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent);\n\n info('Writing project files', {level: 'secondary'});\n\n const {packageName} = await scaffoldPackage({\n projectRoot,\n projectName,\n scope,\n dialect,\n license,\n author,\n description\n });\n const projectTypeResults = await scaffoldProjectType({\n projectType,\n projectRoot,\n projectName,\n packageName,\n packageManager,\n visibility,\n applicationTypes,\n packageTypes,\n monorepoTypes,\n packageBundlers,\n scope,\n tests,\n vcs,\n decisions,\n dialect,\n provideExample,\n publishRegistry: configs.registries.publish\n });\n const verificationResults = await scaffoldVerification({\n projectRoot,\n dialect,\n visibility,\n packageManager,\n vcs,\n registries: configs.registries,\n tests,\n unitTestFrameworks,\n decisions,\n pathWithinParent\n });\n const [nodeVersion, npmResults, dialectResults, codeStyleResults] = await Promise.all([\n scaffoldNodeVersion({projectRoot, nodeVersionCategory}),\n scaffoldNpmConfig({projectType, projectRoot}),\n scaffoldDialect({\n dialect,\n configs,\n projectRoot,\n projectType,\n testFilenamePattern: verificationResults.testFilenamePattern\n }),\n scaffoldCodeStyle({projectRoot, projectType, configs, vcs, configureLinting})\n ]);\n const projectTypePluginResults = await scaffoldProjectTypePlugin({\n projectRoot,\n projectType,\n projectName,\n packageName,\n packageManager,\n scope,\n dialect,\n tests,\n decisions,\n plugins: {\n [projectTypes.PACKAGE]: packageTypes,\n [projectTypes.APPLICATION]: applicationTypes,\n [projectTypes.MONOREPO]: monorepoTypes\n }\n });\n const mergedContributions = deepmerge.all([\n ...(await Promise.all([\n scaffoldChoice(\n hosts,\n chosenHost,\n {buildDirectory: `./${projectTypeResults.buildDirectory}`, projectRoot, projectName, nodeVersion}\n ),\n scaffoldChoice(ciServices, ci, {projectRoot, vcs, visibility, projectType, projectName, nodeVersion, tests}),\n scaffoldCommitConvention({projectRoot, projectType, configs, pathWithinParent})\n ])),\n projectTypeResults,\n verificationResults,\n codeStyleResults,\n npmResults,\n dialectResults,\n projectTypePluginResults\n ]);\n\n const liftResults = await lift({\n results: deepmerge({devDependencies: ['npm-run-all2'], packageManager}, mergedContributions),\n projectRoot,\n configs,\n vcs,\n pathWithinParent\n });\n\n return {\n badges: buildBadgesDetails([mergedContributions, liftResults]),\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`,\n projectDetails: {...liftResults.homepage && {homepage: liftResults.homepage}},\n nextSteps: mergedContributions.nextSteps\n };\n}\n","import {info} from '@travi/cli-messages';\n\nimport {test as nvmIsUsed} from './node-version/index.js';\nimport {test as jsPackageManagerIsUsed} from './package-managers/index.js';\n\nexport default async function ({projectRoot}) {\n const [nvmFound, jsPackageManagerFound] = await Promise.all([\n nvmIsUsed({projectRoot}),\n jsPackageManagerIsUsed({projectRoot})\n ]);\n\n const jsProjectFound = nvmFound || jsPackageManagerFound;\n\n if (jsProjectFound) info('JavaScript Project Detected');\n\n return jsProjectFound;\n}\n","import {questionNames as languageScaffolderPromptsQuestionNames} from '@travi/language-scaffolder-prompts';\n\nimport {questionNames as jsScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport {default as scaffoldUnitTesting} from './testing/unit.js';\nexport {default as scaffold} from './scaffolder/index.js';\nexport {default as lift} from './lift/index.js';\nexport {default as test} from './tester.js';\nexport const questionNames = {...languageScaffolderPromptsQuestionNames, ...jsScaffolderQuestionNames};\n"],"names":["questionNames","write","scaffoldCodecov","fs","lift","liftCodecov","prompt","scaffoldFrameworkChoice","packageManagers","determineLockfilePath","loadConfig","writeConfig","projectTypes","read","writeLockfileLintConfig","readLockfileLintConfig","scaffoldEslint","scaffoldPrettier","testForEslint","buildGenerationCommand","scaffoldChosenBundler","defaultBuildDirectory","dialects","liftPackage","install","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","validateScope","commonQuestions","installNodeVersion","scaffoldHusky","scaffoldCommitConvention","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/javascript",
|
|
3
3
|
"description": "JavaScript language plugin for the @form8ion toolset",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "13.0.0-beta.
|
|
5
|
+
"version": "13.0.0-beta.11",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "^18.17.0 || >=20.6.1"
|
|
8
8
|
},
|
|
@@ -105,15 +105,15 @@
|
|
|
105
105
|
"ls-engines": "0.9.3",
|
|
106
106
|
"mock-fs": "5.2.0",
|
|
107
107
|
"npm-run-all2": "6.2.3",
|
|
108
|
-
"publint": "0.2.
|
|
108
|
+
"publint": "0.2.11",
|
|
109
109
|
"remark-cli": "12.0.1",
|
|
110
110
|
"remark-toc": "9.0.0",
|
|
111
111
|
"remark-usage": "11.0.1",
|
|
112
112
|
"rimraf": "6.0.1",
|
|
113
|
-
"rollup": "4.22.
|
|
113
|
+
"rollup": "4.22.4",
|
|
114
114
|
"rollup-plugin-auto-external": "2.0.0",
|
|
115
115
|
"testdouble": "3.20.2",
|
|
116
|
-
"vitest": "2.
|
|
116
|
+
"vitest": "2.1.1"
|
|
117
117
|
},
|
|
118
118
|
"packageManager": "npm@10.8.3"
|
|
119
119
|
}
|