@form8ion/javascript 3.0.1 → 3.1.0-alpha.4
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.cjs.js +73 -30
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +72 -29
- package/lib/index.es.js.map +1 -1
- package/package.json +2 -2
package/lib/index.cjs.js
CHANGED
|
@@ -5,15 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var languageScaffolderPrompts = require('@travi/language-scaffolder-prompts');
|
|
6
6
|
var deepmerge = require('deepmerge');
|
|
7
7
|
var javascriptCore = require('@form8ion/javascript-core');
|
|
8
|
-
var codecov = require('@form8ion/codecov');
|
|
9
|
-
var fs = require('fs');
|
|
10
8
|
var joi = require('joi');
|
|
11
9
|
var inquirer = require('inquirer');
|
|
12
10
|
var overridablePrompts = require('@form8ion/overridable-prompts');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
11
|
+
var codecov = require('@form8ion/codecov');
|
|
12
|
+
var fs = require('fs');
|
|
15
13
|
var core = require('@form8ion/core');
|
|
16
|
-
var
|
|
14
|
+
var cliMessages = require('@travi/cli-messages');
|
|
17
15
|
var commitConvention = require('@form8ion/commit-convention');
|
|
18
16
|
var hoek = require('@hapi/hoek');
|
|
19
17
|
var execa = require('execa');
|
|
@@ -26,6 +24,8 @@ var camelcase = require('camelcase');
|
|
|
26
24
|
var makeDir = require('make-dir');
|
|
27
25
|
var touch = require('touch');
|
|
28
26
|
var path = require('path');
|
|
27
|
+
var huskyPlugin = require('@form8ion/husky');
|
|
28
|
+
var eslint = require('@form8ion/eslint');
|
|
29
29
|
|
|
30
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
31
31
|
|
|
@@ -56,6 +56,7 @@ var mustache__default = /*#__PURE__*/_interopDefaultLegacy(mustache);
|
|
|
56
56
|
var camelcase__default = /*#__PURE__*/_interopDefaultLegacy(camelcase);
|
|
57
57
|
var makeDir__default = /*#__PURE__*/_interopDefaultLegacy(makeDir);
|
|
58
58
|
var touch__default = /*#__PURE__*/_interopDefaultLegacy(touch);
|
|
59
|
+
var huskyPlugin__namespace = /*#__PURE__*/_interopNamespace(huskyPlugin);
|
|
59
60
|
|
|
60
61
|
function ownKeys(object, enumerableOnly) {
|
|
61
62
|
var keys = Object.keys(object);
|
|
@@ -150,6 +151,62 @@ async function scaffoldCoverage ({
|
|
|
150
151
|
}));
|
|
151
152
|
}
|
|
152
153
|
|
|
154
|
+
function nycIsConfigured ({
|
|
155
|
+
projectRoot
|
|
156
|
+
}) {
|
|
157
|
+
return core.fileExists(`${projectRoot}/.nycrc`);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
async function removeDependencies ({
|
|
161
|
+
packageManager,
|
|
162
|
+
dependencies
|
|
163
|
+
}) {
|
|
164
|
+
await execa__default["default"](packageManager, ['remove', ...dependencies]);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
async function removeNyc ({
|
|
168
|
+
projectRoot,
|
|
169
|
+
packageManager
|
|
170
|
+
}) {
|
|
171
|
+
await Promise.all([fs.promises.unlink(`${projectRoot}/.nycrc`), fs.promises.rmdir(`${projectRoot}/.nyc_output`, {
|
|
172
|
+
recursive: true,
|
|
173
|
+
force: true
|
|
174
|
+
}), removeDependencies({
|
|
175
|
+
packageManager,
|
|
176
|
+
dependencies: ['nyc', '@istanbuljs/nyc-config-babel']
|
|
177
|
+
})]);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
async function lift$2({
|
|
181
|
+
projectRoot,
|
|
182
|
+
packageManager
|
|
183
|
+
}) {
|
|
184
|
+
if (await nycIsConfigured({
|
|
185
|
+
projectRoot
|
|
186
|
+
})) {
|
|
187
|
+
const [c8Results] = await Promise.all([scaffoldC8({
|
|
188
|
+
projectRoot
|
|
189
|
+
}), removeNyc({
|
|
190
|
+
projectRoot,
|
|
191
|
+
packageManager
|
|
192
|
+
})]);
|
|
193
|
+
return deepmerge__default["default"].all([c8Results, {
|
|
194
|
+
scripts: {
|
|
195
|
+
'test:unit': 'cross-env NODE_ENV=test c8 run-s test:unit:base'
|
|
196
|
+
}
|
|
197
|
+
}]);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return {};
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
var coveragePlugin = /*#__PURE__*/Object.freeze({
|
|
204
|
+
__proto__: null,
|
|
205
|
+
scaffold: scaffoldCoverage,
|
|
206
|
+
lift: lift$2,
|
|
207
|
+
test: nycIsConfigured
|
|
208
|
+
});
|
|
209
|
+
|
|
153
210
|
const unitTestFrameworksSchema = joi__namespace.object().required().pattern(/^/, joi__namespace.object({
|
|
154
211
|
scaffolder: joi__namespace.func().arity(1).required()
|
|
155
212
|
}));
|
|
@@ -198,18 +255,15 @@ async function scaffoldUnitTesting ({
|
|
|
198
255
|
async function applyEnhancers ({
|
|
199
256
|
results,
|
|
200
257
|
enhancers = {},
|
|
201
|
-
|
|
258
|
+
options
|
|
202
259
|
}) {
|
|
203
260
|
cliMessages.info('Applying Enhancers');
|
|
204
261
|
return Object.values(enhancers).reduce(async (acc, enhancer) => {
|
|
205
|
-
if (await enhancer.test({
|
|
206
|
-
projectRoot
|
|
207
|
-
})) {
|
|
262
|
+
if (await enhancer.test(options)) {
|
|
208
263
|
const previousResults = await acc;
|
|
209
|
-
return deepmerge__default["default"](previousResults, await enhancer.lift({
|
|
210
|
-
results: previousResults
|
|
211
|
-
|
|
212
|
-
}));
|
|
264
|
+
return deepmerge__default["default"](previousResults, await enhancer.lift(_objectSpread2({
|
|
265
|
+
results: previousResults
|
|
266
|
+
}, options)));
|
|
213
267
|
}
|
|
214
268
|
|
|
215
269
|
return acc;
|
|
@@ -295,20 +349,6 @@ async function resolvePackageManager ({
|
|
|
295
349
|
throw new Error('Package-manager could not be determined');
|
|
296
350
|
}
|
|
297
351
|
|
|
298
|
-
function enhanceHuskyEnhancer(packageManager) {
|
|
299
|
-
return {
|
|
300
|
-
test: husky.test,
|
|
301
|
-
lift: ({
|
|
302
|
-
projectRoot,
|
|
303
|
-
results
|
|
304
|
-
}) => husky.lift({
|
|
305
|
-
projectRoot,
|
|
306
|
-
results,
|
|
307
|
-
packageManager
|
|
308
|
-
})
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
|
|
312
352
|
async function lift ({
|
|
313
353
|
projectRoot,
|
|
314
354
|
results
|
|
@@ -332,8 +372,11 @@ async function lift ({
|
|
|
332
372
|
});
|
|
333
373
|
const enhancerResults = await applyEnhancers({
|
|
334
374
|
results,
|
|
335
|
-
enhancers: [
|
|
336
|
-
|
|
375
|
+
enhancers: [huskyPlugin__namespace, enginesEnhancer, coveragePlugin],
|
|
376
|
+
options: {
|
|
377
|
+
packageManager,
|
|
378
|
+
projectRoot
|
|
379
|
+
}
|
|
337
380
|
});
|
|
338
381
|
await liftPackage(deepmerge__default["default"].all([{
|
|
339
382
|
projectRoot,
|
|
@@ -1485,7 +1528,7 @@ async function scaffoldVerification({
|
|
|
1485
1528
|
decisions,
|
|
1486
1529
|
dialect,
|
|
1487
1530
|
pathWithinParent
|
|
1488
|
-
}),
|
|
1531
|
+
}), huskyPlugin.scaffold({
|
|
1489
1532
|
projectRoot,
|
|
1490
1533
|
packageManager
|
|
1491
1534
|
})]);
|