everything-dev 1.14.4 → 1.16.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 (54) hide show
  1. package/dist/cli/init.cjs +6 -18
  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 +6 -18
  6. package/dist/cli/init.mjs.map +1 -1
  7. package/dist/cli/prompts.cjs +8 -8
  8. package/dist/cli/prompts.cjs.map +1 -1
  9. package/dist/cli/prompts.mjs +8 -8
  10. package/dist/cli/prompts.mjs.map +1 -1
  11. package/dist/config.cjs +2 -0
  12. package/dist/config.cjs.map +1 -1
  13. package/dist/config.d.cts.map +1 -1
  14. package/dist/config.d.mts.map +1 -1
  15. package/dist/config.mjs +2 -0
  16. package/dist/config.mjs.map +1 -1
  17. package/dist/contract.d.cts +4 -0
  18. package/dist/contract.d.cts.map +1 -1
  19. package/dist/contract.d.mts +4 -0
  20. package/dist/contract.d.mts.map +1 -1
  21. package/dist/merge.cjs +2 -0
  22. package/dist/merge.cjs.map +1 -1
  23. package/dist/merge.d.cts +1 -1
  24. package/dist/merge.d.cts.map +1 -1
  25. package/dist/merge.d.mts +1 -1
  26. package/dist/merge.d.mts.map +1 -1
  27. package/dist/merge.mjs +2 -0
  28. package/dist/merge.mjs.map +1 -1
  29. package/dist/near-cli.cjs +29 -52
  30. package/dist/near-cli.cjs.map +1 -1
  31. package/dist/near-cli.mjs +29 -52
  32. package/dist/near-cli.mjs.map +1 -1
  33. package/dist/plugin.cjs +15 -7
  34. package/dist/plugin.cjs.map +1 -1
  35. package/dist/plugin.d.cts +5 -0
  36. package/dist/plugin.d.mts +5 -0
  37. package/dist/plugin.mjs +15 -7
  38. package/dist/plugin.mjs.map +1 -1
  39. package/dist/types.cjs +4 -0
  40. package/dist/types.cjs.map +1 -1
  41. package/dist/types.d.cts +7 -0
  42. package/dist/types.d.cts.map +1 -1
  43. package/dist/types.d.mts +7 -0
  44. package/dist/types.d.mts.map +1 -1
  45. package/dist/types.mjs +4 -0
  46. package/dist/types.mjs.map +1 -1
  47. package/package.json +2 -1
  48. package/src/cli/init.ts +4 -24
  49. package/src/cli/prompts.ts +12 -8
  50. package/src/config.ts +2 -0
  51. package/src/merge.ts +2 -0
  52. package/src/near-cli.ts +42 -69
  53. package/src/plugin.ts +38 -19
  54. package/src/types.ts +6 -0
@@ -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
@@ -109,6 +109,7 @@ const ClientRuntimeInfoSchema = z.object({
109
109
  gatewayId: z.string(),
110
110
  runtimeBasePath: z.string(),
111
111
  title: z.string().nullable(),
112
+ description: z.string().nullable(),
112
113
  hostUrl: z.string().nullable()
113
114
  });
114
115
  const BosStagingSchema = z.object({ domain: z.string() });
@@ -142,6 +143,8 @@ const BosConfigSchema = z.object({
142
143
  account: z.string(),
143
144
  extends: ExtendsSchema.optional(),
144
145
  domain: z.string().optional(),
146
+ title: z.string().optional(),
147
+ description: z.string().optional(),
145
148
  testnet: z.string().optional(),
146
149
  staging: BosStagingSchema.optional(),
147
150
  repository: z.string().optional(),
@@ -164,6 +167,7 @@ const RuntimeConfigSchema = z.object({
164
167
  domain: z.string().optional(),
165
168
  networkId: z.enum(["mainnet", "testnet"]),
166
169
  title: z.string().optional(),
170
+ description: z.string().optional(),
167
171
  repository: z.string().optional(),
168
172
  host: FederationEntrySchema.extend({
169
173
  localPath: z.string().optional(),
@@ -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 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 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 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 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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "everything-dev",
3
- "version": "1.14.4",
3
+ "version": "1.16.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -130,6 +130,7 @@
130
130
  "chalk": "^5.6.2",
131
131
  "defu": "^6.1.7",
132
132
  "effect": "^3.21.0",
133
+ "execa": "^9.5.2",
133
134
  "every-plugin": "^2.5.9",
134
135
  "glob": "^13.0.6",
135
136
  "gradient-string": "^3.0.0",
package/src/cli/init.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { spawn } from "node:child_process";
2
1
  import { createHash } from "node:crypto";
3
2
  import {
4
3
  createWriteStream,
@@ -14,6 +13,7 @@ import { createRequire } from "node:module";
14
13
  import { tmpdir } from "node:os";
15
14
  import { dirname, join, resolve } from "node:path";
16
15
  import { pipeline } from "node:stream/promises";
16
+ import { execa } from "execa";
17
17
  import { glob } from "glob";
18
18
  import { fetchBosConfigFromFastKv } from "../fastkv";
19
19
  import {
@@ -285,7 +285,7 @@ export async function personalizeConfig(
285
285
  if (config.plugins && typeof config.plugins === "object") {
286
286
  const plugins = config.plugins as Record<string, unknown>;
287
287
 
288
- if (opts.plugins && opts.plugins.length > 0) {
288
+ if (opts.plugins !== undefined) {
289
289
  for (const pluginKey of Object.keys(plugins)) {
290
290
  if (!opts.plugins.includes(pluginKey)) {
291
291
  delete plugins[pluginKey];
@@ -762,26 +762,6 @@ export async function generateDatabaseMigrations(destination: string): Promise<v
762
762
  }
763
763
  }
764
764
 
765
- export function execCommand(command: string, args: string[], cwd?: string): Promise<void> {
766
- return new Promise((resolve, reject) => {
767
- const child = spawn(command, args, {
768
- cwd,
769
- stdio: "pipe",
770
- shell: true,
771
- });
772
- let stderr = "";
773
- child.stderr?.on("data", (data: Buffer) => {
774
- stderr += data.toString();
775
- });
776
- child.on("close", (code) => {
777
- if (code === 0) resolve();
778
- else
779
- reject(
780
- new Error(
781
- `Command '${command} ${args.join(" ")}' failed with exit code ${code}: ${stderr}`,
782
- ),
783
- );
784
- });
785
- child.on("error", reject);
786
- });
765
+ export async function execCommand(command: string, args: string[], cwd?: string): Promise<void> {
766
+ await execa(command, args, { cwd, stdio: "pipe" });
787
767
  }
@@ -16,8 +16,6 @@ function deriveAccountFromDomain(domain: string, extendsAccount: string): string
16
16
  return `${firstSegment}.${suffix}`;
17
17
  }
18
18
 
19
- const AVAILABLE_PLUGINS = [{ value: "settings", label: "settings" }];
20
-
21
19
  export async function promptInitOptions(input: {
22
20
  extendsAccount?: string;
23
21
  extendsGateway?: string;
@@ -27,6 +25,7 @@ export async function promptInitOptions(input: {
27
25
  domain?: string;
28
26
  plugins?: string[];
29
27
  withHost?: boolean;
28
+ parentPluginKeys?: string[];
30
29
  }): Promise<{
31
30
  extendsAccount: string;
32
31
  extendsGateway: string;
@@ -84,14 +83,19 @@ export async function promptInitOptions(input: {
84
83
 
85
84
  const directory = input.directory || domain || extendsGateway;
86
85
 
86
+ const parentPlugins = input.parentPluginKeys ?? [];
87
+ const pluginOptions =
88
+ parentPlugins.length > 0 ? parentPlugins.map((key) => ({ value: key, label: key })) : [];
89
+
87
90
  const plugins =
88
91
  input.plugins ??
89
- ((await p.multiselect({
90
- message: "Select plugins:",
91
- options: AVAILABLE_PLUGINS,
92
- initialValues: ["settings"],
93
- required: false,
94
- })) as string[]);
92
+ (pluginOptions.length > 0
93
+ ? ((await p.multiselect({
94
+ message: "Select plugins:",
95
+ options: pluginOptions,
96
+ required: false,
97
+ })) as string[])
98
+ : []);
95
99
 
96
100
  if (p.isCancel(plugins)) process.exit(0);
97
101
 
package/src/config.ts CHANGED
@@ -303,6 +303,8 @@ export function buildRuntimeConfig(
303
303
  env,
304
304
  account: config.account,
305
305
  domain: config.domain,
306
+ title: config.title,
307
+ description: config.description,
306
308
  networkId: getNetworkIdForAccount(config.account),
307
309
  repository: config.repository,
308
310
  host: {
package/src/merge.ts CHANGED
@@ -5,6 +5,8 @@ export const BOS_CONFIG_ORDER = [
5
5
  "extends",
6
6
  "account",
7
7
  "domain",
8
+ "title",
9
+ "description",
8
10
  "testnet",
9
11
  "staging",
10
12
  "repository",
package/src/near-cli.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { spawn } from "node:child_process";
2
1
  import { generateKeyPairSync } from "node:crypto";
3
2
  import { Effect } from "effect";
3
+ import { execa } from "execa";
4
4
 
5
5
  export interface NearTransactionConfig {
6
6
  account: string;
@@ -112,49 +112,34 @@ export function generateNearKeyPair(): NearKeyPair {
112
112
 
113
113
  const checkNearCliInstalled = Effect.tryPromise({
114
114
  try: async () => {
115
- return await new Promise<boolean>((resolve) => {
116
- const proc = spawn("near", ["--version"], { stdio: "pipe" });
117
- proc.on("close", (code) => resolve(code === 0));
118
- proc.on("error", () => resolve(false));
119
- });
115
+ try {
116
+ await execa("near", ["--version"], { stdio: "pipe" });
117
+ return true;
118
+ } catch {
119
+ return false;
120
+ }
120
121
  },
121
122
  catch: () => new Error("Failed to check NEAR CLI"),
122
123
  });
123
124
 
124
125
  const installNearCli = Effect.tryPromise({
125
126
  try: async () => {
126
- return await new Promise<void>((resolve, reject) => {
127
- const proc = spawn(
128
- "sh",
129
- ["-c", `curl --proto '=https' --tlsv1.2 -LsSf ${INSTALLER_URL} | sh`],
130
- {
131
- stdio: "inherit",
132
- },
133
- );
134
-
135
- proc.on("close", (code) => {
136
- if (code === 0) resolve();
137
- else reject(new NearCliInstallError(`Installer exited with code ${code}`));
138
- });
139
- proc.on("error", (err) => reject(new NearCliInstallError(err.message)));
127
+ await execa("sh", ["-c", `curl --proto '=https' --tlsv1.2 -LsSf ${INSTALLER_URL} | sh`], {
128
+ stdio: "inherit",
140
129
  });
141
130
  },
142
- catch: (error) => error as Error,
131
+ catch: (error) => {
132
+ if (error instanceof Error && "exitCode" in error) {
133
+ return new NearCliInstallError(
134
+ `Installer exited with code ${(error as { exitCode: number }).exitCode}`,
135
+ );
136
+ }
137
+ return new NearCliInstallError(error instanceof Error ? error.message : String(error));
138
+ },
143
139
  });
144
140
 
145
141
  async function runNearCommand(args: string[]): Promise<void> {
146
- await new Promise<void>((resolve, reject) => {
147
- const proc = spawn("near", args, {
148
- stdio: "inherit",
149
- });
150
-
151
- proc.on("close", (code) => {
152
- if (code === 0) resolve();
153
- else reject(new Error(`near ${args.join(" ")} failed with exit code ${code}`));
154
- });
155
-
156
- proc.on("error", (err) => reject(new Error(err.message)));
157
- });
142
+ await execa("near", args, { stdio: "inherit" });
158
143
  }
159
144
 
160
145
  export const ensureNearCli = Effect.gen(function* () {
@@ -209,43 +194,31 @@ export const executeTransaction = (
209
194
 
210
195
  const output = yield* Effect.tryPromise({
211
196
  try: async () => {
212
- return await new Promise<string>((resolve, reject) => {
213
- const proc = spawn("near", args, { stdio: ["inherit", "pipe", "pipe"] });
214
-
215
- let stdout = "";
216
- let stderr = "";
217
-
218
- proc.stdout?.on("data", (data) => {
219
- const text = data.toString();
220
- stdout += text;
221
- process.stdout.write(text);
222
- });
223
-
224
- proc.stderr?.on("data", (data) => {
225
- const text = data.toString();
226
- stderr += text;
227
- });
228
-
229
- proc.on("close", (code) => {
230
- const combined = `${stdout}\n${stderr}`;
231
- const txHashMatch = combined.match(/Transaction ID:\s*([A-Za-z0-9]+)/i);
232
- const hasCodeDoesNotExist = /CodeDoesNotExist/i.test(combined);
233
- const hasTransactionFailed = /Transaction failed/i.test(combined);
234
- const softSuccess =
235
- Boolean(txHashMatch?.[1]) && hasCodeDoesNotExist && hasTransactionFailed;
236
-
237
- if (code === 0 || softSuccess) {
238
- if (softSuccess) {
239
- console.log(` ${txHashMatch?.[1]} — FastDATA CodeDoesNotExist (expected)`);
240
- }
241
- resolve(combined);
242
- } else {
243
- reject(new NearTransactionError(stderr || `Transaction failed with code ${code}`));
244
- }
245
- });
246
-
247
- proc.on("error", (err) => reject(new NearTransactionError(err.message)));
197
+ const result = await execa("near", args, {
198
+ stdin: "inherit",
199
+ stdout: "pipe",
200
+ stderr: "pipe",
201
+ reject: false,
248
202
  });
203
+
204
+ process.stdout.write(result.stdout);
205
+ const combined = `${result.stdout}\n${result.stderr}`;
206
+ const txHashMatch = combined.match(/Transaction ID:\s*([A-Za-z0-9]+)/i);
207
+ const hasCodeDoesNotExist = /CodeDoesNotExist/i.test(combined);
208
+ const hasTransactionFailed = /Transaction failed/i.test(combined);
209
+ const softSuccess =
210
+ Boolean(txHashMatch?.[1]) && hasCodeDoesNotExist && hasTransactionFailed;
211
+
212
+ if (result.exitCode === 0 || softSuccess) {
213
+ if (softSuccess) {
214
+ console.log(` ${txHashMatch?.[1]} — FastDATA CodeDoesNotExist (expected)`);
215
+ }
216
+ return combined;
217
+ }
218
+
219
+ throw new NearTransactionError(
220
+ result.stderr || `Transaction failed with code ${result.exitCode}`,
221
+ );
249
222
  },
250
223
  catch: (error) => error as Error,
251
224
  });
package/src/plugin.ts CHANGED
@@ -1321,6 +1321,18 @@ export default createPlugin({
1321
1321
  }
1322
1322
  }
1323
1323
 
1324
+ extendsAccount = extendsAccount || "dev.everything.near";
1325
+ extendsGateway = extendsGateway || "everything.dev";
1326
+
1327
+ let parentPluginKeys: string[] = [];
1328
+ let parentConfig: BosConfig | null = null;
1329
+ try {
1330
+ parentConfig = await fetchParentConfig(extendsAccount, extendsGateway);
1331
+ if (parentConfig?.plugins && typeof parentConfig.plugins === "object") {
1332
+ parentPluginKeys = Object.keys(parentConfig.plugins);
1333
+ }
1334
+ } catch {}
1335
+
1324
1336
  if (!input.noInteractive) {
1325
1337
  const prompted = await promptInitOptions({
1326
1338
  extendsAccount,
@@ -1331,6 +1343,7 @@ export default createPlugin({
1331
1343
  domain,
1332
1344
  plugins,
1333
1345
  withHost,
1346
+ parentPluginKeys,
1334
1347
  });
1335
1348
  extendsAccount = prompted.extendsAccount;
1336
1349
  extendsGateway = prompted.extendsGateway;
@@ -1341,34 +1354,40 @@ export default createPlugin({
1341
1354
  plugins = prompted.plugins;
1342
1355
  }
1343
1356
 
1344
- extendsAccount = extendsAccount || "dev.everything.near";
1345
- extendsGateway = extendsGateway || "everything.dev";
1346
1357
  directory = directory || domain || extendsGateway;
1347
- plugins = plugins?.length ? plugins : ["settings"];
1358
+ plugins = plugins ?? [];
1348
1359
 
1349
- try {
1350
- await fetchParentConfig(extendsAccount, extendsGateway);
1351
- } catch {
1352
- return {
1353
- status: "error" as const,
1354
- directory,
1355
- extendsAccount,
1356
- extendsGateway,
1357
- account,
1358
- domain,
1359
- extends: `bos://${extendsAccount}/${extendsGateway}`,
1360
- plugins: plugins ?? [],
1361
- filesCopied: 0,
1362
- error: `No config found at bos://${extendsAccount}/${extendsGateway} — are you sure this is the right parent?`,
1363
- };
1360
+ if (!parentConfig) {
1361
+ try {
1362
+ parentConfig = await fetchParentConfig(extendsAccount, extendsGateway);
1363
+ } catch {
1364
+ return {
1365
+ status: "error" as const,
1366
+ directory,
1367
+ extendsAccount,
1368
+ extendsGateway,
1369
+ account,
1370
+ domain,
1371
+ extends: `bos://${extendsAccount}/${extendsGateway}`,
1372
+ plugins: plugins ?? [],
1373
+ filesCopied: 0,
1374
+ error: `No config found at bos://${extendsAccount}/${extendsGateway} — are you sure this is the right parent?`,
1375
+ };
1376
+ }
1364
1377
  }
1365
1378
 
1366
- const { sourceDir, parentConfig, cleanup } = await resolveSourceDir({
1379
+ const {
1380
+ sourceDir,
1381
+ parentConfig: resolvedParentConfig,
1382
+ cleanup,
1383
+ } = await resolveSourceDir({
1367
1384
  extendsAccount,
1368
1385
  extendsGateway,
1369
1386
  source: input.source,
1370
1387
  });
1371
1388
 
1389
+ parentConfig = resolvedParentConfig;
1390
+
1372
1391
  try {
1373
1392
  const patterns = await readTemplatekeep(sourceDir);
1374
1393
  if (patterns.length === 0) {
package/src/types.ts CHANGED
@@ -137,6 +137,7 @@ export const ClientRuntimeInfoSchema = z.object({
137
137
  gatewayId: z.string(),
138
138
  runtimeBasePath: z.string(),
139
139
  title: z.string().nullable(),
140
+ description: z.string().nullable(),
140
141
  hostUrl: z.string().nullable(),
141
142
  });
142
143
  export type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;
@@ -183,6 +184,8 @@ export interface BosConfigInput {
183
184
  extends?: string | ExtendsConfig;
184
185
  account?: string;
185
186
  domain?: string;
187
+ title?: string;
188
+ description?: string;
186
189
  testnet?: string;
187
190
  template?: string;
188
191
  gateway?: {
@@ -209,6 +212,8 @@ export const BosConfigSchema = z.object({
209
212
  account: z.string(),
210
213
  extends: ExtendsSchema.optional(),
211
214
  domain: z.string().optional(),
215
+ title: z.string().optional(),
216
+ description: z.string().optional(),
212
217
  testnet: z.string().optional(),
213
218
  staging: BosStagingSchema.optional(),
214
219
  repository: z.string().optional(),
@@ -229,6 +234,7 @@ export const RuntimeConfigSchema = z.object({
229
234
  domain: z.string().optional(),
230
235
  networkId: z.enum(["mainnet", "testnet"]),
231
236
  title: z.string().optional(),
237
+ description: z.string().optional(),
232
238
  repository: z.string().optional(),
233
239
  host: FederationEntrySchema.extend({
234
240
  localPath: z.string().optional(),