@junobuild/config 0.0.1 → 0.0.3
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 +99 -66
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +1 -1
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/dev/config.d.ts +6 -0
- package/dist/types/dev/juno.dev.config.d.ts +17 -0
- package/dist/types/index.d.ts +9 -10
- package/dist/types/mainnet/config.d.ts +7 -0
- package/dist/types/mainnet/juno.config.d.ts +15 -0
- package/dist/types/mainnet/juno.env.d.ts +4 -0
- package/dist/types/{types/juno.config.d.ts → mainnet/satellite.config.d.ts} +29 -15
- package/dist/types/types/rules.d.ts +13 -0
- package/dist/types/utils/ts.utils.d.ts +6 -0
- package/package.json +1 -1
- package/dist/types/types/juno.env.d.ts +0 -3
- /package/dist/types/{types → mainnet}/storage.config.d.ts +0 -0
package/README.md
CHANGED
|
@@ -6,86 +6,73 @@
|
|
|
6
6
|
[npm-license]: https://img.shields.io/npm/l/@junobuild/config
|
|
7
7
|
[npm-license-url]: https://github.com/junobuild/juno-js/blob/main/LICENSE
|
|
8
8
|
|
|
9
|
-
# Juno
|
|
9
|
+
# Juno Config
|
|
10
10
|
|
|
11
11
|
Configuration options for [Juno] CLI.
|
|
12
12
|
|
|
13
13
|
<!-- TSDOC_START -->
|
|
14
14
|
|
|
15
|
-
### :
|
|
15
|
+
### :toolbox: Functions
|
|
16
16
|
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [SatelliteAssertions](#gear-satelliteassertions)
|
|
22
|
-
- [SatelliteConfig](#gear-satelliteconfig)
|
|
23
|
-
- [OrbiterConfig](#gear-orbiterconfig)
|
|
24
|
-
- [JunoConfig](#gear-junoconfig)
|
|
25
|
-
- [JunoConfigEnv](#gear-junoconfigenv)
|
|
17
|
+
- [defineDevConfig](#gear-definedevconfig)
|
|
18
|
+
- [defineDevConfig](#gear-definedevconfig)
|
|
19
|
+
- [defineDevConfig](#gear-definedevconfig)
|
|
20
|
+
- [defineDevConfig](#gear-definedevconfig)
|
|
26
21
|
|
|
27
|
-
#### :gear:
|
|
22
|
+
#### :gear: defineDevConfig
|
|
28
23
|
|
|
29
|
-
|
|
24
|
+
| Function | Type |
|
|
25
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
26
|
+
| `defineDevConfig` | `{ (config: JunoDevConfig): JunoDevConfig; (config: JunoDevConfigFn): JunoDevConfigFn; (config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject; }` |
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
| --------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
-
| `source` | `string` | The glob pattern used to match files within the storage that these headers will apply to. |
|
|
34
|
-
| `headers` | `[string, string][]` | An array of key-value pairs representing the headers to apply. Each pair includes the header name and its value.Example: `[["Cache-Control", "max-age=3600"], ["X-Custom-Header", "value"]]` |
|
|
28
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L7)
|
|
35
29
|
|
|
36
|
-
#### :gear:
|
|
30
|
+
#### :gear: defineDevConfig
|
|
37
31
|
|
|
38
|
-
|
|
32
|
+
| Function | Type |
|
|
33
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `defineDevConfig` | `{ (config: JunoDevConfig): JunoDevConfig; (config: JunoDevConfigFn): JunoDevConfigFn; (config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject; }` |
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
| ------------- | -------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
-
| `source` | `string` | The glob pattern or specific path to match for incoming requests. Matches are rewritten to the specified destination. |
|
|
43
|
-
| `destination` | `string` | The destination path or file to which matching requests should be rewritten. |
|
|
36
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L8)
|
|
44
37
|
|
|
45
|
-
#### :gear:
|
|
38
|
+
#### :gear: defineDevConfig
|
|
46
39
|
|
|
47
|
-
|
|
40
|
+
| Function | Type |
|
|
41
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
42
|
+
| `defineDevConfig` | `{ (config: JunoDevConfig): JunoDevConfig; (config: JunoDevConfigFn): JunoDevConfigFn; (config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject; }` |
|
|
48
43
|
|
|
49
|
-
|
|
50
|
-
| ---------- | ------------ | ------------------------------------------------------------------------------------------------------------- |
|
|
51
|
-
| `source` | `string` | The glob pattern or specific path to match for incoming requests that should be redirected. |
|
|
52
|
-
| `location` | `string` | The URL or path to which the request should be redirected. |
|
|
53
|
-
| `code` | `301 or 302` | The HTTP status code to use for the redirect, typically 301 (permanent redirect) or 302 (temporary redirect). |
|
|
44
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L9)
|
|
54
45
|
|
|
55
|
-
#### :gear:
|
|
46
|
+
#### :gear: defineDevConfig
|
|
56
47
|
|
|
57
|
-
|
|
48
|
+
| Function | Type |
|
|
49
|
+
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| `defineDevConfig` | `{ (config: JunoDevConfig): JunoDevConfig; (config: JunoDevConfigFn): JunoDevConfigFn; (config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject; }` |
|
|
58
51
|
|
|
59
|
-
|
|
60
|
-
| ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
61
|
-
| `headers` | `StorageConfigHeader[]` | Optional array of `StorageConfigHeader` objects to define custom HTTP headers for specific files or patterns. |
|
|
62
|
-
| `rewrites` | `StorageConfigRewrite[]` | Optional array of `StorageConfigRewrite` objects to define rewrite rules. |
|
|
63
|
-
| `redirects` | `StorageConfigRedirect[]` | Optional array of `StorageConfigRedirect` objects to define HTTP redirects. |
|
|
64
|
-
| `iframe` | `"deny" or "same-origin" or "allow-any"` | For security reasons and to prevent click-jacking attacks, dapps deployed with Juno are, by default, set to deny embedding in other sites.Options are:- `deny`: Prevents any content from being displayed in an iframe.- `same-origin`: Allows iframe content from the same origin as the page.- `allow-any`: Allows iframe content from any origin.If not specified, then `deny` is used as default value. |
|
|
52
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L10)
|
|
65
53
|
|
|
66
|
-
|
|
54
|
+
### :tropical_drink: Interfaces
|
|
67
55
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
56
|
+
- [JunoConfigEnv](#gear-junoconfigenv)
|
|
57
|
+
- [OrbiterConfig](#gear-orbiterconfig)
|
|
58
|
+
- [JunoConfig](#gear-junoconfig)
|
|
59
|
+
- [SatelliteDevCollections](#gear-satellitedevcollections)
|
|
60
|
+
- [SatelliteDevController](#gear-satellitedevcontroller)
|
|
61
|
+
- [SatelliteDevConfig](#gear-satellitedevconfig)
|
|
62
|
+
- [JunoDevConfig](#gear-junodevconfig)
|
|
71
63
|
|
|
72
|
-
#### :gear:
|
|
64
|
+
#### :gear: JunoConfigEnv
|
|
73
65
|
|
|
74
|
-
| Property
|
|
75
|
-
|
|
|
76
|
-
| `
|
|
77
|
-
| `source` | `string` | Specifies the directory from which to deploy to storage. Defaults to 'build'.For instance, if `npm run build` outputs files to a `dist` folder, use `source: 'dist'`. |
|
|
78
|
-
| `storage` | `StorageConfig` | Optional configuration parameters for the satellite, affecting the operational behavior of its Storage.Changes to these parameters must be applied manually afterwards using `juno config` commands. |
|
|
79
|
-
| `ignore` | `string[]` | Specifies files or patterns to ignore during deployment, using glob patterns similar to those in .gitignore. |
|
|
80
|
-
| `gzip` | `string or false` | Controls the Gzip compression optimization for files in the source folder. By default, it targets JavaScript (js), ES Module (mjs), and CSS (css) files.You can disable this by setting it to `false` or customize it with a different file matching pattern using glob syntax. |
|
|
81
|
-
| `encoding` | `[string, ENCODING_TYPE][]` | Customizes file encoding mapping for HTTP response headers `Content-Encoding` based on file extension:- `.Z` for compress,- `.gz` for gzip,- `.br` for brotli,- `.zlib` for deflate,- anything else defaults to `identity`.The "encoding" attribute allows overriding default mappings with an array of glob patterns and encoding types. |
|
|
82
|
-
| `assertions` | `SatelliteAssertions` | Optional configurations to override default assertions made by the CLI regarding satellite deployment conditions. |
|
|
66
|
+
| Property | Type | Description |
|
|
67
|
+
| -------- | -------- | ----------- |
|
|
68
|
+
| `mode` | `string` | |
|
|
83
69
|
|
|
84
70
|
#### :gear: OrbiterConfig
|
|
85
71
|
|
|
86
|
-
| Property | Type | Description
|
|
87
|
-
| ----------- | -------- |
|
|
88
|
-
| `
|
|
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. |
|
|
89
76
|
|
|
90
77
|
#### :gear: JunoConfig
|
|
91
78
|
|
|
@@ -94,16 +81,40 @@ Configures the Hosting behavior of the Storage.
|
|
|
94
81
|
| `satellite` | `SatelliteConfig` | |
|
|
95
82
|
| `orbiter` | `OrbiterConfig` | |
|
|
96
83
|
|
|
97
|
-
#### :gear:
|
|
84
|
+
#### :gear: SatelliteDevCollections
|
|
98
85
|
|
|
99
|
-
| Property
|
|
100
|
-
|
|
|
101
|
-
| `
|
|
86
|
+
| Property | Type | Description |
|
|
87
|
+
| --------- | -------------------------- | ----------- |
|
|
88
|
+
| `db` | `SatelliteDevCollection[]` | |
|
|
89
|
+
| `storage` | `SatelliteDevCollection[]` | |
|
|
90
|
+
|
|
91
|
+
#### :gear: SatelliteDevController
|
|
92
|
+
|
|
93
|
+
| Property | Type | Description |
|
|
94
|
+
| -------- | -------------------- | ----------- |
|
|
95
|
+
| `id` | `string` | |
|
|
96
|
+
| `scope` | `"write" or "admin"` | |
|
|
97
|
+
|
|
98
|
+
#### :gear: SatelliteDevConfig
|
|
99
|
+
|
|
100
|
+
| Property | Type | Description |
|
|
101
|
+
| ------------- | -------------------------- | ----------- |
|
|
102
|
+
| `collections` | `SatelliteDevCollections` | |
|
|
103
|
+
| `controllers` | `SatelliteDevController[]` | |
|
|
104
|
+
|
|
105
|
+
#### :gear: JunoDevConfig
|
|
106
|
+
|
|
107
|
+
| Property | Type | Description |
|
|
108
|
+
| ----------- | -------------------- | ----------- |
|
|
109
|
+
| `satellite` | `SatelliteDevConfig` | |
|
|
102
110
|
|
|
103
111
|
### :cocktail: Types
|
|
104
112
|
|
|
105
113
|
- [ENCODING_TYPE](#gear-encoding_type)
|
|
106
|
-
- [
|
|
114
|
+
- [JunoConfigMode](#gear-junoconfigmode)
|
|
115
|
+
- [SatelliteDevCollection](#gear-satellitedevcollection)
|
|
116
|
+
- [JunoDevConfigFn](#gear-junodevconfigfn)
|
|
117
|
+
- [JunoDevConfigFnOrObject](#gear-junodevconfigfnorobject)
|
|
107
118
|
|
|
108
119
|
#### :gear: ENCODING_TYPE
|
|
109
120
|
|
|
@@ -113,15 +124,37 @@ Configures the Hosting behavior of the Storage.
|
|
|
113
124
|
|
|
114
125
|
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/types/encoding.ts#L1)
|
|
115
126
|
|
|
116
|
-
#### :gear:
|
|
127
|
+
#### :gear: JunoConfigMode
|
|
128
|
+
|
|
129
|
+
| Type | Type |
|
|
130
|
+
| ---------------- | ------------------------ |
|
|
131
|
+
| `JunoConfigMode` | `'production' or string` |
|
|
132
|
+
|
|
133
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/mainnet/juno.env.ts#L1)
|
|
134
|
+
|
|
135
|
+
#### :gear: SatelliteDevCollection
|
|
136
|
+
|
|
137
|
+
| Type | Type |
|
|
138
|
+
| ------------------------ | ------------------------------------------ |
|
|
139
|
+
| `SatelliteDevCollection` | `Omit<Rule, 'created_at' or 'updated_at'>` |
|
|
140
|
+
|
|
141
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L3)
|
|
142
|
+
|
|
143
|
+
#### :gear: JunoDevConfigFn
|
|
144
|
+
|
|
145
|
+
| Type | Type |
|
|
146
|
+
| ----------------- | --------------------- |
|
|
147
|
+
| `JunoDevConfigFn` | `() => JunoDevConfig` |
|
|
148
|
+
|
|
149
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L3)
|
|
117
150
|
|
|
118
|
-
|
|
151
|
+
#### :gear: JunoDevConfigFnOrObject
|
|
119
152
|
|
|
120
|
-
| Type | Type
|
|
121
|
-
| ------------------------- |
|
|
122
|
-
| `
|
|
153
|
+
| Type | Type |
|
|
154
|
+
| ------------------------- | ---------------------------------- |
|
|
155
|
+
| `JunoDevConfigFnOrObject` | `JunoDevConfig or JunoDevConfigFn` |
|
|
123
156
|
|
|
124
|
-
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/
|
|
157
|
+
[:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/config.ts#L5)
|
|
125
158
|
|
|
126
159
|
<!-- TSDOC_END -->
|
|
127
160
|
|
package/dist/browser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function o(n){return n}export{o as
|
|
1
|
+
function o(n){return n}function f(n){return n}export{f as defineConfig,o as defineDevConfig};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["defineConfig", "config"]
|
|
3
|
+
"sources": ["../../src/dev/config.ts", "../../src/mainnet/config.ts"],
|
|
4
|
+
"sourcesContent": ["import type {JunoDevConfig} from './juno.dev.config';\n\nexport type JunoDevConfigFn = () => JunoDevConfig;\n\nexport type JunoDevConfigFnOrObject = JunoDevConfig | JunoDevConfigFn;\n\nexport function defineDevConfig(config: JunoDevConfig): JunoDevConfig;\nexport function defineDevConfig(config: JunoDevConfigFn): JunoDevConfigFn;\nexport function defineDevConfig(config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject;\nexport function defineDevConfig(config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject {\n return config;\n}\n", "import type {JunoConfig} from './juno.config';\nimport type {JunoConfigEnv} from './juno.env';\n\nexport type JunoConfigFn = (config: JunoConfigEnv) => JunoConfig;\n\nexport type JunoConfigFnOrObject = JunoConfig | JunoConfigFn;\n\nexport function defineConfig(config: JunoConfig): JunoConfig;\nexport function defineConfig(config: JunoConfigFn): JunoConfigFn;\nexport function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject;\nexport function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject {\n return config;\n}\n"],
|
|
5
|
+
"mappings": "AASO,SAASA,EAAgBC,EAA0D,CACxF,OAAOA,CACT,CCDO,SAASC,EAAaC,EAAoD,CAC/E,OAAOA,CACT",
|
|
6
|
+
"names": ["defineDevConfig", "config", "defineConfig", "config"]
|
|
7
7
|
}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
function o(n){return n}export{o as
|
|
3
|
+
function o(n){return n}function f(n){return n}export{f as defineConfig,o as defineDevConfig};
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;
|
|
6
|
-
"names": ["defineConfig", "config"]
|
|
3
|
+
"sources": ["../../src/dev/config.ts", "../../src/mainnet/config.ts"],
|
|
4
|
+
"sourcesContent": ["import type {JunoDevConfig} from './juno.dev.config';\n\nexport type JunoDevConfigFn = () => JunoDevConfig;\n\nexport type JunoDevConfigFnOrObject = JunoDevConfig | JunoDevConfigFn;\n\nexport function defineDevConfig(config: JunoDevConfig): JunoDevConfig;\nexport function defineDevConfig(config: JunoDevConfigFn): JunoDevConfigFn;\nexport function defineDevConfig(config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject;\nexport function defineDevConfig(config: JunoDevConfigFnOrObject): JunoDevConfigFnOrObject {\n return config;\n}\n", "import type {JunoConfig} from './juno.config';\nimport type {JunoConfigEnv} from './juno.env';\n\nexport type JunoConfigFn = (config: JunoConfigEnv) => JunoConfig;\n\nexport type JunoConfigFnOrObject = JunoConfig | JunoConfigFn;\n\nexport function defineConfig(config: JunoConfig): JunoConfig;\nexport function defineConfig(config: JunoConfigFn): JunoConfigFn;\nexport function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject;\nexport function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject {\n return config;\n}\n"],
|
|
5
|
+
"mappings": ";;AASO,SAASA,EAAgBC,EAA0D,CACxF,OAAOA,CACT,CCDO,SAASC,EAAaC,EAAoD,CAC/E,OAAOA,CACT",
|
|
6
|
+
"names": ["defineDevConfig", "config", "defineConfig", "config"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
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;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Rule } from '../types/rules';
|
|
2
|
+
export type SatelliteDevCollection = Omit<Rule, 'created_at' | 'updated_at'>;
|
|
3
|
+
export interface SatelliteDevCollections {
|
|
4
|
+
db?: SatelliteDevCollection[];
|
|
5
|
+
storage?: SatelliteDevCollection[];
|
|
6
|
+
}
|
|
7
|
+
export interface SatelliteDevController {
|
|
8
|
+
id: string;
|
|
9
|
+
scope: 'write' | 'admin';
|
|
10
|
+
}
|
|
11
|
+
export interface SatelliteDevConfig {
|
|
12
|
+
collections: SatelliteDevCollections;
|
|
13
|
+
controllers?: SatelliteDevController[];
|
|
14
|
+
}
|
|
15
|
+
export interface JunoDevConfig {
|
|
16
|
+
satellite: SatelliteDevConfig;
|
|
17
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
export type * from './dev/juno.dev.config';
|
|
2
|
+
export type * from './mainnet/juno.config';
|
|
3
|
+
export type * from './mainnet/juno.env';
|
|
4
|
+
export type * from './mainnet/satellite.config';
|
|
5
|
+
export type * from './mainnet/storage.config';
|
|
1
6
|
export type * from './types/encoding';
|
|
2
|
-
export type * from './types/
|
|
3
|
-
export type * from './
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
import type { JunoConfigEnv } from './types/juno.env';
|
|
7
|
-
export type JunoConfigFn = (config: JunoConfigEnv) => JunoConfig;
|
|
8
|
-
export type JunoConfigFnOrObject = JunoConfig | JunoConfigFn;
|
|
9
|
-
export declare function defineConfig(config: JunoConfig): JunoConfig;
|
|
10
|
-
export declare function defineConfig(config: JunoConfigFn): JunoConfigFn;
|
|
11
|
-
export declare function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject;
|
|
7
|
+
export type * from './types/rules';
|
|
8
|
+
export type * from './utils/ts.utils';
|
|
9
|
+
export * from './dev/config';
|
|
10
|
+
export * from './mainnet/config';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { JunoConfig } from './juno.config';
|
|
2
|
+
import type { JunoConfigEnv } from './juno.env';
|
|
3
|
+
export type JunoConfigFn = (config: JunoConfigEnv) => JunoConfig;
|
|
4
|
+
export type JunoConfigFnOrObject = JunoConfig | JunoConfigFn;
|
|
5
|
+
export declare function defineConfig(config: JunoConfig): JunoConfig;
|
|
6
|
+
export declare function defineConfig(config: JunoConfigFn): JunoConfigFn;
|
|
7
|
+
export declare function defineConfig(config: JunoConfigFnOrObject): JunoConfigFnOrObject;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SatelliteConfig } from './satellite.config';
|
|
2
|
+
export interface OrbiterConfig {
|
|
3
|
+
/**
|
|
4
|
+
* The identifier of the orbiter used in the dApp.
|
|
5
|
+
*/
|
|
6
|
+
id: string;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated `orbiterId` will be removed in the future. Use `id` instead.
|
|
9
|
+
*/
|
|
10
|
+
orbiterId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface JunoConfig {
|
|
13
|
+
satellite: SatelliteConfig;
|
|
14
|
+
orbiter?: OrbiterConfig;
|
|
15
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { ENCODING_TYPE } from '
|
|
1
|
+
import type { ENCODING_TYPE } from '../types/encoding';
|
|
2
|
+
import type { Either } from '../utils/ts.utils';
|
|
3
|
+
import type { JunoConfigMode } from './juno.env';
|
|
2
4
|
import type { StorageConfig } from './storage.config';
|
|
3
5
|
export interface SatelliteAssertions {
|
|
4
6
|
/**
|
|
@@ -11,14 +13,36 @@ export interface SatelliteAssertions {
|
|
|
11
13
|
*/
|
|
12
14
|
heapMemory?: number | boolean;
|
|
13
15
|
}
|
|
14
|
-
export interface
|
|
16
|
+
export interface SatelliteId {
|
|
15
17
|
/**
|
|
16
|
-
* The unique identifier (ID) of the satellite
|
|
18
|
+
* The unique identifier (ID) of the satellite for this application.
|
|
19
|
+
*/
|
|
20
|
+
id: string;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated `satelliteId` will be removed in the future. Use `id` instead.
|
|
17
23
|
*/
|
|
18
24
|
satelliteId: string;
|
|
25
|
+
}
|
|
26
|
+
export interface SatelliteIds {
|
|
27
|
+
/**
|
|
28
|
+
* A mapping of satellite identifiers (IDs) to different configurations based on the mode of the application.
|
|
29
|
+
*
|
|
30
|
+
* This allows the application to use different satellite IDs, such as production, staging, etc.
|
|
31
|
+
*
|
|
32
|
+
* Example:
|
|
33
|
+
* {
|
|
34
|
+
* "production": "xo2hm-lqaaa-aaaal-ab3oa-cai",
|
|
35
|
+
* "staging": "gl6nx-5maaa-aaaaa-qaaqq-cai"
|
|
36
|
+
* }
|
|
37
|
+
*/
|
|
38
|
+
ids: Record<JunoConfigMode, string>;
|
|
39
|
+
}
|
|
40
|
+
export type SatelliteConfig = Either<SatelliteId, SatelliteIds> & {
|
|
19
41
|
/**
|
|
20
|
-
* Specifies the directory from which to deploy to storage.
|
|
42
|
+
* Specifies the directory from which to deploy to storage.
|
|
21
43
|
* For instance, if `npm run build` outputs files to a `dist` folder, use `source: 'dist'`.
|
|
44
|
+
*
|
|
45
|
+
* @default `build`
|
|
22
46
|
*/
|
|
23
47
|
source?: string;
|
|
24
48
|
/**
|
|
@@ -49,14 +73,4 @@ export interface SatelliteConfig {
|
|
|
49
73
|
* Optional configurations to override default assertions made by the CLI regarding satellite deployment conditions.
|
|
50
74
|
*/
|
|
51
75
|
assertions?: SatelliteAssertions;
|
|
52
|
-
}
|
|
53
|
-
export interface OrbiterConfig {
|
|
54
|
-
/**
|
|
55
|
-
* The identifier of the orbiter used in the dApp.
|
|
56
|
-
*/
|
|
57
|
-
orbiterId: string;
|
|
58
|
-
}
|
|
59
|
-
export interface JunoConfig {
|
|
60
|
-
satellite: SatelliteConfig;
|
|
61
|
-
orbiter?: OrbiterConfig;
|
|
62
|
-
}
|
|
76
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type PermissionText = 'public' | 'private' | 'managed' | 'controllers';
|
|
2
|
+
export type MemoryText = 'Heap' | 'Stable';
|
|
3
|
+
export type RulesType = 'db' | 'storage';
|
|
4
|
+
export interface Rule {
|
|
5
|
+
collection: string;
|
|
6
|
+
read: PermissionText;
|
|
7
|
+
write: PermissionText;
|
|
8
|
+
memory: MemoryText;
|
|
9
|
+
created_at?: bigint;
|
|
10
|
+
updated_at?: bigint;
|
|
11
|
+
max_size?: number;
|
|
12
|
+
mutablePermissions: boolean;
|
|
13
|
+
}
|
package/package.json
CHANGED
|
File without changes
|