@form8ion/javascript 11.8.0 → 11.9.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 +68 -34
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +68 -34
- package/lib/index.mjs.map +1 -1
- package/package.json +8 -8
package/lib/index.js
CHANGED
|
@@ -14,11 +14,10 @@ var cliMessages = require('@travi/cli-messages');
|
|
|
14
14
|
var commitConventionPlugin = require('@form8ion/commit-convention');
|
|
15
15
|
var execa = require('@form8ion/execa-wrapper');
|
|
16
16
|
var npmConf = require('npm-conf');
|
|
17
|
-
var fs = require('fs');
|
|
18
|
-
var ini = require('ini');
|
|
19
17
|
var os = require('os');
|
|
20
18
|
var validatePackageName = require('validate-npm-package-name');
|
|
21
19
|
var rollup = require('@form8ion/rollup');
|
|
20
|
+
var fs = require('fs');
|
|
22
21
|
var mustache = require('mustache');
|
|
23
22
|
var mkdir = require('make-dir');
|
|
24
23
|
var touch = require('touch');
|
|
@@ -26,6 +25,7 @@ var camelcase = require('camelcase');
|
|
|
26
25
|
var path = require('path');
|
|
27
26
|
var filedirname = require('filedirname');
|
|
28
27
|
var huskyPlugin = require('@form8ion/husky');
|
|
28
|
+
var ini = require('ini');
|
|
29
29
|
var prettier = require('@form8ion/prettier');
|
|
30
30
|
var eslint = require('@form8ion/eslint');
|
|
31
31
|
var node_fs = require('node:fs');
|
|
@@ -150,7 +150,7 @@ function c8IsConfigured ({projectRoot}) {
|
|
|
150
150
|
return core.fileExists(`${projectRoot}/.c8rc.json`);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
async function tester$
|
|
153
|
+
async function tester$4 ({projectRoot}) {
|
|
154
154
|
const [c8Exists, nycExists] = await Promise.all([c8IsConfigured({projectRoot}), nycIsConfigured({projectRoot})]);
|
|
155
155
|
|
|
156
156
|
return c8Exists || nycExists;
|
|
@@ -160,7 +160,7 @@ var coveragePlugin = /*#__PURE__*/Object.freeze({
|
|
|
160
160
|
__proto__: null,
|
|
161
161
|
scaffold: scaffoldCoverage,
|
|
162
162
|
lift: lift$2,
|
|
163
|
-
test: tester$
|
|
163
|
+
test: tester$4
|
|
164
164
|
});
|
|
165
165
|
|
|
166
166
|
const unitTestFrameworksSchema = joi__default["default"].object().required().pattern(/^/, joi__default["default"].object({
|
|
@@ -250,11 +250,71 @@ async function scaffoldCodeStyle ({
|
|
|
250
250
|
].filter(Boolean)));
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
function lifter$3 (options) {
|
|
254
|
+
return eslint.lift(options);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
function tester$3 (options) {
|
|
258
|
+
return eslint.test(options);
|
|
259
|
+
}
|
|
260
|
+
|
|
253
261
|
var codeStylePlugin = /*#__PURE__*/Object.freeze({
|
|
254
262
|
__proto__: null,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
263
|
+
scaffold: scaffoldCodeStyle,
|
|
264
|
+
lift: lifter$3,
|
|
265
|
+
test: tester$3
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
function projectWillNotBeConsumed(projectType) {
|
|
269
|
+
return javascriptCore.projectTypes.APPLICATION === projectType || javascriptCore.projectTypes.CLI === projectType;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
async function scaffoldNpmConfig ({
|
|
273
|
+
projectRoot,
|
|
274
|
+
projectType,
|
|
275
|
+
registries
|
|
276
|
+
}) {
|
|
277
|
+
await fs.promises.writeFile(
|
|
278
|
+
`${projectRoot}/.npmrc`,
|
|
279
|
+
ini.stringify({
|
|
280
|
+
'update-notifier': false,
|
|
281
|
+
...projectWillNotBeConsumed(projectType) && {'save-exact': true},
|
|
282
|
+
...Object.fromEntries(Object.entries(registries)
|
|
283
|
+
.filter(([scope]) => 'publish' !== scope)
|
|
284
|
+
.map(([scope, url]) => {
|
|
285
|
+
if ('registry' === scope) return ['registry', url];
|
|
286
|
+
|
|
287
|
+
return [`@${scope}:registry`, url];
|
|
288
|
+
}))
|
|
289
|
+
})
|
|
290
|
+
);
|
|
291
|
+
|
|
292
|
+
return {scripts: {'lint:peer': 'npm ls >/dev/null'}};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
function tester$2 ({projectRoot}) {
|
|
296
|
+
return core.fileExists(`${projectRoot}/.npmrc`);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
async function lifter$2 ({projectRoot}) {
|
|
300
|
+
const pathToConfig = `${projectRoot}/.npmrc`;
|
|
301
|
+
|
|
302
|
+
const {
|
|
303
|
+
provenance,
|
|
304
|
+
'engines-strict': enginesStrict,
|
|
305
|
+
...remainingProperties
|
|
306
|
+
} = ini.parse(await node_fs.promises.readFile(pathToConfig, 'utf-8'));
|
|
307
|
+
|
|
308
|
+
await node_fs.promises.writeFile(pathToConfig, ini.stringify(remainingProperties));
|
|
309
|
+
|
|
310
|
+
return {};
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
var npmConfigPlugin = /*#__PURE__*/Object.freeze({
|
|
314
|
+
__proto__: null,
|
|
315
|
+
scaffold: scaffoldNpmConfig,
|
|
316
|
+
test: tester$2,
|
|
317
|
+
lift: lifter$2
|
|
258
318
|
});
|
|
259
319
|
|
|
260
320
|
async function test({projectRoot}) {
|
|
@@ -1027,6 +1087,7 @@ async function lift ({projectRoot, vcs, results}) {
|
|
|
1027
1087
|
commitConventionPlugin__namespace,
|
|
1028
1088
|
dialects,
|
|
1029
1089
|
codeStylePlugin,
|
|
1090
|
+
npmConfigPlugin,
|
|
1030
1091
|
projectTypes
|
|
1031
1092
|
],
|
|
1032
1093
|
options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents)}
|
|
@@ -1322,33 +1383,6 @@ async function prompt(
|
|
|
1322
1383
|
};
|
|
1323
1384
|
}
|
|
1324
1385
|
|
|
1325
|
-
function projectWillNotBeConsumed(projectType) {
|
|
1326
|
-
return javascriptCore.projectTypes.APPLICATION === projectType || javascriptCore.projectTypes.CLI === projectType;
|
|
1327
|
-
}
|
|
1328
|
-
|
|
1329
|
-
async function scaffoldNpmConfig ({
|
|
1330
|
-
projectRoot,
|
|
1331
|
-
projectType,
|
|
1332
|
-
registries
|
|
1333
|
-
}) {
|
|
1334
|
-
await fs.promises.writeFile(
|
|
1335
|
-
`${projectRoot}/.npmrc`,
|
|
1336
|
-
ini.stringify({
|
|
1337
|
-
'update-notifier': false,
|
|
1338
|
-
...projectWillNotBeConsumed(projectType) && {'save-exact': true},
|
|
1339
|
-
...Object.fromEntries(Object.entries(registries)
|
|
1340
|
-
.filter(([scope]) => 'publish' !== scope)
|
|
1341
|
-
.map(([scope, url]) => {
|
|
1342
|
-
if ('registry' === scope) return ['registry', url];
|
|
1343
|
-
|
|
1344
|
-
return [`@${scope}:registry`, url];
|
|
1345
|
-
}))
|
|
1346
|
-
})
|
|
1347
|
-
);
|
|
1348
|
-
|
|
1349
|
-
return {scripts: {'lint:peer': 'npm ls >/dev/null'}};
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
1386
|
function scaffoldDocumentation ({projectTypeResults, packageManager}) {
|
|
1353
1387
|
return {
|
|
1354
1388
|
toc: `Run \`${buildDocumentationCommand(packageManager)}\` to generate a table of contents`,
|