@form8ion/javascript 6.0.2 → 6.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +54 -55
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +2 -3
- package/lib/index.mjs.map +1 -1
- package/package.json +3 -4
package/lib/index.js
CHANGED
|
@@ -6,7 +6,6 @@ var languageScaffolderPrompts = require('@travi/language-scaffolder-prompts');
|
|
|
6
6
|
var deepmerge = require('deepmerge');
|
|
7
7
|
var javascriptCore = require('@form8ion/javascript-core');
|
|
8
8
|
var joi = require('joi');
|
|
9
|
-
var inquirer = require('inquirer');
|
|
10
9
|
var overridablePrompts = require('@form8ion/overridable-prompts');
|
|
11
10
|
var codecov = require('@form8ion/codecov');
|
|
12
11
|
var fs = require('fs');
|
|
@@ -49,7 +48,7 @@ function _interopNamespace(e) {
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge);
|
|
52
|
-
var
|
|
51
|
+
var joi__default = /*#__PURE__*/_interopDefaultLegacy(joi);
|
|
53
52
|
var commitConventionPlugin__namespace = /*#__PURE__*/_interopNamespace(commitConventionPlugin);
|
|
54
53
|
var hoek__default = /*#__PURE__*/_interopDefaultLegacy(hoek);
|
|
55
54
|
var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
|
|
@@ -235,8 +234,8 @@ var coveragePlugin = /*#__PURE__*/Object.freeze({
|
|
|
235
234
|
test: tester
|
|
236
235
|
});
|
|
237
236
|
|
|
238
|
-
const unitTestFrameworksSchema =
|
|
239
|
-
scaffolder:
|
|
237
|
+
const unitTestFrameworksSchema = joi__default["default"].object().required().pattern(/^/, joi__default["default"].object({
|
|
238
|
+
scaffolder: joi__default["default"].func().arity(1).required()
|
|
240
239
|
}));
|
|
241
240
|
|
|
242
241
|
async function chooseFramework ({
|
|
@@ -248,7 +247,7 @@ async function chooseFramework ({
|
|
|
248
247
|
name: questionNames$1.UNIT_TEST_FRAMEWORK,
|
|
249
248
|
type: 'list',
|
|
250
249
|
message: 'Which type of unit testing framework should be used?',
|
|
251
|
-
choices: [...Object.keys(frameworks), new
|
|
250
|
+
choices: [...Object.keys(frameworks), new overridablePrompts.Separator(), 'Other']
|
|
252
251
|
}], decisions);
|
|
253
252
|
return answers[questionNames$1.UNIT_TEST_FRAMEWORK];
|
|
254
253
|
}
|
|
@@ -504,81 +503,81 @@ async function lift ({
|
|
|
504
503
|
return enhancerResults;
|
|
505
504
|
}
|
|
506
505
|
|
|
507
|
-
const packageBundlersSchema =
|
|
508
|
-
scaffolder:
|
|
506
|
+
const packageBundlersSchema = joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
507
|
+
scaffolder: joi__default["default"].func().arity(1).required()
|
|
509
508
|
})).default({});
|
|
510
509
|
|
|
511
510
|
function validate(options) {
|
|
512
|
-
const schema =
|
|
513
|
-
projectRoot:
|
|
514
|
-
projectName:
|
|
511
|
+
const schema = joi__default["default"].object().required().keys({
|
|
512
|
+
projectRoot: joi__default["default"].string().required(),
|
|
513
|
+
projectName: joi__default["default"].string().regex(/^@\w*\//, {
|
|
515
514
|
invert: true
|
|
516
515
|
}).required(),
|
|
517
|
-
visibility:
|
|
518
|
-
license:
|
|
519
|
-
description:
|
|
520
|
-
pathWithinParent:
|
|
516
|
+
visibility: joi__default["default"].string().valid('Public', 'Private').required(),
|
|
517
|
+
license: joi__default["default"].string().required(),
|
|
518
|
+
description: joi__default["default"].string(),
|
|
519
|
+
pathWithinParent: joi__default["default"].string()
|
|
521
520
|
}).keys({
|
|
522
|
-
vcs:
|
|
523
|
-
host:
|
|
524
|
-
owner:
|
|
525
|
-
name:
|
|
521
|
+
vcs: joi__default["default"].object({
|
|
522
|
+
host: joi__default["default"].string().required(),
|
|
523
|
+
owner: joi__default["default"].string().required(),
|
|
524
|
+
name: joi__default["default"].string().required()
|
|
526
525
|
})
|
|
527
526
|
}).keys({
|
|
528
|
-
configs:
|
|
529
|
-
eslint:
|
|
530
|
-
scope:
|
|
527
|
+
configs: joi__default["default"].object({
|
|
528
|
+
eslint: joi__default["default"].object({
|
|
529
|
+
scope: joi__default["default"].string().regex(/^@[a-z0-9-]+$/i, 'scope').required()
|
|
531
530
|
}),
|
|
532
|
-
typescript:
|
|
533
|
-
scope:
|
|
531
|
+
typescript: joi__default["default"].object({
|
|
532
|
+
scope: joi__default["default"].string().regex(/^@[a-z0-9-]+$/i, 'scope').required()
|
|
534
533
|
}),
|
|
535
|
-
commitlint:
|
|
536
|
-
packageName:
|
|
537
|
-
name:
|
|
534
|
+
commitlint: joi__default["default"].object({
|
|
535
|
+
packageName: joi__default["default"].string().required(),
|
|
536
|
+
name: joi__default["default"].string().required()
|
|
538
537
|
}),
|
|
539
|
-
babelPreset:
|
|
540
|
-
packageName:
|
|
541
|
-
name:
|
|
538
|
+
babelPreset: joi__default["default"].object({
|
|
539
|
+
packageName: joi__default["default"].string().required(),
|
|
540
|
+
name: joi__default["default"].string().required()
|
|
542
541
|
}),
|
|
543
|
-
remark:
|
|
542
|
+
remark: joi__default["default"].string()
|
|
544
543
|
}).default({})
|
|
545
544
|
}).keys({
|
|
546
|
-
overrides:
|
|
547
|
-
npmAccount:
|
|
548
|
-
author:
|
|
549
|
-
name:
|
|
550
|
-
email:
|
|
551
|
-
url:
|
|
545
|
+
overrides: joi__default["default"].object({
|
|
546
|
+
npmAccount: joi__default["default"].string(),
|
|
547
|
+
author: joi__default["default"].object({
|
|
548
|
+
name: joi__default["default"].string().required(),
|
|
549
|
+
email: joi__default["default"].string().email(),
|
|
550
|
+
url: joi__default["default"].string().uri()
|
|
552
551
|
})
|
|
553
552
|
}).default({})
|
|
554
553
|
}).keys({
|
|
555
|
-
ciServices:
|
|
556
|
-
scaffolder:
|
|
557
|
-
public:
|
|
558
|
-
private:
|
|
554
|
+
ciServices: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
555
|
+
scaffolder: joi__default["default"].func().arity(1).required(),
|
|
556
|
+
public: joi__default["default"].boolean(),
|
|
557
|
+
private: joi__default["default"].boolean()
|
|
559
558
|
})).default({})
|
|
560
559
|
}).keys({
|
|
561
|
-
hosts:
|
|
562
|
-
scaffolder:
|
|
563
|
-
projectTypes:
|
|
560
|
+
hosts: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
561
|
+
scaffolder: joi__default["default"].func().arity(1).required(),
|
|
562
|
+
projectTypes: joi__default["default"].array().items(joi__default["default"].string().valid('static', 'node')).default([])
|
|
564
563
|
})).default({})
|
|
565
564
|
}).keys({
|
|
566
|
-
applicationTypes:
|
|
567
|
-
scaffolder:
|
|
565
|
+
applicationTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
566
|
+
scaffolder: joi__default["default"].func().arity(1).required()
|
|
568
567
|
})).default({}),
|
|
569
|
-
packageTypes:
|
|
570
|
-
scaffolder:
|
|
568
|
+
packageTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
569
|
+
scaffolder: joi__default["default"].func().arity(1).required()
|
|
571
570
|
})).default({}),
|
|
572
|
-
monorepoTypes:
|
|
573
|
-
scaffolder:
|
|
571
|
+
monorepoTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
|
|
572
|
+
scaffolder: joi__default["default"].func().arity(1).required()
|
|
574
573
|
}))
|
|
575
574
|
}).keys({
|
|
576
575
|
unitTestFrameworks: unitTestFrameworksSchema,
|
|
577
576
|
packageBundlers: packageBundlersSchema
|
|
578
577
|
}).keys({
|
|
579
|
-
decisions:
|
|
578
|
+
decisions: joi__default["default"].object()
|
|
580
579
|
}).keys({
|
|
581
|
-
registries:
|
|
580
|
+
registries: joi__default["default"].object().pattern(joi__default["default"].string(), joi__default["default"].string().uri()).default({})
|
|
582
581
|
});
|
|
583
582
|
const {
|
|
584
583
|
error,
|
|
@@ -729,7 +728,7 @@ async function prompt({
|
|
|
729
728
|
name: questionNames$1.PROJECT_TYPE,
|
|
730
729
|
message: 'What type of JavaScript project is this?',
|
|
731
730
|
type: 'list',
|
|
732
|
-
choices: [...Object.values(javascriptCore.projectTypes), new
|
|
731
|
+
choices: [...Object.values(javascriptCore.projectTypes), new overridablePrompts.Separator(), 'Other'],
|
|
733
732
|
default: javascriptCore.projectTypes.PACKAGE
|
|
734
733
|
}, ...('Private' === visibility ? [] : [{
|
|
735
734
|
name: questionNames$1.SHOULD_BE_SCOPED,
|
|
@@ -762,7 +761,7 @@ async function prompt({
|
|
|
762
761
|
type: 'list',
|
|
763
762
|
message: 'Where will the application be hosted?',
|
|
764
763
|
when: projectIsApplication,
|
|
765
|
-
choices: [...Object.keys(hosts), new
|
|
764
|
+
choices: [...Object.keys(hosts), new overridablePrompts.Separator(), 'Other']
|
|
766
765
|
}], decisions);
|
|
767
766
|
return {
|
|
768
767
|
tests: {
|
|
@@ -992,7 +991,7 @@ async function chooseApplicationType ({
|
|
|
992
991
|
name: questionNames$1.PROJECT_TYPE_CHOICE,
|
|
993
992
|
type: 'list',
|
|
994
993
|
message: `What type of ${projectType} is this?`,
|
|
995
|
-
choices: [...Object.keys(types), new
|
|
994
|
+
choices: [...Object.keys(types), new overridablePrompts.Separator(), 'Other']
|
|
996
995
|
}], decisions);
|
|
997
996
|
return answers[questionNames$1.PROJECT_TYPE_CHOICE];
|
|
998
997
|
}
|
|
@@ -1047,7 +1046,7 @@ async function chooseBundler ({
|
|
|
1047
1046
|
name: questionNames$1.PACKAGE_BUNDLER,
|
|
1048
1047
|
type: 'list',
|
|
1049
1048
|
message: 'Which bundler should be used?',
|
|
1050
|
-
choices: [...Object.keys(bundlers), new
|
|
1049
|
+
choices: [...Object.keys(bundlers), new overridablePrompts.Separator(), 'Other']
|
|
1051
1050
|
}], decisions);
|
|
1052
1051
|
return answers[questionNames$1.PACKAGE_BUNDLER];
|
|
1053
1052
|
}
|