diff options
author | 2024-01-31 10:30:35 -0500 | |
---|---|---|
committer | 2024-01-31 10:30:35 -0500 | |
commit | 49e0c24d7f90d00e986533fcf546665967540ce7 (patch) | |
tree | 53aa50e39e0aa2f26aa78af4dc4bcbd8f0201e92 | |
parent | 7be5f94dcfc73a78d0fb301eeff51614d987a165 (diff) | |
download | astro-49e0c24d7f90d00e986533fcf546665967540ce7.tar.gz astro-49e0c24d7f90d00e986533fcf546665967540ce7.tar.zst astro-49e0c24d7f90d00e986533fcf546665967540ce7.zip |
Provide better ignores for Vercel's file tracer (#9885)
* Provide better ignores for Vercel's file tracer
* Improve the changeset
-rw-r--r-- | .changeset/poor-tips-turn.md | 12 | ||||
-rw-r--r-- | packages/integrations/vercel/package.json | 1 | ||||
-rw-r--r-- | packages/integrations/vercel/src/lib/nft.ts | 17 | ||||
-rw-r--r-- | pnpm-lock.yaml | 3 |
4 files changed, 32 insertions, 1 deletions
diff --git a/.changeset/poor-tips-turn.md b/.changeset/poor-tips-turn.md new file mode 100644 index 000000000..aeceb5dcc --- /dev/null +++ b/.changeset/poor-tips-turn.md @@ -0,0 +1,12 @@ +--- +"@astrojs/vercel": patch +--- + +Better ignores for Vercel file-tracer + +The Vercel adapter has a file-tracer it uses to detect which files should be moved over to the dist folder. When its done it prints warnings for things that it detected that maybe should be moved. + +This change expands how we do ignores so that: + +- Ignores happen within dot folders like `.pnpm`. +- `@libsql/client` is ignored, a package we know is not bundled. diff --git a/packages/integrations/vercel/package.json b/packages/integrations/vercel/package.json index bb876d8c1..3a4c28ffc 100644 --- a/packages/integrations/vercel/package.json +++ b/packages/integrations/vercel/package.json @@ -55,6 +55,7 @@ "@vercel/nft": "^0.24.3", "esbuild": "^0.19.6", "fast-glob": "^3.3.2", + "minimatch": "^9.0.3", "set-cookie-parser": "^2.6.0", "web-vitals": "^3.4.0" }, diff --git a/packages/integrations/vercel/src/lib/nft.ts b/packages/integrations/vercel/src/lib/nft.ts index 585a45e99..7ce2fa725 100644 --- a/packages/integrations/vercel/src/lib/nft.ts +++ b/packages/integrations/vercel/src/lib/nft.ts @@ -2,6 +2,14 @@ import type { AstroIntegrationLogger } from 'astro'; import { relative, relative as relativePath } from 'node:path'; import { fileURLToPath } from 'node:url'; import { copyFilesToFunction } from './fs.js'; +import { Minimatch } from 'minimatch'; + +const matchers = [ + // Never venture into OS folders + '/dev/**', + // libsql contains many native deps that are false-positives. + '**/@libsql/client/**/*' +].map(pattern => new Minimatch(pattern, { dot: true })); export async function copyDependenciesToFunction( { @@ -38,7 +46,14 @@ export async function copyDependenciesToFunction( base: fileURLToPath(base), // If you have a route of /dev this appears in source and NFT will try to // scan your local /dev :8 - ignore: ['/dev/**'], + ignore(path) { + for(const minimatch of matchers) { + if(minimatch.match(path)) { + return true; + } + } + return false; + }, cache, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57c3533e7..e58443ebb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4714,6 +4714,9 @@ importers: fast-glob: specifier: ^3.3.2 version: 3.3.2 + minimatch: + specifier: ^9.0.3 + version: 9.0.3 set-cookie-parser: specifier: ^2.6.0 version: 2.6.0 |