@junobuild/config 0.4.3 → 1.0.1

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.
@@ -1,12 +1,13 @@
1
1
  import { type PrincipalText } from '@dfinity/zod-schemas';
2
2
  import * as z from 'zod/v4';
3
- import { type ModuleSettings } from '../../../module/module.settings';
4
- import { type StorageConfig } from '../../../shared/storage.config';
5
- import type { CliConfig } from '../../../types/cli.config';
6
- import { type JunoConfigMode } from '../../../types/juno.env';
7
- import type { Either } from '../../../types/utility.types';
3
+ import { type ModuleSettings } from '../../module/module.settings';
4
+ import { type StorageConfig } from '../../shared/storage.config';
5
+ import type { CliConfig } from '../../types/cli.config';
6
+ import { type JunoConfigMode } from '../../types/juno.env';
7
+ import type { Either } from '../../types/utility.types';
8
8
  import { type SatelliteAssertions } from './assertions.config';
9
9
  import { type AuthenticationConfig } from './authentication.config';
10
+ import { type Collections } from './collections';
10
11
  import { type DatastoreConfig } from './datastore.config';
11
12
  /**
12
13
  * @see SatelliteId
@@ -78,18 +79,24 @@ export declare const SatelliteConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObj
78
79
  heap: z.ZodOptional<z.ZodBigInt>;
79
80
  stable: z.ZodOptional<z.ZodBigInt>;
80
81
  }, z.core.$strict>>;
82
+ version: z.ZodOptional<z.ZodBigInt>;
81
83
  }, z.core.$strip>>;
82
84
  datastore: z.ZodOptional<z.ZodObject<{
83
85
  maxMemorySize: z.ZodOptional<z.ZodObject<{
84
86
  heap: z.ZodOptional<z.ZodBigInt>;
85
87
  stable: z.ZodOptional<z.ZodBigInt>;
86
88
  }, z.core.$strict>>;
89
+ version: z.ZodOptional<z.ZodBigInt>;
87
90
  }, z.core.$strict>>;
88
91
  authentication: z.ZodOptional<z.ZodObject<{
89
92
  internetIdentity: z.ZodOptional<z.ZodObject<{
90
93
  derivationOrigin: z.ZodOptional<z.ZodURL>;
91
94
  externalAlternativeOrigins: z.ZodOptional<z.ZodArray<z.ZodURL>>;
92
95
  }, z.core.$strict>>;
96
+ rules: z.ZodOptional<z.ZodObject<{
97
+ allowedCallers: z.ZodArray<z.ZodString>;
98
+ }, z.core.$strict>>;
99
+ version: z.ZodOptional<z.ZodBigInt>;
93
100
  }, z.core.$strict>>;
94
101
  assertions: z.ZodOptional<z.ZodObject<{
95
102
  heapMemory: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
@@ -105,6 +112,56 @@ export declare const SatelliteConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObj
105
112
  memoryAllocation: z.ZodOptional<z.ZodBigInt>;
106
113
  computeAllocation: z.ZodOptional<z.ZodBigInt>;
107
114
  }, z.core.$strict>>;
115
+ collections: z.ZodOptional<z.ZodObject<{
116
+ datastore: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
+ version: z.ZodOptional<z.ZodBigInt>;
118
+ collection: z.ZodString;
119
+ read: z.ZodEnum<{
120
+ controllers: "controllers";
121
+ public: "public";
122
+ private: "private";
123
+ managed: "managed";
124
+ }>;
125
+ write: z.ZodEnum<{
126
+ controllers: "controllers";
127
+ public: "public";
128
+ private: "private";
129
+ managed: "managed";
130
+ }>;
131
+ memory: z.ZodEnum<{
132
+ heap: "heap";
133
+ stable: "stable";
134
+ }>;
135
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
136
+ maxCapacity: z.ZodOptional<z.ZodNumber>;
137
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
138
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
139
+ }, z.core.$strict>>>;
140
+ storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ version: z.ZodOptional<z.ZodBigInt>;
142
+ collection: z.ZodString;
143
+ read: z.ZodEnum<{
144
+ controllers: "controllers";
145
+ public: "public";
146
+ private: "private";
147
+ managed: "managed";
148
+ }>;
149
+ write: z.ZodEnum<{
150
+ controllers: "controllers";
151
+ public: "public";
152
+ private: "private";
153
+ managed: "managed";
154
+ }>;
155
+ memory: z.ZodEnum<{
156
+ heap: "heap";
157
+ stable: "stable";
158
+ }>;
159
+ maxSize: z.ZodOptional<z.ZodBigInt>;
160
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
161
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
162
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
163
+ }, z.core.$strict>>>;
164
+ }, z.core.$strict>>;
108
165
  id: z.ZodString;
109
166
  }, z.core.$strict>, z.ZodObject<{
110
167
  storage: z.ZodOptional<z.ZodObject<{
@@ -131,18 +188,24 @@ export declare const SatelliteConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObj
131
188
  heap: z.ZodOptional<z.ZodBigInt>;
132
189
  stable: z.ZodOptional<z.ZodBigInt>;
133
190
  }, z.core.$strict>>;
191
+ version: z.ZodOptional<z.ZodBigInt>;
134
192
  }, z.core.$strip>>;
135
193
  datastore: z.ZodOptional<z.ZodObject<{
136
194
  maxMemorySize: z.ZodOptional<z.ZodObject<{
137
195
  heap: z.ZodOptional<z.ZodBigInt>;
138
196
  stable: z.ZodOptional<z.ZodBigInt>;
139
197
  }, z.core.$strict>>;
198
+ version: z.ZodOptional<z.ZodBigInt>;
140
199
  }, z.core.$strict>>;
141
200
  authentication: z.ZodOptional<z.ZodObject<{
142
201
  internetIdentity: z.ZodOptional<z.ZodObject<{
143
202
  derivationOrigin: z.ZodOptional<z.ZodURL>;
144
203
  externalAlternativeOrigins: z.ZodOptional<z.ZodArray<z.ZodURL>>;
145
204
  }, z.core.$strict>>;
205
+ rules: z.ZodOptional<z.ZodObject<{
206
+ allowedCallers: z.ZodArray<z.ZodString>;
207
+ }, z.core.$strict>>;
208
+ version: z.ZodOptional<z.ZodBigInt>;
146
209
  }, z.core.$strict>>;
147
210
  assertions: z.ZodOptional<z.ZodObject<{
148
211
  heapMemory: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
@@ -158,6 +221,56 @@ export declare const SatelliteConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObj
158
221
  memoryAllocation: z.ZodOptional<z.ZodBigInt>;
159
222
  computeAllocation: z.ZodOptional<z.ZodBigInt>;
160
223
  }, z.core.$strict>>;
224
+ collections: z.ZodOptional<z.ZodObject<{
225
+ datastore: z.ZodOptional<z.ZodArray<z.ZodObject<{
226
+ version: z.ZodOptional<z.ZodBigInt>;
227
+ collection: z.ZodString;
228
+ read: z.ZodEnum<{
229
+ controllers: "controllers";
230
+ public: "public";
231
+ private: "private";
232
+ managed: "managed";
233
+ }>;
234
+ write: z.ZodEnum<{
235
+ controllers: "controllers";
236
+ public: "public";
237
+ private: "private";
238
+ managed: "managed";
239
+ }>;
240
+ memory: z.ZodEnum<{
241
+ heap: "heap";
242
+ stable: "stable";
243
+ }>;
244
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
245
+ maxCapacity: z.ZodOptional<z.ZodNumber>;
246
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
247
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
248
+ }, z.core.$strict>>>;
249
+ storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ version: z.ZodOptional<z.ZodBigInt>;
251
+ collection: z.ZodString;
252
+ read: z.ZodEnum<{
253
+ controllers: "controllers";
254
+ public: "public";
255
+ private: "private";
256
+ managed: "managed";
257
+ }>;
258
+ write: z.ZodEnum<{
259
+ controllers: "controllers";
260
+ public: "public";
261
+ private: "private";
262
+ managed: "managed";
263
+ }>;
264
+ memory: z.ZodEnum<{
265
+ heap: "heap";
266
+ stable: "stable";
267
+ }>;
268
+ maxSize: z.ZodOptional<z.ZodBigInt>;
269
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
270
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
271
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
272
+ }, z.core.$strict>>>;
273
+ }, z.core.$strict>>;
161
274
  ids: z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<"production">, z.ZodString]>, z.ZodString>;
162
275
  }, z.core.$strict>]>;
163
276
  /**
@@ -211,6 +324,12 @@ export interface SatelliteConfigOptions {
211
324
  * @optional
212
325
  */
213
326
  settings?: ModuleSettings;
327
+ /**
328
+ * Optional configuration for the Datastore and Storage collections.
329
+ * @type {Collections}
330
+ * @optional
331
+ */
332
+ collections?: Collections;
214
333
  }
215
334
  /**
216
335
  * Represents the configuration for a satellite.
@@ -31,18 +31,24 @@ export declare const JunoConfigSchema: z.ZodObject<{
31
31
  heap: z.ZodOptional<z.ZodBigInt>;
32
32
  stable: z.ZodOptional<z.ZodBigInt>;
33
33
  }, z.core.$strict>>;
34
+ version: z.ZodOptional<z.ZodBigInt>;
34
35
  }, z.core.$strip>>;
35
36
  datastore: z.ZodOptional<z.ZodObject<{
36
37
  maxMemorySize: z.ZodOptional<z.ZodObject<{
37
38
  heap: z.ZodOptional<z.ZodBigInt>;
38
39
  stable: z.ZodOptional<z.ZodBigInt>;
39
40
  }, z.core.$strict>>;
41
+ version: z.ZodOptional<z.ZodBigInt>;
40
42
  }, z.core.$strict>>;
41
43
  authentication: z.ZodOptional<z.ZodObject<{
42
44
  internetIdentity: z.ZodOptional<z.ZodObject<{
43
45
  derivationOrigin: z.ZodOptional<z.ZodURL>;
44
46
  externalAlternativeOrigins: z.ZodOptional<z.ZodArray<z.ZodURL>>;
45
47
  }, z.core.$strict>>;
48
+ rules: z.ZodOptional<z.ZodObject<{
49
+ allowedCallers: z.ZodArray<z.ZodString>;
50
+ }, z.core.$strict>>;
51
+ version: z.ZodOptional<z.ZodBigInt>;
46
52
  }, z.core.$strict>>;
47
53
  assertions: z.ZodOptional<z.ZodObject<{
48
54
  heapMemory: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
@@ -58,6 +64,56 @@ export declare const JunoConfigSchema: z.ZodObject<{
58
64
  memoryAllocation: z.ZodOptional<z.ZodBigInt>;
59
65
  computeAllocation: z.ZodOptional<z.ZodBigInt>;
60
66
  }, z.core.$strict>>;
67
+ collections: z.ZodOptional<z.ZodObject<{
68
+ datastore: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
+ version: z.ZodOptional<z.ZodBigInt>;
70
+ collection: z.ZodString;
71
+ read: z.ZodEnum<{
72
+ controllers: "controllers";
73
+ public: "public";
74
+ private: "private";
75
+ managed: "managed";
76
+ }>;
77
+ write: z.ZodEnum<{
78
+ controllers: "controllers";
79
+ public: "public";
80
+ private: "private";
81
+ managed: "managed";
82
+ }>;
83
+ memory: z.ZodEnum<{
84
+ heap: "heap";
85
+ stable: "stable";
86
+ }>;
87
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
88
+ maxCapacity: z.ZodOptional<z.ZodNumber>;
89
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
90
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
91
+ }, z.core.$strict>>>;
92
+ storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
93
+ version: z.ZodOptional<z.ZodBigInt>;
94
+ collection: z.ZodString;
95
+ read: z.ZodEnum<{
96
+ controllers: "controllers";
97
+ public: "public";
98
+ private: "private";
99
+ managed: "managed";
100
+ }>;
101
+ write: z.ZodEnum<{
102
+ controllers: "controllers";
103
+ public: "public";
104
+ private: "private";
105
+ managed: "managed";
106
+ }>;
107
+ memory: z.ZodEnum<{
108
+ heap: "heap";
109
+ stable: "stable";
110
+ }>;
111
+ maxSize: z.ZodOptional<z.ZodBigInt>;
112
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
113
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
114
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
115
+ }, z.core.$strict>>>;
116
+ }, z.core.$strict>>;
61
117
  id: z.ZodString;
62
118
  }, z.core.$strict>, z.ZodObject<{
63
119
  storage: z.ZodOptional<z.ZodObject<{
@@ -84,18 +140,24 @@ export declare const JunoConfigSchema: z.ZodObject<{
84
140
  heap: z.ZodOptional<z.ZodBigInt>;
85
141
  stable: z.ZodOptional<z.ZodBigInt>;
86
142
  }, z.core.$strict>>;
143
+ version: z.ZodOptional<z.ZodBigInt>;
87
144
  }, z.core.$strip>>;
88
145
  datastore: z.ZodOptional<z.ZodObject<{
89
146
  maxMemorySize: z.ZodOptional<z.ZodObject<{
90
147
  heap: z.ZodOptional<z.ZodBigInt>;
91
148
  stable: z.ZodOptional<z.ZodBigInt>;
92
149
  }, z.core.$strict>>;
150
+ version: z.ZodOptional<z.ZodBigInt>;
93
151
  }, z.core.$strict>>;
94
152
  authentication: z.ZodOptional<z.ZodObject<{
95
153
  internetIdentity: z.ZodOptional<z.ZodObject<{
96
154
  derivationOrigin: z.ZodOptional<z.ZodURL>;
97
155
  externalAlternativeOrigins: z.ZodOptional<z.ZodArray<z.ZodURL>>;
98
156
  }, z.core.$strict>>;
157
+ rules: z.ZodOptional<z.ZodObject<{
158
+ allowedCallers: z.ZodArray<z.ZodString>;
159
+ }, z.core.$strict>>;
160
+ version: z.ZodOptional<z.ZodBigInt>;
99
161
  }, z.core.$strict>>;
100
162
  assertions: z.ZodOptional<z.ZodObject<{
101
163
  heapMemory: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
@@ -111,6 +173,56 @@ export declare const JunoConfigSchema: z.ZodObject<{
111
173
  memoryAllocation: z.ZodOptional<z.ZodBigInt>;
112
174
  computeAllocation: z.ZodOptional<z.ZodBigInt>;
113
175
  }, z.core.$strict>>;
176
+ collections: z.ZodOptional<z.ZodObject<{
177
+ datastore: z.ZodOptional<z.ZodArray<z.ZodObject<{
178
+ version: z.ZodOptional<z.ZodBigInt>;
179
+ collection: z.ZodString;
180
+ read: z.ZodEnum<{
181
+ controllers: "controllers";
182
+ public: "public";
183
+ private: "private";
184
+ managed: "managed";
185
+ }>;
186
+ write: z.ZodEnum<{
187
+ controllers: "controllers";
188
+ public: "public";
189
+ private: "private";
190
+ managed: "managed";
191
+ }>;
192
+ memory: z.ZodEnum<{
193
+ heap: "heap";
194
+ stable: "stable";
195
+ }>;
196
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
197
+ maxCapacity: z.ZodOptional<z.ZodNumber>;
198
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
199
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
200
+ }, z.core.$strict>>>;
201
+ storage: z.ZodOptional<z.ZodArray<z.ZodObject<{
202
+ version: z.ZodOptional<z.ZodBigInt>;
203
+ collection: z.ZodString;
204
+ read: z.ZodEnum<{
205
+ controllers: "controllers";
206
+ public: "public";
207
+ private: "private";
208
+ managed: "managed";
209
+ }>;
210
+ write: z.ZodEnum<{
211
+ controllers: "controllers";
212
+ public: "public";
213
+ private: "private";
214
+ managed: "managed";
215
+ }>;
216
+ memory: z.ZodEnum<{
217
+ heap: "heap";
218
+ stable: "stable";
219
+ }>;
220
+ maxSize: z.ZodOptional<z.ZodBigInt>;
221
+ maxChangesPerUser: z.ZodOptional<z.ZodNumber>;
222
+ mutablePermissions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
223
+ maxTokens: z.ZodOptional<z.ZodBigInt>;
224
+ }, z.core.$strict>>>;
225
+ }, z.core.$strict>>;
114
226
  ids: z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<"production">, z.ZodString]>, z.ZodString>;
115
227
  }, z.core.$strict>]>;
116
228
  orbiter: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
@@ -116,6 +116,7 @@ export declare const StorageConfigSchema: z.ZodObject<{
116
116
  heap: z.ZodOptional<z.ZodBigInt>;
117
117
  stable: z.ZodOptional<z.ZodBigInt>;
118
118
  }, z.core.$strict>>;
119
+ version: z.ZodOptional<z.ZodBigInt>;
119
120
  }, z.core.$strip>;
120
121
  /**
121
122
  * Configures the hosting behavior of the Storage.
@@ -179,4 +180,14 @@ export interface StorageConfig {
179
180
  * @optional
180
181
  */
181
182
  maxMemorySize?: MaxMemorySizeConfig;
183
+ /**
184
+ * The current version of the config.
185
+ *
186
+ * Optional. The CLI will automatically resolve the version and warn you if there's a potential overwrite.
187
+ * You can provide it if you want to manage versioning manually within your config file.
188
+ *
189
+ * @type {bigint}
190
+ * @optional
191
+ */
192
+ version?: bigint;
182
193
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junobuild/config",
3
- "version": "0.4.3",
3
+ "version": "1.0.1",
4
4
  "description": "Configuration options for Juno CLI",
5
5
  "author": "David Dal Busco (https://daviddalbusco.com)",
6
6
  "license": "MIT",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "homepage": "https://juno.build",
43
43
  "peerDependencies": {
44
- "@dfinity/zod-schemas": "^1.0.0",
44
+ "@dfinity/zod-schemas": "1.0.0",
45
45
  "zod": "^3.25"
46
46
  }
47
47
  }
@@ -1,6 +0,0 @@
1
- import type { JunoDevConfig } from './juno.dev.config';
2
- export type JunoDevConfigFn = () => JunoDevConfig;
3
- export type JunoDevConfigFnOrObject = JunoDevConfig | JunoDevConfigFn;
4
- export declare function defineDevConfig(config: JunoDevConfig): JunoDevConfig;
5
- export declare function defineDevConfig(config: JunoDevConfigFn): JunoDevConfigFn;
6
- export declare function defineDevConfig(config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject;