feat(builder): ignore option to function the same as `.nuxtignore` (#7132)

This commit is contained in:
Jt Whissel 2020-03-27 06:53:23 -04:00 committed by GitHub
parent f18e241f70
commit 51b5bf565b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -82,7 +82,8 @@ export default class Builder {
this.bundleBuilder = this.getBundleBuilder(bundleBuilder) this.bundleBuilder = this.getBundleBuilder(bundleBuilder)
this.ignore = new Ignore({ this.ignore = new Ignore({
rootDir: this.options.srcDir rootDir: this.options.srcDir,
ignoreArray: this.options.ignore
}) })
} }
@ -312,7 +313,6 @@ export default class Builder {
async resolveFiles (dir, cwd = this.options.srcDir) { async resolveFiles (dir, cwd = this.options.srcDir) {
return this.ignore.filter(await glob(this.globPathWithExtensions(dir), { return this.ignore.filter(await glob(this.globPathWithExtensions(dir), {
cwd, cwd,
ignore: this.options.ignore,
follow: this.options.build.followSymlinks follow: this.options.build.followSymlinks
})) }))
} }

View File

@ -6,6 +6,7 @@ export default class Ignore {
constructor (options) { constructor (options) {
this.rootDir = options.rootDir this.rootDir = options.rootDir
this.ignoreOptions = options.ignoreOptions this.ignoreOptions = options.ignoreOptions
this.ignoreArray = options.ignoreArray
this.addIgnoresRules() this.addIgnoresRules()
} }
@ -35,6 +36,12 @@ export default class Ignore {
if (content) { if (content) {
this.ignore.add(content) this.ignore.add(content)
} }
if (this.ignoreArray && this.ignoreArray.length > 0) {
if (!this.ignore) {
this.ignore = ignore(this.ignoreOptions)
}
this.ignore.add(this.ignoreArray)
}
} }
filter (paths) { filter (paths) {

View File

@ -102,7 +102,7 @@ describe('builder: builder generate', () => {
expect(Glob).toBeCalledTimes(1) expect(Glob).toBeCalledTimes(1)
expect(Glob).toBeCalledWith( expect(Glob).toBeCalledWith(
'/var/nuxt/dir/**/*.{vue,js}', '/var/nuxt/dir/**/*.{vue,js}',
{ cwd: '/var/nuxt/src', ignore: '/var/nuxt/ignore' } { cwd: '/var/nuxt/src' }
) )
expect(builder.ignore.filter).toBeCalledTimes(1) expect(builder.ignore.filter).toBeCalledTimes(1)
expect(builder.ignore.filter).toBeCalledWith('matched files') expect(builder.ignore.filter).toBeCalledWith('matched files')