@builder.io/dev-tools 0.2.31 → 0.11.33-dev.202509151402.6aa9b1f64

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 (210) hide show
  1. package/README.md +43 -0
  2. package/angular/index.cjs +46 -0
  3. package/angular/index.d.ts +1 -0
  4. package/angular/index.mjs +21 -0
  5. package/cli/index.cjs +114063 -0
  6. package/cli/index.cjs.map +7 -0
  7. package/cli/main.cjs +26 -0
  8. package/core/index.cjs +14366 -325
  9. package/core/index.mjs +14349 -317
  10. package/figma/index.cjs +47 -0
  11. package/figma/index.d.ts +1 -0
  12. package/figma/index.mjs +28 -0
  13. package/figma/jsx-runtime/index.cjs +7 -0
  14. package/figma/jsx-runtime/index.d.ts +46 -0
  15. package/figma/jsx-runtime/index.js +7 -0
  16. package/figma/jsx-runtime/prop-types.d.ts +125 -0
  17. package/figma/jsx-runtime/react.d.ts +5217 -0
  18. package/next/index.d.ts +1 -1
  19. package/node/index.cjs +25310 -1
  20. package/node/index.mjs +25315 -1
  21. package/package.json +87 -22
  22. package/remix/build.cjs +132 -1
  23. package/remix/index.mjs +114 -1
  24. package/remix/server-build/index.mjs +1 -0
  25. package/server/index.cjs +22508 -192
  26. package/server/index.mjs +22508 -192
  27. package/types/_tests_/code.e2e.d.ts +1 -0
  28. package/types/_tests_/create-builder.e2e.d.ts +1 -0
  29. package/types/_tests_/dev-tools.e2e.d.ts +1 -0
  30. package/types/_tests_/figma-generate.e2e.d.ts +1 -0
  31. package/types/_tests_/figma-publish.e2e.d.ts +1 -0
  32. package/types/_tests_/fusionInit.e2e.d.ts +1 -0
  33. package/types/_tests_/help.e2e.d.ts +1 -0
  34. package/types/_tests_/launch.e2e.d.ts +1 -0
  35. package/types/_tests_/repo-indexing.test.d.ts +1 -0
  36. package/types/_tests_/sync-utils.test.d.ts +1 -0
  37. package/types/_tests_/utils.d.ts +44 -0
  38. package/types/_tests_/vitest.config.d.ts +2 -0
  39. package/types/_tests_/workspace.e2e.d.ts +1 -0
  40. package/types/angular/index.d.ts +1 -0
  41. package/types/cli/__tests__/parseGitDiffToApplyActions.spec.d.ts +1 -0
  42. package/types/cli/abort-signal-any.d.ts +1 -0
  43. package/types/cli/auth/auth-utils.d.ts +2 -0
  44. package/types/cli/auth/auth.d.ts +3 -0
  45. package/types/cli/auth/status.d.ts +3 -0
  46. package/types/cli/auto-update.d.ts +22 -0
  47. package/types/cli/auto-update.test.d.ts +1 -0
  48. package/types/cli/backup.d.ts +116 -0
  49. package/types/cli/builder-add/interface.d.ts +5 -0
  50. package/types/cli/builder-add/options.d.ts +2 -0
  51. package/types/cli/code-file-utils.d.ts +12 -0
  52. package/types/cli/code-file-utils.unit.d.ts +1 -0
  53. package/types/cli/code-tools.d.ts +91 -0
  54. package/types/cli/code.d.ts +7 -0
  55. package/types/cli/codegen.d.ts +339 -0
  56. package/types/cli/constants.d.ts +1 -0
  57. package/types/cli/credentials.d.ts +52 -0
  58. package/types/cli/download.d.ts +10 -0
  59. package/types/cli/exit.d.ts +1 -0
  60. package/types/cli/fetch.d.ts +1 -0
  61. package/types/cli/figma-publish.d.ts +24 -0
  62. package/types/cli/figma-publish.spec.d.ts +1 -0
  63. package/types/cli/figma-utils.d.ts +31 -0
  64. package/types/cli/figma.d.ts +4 -0
  65. package/types/cli/generate.d.ts +16 -0
  66. package/types/cli/help.d.ts +1 -0
  67. package/types/cli/incremental-tsc.d.ts +30 -0
  68. package/types/cli/index.d.ts +95 -0
  69. package/types/cli/indexing.d.ts +5 -0
  70. package/types/cli/launch/InitStateMachine.d.ts +68 -0
  71. package/types/cli/launch/config.d.ts +6 -0
  72. package/types/cli/launch/dev-server-orchestrator.d.ts +64 -0
  73. package/types/cli/launch/dry-run-backup.d.ts +9 -0
  74. package/types/cli/launch/errors.d.ts +3 -0
  75. package/types/cli/launch/github.d.ts +3 -0
  76. package/types/cli/launch/grafana.d.ts +4 -0
  77. package/types/cli/launch/helpers.d.ts +15 -0
  78. package/types/cli/launch/machine-health.d.ts +12 -0
  79. package/types/cli/launch/proxy.d.ts +3 -0
  80. package/types/cli/launch/server.d.ts +20 -0
  81. package/types/cli/launch.d.ts +90 -0
  82. package/types/cli/prettier.d.ts +3 -0
  83. package/types/cli/repo-indexing/component-discovery.d.ts +15 -0
  84. package/types/cli/repo-indexing/component-indexing.d.ts +19 -0
  85. package/types/cli/repo-indexing/repo-indexing-utils.d.ts +41 -0
  86. package/types/cli/repo-indexing/repo-indexing.d.ts +24 -0
  87. package/types/cli/repo-indexing/repo-indexing.mock.d.ts +5 -0
  88. package/types/cli/repo-indexing/types.d.ts +17 -0
  89. package/types/cli/repo-indexing-utils.d.ts +2 -0
  90. package/types/cli/repo-indexing.d.ts +17 -0
  91. package/types/cli/repo-indexing.mock.d.ts +5 -0
  92. package/types/cli/report/figma-report.d.ts +54 -0
  93. package/types/cli/server-ws.d.ts +50 -0
  94. package/types/cli/spinner.d.ts +6 -0
  95. package/types/cli/sync-utils.d.ts +21 -0
  96. package/types/cli/track.d.ts +5 -0
  97. package/types/cli/utils/component-group-mdx-prompt.d.ts +1 -0
  98. package/types/cli/utils/dev-server-url-parser.d.ts +11 -0
  99. package/types/cli/utils/dev-server-url-parser.test.d.ts +1 -0
  100. package/types/cli/utils/feature-flags.d.ts +2 -0
  101. package/types/cli/utils/git.d.ts +11 -0
  102. package/types/cli/utils/open.d.ts +1 -0
  103. package/types/cli/utils/parseGitDiff.d.ts +8 -0
  104. package/types/cli/utils/repo-indexing-agent-prompt.d.ts +1 -0
  105. package/types/cli/utils/repo-indexing-group-prompt.d.ts +1 -0
  106. package/types/cli/utils/repo-indexing-group-prompts.d.ts +1 -0
  107. package/types/cli/utils/signals.d.ts +2 -0
  108. package/types/cli/utils/terminal-buffer.d.ts +27 -0
  109. package/types/cli/utils/terminal-buffer.spec.d.ts +1 -0
  110. package/types/cli/utils/workspace-path-resolver.d.ts +92 -0
  111. package/types/cli/utils/workspace-path-resolver.unit.d.ts +1 -0
  112. package/types/cli/version.d.ts +1 -0
  113. package/types/client/client-api.d.ts +3 -2
  114. package/types/client/menu/pages/component-list.d.ts +2 -1
  115. package/types/client/tracking.d.ts +1 -1
  116. package/types/common/ast/component-info.d.ts +2 -0
  117. package/types/common/ast/component-input-types.d.ts +1 -1
  118. package/types/common/ast/convert-values.d.ts +1 -1
  119. package/types/common/ast/imported-statements.d.ts +4 -0
  120. package/types/common/ast/imported-statements.unit.d.ts +1 -0
  121. package/types/common/builder/builder-api.d.ts +8 -1
  122. package/types/common/builder/builder-sdks.d.ts +10 -0
  123. package/types/common/builder/content-generation.d.ts +1 -1
  124. package/types/common/constants.d.ts +2 -0
  125. package/types/common/dotenv.d.ts +1 -1
  126. package/types/common/dotenv.test.d.ts +1 -0
  127. package/types/common/errors.d.ts +32 -0
  128. package/types/common/estimate-code-tokens.d.ts +8 -0
  129. package/types/common/fs.d.ts +2 -0
  130. package/types/common/interactive-select-files.d.ts +3 -0
  131. package/types/common/test-utils.d.ts +6 -2
  132. package/types/common/typescript.d.ts +1 -1
  133. package/types/common/utils.d.ts +12 -1
  134. package/types/core/adapters/angular/angular-api-key.d.ts +10 -0
  135. package/types/core/adapters/angular/angular-api-key.unit.d.ts +1 -0
  136. package/types/core/adapters/angular/angular-app-module-imports.d.ts +3 -0
  137. package/types/core/adapters/angular/angular-app-module-imports.unit.d.ts +1 -0
  138. package/types/core/adapters/angular/angular-app-routes-update.d.ts +2 -0
  139. package/types/core/adapters/angular/angular-app-routes-update.unit.d.ts +1 -0
  140. package/types/core/adapters/angular/angular-components.d.ts +18 -0
  141. package/types/core/adapters/angular/angular-components.unit.d.ts +1 -0
  142. package/types/core/adapters/angular/angular-ensure-builder-setup.d.ts +5 -0
  143. package/types/core/adapters/angular/angular-ensure-config-plugin.d.ts +9 -0
  144. package/types/core/adapters/angular/angular-ensure-config-plugin.unit.d.ts +1 -0
  145. package/types/core/adapters/angular/angular-fix-tsconfig.d.ts +2 -0
  146. package/types/core/adapters/angular/angular-registry-parse.d.ts +16 -0
  147. package/types/core/adapters/angular/angular-registry-parse.unit.d.ts +1 -0
  148. package/types/core/adapters/angular/angular-registry.d.ts +3 -0
  149. package/types/core/adapters/angular/angular-registry.unit.d.ts +1 -0
  150. package/types/core/adapters/angular/angular-test-utils.d.ts +6 -0
  151. package/types/core/adapters/angular/index.d.ts +14 -0
  152. package/types/core/adapters/angular/types.d.ts +11 -0
  153. package/types/core/adapters/next/index.d.ts +15 -1
  154. package/types/core/adapters/next/next-ensure-builder-setup.d.ts +1 -1
  155. package/types/core/adapters/next/next-registry-parse.d.ts +2 -1
  156. package/types/core/adapters/next/next-registry.d.ts +1 -1
  157. package/types/core/adapters/next/next-test-utils.d.ts +3 -2
  158. package/types/core/adapters/react/index.d.ts +13 -0
  159. package/types/core/adapters/react/react-api-key.d.ts +6 -0
  160. package/types/core/adapters/react/react-builder-sdk-setup.d.ts +2 -0
  161. package/types/core/adapters/react/react-component-info.d.ts +5 -0
  162. package/types/core/adapters/react/react-components.d.ts +6 -4
  163. package/types/core/adapters/react/react-ensure-builder-setup.d.ts +4 -0
  164. package/types/core/adapters/react/react-registry-parse.d.ts +13 -0
  165. package/types/core/adapters/react/react-registry-parse.unit.d.ts +1 -0
  166. package/types/core/adapters/react/react-registry.d.ts +3 -0
  167. package/types/core/adapters/react/react-registry.unit.d.ts +1 -0
  168. package/types/core/adapters/react/react-test-utils.d.ts +7 -0
  169. package/types/core/adapters/remix/index.d.ts +1 -0
  170. package/types/core/adapters/remix/remix-ensure-builder-setup.d.ts +1 -1
  171. package/types/core/adapters/remix/remix-registry-parse.d.ts +1 -1
  172. package/types/core/adapters/remix/remix-registry.d.ts +1 -1
  173. package/types/core/adapters/remix/remix-test-utils.d.ts +2 -1
  174. package/types/core/adapters/vite/vite-ensure-config-plugin.d.ts +4 -0
  175. package/types/core/adapters/vue/index.d.ts +14 -0
  176. package/types/core/adapters/vue/vue-api-key.d.ts +6 -0
  177. package/types/core/adapters/vue/vue-components.d.ts +4 -0
  178. package/types/core/adapters/vue/vue-ensure-builder-setup.d.ts +7 -0
  179. package/types/core/adapters/vue/vue-registry-parse.d.ts +16 -0
  180. package/types/core/adapters/vue/vue-registry.d.ts +5 -0
  181. package/types/core/adapters/webpack/webpack-config-helpers.d.ts +11 -0
  182. package/types/core/adapters/webpack/webpack-config-helpers.unit.d.ts +1 -0
  183. package/types/core/adapters/webpack/webpack-ensure-config-plugin.d.ts +1 -1
  184. package/types/core/detect-frameworks.d.ts +2 -1
  185. package/types/core/find-dependencies.d.ts +7 -0
  186. package/types/core/import-export-registry.d.ts +1 -1
  187. package/types/figma/index.d.ts +88 -0
  188. package/types/node/node-sys.d.ts +5 -1
  189. package/types/scripts/analyze-projects.d.ts +18 -0
  190. package/types/scripts/call-ensure-container.d.ts +5 -0
  191. package/types/scripts/cli.d.ts +1 -0
  192. package/types/scripts/db.d.ts +3 -0
  193. package/types/scripts/download-projects.d.ts +12 -0
  194. package/types/server/builder-connect.d.ts +5 -2
  195. package/types/server/index.d.ts +1 -1
  196. package/types/server/request-handler.d.ts +0 -1
  197. package/types/tsconfig.tsbuildinfo +1 -0
  198. package/types/types.d.ts +152 -7
  199. package/types/vitest.config.d.ts +2 -0
  200. package/vite/index.cjs +153 -3
  201. package/vite/index.d.ts +1 -1
  202. package/vite/index.mjs +120 -3
  203. package/webpack/index.cjs +2883 -28
  204. package/webpack/index.d.ts +1 -1
  205. package/webpack/index.mjs +2872 -28
  206. package/types/next/index.d.cts +0 -4
  207. package/types/next/index.d.mts +0 -4
  208. package/types/remix/index-shim.d.cts +0 -2
  209. /package/types/vite/{index.d.ts → main.d.ts} +0 -0
  210. /package/types/webpack/{index.d.ts → main.d.ts} +0 -0
package/types/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { spawnSync } from "node:child_process";
1
2
  export interface DevToolsPath {
2
3
  basename: (path: string, suffix?: string) => string;
3
4
  extname: (path: string) => string;
@@ -8,24 +9,40 @@ export interface DevToolsPath {
8
9
  relative: (from: string, to: string) => string;
9
10
  resolve: (...pathSegments: string[]) => string;
10
11
  }
12
+ export interface RepoInfo {
13
+ hasGit: boolean;
14
+ remoteUrl: string;
15
+ defaultBranch: string;
16
+ currentBranch: string;
17
+ commit: string;
18
+ }
11
19
  export interface DevToolsSys extends DevToolsPath {
12
20
  cwd: () => string;
13
- getRootDir: () => string;
21
+ getCwdDir: () => string;
22
+ getAppRootDir: () => string;
23
+ getRepoRootDir: () => string;
14
24
  exists: (path: string) => Promise<boolean>;
15
25
  existsSync: (path: string) => boolean;
16
26
  readdir: (path: string, absolutePaths?: boolean) => Promise<string[]>;
27
+ readdirRecursive: (path: string, skipFolders?: string[]) => Promise<string[]>;
17
28
  readdirSync: (path: string) => string[];
18
29
  readFile: (filePath: string) => Promise<string | null>;
19
30
  readFileSync: (filePath: string) => string | null;
31
+ readFileSyncBuffer: (filePath: string) => Uint8Array | null;
32
+ spawnSync: typeof spawnSync | undefined;
20
33
  stat: (path: string) => Promise<{
21
34
  isDirectory: () => boolean;
22
35
  isFile: () => boolean;
36
+ size: number;
23
37
  }>;
24
38
  statSync: (path: string) => {
25
39
  isDirectory: () => boolean;
26
40
  isFile: () => boolean;
41
+ size: number;
27
42
  };
28
- writeFile: (filePath: string, content: string) => Promise<void>;
43
+ writeFile: (filePath: string, content: string | Uint8Array) => Promise<void>;
44
+ unlink: (filePath: string) => Promise<void>;
45
+ unlinkSync: (filePath: string) => void;
29
46
  formatCode: (filePath: string, code: string) => Promise<string>;
30
47
  hash: (str: string) => Promise<string>;
31
48
  on: (eventName: "change", callback: FileChangeCallback) => void;
@@ -35,8 +52,14 @@ export interface DevToolsSys extends DevToolsPath {
35
52
  platform: () => DevtoolsPlatform;
36
53
  getDeviceId: () => Promise<string>;
37
54
  getFrameworks: () => Framework[];
55
+ getRepoInfo: (githubWorkingDirectory?: string) => Promise<RepoInfo>;
56
+ Sentry: typeof import("@sentry/node") | undefined;
38
57
  ts: typeof import("typescript");
39
58
  version: string;
59
+ sdkVersion: SDK_VERSION_VALUES | null;
60
+ ignoreMissingConfig?: boolean;
61
+ kind: SPACE_KIND_VALUES;
62
+ magicast: typeof import("magicast") | undefined;
40
63
  }
41
64
  export interface DevtoolsPlatform {
42
65
  runtime: string;
@@ -53,7 +76,7 @@ export interface EnsureConfigResult {
53
76
  content: string;
54
77
  filePath: string;
55
78
  fileName: string;
56
- hasContentUpdates: boolean;
79
+ outcome: "already-exists" | "added" | "no-update";
57
80
  }
58
81
  export interface FrameworkDependency {
59
82
  name: string;
@@ -83,11 +106,12 @@ export interface DevToolsAdapter {
83
106
  getRegistry: (opts?: GetRegistryOptions) => Promise<ComponentRegistry>;
84
107
  getRegistryPath: () => string;
85
108
  loadComponent: (opts: LoadComponentOptions) => Promise<LoadComponent>;
109
+ addExternalPackage: (pkgName: string) => void;
86
110
  registerComponent: (opts: RegisterComponentOptions) => Promise<ComponentRegistry>;
87
111
  unregisterComponent: (opts: UnregisterComponentOptions) => Promise<ComponentRegistry>;
88
112
  setRegisteredComponentInfo: (opts: SetComponentInfoOptions) => Promise<ComponentRegistry>;
89
113
  setRegisteredComponentInput: (opts: SetComponentInputOptions) => Promise<ComponentRegistry>;
90
- getDependencies: () => FrameworkDependency[];
114
+ getDependencies: (opts: DependenciesOptions) => FrameworkDependency[];
91
115
  getDevRunCommand: () => string;
92
116
  getCache: () => Promise<Record<string, any>>;
93
117
  setCache: (cache: Record<string, any>) => Promise<void>;
@@ -95,13 +119,24 @@ export interface DevToolsAdapter {
95
119
  export interface DevTools extends DevToolsAdapter {
96
120
  exportRegistry: () => Promise<string>;
97
121
  importRegistry: (exportedRegistry: string) => Promise<ComponentRegistry>;
122
+ framework: string;
123
+ findAllDependencies: () => Promise<DependencyTree>;
98
124
  }
99
125
  export interface DevToolsServerOptions extends DevToolsSys, DevTools {
100
126
  getClientId: () => string;
127
+ getPastSyncInfo?: (data: {
128
+ sessionKey: string;
129
+ since: number;
130
+ }) => any;
131
+ resyncSnippet?: (data: {
132
+ syncInfo: SyncInfo;
133
+ snippet: Snippet;
134
+ }) => any;
101
135
  enableAppWatch: (enabled: boolean) => Promise<boolean>;
102
136
  closeAppServer: () => Promise<void>;
103
137
  restartAppServer: () => Promise<void>;
104
138
  port?: number;
139
+ getAllProjectFiles?: () => Promise<string[]>;
105
140
  }
106
141
  export interface DevToolsHttpServer {
107
142
  url: string;
@@ -112,10 +147,14 @@ export interface DevToolsHttpServer {
112
147
  export interface BuilderAppCredentials {
113
148
  publicApiKey: string | null;
114
149
  }
115
- export interface DevToolsServerContext extends Required<DevToolsServerOptions>, BuilderAppCredentials {
150
+ export interface DevToolsServerContext extends Omit<DevToolsServerOptions, "getAllProjectFiles"> {
116
151
  devToolsServerUrl: string;
117
152
  isValid: boolean;
118
153
  serverShouldRestart: boolean;
154
+ publicApiKey: string;
155
+ port: number;
156
+ ignoreMissingConfig: boolean;
157
+ getAllProjectFiles: () => Promise<string[]>;
119
158
  }
120
159
  export interface SetPublicApiKeyOptions {
121
160
  publicApiKey: string;
@@ -124,12 +163,12 @@ export interface EnvInfo {
124
163
  envKey: string;
125
164
  envValue: string | null;
126
165
  file: string;
127
- modifiedType?: "create" | "update" | null;
166
+ modifiedType?: "create" | "update" | "permission-error" | null;
128
167
  }
129
168
  export interface DevToolsServer {
130
169
  getUrl: () => string;
131
170
  }
132
- export type ApiRequest = ApiConnectBuilderRequest | ApiDevToolsEnabledRequest | ApiGetRegistryRequest | ApiLaunchEditorRequest | ApiRegisterComponentRequest | ApiRegisteredComponentInfoRequest | ApiRegisteredComponentInputRequest | ApiLoadComponentRequest | ApiUnregisterComponentRequest | ApiValidateBuilderRequest | ApiFrameworksRequest | ApiReadFileRequest | ApiWriteFileRequest | ApiReaddirRequest | ApiGetBuilderCacheRequest | ApiEnsureFigmaImportPageRequest | ApiSetBuilderCacheRequest | ApiTranspileModuleRequest | ApiTranspileFileRequest;
171
+ export type ApiRequest = ApiConnectBuilderRequest | ApiDevToolsEnabledRequest | ApiGetRegistryRequest | ApiLaunchEditorRequest | ApiRegisterComponentRequest | ApiRegisteredComponentInfoRequest | ApiRegisteredComponentInputRequest | ApiLoadComponentRequest | ApiUnregisterComponentRequest | ApiValidateBuilderRequest | ApiFrameworksRequest | ApiReadFileRequest | ApiWriteFileRequest | ApiReaddirRequest | ApiGetBuilderCacheRequest | ApiEnsureFigmaImportPageRequest | ApiSetBuilderCacheRequest | ApiTranspileModuleRequest | ApiTranspileFileRequest | ApiPastSyncInfoRequest | ApiResyncSnippetRequest | ApiLocalConfigRequest | ApiGetAllProjectFilesRequest;
133
172
  export interface ApiTranspileModuleRequest extends TranspileModuleOptions {
134
173
  type: "transileModule";
135
174
  }
@@ -143,6 +182,20 @@ export interface ApiSetBuilderCacheRequest {
143
182
  type: "setCache";
144
183
  data: Record<string, any>;
145
184
  }
185
+ export interface ApiPastSyncInfoRequest {
186
+ type: "getPastSyncInfo";
187
+ data: {
188
+ sessionKey: string;
189
+ since: number;
190
+ };
191
+ }
192
+ export interface ApiResyncSnippetRequest {
193
+ type: "resyncSnippet";
194
+ data: {
195
+ syncInfo: SyncInfo;
196
+ snippet: Snippet;
197
+ };
198
+ }
146
199
  export interface ApiEnsureFigmaImportPageRequest {
147
200
  type: "ensureFigmaImportPage";
148
201
  }
@@ -151,6 +204,7 @@ export interface ApiConnectBuilderRequest {
151
204
  data: {
152
205
  publicApiKey: string;
153
206
  privateAuthKey: string;
207
+ kind: string | null;
154
208
  };
155
209
  }
156
210
  export interface ApiDevToolsEnabledRequest {
@@ -166,6 +220,9 @@ export interface ApiGetRegistryRequest {
166
220
  export interface GetRegistryOptions {
167
221
  readAllInputTypes?: boolean;
168
222
  }
223
+ export interface ApiLocalConfigRequest {
224
+ type: "localConfig";
225
+ }
169
226
  export interface ApiLaunchEditorRequest {
170
227
  type: "launchEditor";
171
228
  data: LaunchEditorFile;
@@ -224,6 +281,11 @@ export interface ConnectedBuilder {
224
281
  pathname: string;
225
282
  modifiedFiles: ModifiedFile[];
226
283
  platform: DevtoolsPlatform;
284
+ kind: SPACE_KIND_VALUES;
285
+ }
286
+ export interface LocalConfig {
287
+ userId?: string;
288
+ deviceId?: string;
227
289
  }
228
290
  export interface ModifiedFile {
229
291
  filePath: string;
@@ -232,6 +294,12 @@ export interface ModifiedFile {
232
294
  }
233
295
  export interface Framework {
234
296
  name: string;
297
+ version?: SemanticVersion;
298
+ }
299
+ export interface SemanticVersion {
300
+ major?: number;
301
+ minor?: number;
302
+ patch?: number;
235
303
  }
236
304
  export interface ComponentRegistry {
237
305
  components: ComponentInfo[];
@@ -272,6 +340,9 @@ export interface SetComponentInputOptions extends Partial<Omit<ComponentInput, "
272
340
  name: string;
273
341
  registerInput?: boolean;
274
342
  }
343
+ export interface DependenciesOptions {
344
+ sdkVersion: SDK_VERSION_VALUES | null;
345
+ }
275
346
  export interface ComponentInfo {
276
347
  id: string;
277
348
  filePath: string;
@@ -290,6 +361,9 @@ export interface ComponentInfo {
290
361
  acceptsChildren?: boolean;
291
362
  meta?: Record<string, any>;
292
363
  dependencies?: AppDependency[];
364
+ externalImportPath?: string;
365
+ framework: "react" | "angular" | "qwik" | "vue";
366
+ vueApiType?: "composition-setup" | "composition" | "options";
293
367
  }
294
368
  export interface MinimalComponentInfo {
295
369
  filePath: string;
@@ -377,3 +451,74 @@ export interface TranspileResult {
377
451
  export interface TranspileDiagnostic {
378
452
  messageText: string;
379
453
  }
454
+ export declare const SDK_VERSIONS: {
455
+ readonly gen1: "Gen 1";
456
+ readonly gen2: "Gen 2";
457
+ };
458
+ type SDK_VERSION_KEYS = keyof typeof SDK_VERSIONS;
459
+ export type SDK_VERSION_VALUES = (typeof SDK_VERSIONS)[SDK_VERSION_KEYS];
460
+ export interface SDKVersionInfo {
461
+ version: SDK_VERSION_VALUES;
462
+ recommended: boolean;
463
+ }
464
+ export interface SDKFrameworks {
465
+ [key: string]: SDKVersionInfo[];
466
+ }
467
+ export interface UpdateRegistry {
468
+ addCmpToRegistry: ComponentInfo | null;
469
+ removeCmpFromRegistry: ComponentInfo | null;
470
+ updateRegisteredCmp: ComponentInfo | null;
471
+ nodeIndex: number;
472
+ components: ComponentInfo[];
473
+ }
474
+ export interface AddCliOptions {
475
+ cwd: string;
476
+ command?: string;
477
+ snippetId?: string;
478
+ snippet?: Snippet;
479
+ path?: string;
480
+ }
481
+ export interface FileNode {
482
+ name: string;
483
+ code: string;
484
+ path: string;
485
+ timestamp?: number;
486
+ snippetId?: string;
487
+ }
488
+ export interface FolderNode {
489
+ name: string;
490
+ path: string;
491
+ files: (FileNode | FolderNode)[];
492
+ }
493
+ export interface Snippet {
494
+ createdDate: number;
495
+ contentId: string;
496
+ code: string;
497
+ framework: string;
498
+ suggestedName: string;
499
+ id: string;
500
+ files: Array<FileNode | FolderNode>;
501
+ sessionKey: string;
502
+ }
503
+ export interface SyncInfo {
504
+ snippet: Snippet;
505
+ pathInput: string;
506
+ writtenFiles: Array<FileNode>;
507
+ timeStamp: number;
508
+ }
509
+ export interface Package {
510
+ name: string;
511
+ subPackages: string[];
512
+ }
513
+ export type DependencyTree = Package[];
514
+ export declare const SPACE_KIND: {
515
+ readonly CMS: "cms";
516
+ readonly VCP: "vcp";
517
+ readonly HYBRID: "hybrid";
518
+ };
519
+ type SPACE_KIND_KEYS = keyof typeof SPACE_KIND;
520
+ export type SPACE_KIND_VALUES = (typeof SPACE_KIND)[SPACE_KIND_KEYS] | null;
521
+ export interface ApiGetAllProjectFilesRequest {
522
+ type: "getAllProjectFiles";
523
+ }
524
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vitest/config").UserConfigFnObject;
2
+ export default _default;
package/vite/index.cjs CHANGED
@@ -1,3 +1,153 @@
1
- "use strict";var p=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var h=(o,e)=>{for(var t in e)p(o,t,{get:e[t],enumerable:!0})},E=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of T(e))!b.call(o,s)&&s!==t&&p(o,s,{get:()=>e[s],enumerable:!(n=$(e,s))||n.enumerable});return o};var y=o=>E(p({},"__esModule",{value:!0}),o);var I={};h(I,{builderDevTools:()=>V});module.exports=y(I);var u=require("../core/index.cjs"),f=require("../node/index.cjs"),d=require("../server/index.cjs");async function g(o,e){let t=await o.readFile(e);return typeof t=="string"?x(t):null}function x(o){let e={},t=o.replace(/\r\n?/gm,`
2
- `),n;for(;(n=D.exec(t))!=null;){let s=n[1],r=n[2]||"";r=r.trim();let c=r[0];r=r.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),c==='"'&&(r=r.replace(/\\n/g,`
3
- `),r=r.replace(/\\r/g,"\r")),e[s]=r}return e}var D=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function V(o={}){return{name:"vite-plugin-builder-dev-tools",async configureServer(t){let n=await(0,f.createDevToolsNodeSys)({getRootDir:()=>t.config.root}),s=await(0,u.createDevTools)(n),r=await(0,d.createDevToolsServer)({...s,getClientId:()=>"vite-builder-dev-tools",closeAppServer:async()=>{n.debug("close server"),await t?.close()},restartAppServer:async()=>{n.debug("restart server"),await t?.restart()},enableAppWatch:async c=>{if(c){n.debug("enable watch"),t?.watcher.add(t.config.root);let i=n.join(t.config.root,".git"),l=n.join(t.config.root,"node_modules");t?.watcher.unwatch([i,l])}else n.debug("disable watch"),t?.watcher.unwatch(t.config.root);return c},...n,...o});t.watcher.on("change",async c=>{if(c.includes(".env")){let i=await g(n,c);i&&Object.keys(i).forEach(a=>{process.env[a]=i[a]})}}),t.middlewares.use(async(c,i,l)=>{try{let a=i.end;i.end=function(...w){if((i.getHeader("Content-Type")||"").toString().includes("text/html")){let m=(0,u.getClientScript)(r.getUrl());i.write(`<script>${m}</script>`)}return a.apply(this,w)},l()}catch(a){l(a)}})}}}0&&(module.exports={builderDevTools});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dev-tools/vite/main.ts
31
+ var main_exports = {};
32
+ __export(main_exports, {
33
+ builderDevTools: () => builderDevTools
34
+ });
35
+ module.exports = __toCommonJS(main_exports);
36
+ var import_core = require("../core/index.cjs");
37
+ var import_node = require("../node/index.cjs");
38
+ var import_server = require("../server/index.cjs");
39
+
40
+ // packages/dev-tools/common/dotenv.ts
41
+ async function parseDotEnvFile(sys, envPath) {
42
+ const envContent = await sys.readFile(envPath);
43
+ if (typeof envContent === "string") {
44
+ return parseDotEnvContent(envContent);
45
+ }
46
+ return null;
47
+ }
48
+ function parseDotEnvContent(envContent) {
49
+ const envVars = {};
50
+ const lines = envContent.replace(/\r\n?/gm, "\n");
51
+ let match;
52
+ while ((match = DOTENV_LINE.exec(lines)) != null) {
53
+ const key = match[1];
54
+ let value = match[2] || "";
55
+ value = value.trim();
56
+ const maybeQuote = value[0];
57
+ value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2");
58
+ if (maybeQuote === '"') {
59
+ value = value.replace(/\\n/g, "\n");
60
+ value = value.replace(/\\r/g, "\r");
61
+ }
62
+ envVars[key] = value;
63
+ }
64
+ return envVars;
65
+ }
66
+ var DOTENV_LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
67
+
68
+ // packages/dev-tools/vite/main.ts
69
+ var import_node_path = __toESM(require("path"), 1);
70
+
71
+ // packages/dev-tools/common/constants.ts
72
+ var DEV_TOOLS_CLIENT_SCRIPT_PATH = "/~builder-dev-tools.js";
73
+
74
+ // packages/dev-tools/vite/main.ts
75
+ function builderDevTools(opts = {}) {
76
+ const plugin = {
77
+ name: "vite-plugin-builder-dev-tools",
78
+ async configureServer(viteDevServer) {
79
+ if (process.argv.includes("codegen")) {
80
+ return;
81
+ }
82
+ const sys = await (0, import_node.createDevToolsNodeSys)({
83
+ cwd: import_node_path.default.normalize(viteDevServer.config.root)
84
+ });
85
+ const devTools = await (0, import_core.createDevTools)(sys);
86
+ const devToolsServer = await (0, import_server.createDevToolsServer)({
87
+ ...devTools,
88
+ getClientId: () => "vite-builder-dev-tools",
89
+ closeAppServer: async () => {
90
+ sys.debug("close server");
91
+ await viteDevServer?.close();
92
+ },
93
+ restartAppServer: async () => {
94
+ sys.debug("restart server");
95
+ await viteDevServer?.restart();
96
+ },
97
+ enableAppWatch: async (enable) => {
98
+ if (enable) {
99
+ sys.debug("enable watch");
100
+ viteDevServer?.watcher.add(viteDevServer.config.root);
101
+ const gitPath = sys.join(viteDevServer.config.root, ".git");
102
+ const nodeModulesPath = sys.join(
103
+ viteDevServer.config.root,
104
+ "node_modules"
105
+ );
106
+ viteDevServer?.watcher.unwatch([gitPath, nodeModulesPath]);
107
+ } else {
108
+ sys.debug("disable watch");
109
+ viteDevServer?.watcher.unwatch(viteDevServer.config.root);
110
+ }
111
+ return enable;
112
+ },
113
+ ...sys,
114
+ ...opts
115
+ });
116
+ viteDevServer.watcher.on("change", async (filePath) => {
117
+ if (filePath.includes(".env")) {
118
+ const envVars = await parseDotEnvFile(sys, filePath);
119
+ if (envVars) {
120
+ const envKeys = Object.keys(envVars);
121
+ envKeys.forEach((key) => {
122
+ process.env[key] = envVars[key];
123
+ });
124
+ }
125
+ }
126
+ });
127
+ viteDevServer.middlewares.use(async (_req, res, next) => {
128
+ try {
129
+ const orgResponseEnd = res.end;
130
+ res.end = function(...args) {
131
+ const contentType = (res.getHeader("Content-Type") || "").toString();
132
+ if (contentType.includes("text/html")) {
133
+ const url = new URL(
134
+ DEV_TOOLS_CLIENT_SCRIPT_PATH,
135
+ devToolsServer.getUrl()
136
+ );
137
+ res.write(`<script defer src="${url}"></script>`);
138
+ }
139
+ return orgResponseEnd.apply(this, args);
140
+ };
141
+ next();
142
+ } catch (e) {
143
+ next(e);
144
+ }
145
+ });
146
+ }
147
+ };
148
+ return plugin;
149
+ }
150
+ // Annotate the CommonJS export names for ESM import in node:
151
+ 0 && (module.exports = {
152
+ builderDevTools
153
+ });
package/vite/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "../types/vite";
1
+ export * from "../types/vite/main";
package/vite/index.mjs CHANGED
@@ -1,3 +1,120 @@
1
- import{createDevTools as w,getClientScript as m}from"../core/index.mjs";import{createDevToolsNodeSys as $}from"../node/index.mjs";import{createDevToolsServer as T}from"../server/index.mjs";async function u(s,c){let t=await s.readFile(c);return typeof t=="string"?f(t):null}function f(s){let c={},t=s.replace(/\r\n?/gm,`
2
- `),n;for(;(n=d.exec(t))!=null;){let l=n[1],e=n[2]||"";e=e.trim();let r=e[0];e=e.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),r==='"'&&(e=e.replace(/\\n/g,`
3
- `),e=e.replace(/\\r/g,"\r")),c[l]=e}return c}var d=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function V(s={}){return{name:"vite-plugin-builder-dev-tools",async configureServer(t){let n=await $({getRootDir:()=>t.config.root}),l=await w(n),e=await T({...l,getClientId:()=>"vite-builder-dev-tools",closeAppServer:async()=>{n.debug("close server"),await t?.close()},restartAppServer:async()=>{n.debug("restart server"),await t?.restart()},enableAppWatch:async r=>{if(r){n.debug("enable watch"),t?.watcher.add(t.config.root);let o=n.join(t.config.root,".git"),a=n.join(t.config.root,"node_modules");t?.watcher.unwatch([o,a])}else n.debug("disable watch"),t?.watcher.unwatch(t.config.root);return r},...n,...s});t.watcher.on("change",async r=>{if(r.includes(".env")){let o=await u(n,r);o&&Object.keys(o).forEach(i=>{process.env[i]=o[i]})}}),t.middlewares.use(async(r,o,a)=>{try{let i=o.end;o.end=function(...p){if((o.getHeader("Content-Type")||"").toString().includes("text/html")){let g=m(e.getUrl());o.write(`<script>${g}</script>`)}return i.apply(this,p)},a()}catch(i){a(i)}})}}}export{V as builderDevTools};
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
3
+ // packages/dev-tools/vite/main.ts
4
+ import { createDevTools } from "../core/index.mjs";
5
+ import { createDevToolsNodeSys } from "../node/index.mjs";
6
+ import { createDevToolsServer } from "../server/index.mjs";
7
+
8
+ // packages/dev-tools/common/dotenv.ts
9
+ async function parseDotEnvFile(sys, envPath) {
10
+ const envContent = await sys.readFile(envPath);
11
+ if (typeof envContent === "string") {
12
+ return parseDotEnvContent(envContent);
13
+ }
14
+ return null;
15
+ }
16
+ function parseDotEnvContent(envContent) {
17
+ const envVars = {};
18
+ const lines = envContent.replace(/\r\n?/gm, "\n");
19
+ let match;
20
+ while ((match = DOTENV_LINE.exec(lines)) != null) {
21
+ const key = match[1];
22
+ let value = match[2] || "";
23
+ value = value.trim();
24
+ const maybeQuote = value[0];
25
+ value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2");
26
+ if (maybeQuote === '"') {
27
+ value = value.replace(/\\n/g, "\n");
28
+ value = value.replace(/\\r/g, "\r");
29
+ }
30
+ envVars[key] = value;
31
+ }
32
+ return envVars;
33
+ }
34
+ var DOTENV_LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
35
+
36
+ // packages/dev-tools/vite/main.ts
37
+ import path from "path";
38
+
39
+ // packages/dev-tools/common/constants.ts
40
+ var DEV_TOOLS_CLIENT_SCRIPT_PATH = "/~builder-dev-tools.js";
41
+
42
+ // packages/dev-tools/vite/main.ts
43
+ function builderDevTools(opts = {}) {
44
+ const plugin = {
45
+ name: "vite-plugin-builder-dev-tools",
46
+ async configureServer(viteDevServer) {
47
+ if (process.argv.includes("codegen")) {
48
+ return;
49
+ }
50
+ const sys = await createDevToolsNodeSys({
51
+ cwd: path.normalize(viteDevServer.config.root)
52
+ });
53
+ const devTools = await createDevTools(sys);
54
+ const devToolsServer = await createDevToolsServer({
55
+ ...devTools,
56
+ getClientId: () => "vite-builder-dev-tools",
57
+ closeAppServer: async () => {
58
+ sys.debug("close server");
59
+ await viteDevServer?.close();
60
+ },
61
+ restartAppServer: async () => {
62
+ sys.debug("restart server");
63
+ await viteDevServer?.restart();
64
+ },
65
+ enableAppWatch: async (enable) => {
66
+ if (enable) {
67
+ sys.debug("enable watch");
68
+ viteDevServer?.watcher.add(viteDevServer.config.root);
69
+ const gitPath = sys.join(viteDevServer.config.root, ".git");
70
+ const nodeModulesPath = sys.join(
71
+ viteDevServer.config.root,
72
+ "node_modules"
73
+ );
74
+ viteDevServer?.watcher.unwatch([gitPath, nodeModulesPath]);
75
+ } else {
76
+ sys.debug("disable watch");
77
+ viteDevServer?.watcher.unwatch(viteDevServer.config.root);
78
+ }
79
+ return enable;
80
+ },
81
+ ...sys,
82
+ ...opts
83
+ });
84
+ viteDevServer.watcher.on("change", async (filePath) => {
85
+ if (filePath.includes(".env")) {
86
+ const envVars = await parseDotEnvFile(sys, filePath);
87
+ if (envVars) {
88
+ const envKeys = Object.keys(envVars);
89
+ envKeys.forEach((key) => {
90
+ process.env[key] = envVars[key];
91
+ });
92
+ }
93
+ }
94
+ });
95
+ viteDevServer.middlewares.use(async (_req, res, next) => {
96
+ try {
97
+ const orgResponseEnd = res.end;
98
+ res.end = function(...args) {
99
+ const contentType = (res.getHeader("Content-Type") || "").toString();
100
+ if (contentType.includes("text/html")) {
101
+ const url = new URL(
102
+ DEV_TOOLS_CLIENT_SCRIPT_PATH,
103
+ devToolsServer.getUrl()
104
+ );
105
+ res.write(`<script defer src="${url}"></script>`);
106
+ }
107
+ return orgResponseEnd.apply(this, args);
108
+ };
109
+ next();
110
+ } catch (e) {
111
+ next(e);
112
+ }
113
+ });
114
+ }
115
+ };
116
+ return plugin;
117
+ }
118
+ export {
119
+ builderDevTools
120
+ };