wrangler 0.0.0-ecc8b172 → 0.0.0-ecdfabed0

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.
Files changed (248) hide show
  1. package/README.md +17 -19
  2. package/bin/wrangler.js +24 -93
  3. package/config-schema.json +3088 -0
  4. package/package.json +197 -190
  5. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  6. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  7. package/templates/__tests__/tsconfig.json +8 -0
  8. package/templates/checked-fetch.js +19 -6
  9. package/templates/facade.d.ts +19 -0
  10. package/templates/gitignore +2 -3
  11. package/templates/init-tests/test-jest-new-worker.js +3 -5
  12. package/templates/init-tests/test-vitest-new-worker.js +4 -6
  13. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  14. package/templates/middleware/common.ts +9 -4
  15. package/templates/middleware/loader-modules.ts +94 -44
  16. package/templates/middleware/loader-sw.ts +48 -32
  17. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  18. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  19. package/templates/middleware/middleware-scheduled.ts +15 -1
  20. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  21. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  22. package/templates/modules-watch-stub.js +4 -0
  23. package/templates/new-worker-scheduled.ts +1 -1
  24. package/templates/new-worker.ts +4 -1
  25. package/templates/pages-dev-pipeline.ts +10 -13
  26. package/templates/pages-dev-util.ts +55 -0
  27. package/templates/pages-shim.ts +1 -1
  28. package/templates/pages-template-plugin.ts +37 -14
  29. package/templates/pages-template-worker.ts +33 -7
  30. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  31. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  32. package/templates/tsconfig-sanity.ts +11 -0
  33. package/templates/tsconfig.init.json +22 -0
  34. package/templates/tsconfig.json +5 -102
  35. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  36. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  37. package/wrangler-dist/ProxyWorker.js +241 -0
  38. package/wrangler-dist/ProxyWorker.js.map +6 -0
  39. package/wrangler-dist/cli.d.ts +26031 -472
  40. package/wrangler-dist/cli.js +172877 -121674
  41. package/wrangler-dist/wasm-sync.wasm +0 -0
  42. package/Cloudflare_CA.pem +0 -18
  43. package/import_meta_url.js +0 -3
  44. package/miniflare-config-stubs/.env.empty +0 -0
  45. package/miniflare-config-stubs/package.empty.json +0 -1
  46. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  47. package/miniflare-dist/index.mjs +0 -6310
  48. package/src/__tests__/api-dev.test.ts +0 -209
  49. package/src/__tests__/api-devregistry.test.js +0 -56
  50. package/src/__tests__/api.test.ts +0 -80
  51. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  52. package/src/__tests__/config-cache.test.ts +0 -42
  53. package/src/__tests__/configuration.test.ts +0 -3864
  54. package/src/__tests__/d1.test.ts +0 -70
  55. package/src/__tests__/delete.test.ts +0 -116
  56. package/src/__tests__/dev.test.tsx +0 -1357
  57. package/src/__tests__/dialogs.test.tsx +0 -40
  58. package/src/__tests__/generate.test.ts +0 -235
  59. package/src/__tests__/get-host-from-url.test.ts +0 -16
  60. package/src/__tests__/guess-worker-format.test.ts +0 -85
  61. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  62. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  63. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  64. package/src/__tests__/helpers/mock-bin.ts +0 -36
  65. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  66. package/src/__tests__/helpers/mock-console.ts +0 -106
  67. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  68. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  69. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  70. package/src/__tests__/helpers/mock-istty.ts +0 -74
  71. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  72. package/src/__tests__/helpers/mock-kv.ts +0 -33
  73. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -252
  74. package/src/__tests__/helpers/mock-process.ts +0 -39
  75. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  76. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  77. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  78. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -36
  79. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  80. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  81. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  82. package/src/__tests__/helpers/msw/index.ts +0 -15
  83. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  84. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  85. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  86. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  87. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  88. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  89. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  90. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  91. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  92. package/src/__tests__/https-options.test.ts +0 -163
  93. package/src/__tests__/index.test.ts +0 -251
  94. package/src/__tests__/init.test.ts +0 -2816
  95. package/src/__tests__/jest.setup.ts +0 -191
  96. package/src/__tests__/kv.test.ts +0 -1675
  97. package/src/__tests__/logger.test.ts +0 -141
  98. package/src/__tests__/metrics.test.ts +0 -450
  99. package/src/__tests__/middleware.scheduled.test.ts +0 -135
  100. package/src/__tests__/middleware.test.ts +0 -726
  101. package/src/__tests__/package-manager.test.ts +0 -353
  102. package/src/__tests__/pages.test.ts +0 -2111
  103. package/src/__tests__/parse.test.ts +0 -330
  104. package/src/__tests__/paths.test.ts +0 -39
  105. package/src/__tests__/publish.test.ts +0 -7119
  106. package/src/__tests__/pubsub.test.ts +0 -367
  107. package/src/__tests__/r2.test.ts +0 -371
  108. package/src/__tests__/route.test.ts +0 -45
  109. package/src/__tests__/secret.test.ts +0 -644
  110. package/src/__tests__/tail.test.ts +0 -800
  111. package/src/__tests__/test-old-node-version.js +0 -31
  112. package/src/__tests__/user.test.ts +0 -155
  113. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  114. package/src/__tests__/validate-dev-props.test.ts +0 -56
  115. package/src/__tests__/version.test.ts +0 -35
  116. package/src/__tests__/whoami.test.tsx +0 -278
  117. package/src/__tests__/worker-namespace.test.ts +0 -321
  118. package/src/abort.d.ts +0 -3
  119. package/src/api/dev.ts +0 -208
  120. package/src/api/index.ts +0 -2
  121. package/src/bundle-reporter.tsx +0 -29
  122. package/src/bundle.ts +0 -756
  123. package/src/cfetch/index.ts +0 -160
  124. package/src/cfetch/internal.ts +0 -263
  125. package/src/cli.ts +0 -29
  126. package/src/config/README.md +0 -107
  127. package/src/config/config.ts +0 -275
  128. package/src/config/diagnostics.ts +0 -80
  129. package/src/config/environment.ts +0 -505
  130. package/src/config/index.ts +0 -293
  131. package/src/config/validation-helpers.ts +0 -597
  132. package/src/config/validation.ts +0 -1930
  133. package/src/config-cache.ts +0 -85
  134. package/src/create-worker-preview.ts +0 -275
  135. package/src/create-worker-upload-form.ts +0 -301
  136. package/src/d1/backups.tsx +0 -212
  137. package/src/d1/create.tsx +0 -54
  138. package/src/d1/delete.tsx +0 -56
  139. package/src/d1/execute.tsx +0 -294
  140. package/src/d1/formatTimeAgo.ts +0 -14
  141. package/src/d1/index.ts +0 -75
  142. package/src/d1/list.tsx +0 -48
  143. package/src/d1/options.ts +0 -12
  144. package/src/d1/types.tsx +0 -14
  145. package/src/d1/utils.ts +0 -39
  146. package/src/delete.ts +0 -86
  147. package/src/deprecated/index.ts +0 -453
  148. package/src/dev/dev-vars.ts +0 -36
  149. package/src/dev/dev.tsx +0 -575
  150. package/src/dev/get-local-persistence-path.tsx +0 -31
  151. package/src/dev/local.tsx +0 -686
  152. package/src/dev/remote.tsx +0 -601
  153. package/src/dev/start-server.ts +0 -506
  154. package/src/dev/use-esbuild.ts +0 -197
  155. package/src/dev/validate-dev-props.ts +0 -31
  156. package/src/dev-registry.tsx +0 -201
  157. package/src/dev.tsx +0 -865
  158. package/src/dialogs.tsx +0 -163
  159. package/src/dispatch-namespace.ts +0 -206
  160. package/src/durable.ts +0 -102
  161. package/src/entry.ts +0 -329
  162. package/src/environment-variables.ts +0 -50
  163. package/src/errors.ts +0 -11
  164. package/src/git-client.ts +0 -124
  165. package/src/global-wrangler-config-path.ts +0 -26
  166. package/src/https-options.ts +0 -127
  167. package/src/index.tsx +0 -582
  168. package/src/init.ts +0 -970
  169. package/src/inspect.ts +0 -747
  170. package/src/intl-polyfill.d.ts +0 -139
  171. package/src/is-ci.ts +0 -14
  172. package/src/is-interactive.ts +0 -12
  173. package/src/kv/helpers.ts +0 -430
  174. package/src/kv/index.ts +0 -645
  175. package/src/logger.ts +0 -80
  176. package/src/metrics/index.ts +0 -5
  177. package/src/metrics/metrics-config.ts +0 -239
  178. package/src/metrics/metrics-dispatcher.ts +0 -96
  179. package/src/metrics/metrics-usage-headers.ts +0 -24
  180. package/src/metrics/send-event.ts +0 -94
  181. package/src/miniflare-cli/README.md +0 -30
  182. package/src/miniflare-cli/assets.ts +0 -215
  183. package/src/miniflare-cli/index.ts +0 -208
  184. package/src/miniflare-cli/request-context.ts +0 -40
  185. package/src/module-collection.ts +0 -267
  186. package/src/open-in-browser.ts +0 -17
  187. package/src/package-manager.ts +0 -219
  188. package/src/pages/build.tsx +0 -238
  189. package/src/pages/constants.ts +0 -16
  190. package/src/pages/deployments.tsx +0 -106
  191. package/src/pages/dev.tsx +0 -689
  192. package/src/pages/errors.ts +0 -66
  193. package/src/pages/functions/buildPlugin.ts +0 -110
  194. package/src/pages/functions/buildWorker.ts +0 -156
  195. package/src/pages/functions/filepath-routing.test.ts +0 -234
  196. package/src/pages/functions/filepath-routing.ts +0 -189
  197. package/src/pages/functions/identifiers.ts +0 -78
  198. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  199. package/src/pages/functions/routes-consolidation.ts +0 -73
  200. package/src/pages/functions/routes-transformation.test.ts +0 -282
  201. package/src/pages/functions/routes-transformation.ts +0 -115
  202. package/src/pages/functions/routes-validation.test.ts +0 -403
  203. package/src/pages/functions/routes-validation.ts +0 -202
  204. package/src/pages/functions/routes.ts +0 -151
  205. package/src/pages/functions.tsx +0 -82
  206. package/src/pages/hash.tsx +0 -13
  207. package/src/pages/index.tsx +0 -94
  208. package/src/pages/projects.tsx +0 -169
  209. package/src/pages/publish.tsx +0 -436
  210. package/src/pages/types.ts +0 -49
  211. package/src/pages/upload.tsx +0 -398
  212. package/src/pages/utils.ts +0 -12
  213. package/src/parse.ts +0 -286
  214. package/src/paths.ts +0 -71
  215. package/src/proxy.ts +0 -657
  216. package/src/publish/index.ts +0 -267
  217. package/src/publish/publish.ts +0 -913
  218. package/src/pubsub/index.ts +0 -286
  219. package/src/pubsub/pubsub-commands.tsx +0 -623
  220. package/src/r2/helpers.ts +0 -131
  221. package/src/r2/index.ts +0 -277
  222. package/src/routes.ts +0 -140
  223. package/src/secret/index.ts +0 -403
  224. package/src/selfsigned.d.ts +0 -29
  225. package/src/sites.tsx +0 -372
  226. package/src/tail/createTail.ts +0 -315
  227. package/src/tail/filters.ts +0 -277
  228. package/src/tail/index.ts +0 -217
  229. package/src/tail/printing.ts +0 -107
  230. package/src/update-check.ts +0 -19
  231. package/src/user/choose-account.tsx +0 -69
  232. package/src/user/env-vars.ts +0 -46
  233. package/src/user/generate-auth-url.ts +0 -33
  234. package/src/user/generate-random-state.ts +0 -16
  235. package/src/user/index.ts +0 -3
  236. package/src/user/user.tsx +0 -1192
  237. package/src/utils/collectKeyValues.ts +0 -14
  238. package/src/whoami.tsx +0 -169
  239. package/src/worker.ts +0 -234
  240. package/src/yargs-types.ts +0 -7
  241. package/src/zones.ts +0 -165
  242. package/templates/d1-beta-facade.js +0 -174
  243. package/templates/experimental-local-cache-stubs.js +0 -27
  244. package/templates/first-party-worker-module-facade.ts +0 -18
  245. package/templates/format-dev-errors.ts +0 -32
  246. package/templates/serve-static-assets.ts +0 -63
  247. package/templates/service-bindings-module-facade.js +0 -54
  248. package/templates/service-bindings-sw-facade.js +0 -42
package/package.json CHANGED
@@ -1,191 +1,198 @@
1
1
  {
2
- "name": "wrangler",
3
- "version": "0.0.0-ecc8b172",
4
- "description": "Command-line interface for all things Cloudflare Workers",
5
- "keywords": [
6
- "wrangler",
7
- "cloudflare",
8
- "workers",
9
- "cloudflare workers",
10
- "edge",
11
- "compute",
12
- "serverless",
13
- "serverless application",
14
- "serverless module",
15
- "wasm",
16
- "web",
17
- "assembly",
18
- "webassembly",
19
- "rust",
20
- "emscripten",
21
- "typescript",
22
- "graphql",
23
- "router",
24
- "http",
25
- "cli"
26
- ],
27
- "homepage": "https://github.com/cloudflare/wrangler2#readme",
28
- "bugs": {
29
- "url": "https://github.com/cloudflare/wrangler2/issues"
30
- },
31
- "repository": {
32
- "type": "git",
33
- "url": "https://github.com/cloudflare/wrangler2.git",
34
- "directory": "packages/wrangler"
35
- },
36
- "license": "MIT OR Apache-2.0",
37
- "author": "wrangler@cloudflare.com",
38
- "main": "wrangler-dist/cli.js",
39
- "types": "wrangler-dist/cli.d.ts",
40
- "bin": {
41
- "wrangler": "./bin/wrangler.js",
42
- "wrangler2": "./bin/wrangler.js"
43
- },
44
- "files": [
45
- "src",
46
- "bin",
47
- "miniflare-config-stubs",
48
- "miniflare-dist",
49
- "wrangler-dist",
50
- "templates",
51
- "vendor",
52
- "import_meta_url.js",
53
- "kv-asset-handler.js",
54
- "Cloudflare_CA.pem"
55
- ],
56
- "scripts": {
57
- "assert-git-version": "node -r esbuild-register scripts/assert-git-version.ts",
58
- "build": "npm run clean && npm run bundle && npm run emit-types",
59
- "bundle": "node -r esbuild-register scripts/bundle.ts",
60
- "check:type": "tsc",
61
- "clean": "rimraf wrangler-dist miniflare-dist emitted-types",
62
- "dev": "npm run clean && concurrently -c black,blue --kill-others-on-fail false 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
63
- "emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
64
- "prepublishOnly": "SOURCEMAPS=false npm run build",
65
- "start": "npm run bundle && cross-env NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
66
- "test": "npm run assert-git-version && jest --silent=false --verbose=true",
67
- "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
68
- "test:ci": "npm run test -- --verbose=true --coverage"
69
- },
70
- "jest": {
71
- "coverageReporters": [
72
- "json",
73
- "html",
74
- "text",
75
- "cobertura"
76
- ],
77
- "moduleNameMapper": {
78
- "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
79
- "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
80
- },
81
- "restoreMocks": true,
82
- "setupFilesAfterEnv": [
83
- "<rootDir>/src/__tests__/jest.setup.ts"
84
- ],
85
- "testRegex": ".*.(test|spec)\\.[jt]sx?$",
86
- "testTimeout": 30000,
87
- "transform": {
88
- "^.+\\.c?(t|j)sx?$": [
89
- "esbuild-jest",
90
- {
91
- "sourcemap": true
92
- }
93
- ]
94
- },
95
- "transformIgnorePatterns": [
96
- "node_modules/(?!find-up|locate-path|p-locate|p-limit|p-timeout|p-queue|yocto-queue|path-exists|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream|get-port|supports-color|pretty-bytes|npx-import)"
97
- ]
98
- },
99
- "dependencies": {
100
- "@cloudflare/kv-asset-handler": "^0.2.0",
101
- "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
102
- "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
103
- "@miniflare/core": "2.10.0",
104
- "@miniflare/d1": "2.10.0",
105
- "@miniflare/durable-objects": "2.10.0",
106
- "blake3-wasm": "^2.1.5",
107
- "chokidar": "^3.5.3",
108
- "esbuild": "0.14.51",
109
- "miniflare": "2.10.0",
110
- "nanoid": "^3.3.3",
111
- "path-to-regexp": "^6.2.0",
112
- "selfsigned": "^2.0.1",
113
- "source-map": "^0.7.4",
114
- "xxhash-wasm": "^1.0.1"
115
- },
116
- "devDependencies": {
117
- "@databases/split-sql-query": "^1.0.3",
118
- "@databases/sql": "^3.2.0",
119
- "@iarna/toml": "^3.0.0",
120
- "@microsoft/api-extractor": "^7.28.3",
121
- "@miniflare/tre": "3.0.0-next.2",
122
- "@types/better-sqlite3": "^7.6.0",
123
- "@types/busboy": "^1.5.0",
124
- "@types/command-exists": "^1.2.0",
125
- "@types/express": "^4.17.13",
126
- "@types/glob-to-regexp": "0.4.1",
127
- "@types/javascript-time-ago": "^2.0.3",
128
- "@types/mime": "^2.0.3",
129
- "@types/prompts": "^2.0.14",
130
- "@types/react": "^17.0.37",
131
- "@types/serve-static": "^1.13.10",
132
- "@types/signal-exit": "^3.0.1",
133
- "@types/supports-color": "^8.1.1",
134
- "@types/ws": "^8.5.3",
135
- "@types/yargs": "^17.0.10",
136
- "@webcontainer/env": "^1.0.1",
137
- "body-parser": "^1.20.0",
138
- "clipboardy": "^3.0.0",
139
- "cmd-shim": "^4.1.0",
140
- "command-exists": "^1.2.9",
141
- "concurrently": "^7.2.2",
142
- "devtools-protocol": "^0.0.955664",
143
- "dotenv": "^16.0.0",
144
- "execa": "^6.1.0",
145
- "express": "^4.18.1",
146
- "finalhandler": "^1.2.0",
147
- "find-up": "^6.3.0",
148
- "get-port": "^6.1.2",
149
- "glob-to-regexp": "0.4.1",
150
- "http-terminator": "^3.2.0",
151
- "ignore": "^5.2.0",
152
- "ink": "^3.2.0",
153
- "ink-select-input": "^4.2.1",
154
- "ink-spinner": "^4.0.3",
155
- "ink-table": "^3.0.0",
156
- "ink-testing-library": "^2.1.0",
157
- "ink-text-input": "^4.0.3",
158
- "is-ci": "^3.0.1",
159
- "javascript-time-ago": "^2.5.4",
160
- "jest-fetch-mock": "^3.0.3",
161
- "jest-websocket-mock": "^2.3.0",
162
- "mime": "^3.0.0",
163
- "msw": "^0.47.1",
164
- "npx-import": "^1.1.3",
165
- "open": "^8.4.0",
166
- "p-queue": "^7.2.0",
167
- "pretty-bytes": "^6.0.0",
168
- "prompts": "^2.4.2",
169
- "react": "^17.0.2",
170
- "react-error-boundary": "^3.1.4",
171
- "remove-accents-esm": "^0.0.1",
172
- "semiver": "^1.1.0",
173
- "serve-static": "^1.15.0",
174
- "signal-exit": "^3.0.7",
175
- "supports-color": "^9.2.2",
176
- "timeago.js": "^4.0.2",
177
- "tmp-promise": "^3.0.3",
178
- "ts-dedent": "^2.2.0",
179
- "undici": "^5.11.0",
180
- "update-check": "^1.5.4",
181
- "ws": "^8.5.0",
182
- "xdg-app-paths": "^7.3.0",
183
- "yargs": "^17.4.1"
184
- },
185
- "optionalDependencies": {
186
- "fsevents": "~2.3.2"
187
- },
188
- "engines": {
189
- "node": ">=16.13.0"
190
- }
191
- }
2
+ "name": "wrangler",
3
+ "version": "0.0.0-ecdfabed0",
4
+ "description": "Command-line interface for all things Cloudflare Workers",
5
+ "keywords": [
6
+ "wrangler",
7
+ "cloudflare",
8
+ "workers",
9
+ "cloudflare workers",
10
+ "edge",
11
+ "compute",
12
+ "serverless",
13
+ "serverless application",
14
+ "serverless module",
15
+ "wasm",
16
+ "web",
17
+ "assembly",
18
+ "webassembly",
19
+ "rust",
20
+ "emscripten",
21
+ "typescript",
22
+ "graphql",
23
+ "router",
24
+ "http",
25
+ "cli"
26
+ ],
27
+ "homepage": "https://github.com/cloudflare/workers-sdk#readme",
28
+ "bugs": {
29
+ "url": "https://github.com/cloudflare/workers-sdk/issues"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/cloudflare/workers-sdk.git",
34
+ "directory": "packages/wrangler"
35
+ },
36
+ "license": "MIT OR Apache-2.0",
37
+ "author": "wrangler@cloudflare.com",
38
+ "main": "wrangler-dist/cli.js",
39
+ "types": "wrangler-dist/cli.d.ts",
40
+ "bin": {
41
+ "wrangler": "./bin/wrangler.js",
42
+ "wrangler2": "./bin/wrangler.js"
43
+ },
44
+ "files": [
45
+ "bin",
46
+ "miniflare-dist",
47
+ "wrangler-dist",
48
+ "templates",
49
+ "kv-asset-handler.js",
50
+ "config-schema.json"
51
+ ],
52
+ "dependencies": {
53
+ "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
54
+ "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
55
+ "blake3-wasm": "^2.1.5",
56
+ "chokidar": "^3.5.3",
57
+ "date-fns": "^3.6.0",
58
+ "esbuild": "0.17.19",
59
+ "nanoid": "^3.3.3",
60
+ "path-to-regexp": "^6.2.0",
61
+ "resolve": "^1.22.8",
62
+ "resolve.exports": "^2.0.2",
63
+ "selfsigned": "^2.0.1",
64
+ "source-map": "^0.6.1",
65
+ "unenv": "npm:unenv-nightly@2.0.0-1724863496.70db6f1",
66
+ "workerd": "1.20240821.1",
67
+ "xxhash-wasm": "^1.0.1",
68
+ "@cloudflare/kv-asset-handler": "0.3.4",
69
+ "miniflare": "0.0.0-ecdfabed0",
70
+ "@cloudflare/workers-shared": "0.0.0-ecdfabed0"
71
+ },
72
+ "devDependencies": {
73
+ "@cloudflare/types": "^6.18.4",
74
+ "@cloudflare/workers-types": "^4.20240821.1",
75
+ "@cspotcode/source-map-support": "0.8.1",
76
+ "@iarna/toml": "^3.0.0",
77
+ "@microsoft/api-extractor": "^7.47.0",
78
+ "@sentry/node": "^7.86.0",
79
+ "@sentry/types": "^7.86.0",
80
+ "@sentry/utils": "^7.86.0",
81
+ "@types/body-parser": "^1.19.2",
82
+ "@types/command-exists": "^1.2.0",
83
+ "@types/express": "^4.17.13",
84
+ "@types/glob-to-regexp": "^0.4.1",
85
+ "@types/is-ci": "^3.0.0",
86
+ "@types/javascript-time-ago": "^2.0.3",
87
+ "@types/mime": "^3.0.4",
88
+ "@types/minimatch": "^5.1.2",
89
+ "@types/prompts": "^2.0.14",
90
+ "@types/react": "^18.3.3",
91
+ "@types/resolve": "^1.20.6",
92
+ "@types/serve-static": "^1.13.10",
93
+ "@types/shell-quote": "^1.7.2",
94
+ "@types/signal-exit": "^3.0.1",
95
+ "@types/supports-color": "^8.1.1",
96
+ "@types/ws": "^8.5.7",
97
+ "@types/yargs": "^17.0.22",
98
+ "@vitest/ui": "^1.6.0",
99
+ "@webcontainer/env": "^1.1.0",
100
+ "body-parser": "^1.20.0",
101
+ "chalk": "^5.2.0",
102
+ "cli-table3": "^0.6.3",
103
+ "clipboardy": "^3.0.0",
104
+ "cmd-shim": "^4.1.0",
105
+ "command-exists": "^1.2.9",
106
+ "concurrently": "^8.2.2",
107
+ "devtools-protocol": "^0.0.1182435",
108
+ "dotenv": "^16.0.0",
109
+ "es-module-lexer": "^1.3.0",
110
+ "execa": "^6.1.0",
111
+ "express": "^4.18.1",
112
+ "find-up": "^6.3.0",
113
+ "get-port": "^7.0.0",
114
+ "glob-to-regexp": "^0.4.1",
115
+ "http-terminator": "^3.2.0",
116
+ "https-proxy-agent": "7.0.2",
117
+ "ignore": "^5.2.0",
118
+ "ink": "^3.2.0",
119
+ "ink-select-input": "^4.2.1",
120
+ "ink-spinner": "^4.0.3",
121
+ "ink-table": "^3.0.0",
122
+ "is-ci": "^3.0.1",
123
+ "javascript-time-ago": "^2.5.4",
124
+ "md5-file": "5.0.0",
125
+ "mime": "^3.0.0",
126
+ "minimatch": "^5.1.0",
127
+ "mock-socket": "^9.3.1",
128
+ "msw": "^2.3.0",
129
+ "open": "^8.4.0",
130
+ "p-queue": "^7.2.0",
131
+ "patch-console": "^1.0.0",
132
+ "pretty-bytes": "^6.0.0",
133
+ "prompts": "^2.4.2",
134
+ "ps-list": "^8.1.1",
135
+ "react": "^18.3.1",
136
+ "react-error-boundary": "^3.1.4",
137
+ "semiver": "^1.1.0",
138
+ "serve-static": "^1.15.0",
139
+ "shell-quote": "^1.8.1",
140
+ "shellac": "^0.8.0",
141
+ "signal-exit": "^3.0.7",
142
+ "strip-ansi": "^7.1.0",
143
+ "supports-color": "^9.2.2",
144
+ "timeago.js": "^4.0.2",
145
+ "ts-dedent": "^2.2.0",
146
+ "ts-json-schema-generator": "^1.5.0",
147
+ "undici": "^5.28.4",
148
+ "update-check": "^1.5.4",
149
+ "vitest": "^1.6.0",
150
+ "vitest-websocket-mock": "^0.3.0",
151
+ "ws": "^8.17.1",
152
+ "xdg-app-paths": "^8.3.0",
153
+ "yargs": "^17.7.2",
154
+ "yoga-layout": "file:../../vendor/yoga-layout-2.0.0-beta.1.tgz",
155
+ "@cloudflare/cli": "1.1.1",
156
+ "@cloudflare/eslint-config-worker": "1.1.0",
157
+ "@cloudflare/pages-shared": "^0.11.54",
158
+ "@cloudflare/workers-tsconfig": "0.0.0"
159
+ },
160
+ "peerDependencies": {
161
+ "@cloudflare/workers-types": "^4.20240821.1"
162
+ },
163
+ "peerDependenciesMeta": {
164
+ "@cloudflare/workers-types": {
165
+ "optional": true
166
+ }
167
+ },
168
+ "optionalDependencies": {
169
+ "fsevents": "~2.3.2"
170
+ },
171
+ "engines": {
172
+ "node": ">=16.17.0"
173
+ },
174
+ "volta": {
175
+ "extends": "../../package.json"
176
+ },
177
+ "workers-sdk": {
178
+ "prerelease": true
179
+ },
180
+ "scripts": {
181
+ "assert-git-version": "node -r esbuild-register scripts/assert-git-version.ts",
182
+ "build": "pnpm run clean && pnpm run bundle && pnpm run emit-types && pnpm run generate-json-schema",
183
+ "bundle": "node -r esbuild-register scripts/bundle.ts",
184
+ "check:lint": "eslint . --max-warnings=0",
185
+ "check:type": "tsc",
186
+ "clean": "rimraf wrangler-dist miniflare-dist emitted-types",
187
+ "dev": "pnpm run clean && concurrently -c black,blue --kill-others-on-fail false \"pnpm run bundle --watch\" \"pnpm run check:type --watch --preserveWatchOutput\"",
188
+ "emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
189
+ "generate-json-schema": "pnpm exec ts-json-schema-generator --no-type-check --path src/config/config.ts --type RawConfig --out config-schema.json",
190
+ "start": "pnpm run bundle && cross-env NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
191
+ "test": "pnpm run assert-git-version && vitest",
192
+ "test:ci": "pnpm run test run",
193
+ "test:debug": "pnpm run test --silent=false --verbose=true",
194
+ "test:e2e": "vitest -c ./e2e/vitest.config.mts",
195
+ "test:watch": "pnpm run test --testTimeout=50000 --watch",
196
+ "type:tests": "tsc -p ./src/__tests__/tsconfig.json && tsc -p ./e2e/tsconfig.json"
197
+ }
198
+ }
@@ -0,0 +1,128 @@
1
+ import { isRoutingRuleMatch } from "../pages-dev-util";
2
+
3
+ describe("isRoutingRuleMatch", () => {
4
+ it("should match rules referencing root level correctly", () => {
5
+ const routingRule = "/";
6
+
7
+ expect(isRoutingRuleMatch("/", routingRule)).toBeTruthy();
8
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeFalsy();
9
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeFalsy();
10
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeFalsy();
11
+ });
12
+
13
+ it("should match include-all rules correctly", () => {
14
+ const routingRule = "/*";
15
+
16
+ expect(isRoutingRuleMatch("/", routingRule)).toBeTruthy();
17
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeTruthy();
18
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeTruthy();
19
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
20
+ expect(isRoutingRuleMatch("/foo/bar/", routingRule)).toBeTruthy();
21
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeTruthy();
22
+ expect(isRoutingRuleMatch("/foo/bar/baz/", routingRule)).toBeTruthy();
23
+ });
24
+
25
+ it("should match `/*` suffix-ed rules correctly", () => {
26
+ let routingRule = "/foo/*";
27
+
28
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeTruthy();
29
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeTruthy();
30
+ expect(isRoutingRuleMatch("/foobar", routingRule)).toBeFalsy();
31
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
32
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeTruthy();
33
+ expect(isRoutingRuleMatch("/bar/foo", routingRule)).toBeFalsy();
34
+ expect(isRoutingRuleMatch("/bar/foo/baz", routingRule)).toBeFalsy();
35
+
36
+ routingRule = "/foo/bar/*";
37
+
38
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeFalsy();
39
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeFalsy();
40
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
41
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeTruthy();
42
+ expect(isRoutingRuleMatch("/foo/barfoo", routingRule)).toBeFalsy();
43
+ expect(isRoutingRuleMatch("baz/foo/bar", routingRule)).toBeFalsy();
44
+ expect(isRoutingRuleMatch("baz/foo/bar/", routingRule)).toBeFalsy();
45
+ });
46
+
47
+ it("should match `/` suffix-ed rules correctly", () => {
48
+ let routingRule = "/foo/";
49
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeTruthy();
50
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeTruthy();
51
+
52
+ routingRule = "/foo/bar/";
53
+ expect(isRoutingRuleMatch("/foo/bar/", routingRule)).toBeTruthy();
54
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
55
+ });
56
+
57
+ it("should match `*` suffix-ed rules correctly", () => {
58
+ let routingRule = "/foo*";
59
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeTruthy();
60
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeTruthy();
61
+ expect(isRoutingRuleMatch("/foobar", routingRule)).toBeTruthy();
62
+ expect(isRoutingRuleMatch("/barfoo", routingRule)).toBeFalsy();
63
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
64
+ expect(isRoutingRuleMatch("/bar/foo", routingRule)).toBeFalsy();
65
+ expect(isRoutingRuleMatch("/bar/foobar", routingRule)).toBeFalsy();
66
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeTruthy();
67
+ expect(isRoutingRuleMatch("/bar/foo/baz", routingRule)).toBeFalsy();
68
+
69
+ routingRule = "/foo/bar*";
70
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
71
+ expect(isRoutingRuleMatch("/foo/bar/", routingRule)).toBeTruthy();
72
+ expect(isRoutingRuleMatch("/foo/barfoo", routingRule)).toBeTruthy();
73
+ expect(isRoutingRuleMatch("/bar/foo/barfoo", routingRule)).toBeFalsy();
74
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeTruthy();
75
+ expect(isRoutingRuleMatch("/bar/foo/bar/baz", routingRule)).toBeFalsy();
76
+ });
77
+
78
+ it("should match rules without wildcards correctly", () => {
79
+ let routingRule = "/foo";
80
+
81
+ expect(isRoutingRuleMatch("/foo", routingRule)).toBeTruthy();
82
+ expect(isRoutingRuleMatch("/foo/", routingRule)).toBeTruthy();
83
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeFalsy();
84
+ expect(isRoutingRuleMatch("/bar/foo", routingRule)).toBeFalsy();
85
+
86
+ routingRule = "/foo/bar";
87
+ expect(isRoutingRuleMatch("/foo/bar", routingRule)).toBeTruthy();
88
+ expect(isRoutingRuleMatch("/foo/bar/", routingRule)).toBeTruthy();
89
+ expect(isRoutingRuleMatch("/foo/bar/baz", routingRule)).toBeFalsy();
90
+ expect(isRoutingRuleMatch("/baz/foo/bar", routingRule)).toBeFalsy();
91
+ });
92
+
93
+ it("should throw an error if pathname or routing rule params are missing", () => {
94
+ // MISSING PATHNAME
95
+ expect(() =>
96
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
97
+ // @ts-ignore: sanity check
98
+ isRoutingRuleMatch(undefined, "/*")
99
+ ).toThrow("Pathname is undefined.");
100
+
101
+ expect(() =>
102
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
103
+ // @ts-ignore: sanity check
104
+ isRoutingRuleMatch(null, "/*")
105
+ ).toThrow("Pathname is undefined.");
106
+
107
+ expect(() => isRoutingRuleMatch("", "/*")).toThrow(
108
+ "Pathname is undefined."
109
+ );
110
+
111
+ // MISSING ROUTING RULE
112
+ expect(() =>
113
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
114
+ // @ts-ignore: sanity check
115
+ isRoutingRuleMatch("/foo", undefined)
116
+ ).toThrow("Routing rule is undefined.");
117
+
118
+ expect(() =>
119
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
120
+ // @ts-ignore: sanity check
121
+ isRoutingRuleMatch("/foo", null)
122
+ ).toThrow("Routing rule is undefined.");
123
+
124
+ expect(() => isRoutingRuleMatch("/foo", "")).toThrow(
125
+ "Routing rule is undefined."
126
+ );
127
+ });
128
+ });
@@ -0,0 +1,12 @@
1
+ // `@types/node` should be included
2
+ Buffer.from("test");
3
+
4
+ // `@types/jest` should be included
5
+ test("test");
6
+
7
+ // @ts-expect-error `@cloudflare/workers-types` should NOT be included
8
+ const _handler: ExportedHandler = {};
9
+ // @ts-expect-error `@cloudflare/workers-types` should NOT be included
10
+ new HTMLRewriter();
11
+
12
+ export {};
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "@cloudflare/workers-tsconfig/tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["node", "jest"]
5
+ },
6
+ "include": ["**/*.ts"],
7
+ "exclude": []
8
+ }
@@ -1,17 +1,30 @@
1
1
  const urls = new Set();
2
2
 
3
- export function checkedFetch(request, init) {
4
- const url = new URL(
5
- (typeof request === "string" ? new Request(request, init) : request).url
6
- );
3
+ function checkURL(request, init) {
4
+ const url =
5
+ request instanceof URL
6
+ ? request
7
+ : new URL(
8
+ (typeof request === "string"
9
+ ? new Request(request, init)
10
+ : request
11
+ ).url
12
+ );
7
13
  if (url.port && url.port !== "443" && url.protocol === "https:") {
8
14
  if (!urls.has(url.toString())) {
9
15
  urls.add(url.toString());
10
16
  console.warn(
11
17
  `WARNING: known issue with \`fetch()\` requests to custom HTTPS ports in published Workers:\n` +
12
- ` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler publish\` command.\n`
18
+ ` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler deploy\` command.\n`
13
19
  );
14
20
  }
15
21
  }
16
- return globalThis.fetch(request, init);
17
22
  }
23
+
24
+ globalThis.fetch = new Proxy(globalThis.fetch, {
25
+ apply(target, thisArg, argArray) {
26
+ const [request, init] = argArray;
27
+ checkURL(request, init);
28
+ return Reflect.apply(target, thisArg, argArray);
29
+ },
30
+ });
@@ -0,0 +1,19 @@
1
+ declare module "__ENTRY_POINT__" {
2
+ import { Middleware } from "./middleware/common";
3
+ import { WorkerEntrypoint } from "cloudflare:workers";
4
+
5
+ export type WorkerEntrypointConstructor = typeof WorkerEntrypoint;
6
+
7
+ const worker: ExportedHandler | WorkerEntrypointConstructor;
8
+ export default worker;
9
+ export const __INTERNAL_WRANGLER_MIDDLEWARE__: Middleware[];
10
+ }
11
+
12
+ declare module "__KV_ASSET_HANDLER__" {
13
+ export * from "@cloudflare/kv-asset-handler";
14
+ }
15
+
16
+ declare module "__STATIC_CONTENT_MANIFEST" {
17
+ const manifest: string;
18
+ export default manifest;
19
+ }
@@ -166,6 +166,5 @@ dist
166
166
  .yarn/install-state.gz
167
167
  .pnp.\*
168
168
 
169
- # wrangler project
170
-
171
- .dev.vars
169
+ .wrangler
170
+ .DS_Store
@@ -4,11 +4,9 @@ describe("Worker", () => {
4
4
  let worker;
5
5
 
6
6
  beforeAll(async () => {
7
- worker = await unstable_dev(
8
- "src/index.js",
9
- {},
10
- { disableExperimentalWarning: true }
11
- );
7
+ worker = await unstable_dev("src/index.js", {
8
+ experimental: { disableExperimentalWarning: true },
9
+ });
12
10
  });
13
11
 
14
12
  afterAll(async () => {