Upgrade to latest @edge-runtime packages (#62955)

This upgrades to the latest edge-runtime packages as it includes
exposing `performance`. This was reverted previously as our publishes
were failing with a specific change that has since been removed
upstream.

Closes NEXT-2730
This commit is contained in:
JJ Kasper 2024-03-06 11:43:48 -08:00 committed by GitHub
parent 47380b1080
commit 67eca23ae5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 110 additions and 107 deletions

View file

@ -62,7 +62,7 @@
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/preset-flow": "7.22.5",
"@babel/preset-react": "7.22.5",
"@edge-runtime/jest-environment": "2.3.4",
"@edge-runtime/jest-environment": "2.3.10",
"@emotion/cache": "11.11.0",
"@emotion/react": "11.11.1",
"@fullhuman/postcss-purgecss": "1.3.0",

View file

@ -138,8 +138,8 @@
"@babel/types": "7.22.5",
"@capsizecss/metrics": "2.0.0",
"@edge-runtime/cookies": "4.1.0",
"@edge-runtime/ponyfill": "2.4.1",
"@edge-runtime/primitives": "4.0.2",
"@edge-runtime/ponyfill": "2.4.2",
"@edge-runtime/primitives": "4.1.0",
"@hapi/accept": "5.0.2",
"@jest/transform": "29.5.0",
"@jest/types": "29.5.0",

View file

@ -20,6 +20,7 @@ function edge() {
File,
FormData,
Headers,
performance,
PromiseRejectionEvent,
ReadableStream,
ReadableStreamBYOBReader,

View file

@ -1 +1 @@
{"name":"@edge-runtime/ponyfill","version":"2.4.1","main":"./index.js","types":"./index.d.ts","license":"MPL-2.0"}
{"name":"@edge-runtime/ponyfill","version":"2.4.2","main":"./index.js","types":"./index.d.ts","license":"MPL-2.0"}

View file

@ -1 +1 @@
module.exports = "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/primitives/abort-controller.js\nvar abort_controller_exports = {};\n__export(abort_controller_exports, {\n AbortController: () => AbortController,\n AbortSignal: () => AbortSignal,\n DOMException: () => DOMException\n});\nmodule.exports = __toCommonJS(abort_controller_exports);\nvar kSignal = Symbol(\"kSignal\");\nvar kAborted = Symbol(\"kAborted\");\nvar kReason = Symbol(\"kReason\");\nvar kName = Symbol(\"kName\");\nvar kOnabort = Symbol(\"kOnabort\");\nvar _DOMException = class _DOMException extends Error {\n constructor(message, name) {\n super(message);\n this[kName] = name;\n }\n get name() {\n return this[kName];\n }\n};\n__name(_DOMException, \"DOMException\");\nvar DOMException = _DOMException;\nfunction createAbortSignal() {\n const signal = new EventTarget();\n Object.setPrototypeOf(signal, AbortSignal.prototype);\n signal[kAborted] = false;\n signal[kReason] = void 0;\n signal[kOnabort] = void 0;\n return signal;\n}\n__name(createAbortSignal, \"createAbortSignal\");\nfunction abortSignalAbort(signal, reason) {\n if (typeof reason === \"undefined\") {\n reason = new DOMException(\"The operation was aborted.\", \"AbortError\");\n }\n if (signal.aborted) {\n return;\n }\n signal[kReason] = reason;\n signal[kAborted] = true;\n signal.dispatchEvent(new Event(\"abort\"));\n}\n__name(abortSignalAbort, \"abortSignalAbort\");\nvar _AbortController = class _AbortController {\n constructor() {\n this[kSignal] = createAbortSignal();\n }\n get signal() {\n return this[kSignal];\n }\n abort(reason) {\n abortSignalAbort(this.signal, reason);\n }\n};\n__name(_AbortController, \"AbortController\");\nvar AbortController = _AbortController;\nvar _AbortSignal = class _AbortSignal extends EventTarget {\n constructor() {\n throw new TypeError(\"Illegal constructor.\");\n }\n get aborted() {\n return this[kAborted];\n }\n get reason() {\n return this[kReason];\n }\n get onabort() {\n return this[kOnabort];\n }\n set onabort(value) {\n if (this[kOnabort]) {\n this.removeEventListener(\"abort\", this[kOnabort]);\n }\n if (value) {\n this[kOnabort] = value;\n this.addEventListener(\"abort\", this[kOnabort]);\n }\n }\n throwIfAborted() {\n if (this[kAborted]) {\n throw this[kReason];\n }\n }\n static abort(reason) {\n const signal = createAbortSignal();\n abortSignalAbort(signal, reason);\n return signal;\n }\n static timeout(milliseconds) {\n const signal = createAbortSignal();\n setTimeout(() => {\n abortSignalAbort(\n signal,\n new DOMException(\"The operation timed out.\", \"TimeoutError\")\n );\n }, milliseconds);\n return signal;\n }\n};\n__name(_AbortSignal, \"AbortSignal\");\nvar AbortSignal = _AbortSignal;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n"
module.exports = "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/primitives/abort-controller.js\nvar abort_controller_exports = {};\n__export(abort_controller_exports, {\n AbortController: () => AbortController,\n AbortSignal: () => AbortSignal,\n DOMException: () => DOMException\n});\nmodule.exports = __toCommonJS(abort_controller_exports);\nvar kSignal = Symbol(\"kSignal\");\nvar kAborted = Symbol(\"kAborted\");\nvar kReason = Symbol(\"kReason\");\nvar kName = Symbol(\"kName\");\nvar kOnabort = Symbol(\"kOnabort\");\nvar _DOMException = class _DOMException extends Error {\n constructor(message, name) {\n super(message);\n this[kName] = name;\n }\n get name() {\n return this[kName];\n }\n};\n__name(_DOMException, \"DOMException\");\nvar DOMException = _DOMException;\nfunction createAbortSignal() {\n const signal = new EventTarget();\n Object.setPrototypeOf(signal, AbortSignal.prototype);\n signal[kAborted] = false;\n signal[kReason] = void 0;\n signal[kOnabort] = void 0;\n return signal;\n}\n__name(createAbortSignal, \"createAbortSignal\");\nfunction abortSignalAbort(signal, reason) {\n if (typeof reason === \"undefined\") {\n reason = new DOMException(\"This operation was aborted\", \"AbortError\");\n }\n if (signal.aborted) {\n return;\n }\n signal[kReason] = reason;\n signal[kAborted] = true;\n signal.dispatchEvent(new Event(\"abort\"));\n}\n__name(abortSignalAbort, \"abortSignalAbort\");\nvar _AbortController = class _AbortController {\n constructor() {\n this[kSignal] = createAbortSignal();\n }\n get signal() {\n return this[kSignal];\n }\n abort(reason) {\n abortSignalAbort(this.signal, reason);\n }\n};\n__name(_AbortController, \"AbortController\");\nvar AbortController = _AbortController;\nvar _AbortSignal = class _AbortSignal extends EventTarget {\n constructor() {\n throw new TypeError(\"Illegal constructor\");\n }\n get aborted() {\n return this[kAborted];\n }\n get reason() {\n return this[kReason];\n }\n get onabort() {\n return this[kOnabort];\n }\n set onabort(value) {\n if (this[kOnabort]) {\n this.removeEventListener(\"abort\", this[kOnabort]);\n }\n if (value) {\n this[kOnabort] = value;\n this.addEventListener(\"abort\", this[kOnabort]);\n }\n }\n throwIfAborted() {\n if (this[kAborted]) {\n throw this[kReason];\n }\n }\n static abort(reason) {\n const signal = createAbortSignal();\n abortSignalAbort(signal, reason);\n return signal;\n }\n static timeout(milliseconds) {\n const signal = createAbortSignal();\n setTimeout(() => {\n abortSignalAbort(\n signal,\n new DOMException(\n \"The operation was aborted due to timeout\",\n \"TimeoutError\"\n )\n );\n }, milliseconds);\n return signal;\n }\n};\n__name(_AbortSignal, \"AbortSignal\");\nvar AbortSignal = _AbortSignal;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,8 +0,0 @@
declare const TextEncoderConstructor: typeof TextEncoder
declare const TextDecoderConstructor: typeof TextDecoder
declare const atob: (encoded: string) => string
declare const btoa: (str: string) => string
export { TextDecoderConstructor as TextDecoder, TextEncoderConstructor as TextEncoder, atob, btoa };

View file

@ -1 +0,0 @@
module.exports = "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/primitives/encoding.js\nvar encoding_exports = {};\n__export(encoding_exports, {\n atob: () => atob,\n btoa: () => btoa\n});\nmodule.exports = __toCommonJS(encoding_exports);\nvar atob = /* @__PURE__ */ __name((enc) => Buffer.from(enc, \"base64\").toString(\"binary\"), \"atob\");\nvar btoa = /* @__PURE__ */ __name((str) => Buffer.from(str, \"binary\").toString(\"base64\"), \"btoa\");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n atob,\n btoa\n});\n"

View file

@ -313,7 +313,6 @@ declare namespace Event$1 {
declare const EventTargetConstructor: typeof EventTarget
declare const EventConstructor: typeof Event
declare class FetchEvent {
request: Request
response: Response | null

View file

@ -1 +1 @@
module.exports = "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/primitives/events.js\nvar events_exports = {};\n__export(events_exports, {\n FetchEvent: () => FetchEvent,\n PromiseRejectionEvent: () => PromiseRejectionEvent\n});\nmodule.exports = __toCommonJS(events_exports);\nvar _FetchEvent = class _FetchEvent extends Event {\n constructor(request) {\n super(\"fetch\");\n this.request = request;\n this.response = null;\n this.awaiting = /* @__PURE__ */ new Set();\n }\n respondWith(response) {\n this.response = response;\n }\n waitUntil(promise) {\n this.awaiting.add(promise);\n promise.finally(() => this.awaiting.delete(promise));\n }\n};\n__name(_FetchEvent, \"FetchEvent\");\nvar FetchEvent = _FetchEvent;\nvar _PromiseRejectionEvent = class _PromiseRejectionEvent extends Event {\n constructor(type, init) {\n super(type, { cancelable: true });\n this.promise = init.promise;\n this.reason = init.reason;\n }\n};\n__name(_PromiseRejectionEvent, \"PromiseRejectionEvent\");\nvar PromiseRejectionEvent = _PromiseRejectionEvent;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n FetchEvent,\n PromiseRejectionEvent\n});\n"
module.exports = "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/primitives/events.js\nvar events_exports = {};\n__export(events_exports, {\n FetchEvent: () => FetchEvent,\n PromiseRejectionEvent: () => PromiseRejectionEvent\n});\nmodule.exports = __toCommonJS(events_exports);\nvar _FetchEvent = class _FetchEvent extends Event {\n constructor(request) {\n super(\"fetch\");\n this.request = request;\n this.response = null;\n this.awaiting = /* @__PURE__ */ new Set();\n }\n respondWith = (response) => {\n this.response = response;\n };\n waitUntil = (promise) => {\n this.awaiting.add(promise);\n promise.finally(() => this.awaiting.delete(promise));\n };\n};\n__name(_FetchEvent, \"FetchEvent\");\nvar FetchEvent = _FetchEvent;\nvar _PromiseRejectionEvent = class _PromiseRejectionEvent extends Event {\n constructor(type, init) {\n super(type, { cancelable: true });\n this.promise = init.promise;\n this.reason = init.reason;\n }\n};\n__name(_PromiseRejectionEvent, \"PromiseRejectionEvent\");\nvar PromiseRejectionEvent = _PromiseRejectionEvent;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n FetchEvent,\n PromiseRejectionEvent\n});\n"

View file

@ -24,4 +24,4 @@ declare const FileConstructor: typeof File
declare const FormDataConstructor: typeof FormData
declare const WebSocketConstructor: typeof WebSocket
export { FileConstructor as File, FormDataConstructor as FormData, Headers, Request, RequestInfo, RequestInit, Response, WebSocketConstructor as WebSocket, fetchImplementation as fetch };
export { FileConstructor as File, FormDataConstructor as FormData, Headers, Request, type RequestInfo, type RequestInit, Response, WebSocketConstructor as WebSocket, fetchImplementation as fetch };

File diff suppressed because one or more lines are too long

View file

@ -2,13 +2,19 @@ export { AbortController, AbortSignal, DOMException } from './abort-controller.d
export { Blob } from './blob.d.js';
export { console } from './console.d.js';
export { Crypto, CryptoKey, SubtleCrypto, crypto } from './crypto.d.js';
export { TextDecoder, TextEncoder, atob, btoa } from './encoding.d.js';
export { Event, EventTarget, FetchEvent, PromiseRejectionEvent } from './events.d.js';
export { File, FormData, Headers, Request, RequestInfo, RequestInit, Response, WebSocket, fetch } from './fetch.d.js';
export { structuredClone } from './structured-clone.d.js';
export { URL, URLPattern, URLSearchParams } from './url.d.js';
export { setInterval, setTimeout } from './timers.d.js';
declare const TextEncoderConstructor: typeof TextEncoder
declare const TextDecoderConstructor: typeof TextDecoder
declare const _atob: typeof atob
declare const _btoa: typeof btoa
/**
* The type of `ReadableStreamBYOBReader` is not included in Typescript so we
* are declaring it inline to not have to worry about bundling.
@ -18,7 +24,7 @@ declare class ReadableStreamBYOBReader {
get closed(): Promise<undefined>
cancel(reason?: any): Promise<void>
read<T extends ArrayBufferView>(
view: T
view: T,
): Promise<{ done: false; value: T } | { done: true; value: T | undefined }>
releaseLock(): void
}
@ -33,4 +39,6 @@ declare const WritableStreamDefaultWriterConstructor: typeof WritableStreamDefau
declare const TextDecoderStreamConstructor: typeof TextDecoderStream
declare const TextEncoderStreamConstructor: typeof TextEncoderStream
export { ReadableStreamConstructor as ReadableStream, ReadableStreamBYOBReaderConstructor as ReadableStreamBYOBReader, ReadableStreamDefaultReaderConstructor as ReadableStreamDefaultReader, TextDecoderStreamConstructor as TextDecoderStream, TextEncoderStreamConstructor as TextEncoderStream, TransformStreamConstructor as TransformStream, WritableStreamConstructor as WritableStream, WritableStreamDefaultWriterConstructor as WritableStreamDefaultWriter };
declare const performanceConstructor: typeof performance
export { ReadableStreamConstructor as ReadableStream, ReadableStreamBYOBReaderConstructor as ReadableStreamBYOBReader, ReadableStreamDefaultReaderConstructor as ReadableStreamDefaultReader, TextDecoderConstructor as TextDecoder, TextDecoderStreamConstructor as TextDecoderStream, TextEncoderConstructor as TextEncoder, TextEncoderStreamConstructor as TextEncoderStream, TransformStreamConstructor as TransformStream, WritableStreamConstructor as WritableStream, WritableStreamDefaultWriterConstructor as WritableStreamDefaultWriter, _atob as atob, _btoa as btoa, performanceConstructor as performance };

View file

@ -20,7 +20,7 @@ import * as __index from './index';
* ```
*/
declare function load(
scopedContext: Record<string, unknown>
scopedContext: Record<string, unknown>,
): typeof __index
export { load };

View file

@ -74,19 +74,14 @@ function requireWithFakeGlobalScope(params) {
__name(requireWithFakeGlobalScope, "requireWithFakeGlobalScope");
function load(scopedContext = {}) {
const context = {};
const encodingImpl = requireWithFakeGlobalScope({
context,
id: "encoding.js",
sourceCode: require("./encoding.js.text.js"),
scopedContext
});
assign(context, {
TextDecoder,
TextEncoder,
TextEncoderStream: import_web.TextEncoderStream,
TextDecoderStream: import_web.TextDecoderStream,
atob: encodingImpl.atob,
btoa: encodingImpl.btoa
atob,
btoa,
performance
});
const consoleImpl = requireWithFakeGlobalScope({
context,

View file

@ -1 +1 @@
{"name":"@edge-runtime/primitives","version":"4.0.2","main":"./index.js","license":"MPL-2.0"}
{"name":"@edge-runtime/primitives","version":"4.1.0","main":"./index.js","license":"MPL-2.0"}

View file

@ -1,4 +1,4 @@
declare const _setTimeout: typeof Number
declare const _setInterval: typeof Number
declare const _setTimeout: (callback: () => void, ms?: number) => number
declare const _setInterval: (callback: () => void, ms?: number) => number
export { _setInterval as setInterval, _setTimeout as setTimeout };

File diff suppressed because one or more lines are too long

View file

@ -425,6 +425,8 @@ Learn More: https://nextjs.org/docs/messages/edge-dynamic-code-evaluation`),
Object.assign(context, wasm)
context.performance = performance
context.AsyncLocalStorage = AsyncLocalStorage
// @ts-ignore the timeouts have weird types in the edge runtime

View file

@ -45,8 +45,8 @@ importers:
specifier: 7.22.5
version: 7.22.5(@babel/core@7.22.5)
'@edge-runtime/jest-environment':
specifier: 2.3.4
version: 2.3.4
specifier: 2.3.10
version: 2.3.10
'@emotion/cache':
specifier: 11.11.0
version: 11.11.0
@ -909,11 +909,11 @@ importers:
specifier: 4.1.0
version: 4.1.0
'@edge-runtime/ponyfill':
specifier: 2.4.1
version: 2.4.1
specifier: 2.4.2
version: 2.4.2
'@edge-runtime/primitives':
specifier: 4.0.2
version: 4.0.2
specifier: 4.1.0
version: 4.1.0
'@hapi/accept':
specifier: 5.0.2
version: 5.0.2
@ -2154,6 +2154,7 @@ packages:
/@babel/plugin-proposal-dynamic-import@7.16.7(@babel/core@7.22.5):
resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
peerDependencies:
'@babel/core': 7.22.5
dependencies:
@ -2165,6 +2166,7 @@ packages:
/@babel/plugin-proposal-export-namespace-from@7.16.7(@babel/core@7.22.5):
resolution: {integrity: sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
peerDependencies:
'@babel/core': 7.22.5
dependencies:
@ -2188,6 +2190,7 @@ packages:
/@babel/plugin-proposal-logical-assignment-operators@7.16.7(@babel/core@7.22.5):
resolution: {integrity: sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
peerDependencies:
'@babel/core': 7.22.5
dependencies:
@ -2209,6 +2212,7 @@ packages:
/@babel/plugin-proposal-numeric-separator@7.16.7(@babel/core@7.22.5):
resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
peerDependencies:
'@babel/core': 7.22.5
dependencies:
@ -2258,6 +2262,7 @@ packages:
/@babel/plugin-proposal-private-methods@7.16.11(@babel/core@7.22.5):
resolution: {integrity: sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
peerDependencies:
'@babel/core': 7.22.5
dependencies:
@ -3540,19 +3545,19 @@ packages:
engines: {node: '>=16'}
dev: true
/@edge-runtime/jest-environment@2.3.4:
resolution: {integrity: sha512-8oFsjP7BvxH5Xn1mCFyWEV/bwFtHqByfXIfdo3LuRZ0yLXgc96COrEnBi4PRhep621RkfvGdu1fhDqmopdVqkw==}
/@edge-runtime/jest-environment@2.3.10:
resolution: {integrity: sha512-wms2hveQV18DnWkiqzpjzIJ4SoD3+dXzuQ3/GAsklQDCGd4ClkREu5zCy0TFha0mR4I9tqi0DB8nD5Ldd/r1Pg==}
engines: {node: '>=16'}
dependencies:
'@edge-runtime/vm': 3.1.4
'@edge-runtime/vm': 3.2.0
'@jest/environment': 29.5.0
'@jest/fake-timers': 29.5.0
jest-mock: 29.5.0
jest-util: 29.5.0
dev: true
/@edge-runtime/ponyfill@2.4.1:
resolution: {integrity: sha512-ZbR/EViY3gg2rmEAQTKPa6mXl4aR1/+cFcQe4r1segCjEbTAxT6PWu40odbu/KlZKSysEb2O/BWIC2lJgSJOMQ==}
/@edge-runtime/ponyfill@2.4.2:
resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==}
engines: {node: '>=16'}
dev: true
@ -3561,6 +3566,11 @@ packages:
engines: {node: '>=16'}
dev: true
/@edge-runtime/primitives@4.1.0:
resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==}
engines: {node: '>=16'}
dev: true
/@edge-runtime/vm@3.1.4:
resolution: {integrity: sha512-k3AdzA2Bfdr7NCezxER0Ch3MPwMbPqEFJqlgJ7xSIvsuuW+8c2rRQpPDMoy8ZSPbnwzg+SK3cyoLGDt4hFhexQ==}
engines: {node: '>=16'}
@ -3568,6 +3578,13 @@ packages:
'@edge-runtime/primitives': 4.0.2
dev: true
/@edge-runtime/vm@3.2.0:
resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==}
engines: {node: '>=16'}
dependencies:
'@edge-runtime/primitives': 4.1.0
dev: true
/@emotion/babel-plugin@11.11.0:
resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
dependencies:
@ -4131,7 +4148,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
jest-message-util: 27.5.1
jest-util: 27.5.1
slash: 3.0.0
@ -4143,7 +4160,7 @@ packages:
dependencies:
'@jest/types': 29.6.3
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
slash: 3.0.0
@ -4165,7 +4182,7 @@ packages:
'@jest/types': 29.6.3
'@types/node': 20.2.5
ansi-escapes: 4.3.2
chalk: 4.0.0
chalk: 4.1.2
ci-info: 3.8.0
exit: 0.1.2
graceful-fs: 4.2.11
@ -4206,10 +4223,10 @@ packages:
resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/fake-timers': 29.5.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.5.0
'@types/node': 20.2.5
jest-mock: 29.5.0
jest-mock: 29.7.0
dev: true
/@jest/environment@29.7.0:
@ -4258,9 +4275,9 @@ packages:
'@jest/types': 29.5.0
'@sinonjs/fake-timers': 10.2.0
'@types/node': 20.2.5
jest-message-util: 29.5.0
jest-mock: 29.5.0
jest-util: 29.5.0
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
dev: true
/@jest/fake-timers@29.7.0:
@ -4312,7 +4329,7 @@ packages:
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.19
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
collect-v8-coverage: 1.0.1
exit: 0.1.2
glob: 7.1.7
@ -4402,7 +4419,7 @@ packages:
'@babel/core': 7.22.5
'@jest/types': 27.5.1
babel-plugin-istanbul: 6.1.1
chalk: 4.0.0
chalk: 4.1.2
convert-source-map: 1.9.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.11
@ -4449,7 +4466,7 @@ packages:
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.19
babel-plugin-istanbul: 6.1.1
chalk: 4.0.0
chalk: 4.1.2
convert-source-map: 2.0.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.11
@ -4472,7 +4489,7 @@ packages:
'@types/istanbul-reports': 3.0.1
'@types/node': 20.2.5
'@types/yargs': 16.0.9
chalk: 4.0.0
chalk: 4.1.2
dev: true
/@jest/types@29.5.0:
@ -4496,7 +4513,7 @@ packages:
'@types/istanbul-reports': 3.0.1
'@types/node': 20.2.5
'@types/yargs': 17.0.10
chalk: 4.0.0
chalk: 4.1.2
dev: true
/@jridgewell/gen-mapping@0.3.1:
@ -8426,7 +8443,7 @@ packages:
'@types/babel__core': 7.1.14
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 29.6.3(@babel/core@7.22.5)
chalk: 4.0.0
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
transitivePeerDependencies:
@ -8485,7 +8502,7 @@ packages:
engines: {node: '>= 8.0.0'}
dependencies:
find-babel-config: 1.2.0
glob: 7.1.6
glob: 7.1.7
pkg-up: 3.1.0
reselect: 4.1.8
resolve: 1.22.4
@ -9984,7 +10001,7 @@ packages:
hasBin: true
dependencies:
'@jest/types': 29.6.3
chalk: 4.0.0
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
jest-config: 29.7.0(@types/node@20.2.5)
@ -12402,7 +12419,7 @@ packages:
engines: {node: '>= 10.17.0'}
hasBin: true
dependencies:
debug: 4.3.4
debug: 4.1.1
get-stream: 5.1.0
yauzl: 2.10.0
optionalDependencies:
@ -13808,7 +13825,7 @@ packages:
'@sidvind/better-ajv-errors': 0.6.10(ajv@6.12.6)
acorn-walk: 8.2.0
ajv: 6.12.6
chalk: 4.0.0
chalk: 4.1.2
deepmerge: 4.2.2
eslint: 7.24.0
espree: 7.3.1
@ -15131,7 +15148,7 @@ packages:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.1
is-generator-fn: 2.1.0
@ -15164,7 +15181,7 @@ packages:
'@jest/core': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.0.0
chalk: 4.1.2
create-jest: 29.7.0(@types/node@20.2.5)
exit: 0.1.2
import-local: 3.0.2
@ -15196,7 +15213,7 @@ packages:
'@jest/types': 29.6.3
'@types/node': 20.2.5
babel-jest: 29.7.0(@babel/core@7.22.5)
chalk: 4.0.0
chalk: 4.1.2
ci-info: 3.8.0
deepmerge: 4.2.2
glob: 7.1.7
@ -15223,7 +15240,7 @@ packages:
resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
chalk: 4.0.0
chalk: 4.1.2
diff-sequences: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
@ -15233,7 +15250,7 @@ packages:
resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.0.0
chalk: 4.1.2
diff-sequences: 29.6.3
jest-get-type: 29.6.3
pretty-format: 29.7.0
@ -15251,7 +15268,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
chalk: 4.0.0
chalk: 4.1.2
jest-get-type: 27.5.1
jest-util: 27.5.1
pretty-format: 27.5.1
@ -15262,7 +15279,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
chalk: 4.0.0
chalk: 4.1.2
jest-get-type: 29.6.3
jest-util: 29.7.0
pretty-format: 29.7.0
@ -15370,7 +15387,7 @@ packages:
fb-watchman: 2.0.1
graceful-fs: 4.2.11
jest-regex-util: 29.4.3
jest-util: 29.5.0
jest-util: 29.7.0
jest-worker: 29.5.0
micromatch: 4.0.5
walker: 1.0.8
@ -15429,7 +15446,7 @@ packages:
resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
chalk: 4.0.0
chalk: 4.1.2
jest-diff: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
@ -15439,7 +15456,7 @@ packages:
resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.0.0
chalk: 4.1.2
jest-diff: 29.7.0
jest-get-type: 29.6.3
pretty-format: 29.7.0
@ -15452,7 +15469,7 @@ packages:
'@babel/code-frame': 7.22.5
'@jest/types': 27.5.1
'@types/stack-utils': 2.0.1
chalk: 4.0.0
chalk: 4.1.2
graceful-fs: 4.2.11
micromatch: 4.0.5
pretty-format: 27.5.1
@ -15460,21 +15477,6 @@ packages:
stack-utils: 2.0.6
dev: true
/jest-message-util@29.5.0:
resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/code-frame': 7.22.5
'@jest/types': 29.5.0
'@types/stack-utils': 2.0.1
chalk: 4.0.0
graceful-fs: 4.2.11
micromatch: 4.0.4
pretty-format: 29.5.0
slash: 3.0.0
stack-utils: 2.0.6
dev: true
/jest-message-util@29.7.0:
resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -15482,9 +15484,9 @@ packages:
'@babel/code-frame': 7.22.5
'@jest/types': 29.6.3
'@types/stack-utils': 2.0.1
chalk: 4.0.0
chalk: 4.1.2
graceful-fs: 4.2.11
micromatch: 4.0.4
micromatch: 4.0.5
pretty-format: 29.7.0
slash: 3.0.0
stack-utils: 2.0.6
@ -15504,7 +15506,7 @@ packages:
dependencies:
'@jest/types': 29.5.0
'@types/node': 20.2.5
jest-util: 29.5.0
jest-util: 29.7.0
dev: true
/jest-mock@29.7.0:
@ -15570,7 +15572,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
chalk: 4.0.0
chalk: 4.1.2
graceful-fs: 4.2.11
jest-haste-map: 27.5.1
jest-pnp-resolver: 1.2.2(jest-resolve@27.5.1)
@ -15585,7 +15587,7 @@ packages:
resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.0.0
chalk: 4.1.2
graceful-fs: 4.2.11
jest-haste-map: 29.7.0
jest-pnp-resolver: 1.2.2(jest-resolve@29.7.0)
@ -15606,7 +15608,7 @@ packages:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.11
jest-docblock: 29.7.0
@ -15636,7 +15638,7 @@ packages:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
chalk: 4.0.0
chalk: 4.1.2
cjs-module-lexer: 1.2.2
collect-v8-coverage: 1.0.1
execa: 5.0.0
@ -15667,7 +15669,7 @@ packages:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
cjs-module-lexer: 1.2.2
collect-v8-coverage: 1.0.1
glob: 7.1.7
@ -15707,7 +15709,7 @@ packages:
'@types/babel__traverse': 7.11.0
'@types/prettier': 2.7.3
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5)
chalk: 4.0.0
chalk: 4.1.2
expect: 27.5.1
graceful-fs: 4.2.11
jest-diff: 27.5.1
@ -15736,7 +15738,7 @@ packages:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5)
chalk: 4.0.0
chalk: 4.1.2
expect: 29.7.0
graceful-fs: 4.2.11
jest-diff: 29.7.0
@ -15757,7 +15759,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
ci-info: 3.8.0
graceful-fs: 4.2.11
picomatch: 2.3.1
@ -15781,7 +15783,7 @@ packages:
dependencies:
'@jest/types': 29.6.3
'@types/node': 20.2.5
chalk: 4.0.0
chalk: 4.1.2
ci-info: 3.8.0
graceful-fs: 4.2.11
picomatch: 2.3.1
@ -15793,7 +15795,7 @@ packages:
dependencies:
'@jest/types': 27.5.1
camelcase: 6.2.0
chalk: 4.0.0
chalk: 4.1.2
jest-get-type: 27.5.1
leven: 3.1.0
pretty-format: 27.5.1
@ -15805,7 +15807,7 @@ packages:
dependencies:
'@jest/types': 29.6.3
camelcase: 6.2.0
chalk: 4.0.0
chalk: 4.1.2
jest-get-type: 29.6.3
leven: 3.1.0
pretty-format: 29.7.0
@ -15819,7 +15821,7 @@ packages:
'@jest/types': 29.6.3
'@types/node': 20.2.5
ansi-escapes: 4.3.2
chalk: 4.0.0
chalk: 4.1.2
emittery: 0.13.1
jest-util: 29.7.0
string-length: 4.0.1
@ -15847,7 +15849,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@types/node': 20.2.5
jest-util: 29.5.0
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true

View file

@ -1,3 +1,6 @@
// ensure performance is available in edge
console.log(performance.now())
export async function GET() {
return new Response(JSON.stringify({ test: 'data-edge' }))
}

View file

@ -1,6 +1,8 @@
export const config = {
runtime: 'edge',
}
// ensure performance is available in edge
console.log(performance.now())
export default function handler(req) {
return Response.json({ text: 'hello world' })