wrangler 0.0.0-e7a0cd5b → 0.0.0-e87ad068
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 +3 -3
- package/bin/wrangler.js +30 -10
- package/miniflare-dist/index.mjs +254 -128
- package/package.json +27 -19
- package/src/__tests__/api-dev.test.ts +65 -36
- package/src/__tests__/api-devregistry.test.ts +121 -0
- package/src/__tests__/api.test.ts +27 -5
- package/src/__tests__/configuration.test.ts +797 -98
- package/src/__tests__/constellation.test.ts +371 -0
- package/src/__tests__/d1/d1.test.ts +82 -0
- package/src/__tests__/d1/execute.test.ts +66 -0
- package/src/__tests__/d1/migrate.test.ts +257 -0
- package/src/__tests__/d1/splitter.test.ts +255 -0
- package/src/__tests__/delete.test.ts +91 -49
- package/src/__tests__/deployments.test.ts +330 -56
- package/src/__tests__/dev.test.tsx +198 -90
- package/src/__tests__/generate.test.ts +12 -10
- package/src/__tests__/guess-worker-format.test.ts +35 -0
- package/src/__tests__/helpers/end-event-loop.ts +6 -0
- package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
- package/src/__tests__/helpers/mock-console.ts +6 -0
- package/src/__tests__/helpers/mock-dialogs.ts +71 -85
- package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
- package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -5
- package/src/__tests__/helpers/mock-known-routes.ts +7 -2
- package/src/__tests__/helpers/mock-kv.ts +29 -16
- package/src/__tests__/helpers/mock-oauth-flow.ts +103 -92
- package/src/__tests__/helpers/mock-process.ts +8 -13
- package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
- package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
- package/src/__tests__/helpers/msw/handlers/deployments.ts +128 -27
- package/src/__tests__/helpers/msw/handlers/namespaces.ts +18 -41
- package/src/__tests__/helpers/msw/handlers/oauth.ts +13 -18
- package/src/__tests__/helpers/msw/handlers/r2.ts +14 -34
- package/src/__tests__/helpers/msw/handlers/script.ts +9 -28
- package/src/__tests__/helpers/msw/handlers/user.ts +13 -24
- package/src/__tests__/helpers/msw/handlers/zones.ts +6 -8
- package/src/__tests__/helpers/msw/index.ts +32 -1
- package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
- package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
- package/src/__tests__/helpers/worker-scripts/parent-worker.js +4 -1
- package/src/__tests__/index.test.ts +92 -72
- package/src/__tests__/init.test.ts +1033 -631
- package/src/__tests__/jest.setup.ts +19 -42
- package/src/__tests__/kv.test.ts +355 -231
- package/src/__tests__/logger.test.ts +68 -2
- package/src/__tests__/logout.test.ts +47 -0
- package/src/__tests__/metrics.test.ts +94 -51
- package/src/__tests__/middleware.scheduled.test.ts +42 -32
- package/src/__tests__/middleware.test.ts +212 -122
- package/src/__tests__/mtls-certificates.test.ts +589 -0
- package/src/__tests__/pages/deployment-list.test.ts +80 -0
- package/src/__tests__/pages/functions-build.test.ts +529 -0
- package/src/__tests__/pages/pages.test.ts +81 -0
- package/src/__tests__/pages/project-create.test.ts +63 -0
- package/src/__tests__/pages/project-list.test.ts +110 -0
- package/src/__tests__/pages/project-upload.test.ts +500 -0
- package/src/__tests__/pages/publish.test.ts +2864 -0
- package/src/__tests__/pages-deployment-tail.test.ts +957 -0
- package/src/__tests__/parse.test.ts +106 -0
- package/src/__tests__/publish.test.ts +2227 -1005
- package/src/__tests__/pubsub.test.ts +226 -100
- package/src/__tests__/queues.test.ts +238 -77
- package/src/__tests__/r2.test.ts +55 -57
- package/src/__tests__/secret.test.ts +179 -130
- package/src/__tests__/tail.test.ts +313 -113
- package/src/__tests__/test-old-node-version.js +3 -3
- package/src/__tests__/traverse-module-graph.test.ts +220 -0
- package/src/__tests__/tsconfig-sanity.ts +12 -0
- package/src/__tests__/tsconfig.json +8 -0
- package/src/__tests__/tsconfig.tsbuildinfo +1 -0
- package/src/__tests__/type-generation.test.ts +43 -26
- package/src/__tests__/unstableDev.test.ts +61 -0
- package/src/__tests__/user.test.ts +35 -72
- package/src/__tests__/whoami.test.tsx +8 -114
- package/src/__tests__/worker-namespace.test.ts +83 -69
- package/src/api/dev.ts +180 -60
- package/src/api/index.ts +10 -1
- package/src/api/mtls-certificate.ts +148 -0
- package/src/api/pages/create-worker-bundle-contents.ts +80 -0
- package/src/api/pages/index.ts +5 -0
- package/src/api/pages/publish.tsx +371 -0
- package/src/bundle.ts +315 -148
- package/src/cfetch/index.ts +0 -2
- package/src/cfetch/internal.ts +33 -33
- package/src/cli.ts +4 -4
- package/src/config/config.ts +14 -7
- package/src/config/environment.ts +120 -24
- package/src/config/index.ts +117 -35
- package/src/config/validation-helpers.ts +1 -1
- package/src/config/validation.ts +430 -19
- package/src/constellation/createProject.tsx +51 -0
- package/src/constellation/deleteProject.ts +51 -0
- package/src/constellation/deleteProjectModel.ts +76 -0
- package/src/constellation/index.ts +75 -0
- package/src/constellation/listCatalog.tsx +35 -0
- package/src/constellation/listModel.tsx +49 -0
- package/src/constellation/listProject.tsx +28 -0
- package/src/constellation/listRuntime.tsx +28 -0
- package/src/constellation/options.ts +17 -0
- package/src/constellation/types.ts +17 -0
- package/src/constellation/uploadModel.tsx +84 -0
- package/src/constellation/utils.ts +90 -0
- package/src/create-worker-preview.ts +19 -8
- package/src/create-worker-upload-form.ts +81 -18
- package/src/d1/backups.tsx +47 -46
- package/src/d1/constants.ts +5 -0
- package/src/d1/create.tsx +85 -37
- package/src/d1/{delete.tsx → delete.ts} +12 -15
- package/src/d1/execute.tsx +228 -156
- package/src/d1/index.ts +31 -7
- package/src/d1/list.tsx +27 -13
- package/src/d1/migrations/apply.tsx +235 -0
- package/src/d1/migrations/create.tsx +79 -0
- package/src/d1/migrations/helpers.ts +171 -0
- package/src/d1/migrations/index.ts +3 -0
- package/src/d1/migrations/list.tsx +95 -0
- package/src/d1/migrations/options.ts +23 -0
- package/src/d1/options.ts +12 -2
- package/src/d1/splitter.ts +161 -0
- package/src/d1/types.ts +32 -0
- package/src/d1/utils.ts +12 -2
- package/src/delete.ts +8 -16
- package/src/deployments.ts +340 -46
- package/src/deprecated/index.ts +8 -302
- package/src/dev/dev.tsx +66 -46
- package/src/dev/local.tsx +339 -104
- package/src/dev/remote.tsx +36 -3
- package/src/dev/start-server.ts +146 -101
- package/src/dev/use-esbuild.ts +82 -56
- package/src/dev/validate-dev-props.ts +9 -0
- package/src/{dev-registry.tsx → dev-registry.ts} +13 -1
- package/src/dev.tsx +202 -125
- package/src/dialogs.ts +136 -0
- package/src/dispatch-namespace.ts +21 -17
- package/src/docs/helpers.ts +50 -0
- package/src/docs/index.ts +54 -0
- package/src/entry.ts +26 -11
- package/src/environment-variables/factory.ts +89 -0
- package/src/environment-variables/misc-variables.ts +30 -0
- package/src/generate/index.ts +303 -0
- package/src/git-client.ts +15 -4
- package/src/{index.tsx → index.ts} +148 -63
- package/src/init.ts +301 -197
- package/src/inspect.ts +122 -6
- package/src/jest.d.ts +4 -0
- package/src/kv/helpers.ts +7 -4
- package/src/kv/index.ts +15 -17
- package/src/logger.ts +36 -5
- package/src/metrics/metrics-config.ts +3 -3
- package/src/metrics/send-event.ts +6 -1
- package/src/miniflare-cli/assets.ts +64 -28
- package/src/miniflare-cli/index.ts +6 -9
- package/src/miniflare-cli/tsconfig.json +9 -0
- package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
- package/src/miniflare-cli/types.ts +11 -0
- package/src/module-collection.ts +92 -26
- package/src/mtls-certificate/cli.ts +155 -0
- package/src/pages/build.ts +423 -0
- package/src/pages/buildFunctions.ts +140 -0
- package/src/pages/deployment-tails.ts +281 -0
- package/src/pages/deployments.tsx +11 -33
- package/src/pages/{dev.tsx → dev.ts} +192 -126
- package/src/pages/errors.ts +1 -0
- package/src/pages/functions/buildPlugin.ts +73 -69
- package/src/pages/functions/buildWorker.ts +342 -117
- package/src/pages/functions/tsconfig.json +8 -0
- package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
- package/src/pages/{functions.tsx → functions.ts} +8 -4
- package/src/pages/{index.tsx → index.ts} +11 -3
- package/src/pages/projects.tsx +12 -22
- package/src/pages/prompt-select-project.tsx +31 -0
- package/src/pages/publish.tsx +45 -214
- package/src/pages/types.ts +6 -9
- package/src/pages/upload.tsx +58 -14
- package/src/pages/utils.ts +14 -3
- package/src/parse.ts +23 -1
- package/src/paths.ts +1 -1
- package/src/proxy.ts +5 -0
- package/src/publish/index.ts +20 -16
- package/src/publish/publish.ts +81 -48
- package/src/pubsub/{pubsub-commands.tsx → pubsub-commands.ts} +19 -20
- package/src/queues/cli/commands/consumer/add.ts +24 -24
- package/src/queues/cli/commands/consumer/index.ts +3 -6
- package/src/queues/cli/commands/consumer/remove.ts +11 -18
- package/src/queues/cli/commands/create.ts +8 -8
- package/src/queues/cli/commands/delete.ts +8 -8
- package/src/queues/cli/commands/index.ts +6 -4
- package/src/queues/cli/commands/list.ts +8 -8
- package/src/queues/client.ts +1 -0
- package/src/queues/utils.ts +18 -0
- package/src/r2/constants.ts +4 -0
- package/src/r2/helpers.ts +1 -0
- package/src/r2/index.ts +40 -28
- package/src/secret/index.ts +18 -17
- package/src/{sites.tsx → sites.ts} +165 -53
- package/src/tail/createTail.ts +103 -3
- package/src/tail/filters.ts +1 -1
- package/src/tail/index.ts +8 -11
- package/src/tail/printing.ts +27 -0
- package/src/traverse-module-graph.ts +54 -0
- package/src/tsconfig-sanity.ts +16 -0
- package/src/type-generation.ts +85 -57
- package/src/user/access.ts +0 -1
- package/src/user/auth-variables.ts +113 -0
- package/src/user/choose-account.tsx +1 -31
- package/src/user/index.ts +0 -1
- package/src/user/{user.tsx → user.ts} +124 -82
- package/src/utils/render.ts +93 -0
- package/src/{whoami.tsx → whoami.ts} +37 -71
- package/src/worker.ts +61 -3
- package/src/yargs-types.ts +22 -5
- package/templates/__tests__/tsconfig-sanity.ts +12 -0
- package/templates/__tests__/tsconfig.json +8 -0
- package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
- package/templates/checked-fetch.js +9 -3
- package/templates/d1-beta-facade.js +95 -25
- package/templates/facade.d.ts +14 -0
- package/templates/first-party-worker-module-facade.ts +4 -3
- package/templates/format-dev-errors.ts +8 -6
- package/templates/gitignore +1 -0
- package/templates/init-tests/test-jest-new-worker.js +3 -5
- package/templates/init-tests/test-vitest-new-worker.js +3 -5
- package/templates/init-tests/test-vitest-new-worker.ts +25 -0
- package/templates/middleware/loader-modules.ts +2 -2
- package/templates/middleware/loader-sw.ts +51 -31
- package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
- package/templates/new-worker.ts +3 -0
- package/templates/pages-dev-pipeline.ts +4 -1
- package/templates/pages-dev-util.ts +4 -1
- package/templates/pages-shim.ts +4 -1
- package/templates/pages-template-plugin.ts +19 -10
- package/templates/serve-static-assets.ts +17 -14
- package/templates/service-bindings-module-facade.js +1 -0
- package/templates/tsconfig-sanity.ts +11 -0
- package/templates/tsconfig.init.json +105 -0
- package/templates/tsconfig.json +5 -103
- package/templates/tsconfig.tsbuildinfo +1 -0
- package/wrangler-dist/cli.d.ts +902 -77
- package/wrangler-dist/cli.js +131685 -140615
- package/wrangler-dist/wasm-sync.wasm +0 -0
- package/src/__tests__/api-devregistry.test.js +0 -57
- package/src/__tests__/d1.test.ts +0 -72
- package/src/__tests__/dialogs.test.tsx +0 -40
- package/src/__tests__/helpers/mock-cfetch.ts +0 -333
- package/src/__tests__/pages.test.ts +0 -2223
- package/src/d1/types.tsx +0 -14
- package/src/dialogs.tsx +0 -163
- package/src/environment-variables.ts +0 -50
- package/src/pages/build.tsx +0 -238
- package/src/user/env-vars.ts +0 -46
- package/templates/experimental-local-cache-stubs.js +0 -27
- /package/src/{bundle-reporter.tsx → bundle-reporter.ts} +0 -0
- /package/src/dev/{get-local-persistence-path.tsx → get-local-persistence-path.ts} +0 -0
- /package/src/pages/{hash.tsx → hash.ts} +0 -0
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { type Argv } from "yargs";
|
|
2
1
|
import { readConfig } from "../../../../config";
|
|
3
2
|
import { logger } from "../../../../logger";
|
|
4
3
|
import { deleteConsumer } from "../../../client";
|
|
5
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
CommonYargsArgv,
|
|
6
|
+
StrictYargsOptionsToInterface,
|
|
7
|
+
} from "../../../../yargs-types";
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
config?: string;
|
|
9
|
-
["queue-name"]: string;
|
|
10
|
-
["script-name"]: string;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export function options(yargs: Argv<CommonYargsOptions>): Argv<Args> {
|
|
9
|
+
export function options(yargs: CommonYargsArgv) {
|
|
14
10
|
return yargs
|
|
15
11
|
.positional("queue-name", {
|
|
16
12
|
type: "string",
|
|
@@ -24,15 +20,12 @@ export function options(yargs: Argv<CommonYargsOptions>): Argv<Args> {
|
|
|
24
20
|
});
|
|
25
21
|
}
|
|
26
22
|
|
|
27
|
-
export async function handler(
|
|
23
|
+
export async function handler(
|
|
24
|
+
args: StrictYargsOptionsToInterface<typeof options>
|
|
25
|
+
) {
|
|
28
26
|
const config = readConfig(args.config, args);
|
|
29
27
|
|
|
30
|
-
logger.log(`Removing consumer from queue ${args
|
|
31
|
-
await deleteConsumer(
|
|
32
|
-
|
|
33
|
-
args["queue-name"],
|
|
34
|
-
args["script-name"],
|
|
35
|
-
args.env
|
|
36
|
-
);
|
|
37
|
-
logger.log(`Removed consumer from queue ${args["queue-name"]}.`);
|
|
28
|
+
logger.log(`Removing consumer from queue ${args.queueName}.`);
|
|
29
|
+
await deleteConsumer(config, args.queueName, args.scriptName, args.env);
|
|
30
|
+
logger.log(`Removed consumer from queue ${args.queueName}.`);
|
|
38
31
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { type Argv } from "yargs";
|
|
2
1
|
import { readConfig } from "../../../config";
|
|
3
2
|
import { logger } from "../../../logger";
|
|
4
3
|
import { createQueue } from "../../client";
|
|
4
|
+
import type {
|
|
5
|
+
CommonYargsArgv,
|
|
6
|
+
StrictYargsOptionsToInterface,
|
|
7
|
+
} from "../../../yargs-types";
|
|
5
8
|
|
|
6
|
-
|
|
7
|
-
config?: string;
|
|
8
|
-
name: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function options(yargs: Argv): Argv<Args> {
|
|
9
|
+
export function options(yargs: CommonYargsArgv) {
|
|
12
10
|
return yargs.positional("name", {
|
|
13
11
|
type: "string",
|
|
14
12
|
demandOption: true,
|
|
@@ -16,7 +14,9 @@ export function options(yargs: Argv): Argv<Args> {
|
|
|
16
14
|
});
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
export async function handler(
|
|
17
|
+
export async function handler(
|
|
18
|
+
args: StrictYargsOptionsToInterface<typeof options>
|
|
19
|
+
) {
|
|
20
20
|
const config = readConfig(args.config, args);
|
|
21
21
|
|
|
22
22
|
logger.log(`Creating queue ${args.name}.`);
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { type Argv } from "yargs";
|
|
2
1
|
import { readConfig } from "../../../config";
|
|
3
2
|
import { logger } from "../../../logger";
|
|
4
3
|
import { deleteQueue } from "../../client";
|
|
4
|
+
import type {
|
|
5
|
+
CommonYargsArgv,
|
|
6
|
+
StrictYargsOptionsToInterface,
|
|
7
|
+
} from "../../../yargs-types";
|
|
5
8
|
|
|
6
|
-
|
|
7
|
-
config?: string;
|
|
8
|
-
name: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function options(yargs: Argv): Argv<Args> {
|
|
9
|
+
export function options(yargs: CommonYargsArgv) {
|
|
12
10
|
// TODO(soon) --force option
|
|
13
11
|
return yargs.positional("name", {
|
|
14
12
|
type: "string",
|
|
@@ -17,7 +15,9 @@ export function options(yargs: Argv): Argv<Args> {
|
|
|
17
15
|
});
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
export async function handler(
|
|
18
|
+
export async function handler(
|
|
19
|
+
args: StrictYargsOptionsToInterface<typeof options>
|
|
20
|
+
) {
|
|
21
21
|
const config = readConfig(args.config, args);
|
|
22
22
|
|
|
23
23
|
logger.log(`Deleting queue ${args.name}.`);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type CommonYargsOptions } from "../../../yargs-types";
|
|
1
|
+
import { HandleUnauthorizedError } from "../../utils";
|
|
3
2
|
import { consumers } from "./consumer";
|
|
4
3
|
|
|
5
4
|
import { options as createOptions, handler as createHandler } from "./create";
|
|
6
5
|
import { options as deleteOptions, handler as deleteHandler } from "./delete";
|
|
7
6
|
import { options as listOptions, handler as listHandler } from "./list";
|
|
7
|
+
import type { CommonYargsArgv } from "../../../yargs-types";
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export function queues(yargs: CommonYargsArgv) {
|
|
10
10
|
yargs.command("list", "List Queues", listOptions, listHandler);
|
|
11
11
|
|
|
12
12
|
yargs.command(
|
|
@@ -30,4 +30,6 @@ export const queues: BuilderCallback<CommonYargsOptions, unknown> = (yargs) => {
|
|
|
30
30
|
await consumers(consumersYargs);
|
|
31
31
|
}
|
|
32
32
|
);
|
|
33
|
-
|
|
33
|
+
|
|
34
|
+
yargs.fail(HandleUnauthorizedError);
|
|
35
|
+
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { type Argv } from "yargs";
|
|
2
1
|
import { readConfig } from "../../../config";
|
|
3
2
|
import { logger } from "../../../logger";
|
|
4
3
|
import { listQueues } from "../../client";
|
|
4
|
+
import type {
|
|
5
|
+
CommonYargsArgv,
|
|
6
|
+
StrictYargsOptionsToInterface,
|
|
7
|
+
} from "../../../yargs-types";
|
|
5
8
|
|
|
6
|
-
|
|
7
|
-
config?: string;
|
|
8
|
-
page?: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function options(yargs: Argv): Argv<Args> {
|
|
9
|
+
export function options(yargs: CommonYargsArgv) {
|
|
12
10
|
return yargs.options({
|
|
13
11
|
page: {
|
|
14
12
|
type: "number",
|
|
@@ -17,7 +15,9 @@ export function options(yargs: Argv): Argv<Args> {
|
|
|
17
15
|
});
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
export async function handler(
|
|
18
|
+
export async function handler(
|
|
19
|
+
args: StrictYargsOptionsToInterface<typeof options>
|
|
20
|
+
) {
|
|
21
21
|
const config = readConfig(args.config, args);
|
|
22
22
|
|
|
23
23
|
const queues = await listQueues(config, args.page);
|
package/src/queues/client.ts
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { logger } from "../logger";
|
|
2
|
+
import { type ParseError } from "../parse";
|
|
3
|
+
import { getAccountId } from "../user";
|
|
4
|
+
|
|
5
|
+
const isFetchError = (err: unknown): err is ParseError => err instanceof Error;
|
|
6
|
+
|
|
7
|
+
export const HandleUnauthorizedError = async (_msg: string, err: Error) => {
|
|
8
|
+
//@ts-expect-error non-standard property on Error
|
|
9
|
+
if (isFetchError(err) && err.code === 10023) {
|
|
10
|
+
const accountId = await getAccountId();
|
|
11
|
+
if (accountId) {
|
|
12
|
+
return logger.log(
|
|
13
|
+
`Queues is not currently enabled on this account. Go to https://dash.cloudflare.com/${accountId}/workers/queues to enable it.`
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw err;
|
|
18
|
+
};
|
package/src/r2/helpers.ts
CHANGED
package/src/r2/index.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as stream from "node:stream";
|
|
3
3
|
|
|
4
|
+
import prettyBytes from "pretty-bytes";
|
|
4
5
|
import { readConfig } from "../config";
|
|
6
|
+
import { FatalError } from "../errors";
|
|
5
7
|
import { CommandLineArgsError, printWranglerBanner } from "../index";
|
|
6
8
|
import { logger } from "../logger";
|
|
7
9
|
import * as metrics from "../metrics";
|
|
8
10
|
import { requireAuth } from "../user";
|
|
11
|
+
import { MAX_UPLOAD_SIZE } from "./constants";
|
|
9
12
|
import {
|
|
10
13
|
bucketAndKeyFromObjectPath,
|
|
11
14
|
createR2Bucket,
|
|
@@ -16,22 +19,23 @@ import {
|
|
|
16
19
|
putR2Object,
|
|
17
20
|
} from "./helpers";
|
|
18
21
|
|
|
19
|
-
import type {
|
|
22
|
+
import type { CommonYargsArgv } from "../yargs-types";
|
|
20
23
|
import type { Readable } from "node:stream";
|
|
21
|
-
import type { BuilderCallback } from "yargs";
|
|
22
24
|
|
|
23
|
-
export
|
|
25
|
+
export function r2(r2Yargs: CommonYargsArgv) {
|
|
24
26
|
return r2Yargs
|
|
25
27
|
.command("object", "Manage R2 objects", (r2ObjectYargs) => {
|
|
26
28
|
return r2ObjectYargs
|
|
27
29
|
.command(
|
|
28
30
|
"get <objectPath>",
|
|
29
31
|
"Fetch an object from an R2 bucket",
|
|
30
|
-
(
|
|
31
|
-
return
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
(objectArgs) => {
|
|
33
|
+
return objectArgs
|
|
34
|
+
.positional("objectPath", {
|
|
35
|
+
describe:
|
|
36
|
+
"The source object path in the form of {bucket}/{key}",
|
|
37
|
+
type: "string",
|
|
38
|
+
})
|
|
35
39
|
.option("file", {
|
|
36
40
|
describe: "The destination file to create",
|
|
37
41
|
alias: "f",
|
|
@@ -48,10 +52,7 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
48
52
|
});
|
|
49
53
|
},
|
|
50
54
|
async (objectGetYargs) => {
|
|
51
|
-
const config = readConfig(
|
|
52
|
-
objectGetYargs.config as ConfigPath,
|
|
53
|
-
objectGetYargs
|
|
54
|
-
);
|
|
55
|
+
const config = readConfig(objectGetYargs.config, objectGetYargs);
|
|
55
56
|
const accountId = await requireAuth(config);
|
|
56
57
|
const { objectPath, pipe } = objectGetYargs;
|
|
57
58
|
const { bucket, key } = bucketAndKeyFromObjectPath(objectPath);
|
|
@@ -141,10 +142,7 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
141
142
|
async (objectPutYargs) => {
|
|
142
143
|
await printWranglerBanner();
|
|
143
144
|
|
|
144
|
-
const config = readConfig(
|
|
145
|
-
objectPutYargs.config as ConfigPath,
|
|
146
|
-
objectPutYargs
|
|
147
|
-
);
|
|
145
|
+
const config = readConfig(objectPutYargs.config, objectPutYargs);
|
|
148
146
|
const accountId = await requireAuth(config);
|
|
149
147
|
const { objectPath, file, pipe, ...options } = objectPutYargs;
|
|
150
148
|
const { bucket, key } = bucketAndKeyFromObjectPath(objectPath);
|
|
@@ -176,6 +174,15 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
176
174
|
objectSize = object.byteLength;
|
|
177
175
|
}
|
|
178
176
|
|
|
177
|
+
if (objectSize > MAX_UPLOAD_SIZE) {
|
|
178
|
+
throw new FatalError(
|
|
179
|
+
`Error: Wrangler only supports uploading files up to ${prettyBytes(
|
|
180
|
+
MAX_UPLOAD_SIZE
|
|
181
|
+
)} in size\n${key} is ${prettyBytes(objectSize)} in size`,
|
|
182
|
+
1
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
|
|
179
186
|
logger.log(`Creating object "${key}" in bucket "${bucket}".`);
|
|
180
187
|
await putR2Object(accountId, bucket, key, object, {
|
|
181
188
|
...options,
|
|
@@ -198,7 +205,7 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
198
205
|
const { objectPath } = args;
|
|
199
206
|
await printWranglerBanner();
|
|
200
207
|
|
|
201
|
-
const config = readConfig(args.config
|
|
208
|
+
const config = readConfig(args.config, args);
|
|
202
209
|
const accountId = await requireAuth(config);
|
|
203
210
|
const { bucket, key } = bucketAndKeyFromObjectPath(objectPath);
|
|
204
211
|
logger.log(`Deleting object "${key}" from bucket "${bucket}".`);
|
|
@@ -223,7 +230,7 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
223
230
|
async (args) => {
|
|
224
231
|
await printWranglerBanner();
|
|
225
232
|
|
|
226
|
-
const config = readConfig(args.config
|
|
233
|
+
const config = readConfig(args.config, args);
|
|
227
234
|
|
|
228
235
|
const accountId = await requireAuth(config);
|
|
229
236
|
|
|
@@ -236,16 +243,21 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
236
243
|
}
|
|
237
244
|
);
|
|
238
245
|
|
|
239
|
-
r2BucketYargs.command(
|
|
240
|
-
|
|
246
|
+
r2BucketYargs.command(
|
|
247
|
+
"list",
|
|
248
|
+
"List R2 buckets",
|
|
249
|
+
(listArgs) => listArgs,
|
|
250
|
+
async (args) => {
|
|
251
|
+
const config = readConfig(args.config, args);
|
|
241
252
|
|
|
242
|
-
|
|
253
|
+
const accountId = await requireAuth(config);
|
|
243
254
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
255
|
+
logger.log(JSON.stringify(await listR2Buckets(accountId), null, 2));
|
|
256
|
+
await metrics.sendMetricsEvent("list r2 buckets", {
|
|
257
|
+
sendMetrics: config.send_metrics,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
);
|
|
249
261
|
|
|
250
262
|
r2BucketYargs.command(
|
|
251
263
|
"delete <name>",
|
|
@@ -260,7 +272,7 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
260
272
|
async (args) => {
|
|
261
273
|
await printWranglerBanner();
|
|
262
274
|
|
|
263
|
-
const config = readConfig(args.config
|
|
275
|
+
const config = readConfig(args.config, args);
|
|
264
276
|
|
|
265
277
|
const accountId = await requireAuth(config);
|
|
266
278
|
|
|
@@ -274,4 +286,4 @@ export const r2: BuilderCallback<unknown, unknown> = (r2Yargs) => {
|
|
|
274
286
|
);
|
|
275
287
|
return r2BucketYargs;
|
|
276
288
|
});
|
|
277
|
-
}
|
|
289
|
+
}
|
package/src/secret/index.ts
CHANGED
|
@@ -13,14 +13,12 @@ import * as metrics from "../metrics";
|
|
|
13
13
|
import { parseJSON, readFileSync } from "../parse";
|
|
14
14
|
import { requireAuth } from "../user";
|
|
15
15
|
|
|
16
|
-
import type { ConfigPath } from "../index";
|
|
17
16
|
import type {
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
CommonYargsArgv,
|
|
18
|
+
StrictYargsOptionsToInterface,
|
|
20
19
|
} from "../yargs-types";
|
|
21
|
-
import type { Argv } from "yargs";
|
|
22
20
|
|
|
23
|
-
export const secret = (secretYargs:
|
|
21
|
+
export const secret = (secretYargs: CommonYargsArgv) => {
|
|
24
22
|
return secretYargs
|
|
25
23
|
.option("legacy-env", {
|
|
26
24
|
type: "boolean",
|
|
@@ -44,7 +42,7 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
44
42
|
},
|
|
45
43
|
async (args) => {
|
|
46
44
|
await printWranglerBanner();
|
|
47
|
-
const config = readConfig(args.config
|
|
45
|
+
const config = readConfig(args.config, args);
|
|
48
46
|
|
|
49
47
|
const scriptName = getLegacyScriptName(args, config);
|
|
50
48
|
if (!scriptName) {
|
|
@@ -58,7 +56,7 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
58
56
|
const isInteractive = process.stdin.isTTY;
|
|
59
57
|
const secretValue = trimTrailingWhitespace(
|
|
60
58
|
isInteractive
|
|
61
|
-
? await prompt("Enter a secret value:",
|
|
59
|
+
? await prompt("Enter a secret value:", { isSecret: true })
|
|
62
60
|
: await readFromStdin()
|
|
63
61
|
);
|
|
64
62
|
|
|
@@ -102,19 +100,23 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
102
100
|
},
|
|
103
101
|
bindings: {
|
|
104
102
|
kv_namespaces: [],
|
|
103
|
+
send_email: [],
|
|
105
104
|
vars: {},
|
|
106
|
-
metadata_binding: undefined,
|
|
107
105
|
durable_objects: { bindings: [] },
|
|
108
106
|
queues: [],
|
|
109
107
|
r2_buckets: [],
|
|
110
108
|
d1_databases: [],
|
|
109
|
+
constellation: [],
|
|
111
110
|
services: [],
|
|
111
|
+
analytics_engine_datasets: [],
|
|
112
112
|
wasm_modules: {},
|
|
113
|
+
browser: undefined,
|
|
113
114
|
text_blobs: {},
|
|
114
115
|
data_blobs: {},
|
|
115
116
|
dispatch_namespaces: [],
|
|
117
|
+
mtls_certificates: [],
|
|
116
118
|
logfwdr: { schema: undefined, bindings: [] },
|
|
117
|
-
unsafe:
|
|
119
|
+
unsafe: { bindings: undefined, metadata: undefined },
|
|
118
120
|
},
|
|
119
121
|
modules: [],
|
|
120
122
|
migrations: undefined,
|
|
@@ -123,6 +125,8 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
123
125
|
usage_model: undefined,
|
|
124
126
|
keepVars: false, // this doesn't matter since it's a new script anyway
|
|
125
127
|
logpush: false,
|
|
128
|
+
placement: undefined,
|
|
129
|
+
tail_consumers: undefined,
|
|
126
130
|
}),
|
|
127
131
|
}
|
|
128
132
|
);
|
|
@@ -172,7 +176,7 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
172
176
|
});
|
|
173
177
|
},
|
|
174
178
|
async (args) => {
|
|
175
|
-
const config = readConfig(args.config
|
|
179
|
+
const config = readConfig(args.config, args);
|
|
176
180
|
|
|
177
181
|
const scriptName = getLegacyScriptName(args, config);
|
|
178
182
|
if (!scriptName) {
|
|
@@ -222,7 +226,7 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
222
226
|
});
|
|
223
227
|
},
|
|
224
228
|
async (args) => {
|
|
225
|
-
const config = readConfig(args.config
|
|
229
|
+
const config = readConfig(args.config, args);
|
|
226
230
|
|
|
227
231
|
const scriptName = getLegacyScriptName(args, config);
|
|
228
232
|
if (!scriptName) {
|
|
@@ -246,7 +250,7 @@ export const secret = (secretYargs: Argv<CommonYargsOptions>) => {
|
|
|
246
250
|
);
|
|
247
251
|
};
|
|
248
252
|
|
|
249
|
-
export const secretBulkOptions = (yargs:
|
|
253
|
+
export const secretBulkOptions = (yargs: CommonYargsArgv) => {
|
|
250
254
|
return yargs
|
|
251
255
|
.positional("json", {
|
|
252
256
|
describe: `The JSON file of key-value pairs to upload, in form {"key": value, ...}`,
|
|
@@ -301,14 +305,11 @@ function readFromStdin(): Promise<string> {
|
|
|
301
305
|
});
|
|
302
306
|
}
|
|
303
307
|
|
|
304
|
-
type SecretBulkArgs =
|
|
308
|
+
type SecretBulkArgs = StrictYargsOptionsToInterface<typeof secretBulkOptions>;
|
|
305
309
|
|
|
306
310
|
export const secretBulkHandler = async (secretBulkArgs: SecretBulkArgs) => {
|
|
307
311
|
await printWranglerBanner();
|
|
308
|
-
const config = readConfig(
|
|
309
|
-
secretBulkArgs.config as ConfigPath,
|
|
310
|
-
secretBulkArgs
|
|
311
|
-
);
|
|
312
|
+
const config = readConfig(secretBulkArgs.config, secretBulkArgs);
|
|
312
313
|
|
|
313
314
|
const scriptName = getLegacyScriptName(secretBulkArgs, config);
|
|
314
315
|
if (!scriptName) {
|