@form8ion/javascript 12.2.0 → 12.3.0
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 +66 -27
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +81 -42
- package/lib/index.mjs.map +1 -1
- package/package.json +9 -8
package/lib/index.js
CHANGED
|
@@ -24,10 +24,10 @@ var camelcase = require('camelcase');
|
|
|
24
24
|
var path = require('path');
|
|
25
25
|
var filedirname = require('filedirname');
|
|
26
26
|
var huskyPlugin = require('@form8ion/husky');
|
|
27
|
+
var node_fs = require('node:fs');
|
|
27
28
|
var ini = require('ini');
|
|
28
29
|
var prettier = require('@form8ion/prettier');
|
|
29
30
|
var eslintPlugin = require('@form8ion/eslint');
|
|
30
|
-
var node_fs = require('node:fs');
|
|
31
31
|
var sortProperties = require('sort-object-keys');
|
|
32
32
|
|
|
33
33
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -250,7 +250,7 @@ async function scaffoldCodeStyle ({
|
|
|
250
250
|
].filter(Boolean)));
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
function lifter$
|
|
253
|
+
function lifter$4 (options) {
|
|
254
254
|
return core.applyEnhancers({options, enhancers: [eslintPlugin__namespace]});
|
|
255
255
|
}
|
|
256
256
|
|
|
@@ -261,7 +261,7 @@ function tester$3 (options) {
|
|
|
261
261
|
var codeStylePlugin = /*#__PURE__*/Object.freeze({
|
|
262
262
|
__proto__: null,
|
|
263
263
|
scaffold: scaffoldCodeStyle,
|
|
264
|
-
lift: lifter$
|
|
264
|
+
lift: lifter$4,
|
|
265
265
|
test: tester$3
|
|
266
266
|
});
|
|
267
267
|
|
|
@@ -296,7 +296,7 @@ function tester$2 ({projectRoot}) {
|
|
|
296
296
|
return core.fileExists(`${projectRoot}/.npmrc`);
|
|
297
297
|
}
|
|
298
298
|
|
|
299
|
-
async function lifter$
|
|
299
|
+
async function lifter$3 ({projectRoot}) {
|
|
300
300
|
const pathToConfig = `${projectRoot}/.npmrc`;
|
|
301
301
|
|
|
302
302
|
const {
|
|
@@ -314,7 +314,7 @@ var npmConfigPlugin = /*#__PURE__*/Object.freeze({
|
|
|
314
314
|
__proto__: null,
|
|
315
315
|
scaffold: scaffoldNpmConfig,
|
|
316
316
|
test: tester$2,
|
|
317
|
-
lift: lifter$
|
|
317
|
+
lift: lifter$3
|
|
318
318
|
});
|
|
319
319
|
|
|
320
320
|
async function test({projectRoot}) {
|
|
@@ -787,7 +787,7 @@ function vcsRepositoryHostedOnGithub(vcs) {
|
|
|
787
787
|
return vcs && 'github' === vcs.host;
|
|
788
788
|
}
|
|
789
789
|
|
|
790
|
-
async function lifter$
|
|
790
|
+
async function lifter$2 ({projectRoot, packageDetails, vcs}) {
|
|
791
791
|
if (await isPackage({projectRoot, packageDetails})) return liftPackage$1({projectRoot, packageDetails});
|
|
792
792
|
if (await isCli({projectRoot, packageDetails})) return liftCli({projectRoot, packageDetails});
|
|
793
793
|
|
|
@@ -806,7 +806,7 @@ var projectTypes = /*#__PURE__*/Object.freeze({
|
|
|
806
806
|
__proto__: null,
|
|
807
807
|
scaffold: scaffoldProjectType,
|
|
808
808
|
test: tester$1,
|
|
809
|
-
lift: lifter$
|
|
809
|
+
lift: lifter$2
|
|
810
810
|
});
|
|
811
811
|
|
|
812
812
|
function write ({projectRoot, config}) {
|
|
@@ -834,7 +834,7 @@ async function scaffoldBabel ({projectRoot, preset}) {
|
|
|
834
834
|
};
|
|
835
835
|
}
|
|
836
836
|
|
|
837
|
-
async function lifter ({results, projectRoot}) {
|
|
837
|
+
async function lifter$1 ({results, projectRoot}) {
|
|
838
838
|
await addIgnore({ignore: results.buildDirectory, projectRoot});
|
|
839
839
|
|
|
840
840
|
return {};
|
|
@@ -888,7 +888,7 @@ var dialects = /*#__PURE__*/Object.freeze({
|
|
|
888
888
|
__proto__: null,
|
|
889
889
|
scaffold: scaffoldDialect,
|
|
890
890
|
test: predicate,
|
|
891
|
-
lift: lifter
|
|
891
|
+
lift: lifter$1
|
|
892
892
|
});
|
|
893
893
|
|
|
894
894
|
function buildPackageDetails ({
|
|
@@ -1093,20 +1093,64 @@ async function liftPackage ({
|
|
|
1093
1093
|
}
|
|
1094
1094
|
}
|
|
1095
1095
|
|
|
1096
|
+
function determineLockfilePathFor (packageManager) {
|
|
1097
|
+
const lockfilePaths = {
|
|
1098
|
+
[javascriptCore.packageManagers.NPM]: 'package-lock.json',
|
|
1099
|
+
[javascriptCore.packageManagers.YARN]: 'yarn.lock'
|
|
1100
|
+
};
|
|
1101
|
+
|
|
1102
|
+
return lockfilePaths[packageManager];
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
function npmIsUsed ({projectRoot}) {
|
|
1106
|
+
return core.fileExists(`${projectRoot}/${determineLockfilePathFor(javascriptCore.packageManagers.NPM)}`);
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
function yarnIsUsed ({projectRoot}) {
|
|
1110
|
+
return core.fileExists(`${projectRoot}/${determineLockfilePathFor(javascriptCore.packageManagers.YARN)}`);
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
async function jsPackageManagerIsUsed ({projectRoot}) {
|
|
1114
|
+
const [npmFound, yarnFound] = await Promise.all([
|
|
1115
|
+
npmIsUsed({projectRoot}),
|
|
1116
|
+
yarnIsUsed({projectRoot})
|
|
1117
|
+
]);
|
|
1118
|
+
|
|
1119
|
+
return npmFound || yarnFound;
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
async function liftCorepack () {
|
|
1123
|
+
await execa__default["default"]('corepack', ['use', 'npm@latest']);
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
async function lifter () {
|
|
1127
|
+
await liftCorepack();
|
|
1128
|
+
|
|
1129
|
+
return {};
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1096
1132
|
async function resolvePackageManager ({projectRoot, packageManager}) {
|
|
1097
1133
|
if (packageManager) return packageManager;
|
|
1098
1134
|
|
|
1099
|
-
if (await
|
|
1135
|
+
if (await npmIsUsed({projectRoot})) {
|
|
1100
1136
|
return javascriptCore.packageManagers.NPM;
|
|
1101
1137
|
}
|
|
1102
1138
|
|
|
1103
|
-
if (await
|
|
1139
|
+
if (await yarnIsUsed({projectRoot})) {
|
|
1104
1140
|
return javascriptCore.packageManagers.YARN;
|
|
1105
1141
|
}
|
|
1106
1142
|
|
|
1107
1143
|
throw new Error('Package-manager could not be determined');
|
|
1108
1144
|
}
|
|
1109
1145
|
|
|
1146
|
+
var packageManagers = /*#__PURE__*/Object.freeze({
|
|
1147
|
+
__proto__: null,
|
|
1148
|
+
test: jsPackageManagerIsUsed,
|
|
1149
|
+
lift: lifter,
|
|
1150
|
+
determineCurrent: resolvePackageManager,
|
|
1151
|
+
defineLockfilePath: determineLockfilePathFor
|
|
1152
|
+
});
|
|
1153
|
+
|
|
1110
1154
|
async function lift ({projectRoot, vcs, results, pathWithinParent}) {
|
|
1111
1155
|
cliMessages.info('Lifting JavaScript-specific details');
|
|
1112
1156
|
|
|
@@ -1133,7 +1177,8 @@ async function lift ({projectRoot, vcs, results, pathWithinParent}) {
|
|
|
1133
1177
|
dialects,
|
|
1134
1178
|
codeStylePlugin,
|
|
1135
1179
|
npmConfigPlugin,
|
|
1136
|
-
projectTypes
|
|
1180
|
+
projectTypes,
|
|
1181
|
+
packageManagers
|
|
1137
1182
|
],
|
|
1138
1183
|
options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents)}
|
|
1139
1184
|
});
|
|
@@ -1477,13 +1522,17 @@ async function scaffoldNodeVersion ({projectRoot, nodeVersionCategory}) {
|
|
|
1477
1522
|
|
|
1478
1523
|
const version = await determineLatestVersionOf(nodeVersionCategory);
|
|
1479
1524
|
|
|
1480
|
-
await
|
|
1525
|
+
await node_fs.promises.writeFile(`${projectRoot}/.nvmrc`, version);
|
|
1481
1526
|
|
|
1482
1527
|
await install(nodeVersionCategory);
|
|
1483
1528
|
|
|
1484
1529
|
return version;
|
|
1485
1530
|
}
|
|
1486
1531
|
|
|
1532
|
+
function nvmIsUsed ({projectRoot}) {
|
|
1533
|
+
return core.fileExists(`${projectRoot}/.nvmrc`);
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1487
1536
|
function buildBadgesDetails (contributors) {
|
|
1488
1537
|
return deepmerge__default["default"].all(contributors).badges;
|
|
1489
1538
|
}
|
|
@@ -1578,15 +1627,6 @@ function buildAllowedHostsList ({packageManager, registries}) {
|
|
|
1578
1627
|
|
|
1579
1628
|
const lockfileLintSupportedPackageManagers = [javascriptCore.packageManagers.NPM, javascriptCore.packageManagers.YARN];
|
|
1580
1629
|
|
|
1581
|
-
function determineLockfilePathFor(packageManager) {
|
|
1582
|
-
const lockfilePaths = {
|
|
1583
|
-
[javascriptCore.packageManagers.NPM]: 'package-lock.json',
|
|
1584
|
-
[javascriptCore.packageManagers.YARN]: 'yarn.lock'
|
|
1585
|
-
};
|
|
1586
|
-
|
|
1587
|
-
return lockfilePaths[packageManager];
|
|
1588
|
-
}
|
|
1589
|
-
|
|
1590
1630
|
function lockfileLintSupports(packageManager) {
|
|
1591
1631
|
return lockfileLintSupportedPackageManagers.includes(packageManager);
|
|
1592
1632
|
}
|
|
@@ -1797,13 +1837,12 @@ async function scaffolder (options) {
|
|
|
1797
1837
|
}
|
|
1798
1838
|
|
|
1799
1839
|
async function tester ({projectRoot}) {
|
|
1800
|
-
const [
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
core.fileExists(`${projectRoot}/yarn.lock`)
|
|
1840
|
+
const [nvmFound, jsPackageManagerFound] = await Promise.all([
|
|
1841
|
+
nvmIsUsed({projectRoot}),
|
|
1842
|
+
jsPackageManagerIsUsed({projectRoot})
|
|
1804
1843
|
]);
|
|
1805
1844
|
|
|
1806
|
-
return
|
|
1845
|
+
return nvmFound || jsPackageManagerFound;
|
|
1807
1846
|
}
|
|
1808
1847
|
|
|
1809
1848
|
const questionNames = {...languageScaffolderPrompts.questionNames, ...questionNames$1};
|