Skip to content

Commit 75c398f

Browse files
authored
fix(creator): do not override the README.md generated by plugins (vuejs#5472)
closes vuejs#4802 closes vuejs#4942
1 parent 96dfd58 commit 75c398f

File tree

4 files changed

+39
-7
lines changed

4 files changed

+39
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = (api, options) => {
2+
api.render(files => {
3+
files['README.md'] = 'hello'
4+
})
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"plugins": {
3+
"@vue/cli-plugin-babel": {}
4+
}
5+
}

packages/@vue/cli/__tests__/preset.spec.js

+20
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,23 @@ test('should recognize generator/index.js in a local preset directory by async g
8585
expect(pkg.scripts).toHaveProperty('testasync')
8686
})
8787

88+
test('should not override the README.md generated by plugins', async () => {
89+
const cwd = path.resolve(__dirname, '../../../test')
90+
const name = 'test-preset-readme'
91+
92+
await create(
93+
name,
94+
{
95+
force: true,
96+
git: false,
97+
cwd,
98+
preset: path.resolve(__dirname, './mock-preset-with-readme')
99+
}
100+
)
101+
102+
const readme = await fs.readFile(path.resolve(cwd, name, 'README.md'), 'utf-8')
103+
expect(readme).toBe('hello')
104+
105+
const pkg = require(path.resolve(cwd, name, 'package.json'))
106+
expect(pkg.devDependencies).toHaveProperty('@vue/cli-plugin-babel')
107+
})

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

+9-7
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,15 @@ module.exports = class Creator extends EventEmitter {
214214
await cb()
215215
}
216216

217-
// generate README.md
218-
stopSpinner()
219-
log()
220-
logWithSpinner('📄', 'Generating README.md...')
221-
await writeFileTree(context, {
222-
'README.md': generateReadme(generator.pkg, packageManager)
223-
})
217+
if (!generator.files['README.md']) {
218+
// generate README.md
219+
stopSpinner()
220+
log()
221+
logWithSpinner('📄', 'Generating README.md...')
222+
await writeFileTree(context, {
223+
'README.md': generateReadme(generator.pkg, packageManager)
224+
})
225+
}
224226

225227
// generate a .npmrc file for pnpm, to persist the `shamefully-flatten` flag
226228
if (packageManager === 'pnpm') {

0 commit comments

Comments
 (0)