@settlemint/sdk-utils 2.3.2-pr708c218f → 2.3.2-pr74f654b5

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 (89) hide show
  1. package/README.md +51 -7
  2. package/dist/environment.cjs +25 -409
  3. package/dist/environment.d.cts +3 -176
  4. package/dist/environment.d.ts +3 -176
  5. package/dist/environment.js +4 -0
  6. package/dist/filesystem.cjs +39 -123
  7. package/dist/filesystem.d.cts +4 -59
  8. package/dist/filesystem.d.ts +4 -59
  9. package/dist/filesystem.js +5 -0
  10. package/dist/http.cjs +34 -98
  11. package/dist/http.d.cts +4 -55
  12. package/dist/http.d.ts +4 -55
  13. package/dist/http.js +5 -0
  14. package/dist/index.cjs +27 -118
  15. package/dist/index.d.cts +4 -122
  16. package/dist/index.d.ts +4 -122
  17. package/dist/index.js +7 -0
  18. package/dist/json.cjs +83 -0
  19. package/dist/json.cjs.map +1 -0
  20. package/dist/json.d.cts +56 -0
  21. package/dist/json.d.ts +56 -0
  22. package/dist/json.js +80 -0
  23. package/dist/json.js.map +1 -0
  24. package/dist/logging.cjs +34 -141
  25. package/dist/logging.d.cts +4 -70
  26. package/dist/logging.d.ts +4 -70
  27. package/dist/logging.js +5 -0
  28. package/dist/package-manager.cjs +51 -196
  29. package/dist/package-manager.d.cts +7 -114
  30. package/dist/package-manager.d.ts +7 -114
  31. package/dist/package-manager.js +9 -0
  32. package/dist/retry.cjs +69 -0
  33. package/dist/retry.cjs.map +1 -0
  34. package/dist/retry.d.cts +19 -0
  35. package/dist/retry.d.ts +19 -0
  36. package/dist/retry.js +46 -0
  37. package/dist/retry.js.map +1 -0
  38. package/dist/runtime.cjs +38 -42
  39. package/dist/runtime.d.cts +2 -32
  40. package/dist/runtime.d.ts +2 -32
  41. package/dist/runtime.js +3 -0
  42. package/dist/string.cjs +76 -0
  43. package/dist/string.cjs.map +1 -0
  44. package/dist/string.d.cts +58 -0
  45. package/dist/string.d.ts +58 -0
  46. package/dist/string.js +72 -0
  47. package/dist/string.js.map +1 -0
  48. package/dist/terminal.cjs +91 -258
  49. package/dist/terminal.d.cts +11 -219
  50. package/dist/terminal.d.ts +11 -219
  51. package/dist/terminal.js +12 -0
  52. package/dist/url.cjs +25 -0
  53. package/dist/url.cjs.map +1 -0
  54. package/dist/url.d.cts +20 -0
  55. package/dist/url.d.ts +20 -0
  56. package/dist/url.js +24 -0
  57. package/dist/url.js.map +1 -0
  58. package/dist/validation.cjs +89 -186
  59. package/dist/validation.d.cts +7 -243
  60. package/dist/validation.d.ts +7 -243
  61. package/dist/validation.js +8 -0
  62. package/package.json +6 -6
  63. package/dist/environment.cjs.map +0 -1
  64. package/dist/environment.mjs +0 -384
  65. package/dist/environment.mjs.map +0 -1
  66. package/dist/filesystem.cjs.map +0 -1
  67. package/dist/filesystem.mjs +0 -105
  68. package/dist/filesystem.mjs.map +0 -1
  69. package/dist/http.cjs.map +0 -1
  70. package/dist/http.mjs +0 -80
  71. package/dist/http.mjs.map +0 -1
  72. package/dist/index.cjs.map +0 -1
  73. package/dist/index.mjs +0 -90
  74. package/dist/index.mjs.map +0 -1
  75. package/dist/logging.cjs.map +0 -1
  76. package/dist/logging.mjs +0 -123
  77. package/dist/logging.mjs.map +0 -1
  78. package/dist/package-manager.cjs.map +0 -1
  79. package/dist/package-manager.mjs +0 -167
  80. package/dist/package-manager.mjs.map +0 -1
  81. package/dist/runtime.cjs.map +0 -1
  82. package/dist/runtime.mjs +0 -23
  83. package/dist/runtime.mjs.map +0 -1
  84. package/dist/terminal.cjs.map +0 -1
  85. package/dist/terminal.mjs +0 -230
  86. package/dist/terminal.mjs.map +0 -1
  87. package/dist/validation.cjs.map +0 -1
  88. package/dist/validation.mjs +0 -161
  89. package/dist/validation.mjs.map +0 -1
@@ -1,176 +1,3 @@
1
- import { z } from 'zod/v4';
2
-
3
- /**
4
- * Schema for validating environment variables used by the SettleMint SDK.
5
- * Defines validation rules and types for configuration values like URLs,
6
- * access tokens, workspace names, and service endpoints.
7
- */
8
- declare const DotEnvSchema: z.ZodObject<{
9
- SETTLEMINT_INSTANCE: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"standalone">]>>;
10
- SETTLEMINT_ACCESS_TOKEN: z.ZodOptional<z.ZodString>;
11
- SETTLEMINT_PERSONAL_ACCESS_TOKEN: z.ZodOptional<z.ZodString>;
12
- SETTLEMINT_WORKSPACE: z.ZodOptional<z.ZodString>;
13
- SETTLEMINT_APPLICATION: z.ZodOptional<z.ZodString>;
14
- SETTLEMINT_BLOCKCHAIN_NETWORK: z.ZodOptional<z.ZodString>;
15
- SETTLEMINT_BLOCKCHAIN_NETWORK_CHAIN_ID: z.ZodOptional<z.ZodString>;
16
- SETTLEMINT_BLOCKCHAIN_NODE: z.ZodOptional<z.ZodString>;
17
- SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodString>;
18
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: z.ZodOptional<z.ZodString>;
19
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodString>;
20
- SETTLEMINT_HASURA: z.ZodOptional<z.ZodString>;
21
- SETTLEMINT_HASURA_ENDPOINT: z.ZodOptional<z.ZodString>;
22
- SETTLEMINT_HASURA_ADMIN_SECRET: z.ZodOptional<z.ZodString>;
23
- SETTLEMINT_HASURA_DATABASE_URL: z.ZodOptional<z.ZodString>;
24
- SETTLEMINT_THEGRAPH: z.ZodOptional<z.ZodString>;
25
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: z.ZodPipe<z.ZodTransform<never[] | null, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>;
26
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: z.ZodOptional<z.ZodString>;
27
- SETTLEMINT_PORTAL: z.ZodOptional<z.ZodString>;
28
- SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodString>;
29
- SETTLEMINT_PORTAL_REST_ENDPOINT: z.ZodOptional<z.ZodString>;
30
- SETTLEMINT_PORTAL_WS_ENDPOINT: z.ZodOptional<z.ZodString>;
31
- SETTLEMINT_HD_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
32
- SETTLEMINT_HD_PRIVATE_KEY_FORWARDER_ADDRESS: z.ZodOptional<z.ZodString>;
33
- SETTLEMINT_ACCESSIBLE_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
34
- SETTLEMINT_MINIO: z.ZodOptional<z.ZodString>;
35
- SETTLEMINT_MINIO_ENDPOINT: z.ZodOptional<z.ZodString>;
36
- SETTLEMINT_MINIO_ACCESS_KEY: z.ZodOptional<z.ZodString>;
37
- SETTLEMINT_MINIO_SECRET_KEY: z.ZodOptional<z.ZodString>;
38
- SETTLEMINT_IPFS: z.ZodOptional<z.ZodString>;
39
- SETTLEMINT_IPFS_API_ENDPOINT: z.ZodOptional<z.ZodString>;
40
- SETTLEMINT_IPFS_PINNING_ENDPOINT: z.ZodOptional<z.ZodString>;
41
- SETTLEMINT_IPFS_GATEWAY_ENDPOINT: z.ZodOptional<z.ZodString>;
42
- SETTLEMINT_CUSTOM_DEPLOYMENT: z.ZodOptional<z.ZodString>;
43
- SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT: z.ZodOptional<z.ZodString>;
44
- SETTLEMINT_BLOCKSCOUT: z.ZodOptional<z.ZodString>;
45
- SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodString>;
46
- SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT: z.ZodOptional<z.ZodString>;
47
- SETTLEMINT_NEW_PROJECT_NAME: z.ZodOptional<z.ZodString>;
48
- SETTLEMINT_LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
49
- error: "error";
50
- info: "info";
51
- warn: "warn";
52
- debug: "debug";
53
- none: "none";
54
- }>>;
55
- }, z.core.$strip>;
56
- /**
57
- * Type definition for the environment variables schema.
58
- */
59
- type DotEnv = z.infer<typeof DotEnvSchema>;
60
- /**
61
- * Partial version of the environment variables schema where all fields are optional.
62
- * Useful for validating incomplete configurations during development or build time.
63
- */
64
- declare const DotEnvSchemaPartial: z.ZodObject<{
65
- SETTLEMINT_INSTANCE: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"standalone">]>>>;
66
- SETTLEMINT_ACCESS_TOKEN: z.ZodOptional<z.ZodOptional<z.ZodString>>;
67
- SETTLEMINT_PERSONAL_ACCESS_TOKEN: z.ZodOptional<z.ZodOptional<z.ZodString>>;
68
- SETTLEMINT_WORKSPACE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
69
- SETTLEMINT_APPLICATION: z.ZodOptional<z.ZodOptional<z.ZodString>>;
70
- SETTLEMINT_BLOCKCHAIN_NETWORK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
- SETTLEMINT_BLOCKCHAIN_NETWORK_CHAIN_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
72
- SETTLEMINT_BLOCKCHAIN_NODE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
73
- SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
74
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: z.ZodOptional<z.ZodOptional<z.ZodString>>;
75
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
76
- SETTLEMINT_HASURA: z.ZodOptional<z.ZodOptional<z.ZodString>>;
77
- SETTLEMINT_HASURA_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
78
- SETTLEMINT_HASURA_ADMIN_SECRET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
79
- SETTLEMINT_HASURA_DATABASE_URL: z.ZodOptional<z.ZodOptional<z.ZodString>>;
80
- SETTLEMINT_THEGRAPH: z.ZodOptional<z.ZodOptional<z.ZodString>>;
81
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: z.ZodOptional<z.ZodPipe<z.ZodTransform<never[] | null, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>>;
82
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: z.ZodOptional<z.ZodOptional<z.ZodString>>;
83
- SETTLEMINT_PORTAL: z.ZodOptional<z.ZodOptional<z.ZodString>>;
84
- SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
85
- SETTLEMINT_PORTAL_REST_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
86
- SETTLEMINT_PORTAL_WS_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
87
- SETTLEMINT_HD_PRIVATE_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
88
- SETTLEMINT_HD_PRIVATE_KEY_FORWARDER_ADDRESS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
89
- SETTLEMINT_ACCESSIBLE_PRIVATE_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
90
- SETTLEMINT_MINIO: z.ZodOptional<z.ZodOptional<z.ZodString>>;
91
- SETTLEMINT_MINIO_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
92
- SETTLEMINT_MINIO_ACCESS_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
93
- SETTLEMINT_MINIO_SECRET_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
94
- SETTLEMINT_IPFS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
95
- SETTLEMINT_IPFS_API_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
96
- SETTLEMINT_IPFS_PINNING_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
97
- SETTLEMINT_IPFS_GATEWAY_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
98
- SETTLEMINT_CUSTOM_DEPLOYMENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
99
- SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
100
- SETTLEMINT_BLOCKSCOUT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
101
- SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
102
- SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
103
- SETTLEMINT_NEW_PROJECT_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
104
- SETTLEMINT_LOG_LEVEL: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
105
- error: "error";
106
- info: "info";
107
- warn: "warn";
108
- debug: "debug";
109
- none: "none";
110
- }>>>;
111
- }, z.core.$strip>;
112
- /**
113
- * Type definition for the partial environment variables schema.
114
- */
115
- type DotEnvPartial = z.infer<typeof DotEnvSchemaPartial>;
116
-
117
- /**
118
- * Loads environment variables from .env files.
119
- * To enable encryption with dotenvx (https://www.dotenvx.com/docs) run `bunx dotenvx encrypt`
120
- *
121
- * @param validateEnv - Whether to validate the environment variables against the schema
122
- * @param prod - Whether to load production environment variables
123
- * @param path - Optional path to the directory containing .env files. Defaults to process.cwd()
124
- * @returns A promise that resolves to the validated environment variables
125
- * @throws Will throw an error if validation fails and validateEnv is true
126
- * @example
127
- * import { loadEnv } from '@settlemint/sdk-utils/environment';
128
- *
129
- * // Load and validate environment variables
130
- * const env = await loadEnv(true, false);
131
- * console.log(env.SETTLEMINT_INSTANCE);
132
- *
133
- * // Load without validation
134
- * const rawEnv = await loadEnv(false, false);
135
- */
136
- declare function loadEnv<T extends boolean = true>(validateEnv: T, prod: boolean, path?: string): Promise<T extends true ? DotEnv : DotEnvPartial>;
137
-
138
- /**
139
- * Writes environment variables to .env files across a project or monorepo
140
- *
141
- * @param options - The options for writing the environment variables
142
- * @param options.prod - Whether to write production environment variables
143
- * @param options.env - The environment variables to write
144
- * @param options.secrets - Whether to write to .env.local files for secrets
145
- * @param options.cwd - The directory to start searching for the package.json file from (defaults to process.cwd())
146
- * @returns Promise that resolves when writing is complete
147
- * @throws Will throw an error if writing fails
148
- * @example
149
- * import { writeEnv } from '@settlemint/sdk-utils/environment';
150
- *
151
- * // Write development environment variables
152
- * await writeEnv({
153
- * prod: false,
154
- * env: {
155
- * SETTLEMINT_INSTANCE: 'https://dev.example.com'
156
- * },
157
- * secrets: false
158
- * });
159
- *
160
- * // Write production secrets
161
- * await writeEnv({
162
- * prod: true,
163
- * env: {
164
- * SETTLEMINT_ACCESS_TOKEN: 'secret-token'
165
- * },
166
- * secrets: true
167
- * });
168
- */
169
- declare function writeEnv({ prod, env, secrets, cwd, }: {
170
- prod: boolean;
171
- env: Partial<DotEnv>;
172
- secrets: boolean;
173
- cwd?: string;
174
- }): Promise<void>;
175
-
176
- export { loadEnv, writeEnv };
1
+ import { loadEnv } from "./environment/load-env.js";
2
+ import { writeEnv } from "./environment/write-env.js";
3
+ export { loadEnv, writeEnv };
@@ -1,176 +1,3 @@
1
- import { z } from 'zod/v4';
2
-
3
- /**
4
- * Schema for validating environment variables used by the SettleMint SDK.
5
- * Defines validation rules and types for configuration values like URLs,
6
- * access tokens, workspace names, and service endpoints.
7
- */
8
- declare const DotEnvSchema: z.ZodObject<{
9
- SETTLEMINT_INSTANCE: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"standalone">]>>;
10
- SETTLEMINT_ACCESS_TOKEN: z.ZodOptional<z.ZodString>;
11
- SETTLEMINT_PERSONAL_ACCESS_TOKEN: z.ZodOptional<z.ZodString>;
12
- SETTLEMINT_WORKSPACE: z.ZodOptional<z.ZodString>;
13
- SETTLEMINT_APPLICATION: z.ZodOptional<z.ZodString>;
14
- SETTLEMINT_BLOCKCHAIN_NETWORK: z.ZodOptional<z.ZodString>;
15
- SETTLEMINT_BLOCKCHAIN_NETWORK_CHAIN_ID: z.ZodOptional<z.ZodString>;
16
- SETTLEMINT_BLOCKCHAIN_NODE: z.ZodOptional<z.ZodString>;
17
- SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodString>;
18
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: z.ZodOptional<z.ZodString>;
19
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodString>;
20
- SETTLEMINT_HASURA: z.ZodOptional<z.ZodString>;
21
- SETTLEMINT_HASURA_ENDPOINT: z.ZodOptional<z.ZodString>;
22
- SETTLEMINT_HASURA_ADMIN_SECRET: z.ZodOptional<z.ZodString>;
23
- SETTLEMINT_HASURA_DATABASE_URL: z.ZodOptional<z.ZodString>;
24
- SETTLEMINT_THEGRAPH: z.ZodOptional<z.ZodString>;
25
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: z.ZodPipe<z.ZodTransform<never[] | null, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>;
26
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: z.ZodOptional<z.ZodString>;
27
- SETTLEMINT_PORTAL: z.ZodOptional<z.ZodString>;
28
- SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodString>;
29
- SETTLEMINT_PORTAL_REST_ENDPOINT: z.ZodOptional<z.ZodString>;
30
- SETTLEMINT_PORTAL_WS_ENDPOINT: z.ZodOptional<z.ZodString>;
31
- SETTLEMINT_HD_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
32
- SETTLEMINT_HD_PRIVATE_KEY_FORWARDER_ADDRESS: z.ZodOptional<z.ZodString>;
33
- SETTLEMINT_ACCESSIBLE_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
34
- SETTLEMINT_MINIO: z.ZodOptional<z.ZodString>;
35
- SETTLEMINT_MINIO_ENDPOINT: z.ZodOptional<z.ZodString>;
36
- SETTLEMINT_MINIO_ACCESS_KEY: z.ZodOptional<z.ZodString>;
37
- SETTLEMINT_MINIO_SECRET_KEY: z.ZodOptional<z.ZodString>;
38
- SETTLEMINT_IPFS: z.ZodOptional<z.ZodString>;
39
- SETTLEMINT_IPFS_API_ENDPOINT: z.ZodOptional<z.ZodString>;
40
- SETTLEMINT_IPFS_PINNING_ENDPOINT: z.ZodOptional<z.ZodString>;
41
- SETTLEMINT_IPFS_GATEWAY_ENDPOINT: z.ZodOptional<z.ZodString>;
42
- SETTLEMINT_CUSTOM_DEPLOYMENT: z.ZodOptional<z.ZodString>;
43
- SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT: z.ZodOptional<z.ZodString>;
44
- SETTLEMINT_BLOCKSCOUT: z.ZodOptional<z.ZodString>;
45
- SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodString>;
46
- SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT: z.ZodOptional<z.ZodString>;
47
- SETTLEMINT_NEW_PROJECT_NAME: z.ZodOptional<z.ZodString>;
48
- SETTLEMINT_LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
49
- error: "error";
50
- info: "info";
51
- warn: "warn";
52
- debug: "debug";
53
- none: "none";
54
- }>>;
55
- }, z.core.$strip>;
56
- /**
57
- * Type definition for the environment variables schema.
58
- */
59
- type DotEnv = z.infer<typeof DotEnvSchema>;
60
- /**
61
- * Partial version of the environment variables schema where all fields are optional.
62
- * Useful for validating incomplete configurations during development or build time.
63
- */
64
- declare const DotEnvSchemaPartial: z.ZodObject<{
65
- SETTLEMINT_INSTANCE: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"standalone">]>>>;
66
- SETTLEMINT_ACCESS_TOKEN: z.ZodOptional<z.ZodOptional<z.ZodString>>;
67
- SETTLEMINT_PERSONAL_ACCESS_TOKEN: z.ZodOptional<z.ZodOptional<z.ZodString>>;
68
- SETTLEMINT_WORKSPACE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
69
- SETTLEMINT_APPLICATION: z.ZodOptional<z.ZodOptional<z.ZodString>>;
70
- SETTLEMINT_BLOCKCHAIN_NETWORK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
- SETTLEMINT_BLOCKCHAIN_NETWORK_CHAIN_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
72
- SETTLEMINT_BLOCKCHAIN_NODE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
73
- SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
74
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER: z.ZodOptional<z.ZodOptional<z.ZodString>>;
75
- SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
76
- SETTLEMINT_HASURA: z.ZodOptional<z.ZodOptional<z.ZodString>>;
77
- SETTLEMINT_HASURA_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
78
- SETTLEMINT_HASURA_ADMIN_SECRET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
79
- SETTLEMINT_HASURA_DATABASE_URL: z.ZodOptional<z.ZodOptional<z.ZodString>>;
80
- SETTLEMINT_THEGRAPH: z.ZodOptional<z.ZodOptional<z.ZodString>>;
81
- SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: z.ZodOptional<z.ZodPipe<z.ZodTransform<never[] | null, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>>;
82
- SETTLEMINT_THEGRAPH_DEFAULT_SUBGRAPH: z.ZodOptional<z.ZodOptional<z.ZodString>>;
83
- SETTLEMINT_PORTAL: z.ZodOptional<z.ZodOptional<z.ZodString>>;
84
- SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
85
- SETTLEMINT_PORTAL_REST_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
86
- SETTLEMINT_PORTAL_WS_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
87
- SETTLEMINT_HD_PRIVATE_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
88
- SETTLEMINT_HD_PRIVATE_KEY_FORWARDER_ADDRESS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
89
- SETTLEMINT_ACCESSIBLE_PRIVATE_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
90
- SETTLEMINT_MINIO: z.ZodOptional<z.ZodOptional<z.ZodString>>;
91
- SETTLEMINT_MINIO_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
92
- SETTLEMINT_MINIO_ACCESS_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
93
- SETTLEMINT_MINIO_SECRET_KEY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
94
- SETTLEMINT_IPFS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
95
- SETTLEMINT_IPFS_API_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
96
- SETTLEMINT_IPFS_PINNING_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
97
- SETTLEMINT_IPFS_GATEWAY_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
98
- SETTLEMINT_CUSTOM_DEPLOYMENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
99
- SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
100
- SETTLEMINT_BLOCKSCOUT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
101
- SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
102
- SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
103
- SETTLEMINT_NEW_PROJECT_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
104
- SETTLEMINT_LOG_LEVEL: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
105
- error: "error";
106
- info: "info";
107
- warn: "warn";
108
- debug: "debug";
109
- none: "none";
110
- }>>>;
111
- }, z.core.$strip>;
112
- /**
113
- * Type definition for the partial environment variables schema.
114
- */
115
- type DotEnvPartial = z.infer<typeof DotEnvSchemaPartial>;
116
-
117
- /**
118
- * Loads environment variables from .env files.
119
- * To enable encryption with dotenvx (https://www.dotenvx.com/docs) run `bunx dotenvx encrypt`
120
- *
121
- * @param validateEnv - Whether to validate the environment variables against the schema
122
- * @param prod - Whether to load production environment variables
123
- * @param path - Optional path to the directory containing .env files. Defaults to process.cwd()
124
- * @returns A promise that resolves to the validated environment variables
125
- * @throws Will throw an error if validation fails and validateEnv is true
126
- * @example
127
- * import { loadEnv } from '@settlemint/sdk-utils/environment';
128
- *
129
- * // Load and validate environment variables
130
- * const env = await loadEnv(true, false);
131
- * console.log(env.SETTLEMINT_INSTANCE);
132
- *
133
- * // Load without validation
134
- * const rawEnv = await loadEnv(false, false);
135
- */
136
- declare function loadEnv<T extends boolean = true>(validateEnv: T, prod: boolean, path?: string): Promise<T extends true ? DotEnv : DotEnvPartial>;
137
-
138
- /**
139
- * Writes environment variables to .env files across a project or monorepo
140
- *
141
- * @param options - The options for writing the environment variables
142
- * @param options.prod - Whether to write production environment variables
143
- * @param options.env - The environment variables to write
144
- * @param options.secrets - Whether to write to .env.local files for secrets
145
- * @param options.cwd - The directory to start searching for the package.json file from (defaults to process.cwd())
146
- * @returns Promise that resolves when writing is complete
147
- * @throws Will throw an error if writing fails
148
- * @example
149
- * import { writeEnv } from '@settlemint/sdk-utils/environment';
150
- *
151
- * // Write development environment variables
152
- * await writeEnv({
153
- * prod: false,
154
- * env: {
155
- * SETTLEMINT_INSTANCE: 'https://dev.example.com'
156
- * },
157
- * secrets: false
158
- * });
159
- *
160
- * // Write production secrets
161
- * await writeEnv({
162
- * prod: true,
163
- * env: {
164
- * SETTLEMINT_ACCESS_TOKEN: 'secret-token'
165
- * },
166
- * secrets: true
167
- * });
168
- */
169
- declare function writeEnv({ prod, env, secrets, cwd, }: {
170
- prod: boolean;
171
- env: Partial<DotEnv>;
172
- secrets: boolean;
173
- cwd?: string;
174
- }): Promise<void>;
175
-
176
- export { loadEnv, writeEnv };
1
+ import { loadEnv } from "./environment/load-env.js";
2
+ import { writeEnv } from "./environment/write-env.js";
3
+ export { loadEnv, writeEnv };
@@ -0,0 +1,4 @@
1
+ import { loadEnv } from "./environment/load-env.js";
2
+ import { writeEnv } from "./environment/write-env.js";
3
+
4
+ export { loadEnv, writeEnv };
@@ -1,135 +1,51 @@
1
- "use strict";
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
8
  var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
17
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/filesystem.ts
21
- var filesystem_exports = {};
22
- __export(filesystem_exports, {
23
- exists: () => exists,
24
- findMonoRepoPackages: () => findMonoRepoPackages,
25
- findMonoRepoRoot: () => findMonoRepoRoot,
26
- projectRoot: () => projectRoot
27
- });
28
- module.exports = __toCommonJS(filesystem_exports);
29
-
30
- // src/filesystem/project-root.ts
31
- var import_node_path = require("path");
32
- var import_find_up = require("find-up");
33
- async function projectRoot(fallbackToCwd = false, cwd) {
34
- const packageJsonPath = await (0, import_find_up.findUp)("package.json", { cwd });
35
- if (!packageJsonPath) {
36
- if (fallbackToCwd) {
37
- return process.cwd();
38
- }
39
- throw new Error("Unable to find project root (no package.json found)");
40
- }
41
- return (0, import_node_path.dirname)(packageJsonPath);
42
- }
43
-
44
- // src/filesystem/exists.ts
45
- var import_promises = require("fs/promises");
46
- async function exists(path) {
47
- try {
48
- await (0, import_promises.stat)(path);
49
- return true;
50
- } catch {
51
- return false;
52
- }
53
- }
54
-
55
- // src/filesystem/mono-repo.ts
56
- var import_promises2 = require("fs/promises");
57
- var import_node_path2 = require("path");
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
58
22
 
59
- // src/json.ts
60
- function tryParseJson(value, defaultValue = null) {
61
- try {
62
- const parsed = JSON.parse(value);
63
- if (parsed === void 0 || parsed === null) {
64
- return defaultValue;
65
- }
66
- return parsed;
67
- } catch (err) {
68
- return defaultValue;
69
- }
70
- }
23
+ //#endregion
24
+ const src_filesystem_project_root_js = __toESM(require("./filesystem/project-root.js"));
25
+ const src_filesystem_exists_js = __toESM(require("./filesystem/exists.js"));
26
+ const src_filesystem_mono_repo_js = __toESM(require("./filesystem/mono-repo.js"));
71
27
 
72
- // src/filesystem/mono-repo.ts
73
- var import_find_up2 = require("find-up");
74
- var import_glob = require("glob");
75
- async function findMonoRepoRoot(startDir) {
76
- const lockFilePath = await (0, import_find_up2.findUp)(["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb", "bun.lock"], {
77
- cwd: startDir
78
- });
79
- if (lockFilePath) {
80
- const packageJsonPath = (0, import_node_path2.join)((0, import_node_path2.dirname)(lockFilePath), "package.json");
81
- const hasWorkSpaces = await packageJsonHasWorkspaces(packageJsonPath);
82
- return hasWorkSpaces ? (0, import_node_path2.dirname)(lockFilePath) : null;
83
- }
84
- let currentDir = startDir;
85
- while (currentDir !== "/") {
86
- const packageJsonPath = (0, import_node_path2.join)(currentDir, "package.json");
87
- if (await packageJsonHasWorkspaces(packageJsonPath)) {
88
- return currentDir;
89
- }
90
- const parentDir = (0, import_node_path2.dirname)(currentDir);
91
- if (parentDir === currentDir) {
92
- break;
93
- }
94
- currentDir = parentDir;
28
+ Object.defineProperty(exports, 'exists', {
29
+ enumerable: true,
30
+ get: function () {
31
+ return src_filesystem_exists_js.exists;
95
32
  }
96
- return null;
97
- }
98
- async function findMonoRepoPackages(projectDir) {
99
- try {
100
- const monoRepoRoot = await findMonoRepoRoot(projectDir);
101
- if (!monoRepoRoot) {
102
- return [projectDir];
103
- }
104
- const packageJsonPath = (0, import_node_path2.join)(monoRepoRoot, "package.json");
105
- const packageJson = tryParseJson(await (0, import_promises2.readFile)(packageJsonPath, "utf-8"));
106
- const workspaces = packageJson?.workspaces ?? [];
107
- const packagePaths = await Promise.all(
108
- workspaces.map(async (workspace) => {
109
- const matches = await (0, import_glob.glob)((0, import_node_path2.join)(monoRepoRoot, workspace, "package.json"));
110
- return matches.map((match) => (0, import_node_path2.join)(match, ".."));
111
- })
112
- );
113
- const allPaths = packagePaths.flat();
114
- return allPaths.length === 0 ? [projectDir] : [monoRepoRoot, ...allPaths];
115
- } catch (error) {
116
- return [projectDir];
33
+ });
34
+ Object.defineProperty(exports, 'findMonoRepoPackages', {
35
+ enumerable: true,
36
+ get: function () {
37
+ return src_filesystem_mono_repo_js.findMonoRepoPackages;
117
38
  }
118
- }
119
- async function packageJsonHasWorkspaces(packageJsonPath) {
120
- if (await exists(packageJsonPath)) {
121
- const packageJson = tryParseJson(await (0, import_promises2.readFile)(packageJsonPath, "utf-8"));
122
- if (packageJson?.workspaces && Array.isArray(packageJson?.workspaces) && packageJson?.workspaces.length > 0) {
123
- return true;
124
- }
39
+ });
40
+ Object.defineProperty(exports, 'findMonoRepoRoot', {
41
+ enumerable: true,
42
+ get: function () {
43
+ return src_filesystem_mono_repo_js.findMonoRepoRoot;
125
44
  }
126
- return false;
127
- }
128
- // Annotate the CommonJS export names for ESM import in node:
129
- 0 && (module.exports = {
130
- exists,
131
- findMonoRepoPackages,
132
- findMonoRepoRoot,
133
- projectRoot
134
45
  });
135
- //# sourceMappingURL=filesystem.cjs.map
46
+ Object.defineProperty(exports, 'projectRoot', {
47
+ enumerable: true,
48
+ get: function () {
49
+ return src_filesystem_project_root_js.projectRoot;
50
+ }
51
+ });
@@ -1,59 +1,4 @@
1
- import { PathLike } from 'node:fs';
2
-
3
- /**
4
- * Finds the root directory of the current project by locating the nearest package.json file
5
- *
6
- * @param fallbackToCwd - If true, will return the current working directory if no package.json is found
7
- * @param cwd - The directory to start searching for the package.json file from (defaults to process.cwd())
8
- * @returns Promise that resolves to the absolute path of the project root directory
9
- * @throws Will throw an error if no package.json is found in the directory tree
10
- * @example
11
- * import { projectRoot } from "@settlemint/sdk-utils/filesystem";
12
- *
13
- * // Get project root path
14
- * const rootDir = await projectRoot();
15
- * console.log(`Project root is at: ${rootDir}`);
16
- */
17
- declare function projectRoot(fallbackToCwd?: boolean, cwd?: string): Promise<string>;
18
-
19
- /**
20
- * Checks if a file or directory exists at the given path
21
- *
22
- * @param path - The file system path to check for existence
23
- * @returns Promise that resolves to true if the path exists, false otherwise
24
- * @example
25
- * import { exists } from "@settlemint/sdk-utils/filesystem";
26
- *
27
- * // Check if file exists before reading
28
- * if (await exists('/path/to/file.txt')) {
29
- * // File exists, safe to read
30
- * }
31
- */
32
- declare function exists(path: PathLike): Promise<boolean>;
33
-
34
- /**
35
- * Finds the root directory of a monorepo
36
- *
37
- * @param startDir - The directory to start searching from
38
- * @returns The root directory of the monorepo or null if not found
39
- * @example
40
- * import { findMonoRepoRoot } from "@settlemint/sdk-utils/filesystem";
41
- *
42
- * const root = await findMonoRepoRoot("/path/to/your/project");
43
- * console.log(root); // Output: /path/to/your/project/packages/core
44
- */
45
- declare function findMonoRepoRoot(startDir: string): Promise<string | null>;
46
- /**
47
- * Finds all packages in a monorepo
48
- *
49
- * @param projectDir - The directory to start searching from
50
- * @returns An array of package directories
51
- * @example
52
- * import { findMonoRepoPackages } from "@settlemint/sdk-utils/filesystem";
53
- *
54
- * const packages = await findMonoRepoPackages("/path/to/your/project");
55
- * console.log(packages); // Output: ["/path/to/your/project/packages/core", "/path/to/your/project/packages/ui"]
56
- */
57
- declare function findMonoRepoPackages(projectDir: string): Promise<string[]>;
58
-
59
- export { exists, findMonoRepoPackages, findMonoRepoRoot, projectRoot };
1
+ import { projectRoot } from "./filesystem/project-root.js";
2
+ import { exists } from "./filesystem/exists.js";
3
+ import { findMonoRepoPackages, findMonoRepoRoot } from "./filesystem/mono-repo.js";
4
+ export { exists, findMonoRepoPackages, findMonoRepoRoot, projectRoot };
@@ -1,59 +1,4 @@
1
- import { PathLike } from 'node:fs';
2
-
3
- /**
4
- * Finds the root directory of the current project by locating the nearest package.json file
5
- *
6
- * @param fallbackToCwd - If true, will return the current working directory if no package.json is found
7
- * @param cwd - The directory to start searching for the package.json file from (defaults to process.cwd())
8
- * @returns Promise that resolves to the absolute path of the project root directory
9
- * @throws Will throw an error if no package.json is found in the directory tree
10
- * @example
11
- * import { projectRoot } from "@settlemint/sdk-utils/filesystem";
12
- *
13
- * // Get project root path
14
- * const rootDir = await projectRoot();
15
- * console.log(`Project root is at: ${rootDir}`);
16
- */
17
- declare function projectRoot(fallbackToCwd?: boolean, cwd?: string): Promise<string>;
18
-
19
- /**
20
- * Checks if a file or directory exists at the given path
21
- *
22
- * @param path - The file system path to check for existence
23
- * @returns Promise that resolves to true if the path exists, false otherwise
24
- * @example
25
- * import { exists } from "@settlemint/sdk-utils/filesystem";
26
- *
27
- * // Check if file exists before reading
28
- * if (await exists('/path/to/file.txt')) {
29
- * // File exists, safe to read
30
- * }
31
- */
32
- declare function exists(path: PathLike): Promise<boolean>;
33
-
34
- /**
35
- * Finds the root directory of a monorepo
36
- *
37
- * @param startDir - The directory to start searching from
38
- * @returns The root directory of the monorepo or null if not found
39
- * @example
40
- * import { findMonoRepoRoot } from "@settlemint/sdk-utils/filesystem";
41
- *
42
- * const root = await findMonoRepoRoot("/path/to/your/project");
43
- * console.log(root); // Output: /path/to/your/project/packages/core
44
- */
45
- declare function findMonoRepoRoot(startDir: string): Promise<string | null>;
46
- /**
47
- * Finds all packages in a monorepo
48
- *
49
- * @param projectDir - The directory to start searching from
50
- * @returns An array of package directories
51
- * @example
52
- * import { findMonoRepoPackages } from "@settlemint/sdk-utils/filesystem";
53
- *
54
- * const packages = await findMonoRepoPackages("/path/to/your/project");
55
- * console.log(packages); // Output: ["/path/to/your/project/packages/core", "/path/to/your/project/packages/ui"]
56
- */
57
- declare function findMonoRepoPackages(projectDir: string): Promise<string[]>;
58
-
59
- export { exists, findMonoRepoPackages, findMonoRepoRoot, projectRoot };
1
+ import { projectRoot } from "./filesystem/project-root.js";
2
+ import { exists } from "./filesystem/exists.js";
3
+ import { findMonoRepoPackages, findMonoRepoRoot } from "./filesystem/mono-repo.js";
4
+ export { exists, findMonoRepoPackages, findMonoRepoRoot, projectRoot };