@cloudflare/workers-utils 0.0.2 → 0.1.0

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/dist/index.mjs CHANGED
@@ -1,44 +1,13 @@
1
+ import { __commonJS, __name, __require, __toESM, UserError, PATH_TO_DEPLOY_CONFIG, FatalError } from './chunk-LFBFF6MG.mjs';
2
+ export { CommandLineArgsError, DeprecationError, ENVIRONMENT_TAG_PREFIX, FatalError, INHERIT_SYMBOL, JsonFriendlyFatalError, MissingConfigError, PATH_TO_DEPLOY_CONFIG, SERVICE_TAG_PREFIX, UserError, assertNever, constructWranglerConfig, createFatalError, formatCompatibilityDate, mapWorkerMetadataBindings } from './chunk-LFBFF6MG.mjs';
1
3
  import fs, { readFileSync as readFileSync$1, existsSync } from 'node:fs';
2
4
  import path5, { resolve } from 'node:path';
3
5
  import { fileURLToPath } from 'node:url';
4
6
  import process2 from 'node:process';
5
- import { writeFileSync, statSync, existsSync as existsSync$1 } from 'fs';
7
+ import { statSync, existsSync as existsSync$1, writeFileSync } from 'fs';
6
8
  import assert from 'node:assert';
7
9
  import path4 from 'path';
8
10
 
9
- var __create = Object.create;
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __getProtoOf = Object.getPrototypeOf;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
17
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
18
- }) : x)(function(x) {
19
- if (typeof require !== "undefined") return require.apply(this, arguments);
20
- throw Error('Dynamic require of "' + x + '" is not supported');
21
- });
22
- var __commonJS = (cb, mod) => function __require2() {
23
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
24
- };
25
- var __copyProps = (to, from, except, desc) => {
26
- if (from && typeof from === "object" || typeof from === "function") {
27
- for (let key of __getOwnPropNames(from))
28
- if (!__hasOwnProp.call(to, key) && key !== except)
29
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
- }
31
- return to;
32
- };
33
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
- // If the importer is in node compatibility mode or this is not an ESM
35
- // file that has been converted to a CommonJS file using a Babel-
36
- // compatible transform (i.e. "__esModule" has not been set), then set
37
- // "default" to the CommonJS "module.exports" for node compatibility.
38
- !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
- mod
40
- ));
41
-
42
11
  // ../../node_modules/.pnpm/@iarna+toml@3.0.0/node_modules/@iarna/toml/lib/parser.js
43
12
  var require_parser = __commonJS({
44
13
  "../../node_modules/.pnpm/@iarna+toml@3.0.0/node_modules/@iarna/toml/lib/parser.js"(exports2, module2) {
@@ -3637,73 +3606,6 @@ function applyEdits(text, edits) {
3637
3606
  }
3638
3607
  __name(applyEdits, "applyEdits");
3639
3608
 
3640
- // src/errors.ts
3641
- var UserError = class extends Error {
3642
- static {
3643
- __name(this, "UserError");
3644
- }
3645
- telemetryMessage;
3646
- constructor(message, options) {
3647
- super(message, options);
3648
- Object.setPrototypeOf(this, new.target.prototype);
3649
- this.telemetryMessage = options?.telemetryMessage === true ? message : options?.telemetryMessage;
3650
- }
3651
- };
3652
- var DeprecationError = class extends UserError {
3653
- static {
3654
- __name(this, "DeprecationError");
3655
- }
3656
- constructor(message, options) {
3657
- super(`Deprecation:
3658
- ${message}`, options);
3659
- }
3660
- };
3661
- var FatalError = class extends UserError {
3662
- constructor(message, code, options) {
3663
- super(message, options);
3664
- this.code = code;
3665
- }
3666
- static {
3667
- __name(this, "FatalError");
3668
- }
3669
- };
3670
- var CommandLineArgsError = class extends UserError {
3671
- static {
3672
- __name(this, "CommandLineArgsError");
3673
- }
3674
- };
3675
- var JsonFriendlyFatalError = class extends FatalError {
3676
- constructor(message, code, options) {
3677
- super(message, code, options);
3678
- this.code = code;
3679
- }
3680
- static {
3681
- __name(this, "JsonFriendlyFatalError");
3682
- }
3683
- };
3684
- var MissingConfigError = class extends Error {
3685
- static {
3686
- __name(this, "MissingConfigError");
3687
- }
3688
- telemetryMessage;
3689
- constructor(key) {
3690
- super(`Missing config value for ${key}`);
3691
- this.telemetryMessage = `Missing config value for ${key}`;
3692
- }
3693
- };
3694
- function createFatalError(message, isJson, code, telemetryMessage) {
3695
- if (isJson) {
3696
- return new JsonFriendlyFatalError(
3697
- JSON.stringify(message),
3698
- code,
3699
- telemetryMessage
3700
- );
3701
- } else {
3702
- return new FatalError(`${message}`, code, telemetryMessage);
3703
- }
3704
- }
3705
- __name(createFatalError, "createFatalError");
3706
-
3707
3609
  // src/parse.ts
3708
3610
  var ParseError = class extends UserError {
3709
3611
  static {
@@ -4139,12 +4041,6 @@ function dedent(templ) {
4139
4041
  __name(dedent, "dedent");
4140
4042
  var esm_default = dedent;
4141
4043
 
4142
- // src/constants.ts
4143
- var INHERIT_SYMBOL = Symbol.for("inherit_binding");
4144
- var SERVICE_TAG_PREFIX = "cf:service=";
4145
- var ENVIRONMENT_TAG_PREFIX = "cf:environment=";
4146
- var PATH_TO_DEPLOY_CONFIG = ".wrangler/deploy/config.json";
4147
-
4148
4044
  // src/config/config-helpers.ts
4149
4045
  function resolveWranglerConfigPath({
4150
4046
  config,
@@ -8641,447 +8537,4 @@ Pages requires Durable Object bindings to specify the name of the Worker where t
8641
8537
  }
8642
8538
  __name(validateDurableObjectBinding2, "validateDurableObjectBinding");
8643
8539
 
8644
- // src/assert-never.ts
8645
- function assertNever(_value) {
8646
- }
8647
- __name(assertNever, "assertNever");
8648
-
8649
- // src/format-compatibility-date.ts
8650
- function formatCompatibilityDate(date) {
8651
- return date.toISOString().slice(0, 10);
8652
- }
8653
- __name(formatCompatibilityDate, "formatCompatibilityDate");
8654
-
8655
- // src/map-worker-metadata-bindings.ts
8656
- function mapWorkerMetadataBindings(bindings) {
8657
- return bindings.filter((binding) => binding.type !== "secret_text").reduce((configObj, binding) => {
8658
- switch (binding.type) {
8659
- case "plain_text":
8660
- {
8661
- configObj.vars = {
8662
- ...configObj.vars ?? {},
8663
- [binding.name]: binding.text
8664
- };
8665
- }
8666
- break;
8667
- case "json":
8668
- {
8669
- configObj.vars = {
8670
- ...configObj.vars ?? {},
8671
- name: binding.name,
8672
- json: binding.json
8673
- };
8674
- }
8675
- break;
8676
- case "kv_namespace":
8677
- {
8678
- configObj.kv_namespaces = [
8679
- ...configObj.kv_namespaces ?? [],
8680
- { id: binding.namespace_id, binding: binding.name }
8681
- ];
8682
- }
8683
- break;
8684
- case "durable_object_namespace":
8685
- {
8686
- configObj.durable_objects = {
8687
- bindings: [
8688
- ...configObj.durable_objects?.bindings ?? [],
8689
- {
8690
- name: binding.name,
8691
- class_name: binding.class_name,
8692
- script_name: binding.script_name,
8693
- environment: binding.environment
8694
- }
8695
- ]
8696
- };
8697
- }
8698
- break;
8699
- case "d1":
8700
- {
8701
- configObj.d1_databases = [
8702
- ...configObj.d1_databases ?? [],
8703
- {
8704
- binding: binding.name,
8705
- database_id: binding.id
8706
- }
8707
- ];
8708
- }
8709
- break;
8710
- case "browser":
8711
- {
8712
- configObj.browser = {
8713
- binding: binding.name
8714
- };
8715
- }
8716
- break;
8717
- case "ai":
8718
- {
8719
- configObj.ai = {
8720
- binding: binding.name
8721
- };
8722
- }
8723
- break;
8724
- case "images":
8725
- {
8726
- configObj.images = {
8727
- binding: binding.name
8728
- };
8729
- }
8730
- break;
8731
- case "media":
8732
- {
8733
- configObj.media = {
8734
- binding: binding.name
8735
- };
8736
- }
8737
- break;
8738
- case "r2_bucket":
8739
- {
8740
- configObj.r2_buckets = [
8741
- ...configObj.r2_buckets ?? [],
8742
- {
8743
- binding: binding.name,
8744
- bucket_name: binding.bucket_name,
8745
- jurisdiction: binding.jurisdiction
8746
- }
8747
- ];
8748
- }
8749
- break;
8750
- case "secrets_store_secret":
8751
- {
8752
- configObj.secrets_store_secrets = [
8753
- ...configObj.secrets_store_secrets ?? [],
8754
- {
8755
- binding: binding.name,
8756
- store_id: binding.store_id,
8757
- secret_name: binding.secret_name
8758
- }
8759
- ];
8760
- }
8761
- break;
8762
- case "unsafe_hello_world": {
8763
- configObj.unsafe_hello_world = [
8764
- ...configObj.unsafe_hello_world ?? [],
8765
- {
8766
- binding: binding.name,
8767
- enable_timer: binding.enable_timer
8768
- }
8769
- ];
8770
- break;
8771
- }
8772
- case "service":
8773
- {
8774
- configObj.services = [
8775
- ...configObj.services ?? [],
8776
- {
8777
- binding: binding.name,
8778
- service: binding.service,
8779
- environment: binding.environment,
8780
- entrypoint: binding.entrypoint
8781
- }
8782
- ];
8783
- }
8784
- break;
8785
- case "analytics_engine":
8786
- {
8787
- configObj.analytics_engine_datasets = [
8788
- ...configObj.analytics_engine_datasets ?? [],
8789
- { binding: binding.name, dataset: binding.dataset }
8790
- ];
8791
- }
8792
- break;
8793
- case "dispatch_namespace":
8794
- {
8795
- configObj.dispatch_namespaces = [
8796
- ...configObj.dispatch_namespaces ?? [],
8797
- {
8798
- binding: binding.name,
8799
- namespace: binding.namespace,
8800
- ...binding.outbound && {
8801
- outbound: {
8802
- service: binding.outbound.worker.service,
8803
- environment: binding.outbound.worker.environment,
8804
- parameters: binding.outbound.params?.map((p) => p.name) ?? []
8805
- }
8806
- }
8807
- }
8808
- ];
8809
- }
8810
- break;
8811
- case "logfwdr":
8812
- {
8813
- configObj.logfwdr = {
8814
- bindings: [
8815
- ...configObj.logfwdr?.bindings ?? [],
8816
- { name: binding.name, destination: binding.destination }
8817
- ]
8818
- };
8819
- }
8820
- break;
8821
- case "wasm_module":
8822
- {
8823
- configObj.wasm_modules = {
8824
- ...configObj.wasm_modules ?? {},
8825
- [binding.name]: binding.part
8826
- };
8827
- }
8828
- break;
8829
- case "text_blob":
8830
- {
8831
- configObj.text_blobs = {
8832
- ...configObj.text_blobs ?? {},
8833
- [binding.name]: binding.part
8834
- };
8835
- }
8836
- break;
8837
- case "data_blob":
8838
- {
8839
- configObj.data_blobs = {
8840
- ...configObj.data_blobs ?? {},
8841
- [binding.name]: binding.part
8842
- };
8843
- }
8844
- break;
8845
- case "secret_text":
8846
- break;
8847
- case "version_metadata": {
8848
- {
8849
- configObj.version_metadata = {
8850
- binding: binding.name
8851
- };
8852
- }
8853
- break;
8854
- }
8855
- case "send_email": {
8856
- configObj.send_email = [
8857
- ...configObj.send_email ?? [],
8858
- {
8859
- name: binding.name,
8860
- destination_address: binding.destination_address,
8861
- allowed_destination_addresses: binding.allowed_destination_addresses,
8862
- allowed_sender_addresses: binding.allowed_sender_addresses
8863
- }
8864
- ];
8865
- break;
8866
- }
8867
- case "queue":
8868
- configObj.queues ??= { producers: [] };
8869
- configObj.queues.producers = [
8870
- ...configObj.queues.producers ?? [],
8871
- {
8872
- binding: binding.name,
8873
- queue: binding.queue_name,
8874
- delivery_delay: binding.delivery_delay
8875
- }
8876
- ];
8877
- break;
8878
- case "vectorize":
8879
- configObj.vectorize = [
8880
- ...configObj.vectorize ?? [],
8881
- {
8882
- binding: binding.name,
8883
- index_name: binding.index_name
8884
- }
8885
- ];
8886
- break;
8887
- case "hyperdrive":
8888
- configObj.hyperdrive = [
8889
- ...configObj.hyperdrive ?? [],
8890
- {
8891
- binding: binding.name,
8892
- id: binding.id
8893
- }
8894
- ];
8895
- break;
8896
- case "mtls_certificate":
8897
- configObj.mtls_certificates = [
8898
- ...configObj.mtls_certificates ?? [],
8899
- {
8900
- binding: binding.name,
8901
- certificate_id: binding.certificate_id
8902
- }
8903
- ];
8904
- break;
8905
- case "pipelines":
8906
- configObj.pipelines = [
8907
- ...configObj.pipelines ?? [],
8908
- {
8909
- binding: binding.name,
8910
- pipeline: binding.pipeline
8911
- }
8912
- ];
8913
- break;
8914
- case "assets":
8915
- throw new FatalError(
8916
- "`wrangler init --from-dash` is not yet supported for Workers with Assets"
8917
- );
8918
- case "inherit":
8919
- configObj.unsafe = {
8920
- bindings: [...configObj.unsafe?.bindings ?? [], binding],
8921
- metadata: configObj.unsafe?.metadata ?? void 0
8922
- };
8923
- break;
8924
- case "workflow":
8925
- {
8926
- configObj.workflows = [
8927
- ...configObj.workflows ?? [],
8928
- {
8929
- binding: binding.name,
8930
- name: binding.workflow_name,
8931
- class_name: binding.class_name,
8932
- script_name: binding.script_name
8933
- }
8934
- ];
8935
- }
8936
- break;
8937
- case "worker_loader":
8938
- {
8939
- configObj.worker_loaders = [
8940
- ...configObj.worker_loaders ?? [],
8941
- {
8942
- binding: binding.name
8943
- }
8944
- ];
8945
- }
8946
- break;
8947
- case "ratelimit":
8948
- {
8949
- configObj.ratelimits = [
8950
- ...configObj.ratelimits ?? [],
8951
- {
8952
- name: binding.name,
8953
- namespace_id: binding.namespace_id,
8954
- simple: {
8955
- limit: binding.simple.limit,
8956
- period: binding.simple.period
8957
- }
8958
- }
8959
- ];
8960
- }
8961
- break;
8962
- case "vpc_service":
8963
- {
8964
- configObj.vpc_services = [
8965
- ...configObj.vpc_services ?? [],
8966
- {
8967
- binding: binding.name,
8968
- service_id: binding.service_id
8969
- }
8970
- ];
8971
- }
8972
- break;
8973
- default: {
8974
- configObj.unsafe = {
8975
- bindings: [...configObj.unsafe?.bindings ?? [], binding],
8976
- metadata: configObj.unsafe?.metadata ?? void 0
8977
- };
8978
- }
8979
- }
8980
- return configObj;
8981
- }, {});
8982
- }
8983
- __name(mapWorkerMetadataBindings, "mapWorkerMetadataBindings");
8984
-
8985
- // src/construct-wrangler-config.ts
8986
- function convertWorkerToWranglerConfig(workerName, entrypoint, {
8987
- bindings,
8988
- routes,
8989
- customDomains,
8990
- subdomainStatus,
8991
- serviceEnvMetadata,
8992
- cronTriggers
8993
- }) {
8994
- const mappedBindings = mapWorkerMetadataBindings(bindings);
8995
- const durableObjectClassNames = bindings.filter((binding) => binding.type === "durable_object_namespace").map(
8996
- (durableObject) => durableObject.class_name
8997
- );
8998
- const allRoutes = [
8999
- ...routes.map((r) => ({
9000
- pattern: r.pattern,
9001
- zone_name: r.zone_name
9002
- })),
9003
- ...customDomains.map((c) => ({
9004
- pattern: c.hostname,
9005
- zone_name: c.zone_name,
9006
- custom_domain: true
9007
- }))
9008
- ];
9009
- return {
9010
- name: workerName,
9011
- main: entrypoint,
9012
- workers_dev: subdomainStatus.enabled,
9013
- preview_urls: subdomainStatus.previews_enabled,
9014
- compatibility_date: serviceEnvMetadata.script.compatibility_date ?? formatCompatibilityDate(/* @__PURE__ */ new Date()),
9015
- compatibility_flags: serviceEnvMetadata.script.compatibility_flags,
9016
- ...allRoutes.length ? { routes: allRoutes } : {},
9017
- placement: serviceEnvMetadata.script.placement_mode === "smart" ? { mode: "smart" } : void 0,
9018
- limits: serviceEnvMetadata.script.limits,
9019
- ...durableObjectClassNames.length ? {
9020
- migrations: [
9021
- {
9022
- tag: serviceEnvMetadata.script.migration_tag,
9023
- new_classes: durableObjectClassNames
9024
- }
9025
- ]
9026
- } : {},
9027
- ...cronTriggers.schedules.length ? {
9028
- triggers: {
9029
- crons: cronTriggers.schedules.map((scheduled) => scheduled.cron)
9030
- }
9031
- } : {},
9032
- tail_consumers: serviceEnvMetadata.script.tail_consumers ?? void 0,
9033
- observability: serviceEnvMetadata.script.observability,
9034
- ...mappedBindings
9035
- };
9036
- }
9037
- __name(convertWorkerToWranglerConfig, "convertWorkerToWranglerConfig");
9038
- function constructWranglerConfig(workerName, entrypoint, workerOrWorkers) {
9039
- let workers;
9040
- if (Array.isArray(workerOrWorkers)) {
9041
- workers = workerOrWorkers;
9042
- } else {
9043
- workers = [workerOrWorkers];
9044
- }
9045
- const topLevelEnv = workers.find(
9046
- (w) => !w.serviceEnvMetadata.script.tags?.some(
9047
- (t) => t.startsWith(ENVIRONMENT_TAG_PREFIX)
9048
- )
9049
- );
9050
- let combinedConfig;
9051
- if (topLevelEnv) {
9052
- combinedConfig = convertWorkerToWranglerConfig(
9053
- workerName,
9054
- entrypoint,
9055
- topLevelEnv
9056
- );
9057
- } else {
9058
- combinedConfig = {
9059
- name: workerName,
9060
- main: entrypoint
9061
- };
9062
- }
9063
- for (const env of workers) {
9064
- const serviceTag = env.serviceEnvMetadata.script.tags?.find(
9065
- (t) => t === `${SERVICE_TAG_PREFIX}${workerName}`
9066
- );
9067
- const envTag = env.serviceEnvMetadata.script.tags?.find(
9068
- (t) => t.startsWith(ENVIRONMENT_TAG_PREFIX)
9069
- );
9070
- if (serviceTag !== workerName || envTag === void 0) {
9071
- continue;
9072
- }
9073
- const [_, envName] = envTag.split("=");
9074
- combinedConfig.env ??= {};
9075
- combinedConfig.env[envName] = convertWorkerToWranglerConfig(
9076
- workerName,
9077
- entrypoint,
9078
- env
9079
- );
9080
- }
9081
- return combinedConfig;
9082
- }
9083
- __name(constructWranglerConfig, "constructWranglerConfig");
9084
-
9085
- export { APIError, CommandLineArgsError, DeprecationError, ENVIRONMENT_TAG_PREFIX, FatalError, INHERIT_SYMBOL, JsonFriendlyFatalError, MissingConfigError, PATH_TO_DEPLOY_CONFIG, ParseError, PatchConfigError, SERVICE_TAG_PREFIX, UserError, assertNever, bucketFormatMessage, configFileName, configFormat, constructWranglerConfig, createFatalError, defaultWranglerConfig, experimental_patchConfig, experimental_readRawConfig, findWranglerConfig, formatCompatibilityDate, formatConfigSnippet, friendlyBindingNames, indexLocation, isPagesConfig, isValidR2BucketName, mapWorkerMetadataBindings, normalizeAndValidateConfig, parseByteSize, parseHumanDuration, parseJSON, parseJSONC, parseNonHyphenedUuid, parsePackageJSON, parseTOML, readFileSync, readFileSyncToBuffer, resolveWranglerConfigPath, searchLocation, validatePagesConfig };
9086
- //# sourceMappingURL=index.mjs.map
9087
- //# sourceMappingURL=index.mjs.map
8540
+ export { APIError, ParseError, PatchConfigError, bucketFormatMessage, configFileName, configFormat, defaultWranglerConfig, experimental_patchConfig, experimental_readRawConfig, findWranglerConfig, formatConfigSnippet, friendlyBindingNames, indexLocation, isPagesConfig, isValidR2BucketName, normalizeAndValidateConfig, parseByteSize, parseHumanDuration, parseJSON, parseJSONC, parseNonHyphenedUuid, parsePackageJSON, parseTOML, readFileSync, readFileSyncToBuffer, resolveWranglerConfigPath, searchLocation, validatePagesConfig };