builder.io 1.0.2 → 1.1.13-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -1
- package/angular/index.cjs +1 -0
- package/angular/index.d.ts +1 -0
- package/angular/index.mjs +1 -0
- package/cli/index.cjs +1201 -0
- package/core/index.cjs +808 -0
- package/core/index.d.ts +1 -0
- package/core/index.mjs +808 -0
- package/figma/index.cjs +1 -0
- package/figma/index.d.ts +1 -0
- package/figma/index.mjs +1 -0
- package/figma/jsx-runtime/index.cjs +7 -0
- package/figma/jsx-runtime/index.d.ts +46 -0
- package/figma/jsx-runtime/index.js +7 -0
- package/figma/jsx-runtime/prop-types.d.ts +125 -0
- package/figma/jsx-runtime/react.d.ts +5221 -0
- package/next/index.cjs +36 -0
- package/next/index.d.ts +8 -0
- package/next/index.mjs +36 -0
- package/node/index.cjs +1 -0
- package/node/index.d.ts +1 -0
- package/node/index.mjs +1 -0
- package/package.json +28 -8
- package/remix/build.cjs +1 -0
- package/remix/index.cjs +3 -0
- package/remix/index.d.ts +1 -0
- package/remix/index.mjs +1 -0
- package/remix/server-build/index.cjs +99 -0
- package/remix/server-build/index.d.ts +1 -0
- package/remix/server-build/index.mjs +60 -0
- package/remix/server-build/package.json +6 -0
- package/server/index.cjs +249 -0
- package/server/index.d.ts +1 -0
- package/server/index.mjs +249 -0
- package/types/angular/index.d.ts +1 -0
- package/types/cli/builder-add/interface.d.ts +36 -0
- package/types/cli/builder-add/options.d.ts +7 -0
- package/types/cli/credentials.d.ts +41 -0
- package/types/cli/download.d.ts +10 -0
- package/types/cli/figma-publish.d.ts +22 -0
- package/types/cli/figma.d.ts +11 -0
- package/types/cli/generate.d.ts +53 -0
- package/types/cli/help.d.ts +1 -0
- package/types/cli/index.d.ts +2 -0
- package/types/cli/kv.d.ts +20 -0
- package/types/cli/prettier.d.ts +1 -0
- package/types/client/client-api.d.ts +11 -0
- package/types/client/edit-button/document-listeners.d.ts +2 -0
- package/types/client/edit-button/index.d.ts +8 -0
- package/types/client/index.d.ts +1 -0
- package/types/client/menu/index.d.ts +5 -0
- package/types/client/menu/pages/component-detail.d.ts +4 -0
- package/types/client/menu/pages/component-input.d.ts +3 -0
- package/types/client/menu/pages/component-list.d.ts +3 -0
- package/types/client/menu/pages/home.d.ts +1 -0
- package/types/client/menu/pages/settings.d.ts +1 -0
- package/types/client/menu/toggle/menu-toggle.d.ts +2 -0
- package/types/client/setup-ui/connected.d.ts +1 -0
- package/types/client/setup-ui/index.d.ts +1 -0
- package/types/client/setup-ui/overview.d.ts +4 -0
- package/types/client/tracking.d.ts +22 -0
- package/types/client/utils.d.ts +14 -0
- package/types/common/ast/app-dependencies.d.ts +4 -0
- package/types/common/ast/component-info.d.ts +8 -0
- package/types/common/ast/component-input-types.d.ts +24 -0
- package/types/common/ast/component-registry.d.ts +9 -0
- package/types/common/ast/convert-values.d.ts +11 -0
- package/types/common/ast/convert-values.unit.d.ts +1 -0
- package/types/common/ast/ensure-array-statement.d.ts +7 -0
- package/types/common/ast/ensure-array-statement.unit.d.ts +1 -0
- package/types/common/ast/ensure-comments.d.ts +1 -0
- package/types/common/ast/ensure-imports.d.ts +9 -0
- package/types/common/ast/ensure-imports.unit.d.ts +1 -0
- package/types/common/ast/exported-statements.d.ts +8 -0
- package/types/common/ast/exported-statements.unit.d.ts +1 -0
- package/types/common/ast/normalize-statements.d.ts +7 -0
- package/types/common/ast/normalize-statements.unit.d.ts +1 -0
- package/types/common/ast/remove-unused-imports.d.ts +3 -0
- package/types/common/ast/remove-unused-imports.unit.d.ts +1 -0
- package/types/common/ast/transform.d.ts +5 -0
- package/types/common/ast/utils.d.ts +26 -0
- package/types/common/ast/utils.unit.d.ts +1 -0
- package/types/common/builder/builder-api.d.ts +26 -0
- package/types/common/builder/builder-sdks.d.ts +9 -0
- package/types/common/builder/content-generation.d.ts +8 -0
- package/types/common/builder/content-ids.d.ts +3 -0
- package/types/common/cache.d.ts +3 -0
- package/types/common/constants.d.ts +14 -0
- package/types/common/dotenv.d.ts +6 -0
- package/types/common/fs.d.ts +4 -0
- package/types/common/mem-sys.d.ts +8 -0
- package/types/common/node-request.d.ts +7 -0
- package/types/common/path.d.ts +4 -0
- package/types/common/test-utils.d.ts +7 -0
- package/types/common/typescript.d.ts +9 -0
- package/types/common/utils.d.ts +17 -0
- package/types/common/utils.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-api-key.d.ts +10 -0
- package/types/core/adapters/angular/angular-api-key.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-app-module-imports.d.ts +3 -0
- package/types/core/adapters/angular/angular-app-module-imports.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-components.d.ts +18 -0
- package/types/core/adapters/angular/angular-components.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-ensure-builder-setup.d.ts +5 -0
- package/types/core/adapters/angular/angular-ensure-config-plugin.d.ts +9 -0
- package/types/core/adapters/angular/angular-ensure-config-plugin.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-registry-parse.d.ts +16 -0
- package/types/core/adapters/angular/angular-registry-parse.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-registry.d.ts +3 -0
- package/types/core/adapters/angular/angular-registry.unit.d.ts +1 -0
- package/types/core/adapters/angular/angular-test-utils.d.ts +6 -0
- package/types/core/adapters/angular/index.d.ts +13 -0
- package/types/core/adapters/next/index.d.ts +14 -0
- package/types/core/adapters/next/next-api-key.d.ts +4 -0
- package/types/core/adapters/next/next-component-info.d.ts +5 -0
- package/types/core/adapters/next/next-component-info.unit.d.ts +1 -0
- package/types/core/adapters/next/next-component-inputs.unit.d.ts +1 -0
- package/types/core/adapters/next/next-component-source-inputs.unit.d.ts +1 -0
- package/types/core/adapters/next/next-components.d.ts +4 -0
- package/types/core/adapters/next/next-ensure-builder-setup.d.ts +4 -0
- package/types/core/adapters/next/next-ensure-config-plugin.d.ts +3 -0
- package/types/core/adapters/next/next-ensure-config-plugin.unit.d.ts +1 -0
- package/types/core/adapters/next/next-registry-parse.d.ts +14 -0
- package/types/core/adapters/next/next-registry-parse.unit.d.ts +1 -0
- package/types/core/adapters/next/next-registry.d.ts +3 -0
- package/types/core/adapters/next/next-registry.unit.d.ts +1 -0
- package/types/core/adapters/next/next-test-utils.d.ts +16 -0
- package/types/core/adapters/qwik-city/index.d.ts +8 -0
- package/types/core/adapters/qwik-city/qwik-api-key.d.ts +4 -0
- package/types/core/adapters/qwik-city/qwik-component-source-inputs.d.ts +3 -0
- package/types/core/adapters/qwik-city/qwik-components.d.ts +15 -0
- package/types/core/adapters/qwik-city/qwik-components.unit.d.ts +1 -0
- package/types/core/adapters/qwik-city/qwik-ensure-builder-setup.d.ts +4 -0
- package/types/core/adapters/qwik-city/qwik-ensure-config-plugin.d.ts +2 -0
- package/types/core/adapters/qwik-city/qwik-registry-parse.d.ts +16 -0
- package/types/core/adapters/qwik-city/qwik-registry-parse.unit.d.ts +1 -0
- package/types/core/adapters/qwik-city/qwik-registry.d.ts +3 -0
- package/types/core/adapters/qwik-city/qwik-registry.unit.d.ts +1 -0
- package/types/core/adapters/qwik-city/qwik-test-utils.d.ts +6 -0
- package/types/core/adapters/qwik-city/qwik-ts-program.d.ts +2 -0
- package/types/core/adapters/react/index.d.ts +13 -0
- package/types/core/adapters/react/react-api-key.d.ts +6 -0
- package/types/core/adapters/react/react-builder-sdk-setup.d.ts +2 -0
- package/types/core/adapters/react/react-component-info.d.ts +5 -0
- package/types/core/adapters/react/react-components.d.ts +18 -0
- package/types/core/adapters/react/react-components.unit.d.ts +1 -0
- package/types/core/adapters/react/react-ensure-builder-setup.d.ts +4 -0
- package/types/core/adapters/react/react-registry-parse.d.ts +12 -0
- package/types/core/adapters/react/react-registry-parse.unit.d.ts +1 -0
- package/types/core/adapters/react/react-registry.d.ts +3 -0
- package/types/core/adapters/react/react-registry.unit.d.ts +1 -0
- package/types/core/adapters/react/react-test-utils.d.ts +6 -0
- package/types/core/adapters/react/react-ts-program.d.ts +2 -0
- package/types/core/adapters/remix/index.d.ts +12 -0
- package/types/core/adapters/remix/remix-api-key.d.ts +4 -0
- package/types/core/adapters/remix/remix-components.d.ts +4 -0
- package/types/core/adapters/remix/remix-ensure-builder-setup.d.ts +5 -0
- package/types/core/adapters/remix/remix-ensure-config-plugin.d.ts +3 -0
- package/types/core/adapters/remix/remix-ensure-config-plugin.unit.d.ts +1 -0
- package/types/core/adapters/remix/remix-registry-parse.d.ts +16 -0
- package/types/core/adapters/remix/remix-registry.d.ts +3 -0
- package/types/core/adapters/remix/remix-registry.unit.d.ts +1 -0
- package/types/core/adapters/remix/remix-test-utils.d.ts +6 -0
- package/types/core/adapters/vite/vite-ensure-config-plugin.d.ts +3 -0
- package/types/core/adapters/vite/vite-ensure-config-plugin.unit.d.ts +1 -0
- package/types/core/adapters/webpack/webpack-ensure-config-plugin.d.ts +3 -0
- package/types/core/client-script.d.ts +1 -0
- package/types/core/create-dev-tools.d.ts +2 -0
- package/types/core/detect-frameworks.d.ts +3 -0
- package/types/core/ensure-config-plugin.d.ts +3 -0
- package/types/core/import-export-registry.d.ts +3 -0
- package/types/core/index.d.ts +8 -0
- package/types/figma/index.d.ts +76 -0
- package/types/figma/jsx-runtime/index.d.cts +2 -0
- package/types/figma/jsx-runtime/index.d.ts +2 -0
- package/types/next/index.d.cts +4 -0
- package/types/next/index.d.mts +4 -0
- package/types/node/index.d.ts +2 -0
- package/types/node/node-sys.d.ts +11 -0
- package/types/remix/index-shim.d.cts +2 -0
- package/types/remix/index.d.ts +6 -0
- package/types/server/auth.d.ts +2 -0
- package/types/server/builder-connect.d.ts +3 -0
- package/types/server/client-script.d.ts +3 -0
- package/types/server/create-dev-tools-server.d.ts +2 -0
- package/types/server/dev-tools-api.d.ts +2 -0
- package/types/server/dev-tools-http-server.d.ts +2 -0
- package/types/server/index.d.ts +3 -0
- package/types/server/request-handler.d.ts +4 -0
- package/types/types.d.ts +415 -0
- package/types/vite/index.d.ts +7 -0
- package/types/webpack/index.d.ts +9 -0
- package/vite/index.cjs +3 -0
- package/vite/index.d.ts +1 -0
- package/vite/index.mjs +3 -0
- package/webpack/index.cjs +30 -0
- package/webpack/index.d.ts +1 -0
- package/webpack/index.mjs +30 -0
- package/index.js +0 -80
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/// <reference types="@figma/plugin-typings" />
|
|
2
|
+
export type FigmaNodeType = "COMPONENT" | "ELLIPSE" | "FRAME" | "GROUP" | "INSTANCE" | "LINE" | "POLYGON" | "RECTANGLE" | "STAR" | "TEXT" | "VECTOR";
|
|
3
|
+
export interface FigmaComponentInput {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
value?: any;
|
|
7
|
+
type: string;
|
|
8
|
+
baseType: "text" | "variant" | "boolean" | "slot";
|
|
9
|
+
variantOptions?: string[];
|
|
10
|
+
isDefault: boolean;
|
|
11
|
+
ref?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FigmaNode {
|
|
14
|
+
"@type": "passedNode";
|
|
15
|
+
$id: string;
|
|
16
|
+
$name: string;
|
|
17
|
+
$type: FigmaNodeType;
|
|
18
|
+
$inputs: readonly FigmaComponentInput[];
|
|
19
|
+
$componentName?: string;
|
|
20
|
+
$rawNode: SceneNode;
|
|
21
|
+
/** Represents the text content of the node and its descendants */
|
|
22
|
+
$textContent: string;
|
|
23
|
+
/** URL to the rasterized image of this node */
|
|
24
|
+
$imageUrl: string;
|
|
25
|
+
$children: readonly FigmaNode[];
|
|
26
|
+
/** Recursively finds the first node that matches the callback */
|
|
27
|
+
$findOne(callback: (node: SceneNode) => boolean): FigmaNode | undefined;
|
|
28
|
+
/** Recursively finds the first figma child with the given name */
|
|
29
|
+
$findOneByName(name: string | RegExp): FigmaNode | undefined;
|
|
30
|
+
/** @deprecated Use $type instead */
|
|
31
|
+
type: FigmaNodeType;
|
|
32
|
+
/** @deprecated - */
|
|
33
|
+
props: {};
|
|
34
|
+
/** @deprecated - */
|
|
35
|
+
key: string | null;
|
|
36
|
+
}
|
|
37
|
+
export interface BaseFigmaProps {
|
|
38
|
+
$id: string;
|
|
39
|
+
$name: string;
|
|
40
|
+
$type: FigmaNodeType;
|
|
41
|
+
$inputs: readonly FigmaComponentInput[];
|
|
42
|
+
$componentName?: string;
|
|
43
|
+
/** Represents the text content of the node and its descendants */
|
|
44
|
+
$textContent: string;
|
|
45
|
+
$css: Readonly<Record<string, string>>;
|
|
46
|
+
/** URL to the rasterized image of this node */
|
|
47
|
+
$imageUrl: string;
|
|
48
|
+
/** Direct children of the root component node or instance */
|
|
49
|
+
$children: readonly FigmaNode[];
|
|
50
|
+
/** Recursively finds the first figma child with the given name */
|
|
51
|
+
$findOneByName(name: string | RegExp): FigmaNode | undefined;
|
|
52
|
+
/** Recursively finds the first node that matches the callback */
|
|
53
|
+
$findOne(callback: (node: SceneNode) => boolean): FigmaNode | undefined;
|
|
54
|
+
}
|
|
55
|
+
interface FigmaProps extends BaseFigmaProps {
|
|
56
|
+
[key: string]: any;
|
|
57
|
+
}
|
|
58
|
+
export type FigmaURL = `https://www.figma.com/design/${string}/${string}${"?" | "&"}node-id=${string}`;
|
|
59
|
+
export interface FigmaMappingWithKeyMapper<T extends BaseFigmaProps> {
|
|
60
|
+
url?: FigmaURL;
|
|
61
|
+
componentKey: string;
|
|
62
|
+
mapper?: (figma: T) => any;
|
|
63
|
+
}
|
|
64
|
+
export interface FigmaMappingWithUrlMapper<T extends BaseFigmaProps> {
|
|
65
|
+
url: FigmaURL;
|
|
66
|
+
componentKey?: string;
|
|
67
|
+
mapper?: (figma: T) => any;
|
|
68
|
+
}
|
|
69
|
+
export interface FigmaGenericMapper {
|
|
70
|
+
genericMapper: (figma: FigmaProps) => any;
|
|
71
|
+
}
|
|
72
|
+
export interface FigmaTokenMapper {
|
|
73
|
+
designTokenMapper: (token: string) => string | undefined | boolean;
|
|
74
|
+
}
|
|
75
|
+
export declare function figmaMapping<T extends BaseFigmaProps = FigmaProps>(_config: FigmaMappingWithKeyMapper<T> | FigmaMappingWithUrlMapper<T> | FigmaGenericMapper | FigmaTokenMapper): void;
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DevToolsSys } from "../types";
|
|
2
|
+
interface DevToolsNodeSysOptions {
|
|
3
|
+
getRootDir: () => string;
|
|
4
|
+
skipValidate?: boolean;
|
|
5
|
+
ignoreMissingConfig?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function createDevToolsNodeSys(opts: DevToolsNodeSysOptions): Promise<DevToolsSys>;
|
|
8
|
+
export declare function configHasProperty(contents: Record<string, any>, key: string): boolean;
|
|
9
|
+
export declare function readConfigFile(): Promise<any>;
|
|
10
|
+
export declare function writeConfigFile(contents: Record<string, any>): Promise<void>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DevToolsServerContext, ConnectedBuilder, ValidatedBuilder } from "../types";
|
|
2
|
+
export declare function connectBuilder(ctx: DevToolsServerContext, publicApiKey: string, privateAuthKey: string): Promise<ConnectedBuilder>;
|
|
3
|
+
export declare function validateBuilder(ctx: DevToolsServerContext): Promise<ValidatedBuilder>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { ApiRequest, ApiResponse, ApiConnectBuilderRequest, ApiDevToolsEnabledRequest, ApiGetRegistryRequest, ApiLaunchEditorRequest, ApiRegisterComponentRequest, ApiRegisteredComponentInfoRequest, ApiRegisteredComponentInputRequest, ApiLoadComponentRequest, ApiUnregisterComponentRequest, ApiValidateBuilderRequest, ApiFrameworksRequest, ApiReadFileRequest, ApiWriteFileRequest, ApiReaddirRequest, ComponentRegistry, DevToolsServer, DevToolsServerOptions, Framework, GetRegistryOptions, TranspileDiagnostic, TranspileFileOptions, TranspileModuleOptions, TranspileResult, } from "../types";
|
|
2
|
+
export { createDevToolsServer } from "./create-dev-tools-server";
|
|
3
|
+
export declare const version: string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { DevToolsServerContext } from "../types";
|
|
3
|
+
import type { IncomingMessage, Server, ServerResponse } from "http";
|
|
4
|
+
export declare function handleDevRequest(ctx: DevToolsServerContext | null, server: Server, req: IncomingMessage, res: ServerResponse): Promise<void>;
|
package/types/types.d.ts
ADDED
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
export interface DevToolsPath {
|
|
2
|
+
basename: (path: string, suffix?: string) => string;
|
|
3
|
+
extname: (path: string) => string;
|
|
4
|
+
dirname: (path: string) => string;
|
|
5
|
+
isAbsolute: (path: string) => boolean;
|
|
6
|
+
join: (...paths: string[]) => string;
|
|
7
|
+
normalize: (path: string) => string;
|
|
8
|
+
relative: (from: string, to: string) => string;
|
|
9
|
+
resolve: (...pathSegments: string[]) => string;
|
|
10
|
+
}
|
|
11
|
+
export interface DevToolsSys extends DevToolsPath {
|
|
12
|
+
cwd: () => string;
|
|
13
|
+
getRootDir: () => string;
|
|
14
|
+
exists: (path: string) => Promise<boolean>;
|
|
15
|
+
existsSync: (path: string) => boolean;
|
|
16
|
+
readdir: (path: string, absolutePaths?: boolean) => Promise<string[]>;
|
|
17
|
+
readdirSync: (path: string) => string[];
|
|
18
|
+
readFile: (filePath: string) => Promise<string | null>;
|
|
19
|
+
readFileSync: (filePath: string) => string | null;
|
|
20
|
+
stat: (path: string) => Promise<{
|
|
21
|
+
isDirectory: () => boolean;
|
|
22
|
+
isFile: () => boolean;
|
|
23
|
+
}>;
|
|
24
|
+
statSync: (path: string) => {
|
|
25
|
+
isDirectory: () => boolean;
|
|
26
|
+
isFile: () => boolean;
|
|
27
|
+
};
|
|
28
|
+
writeFile: (filePath: string, content: string) => Promise<void>;
|
|
29
|
+
formatCode: (filePath: string, code: string) => Promise<string>;
|
|
30
|
+
hash: (str: string) => Promise<string>;
|
|
31
|
+
on: (eventName: "change", callback: FileChangeCallback) => void;
|
|
32
|
+
off: (eventName: "change", callback: FileChangeCallback) => void;
|
|
33
|
+
debug: (...args: any[]) => void;
|
|
34
|
+
launchEditor: (file: LaunchEditorFile) => Promise<void>;
|
|
35
|
+
platform: () => DevtoolsPlatform;
|
|
36
|
+
getDeviceId: () => Promise<string>;
|
|
37
|
+
getFrameworks: () => Framework[];
|
|
38
|
+
ts: typeof import("typescript");
|
|
39
|
+
version: string;
|
|
40
|
+
sdkVersion: SDK_VERSION_VALUES | null;
|
|
41
|
+
ignoreMissingConfig?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface DevtoolsPlatform {
|
|
44
|
+
runtime: string;
|
|
45
|
+
os: string;
|
|
46
|
+
}
|
|
47
|
+
export type FileChangeCallback = (file: FileChangeInfo) => Promise<void> | void;
|
|
48
|
+
export interface FileChangeInfo {
|
|
49
|
+
path: string;
|
|
50
|
+
basename: string;
|
|
51
|
+
extname: string;
|
|
52
|
+
dirname: string;
|
|
53
|
+
}
|
|
54
|
+
export interface EnsureConfigResult {
|
|
55
|
+
content: string;
|
|
56
|
+
filePath: string;
|
|
57
|
+
fileName: string;
|
|
58
|
+
hasContentUpdates: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface FrameworkDependency {
|
|
61
|
+
name: string;
|
|
62
|
+
version?: string;
|
|
63
|
+
devDependency?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface BuildToolConfig {
|
|
66
|
+
id: string;
|
|
67
|
+
content: string;
|
|
68
|
+
filePath: string;
|
|
69
|
+
}
|
|
70
|
+
export interface CreateDevToolsOptions extends DevToolsSys {
|
|
71
|
+
frameworks?: Framework[];
|
|
72
|
+
}
|
|
73
|
+
export interface FrameworkBuilderPageOptions {
|
|
74
|
+
templateContentId: string;
|
|
75
|
+
title: string;
|
|
76
|
+
pathname: string;
|
|
77
|
+
localePathname?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface DevToolsAdapter {
|
|
80
|
+
getPublicApiKey: () => Promise<EnvInfo>;
|
|
81
|
+
setPublicApiKey: (opts: SetPublicApiKeyOptions) => Promise<EnvInfo>;
|
|
82
|
+
builderPageOptions: () => Promise<FrameworkBuilderPageOptions>;
|
|
83
|
+
ensureBuilderSetup: () => Promise<ModifiedFile[]>;
|
|
84
|
+
ensureFigmaImportPage: () => Promise<ModifiedFile[]>;
|
|
85
|
+
getRegistry: (opts?: GetRegistryOptions) => Promise<ComponentRegistry>;
|
|
86
|
+
getRegistryPath: () => string;
|
|
87
|
+
loadComponent: (opts: LoadComponentOptions) => Promise<LoadComponent>;
|
|
88
|
+
registerComponent: (opts: RegisterComponentOptions) => Promise<ComponentRegistry>;
|
|
89
|
+
unregisterComponent: (opts: UnregisterComponentOptions) => Promise<ComponentRegistry>;
|
|
90
|
+
setRegisteredComponentInfo: (opts: SetComponentInfoOptions) => Promise<ComponentRegistry>;
|
|
91
|
+
setRegisteredComponentInput: (opts: SetComponentInputOptions) => Promise<ComponentRegistry>;
|
|
92
|
+
getDependencies: (opts: DependenciesOptions) => FrameworkDependency[];
|
|
93
|
+
getDevRunCommand: () => string;
|
|
94
|
+
getCache: () => Promise<Record<string, any>>;
|
|
95
|
+
setCache: (cache: Record<string, any>) => Promise<void>;
|
|
96
|
+
}
|
|
97
|
+
export interface DevTools extends DevToolsAdapter {
|
|
98
|
+
exportRegistry: () => Promise<string>;
|
|
99
|
+
importRegistry: (exportedRegistry: string) => Promise<ComponentRegistry>;
|
|
100
|
+
framework: string;
|
|
101
|
+
}
|
|
102
|
+
export interface DevToolsServerOptions extends DevToolsSys, DevTools {
|
|
103
|
+
getClientId: () => string;
|
|
104
|
+
getPastSyncInfo?: (data: {
|
|
105
|
+
sessionKey: string;
|
|
106
|
+
}) => any;
|
|
107
|
+
enableAppWatch: (enabled: boolean) => Promise<boolean>;
|
|
108
|
+
closeAppServer: () => Promise<void>;
|
|
109
|
+
restartAppServer: () => Promise<void>;
|
|
110
|
+
port?: number;
|
|
111
|
+
}
|
|
112
|
+
export interface DevToolsHttpServer {
|
|
113
|
+
url: string;
|
|
114
|
+
port: number;
|
|
115
|
+
setContext(ctx: DevToolsServerContext): void;
|
|
116
|
+
close(): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
export interface BuilderAppCredentials {
|
|
119
|
+
publicApiKey: string | null;
|
|
120
|
+
}
|
|
121
|
+
export interface DevToolsServerContext extends Required<DevToolsServerOptions>, BuilderAppCredentials {
|
|
122
|
+
devToolsServerUrl: string;
|
|
123
|
+
isValid: boolean;
|
|
124
|
+
serverShouldRestart: boolean;
|
|
125
|
+
}
|
|
126
|
+
export interface SetPublicApiKeyOptions {
|
|
127
|
+
publicApiKey: string;
|
|
128
|
+
}
|
|
129
|
+
export interface EnvInfo {
|
|
130
|
+
envKey: string;
|
|
131
|
+
envValue: string | null;
|
|
132
|
+
file: string;
|
|
133
|
+
modifiedType?: "create" | "update" | null;
|
|
134
|
+
}
|
|
135
|
+
export interface DevToolsServer {
|
|
136
|
+
getUrl: () => string;
|
|
137
|
+
}
|
|
138
|
+
export type ApiRequest = ApiConnectBuilderRequest | ApiDevToolsEnabledRequest | ApiGetRegistryRequest | ApiLaunchEditorRequest | ApiRegisterComponentRequest | ApiRegisteredComponentInfoRequest | ApiRegisteredComponentInputRequest | ApiLoadComponentRequest | ApiUnregisterComponentRequest | ApiValidateBuilderRequest | ApiFrameworksRequest | ApiReadFileRequest | ApiWriteFileRequest | ApiReaddirRequest | ApiGetBuilderCacheRequest | ApiEnsureFigmaImportPageRequest | ApiSetBuilderCacheRequest | ApiTranspileModuleRequest | ApiTranspileFileRequest | ApiPastSyncInfoRequest;
|
|
139
|
+
export interface ApiTranspileModuleRequest extends TranspileModuleOptions {
|
|
140
|
+
type: "transileModule";
|
|
141
|
+
}
|
|
142
|
+
export interface ApiTranspileFileRequest extends TranspileFileOptions {
|
|
143
|
+
type: "transileFile";
|
|
144
|
+
}
|
|
145
|
+
export interface ApiGetBuilderCacheRequest {
|
|
146
|
+
type: "getCache";
|
|
147
|
+
}
|
|
148
|
+
export interface ApiSetBuilderCacheRequest {
|
|
149
|
+
type: "setCache";
|
|
150
|
+
data: Record<string, any>;
|
|
151
|
+
}
|
|
152
|
+
export interface ApiPastSyncInfoRequest {
|
|
153
|
+
type: "getPastSyncInfo";
|
|
154
|
+
data: {
|
|
155
|
+
sessionKey: string;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
export interface ApiEnsureFigmaImportPageRequest {
|
|
159
|
+
type: "ensureFigmaImportPage";
|
|
160
|
+
}
|
|
161
|
+
export interface ApiConnectBuilderRequest {
|
|
162
|
+
type: "connectBuilder";
|
|
163
|
+
data: {
|
|
164
|
+
publicApiKey: string;
|
|
165
|
+
privateAuthKey: string;
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export interface ApiDevToolsEnabledRequest {
|
|
169
|
+
type: "enableDevTools";
|
|
170
|
+
data: {
|
|
171
|
+
enabled: boolean;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export interface ApiGetRegistryRequest {
|
|
175
|
+
type: "getRegistry";
|
|
176
|
+
data?: GetRegistryOptions;
|
|
177
|
+
}
|
|
178
|
+
export interface GetRegistryOptions {
|
|
179
|
+
readAllInputTypes?: boolean;
|
|
180
|
+
}
|
|
181
|
+
export interface ApiLaunchEditorRequest {
|
|
182
|
+
type: "launchEditor";
|
|
183
|
+
data: LaunchEditorFile;
|
|
184
|
+
}
|
|
185
|
+
export interface ApiRegisterComponentRequest {
|
|
186
|
+
type: "registerComponent";
|
|
187
|
+
data: RegisterComponentOptions;
|
|
188
|
+
}
|
|
189
|
+
export interface ApiUnregisterComponentRequest {
|
|
190
|
+
type: "unregisterComponent";
|
|
191
|
+
data: UnregisterComponentOptions;
|
|
192
|
+
}
|
|
193
|
+
export interface ApiRegisteredComponentInfoRequest {
|
|
194
|
+
type: "setComponentInfo";
|
|
195
|
+
data: SetComponentInfoOptions;
|
|
196
|
+
}
|
|
197
|
+
export interface ApiRegisteredComponentInputRequest {
|
|
198
|
+
type: "setComponentInput";
|
|
199
|
+
data: SetComponentInputOptions;
|
|
200
|
+
}
|
|
201
|
+
export interface ApiLoadComponentRequest {
|
|
202
|
+
type: "loadComponent";
|
|
203
|
+
data: LoadComponentOptions;
|
|
204
|
+
}
|
|
205
|
+
export interface ApiValidateBuilderRequest {
|
|
206
|
+
type: "validateBuilder";
|
|
207
|
+
}
|
|
208
|
+
export interface ApiFrameworksRequest {
|
|
209
|
+
type: "getFrameworks";
|
|
210
|
+
}
|
|
211
|
+
export interface ApiReadFileRequest {
|
|
212
|
+
type: "readFile";
|
|
213
|
+
path: string;
|
|
214
|
+
}
|
|
215
|
+
export interface ApiWriteFileRequest {
|
|
216
|
+
type: "writeFile";
|
|
217
|
+
path: string;
|
|
218
|
+
content: string;
|
|
219
|
+
}
|
|
220
|
+
export interface ApiReaddirRequest {
|
|
221
|
+
type: "readdir";
|
|
222
|
+
path: string;
|
|
223
|
+
}
|
|
224
|
+
export interface ApiResponse<T = any> {
|
|
225
|
+
type?: string;
|
|
226
|
+
data?: T;
|
|
227
|
+
errors?: string[];
|
|
228
|
+
}
|
|
229
|
+
export interface ValidatedBuilder {
|
|
230
|
+
isValid: boolean;
|
|
231
|
+
pathname: string;
|
|
232
|
+
platform: DevtoolsPlatform;
|
|
233
|
+
}
|
|
234
|
+
export interface ConnectedBuilder {
|
|
235
|
+
success: boolean;
|
|
236
|
+
pathname: string;
|
|
237
|
+
modifiedFiles: ModifiedFile[];
|
|
238
|
+
platform: DevtoolsPlatform;
|
|
239
|
+
}
|
|
240
|
+
export interface ModifiedFile {
|
|
241
|
+
filePath: string;
|
|
242
|
+
displayFilePath?: string;
|
|
243
|
+
modifiedType: "create" | "update";
|
|
244
|
+
}
|
|
245
|
+
export interface Framework {
|
|
246
|
+
name: string;
|
|
247
|
+
}
|
|
248
|
+
export interface ComponentRegistry {
|
|
249
|
+
components: ComponentInfo[];
|
|
250
|
+
registryPath: string;
|
|
251
|
+
registryDisplayPath: string;
|
|
252
|
+
frameworks: Framework[];
|
|
253
|
+
dependencies: AppDependency[];
|
|
254
|
+
publicApiKey: string | undefined;
|
|
255
|
+
devToolsVersion: string;
|
|
256
|
+
}
|
|
257
|
+
export interface AppDependency {
|
|
258
|
+
name: string;
|
|
259
|
+
}
|
|
260
|
+
export interface ExportedRegistry {
|
|
261
|
+
components: MinimalComponentInfo[];
|
|
262
|
+
version: number;
|
|
263
|
+
}
|
|
264
|
+
export interface LoadComponent extends ComponentRegistry {
|
|
265
|
+
component: ComponentInfo;
|
|
266
|
+
}
|
|
267
|
+
export interface LoadComponentOptions {
|
|
268
|
+
cmpId: string;
|
|
269
|
+
}
|
|
270
|
+
export interface RegisterComponentOptions {
|
|
271
|
+
cmpId: string | string[];
|
|
272
|
+
}
|
|
273
|
+
export interface UnregisterComponentOptions {
|
|
274
|
+
cmpId: string;
|
|
275
|
+
}
|
|
276
|
+
export interface SetComponentInfoOptions {
|
|
277
|
+
cmpId: string;
|
|
278
|
+
name?: string;
|
|
279
|
+
image?: string | null;
|
|
280
|
+
description?: string | null;
|
|
281
|
+
}
|
|
282
|
+
export interface SetComponentInputOptions extends Partial<Omit<ComponentInput, "isRegistered">> {
|
|
283
|
+
cmpId: string;
|
|
284
|
+
name: string;
|
|
285
|
+
registerInput?: boolean;
|
|
286
|
+
}
|
|
287
|
+
export interface DependenciesOptions {
|
|
288
|
+
sdkVersion: SDK_VERSION_VALUES | null;
|
|
289
|
+
}
|
|
290
|
+
export interface ComponentInfo {
|
|
291
|
+
id: string;
|
|
292
|
+
filePath: string;
|
|
293
|
+
relFilePath: string;
|
|
294
|
+
importPath: string;
|
|
295
|
+
name: string;
|
|
296
|
+
image?: string;
|
|
297
|
+
description?: string;
|
|
298
|
+
inputs: ComponentInput[];
|
|
299
|
+
displayFilePath?: string;
|
|
300
|
+
exportName: string;
|
|
301
|
+
exportType?: ExportType;
|
|
302
|
+
importName: string;
|
|
303
|
+
nodeIndex?: number;
|
|
304
|
+
isRegistered?: boolean;
|
|
305
|
+
acceptsChildren?: boolean;
|
|
306
|
+
meta?: Record<string, any>;
|
|
307
|
+
dependencies?: AppDependency[];
|
|
308
|
+
}
|
|
309
|
+
export interface MinimalComponentInfo {
|
|
310
|
+
filePath: string;
|
|
311
|
+
name: string;
|
|
312
|
+
image?: string;
|
|
313
|
+
description?: string;
|
|
314
|
+
inputs: ComponentInput[];
|
|
315
|
+
exportName: string;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Extends the @builder.io/sdk Input type to include additional properties.
|
|
319
|
+
* If a property is set to null, it will be removed from the input.
|
|
320
|
+
*/
|
|
321
|
+
export interface ComponentInput {
|
|
322
|
+
/** This is the name of the component prop this input represents */
|
|
323
|
+
name: string;
|
|
324
|
+
/** A friendlier name to show in the UI if the component prop name is not ideal for end users. Setting to null will remove the value. */
|
|
325
|
+
friendlyName?: string | null;
|
|
326
|
+
/** A default value to use. Setting to null will remove the value. */
|
|
327
|
+
defaultValue?: string | number | boolean | null;
|
|
328
|
+
/**
|
|
329
|
+
* The type of input to use, such as 'text'
|
|
330
|
+
*
|
|
331
|
+
* See all available inputs [here](https://www.builder.io/c/docs/custom-react-components#input-types)
|
|
332
|
+
* and you can create your own custom input types and associated editor UIs with [plugins](https://www.builder.io/c/docs/extending/plugins)
|
|
333
|
+
*/
|
|
334
|
+
type: string;
|
|
335
|
+
/** Is this input mandatory or not. Setting to null will remove the setting. */
|
|
336
|
+
required?: boolean | null;
|
|
337
|
+
/**
|
|
338
|
+
* Additional text to render in the UI to give guidance on how to use this
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```js
|
|
342
|
+
* helperText: 'Be sure to use a proper URL, starting with "https://"'
|
|
343
|
+
* 111
|
|
344
|
+
*/
|
|
345
|
+
helperText?: string | null;
|
|
346
|
+
/**
|
|
347
|
+
* For "text" input type, specifying an enum will show a dropdown of options instead
|
|
348
|
+
*/
|
|
349
|
+
enum?: string[] | {
|
|
350
|
+
label: string;
|
|
351
|
+
value: string | number | boolean;
|
|
352
|
+
helperText?: string;
|
|
353
|
+
}[];
|
|
354
|
+
meta?: Record<string, any>;
|
|
355
|
+
/** Add-on data that should not go in the registry */
|
|
356
|
+
isRegistered?: boolean;
|
|
357
|
+
hideFromUI?: boolean;
|
|
358
|
+
}
|
|
359
|
+
export type ExportType = "default" | "named";
|
|
360
|
+
export interface PackageJSON {
|
|
361
|
+
dependencies?: {
|
|
362
|
+
[pkgName: string]: string;
|
|
363
|
+
};
|
|
364
|
+
devDependencies?: {
|
|
365
|
+
[pkgName: string]: string;
|
|
366
|
+
};
|
|
367
|
+
scripts?: {
|
|
368
|
+
[scriptName: string]: string;
|
|
369
|
+
};
|
|
370
|
+
[key: string]: any;
|
|
371
|
+
}
|
|
372
|
+
export type ModuleFormat = "esm" | "cjs";
|
|
373
|
+
export interface LaunchEditorFile {
|
|
374
|
+
filePath: string;
|
|
375
|
+
line?: number;
|
|
376
|
+
column?: number;
|
|
377
|
+
}
|
|
378
|
+
export interface TranspileFileOptions {
|
|
379
|
+
filePath: string;
|
|
380
|
+
compilerOptions: import("typescript").CompilerOptions;
|
|
381
|
+
}
|
|
382
|
+
export interface TranspileModuleOptions {
|
|
383
|
+
code: string;
|
|
384
|
+
filePath?: string;
|
|
385
|
+
compilerOptions: import("typescript").CompilerOptions;
|
|
386
|
+
}
|
|
387
|
+
export interface TranspileResult {
|
|
388
|
+
code: string | null;
|
|
389
|
+
output: string | null;
|
|
390
|
+
diagnostics: TranspileDiagnostic[];
|
|
391
|
+
}
|
|
392
|
+
export interface TranspileDiagnostic {
|
|
393
|
+
messageText: string;
|
|
394
|
+
}
|
|
395
|
+
export declare const SDK_VERSIONS: {
|
|
396
|
+
readonly gen1: "Gen 1";
|
|
397
|
+
readonly gen2: "Gen 2";
|
|
398
|
+
};
|
|
399
|
+
type SDK_VERSION_KEYS = keyof typeof SDK_VERSIONS;
|
|
400
|
+
export type SDK_VERSION_VALUES = (typeof SDK_VERSIONS)[SDK_VERSION_KEYS];
|
|
401
|
+
export interface SDKVersionInfo {
|
|
402
|
+
version: SDK_VERSION_VALUES;
|
|
403
|
+
recommended: boolean;
|
|
404
|
+
}
|
|
405
|
+
export interface SDKFrameworks {
|
|
406
|
+
[key: string]: SDKVersionInfo[];
|
|
407
|
+
}
|
|
408
|
+
export interface UpdateRegistry {
|
|
409
|
+
addCmpToRegistry: ComponentInfo | null;
|
|
410
|
+
removeCmpFromRegistry: ComponentInfo | null;
|
|
411
|
+
updateRegisteredCmp: ComponentInfo | null;
|
|
412
|
+
nodeIndex: number;
|
|
413
|
+
components: ComponentInfo[];
|
|
414
|
+
}
|
|
415
|
+
export {};
|
package/vite/index.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var b=Object.create;var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var D=(n,e)=>{for(var t in e)u(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of E(e))!x.call(n,s)&&s!==t&&u(n,s,{get:()=>e[s],enumerable:!(o=h(e,s))||o.enumerable});return n};var V=(n,e,t)=>(t=n!=null?b(y(n)):{},g(e||!n||!n.__esModule?u(t,"default",{value:n,enumerable:!0}):t,n)),I=n=>g(u({},"__esModule",{value:!0}),n);var v={};D(v,{builderDevTools:()=>j});module.exports=I(v);var p=require("../core/index.cjs"),d=require("../node/index.cjs"),w=require("../server/index.cjs");async function f(n,e){let t=await n.readFile(e);return typeof t=="string"?R(t):null}function R(n){let e={},t=n.replace(/\r\n?/gm,`
|
|
2
|
+
`),o;for(;(o=C.exec(t))!=null;){let s=o[1],r=o[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 C=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;var m=V(require("path"),1);function j(n={}){return{name:"vite-plugin-builder-dev-tools",async configureServer(t){let o=await(0,d.createDevToolsNodeSys)({getRootDir:()=>m.default.normalize(t.config.root)}),s=await(0,p.createDevTools)(o),r=await(0,w.createDevToolsServer)({...s,getClientId:()=>"vite-builder-dev-tools",closeAppServer:async()=>{o.debug("close server"),await t?.close()},restartAppServer:async()=>{o.debug("restart server"),await t?.restart()},enableAppWatch:async c=>{if(c){o.debug("enable watch"),t?.watcher.add(t.config.root);let i=o.join(t.config.root,".git"),l=o.join(t.config.root,"node_modules");t?.watcher.unwatch([i,l])}else o.debug("disable watch"),t?.watcher.unwatch(t.config.root);return c},...o,...n});t.watcher.on("change",async c=>{if(c.includes(".env")){let i=await f(o,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(...$){if((i.getHeader("Content-Type")||"").toString().includes("text/html")){let T=(0,p.getClientScript)(r.getUrl());i.write(`<script>${T}</script>`)}return a.apply(this,$)},l()}catch(a){l(a)}})}}}0&&(module.exports={builderDevTools});
|
package/vite/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../types/vite";
|
package/vite/index.mjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
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;import b from"path";function R(s={}){return{name:"vite-plugin-builder-dev-tools",async configureServer(t){let n=await $({getRootDir:()=>b.normalize(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{R as builderDevTools};
|