miniflare 2.0.0-rc.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -28
- package/bootstrap.js +6 -9
- package/dist/src/cli.js +378 -31
- package/dist/src/cli.js.map +2 -2
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.js +106 -61
- package/dist/src/index.js.map +2 -2
- package/package.json +24 -21
package/README.md
CHANGED
|
@@ -13,29 +13,7 @@
|
|
|
13
13
|
It's an alternative to `wrangler dev`, written in TypeScript, that runs your
|
|
14
14
|
workers in a sandbox implementing Workers' runtime APIs.
|
|
15
15
|
|
|
16
|
-
**See <https://
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
> ⚠️ This branch is for the next major version of Miniflare, which is under
|
|
21
|
-
> development.
|
|
22
|
-
|
|
23
|
-
Miniflare 2 has been completely redesigned from version 1 with 3 primary design
|
|
24
|
-
goals:
|
|
25
|
-
|
|
26
|
-
1. 📚 **Modular:** Miniflare 2 splits Workers components (KV, Durable Objects,
|
|
27
|
-
etc.) into **separate packages** (`@miniflare/kv`,
|
|
28
|
-
`@miniflare/durable-objects`, etc.) that you can import separately for
|
|
29
|
-
testing.
|
|
30
|
-
2. ✨ **Lightweight:** Miniflare 1 included
|
|
31
|
-
[122 third-party packages](http://npm.anvaka.com/#/view/2d/miniflare) with a
|
|
32
|
-
total install size of `88.3MB`. Miniflare 2 reduces this to **23 packages and
|
|
33
|
-
`6.2MB`** 🤯.
|
|
34
|
-
3. ✅ **Correct:** Miniflare 2 more accurately replicates the quirks and thrown
|
|
35
|
-
errors of the real Workers runtime, so you'll know before you deploy if
|
|
36
|
-
things are going to break.
|
|
37
|
-
|
|
38
|
-
---
|
|
16
|
+
**See <https://miniflare.dev> for more detailed documentation.**
|
|
39
17
|
|
|
40
18
|
## Features
|
|
41
19
|
|
|
@@ -63,14 +41,14 @@ goals:
|
|
|
63
41
|
|
|
64
42
|
Miniflare is installed using npm:
|
|
65
43
|
|
|
66
|
-
```
|
|
67
|
-
$ npm install -g miniflare
|
|
68
|
-
$ npm install -D miniflare
|
|
44
|
+
```sh
|
|
45
|
+
$ npm install -g miniflare # either globally..
|
|
46
|
+
$ npm install -D miniflare # ...or as a dev dependency
|
|
69
47
|
```
|
|
70
48
|
|
|
71
49
|
## Using the CLI
|
|
72
50
|
|
|
73
|
-
```
|
|
51
|
+
```sh
|
|
74
52
|
$ miniflare worker.js --watch --debug
|
|
75
53
|
[mf:dbg] Options:
|
|
76
54
|
[mf:dbg] - Scripts: worker.js
|
|
@@ -119,10 +97,16 @@ Core Options:
|
|
|
119
97
|
--(no-)update-check Enable update checker (enabled by default) [boolean]
|
|
120
98
|
--root Path to resolve files relative to [string]
|
|
121
99
|
--mount Mount additional named workers [array:NAME=PATH[@ENV]]
|
|
100
|
+
--name Name of service [string]
|
|
101
|
+
--route Route to respond with this worker on [array]
|
|
102
|
+
--global-async-io Allow async I/O outside handlers [boolean]
|
|
103
|
+
--global-timers Allow setting timers outside handlers [boolean]
|
|
104
|
+
--global-random Allow secure random generation outside handlers [boolean]
|
|
122
105
|
|
|
123
106
|
HTTP Options:
|
|
124
107
|
-H, --host Host for HTTP(S) server to listen on [string]
|
|
125
108
|
-p, --port Port for HTTP(S) server to listen on [number]
|
|
109
|
+
-O, --open Automatically open browser to URL [boolean/string]
|
|
126
110
|
--https Enable self-signed HTTPS (with optional cert path) [boolean/string]
|
|
127
111
|
--https-key Path to PEM SSL key [string]
|
|
128
112
|
--https-cert Path to PEM SSL cert chain [string]
|
|
@@ -166,6 +150,8 @@ Bindings Options:
|
|
|
166
150
|
|
|
167
151
|
## Acknowledgements
|
|
168
152
|
|
|
153
|
+
Miniflare was created by [Brendan Coll](https://github.com/mrbbot).
|
|
154
|
+
|
|
169
155
|
Many thanks to
|
|
170
156
|
[dollarshaveclub/cloudworker](https://github.com/dollarshaveclub/cloudworker)
|
|
171
157
|
and
|
|
@@ -176,4 +162,4 @@ Durable Object's transactions are implemented using Optimistic Concurrency
|
|
|
176
162
|
Control (OCC) as described in
|
|
177
163
|
["On optimistic methods for concurrency control." ACM Transactions on Database Systems](https://dl.acm.org/doi/10.1145/319566.319567).
|
|
178
164
|
Thanks to [Alistair O'Brien](https://github.com/johnyob) for helping the
|
|
179
|
-
Miniflare
|
|
165
|
+
Miniflare creator understand this.
|
package/bootstrap.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// @ts-check
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import semiver from "semiver";
|
|
7
|
-
|
|
8
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
-
const __dirname = path.dirname(__filename);
|
|
3
|
+
const childProcess = require("child_process");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const semiver = require("semiver");
|
|
10
6
|
|
|
11
7
|
// Miniflare makes extensive use of new Web Standards added in recent versions
|
|
12
8
|
// of Node.js (streams, crypto, Blob, EventTarget). The most recent thing
|
|
@@ -14,8 +10,9 @@ const __dirname = path.dirname(__filename);
|
|
|
14
10
|
const MIN_NODE_VERSION = "16.7.0";
|
|
15
11
|
|
|
16
12
|
async function main() {
|
|
13
|
+
// @ts-expect-error require doesn't give the correct types
|
|
17
14
|
if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
|
|
18
|
-
const { red } =
|
|
15
|
+
const { red } = require("kleur/colors");
|
|
19
16
|
// Note Volta and nvm are also recommended in the official docs:
|
|
20
17
|
// https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
|
|
21
18
|
console.log(
|
|
@@ -47,7 +44,7 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
|
|
|
47
44
|
],
|
|
48
45
|
{ stdio: "inherit" }
|
|
49
46
|
)
|
|
50
|
-
.on("exit", (code) => process.exit(code
|
|
47
|
+
.on("exit", (code) => process.exit(code === null ? 1 : code));
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
void main();
|
package/dist/src/cli.js
CHANGED
|
@@ -1,15 +1,354 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
9
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
+
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
+
};
|
|
12
|
+
var __reExport = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// node_modules/is-docker/index.js
|
|
25
|
+
var require_is_docker = __commonJS({
|
|
26
|
+
"node_modules/is-docker/index.js"(exports2, module2) {
|
|
27
|
+
"use strict";
|
|
28
|
+
var fs3 = require("fs");
|
|
29
|
+
var isDocker;
|
|
30
|
+
function hasDockerEnv() {
|
|
31
|
+
try {
|
|
32
|
+
fs3.statSync("/.dockerenv");
|
|
33
|
+
return true;
|
|
34
|
+
} catch (_) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function hasDockerCGroup() {
|
|
39
|
+
try {
|
|
40
|
+
return fs3.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
|
|
41
|
+
} catch (_) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
module2.exports = () => {
|
|
46
|
+
if (isDocker === void 0) {
|
|
47
|
+
isDocker = hasDockerEnv() || hasDockerCGroup();
|
|
48
|
+
}
|
|
49
|
+
return isDocker;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// node_modules/is-wsl/index.js
|
|
55
|
+
var require_is_wsl = __commonJS({
|
|
56
|
+
"node_modules/is-wsl/index.js"(exports2, module2) {
|
|
57
|
+
"use strict";
|
|
58
|
+
var os = require("os");
|
|
59
|
+
var fs3 = require("fs");
|
|
60
|
+
var isDocker = require_is_docker();
|
|
61
|
+
var isWsl = () => {
|
|
62
|
+
if (process.platform !== "linux") {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (os.release().toLowerCase().includes("microsoft")) {
|
|
66
|
+
if (isDocker()) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
return fs3.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft") ? !isDocker() : false;
|
|
73
|
+
} catch (_) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
if (process.env.__IS_WSL_TEST__) {
|
|
78
|
+
module2.exports = isWsl;
|
|
79
|
+
} else {
|
|
80
|
+
module2.exports = isWsl();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// node_modules/define-lazy-prop/index.js
|
|
86
|
+
var require_define_lazy_prop = __commonJS({
|
|
87
|
+
"node_modules/define-lazy-prop/index.js"(exports2, module2) {
|
|
88
|
+
"use strict";
|
|
89
|
+
module2.exports = (object, propertyName, fn) => {
|
|
90
|
+
const define = (value) => Object.defineProperty(object, propertyName, { value, enumerable: true, writable: true });
|
|
91
|
+
Object.defineProperty(object, propertyName, {
|
|
92
|
+
configurable: true,
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get() {
|
|
95
|
+
const result = fn();
|
|
96
|
+
define(result);
|
|
97
|
+
return result;
|
|
98
|
+
},
|
|
99
|
+
set(value) {
|
|
100
|
+
define(value);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
return object;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
// node_modules/open/index.js
|
|
109
|
+
var require_open = __commonJS({
|
|
110
|
+
"node_modules/open/index.js"(exports2, module2) {
|
|
111
|
+
var path2 = require("path");
|
|
112
|
+
var childProcess = require("child_process");
|
|
113
|
+
var { promises: fs3, constants: fsConstants } = require("fs");
|
|
114
|
+
var isWsl = require_is_wsl();
|
|
115
|
+
var isDocker = require_is_docker();
|
|
116
|
+
var defineLazyProperty = require_define_lazy_prop();
|
|
117
|
+
var localXdgOpenPath = path2.join(__dirname, "xdg-open");
|
|
118
|
+
var { platform, arch } = process;
|
|
119
|
+
var getWslDrivesMountPoint = (() => {
|
|
120
|
+
const defaultMountPoint = "/mnt/";
|
|
121
|
+
let mountPoint;
|
|
122
|
+
return async function() {
|
|
123
|
+
if (mountPoint) {
|
|
124
|
+
return mountPoint;
|
|
125
|
+
}
|
|
126
|
+
const configFilePath = "/etc/wsl.conf";
|
|
127
|
+
let isConfigFileExists = false;
|
|
128
|
+
try {
|
|
129
|
+
await fs3.access(configFilePath, fsConstants.F_OK);
|
|
130
|
+
isConfigFileExists = true;
|
|
131
|
+
} catch {
|
|
132
|
+
}
|
|
133
|
+
if (!isConfigFileExists) {
|
|
134
|
+
return defaultMountPoint;
|
|
135
|
+
}
|
|
136
|
+
const configContent = await fs3.readFile(configFilePath, { encoding: "utf8" });
|
|
137
|
+
const configMountPoint = /(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);
|
|
138
|
+
if (!configMountPoint) {
|
|
139
|
+
return defaultMountPoint;
|
|
140
|
+
}
|
|
141
|
+
mountPoint = configMountPoint.groups.mountPoint.trim();
|
|
142
|
+
mountPoint = mountPoint.endsWith("/") ? mountPoint : `${mountPoint}/`;
|
|
143
|
+
return mountPoint;
|
|
144
|
+
};
|
|
145
|
+
})();
|
|
146
|
+
var pTryEach = async (array, mapper) => {
|
|
147
|
+
let latestError;
|
|
148
|
+
for (const item of array) {
|
|
149
|
+
try {
|
|
150
|
+
return await mapper(item);
|
|
151
|
+
} catch (error) {
|
|
152
|
+
latestError = error;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
throw latestError;
|
|
156
|
+
};
|
|
157
|
+
var baseOpen = async (options) => {
|
|
158
|
+
options = {
|
|
159
|
+
wait: false,
|
|
160
|
+
background: false,
|
|
161
|
+
newInstance: false,
|
|
162
|
+
allowNonzeroExitCode: false,
|
|
163
|
+
...options
|
|
164
|
+
};
|
|
165
|
+
if (Array.isArray(options.app)) {
|
|
166
|
+
return pTryEach(options.app, (singleApp) => baseOpen({
|
|
167
|
+
...options,
|
|
168
|
+
app: singleApp
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
let { name: app, arguments: appArguments = [] } = options.app || {};
|
|
172
|
+
appArguments = [...appArguments];
|
|
173
|
+
if (Array.isArray(app)) {
|
|
174
|
+
return pTryEach(app, (appName) => baseOpen({
|
|
175
|
+
...options,
|
|
176
|
+
app: {
|
|
177
|
+
name: appName,
|
|
178
|
+
arguments: appArguments
|
|
179
|
+
}
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
182
|
+
let command;
|
|
183
|
+
const cliArguments = [];
|
|
184
|
+
const childProcessOptions = {};
|
|
185
|
+
if (platform === "darwin") {
|
|
186
|
+
command = "open";
|
|
187
|
+
if (options.wait) {
|
|
188
|
+
cliArguments.push("--wait-apps");
|
|
189
|
+
}
|
|
190
|
+
if (options.background) {
|
|
191
|
+
cliArguments.push("--background");
|
|
192
|
+
}
|
|
193
|
+
if (options.newInstance) {
|
|
194
|
+
cliArguments.push("--new");
|
|
195
|
+
}
|
|
196
|
+
if (app) {
|
|
197
|
+
cliArguments.push("-a", app);
|
|
198
|
+
}
|
|
199
|
+
} else if (platform === "win32" || isWsl && !isDocker()) {
|
|
200
|
+
const mountPoint = await getWslDrivesMountPoint();
|
|
201
|
+
command = isWsl ? `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe` : `${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`;
|
|
202
|
+
cliArguments.push("-NoProfile", "-NonInteractive", "\u2013ExecutionPolicy", "Bypass", "-EncodedCommand");
|
|
203
|
+
if (!isWsl) {
|
|
204
|
+
childProcessOptions.windowsVerbatimArguments = true;
|
|
205
|
+
}
|
|
206
|
+
const encodedArguments = ["Start"];
|
|
207
|
+
if (options.wait) {
|
|
208
|
+
encodedArguments.push("-Wait");
|
|
209
|
+
}
|
|
210
|
+
if (app) {
|
|
211
|
+
encodedArguments.push(`"\`"${app}\`""`, "-ArgumentList");
|
|
212
|
+
if (options.target) {
|
|
213
|
+
appArguments.unshift(options.target);
|
|
214
|
+
}
|
|
215
|
+
} else if (options.target) {
|
|
216
|
+
encodedArguments.push(`"${options.target}"`);
|
|
217
|
+
}
|
|
218
|
+
if (appArguments.length > 0) {
|
|
219
|
+
appArguments = appArguments.map((arg) => `"\`"${arg}\`""`);
|
|
220
|
+
encodedArguments.push(appArguments.join(","));
|
|
221
|
+
}
|
|
222
|
+
options.target = Buffer.from(encodedArguments.join(" "), "utf16le").toString("base64");
|
|
223
|
+
} else {
|
|
224
|
+
if (app) {
|
|
225
|
+
command = app;
|
|
226
|
+
} else {
|
|
227
|
+
const isBundled = !__dirname || __dirname === "/";
|
|
228
|
+
let exeLocalXdgOpen = false;
|
|
229
|
+
try {
|
|
230
|
+
await fs3.access(localXdgOpenPath, fsConstants.X_OK);
|
|
231
|
+
exeLocalXdgOpen = true;
|
|
232
|
+
} catch {
|
|
233
|
+
}
|
|
234
|
+
const useSystemXdgOpen = process.versions.electron || platform === "android" || isBundled || !exeLocalXdgOpen;
|
|
235
|
+
command = useSystemXdgOpen ? "xdg-open" : localXdgOpenPath;
|
|
236
|
+
}
|
|
237
|
+
if (appArguments.length > 0) {
|
|
238
|
+
cliArguments.push(...appArguments);
|
|
239
|
+
}
|
|
240
|
+
if (!options.wait) {
|
|
241
|
+
childProcessOptions.stdio = "ignore";
|
|
242
|
+
childProcessOptions.detached = true;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (options.target) {
|
|
246
|
+
cliArguments.push(options.target);
|
|
247
|
+
}
|
|
248
|
+
if (platform === "darwin" && appArguments.length > 0) {
|
|
249
|
+
cliArguments.push("--args", ...appArguments);
|
|
250
|
+
}
|
|
251
|
+
const subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);
|
|
252
|
+
if (options.wait) {
|
|
253
|
+
return new Promise((resolve, reject) => {
|
|
254
|
+
subprocess.once("error", reject);
|
|
255
|
+
subprocess.once("close", (exitCode) => {
|
|
256
|
+
if (options.allowNonzeroExitCode && exitCode > 0) {
|
|
257
|
+
reject(new Error(`Exited with code ${exitCode}`));
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
resolve(subprocess);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
subprocess.unref();
|
|
265
|
+
return subprocess;
|
|
266
|
+
};
|
|
267
|
+
var open2 = (target, options) => {
|
|
268
|
+
if (typeof target !== "string") {
|
|
269
|
+
throw new TypeError("Expected a `target`");
|
|
270
|
+
}
|
|
271
|
+
return baseOpen({
|
|
272
|
+
...options,
|
|
273
|
+
target
|
|
274
|
+
});
|
|
275
|
+
};
|
|
276
|
+
var openApp = (name, options) => {
|
|
277
|
+
if (typeof name !== "string") {
|
|
278
|
+
throw new TypeError("Expected a `name`");
|
|
279
|
+
}
|
|
280
|
+
const { arguments: appArguments = [] } = options || {};
|
|
281
|
+
if (appArguments !== void 0 && appArguments !== null && !Array.isArray(appArguments)) {
|
|
282
|
+
throw new TypeError("Expected `appArguments` as Array type");
|
|
283
|
+
}
|
|
284
|
+
return baseOpen({
|
|
285
|
+
...options,
|
|
286
|
+
app: {
|
|
287
|
+
name,
|
|
288
|
+
arguments: appArguments
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
function detectArchBinary(binary) {
|
|
293
|
+
if (typeof binary === "string" || Array.isArray(binary)) {
|
|
294
|
+
return binary;
|
|
295
|
+
}
|
|
296
|
+
const { [arch]: archBinary } = binary;
|
|
297
|
+
if (!archBinary) {
|
|
298
|
+
throw new Error(`${arch} is not supported`);
|
|
299
|
+
}
|
|
300
|
+
return archBinary;
|
|
301
|
+
}
|
|
302
|
+
function detectPlatformBinary({ [platform]: platformBinary }, { wsl }) {
|
|
303
|
+
if (wsl && isWsl) {
|
|
304
|
+
return detectArchBinary(wsl);
|
|
305
|
+
}
|
|
306
|
+
if (!platformBinary) {
|
|
307
|
+
throw new Error(`${platform} is not supported`);
|
|
308
|
+
}
|
|
309
|
+
return detectArchBinary(platformBinary);
|
|
310
|
+
}
|
|
311
|
+
var apps = {};
|
|
312
|
+
defineLazyProperty(apps, "chrome", () => detectPlatformBinary({
|
|
313
|
+
darwin: "google chrome",
|
|
314
|
+
win32: "chrome",
|
|
315
|
+
linux: ["google-chrome", "google-chrome-stable", "chromium"]
|
|
316
|
+
}, {
|
|
317
|
+
wsl: {
|
|
318
|
+
ia32: "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
|
|
319
|
+
x64: ["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]
|
|
320
|
+
}
|
|
321
|
+
}));
|
|
322
|
+
defineLazyProperty(apps, "firefox", () => detectPlatformBinary({
|
|
323
|
+
darwin: "firefox",
|
|
324
|
+
win32: "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
|
|
325
|
+
linux: "firefox"
|
|
326
|
+
}, {
|
|
327
|
+
wsl: "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"
|
|
328
|
+
}));
|
|
329
|
+
defineLazyProperty(apps, "edge", () => detectPlatformBinary({
|
|
330
|
+
darwin: "microsoft edge",
|
|
331
|
+
win32: "msedge",
|
|
332
|
+
linux: ["microsoft-edge", "microsoft-edge-dev"]
|
|
333
|
+
}, {
|
|
334
|
+
wsl: "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
|
|
335
|
+
}));
|
|
336
|
+
open2.apps = apps;
|
|
337
|
+
open2.openApp = openApp;
|
|
338
|
+
module2.exports = open2;
|
|
339
|
+
}
|
|
340
|
+
});
|
|
2
341
|
|
|
3
342
|
// packages/miniflare/src/cli.ts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
343
|
+
var import_promises2 = __toModule(require("fs/promises"));
|
|
344
|
+
var import_path = __toModule(require("path"));
|
|
345
|
+
var import_colors = __toModule(require("kleur/colors"));
|
|
346
|
+
var import_open = __toModule(require_open());
|
|
8
347
|
|
|
9
348
|
// packages/miniflare/src/updater.ts
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
349
|
+
var import_promises = __toModule(require("fs/promises"));
|
|
350
|
+
var import_semiver = __toModule(require("semiver"));
|
|
351
|
+
var import_undici = __toModule(require("undici"));
|
|
13
352
|
var numericCompare = new Intl.Collator(void 0, { numeric: true }).compare;
|
|
14
353
|
async function updateCheck({
|
|
15
354
|
pkg,
|
|
@@ -20,19 +359,19 @@ async function updateCheck({
|
|
|
20
359
|
}) {
|
|
21
360
|
let lastCheck = 0;
|
|
22
361
|
try {
|
|
23
|
-
lastCheck = parseInt(await
|
|
362
|
+
lastCheck = parseInt(await import_promises.default.readFile(lastCheckFile, "utf8"));
|
|
24
363
|
} catch {
|
|
25
364
|
}
|
|
26
365
|
if (now - lastCheck < 864e5)
|
|
27
366
|
return;
|
|
28
|
-
const res = await fetch(`${registry}${pkg.name}/latest`, {
|
|
367
|
+
const res = await (0, import_undici.fetch)(`${registry}${pkg.name}/latest`, {
|
|
29
368
|
headers: { Accept: "application/json" }
|
|
30
369
|
});
|
|
31
370
|
const registryVersion = (await res.json()).version;
|
|
32
371
|
if (!registryVersion)
|
|
33
372
|
return;
|
|
34
|
-
await
|
|
35
|
-
if (
|
|
373
|
+
await import_promises.default.writeFile(lastCheckFile, now.toString(), "utf8");
|
|
374
|
+
if ((0, import_semiver.default)(registryVersion, pkg.version) > 0) {
|
|
36
375
|
log.warn(`Miniflare ${registryVersion} is available, but you're using ${pkg.version}. Update for improved compatibility with Cloudflare Workers.`);
|
|
37
376
|
const registryMajor = registryVersion.split(".")[0];
|
|
38
377
|
const pkgMajor = pkg.version.split(".")[0];
|
|
@@ -43,8 +382,6 @@ async function updateCheck({
|
|
|
43
382
|
}
|
|
44
383
|
|
|
45
384
|
// packages/miniflare/src/cli.ts
|
|
46
|
-
var __filename = fileURLToPath(import.meta.url);
|
|
47
|
-
var __dirname = path.dirname(__filename);
|
|
48
385
|
function suppressWarnings() {
|
|
49
386
|
const originalEmitWarning = process.emitWarning;
|
|
50
387
|
process.emitWarning = (warning, ctorTypeOptions, ctorCode, ctor) => {
|
|
@@ -58,15 +395,19 @@ function suppressWarnings() {
|
|
|
58
395
|
};
|
|
59
396
|
}
|
|
60
397
|
async function main() {
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
398
|
+
const {
|
|
399
|
+
ParseError,
|
|
400
|
+
buildHelp,
|
|
401
|
+
parseArgv
|
|
402
|
+
} = require("@miniflare/cli-parser");
|
|
403
|
+
const {
|
|
404
|
+
Log,
|
|
405
|
+
LogLevel
|
|
406
|
+
} = require("@miniflare/shared");
|
|
407
|
+
const {
|
|
408
|
+
Miniflare,
|
|
409
|
+
PLUGINS
|
|
410
|
+
} = require("miniflare");
|
|
70
411
|
let options;
|
|
71
412
|
try {
|
|
72
413
|
options = parseArgv(PLUGINS, process.argv.slice(2));
|
|
@@ -82,13 +423,13 @@ async function main() {
|
|
|
82
423
|
if (e.code === "ERR_HELP")
|
|
83
424
|
return;
|
|
84
425
|
console.error(`
|
|
85
|
-
${red(e.message)}`);
|
|
426
|
+
${(0, import_colors.red)(e.message)}`);
|
|
86
427
|
process.exitCode = 1;
|
|
87
428
|
return;
|
|
88
429
|
}
|
|
89
430
|
options.wranglerConfigPath ??= true;
|
|
90
431
|
options.packagePath ??= true;
|
|
91
|
-
options.
|
|
432
|
+
options.envPathDefaultFallback = true;
|
|
92
433
|
if (options.buildWatchPaths?.length || options.liveReload) {
|
|
93
434
|
options.watch = true;
|
|
94
435
|
}
|
|
@@ -99,27 +440,33 @@ ${red(e.message)}`);
|
|
|
99
440
|
const mfOptions = options;
|
|
100
441
|
mfOptions.log = new Log(logLevel);
|
|
101
442
|
mfOptions.sourceMap = true;
|
|
443
|
+
mfOptions.logUnhandledRejections = true;
|
|
102
444
|
const mf = new Miniflare(mfOptions);
|
|
103
445
|
try {
|
|
104
446
|
await mf.startServer();
|
|
105
447
|
await mf.startScheduler();
|
|
106
448
|
} catch (e) {
|
|
107
449
|
mf.log.error(e);
|
|
108
|
-
if (e.cause)
|
|
109
|
-
mf.log.error(e.cause);
|
|
110
450
|
process.exitCode = 1;
|
|
111
451
|
await mf.dispose();
|
|
112
452
|
return;
|
|
113
453
|
}
|
|
454
|
+
const openURL = await mf.getOpenURL();
|
|
455
|
+
try {
|
|
456
|
+
if (openURL)
|
|
457
|
+
await (0, import_open.default)(openURL);
|
|
458
|
+
} catch (e) {
|
|
459
|
+
mf.log.warn("Unable to open browser: " + e.stack);
|
|
460
|
+
}
|
|
114
461
|
const plugins = await mf.getPlugins();
|
|
115
462
|
if (plugins.CorePlugin.updateCheck === false)
|
|
116
463
|
return;
|
|
117
464
|
try {
|
|
118
|
-
const pkgFile =
|
|
119
|
-
const pkg = JSON.parse(await
|
|
120
|
-
const cacheDir =
|
|
121
|
-
await
|
|
122
|
-
const lastCheckFile =
|
|
465
|
+
const pkgFile = import_path.default.join(__dirname, "..", "..", "package.json");
|
|
466
|
+
const pkg = JSON.parse(await import_promises2.default.readFile(pkgFile, "utf8"));
|
|
467
|
+
const cacheDir = import_path.default.resolve("node_modules", ".mf");
|
|
468
|
+
await import_promises2.default.mkdir(cacheDir, { recursive: true });
|
|
469
|
+
const lastCheckFile = import_path.default.join(cacheDir, "update-check");
|
|
123
470
|
await updateCheck({ pkg, lastCheckFile, log: mf.log });
|
|
124
471
|
} catch (e) {
|
|
125
472
|
mf.log.debug("Unable to check for updates: " + e.stack);
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/cli.ts", "../../src/updater.ts"],
|
|
4
|
-
"mappings": "
|
|
3
|
+
"sources": ["../../../../node_modules/is-docker/index.js", "../../../../node_modules/is-wsl/index.js", "../../../../node_modules/define-lazy-prop/index.js", "../../../../node_modules/open/index.js", "../../src/cli.ts", "../../src/updater.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { BuildPlugin } from '@miniflare/core';
|
|
|
5
5
|
import { CachePlugin } from '@miniflare/cache';
|
|
6
6
|
import { CacheStorage } from '@miniflare/cache';
|
|
7
7
|
import { CorePlugin } from '@miniflare/core';
|
|
8
|
+
import { CronScheduler } from '@miniflare/scheduler';
|
|
8
9
|
import { DurableObjectId } from '@miniflare/durable-objects';
|
|
9
10
|
import { DurableObjectNamespace } from '@miniflare/durable-objects';
|
|
10
11
|
import { DurableObjectsPlugin } from '@miniflare/durable-objects';
|
|
@@ -21,7 +22,6 @@ import { LogLevel } from '@miniflare/shared';
|
|
|
21
22
|
import type { MemoryStorage } from '@miniflare/storage-memory';
|
|
22
23
|
import { MiniflareCore } from '@miniflare/core';
|
|
23
24
|
import { MiniflareCoreOptions } from '@miniflare/core';
|
|
24
|
-
import { Scheduler } from '@miniflare/scheduler';
|
|
25
25
|
import { SchedulerPlugin } from '@miniflare/scheduler';
|
|
26
26
|
import { SitesPlugin } from '@miniflare/sites';
|
|
27
27
|
import { Storage } from '@miniflare/shared';
|
|
@@ -42,7 +42,8 @@ export declare class Miniflare extends MiniflareCore<Plugins> {
|
|
|
42
42
|
getDurableObjectStorage(id: DurableObjectId): Promise<DurableObjectStorage>;
|
|
43
43
|
createServer(options?: http.ServerOptions & https.ServerOptions): Promise<http.Server | https.Server>;
|
|
44
44
|
startServer(options?: http.ServerOptions & https.ServerOptions): Promise<http.Server | https.Server>;
|
|
45
|
-
startScheduler(): Promise<
|
|
45
|
+
startScheduler(): Promise<CronScheduler<Plugins>>;
|
|
46
|
+
getOpenURL(): Promise<string | undefined>;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
export declare type MiniflareOptions = Omit<MiniflareCoreOptions<Plugins>, "debug" | "verbose" | "updateCheck"> & {
|
package/dist/src/index.js
CHANGED
|
@@ -1,31 +1,55 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
__markAsModule(target);
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, module2, desc) => {
|
|
14
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(module2))
|
|
16
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return target;
|
|
20
|
+
};
|
|
21
|
+
var __toModule = (module2) => {
|
|
22
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// packages/miniflare/src/index.ts
|
|
26
|
+
__export(exports, {
|
|
27
|
+
Log: () => import_shared3.Log,
|
|
28
|
+
LogLevel: () => import_shared3.LogLevel,
|
|
29
|
+
Miniflare: () => Miniflare,
|
|
30
|
+
PLUGINS: () => PLUGINS,
|
|
31
|
+
VariedStorageFactory: () => VariedStorageFactory,
|
|
32
|
+
updateCheck: () => updateCheck
|
|
33
|
+
});
|
|
34
|
+
|
|
1
35
|
// packages/miniflare/src/api.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
import { KVPlugin } from "@miniflare/kv";
|
|
15
|
-
import { VMScriptRunner } from "@miniflare/runner-vm";
|
|
16
|
-
import {
|
|
17
|
-
SchedulerPlugin,
|
|
18
|
-
startScheduler
|
|
19
|
-
} from "@miniflare/scheduler";
|
|
20
|
-
import { NoOpLog } from "@miniflare/shared";
|
|
21
|
-
import { SitesPlugin } from "@miniflare/sites";
|
|
22
|
-
import { WebSocketPlugin } from "@miniflare/web-sockets";
|
|
23
|
-
import sourceMap from "source-map-support";
|
|
36
|
+
var import_cache = __toModule(require("@miniflare/cache"));
|
|
37
|
+
var import_core = __toModule(require("@miniflare/core"));
|
|
38
|
+
var import_durable_objects = __toModule(require("@miniflare/durable-objects"));
|
|
39
|
+
var import_html_rewriter = __toModule(require("@miniflare/html-rewriter"));
|
|
40
|
+
var import_http_server = __toModule(require("@miniflare/http-server"));
|
|
41
|
+
var import_kv = __toModule(require("@miniflare/kv"));
|
|
42
|
+
var import_runner_vm = __toModule(require("@miniflare/runner-vm"));
|
|
43
|
+
var import_scheduler = __toModule(require("@miniflare/scheduler"));
|
|
44
|
+
var import_shared2 = __toModule(require("@miniflare/shared"));
|
|
45
|
+
var import_sites = __toModule(require("@miniflare/sites"));
|
|
46
|
+
var import_web_sockets = __toModule(require("@miniflare/web-sockets"));
|
|
47
|
+
var import_source_map_support = __toModule(require("source-map-support"));
|
|
24
48
|
|
|
25
49
|
// packages/miniflare/src/storage.ts
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
50
|
+
var import_assert = __toModule(require("assert"));
|
|
51
|
+
var import_path = __toModule(require("path"));
|
|
52
|
+
var import_shared = __toModule(require("@miniflare/shared"));
|
|
29
53
|
var redisConnectionStringRegexp = /^rediss?:\/\//;
|
|
30
54
|
var VariedStorageFactory = class {
|
|
31
55
|
constructor(memoryStorages = new Map(), redisConnections = new Map()) {
|
|
@@ -33,26 +57,32 @@ var VariedStorageFactory = class {
|
|
|
33
57
|
this.redisConnections = redisConnections;
|
|
34
58
|
}
|
|
35
59
|
async storage(namespace, persist) {
|
|
36
|
-
|
|
60
|
+
(0, import_assert.default)(typeof persist !== "boolean");
|
|
37
61
|
if (persist === void 0) {
|
|
38
62
|
let storage = this.memoryStorages.get(namespace);
|
|
39
63
|
if (storage)
|
|
40
64
|
return storage;
|
|
41
|
-
const {
|
|
65
|
+
const {
|
|
66
|
+
MemoryStorage
|
|
67
|
+
} = require("@miniflare/storage-memory");
|
|
42
68
|
this.memoryStorages.set(namespace, storage = new MemoryStorage());
|
|
43
69
|
return storage;
|
|
44
70
|
}
|
|
45
71
|
if (redisConnectionStringRegexp.test(persist)) {
|
|
46
|
-
const {
|
|
47
|
-
|
|
72
|
+
const {
|
|
73
|
+
RedisStorage
|
|
74
|
+
} = require("@miniflare/storage-redis");
|
|
75
|
+
const IORedis = require("ioredis");
|
|
48
76
|
let connection = this.redisConnections.get(persist);
|
|
49
77
|
if (!connection) {
|
|
50
|
-
this.redisConnections.set(persist, connection = new IORedis
|
|
78
|
+
this.redisConnections.set(persist, connection = new IORedis(persist));
|
|
51
79
|
}
|
|
52
80
|
return new RedisStorage(connection, namespace);
|
|
53
81
|
}
|
|
54
|
-
const root =
|
|
55
|
-
const {
|
|
82
|
+
const root = import_path.default.join(persist, (0, import_shared.sanitisePath)(namespace));
|
|
83
|
+
const {
|
|
84
|
+
FileStorage
|
|
85
|
+
} = require("@miniflare/storage-file");
|
|
56
86
|
return new FileStorage(root);
|
|
57
87
|
}
|
|
58
88
|
async dispose() {
|
|
@@ -64,29 +94,29 @@ var VariedStorageFactory = class {
|
|
|
64
94
|
|
|
65
95
|
// packages/miniflare/src/api.ts
|
|
66
96
|
var PLUGINS = {
|
|
67
|
-
CorePlugin,
|
|
68
|
-
HTTPPlugin,
|
|
69
|
-
SchedulerPlugin,
|
|
70
|
-
BuildPlugin,
|
|
71
|
-
KVPlugin,
|
|
72
|
-
DurableObjectsPlugin,
|
|
73
|
-
CachePlugin,
|
|
74
|
-
SitesPlugin,
|
|
75
|
-
HTMLRewriterPlugin,
|
|
76
|
-
WebSocketPlugin,
|
|
77
|
-
BindingsPlugin
|
|
97
|
+
CorePlugin: import_core.CorePlugin,
|
|
98
|
+
HTTPPlugin: import_http_server.HTTPPlugin,
|
|
99
|
+
SchedulerPlugin: import_scheduler.SchedulerPlugin,
|
|
100
|
+
BuildPlugin: import_core.BuildPlugin,
|
|
101
|
+
KVPlugin: import_kv.KVPlugin,
|
|
102
|
+
DurableObjectsPlugin: import_durable_objects.DurableObjectsPlugin,
|
|
103
|
+
CachePlugin: import_cache.CachePlugin,
|
|
104
|
+
SitesPlugin: import_sites.SitesPlugin,
|
|
105
|
+
HTMLRewriterPlugin: import_html_rewriter.HTMLRewriterPlugin,
|
|
106
|
+
WebSocketPlugin: import_web_sockets.WebSocketPlugin,
|
|
107
|
+
BindingsPlugin: import_core.BindingsPlugin
|
|
78
108
|
};
|
|
79
|
-
var Miniflare = class extends MiniflareCore {
|
|
109
|
+
var Miniflare = class extends import_core.MiniflareCore {
|
|
80
110
|
#storageFactory;
|
|
81
111
|
constructor(options) {
|
|
82
112
|
if (options?.sourceMap) {
|
|
83
|
-
|
|
113
|
+
import_source_map_support.default.install({ emptyCacheBetweenOperations: true });
|
|
84
114
|
}
|
|
85
115
|
const storageFactory = new VariedStorageFactory();
|
|
86
116
|
super(PLUGINS, {
|
|
87
|
-
log: options?.log ?? new NoOpLog(),
|
|
117
|
+
log: options?.log ?? new import_shared2.NoOpLog(),
|
|
88
118
|
storageFactory,
|
|
89
|
-
scriptRunner: new VMScriptRunner(),
|
|
119
|
+
scriptRunner: new import_runner_vm.VMScriptRunner(),
|
|
90
120
|
scriptRequired: true
|
|
91
121
|
}, options);
|
|
92
122
|
this.#storageFactory = storageFactory;
|
|
@@ -116,20 +146,34 @@ var Miniflare = class extends MiniflareCore {
|
|
|
116
146
|
return state.storage;
|
|
117
147
|
}
|
|
118
148
|
createServer(options) {
|
|
119
|
-
return createServer(this, options);
|
|
149
|
+
return (0, import_http_server.createServer)(this, options);
|
|
120
150
|
}
|
|
121
151
|
startServer(options) {
|
|
122
|
-
return startServer(this, options);
|
|
152
|
+
return (0, import_http_server.startServer)(this, options);
|
|
123
153
|
}
|
|
124
154
|
startScheduler() {
|
|
125
|
-
return startScheduler(this);
|
|
155
|
+
return (0, import_scheduler.startScheduler)(this);
|
|
156
|
+
}
|
|
157
|
+
async getOpenURL() {
|
|
158
|
+
const {
|
|
159
|
+
open,
|
|
160
|
+
httpsEnabled,
|
|
161
|
+
host = "localhost",
|
|
162
|
+
port = import_http_server.DEFAULT_PORT
|
|
163
|
+
} = (await this.getPlugins()).HTTPPlugin;
|
|
164
|
+
if (!open)
|
|
165
|
+
return;
|
|
166
|
+
if (typeof open === "string")
|
|
167
|
+
return open;
|
|
168
|
+
const protocol = httpsEnabled ? "https" : "http";
|
|
169
|
+
return `${protocol}://${host}:${port}/`;
|
|
126
170
|
}
|
|
127
171
|
};
|
|
128
172
|
|
|
129
173
|
// packages/miniflare/src/updater.ts
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
174
|
+
var import_promises = __toModule(require("fs/promises"));
|
|
175
|
+
var import_semiver = __toModule(require("semiver"));
|
|
176
|
+
var import_undici = __toModule(require("undici"));
|
|
133
177
|
var numericCompare = new Intl.Collator(void 0, { numeric: true }).compare;
|
|
134
178
|
async function updateCheck({
|
|
135
179
|
pkg,
|
|
@@ -140,19 +184,19 @@ async function updateCheck({
|
|
|
140
184
|
}) {
|
|
141
185
|
let lastCheck = 0;
|
|
142
186
|
try {
|
|
143
|
-
lastCheck = parseInt(await
|
|
187
|
+
lastCheck = parseInt(await import_promises.default.readFile(lastCheckFile, "utf8"));
|
|
144
188
|
} catch {
|
|
145
189
|
}
|
|
146
190
|
if (now - lastCheck < 864e5)
|
|
147
191
|
return;
|
|
148
|
-
const res = await fetch(`${registry}${pkg.name}/latest`, {
|
|
192
|
+
const res = await (0, import_undici.fetch)(`${registry}${pkg.name}/latest`, {
|
|
149
193
|
headers: { Accept: "application/json" }
|
|
150
194
|
});
|
|
151
195
|
const registryVersion = (await res.json()).version;
|
|
152
196
|
if (!registryVersion)
|
|
153
197
|
return;
|
|
154
|
-
await
|
|
155
|
-
if (
|
|
198
|
+
await import_promises.default.writeFile(lastCheckFile, now.toString(), "utf8");
|
|
199
|
+
if ((0, import_semiver.default)(registryVersion, pkg.version) > 0) {
|
|
156
200
|
log.warn(`Miniflare ${registryVersion} is available, but you're using ${pkg.version}. Update for improved compatibility with Cloudflare Workers.`);
|
|
157
201
|
const registryMajor = registryVersion.split(".")[0];
|
|
158
202
|
const pkgMajor = pkg.version.split(".")[0];
|
|
@@ -163,13 +207,14 @@ async function updateCheck({
|
|
|
163
207
|
}
|
|
164
208
|
|
|
165
209
|
// packages/miniflare/src/index.ts
|
|
166
|
-
|
|
167
|
-
export
|
|
168
|
-
|
|
210
|
+
var import_shared3 = __toModule(require("@miniflare/shared"));
|
|
211
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
212
|
+
0 && (module.exports = {
|
|
213
|
+
Log,
|
|
169
214
|
LogLevel,
|
|
170
215
|
Miniflare,
|
|
171
216
|
PLUGINS,
|
|
172
217
|
VariedStorageFactory,
|
|
173
218
|
updateCheck
|
|
174
|
-
};
|
|
219
|
+
});
|
|
175
220
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"mappings": ";
|
|
3
|
+
"sources": ["../../src/index.ts", "../../src/api.ts", "../../src/storage.ts", "../../src/updater.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "miniflare",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Fun, full-featured, fully-local simulator for Cloudflare Workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
],
|
|
12
12
|
"author": "MrBBot <me@mrbbot.dev>",
|
|
13
13
|
"license": "MIT",
|
|
14
|
-
"
|
|
14
|
+
"main": "./dist/src/index.js",
|
|
15
15
|
"exports": {
|
|
16
16
|
".": "./dist/src/index.js",
|
|
17
17
|
"./cli": "./dist/src/cli.js"
|
|
@@ -46,32 +46,32 @@
|
|
|
46
46
|
"miniflare": "bootstrap.js"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@miniflare/cache": "2.
|
|
50
|
-
"@miniflare/cli-parser": "2.
|
|
51
|
-
"@miniflare/core": "2.
|
|
52
|
-
"@miniflare/durable-objects": "2.
|
|
53
|
-
"@miniflare/html-rewriter": "2.
|
|
54
|
-
"@miniflare/http-server": "2.
|
|
55
|
-
"@miniflare/kv": "2.
|
|
56
|
-
"@miniflare/runner-vm": "2.
|
|
57
|
-
"@miniflare/scheduler": "2.
|
|
58
|
-
"@miniflare/shared": "2.
|
|
59
|
-
"@miniflare/sites": "2.
|
|
60
|
-
"@miniflare/storage-file": "2.
|
|
61
|
-
"@miniflare/storage-memory": "2.
|
|
62
|
-
"@miniflare/
|
|
63
|
-
"@miniflare/web-sockets": "2.0.0-rc.3",
|
|
49
|
+
"@miniflare/cache": "2.1.0",
|
|
50
|
+
"@miniflare/cli-parser": "2.1.0",
|
|
51
|
+
"@miniflare/core": "2.1.0",
|
|
52
|
+
"@miniflare/durable-objects": "2.1.0",
|
|
53
|
+
"@miniflare/html-rewriter": "2.1.0",
|
|
54
|
+
"@miniflare/http-server": "2.1.0",
|
|
55
|
+
"@miniflare/kv": "2.1.0",
|
|
56
|
+
"@miniflare/runner-vm": "2.1.0",
|
|
57
|
+
"@miniflare/scheduler": "2.1.0",
|
|
58
|
+
"@miniflare/shared": "2.1.0",
|
|
59
|
+
"@miniflare/sites": "2.1.0",
|
|
60
|
+
"@miniflare/storage-file": "2.1.0",
|
|
61
|
+
"@miniflare/storage-memory": "2.1.0",
|
|
62
|
+
"@miniflare/web-sockets": "2.1.0",
|
|
64
63
|
"kleur": "^4.1.4",
|
|
65
64
|
"semiver": "^1.1.0",
|
|
66
65
|
"source-map-support": "^0.5.20",
|
|
67
|
-
"undici": "
|
|
66
|
+
"undici": "4.12.1"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
70
|
-
"@miniflare/shared-test": "2.
|
|
71
|
-
"@types/source-map-support": "^0.5.4"
|
|
69
|
+
"@miniflare/shared-test": "2.1.0",
|
|
70
|
+
"@types/source-map-support": "^0.5.4",
|
|
71
|
+
"open": "^8.4.0"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@miniflare/storage-redis": "2.
|
|
74
|
+
"@miniflare/storage-redis": "2.1.0",
|
|
75
75
|
"cron-schedule": "^3.0.4",
|
|
76
76
|
"ioredis": "^4.27.9"
|
|
77
77
|
},
|
|
@@ -79,6 +79,9 @@
|
|
|
79
79
|
"@miniflare/storage-redis": {
|
|
80
80
|
"optional": true
|
|
81
81
|
},
|
|
82
|
+
"cron-schedule": {
|
|
83
|
+
"optional": true
|
|
84
|
+
},
|
|
82
85
|
"ioredis": {
|
|
83
86
|
"optional": true
|
|
84
87
|
}
|