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: move non-route related ef configs to function_config in manifest #348

Merged
merged 9 commits into from
Mar 24, 2023

Conversation

khendrikse
Copy link
Contributor

@khendrikse khendrikse commented Mar 21, 2023

This is work for:

  1. We used to define name and generator in the function declaration using the manifest file. But we're trying to steer more towards people using in-source-configs for anything that is NOT route related. We try to keep it backwards compatible for now
  2. In the manifest, instead of passing name and generator to the routes/post_cache_routes arrays inside the routes object, we add it to the function_config.

List other issues or pull requests related to this problem

A piece of work for: https://github.com/netlify/pod-compute/issues/415

@khendrikse khendrikse added the type: feature code contributing to the implementation of a feature and/or user facing functionality label Mar 21, 2023
@khendrikse khendrikse self-assigned this Mar 21, 2023
@khendrikse khendrikse force-pushed the feat-415/move-ef-configs-to-function-config branch from 6fd8d5e to ac89ccd Compare March 21, 2023 17:37
@khendrikse khendrikse marked this pull request as ready for review March 22, 2023 09:53
@khendrikse khendrikse requested a review from a team March 22, 2023 09:53
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.

Left a couple of questions before doing a second pass.

node/bundler.test.ts Outdated Show resolved Hide resolved
node/bundler.ts Outdated Show resolved Hide resolved
node/bundler.ts Outdated Show resolved Hide resolved
node/bundler.ts Outdated Show resolved Hide resolved
node/bundler.ts Outdated Show resolved Hide resolved
node/bundler.ts Outdated
) => {
const fullFuncPath = functions?.find((func) => func.name === declaration.function)?.path

const addMissingConfigFields = ({
Copy link
Member

Choose a reason for hiding this comment

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

I don't think "missing config fields" is very descriptive — what's missing and why? Perhaps we can add a comment explaining why we need this function?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I decided to switch it up a bit and make it, hopefully, more descriptive, and give functions a clear single task.

node/declaration.ts Outdated Show resolved Hide resolved
node/manifest.ts Outdated
return acc
}, {} as EdgeFunctionConfig)

const hasAnyConfigValues = (functionConfig: EdgeFunctionConfig) =>
Copy link
Member

Choose a reason for hiding this comment

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

I don't love the fact that we're defining above what a config object is and then having another allow-list here, so adding a new property will mean adding it in two places. I can see people getting tripped up by that.

I don't have an obvious alternative to offer without getting into more complex schema validation, so I'm happy to defer to you.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I tried it this way because on this line we were checking some of the values.

What I could do, is allow for anything in the config to be passed to the function_config. This would mean that we get anything defined in it. Including cache: manual for example. Then we only need to filter out any config that is empty.

@@ -43,6 +43,17 @@ interface GenerateManifestOptions {
layers?: Layer[]
}

const removeEmptyConfigValues = (functionConfig: EdgeFunctionConfig) =>
Copy link
Member

Choose a reason for hiding this comment

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

Why do we need to remove empty values?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did this because the logic before this would allow for undefined values to be passed. For example. if we had on_error but functionConfig.excluded_patterns = [] we would otherwise still get that empty array added, or fields that were undefined. Like generator: undefined. Essentially I tried to optimise this line so I wouldn't have to add a bunch of other config values. And even if I did, if one of them was true, it would add undefined values for the others.

@danez
Copy link
Contributor

danez commented Mar 22, 2023

So we are not allowing generator and name being set through the manifest? Why is that?

@danez
Copy link
Contributor

danez commented Mar 22, 2023

FYI: I'm also working on the same code for splitting ISC up into internal vs user. https://github.com/netlify/edge-bundler/pull/347/files

@khendrikse
Copy link
Contributor Author

khendrikse commented Mar 22, 2023

So we are not allowing generator and name being set through the manifest? Why is that?

@danez the idea is that anything that is declared in the declarations for the manifest is mostly meant for routing information. ISC is for configuration on a function level.

@khendrikse
Copy link
Contributor Author

FYI: I'm also working on the same code for splitting ISC up into internal vs user. https://github.com/netlify/edge-bundler/pull/347/files

Let's first get that merged then!

@khendrikse khendrikse force-pushed the feat-415/move-ef-configs-to-function-config branch from 2dcc44e to 5a4d7dc Compare March 24, 2023 10:17
return { ...declaration, generator: declaration.generator || generatorFallback }
return {
...config,
name: declaration?.name || config.name,
Copy link
Contributor

Choose a reason for hiding this comment

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

This slightly confused me, until i figured that this is the displayName and the passed in name is the functionName. Could we make this more clear? maybe alias the input name as functionName or add a comment here that this is the display name

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No that's not the case, the name field is the displayname in all cases with Edge Functions

Copy link
Contributor

@danez danez Mar 24, 2023

Choose a reason for hiding this comment

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

so we could do

Suggested change
name: declaration?.name || config.name,
name,

here? I don't believe so. With input I mean the name variable on Line 193

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ohh yeah that makes sense

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I changed the way I named it now

node/manifest.ts Outdated
newConfig[name] = functionConfig
const newFunctionConfig = removeEmptyConfigValues(functionConfig)

if (hasAnyConfigValues(newFunctionConfig)) {
Copy link
Contributor

@danez danez Mar 24, 2023

Choose a reason for hiding this comment

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

Wouldn't this be the same as Object.keys(newFunctionConfig).length > 0?
We are just trying to not add an empty object, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For some reason, before that didn't work... but now it does! Nice catch!

Comment on lines +48 to +53
Object.entries(functionConfig).reduce((acc, [key, value]) => {
if (value && !(Array.isArray(value) && value.length === 0)) {
return { ...acc, [key]: value }
}
return acc
}, {} as EdgeFunctionConfig)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Object.entries(functionConfig).reduce((acc, [key, value]) => {
if (value && !(Array.isArray(value) && value.length === 0)) {
return { ...acc, [key]: value }
}
return acc
}, {} as EdgeFunctionConfig)
Object.fromEntries(Object.entries(functionConfig).filter(([_, value]) => value && !(Array.isArray(value) && value.length === 0)));

this is totally subjective, but I'm not a big fan of reduce, unless it is really reducing something. So I would find this much more readable and probably less objects created, but up to you.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I would find this less readable because it hides a lot of logic and I need to read it a lot of times to understand what is happening. That's why I prefer the reduce option

@khendrikse khendrikse force-pushed the feat-415/move-ef-configs-to-function-config branch from d687679 to 61170ef Compare March 24, 2023 12:14
@khendrikse khendrikse force-pushed the feat-415/move-ef-configs-to-function-config branch from a8fe842 to 3158e86 Compare March 24, 2023 12:25
@khendrikse khendrikse requested a review from danez March 24, 2023 12:27
node/bundler.ts Outdated Show resolved Hide resolved
add better comment

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
declarations: Declaration[]
}

const createFunctionConfig = ({ internalFunctionsWithConfig, declarations }: CreateFunctionConfigOptions) =>
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 find this function a bit hard to follow. The name isn't super descriptive — it says it creates function configs but it's iterating one of the parameters and calling two other functions inside. I feel like an abstraction like addGeneratorFallback, which is simply adding a field, is adding to the confusion more than the benefits it brings.

@@ -5,6 +5,7 @@ import { FunctionConfig, Path } from './config.js'
interface BaseDeclaration {
cache?: string
function: string
// todo: remove these two after a while and only support in-source config for non-route related configs
Copy link
Member

Choose a reason for hiding this comment

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

What's "after a while"? Should this TODO be an issue instead?

manifestFunctionConfig: Record<string, EdgeFunctionConfig>,
excludedPath?: Path | Path[],
) => {
if (excludedPath) {
Copy link
Member

Choose a reason for hiding this comment

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

nit: You could early-return and avoid nesting all these statements.

if (!excludedPath) {
  return
}

@khendrikse khendrikse merged commit c7b7042 into main Mar 24, 2023
@khendrikse khendrikse deleted the feat-415/move-ef-configs-to-function-config branch March 24, 2023 12:57
Skn0tt pushed a commit to netlify/build that referenced this pull request Apr 23, 2024
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>
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
type: feature code contributing to the implementation of a feature and/or user facing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants