Skip to content

Commit fc7f54f

Browse files
Add badge generation
1 parent de224b3 commit fc7f54f

File tree

5 files changed

+104
-11
lines changed

5 files changed

+104
-11
lines changed

generator/index.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ function buildPrePublishOnly({ useVueStyleguidist, useVueDoc, useLint }) {
1313
return script.trim()
1414
}
1515

16-
17-
module.exports = (api, { componentName, useVueStyleguidist, useVueDoc }) => {
16+
module.exports = (api, { componentName, useVueStyleguidist, useVueDoc, addBadges }) => {
1817

1918
const useLint = api.hasPlugin('eslint')
20-
const context = { componentName, useVueStyleguidist, useVueDoc, useLint }
19+
const context = { componentName, useVueStyleguidist, useVueDoc, addBadges, useLint }
2120

2221
api.extendPackage({
2322
name: componentName,

generator/readmeUpdater.js

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { hasProjectYarn } = require('@vue/cli-shared-utils')
1+
const { hasProjectYarn, hasProjectGit } = require('@vue/cli-shared-utils')
22

33
const descriptions = {
44
useVueStyleguidist: {
@@ -33,10 +33,27 @@ function updateScriptDescription(options) {
3333
return scriptDescription
3434
}
3535

36-
module.exports = (content, { componentName, useVueDoc, useVueStyleguidist }) => {
36+
module.exports = (content, { componentName, useVueDoc, useVueStyleguidist, addBadges }) => {
37+
const hasGit = hasProjectGit (process.cwd())
38+
3739
const updateInReadMe = [
3840
'',
39-
'# $1',
41+
'# $1'
42+
]
43+
44+
if (addBadges) {
45+
if (hasGit){
46+
var userName = require('git-user-name')();
47+
updateInReadMe.push(
48+
`[![GitHub open issues](https://img.shields.io/github/issues/${userName}/$1.svg?maxAge=2592000)](https://github.com/${userName}/$1/issues)`
49+
)
50+
}
51+
updateInReadMe.push(
52+
`[![Npm version](https://img.shields.io/npm/v/$1.svg?maxAge=2592000)](https://www.npmjs.com/package/$1)`,
53+
);
54+
}
55+
56+
updateInReadMe.push(
4057
'',
4158
'## Usage',
4259
'```HTML',
@@ -51,10 +68,13 @@ module.exports = (content, { componentName, useVueDoc, useVueStyleguidist }) =>
5168
' }',
5269
'}',
5370
'```'
54-
];
71+
);
5572

5673
if (useVueDoc) {
57-
updateInReadMe.push('## API','');
74+
updateInReadMe.push(
75+
'## API',
76+
''
77+
);
5878
}
5979

6080
updateInReadMe.push(

package-lock.json

Lines changed: 68 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-cli-plugin-component",
3-
"version": "1.4.2",
3+
"version": "1.5.0",
44
"description": "vue-cli 3 plugin to create shareable component",
55
"main": "index.js",
66
"repository": {
@@ -24,7 +24,8 @@
2424
},
2525
"dependencies": {
2626
"@types/node": "^10.5.2",
27-
"@vue/cli-shared-utils": "^3.0.0-rc.5"
27+
"@vue/cli-shared-utils": "^3.0.0-rc.5",
28+
"git-user-name": "^2.0.0"
2829
},
2930
"devDependencies": {
3031
"@types/chai": "^4.1.0",

prompts.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,11 @@ module.exports = [
1515
name: 'useVueDoc',
1616
message: 'Use vuedoc.md to automatically generate README API section?',
1717
default: true
18+
},
19+
{
20+
type: 'confirm',
21+
name: 'addBadges',
22+
message: 'Add project badges to README.md?',
23+
default: true
1824
}
1925
]

0 commit comments

Comments
 (0)