everything-dev 1.35.1 → 1.35.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/dist/merge.mjs CHANGED
@@ -63,10 +63,8 @@ function resolveExtendsRef(extendsField, env) {
63
63
  return extendsField[env] ?? extendsField.production ?? Object.values(extendsField).find(Boolean);
64
64
  }
65
65
  function mergeBosConfigWithExtends(parent, child) {
66
- const { plugins: _ignoredParentPlugins, ...parentWithoutPlugins } = parent;
67
- const merged = bosConfigMerger(child, parentWithoutPlugins);
66
+ const merged = bosConfigMerger(child, parent);
68
67
  if (child.plugins !== void 0 && isPlainObject(child.plugins)) merged.plugins = cleanNullSentinels(child.plugins);
69
- else delete merged.plugins;
70
68
  const mergedRecord = merged;
71
69
  if (isPlainObject(mergedRecord.app)) for (const entryVal of Object.values(mergedRecord.app)) {
72
70
  if (!isPlainObject(entryVal)) continue;
@@ -1 +1 @@
1
- {"version":3,"file":"merge.mjs","names":[],"sources":["../src/merge.ts"],"sourcesContent":["import { createDefu } from \"defu\";\nimport type { BosConfigInput, ExtendsConfig } from \"./types\";\n\nexport const BOS_CONFIG_ORDER = [\n \"extends\",\n \"account\",\n \"domain\",\n \"title\",\n \"description\",\n \"testnet\",\n \"staging\",\n \"repository\",\n \"ci\",\n \"app\",\n \"plugins\",\n] as const;\n\nexport type BosConfigFieldName = (typeof BOS_CONFIG_ORDER)[number];\n\nexport type BosEnv = \"development\" | \"production\" | \"staging\";\n\nexport interface ResolvedConfigMeta {\n env: BosEnv;\n resolvedAt: string;\n extendsChain: string[];\n source?: string;\n}\n\nconst ARRAY_UNION_KEYS = new Set([\"secrets\"]);\n\nexport function isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction unionArrays(a: unknown, b: unknown): unknown[] | undefined {\n const aArr = Array.isArray(a) ? a : [];\n const bArr = Array.isArray(b) ? b : [];\n if (aArr.length === 0 && bArr.length === 0) return undefined;\n const seen = new Set<string>();\n const result: unknown[] = [];\n for (const item of [...aArr, ...bArr]) {\n if (typeof item === \"string\") {\n if (seen.has(item)) continue;\n seen.add(item);\n }\n result.push(item);\n }\n return result;\n}\n\nfunction cleanNullSentinels(obj: Record<string, unknown>): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value === null || value === undefined) continue;\n if (isPlainObject(value)) {\n const cleaned = cleanNullSentinels(value);\n if (Object.keys(cleaned).length > 0) {\n out[key] = cleaned;\n }\n } else {\n out[key] = value;\n }\n }\n return out;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bosConfigMerger = createDefu((obj: any, key: any, value: any): boolean | undefined => {\n if (obj[key] === null) return true;\n if (value === null) {\n obj[key] = null;\n return true;\n }\n if (Array.isArray(obj[key]) && Array.isArray(value)) {\n if (ARRAY_UNION_KEYS.has(key)) {\n obj[key] = unionArrays(obj[key], value);\n } else {\n obj[key] = value;\n }\n return true;\n }\n return false;\n});\n\nexport function resolveExtendsRef(\n extendsField: string | ExtendsConfig | undefined,\n env: BosEnv,\n): string | undefined {\n if (!extendsField) return undefined;\n if (typeof extendsField === \"string\") return extendsField;\n return extendsField[env] ?? extendsField.production ?? Object.values(extendsField).find(Boolean);\n}\n\nexport function mergeBosConfigWithExtends(\n parent: BosConfigInput,\n child: BosConfigInput,\n): BosConfigInput {\n const { plugins: _ignoredParentPlugins, ...parentWithoutPlugins } = parent;\n const merged = bosConfigMerger(child, parentWithoutPlugins) as BosConfigInput;\n\n if (child.plugins !== undefined && isPlainObject(child.plugins)) {\n (merged as Record<string, unknown>).plugins = cleanNullSentinels(\n child.plugins as Record<string, unknown>,\n );\n } else {\n delete (merged as Record<string, unknown>).plugins;\n }\n\n const mergedRecord = merged as Record<string, unknown>;\n\n if (isPlainObject(mergedRecord.app)) {\n for (const entryVal of Object.values(mergedRecord.app as Record<string, unknown>)) {\n if (!isPlainObject(entryVal)) continue;\n for (const secretKey of ARRAY_UNION_KEYS) {\n if (Array.isArray(entryVal[secretKey])) {\n entryVal[secretKey] =\n (unionArrays(entryVal[secretKey] as unknown[], []) as string[] | undefined)?.filter(\n Boolean,\n ) ?? entryVal[secretKey];\n }\n }\n }\n }\n\n if (isPlainObject(mergedRecord.plugins)) {\n for (const pluginVal of Object.values(mergedRecord.plugins as Record<string, unknown>)) {\n if (!isPlainObject(pluginVal)) continue;\n for (const secretKey of ARRAY_UNION_KEYS) {\n if (Array.isArray(pluginVal[secretKey])) {\n pluginVal[secretKey] =\n (unionArrays(pluginVal[secretKey] as unknown[], []) as string[] | undefined)?.filter(\n Boolean,\n ) ?? pluginVal[secretKey];\n }\n }\n }\n }\n\n return rebuildOrderedConfig(mergedRecord) as BosConfigInput;\n}\n\nexport function mergeBosConfigWithTemplate(\n local: BosConfigInput,\n template: BosConfigInput,\n): BosConfigInput {\n const merged = mergeJsonValuesPreservingLocalOrder(local, template) as BosConfigInput;\n return rebuildOrderedConfig(merged as Record<string, unknown>) as BosConfigInput;\n}\n\nfunction mergeJsonValuesPreservingLocalOrder(local: unknown, template: unknown): unknown {\n if (isPlainObject(local) && isPlainObject(template)) {\n const merged: Record<string, unknown> = {};\n for (const key of Object.keys(local)) {\n merged[key] = mergeJsonValuesPreservingLocalOrder(\n local[key],\n (template as Record<string, unknown>)[key],\n );\n }\n for (const key of Object.keys(template as Record<string, unknown>)) {\n if (!(key in merged)) {\n merged[key] = (template as Record<string, unknown>)[key];\n }\n }\n return merged;\n }\n return local ?? template;\n}\n\nexport function rebuildOrderedConfig<T extends Record<string, unknown>>(config: T): T {\n const ordered: Record<string, unknown> = {};\n\n for (const key of BOS_CONFIG_ORDER) {\n if (key in config) {\n ordered[key] = config[key];\n }\n }\n\n for (const key of Object.keys(config)) {\n if (!BOS_CONFIG_ORDER.includes(key as BosConfigFieldName)) {\n ordered[key] = config[key];\n }\n }\n\n return ordered as T;\n}\n\nexport { bosConfigMerger };\n"],"mappings":"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"}
1
+ {"version":3,"file":"merge.mjs","names":[],"sources":["../src/merge.ts"],"sourcesContent":["import { createDefu } from \"defu\";\nimport type { BosConfigInput, ExtendsConfig } from \"./types\";\n\nexport const BOS_CONFIG_ORDER = [\n \"extends\",\n \"account\",\n \"domain\",\n \"title\",\n \"description\",\n \"testnet\",\n \"staging\",\n \"repository\",\n \"ci\",\n \"app\",\n \"plugins\",\n] as const;\n\nexport type BosConfigFieldName = (typeof BOS_CONFIG_ORDER)[number];\n\nexport type BosEnv = \"development\" | \"production\" | \"staging\";\n\nexport interface ResolvedConfigMeta {\n env: BosEnv;\n resolvedAt: string;\n extendsChain: string[];\n source?: string;\n}\n\nconst ARRAY_UNION_KEYS = new Set([\"secrets\"]);\n\nexport function isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction unionArrays(a: unknown, b: unknown): unknown[] | undefined {\n const aArr = Array.isArray(a) ? a : [];\n const bArr = Array.isArray(b) ? b : [];\n if (aArr.length === 0 && bArr.length === 0) return undefined;\n const seen = new Set<string>();\n const result: unknown[] = [];\n for (const item of [...aArr, ...bArr]) {\n if (typeof item === \"string\") {\n if (seen.has(item)) continue;\n seen.add(item);\n }\n result.push(item);\n }\n return result;\n}\n\nfunction cleanNullSentinels(obj: Record<string, unknown>): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value === null || value === undefined) continue;\n if (isPlainObject(value)) {\n const cleaned = cleanNullSentinels(value);\n if (Object.keys(cleaned).length > 0) {\n out[key] = cleaned;\n }\n } else {\n out[key] = value;\n }\n }\n return out;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bosConfigMerger = createDefu((obj: any, key: any, value: any): boolean | undefined => {\n if (obj[key] === null) return true;\n if (value === null) {\n obj[key] = null;\n return true;\n }\n if (Array.isArray(obj[key]) && Array.isArray(value)) {\n if (ARRAY_UNION_KEYS.has(key)) {\n obj[key] = unionArrays(obj[key], value);\n } else {\n obj[key] = value;\n }\n return true;\n }\n return false;\n});\n\nexport function resolveExtendsRef(\n extendsField: string | ExtendsConfig | undefined,\n env: BosEnv,\n): string | undefined {\n if (!extendsField) return undefined;\n if (typeof extendsField === \"string\") return extendsField;\n return extendsField[env] ?? extendsField.production ?? Object.values(extendsField).find(Boolean);\n}\n\nexport function mergeBosConfigWithExtends(\n parent: BosConfigInput,\n child: BosConfigInput,\n): BosConfigInput {\n const merged = bosConfigMerger(child, parent) as BosConfigInput;\n\n if (child.plugins !== undefined && isPlainObject(child.plugins)) {\n (merged as Record<string, unknown>).plugins = cleanNullSentinels(\n child.plugins as Record<string, unknown>,\n );\n }\n\n const mergedRecord = merged as Record<string, unknown>;\n\n if (isPlainObject(mergedRecord.app)) {\n for (const entryVal of Object.values(mergedRecord.app as Record<string, unknown>)) {\n if (!isPlainObject(entryVal)) continue;\n for (const secretKey of ARRAY_UNION_KEYS) {\n if (Array.isArray(entryVal[secretKey])) {\n entryVal[secretKey] =\n (unionArrays(entryVal[secretKey] as unknown[], []) as string[] | undefined)?.filter(\n Boolean,\n ) ?? entryVal[secretKey];\n }\n }\n }\n }\n\n if (isPlainObject(mergedRecord.plugins)) {\n for (const pluginVal of Object.values(mergedRecord.plugins as Record<string, unknown>)) {\n if (!isPlainObject(pluginVal)) continue;\n for (const secretKey of ARRAY_UNION_KEYS) {\n if (Array.isArray(pluginVal[secretKey])) {\n pluginVal[secretKey] =\n (unionArrays(pluginVal[secretKey] as unknown[], []) as string[] | undefined)?.filter(\n Boolean,\n ) ?? pluginVal[secretKey];\n }\n }\n }\n }\n\n return rebuildOrderedConfig(mergedRecord) as BosConfigInput;\n}\n\nexport function mergeBosConfigWithTemplate(\n local: BosConfigInput,\n template: BosConfigInput,\n): BosConfigInput {\n const merged = mergeJsonValuesPreservingLocalOrder(local, template) as BosConfigInput;\n return rebuildOrderedConfig(merged as Record<string, unknown>) as BosConfigInput;\n}\n\nfunction mergeJsonValuesPreservingLocalOrder(local: unknown, template: unknown): unknown {\n if (isPlainObject(local) && isPlainObject(template)) {\n const merged: Record<string, unknown> = {};\n for (const key of Object.keys(local)) {\n merged[key] = mergeJsonValuesPreservingLocalOrder(\n local[key],\n (template as Record<string, unknown>)[key],\n );\n }\n for (const key of Object.keys(template as Record<string, unknown>)) {\n if (!(key in merged)) {\n merged[key] = (template as Record<string, unknown>)[key];\n }\n }\n return merged;\n }\n return local ?? template;\n}\n\nexport function rebuildOrderedConfig<T extends Record<string, unknown>>(config: T): T {\n const ordered: Record<string, unknown> = {};\n\n for (const key of BOS_CONFIG_ORDER) {\n if (key in config) {\n ordered[key] = config[key];\n }\n }\n\n for (const key of Object.keys(config)) {\n if (!BOS_CONFIG_ORDER.includes(key as BosConfigFieldName)) {\n ordered[key] = config[key];\n }\n }\n\n return ordered as T;\n}\n\nexport { bosConfigMerger };\n"],"mappings":"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"}
package/dist/plugin.d.cts CHANGED
@@ -65,8 +65,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
65
65
  interactive: z.ZodOptional<z.ZodBoolean>;
66
66
  }, z.core.$strip>, z.ZodObject<{
67
67
  status: z.ZodEnum<{
68
- started: "started";
69
68
  error: "error";
69
+ started: "started";
70
70
  }>;
71
71
  description: z.ZodString;
72
72
  processes: z.ZodArray<z.ZodString>;
@@ -94,8 +94,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
94
94
  deploy: z.ZodDefault<z.ZodBoolean>;
95
95
  }, z.core.$strip>, z.ZodObject<{
96
96
  status: z.ZodEnum<{
97
- error: "error";
98
97
  success: "success";
98
+ error: "error";
99
99
  }>;
100
100
  built: z.ZodArray<z.ZodString>;
101
101
  skipped: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -389,10 +389,10 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
389
389
  source: z.ZodOptional<z.ZodString>;
390
390
  plugins: z.ZodOptional<z.ZodArray<z.ZodString>>;
391
391
  overrides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
392
- host: "host";
392
+ plugins: "plugins";
393
393
  ui: "ui";
394
+ host: "host";
394
395
  api: "api";
395
- plugins: "plugins";
396
396
  }>>>;
397
397
  noInteractive: z.ZodDefault<z.ZodBoolean>;
398
398
  noInstall: z.ZodDefault<z.ZodBoolean>;
@@ -408,10 +408,10 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
408
408
  extends: z.ZodString;
409
409
  plugins: z.ZodOptional<z.ZodArray<z.ZodString>>;
410
410
  overrides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
411
- host: "host";
411
+ plugins: "plugins";
412
412
  ui: "ui";
413
+ host: "host";
413
414
  api: "api";
414
- plugins: "plugins";
415
415
  }>>>;
416
416
  filesCopied: z.ZodNumber;
417
417
  timings: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -501,8 +501,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
501
501
  dryRun: z.ZodDefault<z.ZodBoolean>;
502
502
  }, z.core.$strip>, z.ZodObject<{
503
503
  status: z.ZodEnum<{
504
- error: "error";
505
504
  success: "success";
505
+ error: "error";
506
506
  }>;
507
507
  generated: z.ZodArray<z.ZodString>;
508
508
  fetched: z.ZodArray<z.ZodString>;
@@ -645,7 +645,7 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
645
645
  }> | undefined;
646
646
  } | null;
647
647
  runtimeConfig: {
648
- env: "production" | "staging" | "development";
648
+ env: "production" | "development" | "staging";
649
649
  account: string;
650
650
  networkId: "testnet" | "mainnet";
651
651
  host: {
package/dist/plugin.d.mts CHANGED
@@ -65,8 +65,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
65
65
  interactive: z.ZodOptional<z.ZodBoolean>;
66
66
  }, z.core.$strip>, z.ZodObject<{
67
67
  status: z.ZodEnum<{
68
- started: "started";
69
68
  error: "error";
69
+ started: "started";
70
70
  }>;
71
71
  description: z.ZodString;
72
72
  processes: z.ZodArray<z.ZodString>;
@@ -94,8 +94,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
94
94
  deploy: z.ZodDefault<z.ZodBoolean>;
95
95
  }, z.core.$strip>, z.ZodObject<{
96
96
  status: z.ZodEnum<{
97
- error: "error";
98
97
  success: "success";
98
+ error: "error";
99
99
  }>;
100
100
  built: z.ZodArray<z.ZodString>;
101
101
  skipped: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -389,10 +389,10 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
389
389
  source: z.ZodOptional<z.ZodString>;
390
390
  plugins: z.ZodOptional<z.ZodArray<z.ZodString>>;
391
391
  overrides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
392
- host: "host";
392
+ plugins: "plugins";
393
393
  ui: "ui";
394
+ host: "host";
394
395
  api: "api";
395
- plugins: "plugins";
396
396
  }>>>;
397
397
  noInteractive: z.ZodDefault<z.ZodBoolean>;
398
398
  noInstall: z.ZodDefault<z.ZodBoolean>;
@@ -408,10 +408,10 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
408
408
  extends: z.ZodString;
409
409
  plugins: z.ZodOptional<z.ZodArray<z.ZodString>>;
410
410
  overrides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
411
- host: "host";
411
+ plugins: "plugins";
412
412
  ui: "ui";
413
+ host: "host";
413
414
  api: "api";
414
- plugins: "plugins";
415
415
  }>>>;
416
416
  filesCopied: z.ZodNumber;
417
417
  timings: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -501,8 +501,8 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
501
501
  dryRun: z.ZodDefault<z.ZodBoolean>;
502
502
  }, z.core.$strip>, z.ZodObject<{
503
503
  status: z.ZodEnum<{
504
- error: "error";
505
504
  success: "success";
505
+ error: "error";
506
506
  }>;
507
507
  generated: z.ZodArray<z.ZodString>;
508
508
  fetched: z.ZodArray<z.ZodString>;
@@ -645,7 +645,7 @@ declare const _default: _$every_plugin0.LoadedPluginWithBinding<{
645
645
  }> | undefined;
646
646
  } | null;
647
647
  runtimeConfig: {
648
- env: "production" | "staging" | "development";
648
+ env: "production" | "development" | "staging";
649
649
  account: string;
650
650
  networkId: "testnet" | "mainnet";
651
651
  host: {
package/dist/types.d.cts CHANGED
@@ -467,8 +467,8 @@ type BosConfig = z.infer<typeof BosConfigSchema>;
467
467
  declare const RuntimeConfigSchema: z.ZodObject<{
468
468
  env: z.ZodEnum<{
469
469
  production: "production";
470
- staging: "staging";
471
470
  development: "development";
471
+ staging: "staging";
472
472
  }>;
473
473
  account: z.ZodString;
474
474
  domain: z.ZodOptional<z.ZodString>;
@@ -614,8 +614,8 @@ type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
614
614
  declare const ClientRuntimeConfigSchema: z.ZodObject<{
615
615
  env: z.ZodEnum<{
616
616
  production: "production";
617
- staging: "staging";
618
617
  development: "development";
618
+ staging: "staging";
619
619
  }>;
620
620
  account: z.ZodString;
621
621
  networkId: z.ZodEnum<{
package/dist/types.d.mts CHANGED
@@ -467,8 +467,8 @@ type BosConfig = z.infer<typeof BosConfigSchema>;
467
467
  declare const RuntimeConfigSchema: z.ZodObject<{
468
468
  env: z.ZodEnum<{
469
469
  production: "production";
470
- staging: "staging";
471
470
  development: "development";
471
+ staging: "staging";
472
472
  }>;
473
473
  account: z.ZodString;
474
474
  domain: z.ZodOptional<z.ZodString>;
@@ -614,8 +614,8 @@ type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
614
614
  declare const ClientRuntimeConfigSchema: z.ZodObject<{
615
615
  env: z.ZodEnum<{
616
616
  production: "production";
617
- staging: "staging";
618
617
  development: "development";
618
+ staging: "staging";
619
619
  }>;
620
620
  account: z.ZodString;
621
621
  networkId: z.ZodEnum<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "everything-dev",
3
- "version": "1.35.1",
3
+ "version": "1.35.3",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -10,8 +10,8 @@ metadata:
10
10
  ## Starting Development
11
11
 
12
12
  ```bash
13
- # Typical: remote host, local UI + API
14
- bos dev --host remote
13
+ # Typical: start development (host mode auto-detected)
14
+ bos dev
15
15
 
16
16
  # Isolate work
17
17
  bos dev --api remote # UI only
@@ -49,7 +49,7 @@ The orchestrator:
49
49
 
50
50
  - **UI changes**: Rsbuild HMR — instant at :3003, no rebuild
51
51
  - **API changes**: Rspack HMR — instant at :3001, no rebuild
52
- - **Config changes**: Require host restart (`bos kill && bos dev --host remote`)
52
+ - **Config changes**: Require host restart (`bos kill && bos dev`)
53
53
 
54
54
  ## Contract Sync & Type Generation
55
55
 
@@ -159,5 +159,5 @@ Process issues:
159
159
  ```bash
160
160
  bos kill # Kill all tracked processes
161
161
  bun install # Reinstall deps
162
- bos dev --host remote # Restart
162
+ bos dev # Restart
163
163
  ```
@@ -134,14 +134,14 @@ The tenant config must:
134
134
  For the base runtime:
135
135
 
136
136
  ```bash
137
- bos dev --host remote
137
+ bos dev
138
138
  bos publish --deploy
139
139
  ```
140
140
 
141
141
  For a shared-host child UI app:
142
142
 
143
143
  ```bash
144
- bos dev --host remote --api remote
144
+ bos dev --api remote
145
145
  bos publish --deploy
146
146
  ```
147
147