Skip to content

Commit f6f7184

Browse files
Add unit test on pre-publish
1 parent 0da4c9b commit f6f7184

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

generator/index.js

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,20 @@ const readmeUpdater = require('./readmeUpdater');
44
const licenseList = require('spdx-license-list/full');
55
const camelCase = require('camelcase');
66

7-
function buildPrePublishOnly({ useVueStyleguidist, useVueDoc, useLint }) {
7+
function buildPrePublishOnly({ useVueStyleguidist, hasTest, useVueDoc, useLint }) {
88
const scripts = []
9+
if (hasTest) {
10+
scripts.push('test:unit');
11+
}
912
if (useLint) {
10-
scripts.push('lint')
13+
scripts.push('lint');
1114
}
1215
scripts.push('build')
1316
if (useVueStyleguidist) {
14-
scripts.push('styleguide:build')
17+
scripts.push('styleguide:build');
1518
}
1619
if (useVueDoc) {
17-
scripts.push('doc:build')
20+
scripts.push('doc:build');
1821
}
1922
return scripts.map(script => `npm run ${script}`).join(' && ')
2023
}
@@ -25,14 +28,16 @@ function replaceInLicense(licenseTextTemplate, sourceText, newText) {
2528
}
2629

2730
module.exports = (api, context) => {
28-
const { addLicense, componentName, copyrightHolders, licenseName, useComponentFixture, useVueDoc, useVueStyleguidist } = context
29-
const useLint = api.hasPlugin('eslint')
30-
const usesTypescript = api.hasPlugin('typescript')
31-
const extension = usesTypescript ? 'ts' : 'js'
31+
const { addLicense, componentName, copyrightHolders, licenseName, useComponentFixture, useVueDoc, useVueStyleguidist } = context;
32+
const useLint = api.hasPlugin('eslint');
33+
const usesTypescript = api.hasPlugin('typescript');
34+
const extension = usesTypescript ? 'ts' : 'js';
35+
const hasTest = api.hasPlugin('unit-mocha') || api.hasPlugin('unit-jest');
3236
context.componentName = camelCase(componentName, { pascalCase: true });
33-
const packageName = api.generator.pkg.name
34-
context.packageName = packageName
35-
context.useLint = useLint
37+
const packageName = api.generator.pkg.name;
38+
context.packageName = packageName;
39+
context.useLint = useLint;
40+
context.hasTest = hasTest;
3641

3742
api.extendPackage({
3843
main: `dist/${packageName}.umd.js`,
@@ -95,7 +100,6 @@ module.exports = (api, context) => {
95100
api.render('./template')
96101

97102
api.postProcessFiles(files => {
98-
const hasTest = api.hasPlugin('unit-mocha') || api.hasPlugin('unit-jest');
99103
if (hasTest) {
100104
updateFile(files, `tests/unit/HelloWorld.spec.${extension}`, content => content.replace(/HelloWorld/g, context.componentName));
101105
}
@@ -106,9 +110,9 @@ module.exports = (api, context) => {
106110
updateFile(files, 'src/App.vue', content => updateExample(content, context.componentName));
107111
}
108112

109-
const immutableFiles = ['src/components/HelloWorld.vue', 'src/index.js', 'src/index.ts']
110-
renameFiles(files, /^src\//, 'example/', (file) => immutableFiles.indexOf(file) !== -1)
111-
renameFiles(files, /\/HelloWorld\./, `/${context.componentName}.`)
113+
const immutableFiles = ['src/components/HelloWorld.vue', 'src/index.js', 'src/index.ts'];
114+
renameFiles(files, /^src\//, 'example/', (file) => immutableFiles.indexOf(file) !== -1);
115+
renameFiles(files, /\/HelloWorld\./, `/${context.componentName}.`);
112116

113117
if (usesTypescript) {
114118
rename(files, 'src/index.js', 'src/index.ts');

0 commit comments

Comments
 (0)