@miniflare/shared
Advanced tools
Comparing version 2.11.0 to 2.12.0
@@ -7,2 +7,3 @@ /// <reference types="node" /> | ||
import type { Options as SqliteOptions } from 'better-sqlite3'; | ||
import { TransferListItem } from 'worker_threads'; | ||
@@ -41,5 +42,5 @@ export declare function addAll<T>(set: Set<T>, values: Iterable<T>): void; | ||
export declare type CompatibilityDisableFlag = "streams_disable_constructors" | "transformstream_disable_standard_constructor" | "no_global_navigator" | "durable_object_fetch_allows_relative_url" | "fetch_treats_unknown_protocols_as_http" | "formdata_parser_converts_files_to_strings"; | ||
export declare type CompatibilityDisableFlag = "streams_disable_constructors" | "transformstream_disable_standard_constructor" | "export_commonjs_namespace" | "no_global_navigator" | "durable_object_fetch_allows_relative_url" | "fetch_treats_unknown_protocols_as_http" | "formdata_parser_converts_files_to_strings"; | ||
export declare type CompatibilityEnableFlag = "streams_enable_constructors" | "transformstream_enable_standard_constructor" | "global_navigator" | "durable_object_fetch_requires_full_url" | "fetch_refuses_unknown_protocols" | "formdata_parser_supports_files" | "html_rewriter_treats_esi_include_as_void_tag"; | ||
export declare type CompatibilityEnableFlag = "nodejs_compat" | "streams_enable_constructors" | "transformstream_enable_standard_constructor" | "export_commonjs_default" | "r2_list_honor_include" | "global_navigator" | "durable_object_fetch_requires_full_url" | "fetch_refuses_unknown_protocols" | "formdata_parser_supports_files" | "html_rewriter_treats_esi_include_as_void_tag" | "experimental"; | ||
@@ -255,2 +256,9 @@ export declare interface CompatibilityFeature { | ||
export declare interface ParsedRange { | ||
offset: number; | ||
length: number; | ||
} | ||
export declare function parseRange({ offset, length, suffix }: Range, size: number): ParsedRange; | ||
export declare abstract class Plugin<Options extends Context = never> { | ||
@@ -411,3 +419,3 @@ #private; | ||
export declare interface ScriptRunner { | ||
run(globalScope: Context, blueprint: ScriptBlueprint, modulesRules?: ProcessedModuleRule[], additionalModules?: AdditionalModules): Promise<ScriptRunnerResult>; | ||
run(globalScope: Context, blueprint: ScriptBlueprint, modulesRules?: ProcessedModuleRule[], additionalModules?: AdditionalModules, compat?: Compatibility): Promise<ScriptRunnerResult>; | ||
} | ||
@@ -469,2 +477,4 @@ | ||
prefix?: string; | ||
/** Returned keys must NOT start with this string if defined */ | ||
excludePrefix?: string; | ||
/** Returned keys must be lexicographically >= this string if defined */ | ||
@@ -513,4 +523,8 @@ start?: string; | ||
export declare function structuredCloneBuffer<T>(value: T): T; | ||
export declare function structuredCloneImpl<T>(value: T, options?: StructuredSerializeOptions): T; | ||
export declare interface StructuredSerializeOptions { | ||
transfer?: ReadonlyArray<TransferListItem>; | ||
} | ||
export declare class ThrowingEventTarget<EventMap extends Record<string, Event>> extends TypedEventTarget<EventMap> { | ||
@@ -517,0 +531,0 @@ #private; |
@@ -67,2 +67,3 @@ var __create = Object.create; | ||
numericCompare: () => numericCompare, | ||
parseRange: () => parseRange, | ||
prefixError: () => prefixError, | ||
@@ -74,3 +75,3 @@ randomHex: () => randomHex, | ||
spaceCase: () => spaceCase, | ||
structuredCloneBuffer: () => structuredCloneBuffer, | ||
structuredCloneImpl: () => structuredCloneImpl, | ||
titleCase: () => titleCase, | ||
@@ -86,5 +87,6 @@ usageModelExternalSubrequestLimit: () => usageModelExternalSubrequestLimit, | ||
// packages/shared/src/data.ts | ||
var import_assert = __toModule(require("assert")); | ||
var import_path = __toModule(require("path")); | ||
var import_util = __toModule(require("util")); | ||
var import_v8 = __toModule(require("v8")); | ||
var import_worker_threads = __toModule(require("worker_threads")); | ||
var import_picomatch = __toModule(require("picomatch")); | ||
@@ -113,4 +115,11 @@ var encoder = new import_util.TextEncoder(); | ||
} | ||
function structuredCloneBuffer(value) { | ||
return (0, import_v8.deserialize)((0, import_v8.serialize)(value)); | ||
var channel; | ||
function structuredCloneImpl(value, options) { | ||
channel ??= new import_worker_threads.MessageChannel(); | ||
channel.port1.unref(); | ||
channel.port2.unref(); | ||
channel.port1.postMessage(value, options?.transfer); | ||
const message = (0, import_worker_threads.receiveMessageOnPort)(channel.port2); | ||
(0, import_assert.default)(message !== void 0); | ||
return message.message; | ||
} | ||
@@ -196,2 +205,6 @@ function addAll(set, values) { | ||
{ | ||
enableFlag: "nodejs_compat" | ||
}, | ||
{ | ||
defaultAsOf: "2022-11-30", | ||
enableFlag: "streams_enable_constructors", | ||
@@ -201,2 +214,3 @@ disableFlag: "streams_disable_constructors" | ||
{ | ||
defaultAsOf: "2022-11-30", | ||
enableFlag: "transformstream_enable_standard_constructor", | ||
@@ -206,2 +220,11 @@ disableFlag: "transformstream_disable_standard_constructor" | ||
{ | ||
defaultAsOf: "2022-10-31", | ||
enableFlag: "export_commonjs_default", | ||
disableFlag: "export_commonjs_namespace" | ||
}, | ||
{ | ||
defaultAsOf: "2022-08-04", | ||
enableFlag: "r2_list_honor_include" | ||
}, | ||
{ | ||
defaultAsOf: "2022-03-21", | ||
@@ -228,2 +251,5 @@ enableFlag: "global_navigator", | ||
enableFlag: "html_rewriter_treats_esi_include_as_void_tag" | ||
}, | ||
{ | ||
enableFlag: "experimental" | ||
} | ||
@@ -270,3 +296,3 @@ ]; | ||
// packages/shared/src/context.ts | ||
var import_assert = __toModule(require("assert")); | ||
var import_assert2 = __toModule(require("assert")); | ||
var import_async_hooks = __toModule(require("async_hooks")); | ||
@@ -317,4 +343,4 @@ function parseSubrequestOverride(limit) { | ||
} = {}) { | ||
(0, import_assert.default)(requestDepth >= 1); | ||
(0, import_assert.default)(pipelineDepth >= 1); | ||
(0, import_assert2.default)(requestDepth >= 1); | ||
(0, import_assert2.default)(pipelineDepth >= 1); | ||
if (requestDepth > MAX_REQUEST_DEPTH) { | ||
@@ -595,2 +621,26 @@ throw new Error(`${depthError} | ||
// packages/shared/src/storage.ts | ||
function parseRange({ offset, length, suffix }, size) { | ||
if (suffix !== void 0) { | ||
if (suffix <= 0) { | ||
throw new Error("Suffix must be > 0"); | ||
} | ||
if (suffix > size) | ||
suffix = size; | ||
offset = size - suffix; | ||
length = size - offset; | ||
} | ||
if (offset === void 0) | ||
offset = 0; | ||
if (length === void 0) | ||
length = size - offset; | ||
if (offset < 0) | ||
throw new Error("Offset must be >= 0"); | ||
if (offset > size) | ||
throw new Error("Offset must be < size"); | ||
if (length <= 0) | ||
throw new Error("Length must be > 0"); | ||
if (offset + length > size) | ||
length = size - offset; | ||
return { offset, length }; | ||
} | ||
var Storage = class { | ||
@@ -631,3 +681,3 @@ async getSqliteDatabase() { | ||
// packages/shared/src/sync/gate.ts | ||
var import_assert2 = __toModule(require("assert")); | ||
var import_assert3 = __toModule(require("assert")); | ||
var import_async_hooks2 = __toModule(require("async_hooks")); | ||
@@ -694,3 +744,3 @@ var import_timers = __toModule(require("timers")); | ||
#unlock = async () => { | ||
(0, import_assert2.default)(this.#lockCount > 0); | ||
(0, import_assert3.default)(this.#lockCount > 0); | ||
this.#lockCount--; | ||
@@ -732,3 +782,3 @@ while (this.#lockCount === 0 && this.#resolveQueue.length) { | ||
// packages/shared/src/sync/mutex.ts | ||
var import_assert3 = __toModule(require("assert")); | ||
var import_assert4 = __toModule(require("assert")); | ||
var Mutex = class { | ||
@@ -745,3 +795,3 @@ locked = false; | ||
unlock() { | ||
(0, import_assert3.default)(this.locked); | ||
(0, import_assert4.default)(this.locked); | ||
if (this.resolveQueue.length > 0) { | ||
@@ -775,3 +825,3 @@ this.resolveQueue.shift()?.(); | ||
const { npxImport, npxResolve } = await import("npx-import"); | ||
const { default: DatabaseConstructor } = await npxImport("better-sqlite3@7.6.2"); | ||
const { default: DatabaseConstructor } = await npxImport("better-sqlite3@8.0.1"); | ||
return new DatabaseConstructor(dbPath, { | ||
@@ -826,2 +876,3 @@ nativeBinding: getSQLiteNativeBindingLocation(npxResolve("better-sqlite3")) | ||
numericCompare, | ||
parseRange, | ||
prefixError, | ||
@@ -833,3 +884,3 @@ randomHex, | ||
spaceCase, | ||
structuredCloneBuffer, | ||
structuredCloneImpl, | ||
titleCase, | ||
@@ -836,0 +887,0 @@ usageModelExternalSubrequestLimit, |
{ | ||
"name": "@miniflare/shared", | ||
"version": "2.11.0", | ||
"version": "2.12.0", | ||
"description": "Shared utility module for Miniflare: a fun, full-featured, fully-local simulator for Cloudflare Workers", | ||
@@ -40,9 +40,9 @@ "keywords": [ | ||
"kleur": "^4.1.4", | ||
"npx-import": "^1.1.3", | ||
"npx-import": "^1.1.4", | ||
"picomatch": "^2.3.1" | ||
}, | ||
"devDependencies": { | ||
"@miniflare/shared-test": "2.11.0", | ||
"@miniflare/shared-test": "2.12.0", | ||
"@types/picomatch": "^2.3.0" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
67710
1463
4
Updatednpx-import@^1.1.4