@junobuild/config 0.0.4 → 0.0.5-next-2024-05-06

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 CHANGED
@@ -69,24 +69,24 @@ Configuration options for [Juno] CLI.
69
69
 
70
70
  #### :gear: OrbiterConfig
71
71
 
72
- | Property | Type | Description |
73
- | ----------- | -------- | ------------------------------------------------------------------------ |
74
- | `id` | `string` | The identifier of the orbiter used in the dApp. |
75
- | `orbiterId` | `string` | deprecated: `orbiterId` will be removed in the future. Use `id` instead. |
72
+ | Property | Type | Description |
73
+ | ----------- | --------------------- | ------------------------------------------------------------------------ |
74
+ | `id` | `string` | The identifier of the orbiter used in the dApp. |
75
+ | `orbiterId` | `string or undefined` | deprecated: `orbiterId` will be removed in the future. Use `id` instead. |
76
76
 
77
77
  #### :gear: JunoConfig
78
78
 
79
- | Property | Type | Description |
80
- | ----------- | ----------------- | ----------- |
81
- | `satellite` | `SatelliteConfig` | |
82
- | `orbiter` | `OrbiterConfig` | |
79
+ | Property | Type | Description |
80
+ | ----------- | ---------------------------- | ----------- |
81
+ | `satellite` | `SatelliteConfig` | |
82
+ | `orbiter` | `OrbiterConfig or undefined` | |
83
83
 
84
84
  #### :gear: SatelliteDevCollections
85
85
 
86
- | Property | Type | Description |
87
- | --------- | -------------------------- | ----------- |
88
- | `db` | `SatelliteDevCollection[]` | |
89
- | `storage` | `SatelliteDevCollection[]` | |
86
+ | Property | Type | Description |
87
+ | --------- | ---------------------------------------------- | ----------- |
88
+ | `db` | `SatelliteDevDbCollection[] or undefined` | |
89
+ | `storage` | `SatelliteDevStorageCollection[] or undefined` | |
90
90
 
91
91
  #### :gear: SatelliteDevController
92
92
 
@@ -97,10 +97,10 @@ Configuration options for [Juno] CLI.
97
97
 
98
98
  #### :gear: SatelliteDevConfig
99
99
 
100
- | Property | Type | Description |
101
- | ------------- | -------------------------- | ----------- |
102
- | `collections` | `SatelliteDevCollections` | |
103
- | `controllers` | `SatelliteDevController[]` | |
100
+ | Property | Type | Description |
101
+ | ------------- | --------------------------------------- | ----------- |
102
+ | `collections` | `SatelliteDevCollections` | |
103
+ | `controllers` | `SatelliteDevController[] or undefined` | |
104
104
 
105
105
  #### :gear: JunoDevConfig
106
106
 
@@ -112,7 +112,8 @@ Configuration options for [Juno] CLI.
112
112
 
113
113
  - [ENCODING_TYPE](#gear-encoding_type)
114
114
  - [JunoConfigMode](#gear-junoconfigmode)
115
- - [SatelliteDevCollection](#gear-satellitedevcollection)
115
+ - [SatelliteDevDbCollection](#gear-satellitedevdbcollection)
116
+ - [SatelliteDevStorageCollection](#gear-satellitedevstoragecollection)
116
117
  - [JunoDevConfigFn](#gear-junodevconfigfn)
117
118
  - [JunoDevConfigFnOrObject](#gear-junodevconfigfnorobject)
118
119
 
@@ -132,14 +133,22 @@ Configuration options for [Juno] CLI.
132
133
 
133
134
  [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/mainnet/juno.env.ts#L1)
134
135
 
135
- #### :gear: SatelliteDevCollection
136
+ #### :gear: SatelliteDevDbCollection
136
137
 
137
- | Type | Type |
138
- | ------------------------ | ------------------------------------------ |
139
- | `SatelliteDevCollection` | `Omit<Rule, 'created_at' or 'updated_at'>` |
138
+ | Type | Type |
139
+ | -------------------------- | ----------------------------------------------------- |
140
+ | `SatelliteDevDbCollection` | `Omit<Rule, 'createdAt' or 'updatedAt' or 'maxSize'>` |
140
141
 
141
142
  [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L3)
142
143
 
144
+ #### :gear: SatelliteDevStorageCollection
145
+
146
+ | Type | Type |
147
+ | ------------------------------- | --------------------------------------------------------- |
148
+ | `SatelliteDevStorageCollection` | `Omit<Rule, 'createdAt' or 'updatedAt' or 'maxCapacity'>` |
149
+
150
+ [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L5)
151
+
143
152
  #### :gear: JunoDevConfigFn
144
153
 
145
154
  | Type | Type |
@@ -1,8 +1,9 @@
1
1
  import type { Rule } from '../types/rules';
2
- export type SatelliteDevCollection = Omit<Rule, 'created_at' | 'updated_at'>;
2
+ export type SatelliteDevDbCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxSize'>;
3
+ export type SatelliteDevStorageCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxCapacity'>;
3
4
  export interface SatelliteDevCollections {
4
- db?: SatelliteDevCollection[];
5
- storage?: SatelliteDevCollection[];
5
+ db?: SatelliteDevDbCollection[];
6
+ storage?: SatelliteDevStorageCollection[];
6
7
  }
7
8
  export interface SatelliteDevController {
8
9
  id: string;
@@ -1,4 +1,5 @@
1
1
  export type * from './dev/juno.dev.config';
2
+ export type * from './mainnet/authentication.config';
2
3
  export type * from './mainnet/juno.config';
3
4
  export type * from './mainnet/juno.env';
4
5
  export type * from './mainnet/satellite.config';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Configure the behavior of Internet Identity.
3
+ */
4
+ export interface AuthenticationConfigInternetIdentity {
5
+ /**
6
+ * This setting ensures that users are recognized on your app, regardless of whether they use the default URL or any other custom domain.
7
+ * For example, if set to hello.com, a user signing on at https://hello.com will receive the same identifier (principal) as when signing on at https://www.hello.com.
8
+ */
9
+ derivationOrigin?: string;
10
+ }
11
+ /**
12
+ * Configures the Authentication options of a Satellite.
13
+ */
14
+ export interface AuthenticationConfig {
15
+ /**
16
+ * Optional configuration of Internet Identity authentication method.
17
+ */
18
+ internetIdentity?: AuthenticationConfigInternetIdentity;
19
+ }
@@ -1,5 +1,6 @@
1
1
  import type { ENCODING_TYPE } from '../types/encoding';
2
2
  import type { Either } from '../utils/ts.utils';
3
+ import type { AuthenticationConfig } from './authentication.config';
3
4
  import type { JunoConfigMode } from './juno.env';
4
5
  import type { StorageConfig } from './storage.config';
5
6
  export interface SatelliteAssertions {
@@ -47,9 +48,14 @@ export type SatelliteConfig = Either<SatelliteId, SatelliteIds> & {
47
48
  source?: string;
48
49
  /**
49
50
  * Optional configuration parameters for the satellite, affecting the operational behavior of its Storage.
50
- * Changes to these parameters must be applied manually afterwards using `juno config` commands.
51
+ * Changes to these parameters must be applied manually afterwards for example with the CLI using `juno config` commands.
51
52
  */
52
53
  storage?: StorageConfig;
54
+ /**
55
+ * Optional configuration parameters for the satellite, affecting the operational behavior of its Authentication.
56
+ * Changes to these parameters must be applied manually afterwards for example with the CLI using `juno config` commands.
57
+ */
58
+ authentication?: AuthenticationConfig;
53
59
  /**
54
60
  * Specifies files or patterns to ignore during deployment, using glob patterns similar to those in .gitignore.
55
61
  */
@@ -1,13 +1,15 @@
1
1
  export type PermissionText = 'public' | 'private' | 'managed' | 'controllers';
2
- export type MemoryText = 'Heap' | 'Stable';
2
+ export type MemoryText = 'heap' | 'stable';
3
3
  export type RulesType = 'db' | 'storage';
4
4
  export interface Rule {
5
5
  collection: string;
6
6
  read: PermissionText;
7
7
  write: PermissionText;
8
8
  memory: MemoryText;
9
- created_at?: bigint;
10
- updated_at?: bigint;
11
- max_size?: number;
9
+ createdAt?: bigint;
10
+ updatedAt?: bigint;
11
+ version?: bigint;
12
+ maxSize?: number;
13
+ maxCapacity?: number;
12
14
  mutablePermissions: boolean;
13
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junobuild/config",
3
- "version": "0.0.4",
3
+ "version": "0.0.5-next-2024-05-06",
4
4
  "description": "Configuration options for Juno CLI",
5
5
  "author": "David Dal Busco (https://daviddalbusco.com)",
6
6
  "license": "MIT",
@@ -40,4 +40,4 @@
40
40
  "url": "https://github.com/junobuild/juno-js"
41
41
  },
42
42
  "homepage": "https://juno.build"
43
- }
43
+ }