Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: detect Typescript typings for NPM modules and reference them from barrel files #505

Merged
merged 19 commits into from
Oct 23, 2023

Conversation

Skn0tt
Copy link
Member

@Skn0tt Skn0tt commented Oct 19, 2023

Closes https://linear.app/netlify/issue/COM-53/load-types-when-using-npm-modules-in-edge-functions.

When generating barrel files for NPM modules, type information can get lost. To prevent that, we're adding triple-slash typescript directive, that editors can use to resolve typing information. More info on that in the TypeScript docs.

I couldn't find a library to do this for us online, sadly :/ So I had to implement most of the logic myself. It's a bit convoluted, i'm very open to improvements here.

@Skn0tt Skn0tt self-assigned this Oct 19, 2023
@Skn0tt Skn0tt requested a review from a team as a code owner October 19, 2023 17:58
const npmSpecifiersWithExtraneousFiles = new Set<string>()

reasons.forEach((reason, filePath) => {
for (const [filePath, reason] of reasons.entries()) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

making a for-loop out of this, so we can use await down below

if (!types) continue
// we're updating the output instead of adding this to the input,
// because esbuild will erase the directive while bundling
await prependFile(path.join(temporaryDirectory.path, barrelName), `/// <reference types="${types}" />`)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These will be absolute URLs. Should we change those to relative URLs instead?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nicer, yes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in e4a82a7. Had to change servePath to a repo-local directory to test this.

minivan
minivan previously approved these changes Oct 20, 2023

const detectTypes = async (filePath: string): Promise<string | undefined> => {
try {
const packageJson = await findUp('package.json', { cwd: filePath })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to find the path to package.json, because NFT gives us this information. Every module's package.json is part of the reasons object, which you can identify with type: ["resolve"] or basename(path) === "package.json".

In fact, since every npm module will have a package.json, we can just discard any file that isn't a package.json for the purpose of finding direct dependencies (we still want to look at them for the purpose of finding extraneous files).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not so sure about this. Have we verified that NFT also includes the package.json for CJS modules? Or does it only include package.json if that contains "type": "module"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we verified that NFT also includes the package.json for CJS modules?

Yes.

Copy link
Member Author

@Skn0tt Skn0tt Oct 20, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tried implementing this, but I don't see how we can identify direct dependencies based on package.json. In the test case, here's how the reason for @pt-committee/identidade/package.json looks:
Screenshot 2023-10-20 at 11 29 03
It references its internals, but not the user code that imports it. Since that's what we use to identify direct deps, we'd have to first detect the @pt-committee/identidade/index.js reason, and then find @pt-committee/identidade/package.json from that. That's tricky, and I prefer doing a (not strictly necessary) findUp instead. It's not very costly, only executed in local dev, and makes this easier to reason about.

If you seen an easier way of implementing this that i'm missing, please let me know / push a commit to this!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's tricky, and I prefer doing a (not strictly necessary) findUp instead. It's not very costly, only executed in local dev, and makes this easier to reason about.

My issue with that is that if you have a module with 10,000 files, you'll be repeating this operation 10,000 times, with no caching whatsoever:

  1. Traverse the module tree to find the package.json
  2. Read the package.json from disk
  3. Parse it
  4. Look for types
  5. Potentially traverse the module tree again to find @types/

It's not costly in the context of the synthetic test case we've put together here, but I don't think we can say the same when we're dealing with real modules.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the flip side, you'd do:

  1. Look at file: if it's not package.json, discard
  2. Look up parent of package.json, if it's not a direct dependency, discard
  3. Look up types (steps 2 to 5 above)

But only once for every node module that is a direct dependency.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look up parent of package.json, if it's not a direct dependency, discard

In order to properly detect direct dependencies, this means we need to look up the parents of package.json within NFT's reason object. Added a comment as to why in 444a78f. Assuming that's what you intend?

node/npm_dependencies.ts Outdated Show resolved Hide resolved
return `@types/${scope.replace('@', '')}__${pkg}`
}

const detectTypes = async (filePath: string): Promise<string | undefined> => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Can we add a JSDoc comment here to explain what this does?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in 59d60b4

const typesPackageContents = JSON.parse(await fs.readFile(typesPackageJson, 'utf8'))
const typesPackageTypes = typesPackageContents.types ?? typesPackageContents.typings
if (typesPackageContents) return join(typesPackageJson, '..', typesPackageTypes)
} catch {}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think having the entire function wrapped in a try with nothing in the catch is a bit of an anti-pattern, because we're essentially swallowing every possible error that might occur regardless of who calls the function.

I understand we don't want to throw an error if anything goes wrong in this process, but I think it would be nicer if we left that decision up to the caller, because then it can also decide how to handle the failure (e.g. log, do nothing, etc.).

Have you considered making this function throw and move the try/catch to getNPMSpecifiers?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did that in 59d60b4. ESLint forced me to introduce a safelyDetectTypes function so that the logic isn't nested too deep.

const code = `import * as mod from "${specifier}"; export default mod.default; export * from "${specifier}";`
const filePath = path.join(temporaryDirectory.path, `barrel-${index}.js`)
const barrelName = `barrel-${index}.js`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stuff for a future PR: it doesn't make a lot of sense to call these barrel files. At this point, when we create them, they are indeed barrel files, but further below after esbuild runs they will become the actual modules. It'd be great to name these with a slug of the module name and version.

@@ -185,6 +227,13 @@ export const vendorNPMSpecifiers = async ({
target: 'es2020',
})

for (const { barrelName, types } of ops) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we do this only when we're building for local development? We don't get any value from doing it for production builds and we'll pay the price of performance + adding a point of failure.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in 59d60b4

if (!types) continue
// we're updating the output instead of adding this to the input,
// because esbuild will erase the directive while bundling
await prependFile(path.join(temporaryDirectory.path, barrelName), `/// <reference types="${types}" />`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nicer, yes.

// every dependency will have its `package.json` in `reasons` exactly once.
// by only looking at this file, we save us from doing duplicate work.
const isPackageJson = packageJsonPath.endsWith('package.json')
if (!isPackageJson) continue
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this means we won't detect extraneous files? I think we can only discard a file that isn't package.json for the purpose of detecting direct dependencies, finding types, etc.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, yeah! I was assuming we have a test for that, but apparently we don't. Gonna add that later today.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in e206df4

const packageJsonTypes = packageJsonContents.types ?? packageJsonContents.typings
if (typeof packageJsonTypes === 'string') return path.join(packageJsonPath, '..', packageJsonTypes)

const nodeModulesFolder = await findUp('node_modules', { cwd: packageJsonPath, type: 'directory' })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than finding node_modules and then trying to find the right file inside it, I wonder if we could do all that at once with something like:

const typesPackageJson = await findUp(`node_modules/${inferDefinitelyTypedPackage(packageJsonContents.name)}/package.json)`

I think that would simplify things a bit, but not a blocker.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea! done in a0a27f0

}

/**
* Starting from a `package.json` file, this tries detecting a typescript declaration file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
* Starting from a `package.json` file, this tries detecting a typescript declaration file.
* Starting from a `package.json` file, this tries detecting a TypeScript declaration file.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed in a0a27f0

* It first looks at the `types` and `typings` fields in `package.json`.
* If it doesn't find them, it falls back to DefinitelyTyped packages (`@types/...`).
*/
const detectTypes = async (packageJsonPath: string): Promise<string | undefined> => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think the name of the method could be a bit more descriptive. "detect" doesn't tell me much about what this returns. I would consider calling this something like getTypesPath.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renamed in a0a27f0

* transformation (e.g. `@netlify/functions` -> `@types/netlify__functions`).
* https://github.com/DefinitelyTyped/DefinitelyTyped#what-about-scoped-packages
*/
const inferDefinitelyTypedPackage = (specifier: string) => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would call this getTypesPackageName. "Definitely typed" doesn't mean a lot to people who don't know that the repo where the types live have that name, so I think it could be a bit more descriptive.

Also you're calling this "types package" below, so it would make things a bit more consistent.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renamed in a0a27f0

// typically, edge functions have no direct dependency on the `package.json` of a module.
// it's the impl files that depend on `package.json`, so we need to check the parents of
// the `package.json` file as well to see if the module is a direct dependency.
const ownImports = [...(reasons.get(parentPath)?.parents ?? [])]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find this variable name confusing. If I'm reading this right, the variable contains parents, not imports/children?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renamed in a0a27f0


// We're only interested in capturing the specifiers that are first-level
// dependencies. Because we'll bundle all modules in a subsequent step,
// any transitive dependencies will be handled then.
if (isDirectDependency) {
const specifier = getPackageName(filePath)
const specifier = getPackageName(packageJsonPath)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know that this already existed in the code, but I don't think we need to call getPackageName again. We can just use packageName from above?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in a0a27f0

npmSpecifiersWithExtraneousFiles: [...npmSpecifiersWithExtraneousFiles],
}
}

const prependFile = async (path: string, prefix: string) => {
const existingContent = await fs.readFile(path, 'utf8')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really don't like that we are writing a file to disk, then loading it again into memory, and then writing it back to disk.

I think in the future it might be nice to set write: false in esbuild, so that we get the file contents directly and write to disk just once.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we create an issue so we do this as a follow-up?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a8880e0

@Skn0tt
Copy link
Member Author

Skn0tt commented Oct 23, 2023

Addressed most of your feedback, working on the test case for npmSpecifiersWithExtraneousFiles now.

eduardoboucas
eduardoboucas previously approved these changes Oct 23, 2023
Copy link
Member

@eduardoboucas eduardoboucas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

const isPackageJson = filePath.endsWith('package.json')
if (!isPackageJson) continue

const packageJsonPath = filePath
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: This feels a bit odd. Could we not just use filePath?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reverted this in 4483fe7

npmSpecifiersWithExtraneousFiles: [...npmSpecifiersWithExtraneousFiles],
}
}

const prependFile = async (path: string, prefix: string) => {
const existingContent = await fs.readFile(path, 'utf8')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we create an issue so we do this as a follow-up?

@@ -185,6 +254,15 @@ export const vendorNPMSpecifiers = async ({
target: 'es2020',
})

for (const { barrelName, types } of ops) {
if (!types) continue
// we're updating the output instead of adding this to the input,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's really annoying that esbuild doesn't make it possible to preserve certain comments in the output (only if they follow the pattern of legal comments).

Otherwise it'd be super easy for us to add the comment to the barrel file and avoid getting in the business of re-writing files.

😞

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, also checked legal comments :/ The current way is pretty much the easiest, sadly ...

* It first looks at the `types` and `typings` fields in `package.json`.
* If it doesn't find them, it falls back to DefinitelyTyped packages (`@types/...`).
*/
const getTypesPath = async (packageJsonPath: string): Promise<string | undefined> => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is totally a nit, since you shouldn't have to follow any formatting conventions that aren't enforced by our Prettier/ESLint configurations. Here goes anyway, in the spirit of sharing feedback.

I find this function a lot harder to parse than it should be, mostly because the code is super compact. Having some whitespace in between the different "sections" of the logic would help, as would things like separating the condition from the statement in if clauses.

Also, if you had the package.json parsing and the @types/ parsing on two different functions, you could have much shorter variable names (e.g. packageJsonPath and packageJsonContents could simply be path and contents), which I think would also help.

Just a personal preference and definitely not a blocker, though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, that makes things a lot easier. Thanks for the feedback! I guess I wanted to get this mergeable, so I didn't look too much at readability. Also, it's been a while since I've written PRs with more than 100 lines of new code 😅

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in aa604a8

eduardoboucas
eduardoboucas previously approved these changes Oct 23, 2023
@Skn0tt Skn0tt enabled auto-merge (squash) October 23, 2023 13:16
@Skn0tt Skn0tt merged commit 32f9e9e into main Oct 23, 2023
12 checks passed
@Skn0tt Skn0tt deleted the npm-types branch October 23, 2023 13:17
Skn0tt added a commit to netlify/build that referenced this pull request Apr 23, 2024
…om barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Skn0tt added a commit to netlify/build that referenced this pull request Apr 23, 2024
* chore(deps): update dependency vite to v4.1.2 (netlify/edge-bundler#309)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.4.4 (netlify/edge-bundler#307)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.1 (netlify/edge-bundler#310)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.1.4 (netlify/edge-bundler#311)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: update bootstrap (netlify/edge-bundler#303)

* chore(main): release 8.8.0 (netlify/edge-bundler#315)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: update std and eszip deps (netlify/edge-bundler#316)

* chore(main): release 8.8.1 (netlify/edge-bundler#317)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: update bootstrap version (netlify/edge-bundler#321)

* chore(main): release 8.9.0 (netlify/edge-bundler#323)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.37 (netlify/edge-bundler#324)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: clean some default feature flags (netlify/edge-bundler#320)

* feat: populate generator field if edge function is from a config file (netlify/edge-bundler#312)

* feat: populate generator field if edge function is from a config file

* feat: add internalSrcFolder for generated functions to autopopulate generator field

* fix: map over declarations and add generator field per declaration

* chore: cleanup (netlify/edge-bundler#325)

* chore: cleanup

* chore: increase timeout to 30s

* fix: throw errors when function or isc-config cannot be loaded (netlify/edge-bundler#327)

* feat: update bootstrap URL (netlify/edge-bundler#329)

* chore(main): release 8.10.0 (netlify/edge-bundler#326)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: propagate onError config property to manifest (netlify/edge-bundler#328)

* fix: throw errors when function or isc-config cannot be loaded

* chore: fix FF type

* feat: add on_error field

* :old-man-yells-at-linter:

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: test

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.11.0 (netlify/edge-bundler#330)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: Updated bootstrap to the latest version (netlify/edge-bundler#332)

* chore(main): release 8.11.1 (netlify/edge-bundler#333)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: export `mergeDeclarations` function (netlify/edge-bundler#334)

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(main): release 8.12.0 (netlify/edge-bundler#335)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update navikt/github-app-token-generator digest to a3831f4 (netlify/edge-bundler#278)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore: fix typo (netlify/edge-bundler#336)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: ignore config blocks for undefined functions (netlify/edge-bundler#337)

* chore(main): release 8.12.1 (netlify/edge-bundler#338)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: update vitest (netlify/edge-bundler#322)

chore: tests

Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: enforce leading slash in path and pattern (netlify/edge-bundler#339)

* chore(main): release 8.12.2 (netlify/edge-bundler#340)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.38 (netlify/edge-bundler#341)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.3 (netlify/edge-bundler#342)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: mark validation error as user error (netlify/edge-bundler#344)

* chore(main): release 8.12.3 (netlify/edge-bundler#345)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: improve speed of downloader test (netlify/edge-bundler#349)

The test now takes ~2s instead of ~22s
Also update vitest

* feat: split user and internal ISC function configs (netlify/edge-bundler#347)

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

* feat: move non-route related ef configs to function_config in manifest (netlify/edge-bundler#348)

* feat: first work on moving ef configs that are not route-related to function_config

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.13.0 (netlify/edge-bundler#350)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.41 (netlify/edge-bundler#352)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.0 (netlify/edge-bundler#353)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.1 (netlify/edge-bundler#354)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.42 (netlify/edge-bundler#355)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.8 (netlify/edge-bundler#356)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: change the order of how edge functions are written to the manifest (netlify/edge-bundler#357)

* fix: revert slash validation and change validation message (netlify/edge-bundler#343)

* fix: change validation message

* Apply suggestions from code review

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update dependency typescript to v5 (netlify/edge-bundler#351)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove duplicate functions and let .js take precedence (netlify/edge-bundler#359)

* feat: remove duplicate functions and let .js take precedence

* fix: use entire extensions list to check function precedence

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* chore(deps): update vitest monorepo to ^0.30.0 (netlify/edge-bundler#363)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.0.4 (netlify/edge-bundler#362)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.13.1 (netlify/edge-bundler#358)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: update eszip + std (netlify/edge-bundler#364)

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

* chore(main): release 8.13.2 (netlify/edge-bundler#365)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.30.1 (netlify/edge-bundler#367)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add repro for customer case (netlify/edge-bundler#366)

Update node/manifest.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

fix: types

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.1 (netlify/edge-bundler#371)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.25 (netlify/edge-bundler#370)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: add npm provenance (netlify/edge-bundler#373)

* fix: ensure regular expressions are properly escaped (netlify/edge-bundler#378)

* fix: front slashes only get escaped now if they aren't already

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* chore(deps): update dependency nock to v13.3.1 (netlify/edge-bundler#380)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.43 (netlify/edge-bundler#379)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: add route matcher to tests (netlify/edge-bundler#377)

* chore(main): release 8.14.0 (netlify/edge-bundler#372)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.14 (netlify/edge-bundler#382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.27 (netlify/edge-bundler#383)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.31.0 (netlify/edge-bundler#384)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.0 (netlify/edge-bundler#385)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.44 (netlify/edge-bundler#387)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove FF edge_functions_invalid_config_throw (netlify/edge-bundler#374)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.3 (netlify/edge-bundler#386)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove feature flag for execution order (netlify/edge-bundler#381)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.14.1 (netlify/edge-bundler#390)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: remove obsolete workflow (netlify/edge-bundler#391)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.45 (netlify/edge-bundler#393)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: remove del package (netlify/edge-bundler#394)

* chore(main): release 8.14.2 (netlify/edge-bundler#395)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.1 (netlify/edge-bundler#397)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.47 (netlify/edge-bundler#396)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: update CODEOWNERS (bulk-codeowners) (netlify/edge-bundler#399)

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.1 (netlify/edge-bundler#401)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.15 (netlify/edge-bundler#400)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* Add `excludedPath` support to ISC & TOML (netlify/edge-bundler#402)

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

netlify/pod-dev-foundations#471 (comment)

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

* feat: add support for excludedPattern (netlify/edge-bundler#403)

* chore(main): release 8.15.0 (netlify/edge-bundler#398)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.48 (netlify/edge-bundler#405)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support `node:` prefix (netlify/edge-bundler#406)

* feat: support `node:` prefix

* feat: update Deno version

* chore(main): release 8.16.0 (netlify/edge-bundler#407)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.5 (netlify/edge-bundler#409)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.4 (netlify/edge-bundler#410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.3 (netlify/edge-bundler#411)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: update minimum version of semver to be ESM compatible (netlify/edge-bundler#412)

* chore(main): release 8.16.1 (netlify/edge-bundler#413)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: improvements to download process of deno (netlify/edge-bundler#414)

* chore: add note about deno version

* chore: more logging

* chore(main): release 8.16.2 (netlify/edge-bundler#415)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.32.0 (netlify/edge-bundler#416)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.50 (netlify/edge-bundler#419)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.51 (netlify/edge-bundler#421)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.32.2 (netlify/edge-bundler#422)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#423)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.3 (netlify/edge-bundler#424)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#429)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.33.0 (netlify/edge-bundler#431)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#430)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.16.3 (netlify/edge-bundler#425)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: use vitest v8 coverage provider  and enable coverage (netlify/edge-bundler#417)

* chore: run linting in spearate job, use v8 instead of c8, enable coverage

* chore: minimum is deno 1.32 which handles `node:` prefix

* chore: use deno 1.32.5 as latest because of security issues in 1.32.0

* chore(main): release 8.16.4 (netlify/edge-bundler#432)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#433)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#434)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.7 (netlify/edge-bundler#435)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.54 (netlify/edge-bundler#436)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.2 (netlify/edge-bundler#438)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#437)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: replace `glob-to-regexp` with `URLPattern` (netlify/edge-bundler#392)

* feat: replace `glob-to-regexp` with `URLPattern`

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* chore(main): release 8.17.0 (netlify/edge-bundler#441)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: ensure patterns match on whole path (netlify/edge-bundler#442)

* fix: parseConfig stumbling over `globalThis.Netlify` usage in global scope (netlify/edge-bundler#427)

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

* chore(main): release 8.17.1 (netlify/edge-bundler#443)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#445)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: test that urlpattern named groups are supported (netlify/edge-bundler#447)

* chore(deps): update vitest monorepo to ^0.34.0 (netlify/edge-bundler#448)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: mark invalid url patterns as user error (netlify/edge-bundler#450)

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

* chore(deps): update commitlint monorepo to v17.7.1 (netlify/edge-bundler#452)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: simplify `ImportMap` (netlify/edge-bundler#453)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add `path` to manifest (netlify/edge-bundler#455)

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

* chore(main): release 8.18.0 (netlify/edge-bundler#446)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency archiver to v5.3.2 (netlify/edge-bundler#456)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.3 (netlify/edge-bundler#457)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove `URLPattern` feature flag (netlify/edge-bundler#460)

* feat: support `@netlify/edge-functions` specifier (netlify/edge-bundler#459)

* feat: support `@netlify/edge-functions` specifier

* chore: fix test

* feat: match on http methods (netlify/edge-bundler#458)

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update vitest monorepo to v0.34.3 (netlify/edge-bundler#463)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.56 (netlify/edge-bundler#462)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.19.0 (netlify/edge-bundler#461)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>

* chore(deps): update dependency @types/semver to v7.5.1 (netlify/edge-bundler#466)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.58 (netlify/edge-bundler#465)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remap `netlify:edge` specifier (netlify/edge-bundler#467)

* fix: pin bootstrap version used in config extraction (netlify/edge-bundler#469)

* fix: hide stack trace on syntax errors (netlify/edge-bundler#464)

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* refactor: use single if

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.19.1 (netlify/edge-bundler#468)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add support for npm modules (netlify/edge-bundler#454)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

* refactor: use `builtinModules` from `node:module`

* refactor: add try/catch

* chore: update lock file

* fix: support import maps in npm module resolution (netlify/edge-bundler#471)

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

* chore(main): release 8.20.0 (netlify/edge-bundler#470)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.3 (netlify/edge-bundler#474)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.59 (netlify/edge-bundler#473)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.2 (netlify/edge-bundler#477)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.61 (netlify/edge-bundler#476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove support for `npm:` prefix (netlify/edge-bundler#472)

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

* feat!: support npm modules when serving (netlify/edge-bundler#475)

* feat!: support npm modules when serving

* fix: remove `.only`

* chore(main): release 9.0.0 (netlify/edge-bundler#478)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.63 (netlify/edge-bundler#480)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.2 (netlify/edge-bundler#479)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: return `features` from server (netlify/edge-bundler#481)

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

* chore(main): release 9.1.0 (netlify/edge-bundler#482)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.7.2 (netlify/edge-bundler#484)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.3 (netlify/edge-bundler#485)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.4 (netlify/edge-bundler#487)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.34.6 (netlify/edge-bundler#486)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.0 (netlify/edge-bundler#490)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency uuid to v9.0.1 (netlify/edge-bundler#489)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.2.2 (netlify/edge-bundler#491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: allow injecting user-facing logger (netlify/edge-bundler#493)

* feat: allow injecting user-facing logger

* fix: update remaining callsites

* chore(deps): update actions/checkout action to v4 (netlify/edge-bundler#492)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: detect .mjs files (netlify/edge-bundler#483)

* fix: NPM bundling should use ESM format (netlify/edge-bundler#494)

* chore: show how top-level await can throw esbuild off

* fix: specify ESM format

* chore(main): release 9.2.0 (netlify/edge-bundler#488)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: NPM parsing shouldn't try loading Deno URL imports (netlify/edge-bundler#496)

* fix: don't stumble over http imports

* fix: other test also needs import map

* fix: mute esbuild while parsing for NPM modules (netlify/edge-bundler#497)

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

* chore(main): release 9.2.1 (netlify/edge-bundler#498)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.4 (netlify/edge-bundler#500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.0 (netlify/edge-bundler#501)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: trace npm modules with NFT (netlify/edge-bundler#499)

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

Co-authored-by: Simon Knott <info@simonknott.de>

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* fix: respect import map files containing only scopes (netlify/edge-bundler#495)

* chore(main): release 9.3.0 (netlify/edge-bundler#504)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.3 (netlify/edge-bundler#507)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.1 (netlify/edge-bundler#506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: detect Typescript typings for NPM modules and reference them from barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: give stable barrel file names (netlify/edge-bundler#509)

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

* chore(main): release 9.4.0 (netlify/edge-bundler#508)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: relative path needs to be from directory, not from file (netlify/edge-bundler#510)

* chore(main): release 9.4.1 (netlify/edge-bundler#511)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.4 (netlify/edge-bundler#515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.6 (netlify/edge-bundler#516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove npm_modules and fail_unsupported_regex flags (netlify/edge-bundler#514)

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

* fix: prefer ESM if available (netlify/edge-bundler#517)

* feat: add support for JSON imports (netlify/edge-bundler#513)

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

* fix: don't delete dist directory in between builds on local dev (netlify/edge-bundler#512)

* chore(main): release 9.5.0 (netlify/edge-bundler#518)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `rootPath` for monorepo setups (netlify/edge-bundler#521)

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

* fix(deps): update dependency esbuild to v0.19.5 (netlify/edge-bundler#525)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.8 (netlify/edge-bundler#524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: return declarations without function and unrouted functions (netlify/edge-bundler#523)

* feat!: return declarations without function and functions without declaration

BREAKING CHANGE: `generateManifest` exported method now returns an object with a `manifest` property

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

* chore(main): release 10.0.0 (netlify/edge-bundler#522)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `ModuleGraph` type (netlify/edge-bundler#528)

* feat: add `ModuleGraph` type

* chore: remove `ts-expect-error` directives

* chore(main): release 10.1.0 (netlify/edge-bundler#529)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.5 (netlify/edge-bundler#531)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.4 (netlify/edge-bundler#530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.7 (netlify/edge-bundler#532)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: parse TSX files for module detection, define NODE_ENV, polyfill missing Node.js globals (netlify/edge-bundler#519)

* fix: parse TSX files for module detection, define NODE_ENV

* chore: remove comment

* fix: only define `process.env.NODE_ENV` for builds

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

* fix: ensure customer code can't access process.env

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

* chore(main): release 10.1.1 (netlify/edge-bundler#534)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: prevent global namespace clash for `Buffer` (netlify/edge-bundler#535)

* chore(main): release 10.1.2 (netlify/edge-bundler#536)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.6 (netlify/edge-bundler#538)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: fix `ModuleGraph` type export (netlify/edge-bundler#537)

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

* chore(main): release 10.1.3 (netlify/edge-bundler#540)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (netlify/edge-bundler#541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.8 (netlify/edge-bundler#542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.2 (netlify/edge-bundler#544)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.4.0 (netlify/edge-bundler#546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.24.4 (netlify/edge-bundler#545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.9 (netlify/edge-bundler#550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (netlify/edge-bundler#549)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: provide import maps when starting the isolate, not server (netlify/edge-bundler#548)

* feat!: provide import maps when starting the isolate, not server

* fix: tests

* chore: remove unused type

* chore(main): release 11.0.0 (netlify/edge-bundler#543)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to ^0.26.0 (netlify/edge-bundler#551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.10 (netlify/edge-bundler#554)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.11 (netlify/edge-bundler#556)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.2 (netlify/edge-bundler#559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: transform negative lookaheads (netlify/edge-bundler#560)

* fix: revert "feat: transform negative lookaheads" (netlify/edge-bundler#561)

* chore(deps): update dependency nock to v13.5.0 (netlify/edge-bundler#562)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support PCRE regexp engine (netlify/edge-bundler#563)

* chore(main): release 11.1.0 (netlify/edge-bundler#553)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: allow custom `stderr` and `stdout` in server (netlify/edge-bundler#564)

* feat: allow custom `stderr` and `stdout` in server

* chore: add test

* chore: update test

* chore(main): release 11.2.0 (netlify/edge-bundler#565)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: enclose regexp when using PCRE (netlify/edge-bundler#566)

* chore(main): release 11.2.1 (netlify/edge-bundler#567)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: pipe log output in server (netlify/edge-bundler#568)

* chore(main): release 11.2.2 (netlify/edge-bundler#569)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.8 (netlify/edge-bundler#570)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.1 (netlify/edge-bundler#571)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.3 (netlify/edge-bundler#572)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency jsonc-parser to v3.2.1 (netlify/edge-bundler#573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.6.0 (netlify/edge-bundler#577)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.0 (netlify/edge-bundler#576)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove feature flag for PCRE engine (netlify/edge-bundler#580)

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

* chore(main): release 11.3.0 (netlify/edge-bundler#574)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.8 (netlify/edge-bundler#581)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.4 (netlify/edge-bundler#582)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.4 (netlify/edge-bundler#584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.1 (netlify/edge-bundler#586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: ratelimit config from source (netlify/edge-bundler#583)

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

* chore(deps): update navikt/github-app-token-generator digest to a8ae524 (netlify/edge-bundler#587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.2 (netlify/edge-bundler#588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.1 (netlify/edge-bundler#589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.4.3 (netlify/edge-bundler#590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(main): release 11.4.0 (netlify/edge-bundler#585)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>

* chore: adapt edge-bundler repo (#5599)

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

* chore: remove github-packages-releaser (i don't think we ever used that)

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

* chore: run test:integration as part of test:ci

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>
renovate bot added a commit to netlify/build that referenced this pull request Apr 23, 2024
* chore(deps): update dependency vite to v4.1.2 (netlify/edge-bundler#309)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.4.4 (netlify/edge-bundler#307)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.1 (netlify/edge-bundler#310)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.1.4 (netlify/edge-bundler#311)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: update bootstrap (netlify/edge-bundler#303)

* chore(main): release 8.8.0 (netlify/edge-bundler#315)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: update std and eszip deps (netlify/edge-bundler#316)

* chore(main): release 8.8.1 (netlify/edge-bundler#317)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: update bootstrap version (netlify/edge-bundler#321)

* chore(main): release 8.9.0 (netlify/edge-bundler#323)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.37 (netlify/edge-bundler#324)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: clean some default feature flags (netlify/edge-bundler#320)

* feat: populate generator field if edge function is from a config file (netlify/edge-bundler#312)

* feat: populate generator field if edge function is from a config file

* feat: add internalSrcFolder for generated functions to autopopulate generator field

* fix: map over declarations and add generator field per declaration

* chore: cleanup (netlify/edge-bundler#325)

* chore: cleanup

* chore: increase timeout to 30s

* fix: throw errors when function or isc-config cannot be loaded (netlify/edge-bundler#327)

* feat: update bootstrap URL (netlify/edge-bundler#329)

* chore(main): release 8.10.0 (netlify/edge-bundler#326)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: propagate onError config property to manifest (netlify/edge-bundler#328)

* fix: throw errors when function or isc-config cannot be loaded

* chore: fix FF type

* feat: add on_error field

* :old-man-yells-at-linter:

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: test

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.11.0 (netlify/edge-bundler#330)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: Updated bootstrap to the latest version (netlify/edge-bundler#332)

* chore(main): release 8.11.1 (netlify/edge-bundler#333)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: export `mergeDeclarations` function (netlify/edge-bundler#334)

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(main): release 8.12.0 (netlify/edge-bundler#335)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update navikt/github-app-token-generator digest to a3831f4 (netlify/edge-bundler#278)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore: fix typo (netlify/edge-bundler#336)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: ignore config blocks for undefined functions (netlify/edge-bundler#337)

* chore(main): release 8.12.1 (netlify/edge-bundler#338)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: update vitest (netlify/edge-bundler#322)

chore: tests

Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: enforce leading slash in path and pattern (netlify/edge-bundler#339)

* chore(main): release 8.12.2 (netlify/edge-bundler#340)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.38 (netlify/edge-bundler#341)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.3 (netlify/edge-bundler#342)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: mark validation error as user error (netlify/edge-bundler#344)

* chore(main): release 8.12.3 (netlify/edge-bundler#345)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: improve speed of downloader test (netlify/edge-bundler#349)

The test now takes ~2s instead of ~22s
Also update vitest

* feat: split user and internal ISC function configs (netlify/edge-bundler#347)

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

* feat: move non-route related ef configs to function_config in manifest (netlify/edge-bundler#348)

* feat: first work on moving ef configs that are not route-related to function_config

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.13.0 (netlify/edge-bundler#350)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.41 (netlify/edge-bundler#352)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.0 (netlify/edge-bundler#353)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.1 (netlify/edge-bundler#354)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.42 (netlify/edge-bundler#355)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.8 (netlify/edge-bundler#356)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: change the order of how edge functions are written to the manifest (netlify/edge-bundler#357)

* fix: revert slash validation and change validation message (netlify/edge-bundler#343)

* fix: change validation message

* Apply suggestions from code review

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update dependency typescript to v5 (netlify/edge-bundler#351)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove duplicate functions and let .js take precedence (netlify/edge-bundler#359)

* feat: remove duplicate functions and let .js take precedence

* fix: use entire extensions list to check function precedence

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* chore(deps): update vitest monorepo to ^0.30.0 (netlify/edge-bundler#363)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.0.4 (netlify/edge-bundler#362)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.13.1 (netlify/edge-bundler#358)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: update eszip + std (netlify/edge-bundler#364)

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

* chore(main): release 8.13.2 (netlify/edge-bundler#365)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.30.1 (netlify/edge-bundler#367)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add repro for customer case (netlify/edge-bundler#366)

Update node/manifest.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

fix: types

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.1 (netlify/edge-bundler#371)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.25 (netlify/edge-bundler#370)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: add npm provenance (netlify/edge-bundler#373)

* fix: ensure regular expressions are properly escaped (netlify/edge-bundler#378)

* fix: front slashes only get escaped now if they aren't already

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* chore(deps): update dependency nock to v13.3.1 (netlify/edge-bundler#380)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.43 (netlify/edge-bundler#379)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: add route matcher to tests (netlify/edge-bundler#377)

* chore(main): release 8.14.0 (netlify/edge-bundler#372)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.14 (netlify/edge-bundler#382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.27 (netlify/edge-bundler#383)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.31.0 (netlify/edge-bundler#384)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.0 (netlify/edge-bundler#385)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.44 (netlify/edge-bundler#387)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove FF edge_functions_invalid_config_throw (netlify/edge-bundler#374)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.3 (netlify/edge-bundler#386)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove feature flag for execution order (netlify/edge-bundler#381)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.14.1 (netlify/edge-bundler#390)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: remove obsolete workflow (netlify/edge-bundler#391)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.45 (netlify/edge-bundler#393)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: remove del package (netlify/edge-bundler#394)

* chore(main): release 8.14.2 (netlify/edge-bundler#395)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.1 (netlify/edge-bundler#397)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.47 (netlify/edge-bundler#396)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: update CODEOWNERS (bulk-codeowners) (netlify/edge-bundler#399)

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.1 (netlify/edge-bundler#401)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.15 (netlify/edge-bundler#400)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* Add `excludedPath` support to ISC & TOML (netlify/edge-bundler#402)

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

netlify/pod-dev-foundations#471 (comment)

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

* feat: add support for excludedPattern (netlify/edge-bundler#403)

* chore(main): release 8.15.0 (netlify/edge-bundler#398)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.48 (netlify/edge-bundler#405)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support `node:` prefix (netlify/edge-bundler#406)

* feat: support `node:` prefix

* feat: update Deno version

* chore(main): release 8.16.0 (netlify/edge-bundler#407)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.5 (netlify/edge-bundler#409)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.4 (netlify/edge-bundler#410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.3 (netlify/edge-bundler#411)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: update minimum version of semver to be ESM compatible (netlify/edge-bundler#412)

* chore(main): release 8.16.1 (netlify/edge-bundler#413)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: improvements to download process of deno (netlify/edge-bundler#414)

* chore: add note about deno version

* chore: more logging

* chore(main): release 8.16.2 (netlify/edge-bundler#415)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.32.0 (netlify/edge-bundler#416)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.50 (netlify/edge-bundler#419)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.51 (netlify/edge-bundler#421)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.32.2 (netlify/edge-bundler#422)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#423)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.3 (netlify/edge-bundler#424)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#429)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.33.0 (netlify/edge-bundler#431)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#430)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.16.3 (netlify/edge-bundler#425)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: use vitest v8 coverage provider  and enable coverage (netlify/edge-bundler#417)

* chore: run linting in spearate job, use v8 instead of c8, enable coverage

* chore: minimum is deno 1.32 which handles `node:` prefix

* chore: use deno 1.32.5 as latest because of security issues in 1.32.0

* chore(main): release 8.16.4 (netlify/edge-bundler#432)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#433)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#434)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.7 (netlify/edge-bundler#435)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.54 (netlify/edge-bundler#436)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.2 (netlify/edge-bundler#438)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#437)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: replace `glob-to-regexp` with `URLPattern` (netlify/edge-bundler#392)

* feat: replace `glob-to-regexp` with `URLPattern`

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* chore(main): release 8.17.0 (netlify/edge-bundler#441)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: ensure patterns match on whole path (netlify/edge-bundler#442)

* fix: parseConfig stumbling over `globalThis.Netlify` usage in global scope (netlify/edge-bundler#427)

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

* chore(main): release 8.17.1 (netlify/edge-bundler#443)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#445)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: test that urlpattern named groups are supported (netlify/edge-bundler#447)

* chore(deps): update vitest monorepo to ^0.34.0 (netlify/edge-bundler#448)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: mark invalid url patterns as user error (netlify/edge-bundler#450)

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

* chore(deps): update commitlint monorepo to v17.7.1 (netlify/edge-bundler#452)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: simplify `ImportMap` (netlify/edge-bundler#453)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add `path` to manifest (netlify/edge-bundler#455)

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

* chore(main): release 8.18.0 (netlify/edge-bundler#446)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency archiver to v5.3.2 (netlify/edge-bundler#456)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.3 (netlify/edge-bundler#457)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove `URLPattern` feature flag (netlify/edge-bundler#460)

* feat: support `@netlify/edge-functions` specifier (netlify/edge-bundler#459)

* feat: support `@netlify/edge-functions` specifier

* chore: fix test

* feat: match on http methods (netlify/edge-bundler#458)

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update vitest monorepo to v0.34.3 (netlify/edge-bundler#463)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.56 (netlify/edge-bundler#462)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.19.0 (netlify/edge-bundler#461)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>

* chore(deps): update dependency @types/semver to v7.5.1 (netlify/edge-bundler#466)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.58 (netlify/edge-bundler#465)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remap `netlify:edge` specifier (netlify/edge-bundler#467)

* fix: pin bootstrap version used in config extraction (netlify/edge-bundler#469)

* fix: hide stack trace on syntax errors (netlify/edge-bundler#464)

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* refactor: use single if

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.19.1 (netlify/edge-bundler#468)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add support for npm modules (netlify/edge-bundler#454)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

* refactor: use `builtinModules` from `node:module`

* refactor: add try/catch

* chore: update lock file

* fix: support import maps in npm module resolution (netlify/edge-bundler#471)

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

* chore(main): release 8.20.0 (netlify/edge-bundler#470)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.3 (netlify/edge-bundler#474)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.59 (netlify/edge-bundler#473)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.2 (netlify/edge-bundler#477)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.61 (netlify/edge-bundler#476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove support for `npm:` prefix (netlify/edge-bundler#472)

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

* feat!: support npm modules when serving (netlify/edge-bundler#475)

* feat!: support npm modules when serving

* fix: remove `.only`

* chore(main): release 9.0.0 (netlify/edge-bundler#478)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.63 (netlify/edge-bundler#480)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.2 (netlify/edge-bundler#479)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: return `features` from server (netlify/edge-bundler#481)

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

* chore(main): release 9.1.0 (netlify/edge-bundler#482)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.7.2 (netlify/edge-bundler#484)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.3 (netlify/edge-bundler#485)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.4 (netlify/edge-bundler#487)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.34.6 (netlify/edge-bundler#486)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.0 (netlify/edge-bundler#490)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency uuid to v9.0.1 (netlify/edge-bundler#489)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.2.2 (netlify/edge-bundler#491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: allow injecting user-facing logger (netlify/edge-bundler#493)

* feat: allow injecting user-facing logger

* fix: update remaining callsites

* chore(deps): update actions/checkout action to v4 (netlify/edge-bundler#492)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: detect .mjs files (netlify/edge-bundler#483)

* fix: NPM bundling should use ESM format (netlify/edge-bundler#494)

* chore: show how top-level await can throw esbuild off

* fix: specify ESM format

* chore(main): release 9.2.0 (netlify/edge-bundler#488)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: NPM parsing shouldn't try loading Deno URL imports (netlify/edge-bundler#496)

* fix: don't stumble over http imports

* fix: other test also needs import map

* fix: mute esbuild while parsing for NPM modules (netlify/edge-bundler#497)

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

* chore(main): release 9.2.1 (netlify/edge-bundler#498)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.4 (netlify/edge-bundler#500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.0 (netlify/edge-bundler#501)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: trace npm modules with NFT (netlify/edge-bundler#499)

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

Co-authored-by: Simon Knott <info@simonknott.de>

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* fix: respect import map files containing only scopes (netlify/edge-bundler#495)

* chore(main): release 9.3.0 (netlify/edge-bundler#504)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.3 (netlify/edge-bundler#507)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.1 (netlify/edge-bundler#506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: detect Typescript typings for NPM modules and reference them from barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: give stable barrel file names (netlify/edge-bundler#509)

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

* chore(main): release 9.4.0 (netlify/edge-bundler#508)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: relative path needs to be from directory, not from file (netlify/edge-bundler#510)

* chore(main): release 9.4.1 (netlify/edge-bundler#511)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.4 (netlify/edge-bundler#515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.6 (netlify/edge-bundler#516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove npm_modules and fail_unsupported_regex flags (netlify/edge-bundler#514)

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

* fix: prefer ESM if available (netlify/edge-bundler#517)

* feat: add support for JSON imports (netlify/edge-bundler#513)

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

* fix: don't delete dist directory in between builds on local dev (netlify/edge-bundler#512)

* chore(main): release 9.5.0 (netlify/edge-bundler#518)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `rootPath` for monorepo setups (netlify/edge-bundler#521)

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

* fix(deps): update dependency esbuild to v0.19.5 (netlify/edge-bundler#525)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.8 (netlify/edge-bundler#524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: return declarations without function and unrouted functions (netlify/edge-bundler#523)

* feat!: return declarations without function and functions without declaration

BREAKING CHANGE: `generateManifest` exported method now returns an object with a `manifest` property

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

* chore(main): release 10.0.0 (netlify/edge-bundler#522)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `ModuleGraph` type (netlify/edge-bundler#528)

* feat: add `ModuleGraph` type

* chore: remove `ts-expect-error` directives

* chore(main): release 10.1.0 (netlify/edge-bundler#529)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.5 (netlify/edge-bundler#531)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.4 (netlify/edge-bundler#530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.7 (netlify/edge-bundler#532)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: parse TSX files for module detection, define NODE_ENV, polyfill missing Node.js globals (netlify/edge-bundler#519)

* fix: parse TSX files for module detection, define NODE_ENV

* chore: remove comment

* fix: only define `process.env.NODE_ENV` for builds

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

* fix: ensure customer code can't access process.env

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

* chore(main): release 10.1.1 (netlify/edge-bundler#534)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: prevent global namespace clash for `Buffer` (netlify/edge-bundler#535)

* chore(main): release 10.1.2 (netlify/edge-bundler#536)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.6 (netlify/edge-bundler#538)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: fix `ModuleGraph` type export (netlify/edge-bundler#537)

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

* chore(main): release 10.1.3 (netlify/edge-bundler#540)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (netlify/edge-bundler#541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.8 (netlify/edge-bundler#542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.2 (netlify/edge-bundler#544)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.4.0 (netlify/edge-bundler#546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.24.4 (netlify/edge-bundler#545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.9 (netlify/edge-bundler#550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (netlify/edge-bundler#549)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: provide import maps when starting the isolate, not server (netlify/edge-bundler#548)

* feat!: provide import maps when starting the isolate, not server

* fix: tests

* chore: remove unused type

* chore(main): release 11.0.0 (netlify/edge-bundler#543)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to ^0.26.0 (netlify/edge-bundler#551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.10 (netlify/edge-bundler#554)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.11 (netlify/edge-bundler#556)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.2 (netlify/edge-bundler#559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: transform negative lookaheads (netlify/edge-bundler#560)

* fix: revert "feat: transform negative lookaheads" (netlify/edge-bundler#561)

* chore(deps): update dependency nock to v13.5.0 (netlify/edge-bundler#562)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support PCRE regexp engine (netlify/edge-bundler#563)

* chore(main): release 11.1.0 (netlify/edge-bundler#553)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: allow custom `stderr` and `stdout` in server (netlify/edge-bundler#564)

* feat: allow custom `stderr` and `stdout` in server

* chore: add test

* chore: update test

* chore(main): release 11.2.0 (netlify/edge-bundler#565)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: enclose regexp when using PCRE (netlify/edge-bundler#566)

* chore(main): release 11.2.1 (netlify/edge-bundler#567)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: pipe log output in server (netlify/edge-bundler#568)

* chore(main): release 11.2.2 (netlify/edge-bundler#569)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.8 (netlify/edge-bundler#570)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.1 (netlify/edge-bundler#571)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.3 (netlify/edge-bundler#572)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency jsonc-parser to v3.2.1 (netlify/edge-bundler#573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.6.0 (netlify/edge-bundler#577)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.0 (netlify/edge-bundler#576)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove feature flag for PCRE engine (netlify/edge-bundler#580)

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

* chore(main): release 11.3.0 (netlify/edge-bundler#574)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.8 (netlify/edge-bundler#581)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.4 (netlify/edge-bundler#582)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.4 (netlify/edge-bundler#584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.1 (netlify/edge-bundler#586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: ratelimit config from source (netlify/edge-bundler#583)

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

* chore(deps): update navikt/github-app-token-generator digest to a8ae524 (netlify/edge-bundler#587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.2 (netlify/edge-bundler#588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.1 (netlify/edge-bundler#589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.4.3 (netlify/edge-bundler#590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(main): release 11.4.0 (netlify/edge-bundler#585)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>

* chore: adapt edge-bundler repo (#5599)

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

* chore: remove github-packages-releaser (i don't think we ever used that)

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

* chore: run test:integration as part of test:ci

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>
renovate bot added a commit to netlify/build that referenced this pull request Apr 23, 2024
* fix(deps): update dependency @netlify/open-api to ^2.30.0

* chore: integrate netlify/edge-bundler (#5598)

* chore(deps): update dependency vite to v4.1.2 (netlify/edge-bundler#309)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.4.4 (netlify/edge-bundler#307)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.1 (netlify/edge-bundler#310)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.1.4 (netlify/edge-bundler#311)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: update bootstrap (netlify/edge-bundler#303)

* chore(main): release 8.8.0 (netlify/edge-bundler#315)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: update std and eszip deps (netlify/edge-bundler#316)

* chore(main): release 8.8.1 (netlify/edge-bundler#317)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: update bootstrap version (netlify/edge-bundler#321)

* chore(main): release 8.9.0 (netlify/edge-bundler#323)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.37 (netlify/edge-bundler#324)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: clean some default feature flags (netlify/edge-bundler#320)

* feat: populate generator field if edge function is from a config file (netlify/edge-bundler#312)

* feat: populate generator field if edge function is from a config file

* feat: add internalSrcFolder for generated functions to autopopulate generator field

* fix: map over declarations and add generator field per declaration

* chore: cleanup (netlify/edge-bundler#325)

* chore: cleanup

* chore: increase timeout to 30s

* fix: throw errors when function or isc-config cannot be loaded (netlify/edge-bundler#327)

* feat: update bootstrap URL (netlify/edge-bundler#329)

* chore(main): release 8.10.0 (netlify/edge-bundler#326)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: propagate onError config property to manifest (netlify/edge-bundler#328)

* fix: throw errors when function or isc-config cannot be loaded

* chore: fix FF type

* feat: add on_error field

* :old-man-yells-at-linter:

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: test

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.11.0 (netlify/edge-bundler#330)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: Updated bootstrap to the latest version (netlify/edge-bundler#332)

* chore(main): release 8.11.1 (netlify/edge-bundler#333)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: export `mergeDeclarations` function (netlify/edge-bundler#334)

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(main): release 8.12.0 (netlify/edge-bundler#335)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update navikt/github-app-token-generator digest to a3831f4 (netlify/edge-bundler#278)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore: fix typo (netlify/edge-bundler#336)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: ignore config blocks for undefined functions (netlify/edge-bundler#337)

* chore(main): release 8.12.1 (netlify/edge-bundler#338)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: update vitest (netlify/edge-bundler#322)

chore: tests

Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: enforce leading slash in path and pattern (netlify/edge-bundler#339)

* chore(main): release 8.12.2 (netlify/edge-bundler#340)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.38 (netlify/edge-bundler#341)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.3 (netlify/edge-bundler#342)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: mark validation error as user error (netlify/edge-bundler#344)

* chore(main): release 8.12.3 (netlify/edge-bundler#345)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: improve speed of downloader test (netlify/edge-bundler#349)

The test now takes ~2s instead of ~22s
Also update vitest

* feat: split user and internal ISC function configs (netlify/edge-bundler#347)

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

* feat: move non-route related ef configs to function_config in manifest (netlify/edge-bundler#348)

* feat: first work on moving ef configs that are not route-related to function_config

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.13.0 (netlify/edge-bundler#350)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.41 (netlify/edge-bundler#352)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.0 (netlify/edge-bundler#353)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.1 (netlify/edge-bundler#354)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.42 (netlify/edge-bundler#355)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.8 (netlify/edge-bundler#356)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: change the order of how edge functions are written to the manifest (netlify/edge-bundler#357)

* fix: revert slash validation and change validation message (netlify/edge-bundler#343)

* fix: change validation message

* Apply suggestions from code review

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update dependency typescript to v5 (netlify/edge-bundler#351)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove duplicate functions and let .js take precedence (netlify/edge-bundler#359)

* feat: remove duplicate functions and let .js take precedence

* fix: use entire extensions list to check function precedence

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* chore(deps): update vitest monorepo to ^0.30.0 (netlify/edge-bundler#363)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.0.4 (netlify/edge-bundler#362)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.13.1 (netlify/edge-bundler#358)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: update eszip + std (netlify/edge-bundler#364)

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

* chore(main): release 8.13.2 (netlify/edge-bundler#365)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.30.1 (netlify/edge-bundler#367)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add repro for customer case (netlify/edge-bundler#366)

Update node/manifest.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

fix: types

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.1 (netlify/edge-bundler#371)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.25 (netlify/edge-bundler#370)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: add npm provenance (netlify/edge-bundler#373)

* fix: ensure regular expressions are properly escaped (netlify/edge-bundler#378)

* fix: front slashes only get escaped now if they aren't already

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* chore(deps): update dependency nock to v13.3.1 (netlify/edge-bundler#380)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.43 (netlify/edge-bundler#379)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: add route matcher to tests (netlify/edge-bundler#377)

* chore(main): release 8.14.0 (netlify/edge-bundler#372)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.14 (netlify/edge-bundler#382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.27 (netlify/edge-bundler#383)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.31.0 (netlify/edge-bundler#384)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.0 (netlify/edge-bundler#385)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.44 (netlify/edge-bundler#387)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove FF edge_functions_invalid_config_throw (netlify/edge-bundler#374)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.3 (netlify/edge-bundler#386)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove feature flag for execution order (netlify/edge-bundler#381)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.14.1 (netlify/edge-bundler#390)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: remove obsolete workflow (netlify/edge-bundler#391)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.45 (netlify/edge-bundler#393)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: remove del package (netlify/edge-bundler#394)

* chore(main): release 8.14.2 (netlify/edge-bundler#395)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.1 (netlify/edge-bundler#397)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.47 (netlify/edge-bundler#396)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: update CODEOWNERS (bulk-codeowners) (netlify/edge-bundler#399)

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.1 (netlify/edge-bundler#401)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.15 (netlify/edge-bundler#400)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* Add `excludedPath` support to ISC & TOML (netlify/edge-bundler#402)

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

https://github.com/netlify/pod-dev-foundations/issues/471#issuecomment-1557109820

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

* feat: add support for excludedPattern (netlify/edge-bundler#403)

* chore(main): release 8.15.0 (netlify/edge-bundler#398)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.48 (netlify/edge-bundler#405)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support `node:` prefix (netlify/edge-bundler#406)

* feat: support `node:` prefix

* feat: update Deno version

* chore(main): release 8.16.0 (netlify/edge-bundler#407)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.5 (netlify/edge-bundler#409)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.4 (netlify/edge-bundler#410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.3 (netlify/edge-bundler#411)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: update minimum version of semver to be ESM compatible (netlify/edge-bundler#412)

* chore(main): release 8.16.1 (netlify/edge-bundler#413)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: improvements to download process of deno (netlify/edge-bundler#414)

* chore: add note about deno version

* chore: more logging

* chore(main): release 8.16.2 (netlify/edge-bundler#415)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.32.0 (netlify/edge-bundler#416)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.50 (netlify/edge-bundler#419)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.51 (netlify/edge-bundler#421)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.32.2 (netlify/edge-bundler#422)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#423)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.3 (netlify/edge-bundler#424)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#429)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.33.0 (netlify/edge-bundler#431)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#430)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.16.3 (netlify/edge-bundler#425)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: use vitest v8 coverage provider  and enable coverage (netlify/edge-bundler#417)

* chore: run linting in spearate job, use v8 instead of c8, enable coverage

* chore: minimum is deno 1.32 which handles `node:` prefix

* chore: use deno 1.32.5 as latest because of security issues in 1.32.0

* chore(main): release 8.16.4 (netlify/edge-bundler#432)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#433)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#434)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.7 (netlify/edge-bundler#435)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.54 (netlify/edge-bundler#436)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.2 (netlify/edge-bundler#438)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#437)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: replace `glob-to-regexp` with `URLPattern` (netlify/edge-bundler#392)

* feat: replace `glob-to-regexp` with `URLPattern`

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* chore(main): release 8.17.0 (netlify/edge-bundler#441)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: ensure patterns match on whole path (netlify/edge-bundler#442)

* fix: parseConfig stumbling over `globalThis.Netlify` usage in global scope (netlify/edge-bundler#427)

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

* chore(main): release 8.17.1 (netlify/edge-bundler#443)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#445)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: test that urlpattern named groups are supported (netlify/edge-bundler#447)

* chore(deps): update vitest monorepo to ^0.34.0 (netlify/edge-bundler#448)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: mark invalid url patterns as user error (netlify/edge-bundler#450)

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

* chore(deps): update commitlint monorepo to v17.7.1 (netlify/edge-bundler#452)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: simplify `ImportMap` (netlify/edge-bundler#453)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add `path` to manifest (netlify/edge-bundler#455)

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

* chore(main): release 8.18.0 (netlify/edge-bundler#446)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency archiver to v5.3.2 (netlify/edge-bundler#456)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.3 (netlify/edge-bundler#457)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove `URLPattern` feature flag (netlify/edge-bundler#460)

* feat: support `@netlify/edge-functions` specifier (netlify/edge-bundler#459)

* feat: support `@netlify/edge-functions` specifier

* chore: fix test

* feat: match on http methods (netlify/edge-bundler#458)

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update vitest monorepo to v0.34.3 (netlify/edge-bundler#463)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.56 (netlify/edge-bundler#462)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.19.0 (netlify/edge-bundler#461)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>

* chore(deps): update dependency @types/semver to v7.5.1 (netlify/edge-bundler#466)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.58 (netlify/edge-bundler#465)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remap `netlify:edge` specifier (netlify/edge-bundler#467)

* fix: pin bootstrap version used in config extraction (netlify/edge-bundler#469)

* fix: hide stack trace on syntax errors (netlify/edge-bundler#464)

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* refactor: use single if

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.19.1 (netlify/edge-bundler#468)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add support for npm modules (netlify/edge-bundler#454)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

* refactor: use `builtinModules` from `node:module`

* refactor: add try/catch

* chore: update lock file

* fix: support import maps in npm module resolution (netlify/edge-bundler#471)

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

* chore(main): release 8.20.0 (netlify/edge-bundler#470)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.3 (netlify/edge-bundler#474)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.59 (netlify/edge-bundler#473)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.2 (netlify/edge-bundler#477)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.61 (netlify/edge-bundler#476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove support for `npm:` prefix (netlify/edge-bundler#472)

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

* feat!: support npm modules when serving (netlify/edge-bundler#475)

* feat!: support npm modules when serving

* fix: remove `.only`

* chore(main): release 9.0.0 (netlify/edge-bundler#478)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.63 (netlify/edge-bundler#480)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.2 (netlify/edge-bundler#479)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: return `features` from server (netlify/edge-bundler#481)

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

* chore(main): release 9.1.0 (netlify/edge-bundler#482)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.7.2 (netlify/edge-bundler#484)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.3 (netlify/edge-bundler#485)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.4 (netlify/edge-bundler#487)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.34.6 (netlify/edge-bundler#486)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.0 (netlify/edge-bundler#490)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency uuid to v9.0.1 (netlify/edge-bundler#489)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.2.2 (netlify/edge-bundler#491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: allow injecting user-facing logger (netlify/edge-bundler#493)

* feat: allow injecting user-facing logger

* fix: update remaining callsites

* chore(deps): update actions/checkout action to v4 (netlify/edge-bundler#492)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: detect .mjs files (netlify/edge-bundler#483)

* fix: NPM bundling should use ESM format (netlify/edge-bundler#494)

* chore: show how top-level await can throw esbuild off

* fix: specify ESM format

* chore(main): release 9.2.0 (netlify/edge-bundler#488)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: NPM parsing shouldn't try loading Deno URL imports (netlify/edge-bundler#496)

* fix: don't stumble over http imports

* fix: other test also needs import map

* fix: mute esbuild while parsing for NPM modules (netlify/edge-bundler#497)

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

* chore(main): release 9.2.1 (netlify/edge-bundler#498)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.4 (netlify/edge-bundler#500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.0 (netlify/edge-bundler#501)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: trace npm modules with NFT (netlify/edge-bundler#499)

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

Co-authored-by: Simon Knott <info@simonknott.de>

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* fix: respect import map files containing only scopes (netlify/edge-bundler#495)

* chore(main): release 9.3.0 (netlify/edge-bundler#504)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.3 (netlify/edge-bundler#507)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.1 (netlify/edge-bundler#506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: detect Typescript typings for NPM modules and reference them from barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: give stable barrel file names (netlify/edge-bundler#509)

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

* chore(main): release 9.4.0 (netlify/edge-bundler#508)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: relative path needs to be from directory, not from file (netlify/edge-bundler#510)

* chore(main): release 9.4.1 (netlify/edge-bundler#511)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.4 (netlify/edge-bundler#515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.6 (netlify/edge-bundler#516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove npm_modules and fail_unsupported_regex flags (netlify/edge-bundler#514)

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

* fix: prefer ESM if available (netlify/edge-bundler#517)

* feat: add support for JSON imports (netlify/edge-bundler#513)

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

* fix: don't delete dist directory in between builds on local dev (netlify/edge-bundler#512)

* chore(main): release 9.5.0 (netlify/edge-bundler#518)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `rootPath` for monorepo setups (netlify/edge-bundler#521)

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

* fix(deps): update dependency esbuild to v0.19.5 (netlify/edge-bundler#525)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.8 (netlify/edge-bundler#524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: return declarations without function and unrouted functions (netlify/edge-bundler#523)

* feat!: return declarations without function and functions without declaration

BREAKING CHANGE: `generateManifest` exported method now returns an object with a `manifest` property

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

* chore(main): release 10.0.0 (netlify/edge-bundler#522)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `ModuleGraph` type (netlify/edge-bundler#528)

* feat: add `ModuleGraph` type

* chore: remove `ts-expect-error` directives

* chore(main): release 10.1.0 (netlify/edge-bundler#529)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.5 (netlify/edge-bundler#531)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.4 (netlify/edge-bundler#530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.7 (netlify/edge-bundler#532)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: parse TSX files for module detection, define NODE_ENV, polyfill missing Node.js globals (netlify/edge-bundler#519)

* fix: parse TSX files for module detection, define NODE_ENV

* chore: remove comment

* fix: only define `process.env.NODE_ENV` for builds

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

* fix: ensure customer code can't access process.env

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

* chore(main): release 10.1.1 (netlify/edge-bundler#534)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: prevent global namespace clash for `Buffer` (netlify/edge-bundler#535)

* chore(main): release 10.1.2 (netlify/edge-bundler#536)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.6 (netlify/edge-bundler#538)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: fix `ModuleGraph` type export (netlify/edge-bundler#537)

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

* chore(main): release 10.1.3 (netlify/edge-bundler#540)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (netlify/edge-bundler#541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.8 (netlify/edge-bundler#542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.2 (netlify/edge-bundler#544)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.4.0 (netlify/edge-bundler#546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.24.4 (netlify/edge-bundler#545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.9 (netlify/edge-bundler#550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (netlify/edge-bundler#549)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: provide import maps when starting the isolate, not server (netlify/edge-bundler#548)

* feat!: provide import maps when starting the isolate, not server

* fix: tests

* chore: remove unused type

* chore(main): release 11.0.0 (netlify/edge-bundler#543)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to ^0.26.0 (netlify/edge-bundler#551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.10 (netlify/edge-bundler#554)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.11 (netlify/edge-bundler#556)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.2 (netlify/edge-bundler#559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: transform negative lookaheads (netlify/edge-bundler#560)

* fix: revert "feat: transform negative lookaheads" (netlify/edge-bundler#561)

* chore(deps): update dependency nock to v13.5.0 (netlify/edge-bundler#562)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support PCRE regexp engine (netlify/edge-bundler#563)

* chore(main): release 11.1.0 (netlify/edge-bundler#553)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: allow custom `stderr` and `stdout` in server (netlify/edge-bundler#564)

* feat: allow custom `stderr` and `stdout` in server

* chore: add test

* chore: update test

* chore(main): release 11.2.0 (netlify/edge-bundler#565)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: enclose regexp when using PCRE (netlify/edge-bundler#566)

* chore(main): release 11.2.1 (netlify/edge-bundler#567)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: pipe log output in server (netlify/edge-bundler#568)

* chore(main): release 11.2.2 (netlify/edge-bundler#569)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.8 (netlify/edge-bundler#570)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.1 (netlify/edge-bundler#571)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.3 (netlify/edge-bundler#572)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency jsonc-parser to v3.2.1 (netlify/edge-bundler#573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.6.0 (netlify/edge-bundler#577)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.0 (netlify/edge-bundler#576)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove feature flag for PCRE engine (netlify/edge-bundler#580)

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

* chore(main): release 11.3.0 (netlify/edge-bundler#574)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.8 (netlify/edge-bundler#581)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.4 (netlify/edge-bundler#582)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.4 (netlify/edge-bundler#584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.1 (netlify/edge-bundler#586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: ratelimit config from source (netlify/edge-bundler#583)

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

* chore(deps): update navikt/github-app-token-generator digest to a8ae524 (netlify/edge-bundler#587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.2 (netlify/edge-bundler#588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.1 (netlify/edge-bundler#589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.4.3 (netlify/edge-bundler#590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(main): release 11.4.0 (netlify/edge-bundler#585)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>

* chore: adapt edge-bundler repo (#5599)

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

* chore: remove github-packages-releaser (i don't think we ever used that)

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

* chore: run test:integration as part of test:ci

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants