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: replace glob-to-regexp with URLPattern #392

Merged
merged 7 commits into from
Jul 26, 2023
Merged

feat: replace glob-to-regexp with URLPattern #392

merged 7 commits into from
Jul 26, 2023

Conversation

eduardoboucas
Copy link
Member

Which problem is this pull request solving?

Replaces the glob-to-regexp library with the web platform standard URLPattern (using a polyfill, since it's not yet part of Node.js).

This should retain the same functionality advertised in our docs while paving the way for https://github.com/netlify/pod-compute/issues/459.

@eduardoboucas eduardoboucas requested a review from a team May 5, 2023 14:35
export class ExtendedURLPattern extends URLPattern {
// @ts-expect-error Internal property that the underlying class is using but
// not exposing.
regexp: Record<string, RegExp>
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is a good idea. This will most probably not be available once this is available in Node.js natively. Also looking at the docs of how URLPattern is supposed to be used, I do not think it matches our usecase of converting a glob to a regex.

Copy link
Contributor

Choose a reason for hiding this comment

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

The mdn docs mention this library: https://github.com/pillarjs/path-to-regexp maybe we should use this?

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

This will most probably not be available once this is available in Node.js natively.

I know that this property will not be exposed by the native URLPattern because it's not part of the spec, but that doesn't mean we can't continue to use the polyfill with its comprehensive test suite even after the primitive makes its way into Node natively.

Also looking at the docs of how URLPattern is supposed to be used, I do not think it matches our usecase of converting a glob to a regex.

The native URLPattern does not emit regular expressions, it just uses them internally. That's why in this PR I'm exposing the internal property where the regex is stored. The way we're using it is definitely not how it's built to be used; we're using it opportunistically to leverage its spec-backed syntax but emit a different output.

The mdn docs mention this library: https://github.com/pillarjs/path-to-regexp maybe we should use this?

That is a user-defined library though, not a standard. The whole point of this is to say that the path expressions you write when defining edge functions use the URLPattern spec from the web platform, which you can experiment with equally in Deno, Node, or the browser.

Using path-to-regexp wouldn't bring any benefits over the library we use at the moment, since they're both defined in user space.

Copy link
Contributor

Choose a reason for hiding this comment

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

Okay, up to you. I personally feel this is a terrible idea to rely on the internals and implementation details of other packages.

Copy link
Member Author

Choose a reason for hiding this comment

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

I appreciate that, but can you help find a better idea?

Copy link
Member

Choose a reason for hiding this comment

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

I share the sentiment of this feeling "bad", but I think it's an example of us knowing the rules enough that we're allowed to break them. Since we're using a polyfill, the underlying implementation won't depend on the runtime, and since we have tests we'll notice when a change in the polyfill breaks this. I think it's fine - and if we find problems, as a last resort we can still reimplement the spec ourselves.

Copy link
Member

Choose a reason for hiding this comment

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

My concern here is that we're opening ourselves to the possibility of the internals of the polyfill changing, as it's not a public API. At the very least we should pin an exact version, but personally I'd be more inclined to say we should vendor the polyfill and add the subclass to our fork.

Copy link
Member Author

Choose a reason for hiding this comment

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

At the very least we should pin an exact version

Totally. I actually meant to do this but ended up forgetting about it. Done in b308434.

My concern here is that we're opening ourselves to the possibility of the internals of the polyfill changing, as it's not a public API

If the internals change and the property we're using disappears or gets renamed, our own tests would catch it.

I'm not opposed to using our own fork if this makes people more comfortable — in fact, we do already have a fork, which I created in order to push a change upstream.

But if we go down that path, I would rather keep it on its own repo from where we can easily merge upstream changes, run the tests, etc. Not sure what we get by vendoring it in with Edge Bundler?

danez
danez previously approved these changes May 8, 2023
Skn0tt
Skn0tt previously approved these changes May 15, 2023
Copy link
Member

@Skn0tt Skn0tt left a comment

Choose a reason for hiding this comment

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

Looks good. I left a point on performance, which we can address in a follow-up though.

@@ -127,7 +126,7 @@ test('Filters out internal in-source configurations in user created functions',
]
const declarations: Declaration[] = [
{ function: 'func-1', path: '/f1/*' },
{ function: 'func-2', pattern: '^/f2/.*/?$' },
{ function: 'func-2', pattern: '^/f2(?:/(.*))/?$' },
Copy link
Member

Choose a reason for hiding this comment

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

I've checked the impact of changing from /.* to (?:/(.*)) with this go benchmark:

import (
	"regexp"
	"testing"
)

func BenchmarkCompileGroup(b *testing.B) {
	for n := 0; n < b.N; n++ {
		regexp.Compile("^/f2(?:/(.*))/?$")
	}
}

func BenchmarkCompile(b *testing.B) {
	for n := 0; n < b.N; n++ {
		regexp.Compile("^/f2/.*/?$")
	}
}

func BenchmarkExecuteGroup(b *testing.B) {
	r, _ := regexp.Compile("^/f2(?:/(.*))/?$")
	for n := 0; n < b.N; n++ {
		r.MatchString("/f2/test/")
		r.MatchString("/different")
	}
}

func BenchmarkExecute(b *testing.B) {
	r, _ := regexp.Compile("^/f2/.*/?$")
	for n := 0; n < b.N; n++ {
		r.MatchString("/f2/test/")
		r.MatchString("/different")
	}
}

It's naïve, so i'm not sure how much we can trust it, but it shows that the group has a slight negative impact on performance (while having the same semantics, I think):

=== RUN   BenchmarkCompileGroup
BenchmarkCompileGroup
BenchmarkCompileGroup-10          461311              2570 ns/op         5000 B/op          61 allocs/op
=== RUN   BenchmarkCompile
BenchmarkCompile
BenchmarkCompile-10               542733              2152 ns/op         4240 B/op          53 allocs/op
=== RUN   BenchmarkExecuteGroup
BenchmarkExecuteGroup
BenchmarkExecuteGroup-10         7894125               152.6 ns/op          0 B/op           0 allocs/op
=== RUN   BenchmarkExecute
BenchmarkExecute
BenchmarkExecute-10              8257365               145.7 ns/op          0 B/op           0 allocs/op
PASS

This is a ~17% hit in compile time and ~5% in matching time.
Is there an easy way for us to prevent this change from adding capture groups to the output?

Copy link
Member Author

Choose a reason for hiding this comment

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

We could remove capturing groups ourselves, since we're parsing the regular expression into an AST and transforming it. But I don't think that's a huge priority.

Copy link
Member

Choose a reason for hiding this comment

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

Okay 👍 Maybe we can capture this in an issue, so we don't forget about it.

@eduardoboucas eduardoboucas dismissed stale reviews from Skn0tt and danez via b308434 May 16, 2023 09:51
@eduardoboucas eduardoboucas requested a review from a team as a code owner May 16, 2023 09:51
@Skn0tt
Copy link
Member

Skn0tt commented Jul 25, 2023

Put the change behind a flag, just to be safe. I'll deploy + start rolling this out tomorrow.

@eduardoboucas
Copy link
Member Author

Put the change behind a flag, just to be safe. I'll deploy + start rolling this out tomorrow.

LGTM!

@Skn0tt Skn0tt merged commit ca6962d into main Jul 26, 2023
12 checks passed
@Skn0tt Skn0tt deleted the feat/urlpattern branch July 26, 2023 07:53
Skn0tt added a commit to netlify/build that referenced this pull request Apr 23, 2024
…r#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>
Skn0tt added a commit to netlify/build that referenced this pull request Apr 23, 2024
* chore(deps): update dependency vite to v4.1.2 (netlify/edge-bundler#309)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* chore: cleanup

* chore: increase timeout to 30s

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

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

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

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

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

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

* chore: fix FF type

* feat: add on_error field

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

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

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

* fix: test

---------

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

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

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

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

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

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

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

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

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

---------

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

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

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

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

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

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

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

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

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

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

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

chore: tests

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

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

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

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

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

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: change validation message

* Apply suggestions from code review

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

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

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

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

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

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

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

* fix: use entire extensions list to check function precedence

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

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

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

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

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

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

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

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

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

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

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

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

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

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

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

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

Update node/manifest.test.ts

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

fix: types

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

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

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

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

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

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

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

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

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

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

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

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

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

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

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

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

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

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

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

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

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

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

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

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

* feat: support `node:` prefix

* feat: update Deno version

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

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

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

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

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

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

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

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

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

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

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

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

* chore: add note about deno version

* chore: more logging

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

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

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

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

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

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

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

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

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

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

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

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

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

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

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

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

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

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

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

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

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

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

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

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

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

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

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

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

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

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

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

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

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

* chore: fix test

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

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

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

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

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

* refactor: use single if

---------

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

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

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

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

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

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

* refactor: add try/catch

* chore: update lock file

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

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

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

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

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

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

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

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

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

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

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

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

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

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

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

* feat!: support npm modules when serving

* fix: remove `.only`

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

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

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

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

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

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

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

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* feat: allow injecting user-facing logger

* fix: update remaining callsites

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

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

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

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

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

* fix: specify ESM format

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

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

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

* fix: don't stumble over http imports

* fix: other test also needs import map

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

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

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

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

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

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

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

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

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

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

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

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

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

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

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

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

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

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

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

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

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

* chore: add npm module to serve test

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

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

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

* chore: address some feedback

* fix: make type reference relative path

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

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

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

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

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

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

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

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

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

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

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

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

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

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

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

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

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

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

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

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

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

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

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

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

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

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

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

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

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

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

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

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

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

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

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

* feat: add `ModuleGraph` type

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

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

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

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

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

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

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

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

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

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

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

* chore: remove comment

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

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

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

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

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

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

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

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

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

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

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

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

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: tests

* chore: remove unused type

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* chore: add test

* chore: update test

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

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

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

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

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

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

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

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

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

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

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

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

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

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

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

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

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

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

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

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

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

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

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

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

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

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

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

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

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

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

---------

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

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* chore: cleanup

* chore: increase timeout to 30s

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

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

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

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

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

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

* chore: fix FF type

* feat: add on_error field

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

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

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

* fix: test

---------

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

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

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

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

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

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

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

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

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

---------

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

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

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

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

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

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

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

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

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

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

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

chore: tests

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

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

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

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

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

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: change validation message

* Apply suggestions from code review

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

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

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

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

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

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

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

* fix: use entire extensions list to check function precedence

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

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

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

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

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

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

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

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

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

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

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

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

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

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

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

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

Update node/manifest.test.ts

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

fix: types

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

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

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

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

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

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

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

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

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

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

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

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

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

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

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

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

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

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

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

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

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

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

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

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

* feat: support `node:` prefix

* feat: update Deno version

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

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

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

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

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

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

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

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

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

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

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

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

* chore: add note about deno version

* chore: more logging

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

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

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

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

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

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

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

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

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

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

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

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

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

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

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

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

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

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

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

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

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

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

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

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

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

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

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

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

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

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

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

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

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

* chore: fix test

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

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

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

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

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

* refactor: use single if

---------

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

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

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

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

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

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

* refactor: add try/catch

* chore: update lock file

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

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

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

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

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

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

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

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

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

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

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

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

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

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

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

* feat!: support npm modules when serving

* fix: remove `.only`

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

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

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

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

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

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

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

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* feat: allow injecting user-facing logger

* fix: update remaining callsites

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

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

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

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

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

* fix: specify ESM format

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

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: NPM parsing shouldn't try loading Deno URL imports (netlify/edge-bundler#496)

* fix: don't stumble over http imports

* fix: other test also needs import map

* fix: mute esbuild while parsing for NPM modules (netlify/edge-bundler#497)

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

* chore(main): release 9.2.1 (netlify/edge-bundler#498)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.4 (netlify/edge-bundler#500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.0 (netlify/edge-bundler#501)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: trace npm modules with NFT (netlify/edge-bundler#499)

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

Co-authored-by: Simon Knott <info@simonknott.de>

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* fix: respect import map files containing only scopes (netlify/edge-bundler#495)

* chore(main): release 9.3.0 (netlify/edge-bundler#504)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.3 (netlify/edge-bundler#507)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.1 (netlify/edge-bundler#506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: detect Typescript typings for NPM modules and reference them from barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: give stable barrel file names (netlify/edge-bundler#509)

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

* chore(main): release 9.4.0 (netlify/edge-bundler#508)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: relative path needs to be from directory, not from file (netlify/edge-bundler#510)

* chore(main): release 9.4.1 (netlify/edge-bundler#511)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.4 (netlify/edge-bundler#515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.6 (netlify/edge-bundler#516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove npm_modules and fail_unsupported_regex flags (netlify/edge-bundler#514)

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

* fix: prefer ESM if available (netlify/edge-bundler#517)

* feat: add support for JSON imports (netlify/edge-bundler#513)

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

* fix: don't delete dist directory in between builds on local dev (netlify/edge-bundler#512)

* chore(main): release 9.5.0 (netlify/edge-bundler#518)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `rootPath` for monorepo setups (netlify/edge-bundler#521)

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

* fix(deps): update dependency esbuild to v0.19.5 (netlify/edge-bundler#525)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.8 (netlify/edge-bundler#524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: return declarations without function and unrouted functions (netlify/edge-bundler#523)

* feat!: return declarations without function and functions without declaration

BREAKING CHANGE: `generateManifest` exported method now returns an object with a `manifest` property

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

* chore(main): release 10.0.0 (netlify/edge-bundler#522)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `ModuleGraph` type (netlify/edge-bundler#528)

* feat: add `ModuleGraph` type

* chore: remove `ts-expect-error` directives

* chore(main): release 10.1.0 (netlify/edge-bundler#529)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.5 (netlify/edge-bundler#531)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.4 (netlify/edge-bundler#530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.7 (netlify/edge-bundler#532)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: parse TSX files for module detection, define NODE_ENV, polyfill missing Node.js globals (netlify/edge-bundler#519)

* fix: parse TSX files for module detection, define NODE_ENV

* chore: remove comment

* fix: only define `process.env.NODE_ENV` for builds

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

* fix: ensure customer code can't access process.env

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

* chore(main): release 10.1.1 (netlify/edge-bundler#534)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: prevent global namespace clash for `Buffer` (netlify/edge-bundler#535)

* chore(main): release 10.1.2 (netlify/edge-bundler#536)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.6 (netlify/edge-bundler#538)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: fix `ModuleGraph` type export (netlify/edge-bundler#537)

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

* chore(main): release 10.1.3 (netlify/edge-bundler#540)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (netlify/edge-bundler#541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.8 (netlify/edge-bundler#542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.2 (netlify/edge-bundler#544)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.4.0 (netlify/edge-bundler#546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.24.4 (netlify/edge-bundler#545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.9 (netlify/edge-bundler#550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (netlify/edge-bundler#549)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: provide import maps when starting the isolate, not server (netlify/edge-bundler#548)

* feat!: provide import maps when starting the isolate, not server

* fix: tests

* chore: remove unused type

* chore(main): release 11.0.0 (netlify/edge-bundler#543)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to ^0.26.0 (netlify/edge-bundler#551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.10 (netlify/edge-bundler#554)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.11 (netlify/edge-bundler#556)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.2 (netlify/edge-bundler#559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: transform negative lookaheads (netlify/edge-bundler#560)

* fix: revert "feat: transform negative lookaheads" (netlify/edge-bundler#561)

* chore(deps): update dependency nock to v13.5.0 (netlify/edge-bundler#562)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support PCRE regexp engine (netlify/edge-bundler#563)

* chore(main): release 11.1.0 (netlify/edge-bundler#553)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: allow custom `stderr` and `stdout` in server (netlify/edge-bundler#564)

* feat: allow custom `stderr` and `stdout` in server

* chore: add test

* chore: update test

* chore(main): release 11.2.0 (netlify/edge-bundler#565)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: enclose regexp when using PCRE (netlify/edge-bundler#566)

* chore(main): release 11.2.1 (netlify/edge-bundler#567)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: pipe log output in server (netlify/edge-bundler#568)

* chore(main): release 11.2.2 (netlify/edge-bundler#569)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.8 (netlify/edge-bundler#570)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.1 (netlify/edge-bundler#571)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.3 (netlify/edge-bundler#572)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency jsonc-parser to v3.2.1 (netlify/edge-bundler#573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.6.0 (netlify/edge-bundler#577)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.0 (netlify/edge-bundler#576)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove feature flag for PCRE engine (netlify/edge-bundler#580)

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

* chore(main): release 11.3.0 (netlify/edge-bundler#574)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.8 (netlify/edge-bundler#581)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.4 (netlify/edge-bundler#582)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.4 (netlify/edge-bundler#584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.1 (netlify/edge-bundler#586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: ratelimit config from source (netlify/edge-bundler#583)

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

* chore(deps): update navikt/github-app-token-generator digest to a8ae524 (netlify/edge-bundler#587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.2 (netlify/edge-bundler#588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.1 (netlify/edge-bundler#589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.4.3 (netlify/edge-bundler#590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(main): release 11.4.0 (netlify/edge-bundler#585)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>

* chore: adapt edge-bundler repo (#5599)

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

* chore: remove github-packages-releaser (i don't think we ever used that)

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

* chore: run test:integration as part of test:ci

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>
renovate bot added a commit to netlify/build that referenced this pull request Apr 23, 2024
* fix(deps): update dependency @netlify/open-api to ^2.30.0

* chore: integrate netlify/edge-bundler (#5598)

* chore(deps): update dependency vite to v4.1.2 (netlify/edge-bundler#309)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.4.4 (netlify/edge-bundler#307)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.1 (netlify/edge-bundler#310)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency vite to v4.1.4 (netlify/edge-bundler#311)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: update bootstrap (netlify/edge-bundler#303)

* chore(main): release 8.8.0 (netlify/edge-bundler#315)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: update std and eszip deps (netlify/edge-bundler#316)

* chore(main): release 8.8.1 (netlify/edge-bundler#317)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: update bootstrap version (netlify/edge-bundler#321)

* chore(main): release 8.9.0 (netlify/edge-bundler#323)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.37 (netlify/edge-bundler#324)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: clean some default feature flags (netlify/edge-bundler#320)

* feat: populate generator field if edge function is from a config file (netlify/edge-bundler#312)

* feat: populate generator field if edge function is from a config file

* feat: add internalSrcFolder for generated functions to autopopulate generator field

* fix: map over declarations and add generator field per declaration

* chore: cleanup (netlify/edge-bundler#325)

* chore: cleanup

* chore: increase timeout to 30s

* fix: throw errors when function or isc-config cannot be loaded (netlify/edge-bundler#327)

* feat: update bootstrap URL (netlify/edge-bundler#329)

* chore(main): release 8.10.0 (netlify/edge-bundler#326)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: propagate onError config property to manifest (netlify/edge-bundler#328)

* fix: throw errors when function or isc-config cannot be loaded

* chore: fix FF type

* feat: add on_error field

* :old-man-yells-at-linter:

* fix: prettier

* update snapshots

* feat: move on_error into per-function config

* fix: prettier, argh

* Update node/config.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: test

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.11.0 (netlify/edge-bundler#330)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: Updated bootstrap to the latest version (netlify/edge-bundler#332)

* chore(main): release 8.11.1 (netlify/edge-bundler#333)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: export `mergeDeclarations` function (netlify/edge-bundler#334)

* feat: export `mergeDeclarations` function

* chore: fix linting error

* chore: remove ESLint directives

* refactor: remove `NETLIFY_EDGE_BOOTSTRAP` var

* refactor: remove exports

* chore: fix test

* chore: update test

* chore: update bootstrap URL in test

* chore: update .eslintrc.cjs

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

---------

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(main): release 8.12.0 (netlify/edge-bundler#335)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update navikt/github-app-token-generator digest to a3831f4 (netlify/edge-bundler#278)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore: fix typo (netlify/edge-bundler#336)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: ignore config blocks for undefined functions (netlify/edge-bundler#337)

* chore(main): release 8.12.1 (netlify/edge-bundler#338)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: update vitest (netlify/edge-bundler#322)

chore: tests

Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: enforce leading slash in path and pattern (netlify/edge-bundler#339)

* chore(main): release 8.12.2 (netlify/edge-bundler#340)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.38 (netlify/edge-bundler#341)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.3 (netlify/edge-bundler#342)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: mark validation error as user error (netlify/edge-bundler#344)

* chore(main): release 8.12.3 (netlify/edge-bundler#345)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: improve speed of downloader test (netlify/edge-bundler#349)

The test now takes ~2s instead of ~22s
Also update vitest

* feat: split user and internal ISC function configs (netlify/edge-bundler#347)

* feat: split user and internal ISC function configs

* chore: run getFunctionConfig in parallel

* chore: comments

* feat: move non-route related ef configs to function_config in manifest (netlify/edge-bundler#348)

* feat: first work on moving ef configs that are not route-related to function_config

* feat: add comments for backwards-compatibility

* test: fix test and refactor a few things

* chore: fix typos en rename some things

* feat: add failsafe for internal in-source configurations

* chore: make name more explicit as functionName in mergeWithDeclarationConfig

* chore: remove hasAnyConfigValues

* test: fix test

* Update node/bundler.ts

add better comment

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.13.0 (netlify/edge-bundler#350)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.41 (netlify/edge-bundler#352)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.0 (netlify/edge-bundler#353)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.5.1 (netlify/edge-bundler#354)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.42 (netlify/edge-bundler#355)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.29.8 (netlify/edge-bundler#356)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: change the order of how edge functions are written to the manifest (netlify/edge-bundler#357)

* fix: revert slash validation and change validation message (netlify/edge-bundler#343)

* fix: change validation message

* Apply suggestions from code review

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: fix snapshots

* chore: do not validate pattern for beginning slash

---------

Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update dependency typescript to v5 (netlify/edge-bundler#351)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove duplicate functions and let .js take precedence (netlify/edge-bundler#359)

* feat: remove duplicate functions and let .js take precedence

* fix: use entire extensions list to check function precedence

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* fix: filter out function files based on extension before parsing them

* chore(deps): update vitest monorepo to ^0.30.0 (netlify/edge-bundler#363)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.0.4 (netlify/edge-bundler#362)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.13.1 (netlify/edge-bundler#358)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>

* fix: update eszip + std (netlify/edge-bundler#364)

* fix: update eszip + std

* fix: revert to version of std that contains node

* fix: revert back to node/url

* chore(main): release 8.13.2 (netlify/edge-bundler#365)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.30.1 (netlify/edge-bundler#367)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add repro for customer case (netlify/edge-bundler#366)

Update node/manifest.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

fix: types

Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.1 (netlify/edge-bundler#371)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.25 (netlify/edge-bundler#370)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: add npm provenance (netlify/edge-bundler#373)

* fix: ensure regular expressions are properly escaped (netlify/edge-bundler#378)

* fix: front slashes only get escaped now if they aren't already

* chore: updated test description

* chore: cleaned up logic

* fix: ensure regexes are properly escaped

* chore: style changes

---------

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* chore(deps): update dependency nock to v13.3.1 (netlify/edge-bundler#380)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.43 (netlify/edge-bundler#379)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: add route matcher to tests (netlify/edge-bundler#377)

* chore(main): release 8.14.0 (netlify/edge-bundler#372)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.14 (netlify/edge-bundler#382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency regexp-tree to v0.1.27 (netlify/edge-bundler#383)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.31.0 (netlify/edge-bundler#384)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.0 (netlify/edge-bundler#385)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.44 (netlify/edge-bundler#387)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove FF edge_functions_invalid_config_throw (netlify/edge-bundler#374)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.3 (netlify/edge-bundler#386)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove feature flag for execution order (netlify/edge-bundler#381)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.14.1 (netlify/edge-bundler#390)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: remove obsolete workflow (netlify/edge-bundler#391)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.45 (netlify/edge-bundler#393)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: remove del package (netlify/edge-bundler#394)

* chore(main): release 8.14.2 (netlify/edge-bundler#395)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.1 (netlify/edge-bundler#397)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.47 (netlify/edge-bundler#396)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: update CODEOWNERS (bulk-codeowners) (netlify/edge-bundler#399)

* Update codeowners to prepare for reorg team changes

* fix duplicate codeowners

* Update CODEOWNERS

---------

Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.1 (netlify/edge-bundler#401)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.1.15 (netlify/edge-bundler#400)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* Add `excludedPath` support to ISC & TOML (netlify/edge-bundler#402)

* feat: support mutliple excludedPath declarations

* feat: add excluded_patterns field to routes

* feat: move declaration-level excludedPaths into route field

* chore: add test reproducing design example

https://github.com/netlify/pod-dev-foundations/issues/471#issuecomment-1557109820

* fix: add leading slash to make typescript happy

* fix: another slash missing

* fix: types

* fix: rename getExcludedRegularExpression to plural

* fix: allow excludedPattern to be array

* feat: add support for excludedPattern (netlify/edge-bundler#403)

* chore(main): release 8.15.0 (netlify/edge-bundler#398)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.48 (netlify/edge-bundler#405)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support `node:` prefix (netlify/edge-bundler#406)

* feat: support `node:` prefix

* feat: update Deno version

* chore(main): release 8.16.0 (netlify/edge-bundler#407)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.5 (netlify/edge-bundler#409)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.31.4 (netlify/edge-bundler#410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.3 (netlify/edge-bundler#411)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: update minimum version of semver to be ESM compatible (netlify/edge-bundler#412)

* chore(main): release 8.16.1 (netlify/edge-bundler#413)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: improvements to download process of deno (netlify/edge-bundler#414)

* chore: add note about deno version

* chore: more logging

* chore(main): release 8.16.2 (netlify/edge-bundler#415)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.32.0 (netlify/edge-bundler#416)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.50 (netlify/edge-bundler#419)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.51 (netlify/edge-bundler#421)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.32.2 (netlify/edge-bundler#422)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#423)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.3 (netlify/edge-bundler#424)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#429)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to ^0.33.0 (netlify/edge-bundler#431)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#430)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.16.3 (netlify/edge-bundler#425)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore: use vitest v8 coverage provider  and enable coverage (netlify/edge-bundler#417)

* chore: run linting in spearate job, use v8 instead of c8, enable coverage

* chore: minimum is deno 1.32 which handles `node:` prefix

* chore: use deno 1.32.5 as latest because of security issues in 1.32.0

* chore(main): release 8.16.4 (netlify/edge-bundler#432)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.6 (netlify/edge-bundler#433)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.53 (netlify/edge-bundler#434)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.6.7 (netlify/edge-bundler#435)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.54 (netlify/edge-bundler#436)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.2 (netlify/edge-bundler#438)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.2 (netlify/edge-bundler#437)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: replace `glob-to-regexp` with `URLPattern` (netlify/edge-bundler#392)

* feat: replace `glob-to-regexp` with `URLPattern`

* chore: fix tests

* fix: pin version of `urlpattern-polyfill`

* chore: put behind featureflag

* fix: last missing test

* fix: types

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* chore(main): release 8.17.0 (netlify/edge-bundler#441)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: ensure patterns match on whole path (netlify/edge-bundler#442)

* fix: parseConfig stumbling over `globalThis.Netlify` usage in global scope (netlify/edge-bundler#427)

* chore: implement regression test

* fix: fix!

* fix: read globals from bootstrap

* fix: read Netlify from index-combined.ts

* feat: allow bootstrapURL to be injected from the outside

* chore(main): release 8.17.1 (netlify/edge-bundler#443)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.1.6 (netlify/edge-bundler#444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.5.4 (netlify/edge-bundler#445)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore: test that urlpattern named groups are supported (netlify/edge-bundler#447)

* chore(deps): update vitest monorepo to ^0.34.0 (netlify/edge-bundler#448)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: mark invalid url patterns as user error (netlify/edge-bundler#450)

* fix: mark invalid url patterns as user error

* fix: vs code generates wrong import paths :/

* chore(deps): update commitlint monorepo to v17.7.1 (netlify/edge-bundler#452)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: simplify `ImportMap` (netlify/edge-bundler#453)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add `path` to manifest (netlify/edge-bundler#455)

* feat: add `raw_pattern` to manifest

* refactor: rename `raw_pattern` to `path`

* chore(main): release 8.18.0 (netlify/edge-bundler#446)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency archiver to v5.3.2 (netlify/edge-bundler#456)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.3 (netlify/edge-bundler#457)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove `URLPattern` feature flag (netlify/edge-bundler#460)

* feat: support `@netlify/edge-functions` specifier (netlify/edge-bundler#459)

* feat: support `@netlify/edge-functions` specifier

* chore: fix test

* feat: match on http methods (netlify/edge-bundler#458)

* feat: add field to schema

* feat: write `method` into manifest

* fix: don't allow HEAD

* Update node/manifest.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: typecheck method

* fix: types

* fix: only include defined method fields

* fix: test

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(deps): update vitest monorepo to v0.34.3 (netlify/edge-bundler#463)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.56 (netlify/edge-bundler#462)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(main): release 8.19.0 (netlify/edge-bundler#461)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>

* chore(deps): update dependency @types/semver to v7.5.1 (netlify/edge-bundler#466)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.58 (netlify/edge-bundler#465)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remap `netlify:edge` specifier (netlify/edge-bundler#467)

* fix: pin bootstrap version used in config extraction (netlify/edge-bundler#469)

* fix: hide stack trace on syntax errors (netlify/edge-bundler#464)

* fix: hide stack trace on syntax errors

* fix: ts error

* fix: don't snapshot stacktrace

* Update node/bundler.test.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* refactor: use single if

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore(main): release 8.19.1 (netlify/edge-bundler#468)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add support for npm modules (netlify/edge-bundler#454)

* feat: simplify `ImportMap`

* refactor: tweak `filterScopes`

* chore: fix test

* feat: add support for npm modules

* refactor: tidy up

* fix: only process import statements

* feat: support unprefixed Node.js built-ins

* feat: add `try/catch`

* refactor: convert stub path to file URL

* refactor: simplify code

* refactor: rename variable

* refactor: rename variable

* refactor: use `builtinModules` from `node:module`

* refactor: add try/catch

* chore: update lock file

* fix: support import maps in npm module resolution (netlify/edge-bundler#471)

* fix: support import maps in npm module resolution

* fix: set default value of flag

* refactor: add user-facing messages

* fix: fix Windows paths

* fix: fix capitalisation

* chore(main): release 8.20.0 (netlify/edge-bundler#470)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.3 (netlify/edge-bundler#474)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.59 (netlify/edge-bundler#473)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.2 (netlify/edge-bundler#477)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.61 (netlify/edge-bundler#476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove support for `npm:` prefix (netlify/edge-bundler#472)

* feat: remove support for `npm:` prefix

* feat: show better error message

* refactor: stub -> barrel

* chore: update comment

* feat!: support npm modules when serving (netlify/edge-bundler#475)

* feat!: support npm modules when serving

* fix: remove `.only`

* chore(main): release 9.0.0 (netlify/edge-bundler#478)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v14.18.63 (netlify/edge-bundler#480)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.2 (netlify/edge-bundler#479)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: return `features` from server (netlify/edge-bundler#481)

* feat: return `features` from server

* fix: update Deno version

* chore: revert bootstrap version locking

* chore: add debug logging

* fix: look for absolute paths

* refactor: wrap npm vendoring in feature flag

* refactor: revert version bump

* chore(main): release 9.1.0 (netlify/edge-bundler#482)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @commitlint/cli to v17.7.2 (netlify/edge-bundler#484)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.3 (netlify/edge-bundler#485)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.4 (netlify/edge-bundler#487)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update vitest monorepo to v0.34.6 (netlify/edge-bundler#486)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.0 (netlify/edge-bundler#490)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency uuid to v9.0.1 (netlify/edge-bundler#489)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.2.2 (netlify/edge-bundler#491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: allow injecting user-facing logger (netlify/edge-bundler#493)

* feat: allow injecting user-facing logger

* fix: update remaining callsites

* chore(deps): update actions/checkout action to v4 (netlify/edge-bundler#492)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: detect .mjs files (netlify/edge-bundler#483)

* fix: NPM bundling should use ESM format (netlify/edge-bundler#494)

* chore: show how top-level await can throw esbuild off

* fix: specify ESM format

* chore(main): release 9.2.0 (netlify/edge-bundler#488)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: NPM parsing shouldn't try loading Deno URL imports (netlify/edge-bundler#496)

* fix: don't stumble over http imports

* fix: other test also needs import map

* fix: mute esbuild while parsing for NPM modules (netlify/edge-bundler#497)

* fix: mute esbuild while parsing for NPM modules

* fix: update error message

* chore(main): release 9.2.1 (netlify/edge-bundler#498)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.4 (netlify/edge-bundler#500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.0 (netlify/edge-bundler#501)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: trace npm modules with NFT (netlify/edge-bundler#499)

* feat: trace npm modules with NFT

* fix: address PR review

* fix: resolve specifier after import map resolver

* Update node/npm_dependencies.ts

Co-authored-by: Simon Knott <info@simonknott.de>

* refactor: return `npmSpecifiersWithExtraneousFiles`

---------

Co-authored-by: Simon Knott <info@simonknott.de>

* fix: respect import map files containing only scopes (netlify/edge-bundler#495)

* chore(main): release 9.3.0 (netlify/edge-bundler#504)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.3 (netlify/edge-bundler#507)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update commitlint monorepo to v17.8.1 (netlify/edge-bundler#506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: detect Typescript typings for NPM modules and reference them from barrel files (netlify/edge-bundler#505)

* chore: add npm module to serve test

* feat: detect `types` from package.json and prepend it in typescript directive

* fix: detect @types packages as well

* fix: respect scoped packages

* chore: add comment

* Update node/npm_dependencies.ts

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* chore: address some feedback

* fix: make type reference relative path

* fix: only look at `package.json` files

* fix: windows test

* chore: address feedback

* fix: detect extraneous files

* refactor: rename variables

* refactor: break things up into two functions

* refactor: dont rename variable

* fix: write everything in one go

* refactor: scrap the file descriptor

---------

Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>

* fix: give stable barrel file names (netlify/edge-bundler#509)

* fix: give stable barrel file names

* fix: rename to "bundled" instead of barrel

* chore(main): release 9.4.0 (netlify/edge-bundler#508)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: relative path needs to be from directory, not from file (netlify/edge-bundler#510)

* chore(main): release 9.4.1 (netlify/edge-bundler#511)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.4 (netlify/edge-bundler#515)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.6 (netlify/edge-bundler#516)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix: remove npm_modules and fail_unsupported_regex flags (netlify/edge-bundler#514)

* fix: remove npm_modules and fail_unsupported_regex flags

* fix: make it a user error

* fix: prefer ESM if available (netlify/edge-bundler#517)

* feat: add support for JSON imports (netlify/edge-bundler#513)

* chore: write acceptance test

* fix: update edge-bundler

* fix: update deno min version

* fix: don't delete dist directory in between builds on local dev (netlify/edge-bundler#512)

* chore(main): release 9.5.0 (netlify/edge-bundler#518)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `rootPath` for monorepo setups (netlify/edge-bundler#521)

* feat: add `rootPath` for monorepo setups

* chore: remove serve folder

* chore: update test

* chore: stop cleaning up in CI

* fix(deps): update dependency esbuild to v0.19.5 (netlify/edge-bundler#525)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.3.8 (netlify/edge-bundler#524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: return declarations without function and unrouted functions (netlify/edge-bundler#523)

* feat!: return declarations without function and functions without declaration

BREAKING CHANGE: `generateManifest` exported method now returns an object with a `manifest` property

* refactor: rename to `unroutedFunctions`

* chore: update test name

* feat: add type exports

* chore(main): release 10.0.0 (netlify/edge-bundler#522)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: add `ModuleGraph` type (netlify/edge-bundler#528)

* feat: add `ModuleGraph` type

* chore: remove `ts-expect-error` directives

* chore(main): release 10.1.0 (netlify/edge-bundler#529)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.5 (netlify/edge-bundler#531)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/glob-to-regexp to v0.4.4 (netlify/edge-bundler#530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.7 (netlify/edge-bundler#532)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: parse TSX files for module detection, define NODE_ENV, polyfill missing Node.js globals (netlify/edge-bundler#519)

* fix: parse TSX files for module detection, define NODE_ENV

* chore: remove comment

* fix: only define `process.env.NODE_ENV` for builds

* fix: implement polyfills for Node globals

* fix: remove .only

* refactor: use banner instead

* fix: ensure customer code can't access process.env

* fix: remove .only once again

* chore: cleanup foo var

* chore: align formatting

* refactor: replace two bools with environment

* chore(main): release 10.1.1 (netlify/edge-bundler#534)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: prevent global namespace clash for `Buffer` (netlify/edge-bundler#535)

* chore(main): release 10.1.2 (netlify/edge-bundler#536)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.6 (netlify/edge-bundler#538)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: fix `ModuleGraph` type export (netlify/edge-bundler#537)

* fix: fix `ModuleGraph` type export

* chore: remove unnecessary directives

* chore: reset formatting

* chore(main): release 10.1.3 (netlify/edge-bundler#540)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.6 (netlify/edge-bundler#541)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.8 (netlify/edge-bundler#542)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.2 (netlify/edge-bundler#544)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.4.0 (netlify/edge-bundler#546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.24.4 (netlify/edge-bundler#545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.9 (netlify/edge-bundler#550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.3.3 (netlify/edge-bundler#549)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat!: provide import maps when starting the isolate, not server (netlify/edge-bundler#548)

* feat!: provide import maps when starting the isolate, not server

* fix: tests

* chore: remove unused type

* chore(main): release 11.0.0 (netlify/edge-bundler#543)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to ^0.26.0 (netlify/edge-bundler#551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.10 (netlify/edge-bundler#554)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.19.11 (netlify/edge-bundler#556)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.2 (netlify/edge-bundler#559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: transform negative lookaheads (netlify/edge-bundler#560)

* fix: revert "feat: transform negative lookaheads" (netlify/edge-bundler#561)

* chore(deps): update dependency nock to v13.5.0 (netlify/edge-bundler#562)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: support PCRE regexp engine (netlify/edge-bundler#563)

* chore(main): release 11.1.0 (netlify/edge-bundler#553)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* feat: allow custom `stderr` and `stdout` in server (netlify/edge-bundler#564)

* feat: allow custom `stderr` and `stdout` in server

* chore: add test

* chore: update test

* chore(main): release 11.2.0 (netlify/edge-bundler#565)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: enclose regexp when using PCRE (netlify/edge-bundler#566)

* chore(main): release 11.2.1 (netlify/edge-bundler#567)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* fix: pipe log output in server (netlify/edge-bundler#568)

* chore(main): release 11.2.2 (netlify/edge-bundler#569)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/uuid to v9.0.8 (netlify/edge-bundler#570)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.1 (netlify/edge-bundler#571)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.3 (netlify/edge-bundler#572)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency jsonc-parser to v3.2.1 (netlify/edge-bundler#573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(deps): update dependency semver to v7.6.0 (netlify/edge-bundler#577)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.0 (netlify/edge-bundler#576)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* feat: remove feature flag for PCRE engine (netlify/edge-bundler#580)

* feat: remove flag for PCRE engine

* fix: remove flag entirely

* refactor: rename method

* chore(main): release 11.3.0 (netlify/edge-bundler#574)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/semver to v7.5.8 (netlify/edge-bundler#581)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nock to v13.5.4 (netlify/edge-bundler#582)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @vercel/nft to v0.26.4 (netlify/edge-bundler#584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.1 (netlify/edge-bundler#586)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: ratelimit config from source (netlify/edge-bundler#583)

* feat: ratelimit config from source

* feat: config consistent with lambda

* chore: ratelimit -> rate_limit

* chore(deps): update navikt/github-app-token-generator digest to a8ae524 (netlify/edge-bundler#587)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency esbuild to v0.20.2 (netlify/edge-bundler#588)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tar to v6.2.1 (netlify/edge-bundler#589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5.4.3 (netlify/edge-bundler#590)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(main): release 11.4.0 (netlify/edge-bundler#585)

Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>

* chore: adapt edge-bundler repo (#5599)

* chore: delete duplicate config files

* chore: remove unneeded duplicate dependencies

* chore: configure prettier

* chore: fix lint errors

* chore: remove duplicate github config

* chore: remove github-packages-releaser (i don't think we ever used that)

* chore: remove reference to format script

* chore: fix tests

* chore: migrate integration.yml into workflow.yml

* chore: integrate unit testing flow

* chore: release-please needs Deno installed

* chore: specify path in directory

* chore: update release-please config

* chore: run test:integration as part of test:ci

* chore: fix snapshot path

* Update packages/edge-bundler/package.json

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Simon Knott <info@simonknott.de>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Daniel Tschinder <231804+danez@users.noreply.github.com>
Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
Co-authored-by: Karin Hendrikse <30577427+khendrikse@users.noreply.github.com>
Co-authored-by: Eduardo Bouças <mail@eduardoboucas.com>
Co-authored-by: Ivan Zarea <ivan.zarea@netlify.com>
Co-authored-by: Kristen Lavavej <35638702+klavavej@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Peter N <spacey-github.com@ssr.com>
Co-authored-by: Your Name <youremail@yourdomain.com>
Co-authored-by: Paulo Araújo <4138302+paulo@users.noreply.github.com>
Co-authored-by: Lukas Holzer <lukas.holzer@netlify.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants