wrangler 0.0.0-e3cab74 → 0.0.0-e452a35
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/Cloudflare_CA.pem +18 -0
- package/README.md +27 -14
- package/bin/wrangler.js +49 -5
- package/miniflare-dist/index.mjs +4886 -0
- package/package.json +42 -28
- package/pages/functions/buildPlugin.ts +105 -0
- package/pages/functions/buildWorker.ts +93 -4
- package/pages/functions/filepath-routing.test.ts +136 -25
- package/pages/functions/filepath-routing.ts +14 -3
- package/pages/functions/routes.ts +6 -1
- package/pages/functions/template-plugin.ts +147 -0
- package/pages/functions/template-worker.ts +21 -8
- package/src/__tests__/config-cache.test.ts +36 -0
- package/src/__tests__/configuration.test.ts +1514 -367
- package/src/__tests__/dev.test.tsx +870 -84
- package/src/__tests__/guess-worker-format.test.ts +37 -18
- package/src/__tests__/helpers/mock-account-id.ts +22 -4
- package/src/__tests__/helpers/mock-cfetch.ts +8 -4
- package/src/__tests__/helpers/mock-console.ts +35 -10
- package/src/__tests__/helpers/mock-dialogs.ts +26 -1
- package/src/__tests__/helpers/mock-http-server.ts +46 -0
- package/src/__tests__/helpers/mock-istty.ts +27 -0
- package/src/__tests__/helpers/mock-kv.ts +9 -16
- package/src/__tests__/helpers/mock-oauth-flow.ts +255 -0
- package/src/__tests__/helpers/mock-stdin.ts +103 -0
- package/src/__tests__/helpers/run-in-tmp.ts +10 -0
- package/src/__tests__/helpers/write-worker-source.ts +31 -0
- package/src/__tests__/https-options.test.ts +130 -0
- package/src/__tests__/index.test.ts +137 -747
- package/src/__tests__/init.test.ts +1557 -0
- package/src/__tests__/jest.setup.ts +28 -8
- package/src/__tests__/kv.test.ts +598 -258
- package/src/__tests__/logger.test.ts +115 -0
- package/src/__tests__/pages.test.ts +657 -0
- package/src/__tests__/parse.test.ts +8 -0
- package/src/__tests__/publish.test.ts +4003 -941
- package/src/__tests__/r2.test.ts +69 -34
- package/src/__tests__/route.test.ts +45 -0
- package/src/__tests__/secret.test.ts +228 -73
- package/src/__tests__/tail.test.ts +146 -20
- package/src/__tests__/user.test.ts +131 -0
- package/src/__tests__/whoami.test.tsx +26 -7
- package/src/abort.d.ts +3 -0
- package/src/bundle.ts +74 -7
- package/src/cfetch/index.ts +21 -4
- package/src/cfetch/internal.ts +20 -14
- package/src/cli.ts +5 -11
- package/src/config/README.md +7 -7
- package/src/config/config.ts +69 -100
- package/src/config/environment.ts +119 -4
- package/src/config/index.ts +177 -4
- package/src/config/validation-helpers.ts +228 -23
- package/src/config/validation.ts +687 -174
- package/src/config-cache.ts +45 -0
- package/src/{api/preview.ts → create-worker-preview.ts} +74 -36
- package/src/{api/form_data.ts → create-worker-upload-form.ts} +55 -18
- package/src/dev/dev-vars.ts +36 -0
- package/src/dev/dev.tsx +422 -0
- package/src/dev/local.tsx +318 -0
- package/src/dev/remote.tsx +227 -0
- package/src/dev/use-esbuild.ts +118 -0
- package/src/dialogs.tsx +16 -6
- package/src/durable.ts +102 -0
- package/src/entry.ts +279 -14
- package/src/environment-variables.ts +3 -1
- package/src/errors.ts +11 -0
- package/src/https-options.ts +123 -0
- package/src/index.tsx +1268 -806
- package/src/inspect.ts +64 -11
- package/src/intl-polyfill.d.ts +139 -0
- package/src/{kv.tsx → kv.ts} +195 -62
- package/src/logger.ts +66 -0
- package/src/miniflare-cli/README.md +30 -0
- package/src/miniflare-cli/enum-keys.ts +17 -0
- package/src/miniflare-cli/index.ts +41 -0
- package/src/miniflare-cli/request-context.ts +40 -0
- package/src/module-collection.ts +94 -6
- package/src/open-in-browser.ts +9 -3
- package/src/package-manager.ts +9 -8
- package/src/pages.tsx +1057 -75
- package/src/parse.ts +24 -5
- package/src/proxy.ts +143 -54
- package/src/publish.ts +444 -229
- package/src/selfsigned.d.ts +29 -0
- package/src/sites.tsx +98 -44
- package/src/tail/index.ts +2 -2
- package/src/tail/printing.ts +13 -8
- package/src/update-check.ts +19 -0
- package/src/user.tsx +263 -109
- package/src/whoami.tsx +2 -1
- package/src/{api/worker.ts → worker.ts} +24 -30
- package/templates/gitignore +171 -0
- package/templates/new-worker.ts +16 -1
- package/templates/static-asset-facade.js +1 -1
- package/wrangler-dist/cli.js +55345 -69246
- package/src/__tests__/helpers/mock-user.ts +0 -27
- package/src/__tests__/logout.test.ts +0 -50
- package/src/__tests__/sentry.test.ts +0 -146
- package/src/dev.tsx +0 -961
- package/src/guess-worker-format.ts +0 -68
- package/src/reporting.ts +0 -115
- package/wrangler-dist/cli.js.map +0 -7
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { fetch } from "undici";
|
|
2
|
-
import { previewToken } from "./preview";
|
|
3
|
-
import type { CfPreviewToken } from "./preview";
|
|
4
|
-
|
|
5
1
|
/**
|
|
6
2
|
* A Cloudflare account.
|
|
7
3
|
*/
|
|
@@ -79,7 +75,7 @@ interface CfKvNamespace {
|
|
|
79
75
|
}
|
|
80
76
|
|
|
81
77
|
/**
|
|
82
|
-
* A binding to a wasm module (in service
|
|
78
|
+
* A binding to a wasm module (in service-worker format)
|
|
83
79
|
*/
|
|
84
80
|
|
|
85
81
|
interface CfWasmModuleBindings {
|
|
@@ -87,13 +83,21 @@ interface CfWasmModuleBindings {
|
|
|
87
83
|
}
|
|
88
84
|
|
|
89
85
|
/**
|
|
90
|
-
* A binding to a text blob (in service
|
|
86
|
+
* A binding to a text blob (in service-worker format)
|
|
91
87
|
*/
|
|
92
88
|
|
|
93
89
|
interface CfTextBlobBindings {
|
|
94
90
|
[key: string]: string;
|
|
95
91
|
}
|
|
96
92
|
|
|
93
|
+
/**
|
|
94
|
+
* A binding to a data blob (in service-worker format)
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
interface CfDataBlobBindings {
|
|
98
|
+
[key: string]: string;
|
|
99
|
+
}
|
|
100
|
+
|
|
97
101
|
/**
|
|
98
102
|
* A Durable Object.
|
|
99
103
|
*/
|
|
@@ -101,6 +105,7 @@ interface CfDurableObject {
|
|
|
101
105
|
name: string;
|
|
102
106
|
class_name: string;
|
|
103
107
|
script_name?: string;
|
|
108
|
+
environment?: string;
|
|
104
109
|
}
|
|
105
110
|
|
|
106
111
|
interface CfR2Bucket {
|
|
@@ -108,6 +113,12 @@ interface CfR2Bucket {
|
|
|
108
113
|
bucket_name: string;
|
|
109
114
|
}
|
|
110
115
|
|
|
116
|
+
interface CfService {
|
|
117
|
+
binding: string;
|
|
118
|
+
service: string;
|
|
119
|
+
environment?: string;
|
|
120
|
+
}
|
|
121
|
+
|
|
111
122
|
interface CfUnsafeBinding {
|
|
112
123
|
name: string;
|
|
113
124
|
type: string;
|
|
@@ -141,7 +152,7 @@ export interface CfWorkerInit {
|
|
|
141
152
|
/**
|
|
142
153
|
* The list of additional modules.
|
|
143
154
|
*/
|
|
144
|
-
modules:
|
|
155
|
+
modules: CfModule[] | undefined;
|
|
145
156
|
/**
|
|
146
157
|
* All the bindings
|
|
147
158
|
*/
|
|
@@ -150,37 +161,20 @@ export interface CfWorkerInit {
|
|
|
150
161
|
kv_namespaces: CfKvNamespace[] | undefined;
|
|
151
162
|
wasm_modules: CfWasmModuleBindings | undefined;
|
|
152
163
|
text_blobs: CfTextBlobBindings | undefined;
|
|
164
|
+
data_blobs: CfDataBlobBindings | undefined;
|
|
153
165
|
durable_objects: { bindings: CfDurableObject[] } | undefined;
|
|
154
166
|
r2_buckets: CfR2Bucket[] | undefined;
|
|
167
|
+
services: CfService[] | undefined;
|
|
155
168
|
unsafe: CfUnsafeBinding[] | undefined;
|
|
156
169
|
};
|
|
157
|
-
migrations:
|
|
170
|
+
migrations: CfDurableObjectMigrations | undefined;
|
|
158
171
|
compatibility_date: string | undefined;
|
|
159
|
-
compatibility_flags:
|
|
160
|
-
usage_model:
|
|
172
|
+
compatibility_flags: string[] | undefined;
|
|
173
|
+
usage_model: "bundled" | "unbound" | undefined;
|
|
161
174
|
}
|
|
162
175
|
|
|
163
176
|
export interface CfWorkerContext {
|
|
164
177
|
env: string | undefined;
|
|
165
178
|
legacyEnv: boolean | undefined;
|
|
166
|
-
zone: string | undefined;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* A stub to create a Cloudflare Worker preview.
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* const {value, host} = await createWorker(init, acct);
|
|
174
|
-
*/
|
|
175
|
-
export async function createWorker(
|
|
176
|
-
init: CfWorkerInit,
|
|
177
|
-
account: CfAccount,
|
|
178
|
-
ctx: CfWorkerContext
|
|
179
|
-
): Promise<CfPreviewToken> {
|
|
180
|
-
const token = await previewToken(account, init, ctx);
|
|
181
|
-
const response = await fetch(token.prewarmUrl.href, { method: "POST" });
|
|
182
|
-
if (!response.ok) {
|
|
183
|
-
// console.error("worker failed to prewarm: ", response.statusText);
|
|
184
|
-
}
|
|
185
|
-
return token;
|
|
179
|
+
zone: { id: string; host: string } | undefined;
|
|
186
180
|
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
|
|
3
|
+
logs
|
|
4
|
+
_.log
|
|
5
|
+
npm-debug.log_
|
|
6
|
+
yarn-debug.log*
|
|
7
|
+
yarn-error.log*
|
|
8
|
+
lerna-debug.log*
|
|
9
|
+
.pnpm-debug.log*
|
|
10
|
+
|
|
11
|
+
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
12
|
+
|
|
13
|
+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
|
14
|
+
|
|
15
|
+
# Runtime data
|
|
16
|
+
|
|
17
|
+
pids
|
|
18
|
+
_.pid
|
|
19
|
+
_.seed
|
|
20
|
+
\*.pid.lock
|
|
21
|
+
|
|
22
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
23
|
+
|
|
24
|
+
lib-cov
|
|
25
|
+
|
|
26
|
+
# Coverage directory used by tools like istanbul
|
|
27
|
+
|
|
28
|
+
coverage
|
|
29
|
+
\*.lcov
|
|
30
|
+
|
|
31
|
+
# nyc test coverage
|
|
32
|
+
|
|
33
|
+
.nyc_output
|
|
34
|
+
|
|
35
|
+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
36
|
+
|
|
37
|
+
.grunt
|
|
38
|
+
|
|
39
|
+
# Bower dependency directory (https://bower.io/)
|
|
40
|
+
|
|
41
|
+
bower_components
|
|
42
|
+
|
|
43
|
+
# node-waf configuration
|
|
44
|
+
|
|
45
|
+
.lock-wscript
|
|
46
|
+
|
|
47
|
+
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
48
|
+
|
|
49
|
+
build/Release
|
|
50
|
+
|
|
51
|
+
# Dependency directories
|
|
52
|
+
|
|
53
|
+
node_modules/
|
|
54
|
+
jspm_packages/
|
|
55
|
+
|
|
56
|
+
# Snowpack dependency directory (https://snowpack.dev/)
|
|
57
|
+
|
|
58
|
+
web_modules/
|
|
59
|
+
|
|
60
|
+
# TypeScript cache
|
|
61
|
+
|
|
62
|
+
\*.tsbuildinfo
|
|
63
|
+
|
|
64
|
+
# Optional npm cache directory
|
|
65
|
+
|
|
66
|
+
.npm
|
|
67
|
+
|
|
68
|
+
# Optional eslint cache
|
|
69
|
+
|
|
70
|
+
.eslintcache
|
|
71
|
+
|
|
72
|
+
# Optional stylelint cache
|
|
73
|
+
|
|
74
|
+
.stylelintcache
|
|
75
|
+
|
|
76
|
+
# Microbundle cache
|
|
77
|
+
|
|
78
|
+
.rpt2_cache/
|
|
79
|
+
.rts2_cache_cjs/
|
|
80
|
+
.rts2_cache_es/
|
|
81
|
+
.rts2_cache_umd/
|
|
82
|
+
|
|
83
|
+
# Optional REPL history
|
|
84
|
+
|
|
85
|
+
.node_repl_history
|
|
86
|
+
|
|
87
|
+
# Output of 'npm pack'
|
|
88
|
+
|
|
89
|
+
\*.tgz
|
|
90
|
+
|
|
91
|
+
# Yarn Integrity file
|
|
92
|
+
|
|
93
|
+
.yarn-integrity
|
|
94
|
+
|
|
95
|
+
# dotenv environment variable files
|
|
96
|
+
|
|
97
|
+
.env
|
|
98
|
+
.env.development.local
|
|
99
|
+
.env.test.local
|
|
100
|
+
.env.production.local
|
|
101
|
+
.env.local
|
|
102
|
+
|
|
103
|
+
# parcel-bundler cache (https://parceljs.org/)
|
|
104
|
+
|
|
105
|
+
.cache
|
|
106
|
+
.parcel-cache
|
|
107
|
+
|
|
108
|
+
# Next.js build output
|
|
109
|
+
|
|
110
|
+
.next
|
|
111
|
+
out
|
|
112
|
+
|
|
113
|
+
# Nuxt.js build / generate output
|
|
114
|
+
|
|
115
|
+
.nuxt
|
|
116
|
+
dist
|
|
117
|
+
|
|
118
|
+
# Gatsby files
|
|
119
|
+
|
|
120
|
+
.cache/
|
|
121
|
+
|
|
122
|
+
# Comment in the public line in if your project uses Gatsby and not Next.js
|
|
123
|
+
|
|
124
|
+
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
125
|
+
|
|
126
|
+
# public
|
|
127
|
+
|
|
128
|
+
# vuepress build output
|
|
129
|
+
|
|
130
|
+
.vuepress/dist
|
|
131
|
+
|
|
132
|
+
# vuepress v2.x temp and cache directory
|
|
133
|
+
|
|
134
|
+
.temp
|
|
135
|
+
.cache
|
|
136
|
+
|
|
137
|
+
# Docusaurus cache and generated files
|
|
138
|
+
|
|
139
|
+
.docusaurus
|
|
140
|
+
|
|
141
|
+
# Serverless directories
|
|
142
|
+
|
|
143
|
+
.serverless/
|
|
144
|
+
|
|
145
|
+
# FuseBox cache
|
|
146
|
+
|
|
147
|
+
.fusebox/
|
|
148
|
+
|
|
149
|
+
# DynamoDB Local files
|
|
150
|
+
|
|
151
|
+
.dynamodb/
|
|
152
|
+
|
|
153
|
+
# TernJS port file
|
|
154
|
+
|
|
155
|
+
.tern-port
|
|
156
|
+
|
|
157
|
+
# Stores VSCode versions used for testing VSCode extensions
|
|
158
|
+
|
|
159
|
+
.vscode-test
|
|
160
|
+
|
|
161
|
+
# yarn v2
|
|
162
|
+
|
|
163
|
+
.yarn/cache
|
|
164
|
+
.yarn/unplugged
|
|
165
|
+
.yarn/build-state.yml
|
|
166
|
+
.yarn/install-state.gz
|
|
167
|
+
.pnp.\*
|
|
168
|
+
|
|
169
|
+
# wrangler project
|
|
170
|
+
|
|
171
|
+
.dev.vars
|
package/templates/new-worker.ts
CHANGED
|
@@ -8,8 +8,23 @@
|
|
|
8
8
|
* Learn more at https://developers.cloudflare.com/workers/
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
export interface Env {
|
|
12
|
+
// Example binding to KV. Learn more at https://developers.cloudflare.com/workers/runtime-apis/kv/
|
|
13
|
+
// MY_KV_NAMESPACE: KVNamespace;
|
|
14
|
+
//
|
|
15
|
+
// Example binding to Durable Object. Learn more at https://developers.cloudflare.com/workers/runtime-apis/durable-objects/
|
|
16
|
+
// MY_DURABLE_OBJECT: DurableObjectNamespace;
|
|
17
|
+
//
|
|
18
|
+
// Example binding to R2. Learn more at https://developers.cloudflare.com/workers/runtime-apis/r2/
|
|
19
|
+
// MY_BUCKET: R2Bucket;
|
|
20
|
+
}
|
|
21
|
+
|
|
11
22
|
export default {
|
|
12
|
-
async fetch(
|
|
23
|
+
async fetch(
|
|
24
|
+
request: Request,
|
|
25
|
+
env: Env,
|
|
26
|
+
ctx: ExecutionContext
|
|
27
|
+
): Promise<Response> {
|
|
13
28
|
return new Response("Hello World!");
|
|
14
29
|
},
|
|
15
30
|
};
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
// if an error is thrown then serve from actual worker
|
|
42
42
|
return worker.fetch(request);
|
|
43
43
|
// TODO: throw here if worker is not available
|
|
44
|
-
// (which implies it may be a service
|
|
44
|
+
// (which implies it may be a service-worker)
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
};
|