From e105fadd7eb35c2c2e48571d1a4635e592bf6f8b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 17 Apr 2024 14:17:35 +0100 Subject: [PATCH] fix(kit): ignore negation when resolving ignore patterns --- packages/kit/src/ignore.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/ignore.ts b/packages/kit/src/ignore.ts index bc93e8cd7a..4fa478187c 100644 --- a/packages/kit/src/ignore.ts +++ b/packages/kit/src/ignore.ts @@ -28,6 +28,8 @@ export function isIgnored (pathname: string): boolean { return !!(relativePath && nuxt._ignore.ignores(relativePath)) } +const NEGATION_RE = /^(!?)(.*)$/ + export function resolveIgnorePatterns (relativePath?: string): string[] { const nuxt = tryUseNuxt() @@ -48,7 +50,13 @@ export function resolveIgnorePatterns (relativePath?: string): string[] { if (relativePath) { // Map ignore patterns based on if they start with * or !* - return nuxt._ignorePatterns.map(p => p[0] === '*' || (p[0] === '!' && p[1] === '*') ? p : relative(relativePath, resolve(nuxt.options.rootDir, p))) + return nuxt._ignorePatterns.map(p => { + const [_, negation = '', pattern] = p.match(NEGATION_RE) || [] + if (pattern[0] === '*') { + return p + } + return negation + relative(relativePath, resolve(nuxt.options.rootDir, pattern || p)) + }) } return nuxt._ignorePatterns