Skip to content

Commit 278e992

Browse files
arthurdennerAkryum
authored andcommitted
feat: Generating README.md (vuejs#1717)
* feat: Generating README.md based on the package.json * refactor: Adding missing scripts, changing descriptions and improving code * chore: Moving stopSpinner to correct position and adding comment * chore: Changing description to script test:e2e * refactor: Removing unnecessary `if`
1 parent 20bbff0 commit 278e992

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

packages/@vue/cli/lib/Creator.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const PromptModuleAPI = require('./PromptModuleAPI')
1515
const writeFileTree = require('./util/writeFileTree')
1616
const { formatFeatures } = require('./util/features')
1717
const fetchRemotePreset = require('./util/fetchRemotePreset')
18+
const generateReadme = require('./util/generateReadme')
1819

1920
const {
2021
defaults,
@@ -184,6 +185,14 @@ module.exports = class Creator extends EventEmitter {
184185
}
185186
}
186187

188+
// generate README.md
189+
stopSpinner()
190+
log()
191+
logWithSpinner('📄', 'Generating README.md...')
192+
await writeFileTree(context, {
193+
'README.md': generateReadme(generator.pkg, packageManager)
194+
})
195+
187196
// log instructions
188197
stopSpinner()
189198
log()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
const descriptions = {
2+
build: 'Compiles and minifies for production',
3+
serve: 'Compiles and hot-reloads for development',
4+
lint: 'Lints and fixes files',
5+
test: 'Run your tests',
6+
'test:e2e': 'Run your end-to-end tests',
7+
'test:unit': 'Run your unit tests'
8+
}
9+
10+
function printScripts (pkg, packageManager) {
11+
return Object.keys(pkg.scripts).map(key => {
12+
return [
13+
`\n### ${descriptions[key]}`,
14+
`${packageManager} run ${key}\n`
15+
].join('\n')
16+
}).join('')
17+
}
18+
19+
module.exports = function generateReadme (pkg, packageManager) {
20+
return [
21+
`# ${pkg.name}\n`,
22+
'## Project setup',
23+
`${packageManager} install`,
24+
printScripts(pkg, packageManager)
25+
].join('\n')
26+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy