@form8ion/javascript 11.5.5 → 11.6.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 CHANGED
@@ -4,15 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var languageScaffolderPrompts = require('@travi/language-scaffolder-prompts');
6
6
  var deepmerge = require('deepmerge');
7
+ var core = require('@form8ion/core');
7
8
  var javascriptCore = require('@form8ion/javascript-core');
8
9
  var joi = require('joi');
9
10
  var overridablePrompts = require('@form8ion/overridable-prompts');
10
11
  var codecov = require('@form8ion/codecov');
11
12
  var configFile = require('@form8ion/config-file');
12
- var core = require('@form8ion/core');
13
13
  var cliMessages = require('@travi/cli-messages');
14
14
  var commitConventionPlugin = require('@form8ion/commit-convention');
15
- var hoek = require('@hapi/hoek');
16
15
  var execa = require('@form8ion/execa-wrapper');
17
16
  var npmConf = require('npm-conf');
18
17
  var fs = require('fs');
@@ -55,7 +54,6 @@ function _interopNamespace(e) {
55
54
  var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge);
56
55
  var joi__default = /*#__PURE__*/_interopDefaultLegacy(joi);
57
56
  var commitConventionPlugin__namespace = /*#__PURE__*/_interopNamespace(commitConventionPlugin);
58
- var hoek__namespace = /*#__PURE__*/_interopNamespace(hoek);
59
57
  var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
60
58
  var npmConf__default = /*#__PURE__*/_interopDefaultLegacy(npmConf);
61
59
  var validatePackageName__default = /*#__PURE__*/_interopDefaultLegacy(validatePackageName);
@@ -183,7 +181,7 @@ async function chooseFramework ({frameworks, decisions}) {
183
181
  }
184
182
 
185
183
  async function scaffoldUnitTesting ({projectRoot, frameworks, decisions, visibility, vcs, pathWithinParent, dialect}) {
186
- const validatedFrameworks = javascriptCore.validateOptions(unitTestFrameworksSchema, frameworks);
184
+ const validatedFrameworks = core.validateOptions(unitTestFrameworksSchema, frameworks);
187
185
  const [framework, coverage] = await Promise.all([
188
186
  chooseFramework({frameworks: validatedFrameworks, decisions})
189
187
  .then(chosenFramework => javascriptCore.scaffoldChoice(validatedFrameworks, chosenFramework, {projectRoot, dialect})),
@@ -265,9 +263,7 @@ async function test({projectRoot}) {
265
263
  return !!engines?.node;
266
264
  }
267
265
 
268
- async function lift$1({projectRoot}) {
269
- const {name} = JSON.parse(await fs.promises.readFile(`${projectRoot}/package.json`, 'utf8'));
270
-
266
+ async function lift$1({packageDetails: {name}}) {
271
267
  return {
272
268
  devDependencies: ['ls-engines'],
273
269
  scripts: {'lint:engines': 'ls-engines'},
@@ -654,9 +650,9 @@ async function scaffoldProjectType ({
654
650
  }
655
651
  }
656
652
 
657
- async function lifter$1 ({projectRoot}) {
658
- if (await isPackage({projectRoot})) return liftPackage$1({projectRoot});
659
- if (await isCli({projectRoot})) return liftCli({projectRoot});
653
+ async function lifter$1 ({projectRoot, packageDetails}) {
654
+ if (await isPackage({projectRoot})) return liftPackage$1({projectRoot, packageDetails});
655
+ if (await isCli({projectRoot})) return liftCli({projectRoot, packageDetails});
660
656
 
661
657
  return {};
662
658
  }
@@ -992,7 +988,10 @@ async function lift ({projectRoot, vcs, results}) {
992
988
  packageManager: manager
993
989
  } = results;
994
990
 
995
- const packageManager = await resolvePackageManager({projectRoot, packageManager: manager});
991
+ const [packageManager, packageContents] = await Promise.all([
992
+ resolvePackageManager({projectRoot, packageManager: manager}),
993
+ node_fs.promises.readFile(`${projectRoot}/package.json`, 'utf8')
994
+ ]);
996
995
 
997
996
  const enhancerResults = await core.applyEnhancers({
998
997
  results,
@@ -1005,7 +1004,7 @@ async function lift ({projectRoot, vcs, results}) {
1005
1004
  codeStylePlugin,
1006
1005
  projectTypes
1007
1006
  ],
1008
- options: {packageManager, projectRoot, vcs}
1007
+ options: {packageManager, projectRoot, vcs, packageDetails: JSON.parse(packageContents)}
1009
1008
  });
1010
1009
 
1011
1010
  await liftPackage(
@@ -1018,9 +1017,16 @@ async function lift ({projectRoot, vcs, results}) {
1018
1017
  return enhancerResults;
1019
1018
  }
1020
1019
 
1021
- const packageBundlersSchema = joi__default["default"].object().pattern(/^/, joi__default["default"].object({
1022
- scaffolder: joi__default["default"].func().arity(1).required()
1023
- })).default({});
1020
+ const pluginSchema = joi__default["default"].object({scaffolder: joi__default["default"].func().arity(1).required()});
1021
+ const pluginMapSchema = joi__default["default"].object().pattern(/^/, pluginSchema);
1022
+
1023
+ const packageBundlersSchema = pluginMapSchema.default({});
1024
+
1025
+ const applicationTypesSchema = pluginMapSchema.default({});
1026
+
1027
+ const packageTypesSchema = pluginMapSchema.default({});
1028
+
1029
+ const monorepoTypesSchema = pluginMapSchema.default({});
1024
1030
 
1025
1031
  function validate(options) {
1026
1032
  const schema = joi__default["default"].object().required()
@@ -1079,15 +1085,9 @@ function validate(options) {
1079
1085
  })).default({})
1080
1086
  })
1081
1087
  .keys({
1082
- applicationTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
1083
- scaffolder: joi__default["default"].func().arity(1).required()
1084
- })).default({}),
1085
- packageTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
1086
- scaffolder: joi__default["default"].func().arity(1).required()
1087
- })).default({}),
1088
- monorepoTypes: joi__default["default"].object().pattern(/^/, joi__default["default"].object({
1089
- scaffolder: joi__default["default"].func().arity(1).required()
1090
- }))
1088
+ applicationTypes: applicationTypesSchema,
1089
+ packageTypes: packageTypesSchema,
1090
+ monorepoTypes: monorepoTypesSchema
1091
1091
  })
1092
1092
  .keys({
1093
1093
  unitTestFrameworks: unitTestFrameworksSchema,
@@ -1097,11 +1097,8 @@ function validate(options) {
1097
1097
  decisions: joi__default["default"].object()
1098
1098
  })
1099
1099
  .keys({registries: joi__default["default"].object().pattern(joi__default["default"].string(), joi__default["default"].string().uri()).default({})});
1100
- const {error, value} = schema.validate(options);
1101
-
1102
- hoek__namespace.assert(!error, error);
1103
1100
 
1104
- return value;
1101
+ return core.validateOptions(schema, options);
1105
1102
  }
1106
1103
 
1107
1104
  function buildDialectChoices ({babelPreset, typescript}) {