wrangler 0.0.0-e6e1daba → 0.0.0-e7cf0caa
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/bin/wrangler.js +1 -1
- package/miniflare-dist/index.mjs +1 -1
- package/package.json +14 -9
- package/src/__tests__/api-devregistry.test.ts +121 -0
- package/src/__tests__/api.test.ts +27 -5
- package/src/__tests__/configuration.test.ts +294 -18
- package/src/__tests__/d1/execute.test.ts +3 -1
- package/src/__tests__/d1/migrate.test.ts +2 -0
- package/src/__tests__/delete.test.ts +6 -0
- package/src/__tests__/deployments.test.ts +335 -95
- package/src/__tests__/dev.test.tsx +87 -57
- package/src/__tests__/generate.test.ts +3 -4
- package/src/__tests__/helpers/mock-console.ts +6 -0
- package/src/__tests__/helpers/msw/handlers/deployments.ts +70 -3
- package/src/__tests__/helpers/msw/index.ts +4 -2
- package/src/__tests__/helpers/worker-scripts/parent-worker.js +4 -1
- package/src/__tests__/index.test.ts +10 -4
- package/src/__tests__/init.test.ts +136 -104
- package/src/__tests__/jest.setup.ts +4 -0
- package/src/__tests__/kv.test.ts +9 -9
- package/src/__tests__/logger.test.ts +68 -2
- package/src/__tests__/middleware.scheduled.test.ts +2 -2
- package/src/__tests__/middleware.test.ts +4 -3
- package/src/__tests__/mtls-certificates.test.ts +5 -2
- package/src/__tests__/pages/deployment-list.test.ts +2 -0
- package/src/__tests__/pages/functions-build.test.ts +91 -41
- package/src/__tests__/pages/project-list.test.ts +2 -0
- package/src/__tests__/pages/project-upload.test.ts +43 -24
- package/src/__tests__/pages/publish.test.ts +267 -148
- package/src/__tests__/publish.test.ts +420 -164
- package/src/__tests__/pubsub.test.ts +3 -0
- package/src/__tests__/queues.test.ts +5 -2
- package/src/__tests__/test-old-node-version.js +3 -3
- package/src/__tests__/traverse-module-graph.test.ts +220 -0
- package/src/__tests__/tsconfig.tsbuildinfo +1 -1
- package/src/__tests__/type-generation.test.ts +1 -0
- package/src/__tests__/user.test.ts +1 -1
- package/src/__tests__/worker-namespace.test.ts +1 -0
- package/src/api/dev.ts +10 -22
- package/src/api/pages/create-worker-bundle-contents.ts +1 -0
- package/src/api/pages/publish.tsx +38 -51
- package/src/bundle.ts +44 -13
- package/src/config/environment.ts +36 -4
- package/src/config/index.ts +30 -2
- package/src/config/validation-helpers.ts +1 -1
- package/src/config/validation.ts +149 -5
- package/src/create-worker-upload-form.ts +28 -3
- package/src/d1/backups.tsx +15 -11
- package/src/d1/create.tsx +20 -16
- package/src/d1/execute.tsx +22 -19
- package/src/d1/list.tsx +2 -2
- package/src/d1/migrations/apply.tsx +35 -29
- package/src/d1/migrations/create.tsx +15 -12
- package/src/d1/migrations/list.tsx +10 -7
- package/src/deployments.ts +260 -8
- package/src/dev/dev.tsx +4 -4
- package/src/dev/local.tsx +14 -16
- package/src/dev/start-server.ts +12 -16
- package/src/dev/use-esbuild.ts +11 -13
- package/src/dev/validate-dev-props.ts +9 -0
- package/src/dev-registry.ts +2 -1
- package/src/dev.tsx +28 -13
- package/src/entry.ts +18 -8
- package/src/generate/index.ts +2 -2
- package/src/index.ts +76 -23
- package/src/init.ts +144 -134
- package/src/logger.ts +18 -3
- package/src/metrics/send-event.ts +2 -1
- package/src/miniflare-cli/index.ts +1 -1
- package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -1
- package/src/module-collection.ts +91 -25
- package/src/pages/build.ts +277 -99
- package/src/pages/buildFunctions.ts +20 -10
- package/src/pages/deployments.tsx +3 -5
- package/src/pages/dev.ts +21 -21
- package/src/pages/errors.ts +1 -0
- package/src/pages/functions/buildPlugin.ts +57 -34
- package/src/pages/functions/buildWorker.ts +34 -31
- package/src/pages/functions/tsconfig.tsbuildinfo +1 -1
- package/src/pages/projects.tsx +2 -5
- package/src/pages/publish.tsx +1 -10
- package/src/pages/upload.tsx +29 -9
- package/src/paths.ts +1 -1
- package/src/publish/index.ts +1 -1
- package/src/publish/publish.ts +29 -34
- package/src/queues/cli/commands/consumer/add.ts +6 -0
- package/src/queues/client.ts +1 -0
- package/src/secret/index.ts +2 -1
- package/src/traverse-module-graph.ts +53 -0
- package/src/type-generation.ts +1 -1
- package/src/user/user.ts +1 -1
- package/src/utils/render.ts +93 -0
- package/src/worker.ts +18 -1
- package/templates/d1-beta-facade.js +5 -2
- package/templates/gitignore +1 -0
- package/templates/middleware/middleware-miniflare3-json-error.ts +17 -5
- package/templates/tsconfig.init.json +1 -2
- package/templates/tsconfig.tsbuildinfo +1 -1
- package/wrangler-dist/cli.d.ts +33 -13
- package/wrangler-dist/cli.js +20732 -19984
- package/src/__tests__/api-devregistry.test.js +0 -64
|
@@ -25,6 +25,7 @@ describe("wrangler", () => {
|
|
|
25
25
|
Object {
|
|
26
26
|
"debug": "",
|
|
27
27
|
"err": "",
|
|
28
|
+
"info": "",
|
|
28
29
|
"out": "wrangler pubsub
|
|
29
30
|
|
|
30
31
|
📮 Interact and manage Pub/Sub Brokers
|
|
@@ -55,6 +56,7 @@ describe("wrangler", () => {
|
|
|
55
56
|
Object {
|
|
56
57
|
"debug": "",
|
|
57
58
|
"err": "",
|
|
59
|
+
"info": "",
|
|
58
60
|
"out": "wrangler pubsub namespace
|
|
59
61
|
|
|
60
62
|
Manage your Pub/Sub Namespaces
|
|
@@ -171,6 +173,7 @@ describe("wrangler", () => {
|
|
|
171
173
|
Object {
|
|
172
174
|
"debug": "",
|
|
173
175
|
"err": "",
|
|
176
|
+
"info": "",
|
|
174
177
|
"out": "wrangler pubsub broker
|
|
175
178
|
|
|
176
179
|
Interact with your Pub/Sub Brokers
|
|
@@ -351,7 +351,8 @@ describe("wrangler", () => {
|
|
|
351
351
|
--batch-size Maximum number of messages per batch [number]
|
|
352
352
|
--batch-timeout Maximum number of seconds to wait to fill a batch with messages [number]
|
|
353
353
|
--message-retries Maximum number of retries for each message [number]
|
|
354
|
-
--dead-letter-queue Queue to send messages that failed to be consumed [string]
|
|
354
|
+
--dead-letter-queue Queue to send messages that failed to be consumed [string]
|
|
355
|
+
--max-concurrency The maximum number of concurrent consumer Worker invocations. Must be a positive integer [number]"
|
|
355
356
|
`);
|
|
356
357
|
});
|
|
357
358
|
|
|
@@ -363,6 +364,7 @@ describe("wrangler", () => {
|
|
|
363
364
|
batch_size: undefined,
|
|
364
365
|
max_retries: undefined,
|
|
365
366
|
max_wait_time_ms: undefined,
|
|
367
|
+
max_concurrency: undefined,
|
|
366
368
|
},
|
|
367
369
|
dead_letter_queue: undefined,
|
|
368
370
|
};
|
|
@@ -382,13 +384,14 @@ describe("wrangler", () => {
|
|
|
382
384
|
batch_size: 20,
|
|
383
385
|
max_retries: 3,
|
|
384
386
|
max_wait_time_ms: 10 * 1000,
|
|
387
|
+
max_concurrency: 3,
|
|
385
388
|
},
|
|
386
389
|
dead_letter_queue: "myDLQ",
|
|
387
390
|
};
|
|
388
391
|
mockPostRequest("testQueue", expectedBody);
|
|
389
392
|
|
|
390
393
|
await runWrangler(
|
|
391
|
-
"queues consumer add testQueue testScript --env myEnv --batch-size 20 --batch-timeout 10 --message-retries 3 --dead-letter-queue myDLQ"
|
|
394
|
+
"queues consumer add testQueue testScript --env myEnv --batch-size 20 --batch-timeout 10 --message-retries 3 --max-concurrency 3 --dead-letter-queue myDLQ"
|
|
392
395
|
);
|
|
393
396
|
expect(std.out).toMatchInlineSnapshot(`
|
|
394
397
|
"Adding consumer to queue testQueue.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// this test has to be run with a version of
|
|
1
|
+
// this test has to be run with a version of Node.js older than 16.13 to pass
|
|
2
2
|
|
|
3
3
|
const { spawn } = require("child_process");
|
|
4
4
|
const path = require("path");
|
|
@@ -11,7 +11,7 @@ const wranglerProcess = spawn(
|
|
|
11
11
|
{ stdio: "pipe" }
|
|
12
12
|
);
|
|
13
13
|
|
|
14
|
-
const messageToMatch = "Wrangler requires at least
|
|
14
|
+
const messageToMatch = "Wrangler requires at least Node.js v16.13.0";
|
|
15
15
|
|
|
16
16
|
wranglerProcess.once("exit", (code) => {
|
|
17
17
|
try {
|
|
@@ -25,7 +25,7 @@ wranglerProcess.once("exit", (code) => {
|
|
|
25
25
|
} catch (err) {
|
|
26
26
|
console.error("Error:", err);
|
|
27
27
|
throw new Error(
|
|
28
|
-
"This test has to be run with a version of
|
|
28
|
+
"This test has to be run with a version of Node.js under 16.13 to pass"
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
});
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "fs/promises";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import dedent from "ts-dedent";
|
|
4
|
+
import traverseModuleGraph from "../traverse-module-graph";
|
|
5
|
+
import { runInTempDir } from "./helpers/run-in-tmp";
|
|
6
|
+
import type { ConfigModuleRuleType } from "../config";
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* This file contains inline comments with the word "javascript"
|
|
10
|
+
* This signals to a compatible editor extension that the template string
|
|
11
|
+
* contents should be syntax-highlighted as JavaScript. One such extension
|
|
12
|
+
* is zjcompt.es6-string-javascript, but there are others.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
describe("traverse module graph", () => {
|
|
16
|
+
runInTempDir();
|
|
17
|
+
|
|
18
|
+
it("should not detect JS without module rules", async () => {
|
|
19
|
+
await writeFile(
|
|
20
|
+
"./index.js",
|
|
21
|
+
dedent/* javascript */ `
|
|
22
|
+
import { HELLO } from "./other.js"
|
|
23
|
+
export default {
|
|
24
|
+
async fetch(request) {
|
|
25
|
+
return new Response(HELLO)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`
|
|
29
|
+
);
|
|
30
|
+
await writeFile(
|
|
31
|
+
"./other.js",
|
|
32
|
+
dedent/* javascript */ `
|
|
33
|
+
export const HELLO = "WORLD"
|
|
34
|
+
`
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const bundle = await traverseModuleGraph(
|
|
38
|
+
{
|
|
39
|
+
file: path.join(process.cwd(), "./index.js"),
|
|
40
|
+
directory: process.cwd(),
|
|
41
|
+
format: "modules",
|
|
42
|
+
moduleRoot: process.cwd(),
|
|
43
|
+
},
|
|
44
|
+
[]
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
expect(bundle.modules).toStrictEqual([]);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it.each([
|
|
51
|
+
["ESModule", "esm"],
|
|
52
|
+
["CommonJS", "commonjs"],
|
|
53
|
+
])("should detect JS as %s", async (type, format) => {
|
|
54
|
+
await writeFile(
|
|
55
|
+
"./index.js",
|
|
56
|
+
dedent/* javascript */ `
|
|
57
|
+
import { HELLO } from "./other.js"
|
|
58
|
+
export default {
|
|
59
|
+
async fetch(request) {
|
|
60
|
+
return new Response(HELLO)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`
|
|
64
|
+
);
|
|
65
|
+
await writeFile(
|
|
66
|
+
"./other.js",
|
|
67
|
+
dedent/* javascript */ `
|
|
68
|
+
export const HELLO = "WORLD"
|
|
69
|
+
`
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const bundle = await traverseModuleGraph(
|
|
73
|
+
{
|
|
74
|
+
file: path.join(process.cwd(), "./index.js"),
|
|
75
|
+
directory: process.cwd(),
|
|
76
|
+
format: "modules",
|
|
77
|
+
moduleRoot: process.cwd(),
|
|
78
|
+
},
|
|
79
|
+
[{ type: type as ConfigModuleRuleType, globs: ["**/*.js"] }]
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
expect(bundle.modules[0].type).toStrictEqual(format);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("should not resolve JS outside the module root", async () => {
|
|
86
|
+
await mkdir("./src/nested", { recursive: true });
|
|
87
|
+
await writeFile(
|
|
88
|
+
"./src/nested/index.js",
|
|
89
|
+
dedent/* javascript */ `
|
|
90
|
+
import { HELLO } from "../other.js"
|
|
91
|
+
export default {
|
|
92
|
+
async fetch(request) {
|
|
93
|
+
return new Response(HELLO)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
`
|
|
97
|
+
);
|
|
98
|
+
await writeFile(
|
|
99
|
+
"./src/other.js",
|
|
100
|
+
dedent/* javascript */ `
|
|
101
|
+
export const HELLO = "WORLD"
|
|
102
|
+
`
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
const bundle = await traverseModuleGraph(
|
|
106
|
+
{
|
|
107
|
+
file: path.join(process.cwd(), "./src/nested/index.js"),
|
|
108
|
+
directory: path.join(process.cwd(), "./src/nested"),
|
|
109
|
+
format: "modules",
|
|
110
|
+
// The default module root is dirname(file)
|
|
111
|
+
moduleRoot: path.join(process.cwd(), "./src/nested"),
|
|
112
|
+
},
|
|
113
|
+
[{ type: "ESModule", globs: ["**/*.js"] }]
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
expect(bundle.modules).toStrictEqual([]);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it("should resolve JS with module root", async () => {
|
|
120
|
+
await mkdir("./src/nested", { recursive: true });
|
|
121
|
+
await writeFile(
|
|
122
|
+
"./src/nested/index.js",
|
|
123
|
+
dedent/* javascript */ `
|
|
124
|
+
import { HELLO } from "../other.js"
|
|
125
|
+
export default {
|
|
126
|
+
async fetch(request) {
|
|
127
|
+
return new Response(HELLO)
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
`
|
|
131
|
+
);
|
|
132
|
+
await writeFile(
|
|
133
|
+
"./src/other.js",
|
|
134
|
+
dedent/* javascript */ `
|
|
135
|
+
export const HELLO = "WORLD"
|
|
136
|
+
`
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
const bundle = await traverseModuleGraph(
|
|
140
|
+
{
|
|
141
|
+
file: path.join(process.cwd(), "./src/nested/index.js"),
|
|
142
|
+
directory: path.join(process.cwd(), "./src/nested"),
|
|
143
|
+
format: "modules",
|
|
144
|
+
// The default module root is dirname(file)
|
|
145
|
+
moduleRoot: path.join(process.cwd(), "./src"),
|
|
146
|
+
},
|
|
147
|
+
[{ type: "ESModule", globs: ["**/*.js"] }]
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
expect(bundle.modules[0].name).toStrictEqual("other.js");
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it("should ignore files not matched by glob", async () => {
|
|
154
|
+
await mkdir("./src/nested", { recursive: true });
|
|
155
|
+
await writeFile(
|
|
156
|
+
"./src/nested/index.js",
|
|
157
|
+
dedent/* javascript */ `
|
|
158
|
+
import { HELLO } from "../other.js"
|
|
159
|
+
export default {
|
|
160
|
+
async fetch(request) {
|
|
161
|
+
return new Response(HELLO)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
`
|
|
165
|
+
);
|
|
166
|
+
await writeFile(
|
|
167
|
+
"./src/other.js",
|
|
168
|
+
dedent/* javascript */ `
|
|
169
|
+
export const HELLO = "WORLD"
|
|
170
|
+
`
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
const bundle = await traverseModuleGraph(
|
|
174
|
+
{
|
|
175
|
+
file: path.join(process.cwd(), "./src/nested/index.js"),
|
|
176
|
+
directory: path.join(process.cwd(), "./src/nested"),
|
|
177
|
+
format: "modules",
|
|
178
|
+
// The default module root is dirname(file)
|
|
179
|
+
moduleRoot: path.join(process.cwd(), "./src"),
|
|
180
|
+
},
|
|
181
|
+
[{ type: "ESModule", globs: ["**/*.mjs"] }]
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
expect(bundle.modules.length).toStrictEqual(0);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it("should resolve files that match the default rules", async () => {
|
|
188
|
+
await mkdir("./src", { recursive: true });
|
|
189
|
+
await writeFile(
|
|
190
|
+
"./src/index.js",
|
|
191
|
+
dedent/* javascript */ `
|
|
192
|
+
import HELLO from "../other.txt"
|
|
193
|
+
export default {
|
|
194
|
+
async fetch(request) {
|
|
195
|
+
return new Response(HELLO)
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
`
|
|
199
|
+
);
|
|
200
|
+
await writeFile(
|
|
201
|
+
"./src/other.txt",
|
|
202
|
+
dedent/* javascript */ `
|
|
203
|
+
export const HELLO = "WORLD"
|
|
204
|
+
`
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
const bundle = await traverseModuleGraph(
|
|
208
|
+
{
|
|
209
|
+
file: path.join(process.cwd(), "./src/index.js"),
|
|
210
|
+
directory: path.join(process.cwd(), "./src"),
|
|
211
|
+
format: "modules",
|
|
212
|
+
// The default module root is dirname(file)
|
|
213
|
+
moduleRoot: path.join(process.cwd(), "./src"),
|
|
214
|
+
},
|
|
215
|
+
[]
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
expect(bundle.modules[0].name).toStrictEqual("other.txt");
|
|
219
|
+
});
|
|
220
|
+
});
|