summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2024-01-31 10:30:35 -0500
committerGravatar GitHub <noreply@github.com> 2024-01-31 10:30:35 -0500
commit49e0c24d7f90d00e986533fcf546665967540ce7 (patch)
tree53aa50e39e0aa2f26aa78af4dc4bcbd8f0201e92
parent7be5f94dcfc73a78d0fb301eeff51614d987a165 (diff)
downloadastro-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.md12
-rw-r--r--packages/integrations/vercel/package.json1
-rw-r--r--packages/integrations/vercel/src/lib/nft.ts17
-rw-r--r--pnpm-lock.yaml3
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