wrangler 0.0.0-e928f94 → 0.0.0-e9307365

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 (214) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +51 -14
  3. package/bin/wrangler.js +159 -27
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +5416 -0
  6. package/package.json +172 -113
  7. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  8. package/src/__tests__/config-cache.test.ts +42 -0
  9. package/src/__tests__/configuration.test.ts +4022 -0
  10. package/src/__tests__/dev.test.tsx +1294 -0
  11. package/src/__tests__/generate.test.ts +93 -0
  12. package/src/__tests__/guess-worker-format.test.ts +85 -0
  13. package/src/__tests__/{clipboardy-mock.js → helpers/clipboardy-mock.js} +0 -0
  14. package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
  15. package/src/__tests__/helpers/mock-account-id.ts +48 -0
  16. package/src/__tests__/helpers/mock-bin.ts +36 -0
  17. package/src/__tests__/helpers/mock-cfetch.ts +263 -0
  18. package/src/__tests__/helpers/mock-console.ts +97 -0
  19. package/src/__tests__/helpers/mock-dialogs.ts +153 -0
  20. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  21. package/src/__tests__/helpers/mock-istty.ts +74 -0
  22. package/src/__tests__/helpers/mock-kv.ts +33 -0
  23. package/src/__tests__/helpers/mock-oauth-flow.ts +250 -0
  24. package/src/__tests__/helpers/mock-process.ts +39 -0
  25. package/src/__tests__/helpers/mock-stdin.ts +108 -0
  26. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  27. package/src/__tests__/helpers/run-in-tmp.ts +38 -0
  28. package/src/__tests__/helpers/run-wrangler.ts +16 -0
  29. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  30. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  31. package/src/__tests__/https-options.test.ts +163 -0
  32. package/src/__tests__/index.test.ts +242 -150
  33. package/src/__tests__/init.test.ts +1992 -0
  34. package/src/__tests__/jest.setup.ts +150 -0
  35. package/src/__tests__/kv.test.ts +1671 -0
  36. package/src/__tests__/logger.test.ts +141 -0
  37. package/src/__tests__/metrics.test.ts +450 -0
  38. package/src/__tests__/package-manager.test.ts +353 -0
  39. package/src/__tests__/pages.test.ts +1261 -0
  40. package/src/__tests__/parse.test.ts +330 -0
  41. package/src/__tests__/publish.test.ts +6914 -0
  42. package/src/__tests__/pubsub.test.ts +367 -0
  43. package/src/__tests__/r2.test.ts +317 -0
  44. package/src/__tests__/route.test.ts +45 -0
  45. package/src/__tests__/secret.test.ts +492 -0
  46. package/src/__tests__/tail.test.ts +698 -0
  47. package/src/__tests__/test-old-node-version.js +31 -0
  48. package/src/__tests__/user.test.ts +144 -0
  49. package/src/__tests__/validate-dev-props.test.ts +56 -0
  50. package/src/__tests__/version.test.ts +35 -0
  51. package/src/__tests__/whoami.test.tsx +289 -0
  52. package/src/__tests__/worker-namespace.test.ts +327 -0
  53. package/src/abort.d.ts +3 -0
  54. package/src/api/dev.ts +86 -0
  55. package/src/api/index.ts +1 -0
  56. package/src/bundle-reporter.tsx +29 -0
  57. package/src/bundle.ts +472 -0
  58. package/src/cfetch/index.ts +121 -0
  59. package/src/cfetch/internal.ts +181 -0
  60. package/src/cli.ts +25 -8
  61. package/src/config/README.md +107 -0
  62. package/src/config/config.ts +263 -0
  63. package/src/config/diagnostics.ts +80 -0
  64. package/src/config/environment.ts +485 -0
  65. package/src/config/index.ts +251 -0
  66. package/src/config/validation-helpers.ts +584 -0
  67. package/src/config/validation.ts +1856 -0
  68. package/src/config-cache.ts +84 -0
  69. package/src/create-worker-preview.ts +257 -0
  70. package/src/create-worker-upload-form.ts +288 -0
  71. package/src/dev/dev-vars.ts +36 -0
  72. package/src/dev/dev.tsx +531 -0
  73. package/src/dev/local.tsx +385 -0
  74. package/src/dev/remote.tsx +413 -0
  75. package/src/dev/use-esbuild.ts +175 -0
  76. package/src/dev/validate-dev-props.ts +31 -0
  77. package/src/dev-registry.tsx +157 -0
  78. package/src/dev.tsx +604 -712
  79. package/src/dialogs.tsx +115 -65
  80. package/src/durable.ts +102 -0
  81. package/src/entry.ts +328 -0
  82. package/src/environment-variables.ts +35 -0
  83. package/src/errors.ts +11 -0
  84. package/src/faye-websocket.d.ts +6 -0
  85. package/src/generate.ts +131 -0
  86. package/src/git-client.ts +42 -0
  87. package/src/global-wrangler-config-path.ts +26 -0
  88. package/src/https-options.ts +127 -0
  89. package/src/index.tsx +2167 -1841
  90. package/src/init.ts +549 -0
  91. package/src/inspect.ts +750 -0
  92. package/src/intl-polyfill.d.ts +139 -0
  93. package/src/is-interactive.ts +12 -0
  94. package/src/kv.ts +430 -0
  95. package/src/logger.ts +73 -0
  96. package/src/metrics/index.ts +5 -0
  97. package/src/metrics/is-ci.ts +14 -0
  98. package/src/metrics/metrics-config.ts +239 -0
  99. package/src/metrics/metrics-dispatcher.ts +96 -0
  100. package/src/metrics/metrics-usage-headers.ts +24 -0
  101. package/src/metrics/send-event.ts +92 -0
  102. package/src/miniflare-cli/README.md +30 -0
  103. package/src/miniflare-cli/assets.ts +543 -0
  104. package/src/miniflare-cli/enum-keys.ts +17 -0
  105. package/src/miniflare-cli/index.ts +85 -0
  106. package/src/miniflare-cli/request-context.ts +40 -0
  107. package/src/module-collection.ts +247 -53
  108. package/src/open-in-browser.ts +17 -0
  109. package/src/package-manager.ts +219 -0
  110. package/src/pages/build.tsx +204 -0
  111. package/src/pages/constants.ts +8 -0
  112. package/src/pages/deployments.tsx +106 -0
  113. package/src/pages/dev.tsx +414 -0
  114. package/src/pages/functions/buildPlugin.ts +105 -0
  115. package/src/pages/functions/buildWorker.ts +151 -0
  116. package/src/pages/functions/filepath-routing.test.ts +234 -0
  117. package/src/pages/functions/filepath-routing.ts +189 -0
  118. package/src/pages/functions/identifiers.ts +78 -0
  119. package/src/pages/functions/routes.ts +151 -0
  120. package/src/pages/index.tsx +84 -0
  121. package/src/pages/projects.tsx +163 -0
  122. package/src/pages/publish.tsx +338 -0
  123. package/src/pages/types.ts +40 -0
  124. package/src/pages/upload.tsx +415 -0
  125. package/src/pages/utils.ts +12 -0
  126. package/src/parse.ts +286 -0
  127. package/src/paths.ts +26 -0
  128. package/src/preview.ts +31 -0
  129. package/src/proxy.ts +476 -0
  130. package/src/publish.ts +796 -335
  131. package/src/pubsub/index.ts +286 -0
  132. package/src/pubsub/pubsub-commands.tsx +623 -0
  133. package/src/r2.ts +118 -0
  134. package/src/selfsigned.d.ts +29 -0
  135. package/src/sites.tsx +357 -100
  136. package/src/tail/filters.ts +279 -0
  137. package/src/tail/index.ts +299 -0
  138. package/src/tail/printing.ts +67 -0
  139. package/src/update-check.ts +19 -0
  140. package/src/user/choose-account.tsx +69 -0
  141. package/src/user/env-vars.ts +46 -0
  142. package/src/user/generate-auth-url.ts +33 -0
  143. package/src/user/generate-random-state.ts +16 -0
  144. package/src/user/index.ts +3 -0
  145. package/src/user/user.tsx +1189 -0
  146. package/src/whoami.tsx +169 -0
  147. package/src/worker-namespace.ts +206 -0
  148. package/src/worker.ts +203 -0
  149. package/src/zones.ts +76 -0
  150. package/templates/checked-fetch.js +17 -0
  151. package/templates/first-party-worker-module-facade.ts +18 -0
  152. package/templates/format-dev-errors.ts +32 -0
  153. package/templates/gitignore +171 -0
  154. package/templates/new-worker-scheduled.js +17 -0
  155. package/templates/new-worker-scheduled.ts +32 -0
  156. package/templates/new-worker.js +15 -0
  157. package/templates/new-worker.ts +30 -0
  158. package/templates/no-op-worker.js +10 -0
  159. package/templates/pages-shim.ts +9 -0
  160. package/templates/pages-template-plugin.ts +155 -0
  161. package/templates/pages-template-worker.ts +161 -0
  162. package/templates/serve-static-assets.ts +63 -0
  163. package/templates/service-bindings-module-facade.js +51 -0
  164. package/templates/service-bindings-sw-facade.js +39 -0
  165. package/templates/tsconfig.json +105 -0
  166. package/wrangler-dist/cli.d.ts +327 -0
  167. package/wrangler-dist/cli.js +126729 -101995
  168. package/src/__tests__/fixtures/init/.gitkeep +0 -0
  169. package/src/__tests__/mock-cfetch.js +0 -46
  170. package/src/api/form_data.ts +0 -141
  171. package/src/api/inspect.ts +0 -441
  172. package/src/api/preview.ts +0 -128
  173. package/src/api/worker.ts +0 -161
  174. package/src/cfetch.ts +0 -72
  175. package/src/config.ts +0 -122
  176. package/src/kv.tsx +0 -211
  177. package/src/pages.tsx +0 -843
  178. package/src/tail.tsx +0 -71
  179. package/src/user.tsx +0 -1029
  180. package/static-asset-facade.js +0 -47
  181. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  182. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  183. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  184. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  185. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  186. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  187. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  188. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  189. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  190. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  191. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  192. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  193. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  194. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  195. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  196. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  197. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  198. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  199. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  200. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  201. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  202. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  203. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  204. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  205. package/vendor/wrangler-mime/LICENSE +0 -21
  206. package/vendor/wrangler-mime/Mime.js +0 -97
  207. package/vendor/wrangler-mime/README.md +0 -187
  208. package/vendor/wrangler-mime/cli.js +0 -46
  209. package/vendor/wrangler-mime/index.js +0 -4
  210. package/vendor/wrangler-mime/lite.js +0 -4
  211. package/vendor/wrangler-mime/package.json +0 -52
  212. package/vendor/wrangler-mime/types/other.js +0 -1
  213. package/vendor/wrangler-mime/types/standard.js +0 -1
  214. package/wrangler-dist/cli.js.map +0 -7
package/package.json CHANGED
@@ -1,114 +1,173 @@
1
1
  {
2
- "name": "wrangler",
3
- "version": "0.0.0-e928f94",
4
- "author": "wrangler@cloudflare.com",
5
- "description": "Command-line interface for all things Cloudflare Workers",
6
- "bin": {
7
- "wrangler": "./bin/wrangler.js",
8
- "wrangler2": "./bin/wrangler.js"
9
- },
10
- "license": "MIT OR Apache-2.0",
11
- "bugs": {
12
- "url": "https://github.com/cloudflare/wrangler/issues"
13
- },
14
- "homepage": "https://github.com/cloudflare/wrangler#readme",
15
- "keywords": [
16
- "wrangler",
17
- "cloudflare",
18
- "workers",
19
- "cloudflare workers",
20
- "edge",
21
- "compute",
22
- "serverless",
23
- "serverless application",
24
- "serverless module",
25
- "wasm",
26
- "web",
27
- "assembly",
28
- "webassembly",
29
- "rust",
30
- "emscripten",
31
- "rust",
32
- "typescript",
33
- "graphql",
34
- "router",
35
- "http",
36
- "cli"
37
- ],
38
- "dependencies": {
39
- "@cloudflare/pages-functions-compiler": "0.3.8",
40
- "esbuild": "0.14.1",
41
- "miniflare": "2.0.0-rc.3",
42
- "semiver": "^1.1.0"
43
- },
44
- "optionalDependencies": {
45
- "fsevents": "~2.3.2"
46
- },
47
- "devDependencies": {
48
- "@iarna/toml": "^2.2.5",
49
- "@types/cloudflare": "^2.7.6",
50
- "@types/express": "^4.17.13",
51
- "@types/react": "^17.0.37",
52
- "@types/signal-exit": "^3.0.1",
53
- "@types/ws": "^8.2.1",
54
- "@types/yargs": "^17.0.7",
55
- "chokidar": "^3.5.2",
56
- "clipboardy": "^3.0.0",
57
- "command-exists": "^1.2.9",
58
- "execa": "^6.0.0",
59
- "finalhandler": "^1.1.2",
60
- "find-up": "^6.2.0",
61
- "formdata-node": "^4.3.1",
62
- "http-proxy": "^1.18.1",
63
- "ink": "^3.2.0",
64
- "ink-select-input": "^4.2.1",
65
- "ink-table": "^3.0.0",
66
- "ink-text-input": "^4.0.2",
67
- "node-fetch": "^3.1.0",
68
- "open": "^8.4.0",
69
- "path-to-regexp": "^6.2.0",
70
- "react": "^17.0.2",
71
- "serve-static": "^1.14.1",
72
- "signal-exit": "^3.0.6",
73
- "tmp-promise": "^3.0.3",
74
- "undici": "^4.11.1",
75
- "ws": "^8.3.0",
76
- "yargs": "^17.3.0"
77
- },
78
- "files": [
79
- "src",
80
- "bin",
81
- "miniflare-config-stubs",
82
- "wrangler-dist",
83
- "static-asset-facade.js",
84
- "vendor",
85
- "import_meta_url.js"
86
- ],
87
- "scripts": {
88
- "clean": "rm -rf wrangler-dist",
89
- "bundle": "node -r esbuild-register scripts/bundle.ts",
90
- "build": "npm run clean && npm run bundle",
91
- "start": "npm run bundle && NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
92
- "test": "CF_API_TOKEN=some-api-token CF_ACCOUNT_ID=some-account-id jest --silent=false --verbose=true"
93
- },
94
- "engines": {
95
- "node": ">=16.7.0"
96
- },
97
- "jest": {
98
- "testRegex": ".*.(test|spec)\\.[jt]sx?$",
99
- "transformIgnorePatterns": [
100
- "node_modules/(?!node-fetch|fetch-blob|find-up|locate-path|p-locate|p-limit|yocto-queue|path-exists|data-uri-to-buffer|formdata-polyfill|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream)"
101
- ],
102
- "moduleNameMapper": {
103
- "clipboardy": "<rootDir>/src/__tests__/clipboardy-mock.js"
104
- },
105
- "transform": {
106
- "^.+\\.c?(t|j)sx?$": [
107
- "esbuild-jest",
108
- {
109
- "sourcemap": true
110
- }
111
- ]
112
- }
113
- }
114
- }
2
+ "name": "wrangler",
3
+ "version": "0.0.0-e9307365",
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
+ "license": "MIT OR Apache-2.0",
32
+ "author": "wrangler@cloudflare.com",
33
+ "main": "wrangler-dist/cli.js",
34
+ "types": "wrangler-dist/cli.d.ts",
35
+ "bin": {
36
+ "wrangler": "./bin/wrangler.js",
37
+ "wrangler2": "./bin/wrangler.js"
38
+ },
39
+ "files": [
40
+ "src",
41
+ "bin",
42
+ "miniflare-config-stubs",
43
+ "miniflare-dist",
44
+ "wrangler-dist",
45
+ "templates",
46
+ "vendor",
47
+ "import_meta_url.js",
48
+ "kv-asset-handler.js",
49
+ "Cloudflare_CA.pem"
50
+ ],
51
+ "scripts": {
52
+ "build": "npm run clean && npm run bundle && npm run emit-types",
53
+ "bundle": "node -r esbuild-register scripts/bundle.ts",
54
+ "check:type": "tsc",
55
+ "clean": "rm -rf wrangler-dist miniflare-dist emitted-types",
56
+ "dev": "npm run clean && concurrently -c black,blue --kill-others-on-fail false 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
57
+ "emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
58
+ "prepublishOnly": "SOURCEMAPS=false npm run build",
59
+ "start": "npm run bundle && NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
60
+ "test": "jest --silent=false --verbose=true",
61
+ "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
62
+ "test:ci": "npm run test -- --verbose=true --coverage"
63
+ },
64
+ "jest": {
65
+ "coverageReporters": [
66
+ "json",
67
+ "html",
68
+ "text",
69
+ "cobertura"
70
+ ],
71
+ "moduleNameMapper": {
72
+ "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
73
+ "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
74
+ },
75
+ "restoreMocks": true,
76
+ "setupFilesAfterEnv": [
77
+ "<rootDir>/src/__tests__/jest.setup.ts"
78
+ ],
79
+ "testRegex": ".*.(test|spec)\\.[jt]sx?$",
80
+ "testTimeout": 30000,
81
+ "transform": {
82
+ "^.+\\.c?(t|j)sx?$": [
83
+ "esbuild-jest",
84
+ {
85
+ "sourcemap": true
86
+ }
87
+ ]
88
+ },
89
+ "transformIgnorePatterns": [
90
+ "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)"
91
+ ]
92
+ },
93
+ "dependencies": {
94
+ "@cloudflare/kv-asset-handler": "^0.2.0",
95
+ "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
96
+ "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
97
+ "blake3-wasm": "^2.1.5",
98
+ "chokidar": "^3.5.3",
99
+ "esbuild": "0.14.51",
100
+ "miniflare": "^2.6.0",
101
+ "nanoid": "^3.3.3",
102
+ "path-to-regexp": "^6.2.0",
103
+ "selfsigned": "^2.0.1",
104
+ "source-map": "^0.7.4",
105
+ "xxhash-wasm": "^1.0.1"
106
+ },
107
+ "devDependencies": {
108
+ "@iarna/toml": "^3.0.0",
109
+ "@microsoft/api-extractor": "^7.28.3",
110
+ "@types/command-exists": "^1.2.0",
111
+ "@types/express": "^4.17.13",
112
+ "@types/glob-to-regexp": "0.4.1",
113
+ "@types/mime": "^2.0.3",
114
+ "@types/prompts": "^2.0.14",
115
+ "@types/react": "^17.0.37",
116
+ "@types/serve-static": "^1.13.10",
117
+ "@types/signal-exit": "^3.0.1",
118
+ "@types/supports-color": "^8.1.1",
119
+ "@types/ws": "^8.5.3",
120
+ "@types/yargs": "^17.0.10",
121
+ "@webcontainer/env": "^1.0.1",
122
+ "body-parser": "^1.20.0",
123
+ "clipboardy": "^3.0.0",
124
+ "cmd-shim": "^4.1.0",
125
+ "command-exists": "^1.2.9",
126
+ "concurrently": "^7.2.2",
127
+ "create-cloudflare": "^1.0.0",
128
+ "devtools-protocol": "^0.0.955664",
129
+ "dotenv": "^16.0.0",
130
+ "execa": "^6.1.0",
131
+ "express": "^4.18.1",
132
+ "faye-websocket": "^0.11.4",
133
+ "finalhandler": "^1.2.0",
134
+ "find-up": "^6.3.0",
135
+ "get-port": "^6.1.2",
136
+ "glob-to-regexp": "0.4.1",
137
+ "http-terminator": "^3.2.0",
138
+ "ignore": "^5.2.0",
139
+ "ink": "^3.2.0",
140
+ "ink-select-input": "^4.2.1",
141
+ "ink-spinner": "^4.0.3",
142
+ "ink-table": "^3.0.0",
143
+ "ink-testing-library": "^2.1.0",
144
+ "ink-text-input": "^4.0.3",
145
+ "is-ci": "^3.0.1",
146
+ "jest-fetch-mock": "^3.0.3",
147
+ "jest-websocket-mock": "^2.3.0",
148
+ "mime": "^3.0.0",
149
+ "open": "^8.4.0",
150
+ "p-queue": "^7.2.0",
151
+ "pretty-bytes": "^6.0.0",
152
+ "prompts": "^2.4.2",
153
+ "react": "^17.0.2",
154
+ "react-error-boundary": "^3.1.4",
155
+ "serve-static": "^1.15.0",
156
+ "signal-exit": "^3.0.7",
157
+ "supports-color": "^9.2.2",
158
+ "timeago.js": "^4.0.2",
159
+ "tmp-promise": "^3.0.3",
160
+ "ts-dedent": "^2.2.0",
161
+ "undici": "^5.5.1",
162
+ "update-check": "^1.5.4",
163
+ "ws": "^8.5.0",
164
+ "xdg-app-paths": "^7.3.0",
165
+ "yargs": "^17.4.1"
166
+ },
167
+ "optionalDependencies": {
168
+ "fsevents": "~2.3.2"
169
+ },
170
+ "engines": {
171
+ "node": ">=16.7.0"
172
+ }
173
+ }
@@ -0,0 +1,38 @@
1
+ import { getConfigCache, saveToConfigCache } from "../config-cache";
2
+ import { mockConsoleMethods } from "./helpers/mock-console";
3
+ import { runInTempDir } from "./helpers/run-in-tmp";
4
+
5
+ interface PagesConfigCache {
6
+ account_id: string;
7
+ pages_project_name: string;
8
+ }
9
+
10
+ describe("config cache", () => {
11
+ runInTempDir();
12
+ mockConsoleMethods();
13
+ // In this set of tests, we don't create a node_modules folder
14
+ const pagesConfigCacheFilename = "pages-config-cache.json";
15
+
16
+ it("should return an empty config if no file exists", () => {
17
+ expect(
18
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
19
+ ).toMatchInlineSnapshot(`Object {}`);
20
+ });
21
+
22
+ it("should ignore attempts to cache values ", () => {
23
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
24
+ account_id: "some-account-id",
25
+ pages_project_name: "foo",
26
+ });
27
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
28
+ {}
29
+ );
30
+
31
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
32
+ pages_project_name: "bar",
33
+ });
34
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
35
+ {}
36
+ );
37
+ });
38
+ });
@@ -0,0 +1,42 @@
1
+ import { mkdirSync } from "node:fs";
2
+ import { getConfigCache, saveToConfigCache } from "../config-cache";
3
+ import { mockConsoleMethods } from "./helpers/mock-console";
4
+ import { runInTempDir } from "./helpers/run-in-tmp";
5
+
6
+ interface PagesConfigCache {
7
+ account_id: string;
8
+ pages_project_name: string;
9
+ }
10
+
11
+ describe("config cache", () => {
12
+ runInTempDir();
13
+ mockConsoleMethods();
14
+ beforeEach(() => {
15
+ mkdirSync("node_modules");
16
+ });
17
+
18
+ const pagesConfigCacheFilename = "pages-config-cache.json";
19
+
20
+ it("should return an empty config if no file exists", () => {
21
+ expect(
22
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
23
+ ).toMatchInlineSnapshot(`Object {}`);
24
+ });
25
+
26
+ it("should read and write values without overriding old ones", () => {
27
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
28
+ account_id: "some-account-id",
29
+ pages_project_name: "foo",
30
+ });
31
+ expect(
32
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
33
+ ).toEqual("some-account-id");
34
+
35
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
36
+ pages_project_name: "bar",
37
+ });
38
+ expect(
39
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
40
+ ).toEqual("some-account-id");
41
+ });
42
+ });