everything-dev 1.16.3 → 1.17.0

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.
Files changed (62) hide show
  1. package/dist/cli/init.cjs +50 -51
  2. package/dist/cli/init.cjs.map +1 -1
  3. package/dist/cli/init.d.cts.map +1 -1
  4. package/dist/cli/init.d.mts.map +1 -1
  5. package/dist/cli/init.mjs +50 -51
  6. package/dist/cli/init.mjs.map +1 -1
  7. package/dist/cli/sync.cjs +3 -5
  8. package/dist/cli/sync.cjs.map +1 -1
  9. package/dist/cli/sync.mjs +3 -5
  10. package/dist/cli/sync.mjs.map +1 -1
  11. package/dist/cli/upgrade.cjs +149 -2
  12. package/dist/cli/upgrade.cjs.map +1 -1
  13. package/dist/cli/upgrade.mjs +149 -2
  14. package/dist/cli/upgrade.mjs.map +1 -1
  15. package/dist/config.cjs +125 -74
  16. package/dist/config.cjs.map +1 -1
  17. package/dist/config.d.cts +9 -2
  18. package/dist/config.d.cts.map +1 -1
  19. package/dist/config.d.mts +9 -2
  20. package/dist/config.d.mts.map +1 -1
  21. package/dist/config.mjs +126 -76
  22. package/dist/config.mjs.map +1 -1
  23. package/dist/contract.d.cts +34 -10
  24. package/dist/contract.d.cts.map +1 -1
  25. package/dist/contract.d.mts +34 -10
  26. package/dist/contract.d.mts.map +1 -1
  27. package/dist/index.cjs +2 -0
  28. package/dist/index.d.cts +3 -3
  29. package/dist/index.d.mts +3 -3
  30. package/dist/index.mjs +3 -3
  31. package/dist/merge.cjs +1 -0
  32. package/dist/merge.mjs +1 -1
  33. package/dist/plugin.cjs +11 -13
  34. package/dist/plugin.cjs.map +1 -1
  35. package/dist/plugin.d.cts +34 -10
  36. package/dist/plugin.d.mts +34 -10
  37. package/dist/plugin.mjs +11 -13
  38. package/dist/plugin.mjs.map +1 -1
  39. package/dist/sidebar.cjs +6 -14
  40. package/dist/sidebar.cjs.map +1 -1
  41. package/dist/sidebar.d.cts +3 -3
  42. package/dist/sidebar.d.cts.map +1 -1
  43. package/dist/sidebar.d.mts +3 -3
  44. package/dist/sidebar.d.mts.map +1 -1
  45. package/dist/sidebar.mjs +6 -14
  46. package/dist/sidebar.mjs.map +1 -1
  47. package/dist/types.cjs +10 -16
  48. package/dist/types.cjs.map +1 -1
  49. package/dist/types.d.cts +54 -10
  50. package/dist/types.d.cts.map +1 -1
  51. package/dist/types.d.mts +54 -10
  52. package/dist/types.d.mts.map +1 -1
  53. package/dist/types.mjs +10 -17
  54. package/dist/types.mjs.map +1 -1
  55. package/package.json +1 -1
  56. package/src/cli/init.ts +95 -63
  57. package/src/cli/sync.ts +5 -8
  58. package/src/cli/upgrade.ts +209 -2
  59. package/src/config.ts +250 -107
  60. package/src/plugin.ts +22 -16
  61. package/src/sidebar.ts +9 -31
  62. package/src/types.ts +10 -15
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
package/dist/types.mjs CHANGED
@@ -34,34 +34,27 @@ const SidebarItemSchema = z.object({
34
34
  to: z.string().optional(),
35
35
  roleRequired: SidebarRoleSchema.optional()
36
36
  });
37
- const ApiPluginConfigSchema = z.object({
38
- name: z.string(),
37
+ const ComposableAppEntrySchema = z.object({
38
+ extends: ExtendsSchema.optional(),
39
+ name: z.string().optional(),
39
40
  development: z.string().optional(),
40
41
  production: z.string().optional(),
41
42
  integrity: z.string().optional(),
42
43
  proxy: z.string().optional(),
43
44
  variables: z.record(z.string(), z.string()).optional(),
44
45
  secrets: z.array(z.string()).optional(),
45
- sidebar: z.array(SidebarItemSchema).optional()
46
+ sidebar: z.array(SidebarItemSchema).optional(),
47
+ routes: z.array(z.string()).optional()
46
48
  });
49
+ const ApiPluginConfigSchema = ComposableAppEntrySchema;
47
50
  const PluginUiConfigSchema = z.object({
48
51
  name: z.string(),
49
52
  development: z.string().optional(),
50
53
  production: z.string().optional(),
51
54
  integrity: z.string().optional()
52
55
  });
53
- const BosPluginRefSchema = z.object({
54
- extends: ExtendsSchema.optional(),
55
- development: z.string().optional(),
56
- production: z.string().optional(),
57
- integrity: z.string().optional(),
58
- name: z.string().optional(),
56
+ const BosPluginRefSchema = ComposableAppEntrySchema.extend({
59
57
  version: z.string().optional(),
60
- proxy: z.string().optional(),
61
- variables: z.record(z.string(), z.string()).optional(),
62
- secrets: z.array(z.string()).optional(),
63
- routes: z.array(z.string()).optional(),
64
- sidebar: z.array(SidebarItemSchema).optional(),
65
58
  app: z.record(z.string(), z.unknown()).optional(),
66
59
  shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),
67
60
  plugins: z.record(z.string(), z.unknown()).optional()
@@ -153,8 +146,8 @@ const BosConfigSchema = z.object({
153
146
  app: z.object({
154
147
  host: HostConfigSchema,
155
148
  ui: UiConfigSchema,
156
- api: ApiPluginConfigSchema,
157
- auth: ApiPluginConfigSchema.optional()
149
+ api: ComposableAppEntrySchema,
150
+ auth: ComposableAppEntrySchema.optional()
158
151
  })
159
152
  });
160
153
  const RuntimeConfigSchema = z.object({
@@ -254,5 +247,5 @@ const ClientRuntimeConfigSchema = z.object({
254
247
  });
255
248
 
256
249
  //#endregion
257
- export { ApiPluginConfigSchema, BosConfigInputSchema, BosConfigSchema, BosPluginRefSchema, BosStagingSchema, ClientRuntimeConfigSchema, ClientRuntimeInfoSchema, ExtendsSchema, FederationEntrySchema, HostConfigSchema, PluginUiConfigSchema, RuntimeConfigSchema, RuntimePluginConfigSchema, SharedConfigSchema, SharedDepConfigSchema, SidebarItemSchema, SidebarRoleSchema, SourceModeSchema, UiConfigSchema };
250
+ export { ApiPluginConfigSchema, BosConfigInputSchema, BosConfigSchema, BosPluginRefSchema, BosStagingSchema, ClientRuntimeConfigSchema, ClientRuntimeInfoSchema, ComposableAppEntrySchema, ExtendsSchema, FederationEntrySchema, HostConfigSchema, PluginUiConfigSchema, RuntimeConfigSchema, RuntimePluginConfigSchema, SharedConfigSchema, SharedDepConfigSchema, SidebarItemSchema, SidebarRoleSchema, SourceModeSchema, UiConfigSchema };
258
251
  //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import { z } from \"./sdk\";\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\nexport const SidebarRoleSchema = z.enum([\"anon\", \"member\", \"admin\"]);\nexport type SidebarRole = z.infer<typeof SidebarRoleSchema>;\n\nexport const SidebarItemSchema = z.object({\n icon: z.string(),\n label: z.string(),\n to: z.string().optional(),\n roleRequired: SidebarRoleSchema.optional(),\n});\nexport type SidebarItem = z.infer<typeof SidebarItemSchema>;\n\nexport const ApiPluginConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n});\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const BosPluginRefSchema = z.object({\n extends: ExtendsSchema.optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n ui: PluginRuntimeUiSchema.optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n routes: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const UiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n});\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n production: z.string(),\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n testnet: z.string().optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n }),\n);\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: Record<string, string>;\n secrets?: string[];\n routes?: string[];\n sidebar?: SidebarItem[];\n app?: Record<string, BosConfigInputAppEntry>;\n shared?: Record<string, Record<string, SharedDepConfig>>;\n plugins?: Record<string, string | BosConfigInput>;\n}\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ApiPluginConfigSchema,\n auth: ApiPluginConfigSchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n shared: z\n .object({\n ui: z.record(z.string(), SharedConfigSchema).optional(),\n plugins: z.record(z.string(), SharedConfigSchema).optional(),\n })\n .optional(),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n }).optional(),\n plugins: z.record(z.string(), RuntimePluginConfigSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n cspNonce: z.string().optional(),\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.string(),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n })\n .optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import { z } from \"./sdk\";\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\nexport const SidebarRoleSchema = z.enum([\"anon\", \"member\", \"admin\"]);\nexport type SidebarRole = z.infer<typeof SidebarRoleSchema>;\n\nexport const SidebarItemSchema = z.object({\n icon: z.string(),\n label: z.string(),\n to: z.string().optional(),\n roleRequired: SidebarRoleSchema.optional(),\n});\nexport type SidebarItem = z.infer<typeof SidebarItemSchema>;\n\nexport const ComposableAppEntrySchema = z.object({\n extends: ExtendsSchema.optional(),\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n routes: z.array(z.string()).optional(),\n});\nexport type ComposableAppEntry = z.infer<typeof ComposableAppEntrySchema>;\n\nexport const ApiPluginConfigSchema = ComposableAppEntrySchema;\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const BosPluginRefSchema = ComposableAppEntrySchema.extend({\n version: z.string().optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n ui: PluginRuntimeUiSchema.optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n routes: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const UiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n});\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n production: z.string(),\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n testnet: z.string().optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n }),\n);\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: Record<string, string>;\n secrets?: string[];\n routes?: string[];\n sidebar?: SidebarItem[];\n app?: Record<string, BosConfigInputAppEntry>;\n shared?: Record<string, Record<string, SharedDepConfig>>;\n plugins?: Record<string, string | BosConfigInput>;\n}\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n shared: z.record(z.string(), z.record(z.string(), SharedConfigSchema)).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ComposableAppEntrySchema,\n auth: ComposableAppEntrySchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n shared: z\n .object({\n ui: z.record(z.string(), SharedConfigSchema).optional(),\n plugins: z.record(z.string(), SharedConfigSchema).optional(),\n })\n .optional(),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: z.record(z.string(), z.string()).optional(),\n secrets: z.array(z.string()).optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n }).optional(),\n plugins: z.record(z.string(), RuntimePluginConfigSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n cspNonce: z.string().optional(),\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.string(),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n })\n .optional(),\n sidebar: z.array(SidebarItemSchema).optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "everything-dev",
3
- "version": "1.16.3",
3
+ "version": "1.17.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/cli/init.ts CHANGED
@@ -161,13 +161,6 @@ export async function copyFilteredFiles(
161
161
  ? [...patterns, "host/**"]
162
162
  : patterns.filter((p) => !p.startsWith("host/") && p !== "host/**");
163
163
 
164
- const filteredPatterns = effectivePatterns.filter((p) => {
165
- const pluginMatch = p.match(/^plugins\/([^/]+)/);
166
- if (!pluginMatch) return true;
167
- const pluginName = pluginMatch[1];
168
- return options.plugins?.includes(pluginName) ?? true;
169
- });
170
-
171
164
  const excludedRoutePatterns: string[] = [];
172
165
  if (options.pluginRoutes) {
173
166
  for (const [pluginKey, routePatterns] of Object.entries(options.pluginRoutes)) {
@@ -178,7 +171,7 @@ export async function copyFilteredFiles(
178
171
  }
179
172
 
180
173
  const allFiles = new Set<string>();
181
- for (const pattern of filteredPatterns) {
174
+ for (const pattern of effectivePatterns) {
182
175
  const matches = await glob(pattern, {
183
176
  cwd: sourceDir,
184
177
  nodir: true,
@@ -323,47 +316,31 @@ export async function personalizeConfig(
323
316
  string,
324
317
  unknown
325
318
  >;
326
- delete pluginConfig.extends;
327
- if (pluginConfig.app && typeof pluginConfig.app === "object") {
328
- const app = pluginConfig.app as Record<string, unknown>;
329
- for (const entryKey of Object.keys(app)) {
330
- const entry = app[entryKey];
331
- if (entry && typeof entry === "object") {
332
- const e = entry as Record<string, unknown>;
333
- delete e.production;
334
- delete e.integrity;
335
- }
336
- }
319
+ const normalizedConfig = ensureLocalPluginProviderConfig(
320
+ pluginConfig,
321
+ pluginKey,
322
+ `${pluginKey}.${opts.domain ?? parentDomain}`,
323
+ pluginObj,
324
+ opts.pluginRoutes,
325
+ );
326
+ if (stripProviderProductionFields(normalizedConfig)) {
327
+ writeFileSync(pluginConfigPath, `${JSON.stringify(normalizedConfig, null, 2)}\n`);
337
328
  }
338
- writeFileSync(pluginConfigPath, `${JSON.stringify(pluginConfig, null, 2)}\n`);
339
329
  } catch {}
340
330
  } else if (existsSync(pluginDir)) {
341
- const pluginConfig: Record<string, unknown> = {};
342
- pluginConfig.domain = `${pluginKey}.${opts.domain ?? parentDomain}`;
343
- pluginConfig.app = { api: { development: "local:." } };
344
-
345
- if (opts.pluginRoutes?.[pluginKey]) {
346
- pluginConfig.routes = opts.pluginRoutes[pluginKey];
347
- }
348
- if (pluginObj.sidebar) {
349
- pluginConfig.sidebar = pluginObj.sidebar;
350
- }
331
+ const pluginConfig = ensureLocalPluginProviderConfig(
332
+ {},
333
+ pluginKey,
334
+ `${pluginKey}.${opts.domain ?? parentDomain}`,
335
+ pluginObj,
336
+ opts.pluginRoutes,
337
+ );
351
338
 
352
339
  mkdirSync(pluginDir, { recursive: true });
353
340
  writeFileSync(pluginConfigPath, `${JSON.stringify(pluginConfig, null, 2)}\n`);
354
341
  }
355
342
 
356
- const cleanEntry: Record<string, unknown> = { development: pluginObj.development };
357
- if (pluginObj.extends) {
358
- cleanEntry.extends = pluginObj.extends;
359
- }
360
- if (pluginObj.secrets) {
361
- cleanEntry.secrets = pluginObj.secrets;
362
- }
363
- if (pluginObj.variables) {
364
- cleanEntry.variables = pluginObj.variables;
365
- }
366
- plugins[pluginKey] = cleanEntry;
343
+ plugins[pluginKey] = buildCleanPluginEntry(pluginObj);
367
344
  } else {
368
345
  delete pluginObj.production;
369
346
  delete pluginObj.integrity;
@@ -387,28 +364,7 @@ export async function personalizeConfig(
387
364
  string,
388
365
  unknown
389
366
  >;
390
- let changed = false;
391
-
392
- if ("extends" in pluginConfig) {
393
- delete pluginConfig.extends;
394
- changed = true;
395
- }
396
- if (pluginConfig.app && typeof pluginConfig.app === "object") {
397
- const app = pluginConfig.app as Record<string, unknown>;
398
- for (const entryKey of Object.keys(app)) {
399
- const entry = app[entryKey];
400
- if (entry && typeof entry === "object") {
401
- const e = entry as Record<string, unknown>;
402
- if ("production" in e || "integrity" in e) {
403
- delete e.production;
404
- delete e.integrity;
405
- changed = true;
406
- }
407
- }
408
- }
409
- }
410
-
411
- if (changed) {
367
+ if (stripProviderProductionFields(pluginConfig)) {
412
368
  writeFileSync(pluginConfigPath, `${JSON.stringify(pluginConfig, null, 2)}\n`);
413
369
  }
414
370
  } catch {}
@@ -550,6 +506,82 @@ export async function personalizeConfig(
550
506
  }
551
507
  }
552
508
 
509
+ function stripProviderProductionFields(config: Record<string, unknown>): boolean {
510
+ let changed = false;
511
+
512
+ if ("extends" in config) {
513
+ delete config.extends;
514
+ changed = true;
515
+ }
516
+
517
+ if (config.plugins && typeof config.plugins === "object") {
518
+ const pluginEntries = config.plugins as Record<string, unknown>;
519
+ for (const entryKey of Object.keys(pluginEntries)) {
520
+ const entry = pluginEntries[entryKey];
521
+ if (!entry || typeof entry !== "object") continue;
522
+ const normalizedEntry = entry as Record<string, unknown>;
523
+ if ("production" in normalizedEntry) {
524
+ delete normalizedEntry.production;
525
+ changed = true;
526
+ }
527
+ if ("integrity" in normalizedEntry) {
528
+ delete normalizedEntry.integrity;
529
+ changed = true;
530
+ }
531
+ }
532
+ }
533
+
534
+ return changed;
535
+ }
536
+
537
+ function ensureLocalPluginProviderConfig(
538
+ pluginConfig: Record<string, unknown>,
539
+ pluginKey: string,
540
+ domain: string,
541
+ pluginObj: Record<string, unknown>,
542
+ pluginRoutes?: Record<string, string[]>,
543
+ ): Record<string, unknown> {
544
+ pluginConfig.domain = domain;
545
+ if (!pluginConfig.plugins || typeof pluginConfig.plugins !== "object") {
546
+ pluginConfig.plugins = {};
547
+ }
548
+
549
+ const plugins = pluginConfig.plugins as Record<string, unknown>;
550
+ if (!plugins[pluginKey] || typeof plugins[pluginKey] !== "object") {
551
+ plugins[pluginKey] = {};
552
+ }
553
+
554
+ const pluginEntry = plugins[pluginKey] as Record<string, unknown>;
555
+ if (!pluginEntry.name) {
556
+ pluginEntry.name = pluginKey;
557
+ }
558
+ if (!pluginEntry.development) {
559
+ pluginEntry.development = "local:.";
560
+ }
561
+ if (pluginRoutes?.[pluginKey]) {
562
+ pluginEntry.routes = pluginRoutes[pluginKey];
563
+ }
564
+ if (pluginObj.sidebar) {
565
+ pluginEntry.sidebar = pluginObj.sidebar;
566
+ }
567
+
568
+ return pluginConfig;
569
+ }
570
+
571
+ function buildCleanPluginEntry(pluginObj: Record<string, unknown>): Record<string, unknown> {
572
+ const cleanEntry: Record<string, unknown> = { development: pluginObj.development };
573
+ if (pluginObj.extends) {
574
+ cleanEntry.extends = pluginObj.extends;
575
+ }
576
+ if (pluginObj.secrets) {
577
+ cleanEntry.secrets = pluginObj.secrets;
578
+ }
579
+ if (pluginObj.variables) {
580
+ cleanEntry.variables = pluginObj.variables;
581
+ }
582
+ return cleanEntry;
583
+ }
584
+
553
585
  function generateAuthTypesTemplate(): string {
554
586
  return `import type { Auth } from "better-auth";
555
587
  export type { Auth } from "better-auth";
package/src/cli/sync.ts CHANGED
@@ -16,7 +16,6 @@ import {
16
16
  mergeBosConfigWithTemplate,
17
17
  resolveExtendsRef,
18
18
  } from "../merge";
19
- import type { BosPluginRef } from "../types";
20
19
  import { isPathExcluded } from "../utils/path-match";
21
20
  import { writeGeneratedInfra } from "./infra";
22
21
  import {
@@ -314,7 +313,7 @@ export async function syncTemplate(projectDir: string, options: SyncOptions): Pr
314
313
  const extendsAccount = extendsMatch[1];
315
314
  const extendsGateway = extendsMatch[2];
316
315
 
317
- const { sourceDir, parentConfig, cleanup } = await resolveSourceDir({
316
+ const { sourceDir, cleanup } = await resolveSourceDir({
318
317
  extendsAccount,
319
318
  extendsGateway,
320
319
  });
@@ -354,12 +353,10 @@ export async function syncTemplate(projectDir: string, options: SyncOptions): Pr
354
353
  : [];
355
354
 
356
355
  const pluginRoutes: Record<string, string[]> = {};
357
- if (parentConfig.plugins) {
358
- for (const [key, entry] of Object.entries(parentConfig.plugins)) {
359
- const ref: BosPluginRef | null = entry && typeof entry !== "string" ? entry : null;
360
- if (ref?.routes && ref.routes.length > 0) {
361
- pluginRoutes[key] = ref.routes;
362
- }
356
+ const parentRuntime = await loadConfig({ cwd: sourceDir });
357
+ for (const [key, plugin] of Object.entries(parentRuntime?.runtime.plugins ?? {})) {
358
+ if (plugin.routes && plugin.routes.length > 0) {
359
+ pluginRoutes[key] = plugin.routes;
363
360
  }
364
361
  }
365
362
 
@@ -70,6 +70,197 @@ function parseBosRef(ref: string): { account: string; gateway: string } | null {
70
70
  return { account: match[1], gateway: match[2] };
71
71
  }
72
72
 
73
+ function parseTargetedRef(ref: string): { configRef: string; targetPath?: string } {
74
+ const hashIndex = ref.indexOf("#");
75
+ if (hashIndex === -1) {
76
+ return { configRef: ref };
77
+ }
78
+ return {
79
+ configRef: ref.slice(0, hashIndex),
80
+ targetPath: ref.slice(hashIndex + 1) || undefined,
81
+ };
82
+ }
83
+
84
+ function ensureTargetedRef(ref: string, targetPath: string): string {
85
+ const parsed = parseTargetedRef(ref);
86
+ if (parsed.targetPath) return ref;
87
+ return `${parsed.configRef}#${targetPath}`;
88
+ }
89
+
90
+ function rewriteExtendsTarget(
91
+ entry: Record<string, unknown> | undefined,
92
+ targetPath: string,
93
+ ): boolean {
94
+ if (!entry?.extends) return false;
95
+
96
+ if (typeof entry.extends === "string") {
97
+ const next = ensureTargetedRef(entry.extends, targetPath);
98
+ if (next === entry.extends) return false;
99
+ entry.extends = next;
100
+ return true;
101
+ }
102
+
103
+ if (typeof entry.extends === "object") {
104
+ let changed = false;
105
+ for (const [key, value] of Object.entries(entry.extends as Record<string, unknown>)) {
106
+ if (typeof value !== "string") continue;
107
+ const next = ensureTargetedRef(value, targetPath);
108
+ if (next !== value) {
109
+ (entry.extends as Record<string, unknown>)[key] = next;
110
+ changed = true;
111
+ }
112
+ }
113
+ return changed;
114
+ }
115
+
116
+ return false;
117
+ }
118
+
119
+ function migrateRootConfigTargets(config: Record<string, unknown>): boolean {
120
+ let changed = false;
121
+ const app =
122
+ config.app && typeof config.app === "object"
123
+ ? (config.app as Record<string, unknown>)
124
+ : undefined;
125
+
126
+ if (app?.api && typeof app.api === "object") {
127
+ changed = rewriteExtendsTarget(app.api as Record<string, unknown>, "app.api") || changed;
128
+ }
129
+ if (app?.auth && typeof app.auth === "object") {
130
+ changed = rewriteExtendsTarget(app.auth as Record<string, unknown>, "app.auth") || changed;
131
+ }
132
+
133
+ if (config.plugins && typeof config.plugins === "object") {
134
+ for (const [pluginKey, pluginValue] of Object.entries(
135
+ config.plugins as Record<string, unknown>,
136
+ )) {
137
+ if (typeof pluginValue === "string") {
138
+ const next = ensureTargetedRef(pluginValue, `plugins.${pluginKey}`);
139
+ if (next !== pluginValue) {
140
+ (config.plugins as Record<string, unknown>)[pluginKey] = next;
141
+ changed = true;
142
+ }
143
+ continue;
144
+ }
145
+ if (!pluginValue || typeof pluginValue !== "object") continue;
146
+ changed =
147
+ rewriteExtendsTarget(pluginValue as Record<string, unknown>, `plugins.${pluginKey}`) ||
148
+ changed;
149
+ }
150
+ }
151
+
152
+ return changed;
153
+ }
154
+
155
+ function migratePluginProviderConfig(config: Record<string, unknown>, pluginKey: string): boolean {
156
+ let changed = false;
157
+ if (!config.plugins || typeof config.plugins !== "object") {
158
+ config.plugins = {};
159
+ changed = true;
160
+ }
161
+
162
+ const plugins = config.plugins as Record<string, unknown>;
163
+ if (!plugins[pluginKey] || typeof plugins[pluginKey] !== "object") {
164
+ plugins[pluginKey] = { name: pluginKey };
165
+ changed = true;
166
+ }
167
+
168
+ const pluginEntry = plugins[pluginKey] as Record<string, unknown>;
169
+ if (typeof pluginEntry.name !== "string" || pluginEntry.name.length === 0) {
170
+ pluginEntry.name = pluginKey;
171
+ changed = true;
172
+ }
173
+
174
+ const app =
175
+ config.app && typeof config.app === "object"
176
+ ? (config.app as Record<string, unknown>)
177
+ : undefined;
178
+ const apiEntry =
179
+ app?.api && typeof app.api === "object" ? (app.api as Record<string, unknown>) : undefined;
180
+
181
+ if (apiEntry) {
182
+ for (const key of [
183
+ "extends",
184
+ "name",
185
+ "development",
186
+ "production",
187
+ "integrity",
188
+ "proxy",
189
+ "variables",
190
+ "secrets",
191
+ "sidebar",
192
+ "routes",
193
+ ] as const) {
194
+ if (pluginEntry[key] === undefined && apiEntry[key] !== undefined) {
195
+ pluginEntry[key] = apiEntry[key];
196
+ changed = true;
197
+ }
198
+ }
199
+
200
+ delete app!.api;
201
+ changed = true;
202
+ if (Object.keys(app!).length === 0) {
203
+ delete config.app;
204
+ }
205
+ }
206
+
207
+ if (config.sidebar !== undefined && pluginEntry.sidebar === undefined) {
208
+ pluginEntry.sidebar = config.sidebar;
209
+ changed = true;
210
+ }
211
+ if (config.routes !== undefined && pluginEntry.routes === undefined) {
212
+ pluginEntry.routes = config.routes;
213
+ changed = true;
214
+ }
215
+ if (config.sidebar !== undefined) {
216
+ delete config.sidebar;
217
+ changed = true;
218
+ }
219
+ if (config.routes !== undefined) {
220
+ delete config.routes;
221
+ changed = true;
222
+ }
223
+
224
+ changed = rewriteExtendsTarget(pluginEntry, `plugins.${pluginKey}`) || changed;
225
+
226
+ return changed;
227
+ }
228
+
229
+ export async function migrateBosConfigFiles(projectDir: string): Promise<string[]> {
230
+ const migrated: string[] = [];
231
+ const rootConfigPath = join(projectDir, "bos.config.json");
232
+
233
+ if (existsSync(rootConfigPath)) {
234
+ const rootConfig = JSON.parse(readFileSync(rootConfigPath, "utf-8")) as Record<string, unknown>;
235
+ if (migrateRootConfigTargets(rootConfig)) {
236
+ await saveBosConfig(projectDir, rootConfig);
237
+ migrated.push("bos.config.json");
238
+ }
239
+ }
240
+
241
+ const pluginConfigPaths = await glob("plugins/*/bos.config.json", {
242
+ cwd: projectDir,
243
+ nodir: true,
244
+ dot: false,
245
+ absolute: false,
246
+ });
247
+
248
+ for (const relativePath of pluginConfigPaths) {
249
+ const match = relativePath.match(/^plugins\/([^/]+)\/bos\.config\.json$/);
250
+ const pluginKey = match?.[1];
251
+ if (!pluginKey) continue;
252
+
253
+ const filePath = join(projectDir, relativePath);
254
+ const pluginConfig = JSON.parse(readFileSync(filePath, "utf-8")) as Record<string, unknown>;
255
+ if (!migratePluginProviderConfig(pluginConfig, pluginKey)) continue;
256
+
257
+ writeFileSync(filePath, `${JSON.stringify(pluginConfig, null, 2)}\n`);
258
+ migrated.push(relativePath);
259
+ }
260
+
261
+ return migrated;
262
+ }
263
+
73
264
  async function loadParentPluginOptions(projectDir: string): Promise<{
74
265
  localConfig: Record<string, unknown>;
75
266
  parentPlugins: Record<string, unknown>;
@@ -142,7 +333,16 @@ async function addSelectedParentPlugins(projectDir: string): Promise<string[]> {
142
333
  : {};
143
334
  const nextPlugins = { ...localPlugins };
144
335
  for (const key of selected) {
145
- nextPlugins[key] = pluginOptions.parentPlugins[key];
336
+ const parentPlugin = pluginOptions.parentPlugins[key];
337
+ if (parentPlugin && typeof parentPlugin === "object") {
338
+ const nextPlugin = structuredClone(parentPlugin as Record<string, unknown>);
339
+ rewriteExtendsTarget(nextPlugin, `plugins.${key}`);
340
+ nextPlugins[key] = nextPlugin;
341
+ } else if (typeof parentPlugin === "string") {
342
+ nextPlugins[key] = ensureTargetedRef(parentPlugin, `plugins.${key}`);
343
+ } else {
344
+ nextPlugins[key] = parentPlugin;
345
+ }
146
346
  }
147
347
 
148
348
  pluginOptions.localConfig.plugins = nextPlugins;
@@ -442,6 +642,10 @@ export async function upgradeTemplate(
442
642
  }
443
643
  });
444
644
 
645
+ const migratedBosConfigs = await timePhase(timings, "migrate bos configs", () =>
646
+ migrateBosConfigFiles(projectDir),
647
+ );
648
+
445
649
  let syncResult: UpgradeResult["sync"];
446
650
  let addedPlugins: string[] = [];
447
651
  if (!options.noSync) {
@@ -465,7 +669,10 @@ export async function upgradeTemplate(
465
669
  }
466
670
 
467
671
  const migratedFiles = await timePhase(timings, "clean obsolete files", async () => {
468
- const nextMigratedFiles = await rewriteLegacyUiImports(projectDir);
672
+ const nextMigratedFiles = [
673
+ ...migratedBosConfigs,
674
+ ...(await rewriteLegacyUiImports(projectDir)),
675
+ ];
469
676
  for (const file of OBSOLETE_FILES) {
470
677
  const filePath = join(projectDir, file);
471
678
  if (existsSync(filePath)) {