@form8ion/javascript 15.0.0 → 15.1.1
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 +56 -71
- package/lib/index.js.map +1 -1
- package/package.json +11 -11
package/lib/index.js
CHANGED
|
@@ -432,7 +432,7 @@ async function scaffoldBabel ({projectRoot, preset}) {
|
|
|
432
432
|
};
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
-
async function lifter$
|
|
435
|
+
async function lifter$4 ({results, projectRoot}) {
|
|
436
436
|
await addIgnore({ignore: results.buildDirectory, projectRoot});
|
|
437
437
|
|
|
438
438
|
return {};
|
|
@@ -484,7 +484,7 @@ function scaffoldDialect ({dialect, projectType, projectRoot, configs, testFilen
|
|
|
484
484
|
|
|
485
485
|
var dialects = /*#__PURE__*/Object.freeze({
|
|
486
486
|
__proto__: null,
|
|
487
|
-
lift: lifter$
|
|
487
|
+
lift: lifter$4,
|
|
488
488
|
scaffold: scaffoldDialect,
|
|
489
489
|
test: predicate
|
|
490
490
|
});
|
|
@@ -518,7 +518,7 @@ async function readNpmConfig ({projectRoot}) {
|
|
|
518
518
|
return parse(await promises.readFile(pathToConfig, 'utf-8'));
|
|
519
519
|
}
|
|
520
520
|
|
|
521
|
-
async function lifter$
|
|
521
|
+
async function lifter$3 ({projectRoot}) {
|
|
522
522
|
const {
|
|
523
523
|
provenance,
|
|
524
524
|
'engines-strict': enginesStrict,
|
|
@@ -532,7 +532,7 @@ async function lifter$4 ({projectRoot}) {
|
|
|
532
532
|
|
|
533
533
|
var npmConfigPlugin = /*#__PURE__*/Object.freeze({
|
|
534
534
|
__proto__: null,
|
|
535
|
-
lift: lifter$
|
|
535
|
+
lift: lifter$3,
|
|
536
536
|
read: readNpmConfig,
|
|
537
537
|
scaffold: scaffoldNpmConfig,
|
|
538
538
|
test: tester$4,
|
|
@@ -607,7 +607,7 @@ async function liftCorepack () {
|
|
|
607
607
|
await execa('corepack', ['use', 'npm@latest']);
|
|
608
608
|
}
|
|
609
609
|
|
|
610
|
-
async function lifter$
|
|
610
|
+
async function lifter$2 () {
|
|
611
611
|
await liftCorepack();
|
|
612
612
|
|
|
613
613
|
return {};
|
|
@@ -642,7 +642,7 @@ var packageManagers = /*#__PURE__*/Object.freeze({
|
|
|
642
642
|
__proto__: null,
|
|
643
643
|
defineLockfilePath: determineLockfilePathFor,
|
|
644
644
|
determineCurrent: resolvePackageManager,
|
|
645
|
-
lift: lifter$
|
|
645
|
+
lift: lifter$2,
|
|
646
646
|
scaffold: scaffoldPackageManager,
|
|
647
647
|
test: jsPackageManagerIsUsed
|
|
648
648
|
});
|
|
@@ -875,7 +875,7 @@ async function install (dependencies, dependenciesType, projectRoot, packageMana
|
|
|
875
875
|
} else warn(`No ${dependenciesType} dependencies to install`);
|
|
876
876
|
}
|
|
877
877
|
|
|
878
|
-
async function
|
|
878
|
+
async function removeDependencies({packageManager, dependencies}) {
|
|
879
879
|
if (dependencies.length) {
|
|
880
880
|
info('Removing dependencies dependencies', {level: 'secondary'});
|
|
881
881
|
|
|
@@ -883,7 +883,7 @@ async function remove ({packageManager, dependencies}) {
|
|
|
883
883
|
}
|
|
884
884
|
}
|
|
885
885
|
|
|
886
|
-
async function processDependencies
|
|
886
|
+
async function processDependencies({dependencies = {}, devDependencies, projectRoot, packageManager}) {
|
|
887
887
|
info('Processing dependencies');
|
|
888
888
|
|
|
889
889
|
if (Array.isArray(devDependencies)) {
|
|
@@ -901,7 +901,7 @@ async function processDependencies ({dependencies = {}, devDependencies, project
|
|
|
901
901
|
try {
|
|
902
902
|
await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);
|
|
903
903
|
await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);
|
|
904
|
-
await
|
|
904
|
+
await removeDependencies({packageManager, dependencies: dependenciesToRemove});
|
|
905
905
|
} catch (e) {
|
|
906
906
|
error('Failed to update dependencies');
|
|
907
907
|
error(e, {level: 'secondary'});
|
|
@@ -936,13 +936,14 @@ function isPostScriptFor(a, b) {
|
|
|
936
936
|
return isRelatedScript(a, b, 'post');
|
|
937
937
|
}
|
|
938
938
|
|
|
939
|
-
function
|
|
939
|
+
function stripPrefix(script) {
|
|
940
940
|
if (script.startsWith('pre')) return script.slice(3);
|
|
941
941
|
if (script.startsWith('post')) return script.slice(4);
|
|
942
942
|
return script;
|
|
943
943
|
}
|
|
944
944
|
|
|
945
|
-
function getCategoryOrder(
|
|
945
|
+
function getCategoryOrder(script) {
|
|
946
|
+
const base = stripPrefix(script);
|
|
946
947
|
if ('test' === base) return 0;
|
|
947
948
|
if (base.startsWith('lint:')) return 1;
|
|
948
949
|
if (base.startsWith('test:unit')) return 2;
|
|
@@ -958,14 +959,14 @@ function compareScriptNames(a, b) {
|
|
|
958
959
|
if (isPostScriptFor(a, b)) return 1;
|
|
959
960
|
if (isPostScriptFor(b, a)) return -1;
|
|
960
961
|
|
|
961
|
-
const
|
|
962
|
-
const bBase = getBaseScriptOf(b);
|
|
963
|
-
|
|
964
|
-
const categoryDiff = getCategoryOrder(aBase) - getCategoryOrder(bBase);
|
|
962
|
+
const categoryDiff = getCategoryOrder(a) - getCategoryOrder(b);
|
|
965
963
|
if (0 !== categoryDiff) return 0 > categoryDiff ? -1 : 1;
|
|
966
964
|
|
|
967
|
-
const
|
|
968
|
-
const
|
|
965
|
+
const aStripped = stripPrefix(a);
|
|
966
|
+
const bStripped = stripPrefix(b);
|
|
967
|
+
|
|
968
|
+
const aKey = aStripped.startsWith(`${b}:`) ? aStripped : a;
|
|
969
|
+
const bKey = bStripped.startsWith(`${a}:`) ? bStripped : b;
|
|
969
970
|
|
|
970
971
|
return aKey.localeCompare(bKey);
|
|
971
972
|
}
|
|
@@ -986,7 +987,7 @@ function liftScripts({existingScripts, scripts}) {
|
|
|
986
987
|
};
|
|
987
988
|
}
|
|
988
989
|
|
|
989
|
-
async function
|
|
990
|
+
async function liftPackageJson({
|
|
990
991
|
projectRoot,
|
|
991
992
|
scripts,
|
|
992
993
|
tags,
|
|
@@ -1024,37 +1025,6 @@ async function liftPackage$1 ({
|
|
|
1024
1025
|
});
|
|
1025
1026
|
}
|
|
1026
1027
|
|
|
1027
|
-
function getInstallationCommand(packageManager) {
|
|
1028
|
-
if (packageManagers$1.NPM === packageManager) return 'npm install';
|
|
1029
|
-
if (packageManagers$1.YARN === packageManager) return 'yarn add';
|
|
1030
|
-
|
|
1031
|
-
throw new Error(
|
|
1032
|
-
`The ${packageManager} package manager is currently not supported. `
|
|
1033
|
-
+ `Only ${Object.values(packageManagers$1).join(' and ')} are currently supported.`
|
|
1034
|
-
);
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
function scaffoldPackageDocumentation ({scope, packageName, packageManager, visibility, provideExample}) {
|
|
1038
|
-
return {
|
|
1039
|
-
usage: `### Installation
|
|
1040
|
-
${'Private' === visibility ? `
|
|
1041
|
-
:warning: this is a private package, so you will need to use an npm token with
|
|
1042
|
-
access to private packages under \`@${scope}\`
|
|
1043
|
-
` : ''
|
|
1044
|
-
}
|
|
1045
|
-
\`\`\`sh
|
|
1046
|
-
$ ${getInstallationCommand(packageManager)} ${packageName}
|
|
1047
|
-
\`\`\`${provideExample
|
|
1048
|
-
? `
|
|
1049
|
-
|
|
1050
|
-
### Example
|
|
1051
|
-
|
|
1052
|
-
run \`${buildDocumentationCommand(packageManager)}\` to inject the usage example`
|
|
1053
|
-
: ''
|
|
1054
|
-
}`
|
|
1055
|
-
};
|
|
1056
|
-
}
|
|
1057
|
-
|
|
1058
1028
|
function determinePackageAccessLevelFromProjectVisibility ({projectVisibility}) {
|
|
1059
1029
|
return 'Public' === projectVisibility ? 'public' : 'restricted';
|
|
1060
1030
|
}
|
|
@@ -1125,6 +1095,37 @@ async function scaffoldPublishable ({packageName, packageAccessLevel}) {
|
|
|
1125
1095
|
};
|
|
1126
1096
|
}
|
|
1127
1097
|
|
|
1098
|
+
function getInstallationCommand(packageManager) {
|
|
1099
|
+
if (packageManagers$1.NPM === packageManager) return 'npm install';
|
|
1100
|
+
if (packageManagers$1.YARN === packageManager) return 'yarn add';
|
|
1101
|
+
|
|
1102
|
+
throw new Error(
|
|
1103
|
+
`The ${packageManager} package manager is currently not supported. `
|
|
1104
|
+
+ `Only ${Object.values(packageManagers$1).join(' and ')} are currently supported.`
|
|
1105
|
+
);
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
function scaffoldPackageDocumentation ({scope, packageName, packageManager, visibility, provideExample}) {
|
|
1109
|
+
return {
|
|
1110
|
+
usage: `### Installation
|
|
1111
|
+
${'Private' === visibility ? `
|
|
1112
|
+
:warning: this is a private package, so you will need to use an npm token with
|
|
1113
|
+
access to private packages under \`@${scope}\`
|
|
1114
|
+
` : ''
|
|
1115
|
+
}
|
|
1116
|
+
\`\`\`sh
|
|
1117
|
+
$ ${getInstallationCommand(packageManager)} ${packageName}
|
|
1118
|
+
\`\`\`${provideExample
|
|
1119
|
+
? `
|
|
1120
|
+
|
|
1121
|
+
### Example
|
|
1122
|
+
|
|
1123
|
+
run \`${buildDocumentationCommand(packageManager)}\` to inject the usage example`
|
|
1124
|
+
: ''
|
|
1125
|
+
}`
|
|
1126
|
+
};
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1128
1129
|
async function chooseBundler ({bundlers, decisions}) {
|
|
1129
1130
|
if (!Object.keys(bundlers).length) return 'Other';
|
|
1130
1131
|
|
|
@@ -1164,8 +1165,6 @@ async function buildDetailsForCommonJsProject({projectRoot, provideExample}) {
|
|
|
1164
1165
|
async function buildDetails({
|
|
1165
1166
|
projectRoot,
|
|
1166
1167
|
projectName,
|
|
1167
|
-
visibility,
|
|
1168
|
-
packageName,
|
|
1169
1168
|
packageBundlers,
|
|
1170
1169
|
dialect,
|
|
1171
1170
|
provideExample,
|
|
@@ -1192,23 +1191,12 @@ async function buildDetails({
|
|
|
1192
1191
|
...provideExample && {'pregenerate:md': 'run-s build'}
|
|
1193
1192
|
},
|
|
1194
1193
|
vcsIgnore: {directories: [`/${defaultBuildDirectory$2}/`]},
|
|
1195
|
-
buildDirectory: defaultBuildDirectory$2
|
|
1196
|
-
badges: {
|
|
1197
|
-
consumer: {
|
|
1198
|
-
...'Public' === visibility && {
|
|
1199
|
-
runkit: {
|
|
1200
|
-
img: `https://badge.runkitcdn.com/${packageName}.svg`,
|
|
1201
|
-
text: `Try ${packageName} on RunKit`,
|
|
1202
|
-
link: `https://npm.runkit.com/${packageName}`
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1194
|
+
buildDirectory: defaultBuildDirectory$2
|
|
1207
1195
|
}
|
|
1208
1196
|
);
|
|
1209
1197
|
}
|
|
1210
1198
|
|
|
1211
|
-
async function
|
|
1199
|
+
async function scaffoldPackageProjectType({
|
|
1212
1200
|
projectRoot,
|
|
1213
1201
|
projectName,
|
|
1214
1202
|
packageName,
|
|
@@ -1229,8 +1217,6 @@ async function scaffoldPackageType ({
|
|
|
1229
1217
|
projectRoot,
|
|
1230
1218
|
projectName,
|
|
1231
1219
|
packageBundlers,
|
|
1232
|
-
visibility,
|
|
1233
|
-
packageName,
|
|
1234
1220
|
dialect,
|
|
1235
1221
|
provideExample,
|
|
1236
1222
|
decisions
|
|
@@ -1245,7 +1231,6 @@ async function scaffoldPackageType ({
|
|
|
1245
1231
|
...publishRegistry && {registry: publishRegistry}
|
|
1246
1232
|
},
|
|
1247
1233
|
sideEffects: false,
|
|
1248
|
-
...'Public' === visibility && {runkitExampleFilename: './example.js'},
|
|
1249
1234
|
...dialects$1.BABEL === dialect && {
|
|
1250
1235
|
main: './lib/index.js',
|
|
1251
1236
|
module: './lib/index.mjs',
|
|
@@ -1405,7 +1390,7 @@ async function scaffoldProjectType ({
|
|
|
1405
1390
|
}) {
|
|
1406
1391
|
switch (projectType) {
|
|
1407
1392
|
case projectTypes$1.PACKAGE:
|
|
1408
|
-
return
|
|
1393
|
+
return scaffoldPackageProjectType({
|
|
1409
1394
|
projectRoot,
|
|
1410
1395
|
projectName,
|
|
1411
1396
|
packageName,
|
|
@@ -1449,7 +1434,7 @@ function vcsRepositoryHostedOnGithub(vcs) {
|
|
|
1449
1434
|
return vcs && 'github' === vcs.host;
|
|
1450
1435
|
}
|
|
1451
1436
|
|
|
1452
|
-
async function
|
|
1437
|
+
async function liftProjectType({projectRoot, packageDetails, vcs}) {
|
|
1453
1438
|
if (await isPackage({packageDetails})) return liftPackage({projectRoot, packageDetails});
|
|
1454
1439
|
if (await isCli({packageDetails})) return liftCli({projectRoot, packageDetails});
|
|
1455
1440
|
|
|
@@ -1466,7 +1451,7 @@ async function lifter$2 ({projectRoot, packageDetails, vcs}) {
|
|
|
1466
1451
|
|
|
1467
1452
|
var projectTypes = /*#__PURE__*/Object.freeze({
|
|
1468
1453
|
__proto__: null,
|
|
1469
|
-
lift:
|
|
1454
|
+
lift: liftProjectType,
|
|
1470
1455
|
scaffold: scaffoldProjectType,
|
|
1471
1456
|
test: tester$3
|
|
1472
1457
|
});
|
|
@@ -1925,7 +1910,7 @@ async function lift ({projectRoot, vcs, results, pathWithinParent, enhancers = {
|
|
|
1925
1910
|
options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents), configs}
|
|
1926
1911
|
});
|
|
1927
1912
|
|
|
1928
|
-
await
|
|
1913
|
+
await liftPackageJson(deepmerge.all([{projectRoot, packageManager, vcs, pathWithinParent}, enhancerResults]));
|
|
1929
1914
|
|
|
1930
1915
|
return enhancerResults;
|
|
1931
1916
|
}
|
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/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/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/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/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/package-managers/npm/scaffolder.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/scaffolder.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/scaffolder.js","../src/package-managers/current-manager-resolver.js","../src/documentation/generation-command.js","../src/documentation/scaffolder.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.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/remover.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/script-comparator.js","../src/package/scripts/scripts-sorter.js","../src/package/scripts/lifter.js","../src/package/lifter.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/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/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/lockfile-lint/tester.js","../src/lockfile-lint/config.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/scaffolder/scaffolder.js","../src/registries/tester.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/lift/enhancers/engines.js","../src/lift/lift.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 dependencies: {javascript: {development: ['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 {promises as fs} from 'node:fs';\n\nexport default async function ({projectRoot}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true})\n ]);\n\n return {\n dependencies: {\n javascript: {\n remove: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']\n }\n }\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, nycResults] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot})\n ]);\n\n return deepmerge.all([\n c8Results,\n nycResults,\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","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({registries: {}}),\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 'execa';\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 {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 {fileTypes, loadConfigFile} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return loadConfigFile({path: projectRoot, name: '.babelrc', format: fileTypes.JSON});\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({projectRoot});\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 dependencies: {javascript: {development: ['@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 dependencies: {javascript: {development: ['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 {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","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('npm', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `npm@${stdout}`\n }\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, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.NPM === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('yarn', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `yarn@${stdout}`\n }\n });\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, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.YARN === packageManager\n || 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 'execa';\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 {scaffold as scaffoldNpm} from './npm/index.js';\nimport {scaffold as scaffoldYarn} from './yarn/index.js';\n\nconst scaffolders = {\n npm: scaffoldNpm,\n yarn: scaffoldYarn\n};\n\nexport default function ({projectRoot, packageManager}) {\n return scaffolders[packageManager]({projectRoot});\n}\n","import {promises as fs} from 'node:fs';\nimport {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 const {packageManager: pinnedPackageManager} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n if (await npmIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\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 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 {info} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\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 {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 sortObjectKeys from 'sort-object-keys';\n\nexport default function sortProperties(packageContents) {\n return sortObjectKeys(\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 'execa';\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 {execa} from 'execa';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({packageManager, dependencies}) {\n if (dependencies.length) {\n info('Removing dependencies dependencies', {level: 'secondary'});\n\n await execa(packageManager, ['remove', ...dependencies]);\n }\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';\nimport remove from './remover.js';\n\nexport default async function ({dependencies = {}, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n if (Array.isArray(devDependencies)) {\n throw new Error(\n `devDependencies provided as: ${devDependencies}. Instead, provide under dependencies.javascript.development`\n );\n }\n\n if (Array.isArray(dependencies)) {\n throw new Error(`Expected dependencies to be an object. Instead received: ${dependencies}`);\n }\n\n const {javascript: {production = [], development = [], remove: dependenciesToRemove = []} = {}} = dependencies;\n\n try {\n await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n await remove({packageManager, dependencies: dependenciesToRemove});\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 updateTestScript(scripts) {\n return {\n ...scripts,\n ...projectShouldBeBuiltForVerification(scripts) && {pretest: 'run-s build'},\n test: `npm-run-all --print-label --parallel lint:*${projectWillBeTested(scripts) ? ' --parallel test:*' : ''}`\n };\n}\n","function isRelatedScript(a, b, prefix) {\n return a.startsWith(prefix) && a.slice(prefix.length) === b;\n}\n\nfunction isPreScriptFor(a, b) {\n return isRelatedScript(a, b, 'pre');\n}\n\nfunction isPostScriptFor(a, b) {\n return isRelatedScript(a, b, 'post');\n}\n\nfunction getBaseScriptOf(script) {\n if (script.startsWith('pre')) return script.slice(3);\n if (script.startsWith('post')) return script.slice(4);\n return script;\n}\n\nfunction getCategoryOrder(base) {\n if ('test' === base) return 0;\n if (base.startsWith('lint:')) return 1;\n if (base.startsWith('test:unit')) return 2;\n if (base.startsWith('test:integration')) return 3;\n if (base.startsWith('test:')) return 2;\n\n return 4;\n}\n\nexport default function compareScriptNames(a, b) {\n if (isPreScriptFor(a, b)) return -1;\n if (isPreScriptFor(b, a)) return 1;\n if (isPostScriptFor(a, b)) return 1;\n if (isPostScriptFor(b, a)) return -1;\n\n const aBase = getBaseScriptOf(a);\n const bBase = getBaseScriptOf(b);\n\n const categoryDiff = getCategoryOrder(aBase) - getCategoryOrder(bBase);\n if (0 !== categoryDiff) return 0 > categoryDiff ? -1 : 1;\n\n const aKey = bBase === aBase || b === aBase || aBase.startsWith(`${b}:`) ? aBase : a;\n const bKey = aBase === bBase || a === bBase || bBase.startsWith(`${a}:`) ? bBase : b;\n\n return aKey.localeCompare(bKey);\n}\n","import sortObjectKeys from 'sort-object-keys';\n\nimport compareScriptNames from './script-comparator.js';\n\nexport default function sortScripts(scripts) {\n return sortObjectKeys(scripts, compareScriptNames);\n}\n","import updateTestScript from './test-script-updater.js';\nimport sortScripts from './scripts-sorter.js';\n\nexport default function liftScripts({existingScripts, scripts}) {\n return {\n scripts: sortScripts(updateTestScript({...existingScripts, ...scripts})),\n dependencies: {\n javascript: {\n development: ['npm-run-all2'],\n remove: ['npm-run-all']\n }\n }\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\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 const {scripts: liftedScripts, dependencies: scriptDependencies} = liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n });\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftedScripts,\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({\n dependencies: deepmerge(dependencies, scriptDependencies),\n devDependencies,\n projectRoot,\n packageManager\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 liftPublishable({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 dependencies: {javascript: {development: ['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 {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport touch from 'touch';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\n\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot) {\n return fs.writeFile(`${projectRoot}/example.js`, \"import {} from './lib/index.js';\\n\");\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, \"const {} = require('.');\\n\")\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function buildDetails({\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, provideExample});\n\n await fs.mkdir(`${projectRoot}/src`, {recursive: true});\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(`${projectRoot}/src/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n dependencies: {javascript: {development: ['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/', 'src/']],\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 liftPackage({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin, private: projectMarkedPrivate}}) {\n return !projectMarkedPrivate && (!!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: {javascript: {development: ['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 scaffoldCli({\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}/`, 'src/'],\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: {javascript: {production: ['update-notifier'], development: ['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 liftCli({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 {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(\n {dependencies: {javascript: {development: [...(unit || integration) ? ['@travi/any'] : []]}}, eslint: {}},\n unitResults\n );\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 {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 dependencies: {javascript: {development: ['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 {fileTypes, loadConfigFile} from '@form8ion/core';\nimport {write as writeConfig} from '@form8ion/config-file';\n\nconst configName = 'lockfile-lint';\n\nexport function read({projectRoot}) {\n return loadConfigFile({name: `.${configName}rc`, format: fileTypes.JSON, path: projectRoot});\n}\n\nexport function write({projectRoot, config}) {\n return writeConfig({name: configName, format: fileTypes.JSON, path: projectRoot, config});\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 {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 dependencies: {javascript: {development: [config, 'remark-cli', 'remark-toc']}},\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {dependencies: {javascript: {development: ['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 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 {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 {scaffold as scaffoldPackageManager} from '../package-managers/index.js';\nimport scaffoldDocumentation from '../documentation/index.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 scaffoldPackageManager({projectRoot, packageManager})\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 return {\n ...mergedContributions,\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`\n };\n}\n","export default function () {\n return true;\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({projectRoot}),\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 {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 dependencies: {javascript: {development: ['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 {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 [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: results.packageManager}),\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(deepmerge.all([{projectRoot, packageManager, vcs, pathWithinParent}, enhancerResults]));\n\n return enhancerResults;\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","dialects","projectTypes","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","packageManagers","validateScope","commonQuestions","writeConfig","read","determineLockfilePath","buildGenerationCommand","install","installNodeVersion","sortPackageProperties","scaffoldChosenBundler","defaultBuildDirectory","exports","scaffoldCliType","scaffoldHusky","scaffoldEslint","scaffoldPrettier","testForEslint","scaffoldCommitConvention","writeLockfileLintConfig","readLockfileLintConfig","liftPackage","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/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/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/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/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/package-managers/npm/scaffolder.js","../src/package-managers/lockfile-path-resolver.js","../src/package-managers/npm/tester.js","../src/package-managers/yarn/scaffolder.js","../src/package-managers/yarn/tester.js","../src/package-managers/tester.js","../src/corepack/lifter.js","../src/package-managers/lifter.js","../src/package-managers/scaffolder.js","../src/package-managers/current-manager-resolver.js","../src/documentation/generation-command.js","../src/documentation/scaffolder.js","../src/node-version/tasks.js","../src/node-version/scaffolder.js","../src/node-version/tester.js","../src/vcs/ignore-lists-builder.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/remover.js","../src/dependencies/processor.js","../src/package/scripts/test-script-updater.js","../src/package/scripts/script-comparator.js","../src/package/scripts/scripts-sorter.js","../src/package/scripts/lifter.js","../src/package/lifter.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/package/documentation.js","../src/project-type/publishable/bundler/prompt.js","../src/project-type/publishable/bundler/scaffolder.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/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/lockfile-lint/tester.js","../src/lockfile-lint/config.js","../src/linting/scaffolder.js","../src/scaffolder/verification/verifier.js","../src/code-style/remark/scaffolder.js","../src/code-style/scaffolder.js","../src/code-style/lifter.js","../src/code-style/tester.js","../src/scaffolder/scaffolder.js","../src/registries/tester.js","../src/registries/npm-config/list-builder.js","../src/registries/lifter.js","../src/lift/enhancers/engines.js","../src/lift/lift.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 dependencies: {javascript: {development: ['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 {promises as fs} from 'node:fs';\n\nexport default async function ({projectRoot}) {\n await Promise.all([\n fs.unlink(`${projectRoot}/.nycrc`),\n fs.rm(`${projectRoot}/.nyc_output`, {recursive: true, force: true})\n ]);\n\n return {\n dependencies: {\n javascript: {\n remove: ['nyc', '@istanbuljs/nyc-config-babel', 'babel-plugin-istanbul']\n }\n }\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, nycResults] = await Promise.all([\n scaffoldC8({projectRoot}),\n removeNyc({projectRoot})\n ]);\n\n return deepmerge.all([\n c8Results,\n nycResults,\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","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({registries: {}}),\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 'execa';\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 {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 {fileTypes, loadConfigFile} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return loadConfigFile({path: projectRoot, name: '.babelrc', format: fileTypes.JSON});\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({projectRoot});\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 dependencies: {javascript: {development: ['@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 dependencies: {javascript: {development: ['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 {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","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('npm', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `npm@${stdout}`\n }\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, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.NPM === packageManager\n || fileExists(`${projectRoot}/${determineLockfilePath(packageManagers.NPM)}`);\n}\n","import {promises as fs} from 'node:fs';\nimport {execa} from 'execa';\nimport {writePackageJson} from '@form8ion/javascript-core';\n\nexport default async function ({projectRoot}) {\n const [packageContents, {stdout}] = await Promise.all([\n fs.readFile(`${projectRoot}/package.json`, 'utf-8'),\n execa('yarn', ['--version'])\n ]);\n const existingPackageJsonContents = JSON.parse(packageContents);\n\n await writePackageJson({\n projectRoot,\n config: {\n ...existingPackageJsonContents,\n packageManager: `yarn@${stdout}`\n }\n });\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, pinnedPackageManager = ''}) {\n const [packageManager] = pinnedPackageManager.split('@');\n\n return packageManagers.YARN === packageManager\n || 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 'execa';\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 {scaffold as scaffoldNpm} from './npm/index.js';\nimport {scaffold as scaffoldYarn} from './yarn/index.js';\n\nconst scaffolders = {\n npm: scaffoldNpm,\n yarn: scaffoldYarn\n};\n\nexport default function ({projectRoot, packageManager}) {\n return scaffolders[packageManager]({projectRoot});\n}\n","import {promises as fs} from 'node:fs';\nimport {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 const {packageManager: pinnedPackageManager} = JSON.parse(await fs.readFile(`${projectRoot}/package.json`, 'utf-8'));\n\n if (await npmIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.NPM;\n }\n\n if (await yarnIsUsed({projectRoot, pinnedPackageManager})) {\n return packageManagers.YARN;\n }\n\n throw new Error('Package-manager could not be determined');\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 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 {info} from '@travi/cli-messages';\n\nimport {execa} from 'execa';\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 {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 sortObjectKeys from 'sort-object-keys';\n\nexport default function sortProperties(packageContents) {\n return sortObjectKeys(\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 'execa';\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 {execa} from 'execa';\nimport {info} from '@travi/cli-messages';\n\nexport default async function removeDependencies({packageManager, dependencies}) {\n if (dependencies.length) {\n info('Removing dependencies dependencies', {level: 'secondary'});\n\n await execa(packageManager, ['remove', ...dependencies]);\n }\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';\nimport remove from './remover.js';\n\nexport default async function processDependencies({dependencies = {}, devDependencies, projectRoot, packageManager}) {\n info('Processing dependencies');\n\n if (Array.isArray(devDependencies)) {\n throw new Error(\n `devDependencies provided as: ${devDependencies}. Instead, provide under dependencies.javascript.development`\n );\n }\n\n if (Array.isArray(dependencies)) {\n throw new Error(`Expected dependencies to be an object. Instead received: ${dependencies}`);\n }\n\n const {javascript: {production = [], development = [], remove: dependenciesToRemove = []} = {}} = dependencies;\n\n try {\n await install(production, PROD_DEPENDENCY_TYPE, projectRoot, packageManager);\n await install(development, DEV_DEPENDENCY_TYPE, projectRoot, packageManager);\n await remove({packageManager, dependencies: dependenciesToRemove});\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 updateTestScript(scripts) {\n return {\n ...scripts,\n ...projectShouldBeBuiltForVerification(scripts) && {pretest: 'run-s build'},\n test: `npm-run-all --print-label --parallel lint:*${projectWillBeTested(scripts) ? ' --parallel test:*' : ''}`\n };\n}\n","function isRelatedScript(a, b, prefix) {\n return a.startsWith(prefix) && a.slice(prefix.length) === b;\n}\n\nfunction isPreScriptFor(a, b) {\n return isRelatedScript(a, b, 'pre');\n}\n\nfunction isPostScriptFor(a, b) {\n return isRelatedScript(a, b, 'post');\n}\n\nfunction stripPrefix(script) {\n if (script.startsWith('pre')) return script.slice(3);\n if (script.startsWith('post')) return script.slice(4);\n return script;\n}\n\nfunction getCategoryOrder(script) {\n const base = stripPrefix(script);\n if ('test' === base) return 0;\n if (base.startsWith('lint:')) return 1;\n if (base.startsWith('test:unit')) return 2;\n if (base.startsWith('test:integration')) return 3;\n if (base.startsWith('test:')) return 2;\n\n return 4;\n}\n\nexport default function compareScriptNames(a, b) {\n if (isPreScriptFor(a, b)) return -1;\n if (isPreScriptFor(b, a)) return 1;\n if (isPostScriptFor(a, b)) return 1;\n if (isPostScriptFor(b, a)) return -1;\n\n const categoryDiff = getCategoryOrder(a) - getCategoryOrder(b);\n if (0 !== categoryDiff) return 0 > categoryDiff ? -1 : 1;\n\n const aStripped = stripPrefix(a);\n const bStripped = stripPrefix(b);\n\n const aKey = aStripped.startsWith(`${b}:`) ? aStripped : a;\n const bKey = bStripped.startsWith(`${a}:`) ? bStripped : b;\n\n return aKey.localeCompare(bKey);\n}\n","import sortObjectKeys from 'sort-object-keys';\n\nimport compareScriptNames from './script-comparator.js';\n\nexport default function sortScripts(scripts) {\n return sortObjectKeys(scripts, compareScriptNames);\n}\n","import updateTestScript from './test-script-updater.js';\nimport sortScripts from './scripts-sorter.js';\n\nexport default function liftScripts({existingScripts, scripts}) {\n return {\n scripts: sortScripts(updateTestScript({...existingScripts, ...scripts})),\n dependencies: {\n javascript: {\n development: ['npm-run-all2'],\n remove: ['npm-run-all']\n }\n }\n };\n}\n","import {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\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 liftPackageJson({\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 const {scripts: liftedScripts, dependencies: scriptDependencies} = liftScripts({\n existingScripts: existingPackageJsonContents.scripts,\n scripts\n });\n\n await writePackageJson({\n projectRoot,\n config: sortPackageProperties({\n ...existingPackageJsonContents,\n ...defineVcsHostDetails(vcs, pathWithinParent),\n scripts: liftedScripts,\n ...tags && {\n keywords: existingPackageJsonContents.keywords ? [...existingPackageJsonContents.keywords, ...tags] : tags\n }\n })\n });\n\n await processDependencies({\n dependencies: deepmerge(dependencies, scriptDependencies),\n devDependencies,\n projectRoot,\n packageManager\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 liftPublishable({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 dependencies: {javascript: {development: ['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 {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","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 {promises as fs} from 'node:fs';\nimport deepmerge from 'deepmerge';\nimport touch from 'touch';\nimport {dialects, projectTypes} from '@form8ion/javascript-core';\nimport {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';\n\nconst defaultBuildDirectory = 'lib';\n\nasync function createExample(projectRoot) {\n return fs.writeFile(`${projectRoot}/example.js`, \"import {} from './lib/index.js';\\n\");\n}\n\nasync function buildDetailsForCommonJsProject({projectRoot, provideExample}) {\n await Promise.all([\n touch(`${projectRoot}/index.js`),\n provideExample\n ? fs.writeFile(`${projectRoot}/example.js`, \"const {} = require('.');\\n\")\n : Promise.resolve()\n ]);\n\n return {};\n}\n\nexport default async function buildDetails({\n projectRoot,\n projectName,\n packageBundlers,\n dialect,\n provideExample,\n decisions\n}) {\n if (dialects.COMMON_JS === dialect) return buildDetailsForCommonJsProject({projectRoot, provideExample});\n\n await fs.mkdir(`${projectRoot}/src`, {recursive: true});\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(`${projectRoot}/src/index.js`)\n ]);\n\n return deepmerge(\n bundlerResults,\n {\n dependencies: {javascript: {development: ['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 }\n );\n}\n","import deepmerge from 'deepmerge';\nimport {info} from '@travi/cli-messages';\nimport {dialects, mergeIntoExistingPackageJson} from '@form8ion/javascript-core';\n\nimport determinePackageAccessLevelFromProjectVisibility from '../publishable/access-level.js';\nimport {scaffold as scaffoldPublishable} from '../publishable/index.js';\nimport scaffoldPackageDocumentation from './documentation.js';\nimport buildDetails from './build-details.js';\n\nexport default async function scaffoldPackageProjectType({\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 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/', 'src/']],\n publishConfig: {\n access: packageAccessLevel,\n ...publishRegistry && {registry: publishRegistry}\n },\n sideEffects: false,\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 liftPackage({projectRoot, packageDetails}) {\n return liftPublishable({projectRoot, packageDetails});\n}\n","export default async function ({packageDetails: {exports, publishConfig, bin, private: projectMarkedPrivate}}) {\n return !projectMarkedPrivate && (!!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: {javascript: {development: ['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 scaffoldCli({\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}/`, 'src/'],\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: {javascript: {production: ['update-notifier'], development: ['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 liftCli({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 liftProjectType({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 {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(\n {dependencies: {javascript: {development: [...(unit || integration) ? ['@travi/any'] : []]}}, eslint: {}},\n unitResults\n );\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 {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 dependencies: {javascript: {development: ['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 {fileTypes, loadConfigFile} from '@form8ion/core';\nimport {write as writeConfig} from '@form8ion/config-file';\n\nconst configName = 'lockfile-lint';\n\nexport function read({projectRoot}) {\n return loadConfigFile({name: `.${configName}rc`, format: fileTypes.JSON, path: projectRoot});\n}\n\nexport function write({projectRoot, config}) {\n return writeConfig({name: configName, format: fileTypes.JSON, path: projectRoot, config});\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 {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 dependencies: {javascript: {development: [config, 'remark-cli', 'remark-toc']}},\n scripts: {\n 'lint:md': 'remark . --frail',\n 'generate:md': 'remark . --output'\n }\n },\n {...projectTypes.PACKAGE === projectType && {dependencies: {javascript: {development: ['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 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 {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 {scaffold as scaffoldPackageManager} from '../package-managers/index.js';\nimport scaffoldDocumentation from '../documentation/index.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 scaffoldPackageManager({projectRoot, packageManager})\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 return {\n ...mergedContributions,\n documentation: scaffoldDocumentation({projectTypeResults, packageManager}),\n tags: projectTypeResults.tags,\n vcsIgnore: buildVcsIgnoreLists(mergedContributions.vcsIgnore),\n verificationCommand: `${buildDocumentationCommand(packageManager)} && ${packageManager} test`\n };\n}\n","export default function () {\n return true;\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({projectRoot}),\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 {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 dependencies: {javascript: {development: ['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 {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 [packageManager, packageContents] = await Promise.all([\n resolvePackageManager({projectRoot, packageManager: results.packageManager}),\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(deepmerge.all([{projectRoot, packageManager, vcs, pathWithinParent}, enhancerResults]));\n\n return enhancerResults;\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","dialects","projectTypes","commonQuestionNames","npmConf","npmConfFactory","scope","promptWithInquirer","packageManagers","validateScope","commonQuestions","writeConfig","read","determineLockfilePath","buildGenerationCommand","install","installNodeVersion","remove","sortPackageProperties","scaffoldChosenBundler","defaultBuildDirectory","exports","scaffoldPackageType","scaffoldCliType","scaffoldHusky","scaffoldEslint","scaffoldPrettier","testForEslint","scaffoldCommitConvention","writeLockfileLintConfig","readLockfileLintConfig","liftPackage","languageScaffolderPromptsQuestionNames","jsScaffolderQuestionNames"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,eAAa,GAAG;AAC7B,EAAE,mBAAmB,EAAE,mBAAmB;AAC1C,EAAE,qBAAqB,EAAE,qBAAqB;AAC9C,EAAE,eAAe,EAAE,gBAAgB;AACnC,EAAE,eAAe,EAAE,gBAAgB;AACnC,EAAE,YAAY,EAAE,aAAa;AAC7B,EAAE,mBAAmB,EAAE,mBAAmB;AAC1C,EAAE,gBAAgB,EAAE,gBAAgB;AACpC,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,WAAW,EAAE,YAAY;AAC3B,EAAE,YAAY,EAAE,aAAa;AAC7B,EAAE,UAAU,EAAE,WAAW;AACzB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,iBAAiB,EAAE,eAAe;AACpC,EAAE,eAAe,EAAE,gBAAgB;AACnC,EAAE,OAAO,EAAE;AACX,CAAC;;ACbc,yBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAMC,OAAK,CAAC;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAE,SAAS,CAAC,IAAI;AAC1B,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC;AAChD,MAAM,OAAO,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS;AAC9E;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC;AACvD,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC;AAClD,GAAG;AACH;;ACde,+BAAc,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE;AACjF,EAAE,OAAO,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,MAAMC,QAAe,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC/G;;ACLe,wBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5C;;ACFe,wBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;AACpB,IAAIC,QAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACtC,IAAIA,QAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AACtE,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,YAAY,EAAE;AAClB,MAAM,UAAU,EAAE;AAClB,QAAQ,MAAM,EAAE,CAAC,KAAK,EAAE,8BAA8B,EAAE,uBAAuB;AAC/E;AACA;AACA,GAAG;AACH;;ACTO,eAAeC,MAAI,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE;AAC/D,EAAE,MAAM,cAAc,GAAG,MAAMC,MAAW,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;;AAE9E,EAAE,IAAI,MAAM,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;AAC5C,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACtD,MAAM,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;AAC/B,MAAM,SAAS,CAAC,CAAC,WAAW,CAAC;AAC7B,KAAK,CAAC;;AAEN,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC;AACzB,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,cAAc;AACpB,MAAM;AACN,QAAQ,OAAO,EAAE,CAAC,WAAW,EAAE,iDAAiD,CAAC;AACjF,QAAQ,SAAS,EAAE,CAAC;AACpB,UAAU,OAAO,EAAE;AACnB,cAAc;AACd,SAAS;AACT;AACA,KAAK,CAAC;AACN,EAAE;;AAEF,EAAE,OAAO,cAAc;AACvB;;AC5Be,uBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;AAChD;;ACDe,uBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAElH,EAAE,OAAO,QAAQ,IAAI,SAAS;AAC9B;;;;;;;;;ACJe,8BAAc,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;AACxD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,OAAO;;AAErD,EAAE,MAAM,OAAO,GAAG,MAAMC,QAAM,CAAC,CAAC;AAChC,IAAI,IAAI,EAAEN,eAAa,CAAC,mBAAmB;AAC3C,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,sDAAsD;AACnE,IAAI,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO;AACjD,GAAG,CAAC,EAAE,SAAS,CAAC;;AAEhB,EAAE,OAAO,OAAO,CAACA,eAAa,CAAC,mBAAmB,CAAC;AACnD;;ACXO,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;;ACKlF,kCAAc,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;AACjH,EAAE,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC;AACxE,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClD,IAAI,eAAe,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,SAAS,CAAC;AAChE,OAAO,IAAI,CAAC,eAAe,IAAIO,cAAuB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AACrH,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC;AACrE,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;AACvB,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;AAC/E,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,CAAC;AACJ;;ACnBO,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;;AAE5G,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC;AAChD,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACtC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;AAC7B,CAAC,CAAC;;AAEK,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;;AAE3F,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;;AAE3E,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;;ACXlF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;AACpC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC/B,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAChC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ;AAC7B,CAAC,CAAC;;ACOK,SAAS,QAAQ,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AAC5B,IAAI,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACxC,IAAI,WAAW,EAAE,iBAAiB;AAClC,IAAI,UAAU,EAAE,gBAAgB;AAChC,IAAI,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACpC,IAAI,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;AAC7B,IAAI,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;AAClC,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;AAC3B,IAAI,GAAG,EAAE,SAAS;AAClB,IAAI,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;AACxB,MAAM,MAAM,EAAE,sBAAsB;AACpC,MAAM,UAAU,EAAE,sBAAsB;AACxC,MAAM,QAAQ,EAAE,sBAAsB;AACtC,MAAM,UAAU,EAAE,qBAAqB;AACvC,MAAM,WAAW,EAAE,qBAAqB;AACxC,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;AAC1B,MAAM,UAAU,EAAE;AAClB,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAChC,IAAI,OAAO,EAAE;AACb,MAAM,kBAAkB,EAAE,aAAa;AACvC,MAAM,eAAe,EAAE,aAAa;AACpC,MAAM,gBAAgB,EAAE,aAAa;AACrC,MAAM,YAAY,EAAE,aAAa;AACjC,MAAM,aAAa,EAAE,aAAa;AAClC,MAAM,KAAK,EAAE,aAAa;AAC1B,MAAM,UAAU,EAAE;AAClB;AACA,GAAG,CAAC,CAAC,QAAQ,EAAE;;AAEf,EAAE,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;AACzC;;AC1Ce,4BAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;AACpD,EAAE,OAAO;AACT,IAAI,CAAC,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAEC,UAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;AACnF,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAEA,UAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE;AAC5G,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAEA,UAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5E,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAEA,UAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG;AACtF,GAAG;AACH;;ACJA,SAAS,YAAY,CAAC,OAAO,EAAE;AAC/B,EAAE,OAAOC,cAAY,CAAC,GAAG,KAAK,OAAO,CAACT,eAAa,CAAC,YAAY,CAAC;AACjE;;AAEO,SAAS,gBAAgB,CAAC,OAAO,EAAE;AAC1C,EAAE,OAAOS,cAAY,CAAC,OAAO,KAAK,OAAO,CAACT,eAAa,CAAC,YAAY,CAAC;AACrE;;AAEO,SAAS,oBAAoB,CAAC,OAAO,EAAE;AAC9C,EAAE,OAAOS,cAAY,CAAC,WAAW,KAAK,OAAO,CAACT,eAAa,CAAC,YAAY,CAAC;AACzE;;AAEA,SAAS,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE;AACpD,EAAE,OAAO,SAAS,KAAK,UAAU,IAAI,OAAO,CAACA,eAAa,CAAC,gBAAgB,CAAC;AAC5E;;AAEA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;AAC3D;;AAEO,SAAS,qCAAqC,CAAC,OAAO,EAAE;AAC/D,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC;AACtC;;AAEO,SAAS,mCAAmC,CAAC,UAAU,EAAE;AAChE,EAAE,OAAO,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC;AAC/F;;AAEO,SAAS,8BAA8B,CAAC;AAC/C,EAAE,CAACU,eAAmB,CAAC,UAAU,GAAG,UAAU;AAC9C,EAAE,CAACA,eAAmB,CAAC,iBAAiB,GAAG;AAC3C,CAAC,EAAE;AACH,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,iBAAiB;AAC1C;;ACtCO,SAAS,KAAK,CAAC,UAAU,EAAE;AAClC,EAAE,OAAO,KAAK,IAAI;AAClB,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE;AAC5C,MAAM,OAAO,wGAAwG;AACrH,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;;ACUA,SAAS,eAAe,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;AAC7C,EAAE,OAAO;AACT,IAAI;AACJ,MAAM,IAAI,EAAEV,eAAa,CAAC,WAAW;AACrC,MAAM,OAAO,EAAE,6BAA6B;AAC5C,MAAM,OAAO,EAAE;AACf,KAAK;AACL,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,YAAY;AACtC,MAAM,OAAO,EAAE,8BAA8B;AAC7C,MAAM,OAAO,EAAE;AACf,KAAK;AACL,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,UAAU;AACpC,MAAM,OAAO,EAAE,oCAAoC;AACnD,MAAM,OAAO,EAAE;AACf;AACA,GAAG;AACH;;AAEO,eAAe,MAAM;AAC5B,EAAE,UAAU;AACZ,EAAE,KAAK;AACP,EAAE,UAAU;AACZ,EAAE,GAAG;AACL,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE;AACF,EAAE;AACF,EAAE,MAAMW,SAAO,GAAGC,OAAc,EAAE;;AAElC,EAAE,IAAI,wBAAwB;AAC9B,EAAE,IAAI;AACN,IAAI,wBAAwB,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM;AACtE,EAAE,CAAC,CAAC,OAAO,qBAAqB,EAAE;AAClC,IAAI,IAAI,CAAC,SAAS,CAACZ,eAAa,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,IAAI,CAAC;AACX,UAAU,4DAA4D,CAAC;AACvE,IAAI;AACJ,EAAE;;AAEF,EAAE,MAAM;AACR,IAAI,CAACU,eAAmB,CAAC,UAAU,GAAG,UAAU;AAChD,IAAI,CAACA,eAAmB,CAAC,iBAAiB,GAAG,iBAAiB;AAC9D,IAAI,CAACV,eAAa,CAAC,YAAY,GAAG,WAAW;AAC7C,IAAI,CAACU,eAAmB,CAAC,UAAU,GAAG,EAAE;AACxC,IAAI,CAACV,eAAa,CAAC,IAAI,GAAG,UAAU;AACpC,IAAI,CAACA,eAAa,CAAC,KAAK,GAAGa,OAAK;AAChC,IAAI,CAACb,eAAa,CAAC,qBAAqB,GAAG,mBAAmB;AAC9D,IAAI,CAACA,eAAa,CAAC,WAAW,GAAG,UAAU;AAC3C,IAAI,CAACA,eAAa,CAAC,YAAY,GAAG,WAAW;AAC7C,IAAI,CAACA,eAAa,CAAC,UAAU,GAAG,SAAS;AACzC,IAAI,CAACA,eAAa,CAAC,iBAAiB,GAAG,gBAAgB;AACvD,IAAI,CAACA,eAAa,CAAC,eAAe,GAAG,cAAc;AACnD,IAAI,CAACA,eAAa,CAAC,eAAe,GAAG,cAAc;AACnD,IAAI,CAACA,eAAa,CAAC,OAAO,GAAG;AAC7B,GAAG,GAAG,MAAMc,QAAkB,CAAC;AAC/B,IAAI;AACJ,MAAM,IAAI,EAAEd,eAAa,CAAC,OAAO;AACjC,MAAM,OAAO,EAAE,sDAAsD;AACrE,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;AAC3C,MAAM,OAAO,EAAE;AACf,KAAK;AACL,IAAI,GAAG,gBAAgB,GAAG,EAAE,GAAG,CAAC;AAChC,MAAM,IAAI,EAAEA,eAAa,CAAC,qBAAqB;AAC/C,MAAM,OAAO,EAAE,sCAAsC;AACrD,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AAChC,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,eAAe;AACzC,MAAM,OAAO,EAAE,uDAAuD;AACtE,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAACe,iBAAe,CAAC;AAC7C,MAAM,OAAO,EAAEA,iBAAe,CAAC;AAC/B,KAAK;AACL,IAAI;AACJ,MAAM,IAAI,EAAEf,eAAa,CAAC,YAAY;AACtC,MAAM,OAAO,EAAE,0CAA0C;AACzD,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAACS,cAAY,CAAC,EAAE,OAAO,CAAC;AACxD,MAAM,OAAO,EAAEA,cAAY,CAAC;AAC5B,KAAK;AACL,IAAI,GAAG,SAAS,KAAK,UAAU,GAAG,EAAE,GAAG,CAAC;AACxC,MAAM,IAAI,EAAET,eAAa,CAAC,gBAAgB;AAC1C,MAAM,OAAO,EAAE,gCAAgC;AAC/C,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE,qCAAqC;AACjD,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,KAAK;AAC/B,MAAM,OAAO,EAAE,oBAAoB;AACnC,MAAM,IAAI,EAAE,mCAAmC,CAAC,UAAU,CAAC;AAC3D,MAAM,QAAQ,EAAEgB,KAAa,CAAC,UAAU,CAAC;AACzC,MAAM,OAAO,EAAE;AACf,KAAK;AACL,IAAI,GAAG,eAAe,CAAC;AACvB,MAAM,IAAI,EAAEL,SAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC3C,MAAM,KAAK,EAAEA,SAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC7C,MAAM,GAAG,EAAEA,SAAO,CAAC,GAAG,CAAC,iBAAiB;AACxC,KAAK,CAAC;AACN,IAAI,GAAGM,SAAe,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE;AAC7D,IAAI;AACJ,MAAM,IAAI,EAAEjB,eAAa,CAAC,iBAAiB;AAC3C,MAAM,OAAO,EAAE,kDAAkD;AACjE,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,eAAe;AACzC,MAAM,OAAO,EAAE,8CAA8C;AAC7D,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI;AACJ,MAAM,IAAI,EAAEA,eAAa,CAAC,IAAI;AAC9B,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,uCAAuC;AACtD,MAAM,IAAI,EAAE,oBAAoB;AAChC,MAAM,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO;AAC9C;AACA,GAAG,EAAE,SAAS,CAAC;;AAEf,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC;AAC7D,IAAI,WAAW;AACf,IAAI,EAAE;AACN,IAAI,UAAU;AACd,WAAIa,OAAK;AACT,IAAI,mBAAmB;AACvB,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC;AAClE,IAAI,gBAAgB,EAAE,KAAK,KAAK,gBAAgB;AAChD,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI;AACJ,GAAG;AACH;;AC1Je,gBAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;AAChD,EAAE,OAAOZ,OAAK,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClF;;ACHe,mBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACtF;;ACDe,wBAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;AACtD,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;;AAE1D,IAAI,MAAMiB,OAAW,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,EAAE;AACF;;ACPe,4BAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;AACtD,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC;AACrF,EAAE;;AAEF,EAAE,MAAMjB,OAAK,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAE9D,EAAE,OAAO;AACT,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACtF,IAAI,MAAM,EAAE;AACZ,GAAG;AACH;;ACXe,uBAAc,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;AACvD,EAAE,MAAM,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;;AAEhE,EAAE,OAAO,EAAE;AACX;;ACJe,kBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;AACnD;;ACDe,iCAAc,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE;AACxF,EAAE,MAAM,wBAAwB,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;;AAE7D,EAAE,MAAM,eAAe,CAAC;AACxB,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,MAAM,EAAE,SAAS,CAAC,IAAI;AAC1B,IAAI,MAAM,EAAE;AACZ,MAAM,OAAO,EAAE,uCAAuC;AACtD,MAAM,OAAO,EAAE,wBAAwB;AACvC,MAAM,eAAe,EAAE;AACvB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,GAAGQ,cAAY,CAAC,OAAO,KAAK,WAAW,IAAI;AACnD,UAAU,MAAM,EAAE,KAAK;AACvB,UAAU,WAAW,EAAE;AACvB;AACA,OAAO;AACP,MAAM,OAAO,EAAE,CAAC,aAAa,CAAC;AAC9B,MAAM,GAAG,mBAAmB,IAAI,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/D;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;AACrC,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACvF,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,sBAAsB,CAAC;AAC/C,GAAG;AACH;;ACzBe,wBAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE;AAC5F,EAAE,QAAQ,OAAO;AACjB,IAAI,KAAKD,UAAQ,CAAC,KAAK;AACvB,MAAM,OAAO,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACtE,IAAI,KAAKA,UAAQ,CAAC,UAAU;AAC5B,MAAM,OAAO,kBAAkB,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAC5G,IAAI;AACJ,MAAM,OAAO,EAAE;AACf;AACA;;;;;;;;;ACXe,6BAAc,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;AACtD,EAAE,MAAML,QAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAChE;;ACDA,SAAS,wBAAwB,CAAC,WAAW,EAAE;AAC/C,EAAE,OAAOM,cAAY,CAAC,WAAW,KAAK,WAAW,IAAIA,cAAY,CAAC,GAAG,KAAK,WAAW;AACrF;;AAEe,gCAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;AAC3D,EAAE,MAAMR,cAAK,CAAC;AACd,IAAI,WAAW;AACf,IAAI,MAAM,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;AACvG,GAAG,CAAC;;AAEJ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACtD;;ACbe,iBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5C;;ACAe,4BAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,YAAY,GAAG,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;;AAE9C,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;;AAElD,EAAE,OAAO,KAAK,CAAC,MAAME,QAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACxD;;ACPe,uBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM;AACR,IAAI,UAAU;AACd,IAAI,gBAAgB,EAAE,aAAa;AACnC,IAAI,GAAG;AACP,GAAG,GAAG,MAAMgB,aAAI,CAAC,CAAC,WAAW,CAAC,CAAC;;AAE/B,EAAE,MAAMlB,cAAK,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;;AAEzD,EAAE,OAAO,EAAE;AACX;;;;;;;;;;;ACTe,0BAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACxD,IAAIE,QAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;AACvD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;;AAEjE,EAAE,MAAM,gBAAgB,CAAC;AACzB,IAAI,WAAW;AACf,IAAI,MAAM,EAAE;AACZ,MAAM,GAAG,2BAA2B;AACpC,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;AACpC;AACA,GAAG,CAAC;AACJ;;AChBe,iCAAQ,EAAE,cAAc,EAAE;AACzC,EAAE,MAAM,aAAa,GAAG;AACxB,IAAI,CAACY,iBAAe,CAAC,GAAG,GAAG,mBAAmB;AAC9C,IAAI,CAACA,iBAAe,CAAC,IAAI,GAAG;AAC5B,GAAG;;AAEH,EAAE,OAAO,aAAa,CAAC,cAAc,CAAC;AACtC;;ACJe,kBAAQ,EAAE,CAAC,WAAW,EAAE,oBAAoB,GAAG,EAAE,CAAC,EAAE;AACnE,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;;AAE1D,EAAE,OAAOA,iBAAe,CAAC,GAAG,KAAK;AACjC,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAEK,wBAAqB,CAACL,iBAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjF;;ACNe,2BAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACxD,IAAIZ,QAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;AACvD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;;AAEjE,EAAE,MAAM,gBAAgB,CAAC;AACzB,IAAI,WAAW;AACf,IAAI,MAAM,EAAE;AACZ,MAAM,GAAG,2BAA2B;AACpC,MAAM,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACrC;AACA,GAAG,CAAC;AACJ;;ACbe,mBAAQ,EAAE,CAAC,WAAW,EAAE,oBAAoB,GAAG,EAAE,CAAC,EAAE;AACnE,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;;AAE1D,EAAE,OAAOY,iBAAe,CAAC,IAAI,KAAK;AAClC,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAEK,wBAAqB,CAACL,iBAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF;;ACPe,qCAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClD,IAAI,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAC5B,IAAI,UAAU,CAAC,CAAC,WAAW,CAAC;AAC5B,GAAG,CAAC;;AAEJ,EAAE,OAAO,QAAQ,IAAI,SAAS;AAC9B;;ACRe,2BAAc,IAAI;AACjC,EAAE,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAChD;;ACFe,uBAAc,IAAI;AACjC,EAAE,MAAM,YAAY,EAAE;;AAEtB,EAAE,OAAO,EAAE;AACX;;ACHA,MAAM,WAAW,GAAG;AACpB,EAAE,GAAG,EAAE,WAAW;AAClB,EAAE,IAAI,EAAE;AACR,CAAC;;AAEc,+BAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AACxD,EAAE,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AACnD;;ACJe,oCAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,IAAI,cAAc,EAAE,OAAO,cAAc;;AAE3C,EAAE,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAMZ,QAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;;AAEtH,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC5D,IAAI,OAAOY,iBAAe,CAAC,GAAG;AAC9B,EAAE;;AAEF,EAAE,IAAI,MAAM,UAAU,CAAC,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC7D,IAAI,OAAOA,iBAAe,CAAC,IAAI;AAC/B,EAAE;;AAEF,EAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;AAC5D;;;;;;;;;;;AClBe,kCAAQ,EAAE,cAAc,EAAE;AACzC,EAAE,IAAIA,iBAAe,CAAC,GAAG,KAAK,cAAc,EAAE,OAAO,qBAAqB;AAC1E,EAAE,IAAIA,iBAAe,CAAC,IAAI,KAAK,cAAc,EAAE,OAAO,kBAAkB;;AAExE,EAAE,MAAM,IAAI,KAAK;AACjB,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,6CAA6C;AACvE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAACA,iBAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,yBAAyB;AACpF,GAAG;AACH;;ACRe,8BAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;AAC/D,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,CAAC,MAAM,EAAEM,yBAAsB,CAAC,cAAc,CAAC,CAAC,kCAAkC,CAAC;AAC5F,IAAI,GAAG,kBAAkB,CAAC,aAAa;AACvC,IAAI,YAAY,EAAE,CAAC;;AAEnB;AACA;AACA,EAAE,EAAE,cAAc,CAAC;AACnB;;AAEA;;AAEA;AACA,EAAE,EAAE,cAAc,CAAC;AACnB,MAAM;AACN,GAAG;AACH;;ACfO,eAAe,wBAAwB,CAAC,mBAAmB,EAAE;AACpE,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAE3D,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,KAAK;AAC3C,IAAI,CAAC,gCAAgC,EAAE,CAAC,KAAK,KAAK,mBAAmB,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC;AACxF,IAAI,CAAC,KAAK,EAAE,IAAI;AAChB,GAAG;;AAEH,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;AACzC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;;AAE5C,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;AACrD;;AAEO,SAASC,SAAO,CAAC,mBAAmB,EAAE;AAC7C,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAE3F,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,gCAAgC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACxC,EAAE,OAAO,UAAU;AACnB;;ACnBe,kCAAc,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE;AACnE,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,SAAS;;AAE5C,EAAE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE;AAC7D,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;;AAE1D,EAAE,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,mBAAmB,CAAC;;AAErE,EAAE,MAAMnB,QAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;;AAEtD,EAAE,MAAMoB,SAAkB,CAAC,mBAAmB,CAAC;;AAE/C,EAAE,OAAO,OAAO;AAChB;;AChBe,kBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5C;;ACJe,4BAAQ,EAAE,cAAc,GAAG,EAAE,EAAE;AAC9C,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,EAAE;AACrC,IAAI,WAAW,EAAE,CAAC,gBAAgB,EAAE,GAAG,cAAc,CAAC,WAAW,IAAI,EAAE;AACvE,GAAG;AACH;;ACFe,yBAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;AAC7C,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;;AAE3D,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC;;AAEjE,EAAE,IAAI,mBAAmB,EAAE,OAAO,IAAI;AACtC,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;;AAE5G,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F;;ACVe,4BAAQ,EAAE;AACzB,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE;AACF,CAAC,EAAE;AACH,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,IAAI,EAAEf,UAAQ,CAAC,GAAG,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU;AAC1D,IAAI,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9G,IAAI,OAAO,EAAE;AACb,GAAG;AACH;;ACXe,8BAAc,EAAE;AAC/B,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,CAAC,0BAA0B,CAAC;;AAElC,EAAE,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC;;AAE1D,EAAE,MAAM,gBAAgB,CAAC;AACzB,IAAI,WAAW;AACf,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtC,MAAM,WAAW;AACjB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM;AACN,KAAK;AACL,GAAG,CAAC;;AAEJ,EAAE,OAAO,CAAC,WAAW,CAAC;AACtB;;AC7Be,SAAS,cAAc,CAAC,eAAe,EAAE;AACxD,EAAE,OAAO,cAAc;AACvB,IAAI,eAAe;AACnB,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,aAAa;AACnB,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,MAAM;AACZ,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,uBAAuB;AAC7B,MAAM,SAAS;AACf,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,aAAa;AACnB,MAAM,SAAS;AACf,MAAM,OAAO;AACb,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,iBAAiB;AACvB,MAAM;AACN;AACA,GAAG;AACH;;ACrCe,6BAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE;AAChD,EAAE,OAAO,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI;AACzC,IAAI,UAAU,EAAE;AAChB,QAAQ;AACR,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,GAAG,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9D,QAAQ,SAAS,EAAE;AACnB;AACA,QAAQ,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,IAAI,IAAI,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;AAC7D,GAAG;AACH;;ACTO,MAAM,OAAO,GAAG;AACvB,EAAE,CAACO,iBAAe,CAAC,GAAG,GAAG;AACzB,IAAI,mBAAmB,EAAE,SAAS;AAClC,IAAI,iBAAiB,EAAE;AACvB,MAAM,CAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAC1D,MAAM,CAAC,oBAAoB,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AAC5D,MAAM,KAAK,EAAE;AACb;AACA,GAAG;AACH,EAAE,CAACA,iBAAe,CAAC,IAAI,GAAG;AAC1B,IAAI,mBAAmB,EAAE,KAAK;AAC9B,IAAI,iBAAiB,EAAE;AACvB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB;AAChD,MAAM,CAAC,oBAAoB,GAAG,oBAAoB;AAClD,MAAM,KAAK,EAAE;AACb;AACA;AACA,CAAC;;AAEM,SAAS,yBAAyB,CAAC,OAAO,EAAE;AACnD,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,mBAAmB;AAC7C;;AAEO,SAAS,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE;AACrD,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACjD;;AAEO,SAAS,YAAY,CAAC,OAAO,EAAE;AACtC,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK;AACjD;;ACzBe,sBAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,GAAGA,iBAAe,CAAC,GAAG,EAAE;AAClH,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE;AAC3B,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAE7E,IAAI,MAAM,KAAK;AACf,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;AACvD,QAAQ,yBAAyB,CAAC,cAAc;AAChD,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAC5G,QAAQ,mBAAmB,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;AAC1F,OAAO,CAAC;AACR,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW;AACpC,KAAK;AACL,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AAC/D;;AChBe,eAAe,kBAAkB,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE;AACjF,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE;AAC3B,IAAI,IAAI,CAAC,oCAAoC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAEpE,IAAI,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;AAC5D,EAAE;AACF;;ACHe,eAAe,mBAAmB,CAAC,CAAC,YAAY,GAAG,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE;AACrH,EAAE,IAAI,CAAC,yBAAyB,CAAC;;AAEjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AACtC,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,6BAA6B,EAAE,eAAe,CAAC,4DAA4D;AAClH,KAAK;AACL,EAAE;;AAEF,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACnC,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,yDAAyD,EAAE,YAAY,CAAC,CAAC,CAAC;AAC/F,EAAE;;AAEF,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;;AAEhH,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,CAAC,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,CAAC;AAChF,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC;AAChF,IAAI,MAAMS,kBAAM,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;AACtE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,KAAK,CAAC,+BAA+B,CAAC;AAC1C,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAClC,EAAE;AACF;;AC7BA,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChF;;AAEA,SAAS,mCAAmC,CAAC,OAAO,EAAE;AACtD,EAAE,OAAO,aAAa,KAAK,OAAO,CAAC,gBAAgB,CAAC;AACpD;;AAEe,SAAS,gBAAgB,CAAC,OAAO,EAAE;AAClD,EAAE,OAAO;AACT,IAAI,GAAG,OAAO;AACd,IAAI,GAAG,mCAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;AAC/E,IAAI,IAAI,EAAE,CAAC,2CAA2C,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,oBAAoB,GAAG,EAAE,CAAC;AACjH,GAAG;AACH;;ACdA,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;AACvC,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7D;;AAEA,SAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;AAC9B,EAAE,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;AACrC;;AAEA,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE;AAC/B,EAAE,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;AACtC;;AAEA,SAAS,WAAW,CAAC,MAAM,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,EAAE,OAAO,MAAM;AACf;;AAEA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;AAClC,EAAE,IAAI,MAAM,KAAK,IAAI,EAAE,OAAO,CAAC;AAC/B,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;AACxC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAC5C,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;AACnD,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;;AAExC,EAAE,OAAO,CAAC;AACV;;AAEe,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE;AACjD,EAAE,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE;AACrC,EAAE,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;AACpC,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;AACrC,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE;;AAEtC,EAAE,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,KAAK,YAAY,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,EAAE,GAAG,CAAC;;AAE1D,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC;AAClC,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC;;AAElC,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;AAC5D,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;;AAE5D,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACjC;;ACzCe,SAAS,WAAW,CAAC,OAAO,EAAE;AAC7C,EAAE,OAAO,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC;AACpD;;ACHe,SAAS,WAAW,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE;AAChE,EAAE,OAAO;AACT,IAAI,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC5E,IAAI,YAAY,EAAE;AAClB,MAAM,UAAU,EAAE;AAClB,QAAQ,WAAW,EAAE,CAAC,cAAc,CAAC;AACrC,QAAQ,MAAM,EAAE,CAAC,aAAa;AAC9B;AACA;AACA,GAAG;AACH;;ACHe,eAAe,eAAe,CAAC;AAC9C,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,IAAI;AACN,EAAE,YAAY;AACd,EAAE,eAAe;AACjB,EAAE,cAAc;AAChB,EAAE,GAAG;AACL,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAEvD,EAAE,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,MAAMrB,QAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3G,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,CAAC,GAAG,WAAW,CAAC;AACjF,IAAI,eAAe,EAAE,2BAA2B,CAAC,OAAO;AACxD,IAAI;AACJ,GAAG,CAAC;;AAEJ,EAAE,MAAM,gBAAgB,CAAC;AACzB,IAAI,WAAW;AACf,IAAI,MAAM,EAAEsB,cAAqB,CAAC;AAClC,MAAM,GAAG,2BAA2B;AACpC,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACpD,MAAM,OAAO,EAAE,aAAa;AAC5B,MAAM,GAAG,IAAI,IAAI;AACjB,QAAQ,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,GAAG,CAAC,GAAG,2BAA2B,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG;AAC9G;AACA,KAAK;AACL,GAAG,CAAC;;AAEJ,EAAE,MAAM,mBAAmB,CAAC;AAC5B,IAAI,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAC7D,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI;AACJ,GAAG,CAAC;AACJ;;AC9Ce,yDAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAE;AAC9C,EAAE,OAAO,QAAQ,KAAK,iBAAiB,GAAG,QAAQ,GAAG,YAAY;AACjE;;ACFe,qBAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;AACnD,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE;AACd,MAAM,GAAG,QAAQ,KAAK,WAAW,IAAI;AACrC,QAAQ,GAAG,EAAE;AACb,UAAU,GAAG,EAAE,CAAC,6BAA6B,EAAE,WAAW,CAAC,SAAS,CAAC;AACrE,UAAU,IAAI,EAAE,KAAK;AACrB,UAAU,IAAI,EAAE,CAAC,8BAA8B,EAAE,WAAW,CAAC;AAC7D;AACA;AACA,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,GAAG;AACH;;ACbe,oBAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;AACvC,EAAkB;AAClB,IAAI,OAAO;AACX,MAAM,MAAM,EAAE;AACd,QAAQ,MAAM,EAAE;AAChB,UAAU,IAAI,EAAE;AAChB,YAAY,GAAG,EAAE,6CAA6C;AAC9D,YAAY,GAAG,EAAE,kBAAkB;AACnC,YAAY,IAAI,EAAE;AAClB;AACA;AACA;AACA,KAAK;AACL,EAAE;AAGF;;ACZe,6BAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc;;AAEvD,EAAE,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC3B,IAAI,MAAM,4BAA4B,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;;AAElG,IAAI,OAAO,WAAW,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC1C,EAAE;;AAEF,EAAE,OAAO,EAAE;AACX;;ACRe,eAAe,eAAe,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC7E,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,GAAG,cAAc;AACzF,EAAE,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;;AAElD,EAAE,MAAM,4BAA4B,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;;AAEvE,EAAE,OAAO,SAAS;AAClB,IAAI,MAAM,cAAc,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACvD,IAAI;AACJ,MAAM,QAAQ;AACd,MAAM,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5D,MAAM,OAAO,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACnD,MAAM,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,kBAAkB;AAC1D;AACA,GAAG;AACH;;ACnBe,kCAAc,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE;AAClE,EAAE,OAAO;AACT,IAAI,MAAM,EAAE,MAAM,YAAY,CAAC,WAAW,EAAE,kBAAkB;AAC9D,GAAG;AACH;;ACFA,SAAS,sBAAsB,CAAC,cAAc,EAAE;AAChD,EAAE,IAAIV,iBAAe,CAAC,GAAG,KAAK,cAAc,EAAE,OAAO,aAAa;AAClE,EAAE,IAAIA,iBAAe,CAAC,IAAI,KAAK,cAAc,EAAE,OAAO,UAAU;;AAEhE,EAAE,MAAM,IAAI,KAAK;AACjB,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,6CAA6C;AACvE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAACA,iBAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,yBAAyB;AACpF,GAAG;AACH;;AAEe,qCAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE;AAC3F,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC;AACZ,EAAE,SAAS,KAAK,UAAU,GAAG;AAC7B;AACA,oCAAoC,EAAE,KAAK,CAAC;AAC5C,CAAC,GAAG;AACJ;AACA;AACA,EAAE,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW;AACzD,MAAM,EAAE;AACR,MAAM;;AAEN;;AAEA,MAAM,EAAEM,yBAAsB,CAAC,cAAc,CAAC,CAAC,8BAA8B;AAC7E,MAAM;AACN,CAAC;AACD,GAAG;AACH;;AC7Be,4BAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;AACtD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,OAAO;;AAEnD,EAAE,MAAM,OAAO,GAAG,MAAMf,QAAM,CAAC,CAAC;AAChC,IAAI,IAAI,EAAEN,eAAa,CAAC,eAAe;AACvC,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,+BAA+B;AAC5C,IAAI,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO;AAC/C,GAAG,CAAC,EAAE,SAAS,CAAC;;AAEhB,EAAE,OAAO,OAAO,CAACA,eAAa,CAAC,eAAe,CAAC;AAC/C;;ACZe,8BAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;AACzF,EAAE,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;;AAElE,EAAE,OAAO0B,cAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC5F;;ACDA,MAAMC,uBAAqB,GAAG,KAAK;;AAEnC,eAAe,aAAa,CAAC,WAAW,EAAE;AAC1C,EAAE,OAAOxB,QAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,oCAAoC,CAAC;AACxF;;AAEA,eAAe,8BAA8B,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC7E,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;AACpB,IAAI,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;AACpC,IAAI;AACJ,QAAQA,QAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,4BAA4B;AAC9E,QAAQ,OAAO,CAAC,OAAO;AACvB,GAAG,CAAC;;AAEJ,EAAE,OAAO,EAAE;AACX;;AAEe,eAAe,YAAY,CAAC;AAC3C,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,eAAe;AACjB,EAAE,OAAO;AACT,EAAE,cAAc;AAChB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAIK,UAAQ,CAAC,SAAS,KAAK,OAAO,EAAE,OAAO,8BAA8B,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;;AAE1G,EAAE,MAAML,QAAE,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACzD,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7C,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAEM,cAAY,CAAC,OAAO,CAAC,CAAC;AACpH,IAAI,cAAc,GAAG,MAAM,aAAa,CAAC,WAAiC,CAAC,GAAG,OAAO,CAAC,OAAO;AAC7F,IAAI,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC;AACvC,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS;AAClB,IAAI,cAAc;AAClB,IAAI;AACJ,MAAM,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3D,MAAM,OAAO,EAAE;AACf,QAAQ,KAAK,EAAE,CAAC,SAAS,EAAEkB,uBAAqB,CAAC,CAAC;AAClD,QAAQ,QAAQ,EAAE,aAAa;AAC/B,QAAQ,KAAK,EAAE,8CAA8C;AAC7D,QAAQ,OAAO,EAAE,aAAa;AAC9B,QAAQ,GAAG,cAAc,IAAI,CAAC,gBAAgB,EAAE,aAAa;AAC7D,OAAO;AACP,MAAM,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAEA,uBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM,cAAc,EAAEA;AACtB;AACA,GAAG;AACH;;AC9Ce,eAAe,0BAA0B,CAAC;AACzD,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,cAAc;AAChB,EAAE,UAAU;AACZ,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,cAAc;AAChB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,CAAC,6BAA6B,CAAC;;AAErC,EAAE,MAAM,kBAAkB,GAAG,gDAAgD,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAC9G,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,IAAI,YAAY,CAAC;AACjB,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,OAAO;AACb,MAAM,cAAc;AACpB,MAAM;AACN,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC1D,IAAI,4BAA4B,CAAC;AACjC,MAAM,WAAW;AACjB,MAAM,MAAM,EAAE;AACd,QAAQ,KAAK,EAAE,CAAC,YAAY,EAAE,GAAGnB,UAAQ,CAAC,SAAS,KAAK,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAClG,QAAQ,aAAa,EAAE;AACvB,UAAU,MAAM,EAAE,kBAAkB;AACpC,UAAU,GAAG,eAAe,IAAI,CAAC,QAAQ,EAAE,eAAe;AAC1D,SAAS;AACT,QAAQ,WAAW,EAAE,KAAK;AAC1B,QAAQ,GAAGA,UAAQ,CAAC,KAAK,KAAK,OAAO,IAAI;AACzC,UAAU,IAAI,EAAE,gBAAgB;AAChC,UAAU,MAAM,EAAE,iBAAiB;AACnC,UAAU,OAAO,EAAE;AACnB,YAAY,MAAM,EAAE,iBAAiB;AACrC,YAAY,OAAO,EAAE,gBAAgB;AACrC,YAAY,MAAM,EAAE;AACpB;AACA,SAAS;AACT,QAAQ,GAAGA,UAAQ,CAAC,GAAG,KAAK,OAAO,IAAI;AACvC,UAAU,IAAI,EAAE,gBAAgB;AAChC,UAAU,OAAO,EAAE;AACnB,SAAS;AACT,QAAQ,GAAGA,UAAQ,CAAC,UAAU,KAAK,OAAO,IAAI;AAC9C,UAAU,IAAI,EAAE,gBAAgB;AAChC,UAAU,MAAM,EAAE,iBAAiB;AACnC,UAAU,KAAK,EAAE,kBAAkB;AACnC,UAAU,OAAO,EAAE;AACnB,YAAY,KAAK,EAAE,kBAAkB;AACrC,YAAY,OAAO,EAAE,gBAAgB;AACrC,YAAY,MAAM,EAAE;AACpB;AACA;AACA;AACA,KAAK;AACL,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;AACvB,IAAI,kBAAkB;AACtB,IAAI;AACJ,MAAM,aAAa,EAAE,4BAA4B,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AACnH,MAAM,SAAS,EAAE;AACjB,QAAQ,CAAC,OAAO,EAAE,gFAAgF,CAAC;AACnG,QAAQ,CAAC,OAAO,EAAE,gFAAgF,CAAC;AACnG,QAAQ,CAAC,OAAO,EAAE,sFAAsF;AACxG;AACA,KAAK;AACL,IAAI;AACJ,GAAG,CAAC;AACJ;;ACjFe,SAAS,WAAW,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AACnE,EAAE,OAAO,eAAe,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvD;;ACJe,wBAAc,EAAE,CAAC,cAAc,EAAE,UAACoB,SAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC/G,EAAE,OAAO,CAAC,oBAAoB,KAAK,CAAC,CAACA,SAAO,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1E;;ACCA,MAAMD,uBAAqB,GAAG,QAAQ;;AAEvB,sCAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,IAAI,CAAC,iCAAiC,CAAC;;AAEzC,EAAE,MAAM,4BAA4B,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;AAE5E,EAAE,MAAM,cAAc,GAAGA,uBAAqB;;AAE9C,EAAE,OAAO;AACT,IAAI,OAAO,EAAE;AACb,MAAM,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACzC,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC;AAChD,MAAM,QAAQ,EAAE;AAChB,KAAK;AACL,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,IAAI,cAAc;AAClB,IAAI,SAAS,EAAE;AACf,GAAG;AACH;;ACvBe,sBAAQ,EAAE,CAAC,cAAc,CAAC,EAAE;AAC3C,EAAE,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO;AACjC;;ACCe,mCAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,IAAI,CAAC,8BAA8B,CAAC;;AAEtC,EAAE,MAAM,4BAA4B,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;;AAE5E,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,CAAC;AAChB,MAAM,OAAO,EAAE,mCAAmC;AAClD,MAAM,WAAW,EAAE;AACnB,UAAU;AACV,KAAK;AACL,GAAG;AACH;;ACRA,MAAM,qBAAqB,GAAG,KAAK;;AAEpB,eAAe,WAAW,CAAC;AAC1C,EAAE,WAAW;AACb,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,eAAe;AACjB,EAAE,SAAS;AACX,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,kBAAkB,GAAG,gDAAgD,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAC9G,EAAE,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACjE,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAElB,cAAY,CAAC,GAAG,CAAC,CAAC;AAChH,IAAI,mBAAmB,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAC1D,IAAI,4BAA4B,CAAC;AACjC,MAAM,WAAW;AACjB,MAAM,MAAM,EAAE;AACd,QAAQ,GAAG,EAAE,EAAE;AACf,QAAQ,KAAK,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;AACpD,QAAQ,aAAa,EAAE;AACvB,UAAU,MAAM,EAAE,kBAAkB;AACpC,UAAU,GAAG,eAAe,IAAI,CAAC,QAAQ,EAAE,eAAe;AAC1D;AACA;AACA,KAAK;AACL,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;AACvB,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI;AACJ,MAAM,OAAO,EAAE;AACf,QAAQ,KAAK,EAAE,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAClD,QAAQ,QAAQ,EAAE,aAAa;AAC/B,QAAQ,KAAK,EAAE,8CAA8C;AAC7D,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP,MAAM,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5F,MAAM,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,cAAc,EAAE,qBAAqB;AAC3C,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,gFAAgF,CAAC;AAC7G;AACA,GAAG,CAAC;AACJ;;ACnDe,oBAAc,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;AACxD,EAAE,OAAO,CAAC,CAAC,GAAG;AACd;;ACAe,SAAS,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC/D,EAAE,OAAO,eAAe,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvD;;ACGe,kCAAc,EAAE;AAC/B,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,cAAc;AAChB,EAAE,UAAU;AACZ,EAAE,eAAe;AACjB,EAAE,KAAK;AACP,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,cAAc;AAChB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,QAAQ,WAAW;AACrB,IAAI,KAAKA,cAAY,CAAC,OAAO;AAC7B,MAAM,OAAOoB,0BAAmB,CAAC;AACjC,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,cAAc;AACtB,QAAQ,UAAU;AAClB,QAAQ,KAAK;AACb,QAAQ,eAAe;AACvB,QAAQ,SAAS;AACjB,QAAQ,OAAO;AACf,QAAQ,cAAc;AACtB,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,KAAKpB,cAAY,CAAC,WAAW;AACjC,MAAM,OAAO,uBAAuB,CAAC,CAAC,WAAW,CAAC,CAAC;AACnD,IAAI,KAAKA,cAAY,CAAC,GAAG;AACzB,MAAM,OAAOqB,WAAe,CAAC;AAC7B,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,eAAe;AACvB,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,KAAKrB,cAAY,CAAC,QAAQ;AAC9B,MAAM,OAAO,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC;AAChD,IAAI,KAAK,OAAO;AAChB,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;AACtE;AACA;;ACnDe,uBAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,OAAO,MAAM,SAAS,CAAC,CAAc,cAAc,CAAC;AACtD,OAAO,MAAM,KAAK,CAAC,CAAc,cAAc,CAAC;AAChD,OAAO,aAAa,CAAC,CAAc,cAAc,CAAC,CAAC;AACnD;;ACHA,SAAS,2BAA2B,CAAC,GAAG,EAAE;AAC1C,EAAE,OAAO,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,IAAI;AACrC;;AAEe,eAAe,eAAe,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE;AAClF,EAAE,IAAI,MAAM,SAAS,CAAC,CAAc,cAAc,CAAC,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvG,EAAE,IAAI,MAAM,KAAK,CAAC,CAAc,cAAc,CAAC,CAAC,EAAE,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;;AAE/F,EAAE,IAAI,QAAQ;;AAEd,EAAE,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE;AACxC,IAAI,QAAQ,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;;AAEnE,IAAI,MAAM,4BAA4B,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzE,EAAE;;AAEF,EAAE,OAAO,CAAC,QAAQ,CAAC;AACnB;;;;;;;;;AClBe,sCAAc,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;AAChE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,OAAO;;AAEhD,EAAE,MAAM,OAAO,GAAG,MAAMH,QAAM,CAAC,CAAC;AAChC,IAAI,IAAI,EAAEN,eAAa,CAAC,mBAAmB;AAC3C,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC;AACnD,IAAI,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO;AAC5C,GAAG,CAAC,EAAE,SAAS,CAAC;;AAEhB,EAAE,OAAO,OAAO,CAACA,eAAa,CAAC,mBAAmB,CAAC;AACnD;;ACXe,wCAAc,EAAE;AAC/B,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,cAAc;AAChB,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,SAAS;AACX,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;;AAEpD,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE;;AAEvC,EAAE,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,CAAC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;;AAE1G,EAAE,OAAO,cAAc;AACvB,IAAI,qBAAqB;AACzB,IAAI,UAAU;AACd,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO;AACjF,GAAG;AACH;;ACvBe,8BAAc,EAAE;AAC/B,EAAE,WAAW;AACb,EAAE,UAAU;AACZ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;AAC5B,EAAE,GAAG;AACL,EAAE,kBAAkB;AACpB,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,WAAW,GAAG;AACtB,MAAM,MAAM,mBAAmB,CAAC;AAChC,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,MAAM,GAAG;AACT,MAAM,UAAU,EAAE,kBAAkB;AACpC,MAAM,SAAS;AACf,MAAM,OAAO;AACb,MAAM;AACN,KAAK;AACL,MAAM,EAAE;;AAER,EAAE,OAAO,SAAS;AAClB,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;AAC7G,IAAI;AACJ,GAAG;AACH;;AC9Be,8BAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,GAAG,EAAE,CAAC,EAAE;AAC5D,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE;AACnD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC;AAC5G,GAAG;AACH;;ACEA,MAAM,oCAAoC,GAAG,CAACe,iBAAe,CAAC,GAAG,EAAEA,iBAAe,CAAC,IAAI,CAAC;;AAExF,SAAS,oBAAoB,CAAC,cAAc,EAAE;AAC9C,EAAE,OAAO,oCAAoC,CAAC,QAAQ,CAAC,cAAc,CAAC;AACtE;;AAEe,mCAAc,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;AAC1E,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE;AAC7C,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,8DAA8D;AAC1F,QAAQ,CAAC,KAAK,EAAE,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,yBAAyB;AAC5F,KAAK;AACL,EAAE;;AAEF,EAAE,MAAMd,OAAK,CAAC;AACd,IAAI,IAAI,EAAE,eAAe;AACzB,IAAI,MAAM,EAAE,SAAS,CAAC,IAAI;AAC1B,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,wBAAwB,CAAC,cAAc,CAAC;AACpD,MAAM,IAAI,EAAE,cAAc;AAC1B,MAAM,gBAAgB,EAAE,IAAI;AAC5B,MAAM,eAAe,EAAE,qBAAqB,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC;AACzE;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAChE,IAAI,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe;AAC9C,GAAG;AACH;;ACnCe,wCAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAC3D;;ACDA,MAAM,UAAU,GAAG,eAAe;;AAE3B,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE;AACpC,EAAE,OAAO,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC9F;;AAEO,SAAS,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;AAC7C,EAAE,OAAOiB,OAAW,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAC3F;;ACTe,8BAAc,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;AAC1E,EAAE,OAAO,oBAAoB,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AACxE;;ACEO,eAAe,oBAAoB,CAAC;AAC3C,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,GAAG;AACL,EAAE,UAAU;AACZ,EAAE,KAAK;AACP,EAAE,kBAAkB;AACpB,EAAE,SAAS;AACX,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC3E,IAAI,eAAe,CAAC;AACpB,MAAM,WAAW;AACjB,MAAM,KAAK;AACX,MAAM,UAAU;AAChB,MAAM,GAAG;AACT,MAAM,kBAAkB;AACxB,MAAM,SAAS;AACf,MAAM,OAAO;AACb,MAAM;AACN,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,UAAiC,CAAC,CAAC;AACrF,IAAIa,UAAa,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC;AACjE,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;AACtE;;AC7Be,6BAAc,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE;AACxE,EAAE,MAAM9B,OAAK,CAAC;AACd,IAAI,MAAM,EAAE,SAAS,CAAC,IAAI;AAC1B,IAAI,IAAI,EAAE,WAAW;AACrB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ,EAAE;AAChB,QAAQ,cAAc,EAAE,KAAK;AAC7B,QAAQ,QAAQ,EAAE,GAAG;AACrB,QAAQ,MAAM,EAAE,GAAG;AACnB,QAAQ,MAAM,EAAE,GAAG;AACnB,QAAQ,mBAAmB,EAAE;AAC7B,OAAO;AACP,MAAM,OAAO,EAAE;AACf,QAAQ,MAAM;AACd,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,QAAQ,GAAGQ,cAAY,CAAC,OAAO,KAAK,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AAC/F,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG;AAC9D;AACA;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAO,SAAS;AAClB,IAAI;AACJ,MAAM,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACrF,MAAM,OAAO,EAAE;AACf,QAAQ,SAAS,EAAE,kBAAkB;AACrC,QAAQ,aAAa,EAAE;AACvB;AACA,KAAK;AACL,IAAI,CAAC,GAAGA,cAAY,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC7G,GAAG;AACH;;AC/Be,gCAAc,EAAE;AAC/B,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,GAAG;AACL,EAAE;AACF,CAAC,EAAE;AACH,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;AACzC,IAAI,OAAO,CAAC;AACZ,SAAS;AACT,SAASuB,UAAc,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9D,IAAI,cAAc,CAAC;AACnB,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,GAAG;AACT,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI;AAChC,KAAK,CAAC;AACN,IAAIC,UAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;AAC5D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrB;;ACtBe,iBAAQ,EAAE,OAAO,EAAE;AAClC,EAAE,OAAO,cAAc,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D;;ACHe,iBAAQ,EAAE,OAAO,EAAE;AAClC,EAAE,OAAOC,MAAa,CAAC,OAAO,CAAC;AAC/B;;;;;;;;;ACgBe,yBAAc,EAAE,OAAO,EAAE;AACxC,EAAE,IAAI,CAAC,iCAAiC,CAAC;;AAEzC,EAAE,MAAM;AACR,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,GAAG;AACP,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE;AACb,MAAM,gBAAgB;AACtB,MAAM,YAAY;AAClB,MAAM,aAAa;AACnB,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,KAAK;AACX,MAAM;AACN;AACA,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;;AAEvB,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,mBAAmB;AACvB,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI;AACJ,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC;;AAE5F,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAErD,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,eAAe,CAAC;AAC9C,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAC;AACvD,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAGI,eAAe;AACnB,IAAI,KAAK;AACT,IAEI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC;AACxC,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AACzD,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,GAAG;AACP,IAAI,UAAU,EAAE,OAAO,CAAC,UAAU;AAClC,IAAI,KAAK;AACT,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACxF,IAAI,mBAAmB,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAC3D,IAAI,iBAAiB,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACjD,IAAI,eAAe,CAAC;AACpB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,mBAAmB,EAAE,mBAAmB,CAAC;AAC/C,KAAK,CAAC;AACN,IAAI,iBAAiB,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;AACjF,IAAI,sBAAsB,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC;AACxD,GAAG,CAAC;AACJ,EAAE,MAAM,wBAAwB,GAAG,MAAM,yBAAyB,CAAC;AACnE,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,KAAK;AACT,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,OAAO,EAAE;AACb,MAAM,CAACzB,cAAY,CAAC,OAAO,GAAG,YAAY;AAC1C,MAAM,CAACA,cAAY,CAAC,WAAW,GAAG,gBAAgB;AAClD,MAAM,CAACA,cAAY,CAAC,QAAQ,GAAG;AAC/B;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC;AAC5C,IAAI,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC;AAC1B,MAAM,cAAc;AACpB,QAAQ,KAAK;AACb,QAAQ,UAAU;AAClB,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;AACxG,OAAO;AACP,MAAM,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAClH,MAAM0B,UAAwB,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC;AACpF,KAAK,CAAC,CAAC;AACP,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI;AACJ,GAAG,CAAC;;AAEJ,EAAE,OAAO;AACT,IAAI,GAAG,mBAAmB;AAC1B,IAAI,aAAa,EAAE,qBAAqB,CAAC,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;AAC9E,IAAI,IAAI,EAAE,kBAAkB,CAAC,IAAI;AACjC,IAAI,SAAS,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAC;AACjE,IAAI,mBAAmB,EAAE,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK;AAChG,GAAG;AACH;;AC1Je,iBAAQ,IAAI;AAC3B,EAAE,OAAO,IAAI;AACb;;ACFe,8BAAQ,EAAE,UAAU,GAAG,EAAE,EAAE;AAC1C,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AAClC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,KAAK;AAC5C,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK;AACnC,MAAM,IAAI,UAAU,KAAK,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC;;AAE9D,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAClD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;AAChD;;ACEA,eAAe,2BAA2B,CAAC,UAAU,EAAE,WAAW,EAAE;AACpE,EAAE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,UAAU,CAAC;;AAElE,EAAE,MAAM,cAAc,CAAC;AACvB,IAAI,WAAW;AACf,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,MAAM,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,MAAM,GAAG;AACT;AACA,GAAG,CAAC;AACJ;;AAEA,eAAe,oCAAoC,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE;AAC7F,EAAE,MAAMC,KAAuB,CAAC;AAChC,IAAI,WAAW;AACf,IAAI,MAAM,EAAE;AACZ,MAAM,GAAG,MAAMC,IAAsB,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,MAAM,eAAe,EAAE,qBAAqB,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC;AACzE;AACA,GAAG,CAAC;AACJ;;AAEe,qBAAc,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE;AACrF,EAAE,MAAM,2BAA2B,CAAC,UAAU,EAAE,WAAW,CAAC;;AAE5D,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AAC/D,IAAI,OAAO,oBAAoB,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAC1E,EAAE;;AAEF,EAAE,MAAM,oCAAoC,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC;;AAErF,EAAE,OAAO,EAAE;AACX;;;;;;;;ACxCO,eAAe,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE;AAC1C,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAMlC,UAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;;AAExF,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI;AACxB;;AAEO,eAAeC,MAAI,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;AACrD,EAAE,OAAO;AACT,IAAI,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D,IAAI,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;AAC3C,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,8BAA8B,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACxG,GAAG;AACH;;;;;;;;ACIe,mBAAc,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE;AAC5G,EAAE,IAAI,CAAC,qCAAqC,CAAC;;AAE7C,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC9D,IAAI,qBAAqB,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AAChF,IAAID,QAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM;AACrD,GAAG,CAAC;;AAEJ,EAAE,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC;AAC/C,IAAI,OAAO;AACX,IAAI,SAAS,EAAE;AACf,MAAM,GAAG,SAAS;AAClB,MAAM,WAAW;AACjB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,sBAAsB;AAC5B,MAAM,QAAQ;AACd,MAAM,eAAe;AACrB,MAAM,eAAe;AACrB,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM;AACN,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO;AACpG,GAAG,CAAC;;AAEJ,EAAE,MAAMmC,eAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;;AAE3G,EAAE,OAAO,eAAe;AACxB;;AC1Ce,qBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC9D,IAAI,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAC5B,IAAI,sBAAsB,CAAC,CAAC,WAAW,CAAC;AACxC,GAAG,CAAC;;AAEJ,EAAE,MAAM,cAAc,GAAG,QAAQ,IAAI,qBAAqB;;AAE1D,EAAE,IAAI,cAAc,EAAE,IAAI,CAAC,6BAA6B,CAAC;;AAEzD,EAAE,OAAO,cAAc;AACvB;;ACRY,MAAC,aAAa,GAAG,CAAC,GAAGC,eAAsC,EAAE,GAAGC,eAAyB;;;;"}
|
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": "15.
|
|
5
|
+
"version": "15.1.1",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": "^20.19.0 || >=22.14.0"
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"access": "public",
|
|
59
59
|
"provenance": true
|
|
60
60
|
},
|
|
61
|
-
"packageManager": "npm@11.
|
|
61
|
+
"packageManager": "npm@11.11.0+sha512.f36811c4aae1fde639527368ae44c571d050006a608d67a191f195a801a52637a312d259186254aa3a3799b05335b7390539cf28656d18f0591a1125ba35f973",
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@form8ion/codecov": "^7.0.0-beta.1",
|
|
64
64
|
"@form8ion/commit-convention": "^8.0.0-beta.6",
|
|
@@ -84,35 +84,35 @@
|
|
|
84
84
|
"validate-npm-package-name": "^7.0.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@cucumber/cucumber": "12.
|
|
88
|
-
"@form8ion/commitlint-config": "2.0.
|
|
89
|
-
"@form8ion/eslint-config": "7.0.
|
|
87
|
+
"@cucumber/cucumber": "12.7.0",
|
|
88
|
+
"@form8ion/commitlint-config": "2.0.9",
|
|
89
|
+
"@form8ion/eslint-config": "7.0.14",
|
|
90
90
|
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
91
|
-
"@form8ion/eslint-config-vitest": "1.
|
|
91
|
+
"@form8ion/eslint-config-vitest": "1.1.0",
|
|
92
92
|
"@form8ion/remark-lint-preset": "6.0.7",
|
|
93
93
|
"@rollup/plugin-node-resolve": "16.0.3",
|
|
94
94
|
"@travi/any": "3.1.3",
|
|
95
95
|
"ban-sensitive-files": "1.10.11",
|
|
96
|
-
"c8": "
|
|
96
|
+
"c8": "11.0.0",
|
|
97
97
|
"chai": "6.2.2",
|
|
98
98
|
"cross-env": "10.1.0",
|
|
99
99
|
"cz-conventional-changelog": "3.3.0",
|
|
100
100
|
"gherkin-lint": "4.2.4",
|
|
101
101
|
"husky": "9.1.7",
|
|
102
102
|
"js-yaml": "4.1.1",
|
|
103
|
-
"lockfile-lint": "
|
|
103
|
+
"lockfile-lint": "5.0.0",
|
|
104
104
|
"ls-engines": "0.9.4",
|
|
105
105
|
"mock-fs": "5.5.0",
|
|
106
106
|
"npm-run-all2": "8.0.4",
|
|
107
|
-
"publint": "0.3.
|
|
107
|
+
"publint": "0.3.18",
|
|
108
108
|
"remark-cli": "12.0.1",
|
|
109
109
|
"remark-toc": "9.0.0",
|
|
110
110
|
"remark-usage": "11.0.1",
|
|
111
|
-
"rimraf": "6.1.
|
|
111
|
+
"rimraf": "6.1.3",
|
|
112
112
|
"rollup": "4.59.0",
|
|
113
113
|
"rollup-plugin-auto-external": "2.0.0",
|
|
114
114
|
"testdouble": "3.20.2",
|
|
115
|
-
"vitest": "4.0.
|
|
115
|
+
"vitest": "4.0.18",
|
|
116
116
|
"vitest-when": "0.10.0"
|
|
117
117
|
}
|
|
118
118
|
}
|