0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-16 21:46:22 -05:00

Provide better ignores for Vercel's file tracer (#9885)

* Provide better ignores for Vercel's file tracer

* Improve the changeset
This commit is contained in:
Matthew Phillips 2024-01-31 10:30:35 -05:00 committed by GitHub
parent 7be5f94dcf
commit 49e0c24d7f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 32 additions and 1 deletions

View file

@ -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.

View file

@ -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"
},

View file

@ -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,
});

View file

@ -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