@junobuild/config 0.0.7 → 0.0.8-next-2024-06-15

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
@@ -53,7 +53,6 @@ Configuration options for [Juno] CLI.
53
53
 
54
54
  ### :tropical_drink: Interfaces
55
55
 
56
- - [JunoConfigEnv](#gear-junoconfigenv)
57
56
  - [OrbiterConfig](#gear-orbiterconfig)
58
57
  - [JunoConfig](#gear-junoconfig)
59
58
  - [SatelliteDevCollections](#gear-satellitedevcollections)
@@ -61,14 +60,6 @@ Configuration options for [Juno] CLI.
61
60
  - [SatelliteDevConfig](#gear-satellitedevconfig)
62
61
  - [JunoDevConfig](#gear-junodevconfig)
63
62
 
64
- #### :gear: JunoConfigEnv
65
-
66
- Represents the environment configuration for Juno.
67
-
68
- | Property | Type | Description |
69
- | -------- | -------- | ---------------------------------------------------------- |
70
- | `mode` | `string` | The mode of the Juno configuration. type: {JunoConfigMode} |
71
-
72
63
  #### :gear: OrbiterConfig
73
64
 
74
65
  Represents the configuration for an orbiter.
@@ -125,7 +116,6 @@ Represents the development configuration for Juno.
125
116
  ### :cocktail: Types
126
117
 
127
118
  - [ENCODING_TYPE](#gear-encoding_type)
128
- - [JunoConfigMode](#gear-junoconfigmode)
129
119
  - [SatelliteDevDbCollection](#gear-satellitedevdbcollection)
130
120
  - [SatelliteDevStorageCollection](#gear-satellitedevstoragecollection)
131
121
  - [JunoDevConfigFn](#gear-junodevconfigfn)
@@ -139,29 +129,31 @@ Represents the development configuration for Juno.
139
129
 
140
130
  [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/types/encoding.ts#L5)
141
131
 
142
- #### :gear: JunoConfigMode
143
-
144
- | Type | Type |
145
- | ---------------- | ------------------------ |
146
- | `JunoConfigMode` | `'production' or string` |
132
+ #### :gear: SatelliteDevDbCollection
147
133
 
148
- [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/mainnet/juno.env.ts#L5)
134
+ | Type | Type |
135
+ | -------------------------- | ------ |
136
+ | `SatelliteDevDbCollection` | `Omit< |
149
137
 
150
- #### :gear: SatelliteDevDbCollection
138
+ Rule,
139
+ 'createdAt' or 'updatedAt' or 'maxSize' or 'version'
151
140
 
152
- | Type | Type |
153
- | -------------------------- | ----------------------------------------------------- |
154
- | `SatelliteDevDbCollection` | `Omit<Rule, 'createdAt' or 'updatedAt' or 'maxSize'>` |
141
+ > ` |
155
142
 
156
143
  [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L7)
157
144
 
158
145
  #### :gear: SatelliteDevStorageCollection
159
146
 
160
- | Type | Type |
161
- | ------------------------------- | --------------------------------------------------------- |
162
- | `SatelliteDevStorageCollection` | `Omit<Rule, 'createdAt' or 'updatedAt' or 'maxCapacity'>` |
147
+ | Type | Type |
148
+ | ------------------------------- | ------ |
149
+ | `SatelliteDevStorageCollection` | `Omit< |
150
+
151
+ Rule,
152
+ 'createdAt' or 'updatedAt' or 'maxCapacity' or 'version'
153
+
154
+ > ` |
163
155
 
164
- [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L13)
156
+ [:link: Source](https://github.com/junobuild/juno-js/tree/main/packages/config/src/dev/juno.dev.config.ts#L16)
165
157
 
166
158
  #### :gear: JunoDevConfigFn
167
159
 
@@ -1,2 +1,2 @@
1
- function o(n){return n}function f(n){return n}export{f as defineConfig,o as defineDevConfig};
1
+ function n(o){return o}function f(o){return o}function t(o){return o}export{t as defineConfig,f as defineDevConfig,n as defineJunoConsoleConfig};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"]
3
+ "sources": ["../../src/console/config.ts", "../../src/dev/config.ts", "../../src/mainnet/config.ts"],
4
+ "sourcesContent": ["import type {JunoConfigEnv} from '../types/juno.env';\nimport type {JunoConsoleConfig} from './console.config';\n\nexport type JunoConsoleConfigFn = (config: JunoConfigEnv) => JunoConsoleConfig;\n\nexport type JunoConsoleConfigFnOrObject = JunoConsoleConfig | JunoConsoleConfigFn;\n\nexport function defineJunoConsoleConfig(config: JunoConsoleConfig): JunoConsoleConfig;\nexport function defineJunoConsoleConfig(config: JunoConsoleConfigFn): JunoConsoleConfigFn;\nexport function defineJunoConsoleConfig(\n config: JunoConsoleConfigFnOrObject\n): JunoConsoleConfigFnOrObject;\nexport function defineJunoConsoleConfig(\n config: JunoConsoleConfigFnOrObject\n): JunoConsoleConfigFnOrObject {\n return config;\n}\n", "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 {JunoConfigEnv} from '../types/juno.env';\nimport type {JunoConfig} from './juno.config';\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": "AAYO,SAASA,EACdC,EAC6B,CAC7B,OAAOA,CACT,CCPO,SAASC,EAAgBC,EAA0D,CACxF,OAAOA,CACT,CCDO,SAASC,EAAaC,EAAoD,CAC/E,OAAOA,CACT",
6
+ "names": ["defineJunoConsoleConfig", "config", "defineDevConfig", "config", "defineConfig", "config"]
7
7
  }
@@ -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}function f(n){return n}export{f as defineConfig,o as defineDevConfig};
3
+ function n(o){return o}function f(o){return o}function t(o){return o}export{t as defineConfig,f as defineDevConfig,n as defineJunoConsoleConfig};
4
4
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"]
3
+ "sources": ["../../src/console/config.ts", "../../src/dev/config.ts", "../../src/mainnet/config.ts"],
4
+ "sourcesContent": ["import type {JunoConfigEnv} from '../types/juno.env';\nimport type {JunoConsoleConfig} from './console.config';\n\nexport type JunoConsoleConfigFn = (config: JunoConfigEnv) => JunoConsoleConfig;\n\nexport type JunoConsoleConfigFnOrObject = JunoConsoleConfig | JunoConsoleConfigFn;\n\nexport function defineJunoConsoleConfig(config: JunoConsoleConfig): JunoConsoleConfig;\nexport function defineJunoConsoleConfig(config: JunoConsoleConfigFn): JunoConsoleConfigFn;\nexport function defineJunoConsoleConfig(\n config: JunoConsoleConfigFnOrObject\n): JunoConsoleConfigFnOrObject;\nexport function defineJunoConsoleConfig(\n config: JunoConsoleConfigFnOrObject\n): JunoConsoleConfigFnOrObject {\n return config;\n}\n", "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 {JunoConfigEnv} from '../types/juno.env';\nimport type {JunoConfig} from './juno.config';\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": ";;AAYO,SAASA,EACdC,EAC6B,CAC7B,OAAOA,CACT,CCPO,SAASC,EAAgBC,EAA0D,CACxF,OAAOA,CACT,CCDO,SAASC,EAAaC,EAAoD,CAC/E,OAAOA,CACT",
6
+ "names": ["defineJunoConsoleConfig", "config", "defineDevConfig", "config", "defineConfig", "config"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ import type { JunoConfigEnv } from '../types/juno.env';
2
+ import type { JunoConsoleConfig } from './console.config';
3
+ export type JunoConsoleConfigFn = (config: JunoConfigEnv) => JunoConsoleConfig;
4
+ export type JunoConsoleConfigFnOrObject = JunoConsoleConfig | JunoConsoleConfigFn;
5
+ export declare function defineJunoConsoleConfig(config: JunoConsoleConfig): JunoConsoleConfig;
6
+ export declare function defineJunoConsoleConfig(config: JunoConsoleConfigFn): JunoConsoleConfigFn;
7
+ export declare function defineJunoConsoleConfig(config: JunoConsoleConfigFnOrObject): JunoConsoleConfigFnOrObject;
@@ -0,0 +1,40 @@
1
+ import type { StorageConfig } from '../mainnet/storage.config';
2
+ import type { CliConfig } from '../types/cli.config';
3
+ import type { JunoConfigMode } from '../types/juno.env';
4
+ import type { Either } from '../utils/ts.utils';
5
+ /**
6
+ * Represents the unique identifier for a console.
7
+ * @interface ConsoleId
8
+ */
9
+ export interface ConsoleId {
10
+ /**
11
+ * The unique identifier (ID) of the console.
12
+ * @type {string}
13
+ */
14
+ id: string;
15
+ }
16
+ /**
17
+ * Represents a mapping of console identifiers to different configurations based on the mode of the application.
18
+ * @interface ConsoleIds
19
+ */
20
+ export interface ConsoleIds {
21
+ /**
22
+ * A mapping of console identifiers (IDs) to different configurations based on the mode of the application.
23
+ *
24
+ * This allows the application to use different console IDs, such as production, staging, etc.
25
+ * @type {Record<JunoConfigMode, string>}
26
+ */
27
+ ids: Record<JunoConfigMode, string>;
28
+ }
29
+ /**
30
+ * Represents the configuration for a console.
31
+ * @typedef {Either<ConsoleId, ConsoleIds>} ConsoleConfig
32
+ */
33
+ export type JunoConsoleConfig = Either<ConsoleId, ConsoleIds> & CliConfig & {
34
+ /**
35
+ * Optional configuration parameters for the console, affecting the operational behavior of its Storage.
36
+ * @type {StorageConfig}
37
+ * @optional
38
+ */
39
+ storage?: StorageConfig;
40
+ };
@@ -1,14 +1,14 @@
1
1
  import type { Rule } from '../types/rules';
2
2
  /**
3
3
  * Represents a database collection configuration for a satellite in a development environment.
4
- * @typedef {Omit<Rule, 'createdAt' | 'updatedAt' | 'maxSize'>} SatelliteDevDbCollection
4
+ * @typedef {Omit<Rule, 'createdAt' | 'updatedAt' | 'maxSize' | 'version'>} SatelliteDevDbCollection
5
5
  */
6
- export type SatelliteDevDbCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxSize'>;
6
+ export type SatelliteDevDbCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxSize' | 'version'>;
7
7
  /**
8
8
  * Represents a storage collection configuration for a satellite in a development environment.
9
- * @typedef {Omit<Rule, 'createdAt' | 'updatedAt' | 'maxCapacity'>} SatelliteDevStorageCollection
9
+ * @typedef {Omit<Rule, 'createdAt' | 'updatedAt' | 'maxCapacity' | 'version'>} SatelliteDevStorageCollection
10
10
  */
11
- export type SatelliteDevStorageCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxCapacity'>;
11
+ export type SatelliteDevStorageCollection = Omit<Rule, 'createdAt' | 'updatedAt' | 'maxCapacity' | 'version'>;
12
12
  /**
13
13
  * Represents the collections configuration for a satellite in a development environment.
14
14
  * @interface SatelliteDevCollections
@@ -1,11 +1,14 @@
1
+ export type * from './console/console.config';
1
2
  export type * from './dev/juno.dev.config';
2
3
  export type * from './mainnet/authentication.config';
3
4
  export type * from './mainnet/juno.config';
4
- export type * from './mainnet/juno.env';
5
5
  export type * from './mainnet/satellite.config';
6
6
  export type * from './mainnet/storage.config';
7
+ export type * from './types/cli.config';
7
8
  export type * from './types/encoding';
9
+ export type * from './types/juno.env';
8
10
  export type * from './types/rules';
9
11
  export type * from './utils/ts.utils';
12
+ export * from './console/config';
10
13
  export * from './dev/config';
11
14
  export * from './mainnet/config';
@@ -1,5 +1,5 @@
1
+ import type { JunoConfigEnv } from '../types/juno.env';
1
2
  import type { JunoConfig } from './juno.config';
2
- import type { JunoConfigEnv } from './juno.env';
3
3
  export type JunoConfigFn = (config: JunoConfigEnv) => JunoConfig;
4
4
  export type JunoConfigFnOrObject = JunoConfig | JunoConfigFn;
5
5
  export declare function defineConfig(config: JunoConfig): JunoConfig;
@@ -1,7 +1,7 @@
1
- import type { ENCODING_TYPE } from '../types/encoding';
1
+ import type { CliConfig } from '../types/cli.config';
2
+ import type { JunoConfigMode } from '../types/juno.env';
2
3
  import type { Either } from '../utils/ts.utils';
3
4
  import type { AuthenticationConfig } from './authentication.config';
4
- import type { JunoConfigMode } from './juno.env';
5
5
  import type { StorageConfig } from './storage.config';
6
6
  /**
7
7
  * Configuration for satellite assertions.
@@ -59,15 +59,7 @@ export interface SatelliteIds {
59
59
  * Represents the configuration for a satellite.
60
60
  * @typedef {Either<SatelliteId, SatelliteIds>} SatelliteConfig
61
61
  */
62
- export type SatelliteConfig = Either<SatelliteId, SatelliteIds> & {
63
- /**
64
- * Specifies the directory from which to deploy to storage.
65
- * For instance, if `npm run build` outputs files to a `dist` folder, use `source: 'dist'`.
66
- *
67
- * @default 'build'
68
- * @type {string}
69
- */
70
- source?: string;
62
+ export type SatelliteConfig = Either<SatelliteId, SatelliteIds> & CliConfig & {
71
63
  /**
72
64
  * Optional configuration parameters for the satellite, affecting the operational behavior of its Storage.
73
65
  * Changes to these parameters must be applied manually afterwards, for example with the CLI using `juno config` commands.
@@ -82,31 +74,6 @@ export type SatelliteConfig = Either<SatelliteId, SatelliteIds> & {
82
74
  * @optional
83
75
  */
84
76
  authentication?: AuthenticationConfig;
85
- /**
86
- * Specifies files or patterns to ignore during deployment, using glob patterns similar to those in .gitignore.
87
- * @type {string[]}
88
- * @optional
89
- */
90
- ignore?: string[];
91
- /**
92
- * Controls the Gzip compression optimization for files in the source folder. By default, it targets JavaScript (js), ES Module (mjs), and CSS (css) files.
93
- * You can disable this by setting it to `false` or customize it with a different file matching pattern using glob syntax.
94
- * @type {string | false}
95
- * @optional
96
- */
97
- gzip?: string | false;
98
- /**
99
- * Customizes file encoding mapping for HTTP response headers `Content-Encoding` based on file extension:
100
- * - `.Z` for compress,
101
- * - `.gz` for gzip,
102
- * - `.br` for brotli,
103
- * - `.zlib` for deflate,
104
- * - anything else defaults to `identity`.
105
- * The "encoding" attribute allows overriding default mappings with an array of glob patterns and encoding types.
106
- * @type {Array<[string, ENCODING_TYPE]>}
107
- * @optional
108
- */
109
- encoding?: Array<[string, ENCODING_TYPE]>;
110
77
  /**
111
78
  * Optional configurations to override default assertions made by the CLI regarding satellite deployment conditions.
112
79
  * @type {SatelliteAssertions}
@@ -0,0 +1,36 @@
1
+ import type { ENCODING_TYPE } from './encoding';
2
+ export interface CliConfig {
3
+ /**
4
+ * Specifies the directory from which to deploy to storage.
5
+ * For instance, if `npm run build` outputs files to a `dist` folder, use `source: 'dist'`.
6
+ *
7
+ * @default 'build'
8
+ * @type {string}
9
+ */
10
+ source?: string;
11
+ /**
12
+ * Specifies files or patterns to ignore during deployment, using glob patterns similar to those in .gitignore.
13
+ * @type {string[]}
14
+ * @optional
15
+ */
16
+ ignore?: string[];
17
+ /**
18
+ * Controls the Gzip compression optimization for files in the source folder. By default, it targets JavaScript (js), ES Module (mjs), and CSS (css) files.
19
+ * You can disable this by setting it to `false` or customize it with a different file matching pattern using glob syntax.
20
+ * @type {string | false}
21
+ * @optional
22
+ */
23
+ gzip?: string | false;
24
+ /**
25
+ * Customizes file encoding mapping for HTTP response headers `Content-Encoding` based on file extension:
26
+ * - `.Z` for compress,
27
+ * - `.gz` for gzip,
28
+ * - `.br` for brotli,
29
+ * - `.zlib` for deflate,
30
+ * - anything else defaults to `identity`.
31
+ * The "encoding" attribute allows overriding default mappings with an array of glob patterns and encoding types.
32
+ * @type {Array<[string, ENCODING_TYPE]>}
33
+ * @optional
34
+ */
35
+ encoding?: Array<[string, ENCODING_TYPE]>;
36
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junobuild/config",
3
- "version": "0.0.7",
3
+ "version": "0.0.8-next-2024-06-15",
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
+ }
File without changes