@builder.io/dev-tools 1.10.13 → 1.10.15-dev.202508152043.0ab83c5da

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 (43) hide show
  1. package/angular/index.cjs +46 -1
  2. package/angular/index.mjs +21 -1
  3. package/cli/index.cjs +111437 -3867
  4. package/cli/index.cjs.map +4 -4
  5. package/core/index.cjs +14132 -790
  6. package/core/index.mjs +14122 -790
  7. package/figma/index.cjs +47 -1
  8. package/figma/index.mjs +27 -1
  9. package/node/index.cjs +25310 -105
  10. package/node/index.mjs +25314 -105
  11. package/package.json +1 -1
  12. package/remix/build.cjs +132 -1
  13. package/remix/index.mjs +113 -1
  14. package/server/index.cjs +22128 -1471
  15. package/server/index.mjs +22121 -1465
  16. package/types/cli/backup.d.ts +1 -2
  17. package/types/cli/code-server.d.ts +0 -0
  18. package/types/cli/code-tools.d.ts +0 -1
  19. package/types/cli/io-service.d.ts +86 -0
  20. package/types/cli/launch/InitStateMachine.d.ts +1 -0
  21. package/types/cli/launch/helpers.d.ts +12 -0
  22. package/types/cli/launch/install-jsx-plugin.d.ts +7 -0
  23. package/types/cli/launch/logger.d.ts +38 -0
  24. package/types/cli/launch-init-v2.d.ts +13 -0
  25. package/types/cli/launch-init.d.ts +19 -0
  26. package/types/cli/repo-indexing/component-indexing.d.ts +1 -4
  27. package/types/cli/repo-indexing-utils.d.ts +2 -0
  28. package/types/cli/repo-indexing.d.ts +17 -0
  29. package/types/cli/repo-indexing.mock.d.ts +5 -0
  30. package/types/cli/utils/repo-indexing-agent-prompt.d.ts +1 -1
  31. package/types/cli/utils/repo-indexing-group-prompts.d.ts +1 -0
  32. package/types/common/ast/component-input-types.d.ts +1 -1
  33. package/types/common/ast/convert-values.d.ts +1 -1
  34. package/types/common/errors.d.ts +1 -2
  35. package/types/common/utils.d.ts +1 -1
  36. package/types/core/adapters/vite/ensure-remix-config.d.ts +6 -0
  37. package/types/core/adapters/vite/remix-utils.d.ts +10 -0
  38. package/types/core/adapters/vite/vite-config-helpers.d.ts +6 -0
  39. package/types/tsconfig.tsbuildinfo +1 -1
  40. package/vite/index.cjs +153 -3
  41. package/vite/index.mjs +119 -3
  42. package/webpack/index.cjs +2883 -27
  43. package/webpack/index.mjs +2871 -27
@@ -9,7 +9,6 @@ interface BackupGitRepoOptions {
9
9
  repoPath: string;
10
10
  aiBranch: string;
11
11
  featureBranch: string;
12
- originalRepoUrl: string;
13
12
  workspace: WorkspaceConfiguration | undefined;
14
13
  debug: boolean;
15
14
  }
@@ -38,7 +37,7 @@ export type BackupGitRepoResult = BackupGitRepoResultValid | BackupGitRepoResult
38
37
  * The aiBranch is where the AI creates commits as work progresses, while featureBranch
39
38
  * is the base branch where work started (usually "main").
40
39
  */
41
- export declare function backupGitRepo({ sys, credentials, projectId, branchName, repoPath, aiBranch, featureBranch, workspace, originalRepoUrl, debug, }: BackupGitRepoOptions): Promise<BackupGitRepoResult>;
40
+ export declare function backupGitRepo({ sys, credentials, projectId, branchName, repoPath, aiBranch, featureBranch, workspace, debug, }: BackupGitRepoOptions): Promise<BackupGitRepoResult>;
42
41
  interface InitialCommitHashResult {
43
42
  initialBranch: string;
44
43
  initialCommitHash: string;
File without changes
@@ -19,7 +19,6 @@ export interface FusionContext {
19
19
  git: boolean;
20
20
  gitRemote?: string;
21
21
  gitAutoInit?: boolean;
22
- gitFeatureBranch?: string;
23
22
  }
24
23
  export interface ToolContext extends Partial<FusionContext> {
25
24
  sys: DevToolsSys;
@@ -0,0 +1,86 @@
1
+ import { type SelectOptions, type ConfirmOptions, type TextOptions } from "@clack/prompts";
2
+ import { spinner } from "./spinner";
3
+ import type { WebSocket } from "ws";
4
+ export interface IOService {
5
+ log(str: string): void;
6
+ info(str: string): void;
7
+ warn(str: string): void;
8
+ error(str: string): void;
9
+ write(text: string): void;
10
+ writeMetadata(metadata: Record<string, any>): void;
11
+ confirm(options: ConfirmOptions): Promise<boolean | symbol>;
12
+ text(options: TextOptions): Promise<string | symbol>;
13
+ select<Value>(options: SelectOptions<Value>): Promise<Value | symbol>;
14
+ createSpinner(): ReturnType<typeof spinner>;
15
+ isInteractive(): boolean;
16
+ isTTY(): boolean;
17
+ exit(code: number): Promise<void>;
18
+ }
19
+ export declare class ConsoleIOService implements IOService {
20
+ log(str: string): void;
21
+ info(str: string): void;
22
+ warn(str: string): void;
23
+ error(str: string): void;
24
+ write(text: string): void;
25
+ writeMetadata(_: Record<string, any>): void;
26
+ confirm(options: ConfirmOptions): Promise<boolean | symbol>;
27
+ text(options: TextOptions): Promise<string | symbol>;
28
+ select<Value>(options: SelectOptions<Value>): Promise<Value | symbol>;
29
+ createSpinner(): ReturnType<typeof spinner>;
30
+ isInteractive(): boolean;
31
+ isTTY(): boolean;
32
+ exit(code: number): Promise<void>;
33
+ }
34
+ export interface BaseMessage {
35
+ type: string;
36
+ [key: string]: any;
37
+ }
38
+ export interface LogMessage extends BaseMessage {
39
+ type: "log";
40
+ level: "info" | "warn" | "error";
41
+ message: string;
42
+ }
43
+ export interface WriteMessage extends BaseMessage {
44
+ type: "write";
45
+ text: string;
46
+ }
47
+ export interface SpinnerMessage extends BaseMessage {
48
+ type: "spinner";
49
+ status: "start" | "stop";
50
+ message: string;
51
+ code?: number;
52
+ }
53
+ export interface PromptRequest extends BaseMessage {
54
+ type: "prompt";
55
+ promptType: "text" | "confirm" | "select";
56
+ options: any;
57
+ requestId: string;
58
+ }
59
+ export interface PromptResponse extends BaseMessage {
60
+ type: "prompt_response";
61
+ requestId: string;
62
+ value: any;
63
+ cancelled?: boolean;
64
+ }
65
+ export declare class WebSocketIOService implements IOService {
66
+ private ws;
67
+ private promptCallbacks;
68
+ private messageQueue;
69
+ private isProcessing;
70
+ constructor(ws: WebSocket);
71
+ private sendMessage;
72
+ private prompt;
73
+ log(...args: any[]): void;
74
+ info(...args: any[]): void;
75
+ warn(...args: any[]): void;
76
+ error(...args: any[]): void;
77
+ write(text: string): void;
78
+ writeMetadata(metadata: Record<string, any>): void;
79
+ confirm(options: ConfirmOptions): Promise<boolean | symbol>;
80
+ text(options: TextOptions): Promise<string | symbol>;
81
+ select<Value>(options: SelectOptions<Value>): Promise<Value | symbol>;
82
+ createSpinner(): ReturnType<typeof spinner>;
83
+ isInteractive(): boolean;
84
+ isTTY(): boolean;
85
+ exit(code: number): Promise<void>;
86
+ }
@@ -24,6 +24,7 @@ export declare class InitStateMachine {
24
24
  checkout(branchName: string, ref: string, repoPath: string): Promise<boolean>;
25
25
  execAsync(exec: string, args: string[], cwd?: string): Promise<string>;
26
26
  git(args: string[], cwd?: string): Promise<string>;
27
+ performBackup(sys: DevToolsSys, credentials: Credentials, fusionConfig: FusionConfig, volumePath: string, repositories: Required<WorkspaceFolder>[]): Promise<void>;
27
28
  init(): Promise<boolean>;
28
29
  addInitLog(type: "status" | "log" | "error" | "complete", message: string, options?: {
29
30
  step?: InitStateStep;
@@ -1,2 +1,14 @@
1
+ import type { FusionConfig } from "$/ai-utils";
2
+ import type { DevToolsSys } from "types";
1
3
  export declare const getCommandWithShellArgs: (command: string, shell: string) => string[];
2
4
  export declare const isInRemoteContainer: () => boolean;
5
+ export declare const getVolumePath: (fusionConfig: FusionConfig) => string;
6
+ export declare function computeAIBranchName(featureBranch: string, sessionId: string): string;
7
+ export declare const getAndParseGitRepoInfo: ({ sys, gitWorkingDirectory, }: {
8
+ sys: DevToolsSys;
9
+ gitWorkingDirectory: string;
10
+ }) => Promise<{
11
+ currentBranch: string;
12
+ featureBranch: string;
13
+ sessionId: string | undefined;
14
+ }>;
@@ -0,0 +1,7 @@
1
+ import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
+ import { type InstallOutcome } from "./helpers";
3
+ export declare const installJsxPlugin: (sys: DevToolsSys) => Promise<{
4
+ timestamp: string;
5
+ installOutcome: InstallOutcome;
6
+ error: string | undefined;
7
+ }>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Initialize logging by wrapping all console methods to write to logs file
3
+ */
4
+ export declare function initializeLogging(): void;
5
+ /**
6
+ * Reset console methods to their original state
7
+ */
8
+ export declare function resetLogging(): void;
9
+ /**
10
+ * Display intro message with logging
11
+ */
12
+ export declare const intro: (message: string) => void;
13
+ /**
14
+ * Wrapped clack logging methods with file logging
15
+ */
16
+ export declare const log: {
17
+ info: (message: string) => void;
18
+ success: (message: string) => void;
19
+ error: (message: string) => void;
20
+ warn: (message: string) => void;
21
+ step: (message: string) => void;
22
+ message: (message?: string, { symbol }?: import("@clack/prompts").LogMessageOptions) => void;
23
+ warning: (message: string) => void;
24
+ };
25
+ /**
26
+ * Display outro message with logging
27
+ */
28
+ export declare const outro: (message: string) => void;
29
+ /**
30
+ * Reads logs with pagination
31
+ * @param nextToken Line number to start reading from (0-indexed)
32
+ * @param limit Number of lines to read
33
+ * @returns Object containing logs array and next token
34
+ */
35
+ export declare const readLogs: (nextToken?: number, limit?: number) => {
36
+ logs: string[];
37
+ nextToken: number | null;
38
+ };
@@ -0,0 +1,13 @@
1
+ import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
+ import type { CLIArgs } from "./index";
3
+ export interface InitArgs extends CLIArgs {
4
+ repoFullName?: string;
5
+ branchName?: string;
6
+ githubToken?: string;
7
+ installCommand?: string;
8
+ dockerImageType?: "fusion-starter" | "node";
9
+ }
10
+ export declare function runLaunchInitCommandV2({ args, sys, }: {
11
+ sys: DevToolsSys;
12
+ args: InitArgs;
13
+ }): Promise<number>;
@@ -0,0 +1,19 @@
1
+ import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
+ import type { CLIArgs } from "./index";
3
+ export interface InitArgs extends CLIArgs {
4
+ repoFullName?: string;
5
+ branchName?: string;
6
+ githubToken?: string;
7
+ installCommand?: string;
8
+ volumePath?: string;
9
+ /**
10
+ * Indicates the type of docker image the CLI is running on.
11
+ *
12
+ * @default "node"
13
+ */
14
+ dockerImageType?: "fusion-starter" | "node";
15
+ }
16
+ export declare function runLaunchInitCommand({ args, sys, }: {
17
+ sys: DevToolsSys;
18
+ args: InitArgs;
19
+ }): Promise<number>;
@@ -12,13 +12,10 @@ export declare const processComponent: (sys: DevToolsSys, credentials: Credentia
12
12
  debug?: boolean;
13
13
  onIssue?: (issue: ComponentIssue) => void;
14
14
  }) => Promise<void>;
15
- export declare const processAgent: (sys: DevToolsSys, credentials: Credentials, sessionId: string, discoveredComponents: Component[], opts?: {
15
+ export declare const processAgent: (sys: DevToolsSys, credentials: Credentials, discoveredComponents: Component[], opts?: {
16
16
  designSystemId?: string | null;
17
- designSystemPackage?: string;
18
- designSystemVersion?: string;
19
17
  retriesAllowed?: number;
20
18
  storeRepoIndexing?: boolean;
21
- workspaceConfig?: WorkspaceConfiguration;
22
19
  debug?: boolean;
23
20
  }) => Promise<void>;
24
21
  export declare const deprecateObsoleteComponents: (credentials: Credentials, localComponents: Component[], remoteComponents: Component[]) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { DevToolsSys } from "../core";
2
+ export declare const parseDesignSystemVersion: (sys: DevToolsSys, designSystemPackage: string) => Promise<string | null | undefined>;
@@ -0,0 +1,17 @@
1
+ import type { DevToolsSys } from "../types";
2
+ import type { CLIArgs } from "./index";
3
+ export interface RepoIndexingDoc {
4
+ name: string;
5
+ content: string | {
6
+ name: string;
7
+ description: string;
8
+ components: string[];
9
+ relevantFiles: string[];
10
+ }[];
11
+ createdDate: string;
12
+ description: string;
13
+ id: string;
14
+ ownerId: string;
15
+ userId: string;
16
+ }
17
+ export declare const runRepoIndexing: (sys: DevToolsSys, args: CLIArgs) => Promise<void>;
@@ -0,0 +1,5 @@
1
+ export declare const mockDeps: {
2
+ getStoredComponentDocs: () => Promise<never[]>;
3
+ storeComponentDocs: () => Promise<{}>;
4
+ runCodeGen: () => Promise<string>;
5
+ };
@@ -1 +1 @@
1
- export declare const REPO_INDEXING_AGENT_PROMPT = "You are tasked with generating comprehensive documentation for a design system based on the provided components.\n\n---\n\n# Design System Component Reference\n\nThis document provides a comprehensive overview of the design system's component architecture and available components for code generation and development reference.\n\n## System Architecture\n\nThe design system follows a modular component-based architecture where each component provides specific functionality. Components are organized into logical groups that can work independently or in combination with other components.\n\n### Component Organization Principles\n\n- **Single Responsibility**: Each component serves a specific purpose\n- **Composability**: Components can be combined to create complex interfaces\n- **Consistency**: All components follow the same design patterns and API conventions\n- **Accessibility**: Components are built with accessibility standards in mind\n\n## Documentation Structure\n\nFor detailed documentation on any component, refer to the corresponding MDX file in the `design-system-docs` folder. The documentation files follow the naming convention:\n\n```\ndesign-system-docs/[componentname].mdx\n```\n\nFor example:\n- `design-system-docs/button.mdx` - Detailed documentation for Button component\n- `design-system-docs/table.mdx` - Detailed documentation for Table component\n- `design-system-docs/annotationcontext.mdx` - Detailed documentation for AnnotationContext\n- `design-system-docs/applayout.mdx` - Detailed documentation for AppLayout component\n\nThese MDX files contain comprehensive information including:\n- Component API documentation\n- Usage examples\n- Props and configuration options\n- Best practices and implementation guidelines\n- Accessibility requirements\n- Integration patterns with other components\n\n## Component Categories\n\nCategorize and organize the components into logical groups such as:\n\n### Layout & Structure\nComponents that provide foundational layout and structural elements for applications.\n\n### Navigation\nComponents for user navigation and wayfinding within applications.\n\n### Form Controls\nInteractive components for user input and data collection.\n\n### Data Display\nComponents for presenting and organizing data and content.\n\n### Charts & Visualization\nComponents for data visualization and graphical representation.\n\n### Interactive Elements\nComponents for user interaction and actions.\n\n### Feedback & Communication\nComponents for providing feedback and communicating with users.\n\n### Form Organization\nComponents for structuring and organizing forms.\n\n### Content Organization\nComponents for organizing and structuring content.\n\n### Advanced Controls\nSpecialized components for complex interactions and data management.\n\n### Selection & Control\nComponents for user selections and interface controls.\n\n### Specialized Components\nComponents for specific use cases and advanced functionality.\n\n### Tutorial & Annotation System\nA specialized component group for creating interactive tutorials and annotations.\n\n### System Components\nComponents for system-level functionality and configuration.\n\n**Instructions for categorization:**\n1. Analyze each component provided below\n2. Group components by their primary functionality\n3. List each component with its description under the appropriate category\n4. Use the format: `**ComponentName** - [description from the component data]`\n5. Identify any component dependencies (like AnnotationContext)\n6. Create new categories if needed based on the actual component data\n\n## Usage Guidelines\n\n### Component Dependencies\n- Most components are self-contained and can be used independently\n- Identify any components that require multiple components to work together\n- Some components work better in combination (e.g., Form + FormField, Table + Pagination)\n\n### Integration Patterns\n- Layout components typically serve as containers for other components\n- Form controls should be wrapped in FormField components for proper labeling\n- Navigation components can be used independently or as part of larger layout structures\n- Data display components can be enhanced with interactive elements like buttons and popovers\n\n### Accessibility Considerations\n- All components are built with accessibility in mind\n- Use semantic HTML structures provided by the components\n- Leverage built-in ARIA attributes and keyboard navigation\n- The LiveRegion component provides additional accessibility announcements when needed\n\n### Responsive Design\n- Layout components provide responsive behavior out of the box\n- Grid and ColumnLayout components adapt to different screen sizes\n- Mobile-friendly navigation patterns are built into navigation components\n\n## Usage Reference\n\nThis reference should be used to understand the available components and their intended purposes when generating code or building applications with this design system. For specific implementation details, always consult the corresponding MDX documentation file in the `design-system-docs` folder.\n\n---\n\n**Template Usage Instructions:**\n1. Replace {{COMPONENTS}} with the actual JSON array of components\n2. Process each component to extract the name and description\n3. Categorize components based on their functionality and description\n4. Generate the appropriate category sections with component listings\n5. Ensure all component names are properly formatted and descriptions are included\n\nMake sure to save the output in the file AGENTS.md. You must use the Write tool in your response.";
1
+ export declare const REPO_INDEXING_AGENT_PROMPT = "# Design System Component Reference\n\nThis document provides a comprehensive overview of the design system's component architecture and available components for code generation and development reference.\n\n## System Architecture\n\nThe design system follows a modular component-based architecture where each component provides specific functionality. Components are organized into logical groups that can work independently or in combination with other components.\n\n### Component Organization Principles\n\n- **Single Responsibility**: Each component serves a specific purpose\n- **Composability**: Components can be combined to create complex interfaces\n- **Consistency**: All components follow the same design patterns and API conventions\n- **Accessibility**: Components are built with accessibility standards in mind\n\n## Documentation Structure\n\nFor detailed documentation on any component, refer to the corresponding MDX file in the `design-system-docs` folder. The documentation files follow the naming convention:\n\n```\ndesign-system-docs/[componentname].mdx\n```\n\nFor example:\n- `design-system-docs/button.mdx` - Detailed documentation for Button component\n- `design-system-docs/table.mdx` - Detailed documentation for Table component\n- `design-system-docs/annotationcontext.mdx` - Detailed documentation for AnnotationContext\n- `design-system-docs/applayout.mdx` - Detailed documentation for AppLayout component\n\nThese MDX files contain comprehensive information including:\n- Component API documentation\n- Usage examples\n- Props and configuration options\n- Best practices and implementation guidelines\n- Accessibility requirements\n- Integration patterns with other components\n\n## Components\n\n{{COMPONENTS}}\n\n## Usage Guidelines\n\n### Component Dependencies\n- Most components are self-contained and can be used independently\n- Identify any components that require multiple components to work together\n- Some components work better in combination (e.g., Form + FormField, Table + Pagination)\n\n### Integration Patterns\n- Layout components typically serve as containers for other components\n- Form controls should be wrapped in FormField components for proper labeling\n- Navigation components can be used independently or as part of larger layout structures\n- Data display components can be enhanced with interactive elements like buttons and popovers\n\n### Accessibility Considerations\n- All components are built with accessibility in mind\n- Use semantic HTML structures provided by the components\n- Leverage built-in ARIA attributes and keyboard navigation\n- The LiveRegion component provides additional accessibility announcements when needed\n\n### Responsive Design\n- Layout components provide responsive behavior out of the box\n- Grid and ColumnLayout components adapt to different screen sizes\n- Mobile-friendly navigation patterns are built into navigation components\n\n## Usage Reference\n\nThis reference should be used to understand the available components and their intended purposes when generating code or building applications with this design system. For specific implementation details, always consult the corresponding MDX documentation file in the `design-system-docs` folder.";
@@ -0,0 +1 @@
1
+ export declare const REPO_INDEXING_GROUP_PROMPT: string;
@@ -17,7 +17,7 @@ export declare const NUMBER_TYPES: string[];
17
17
  export declare const BOOLEAN_TYPES: string[];
18
18
  export declare const ARRAY_TYPES: string[];
19
19
  export declare const OBJECT_TYPES: string[];
20
- export declare function getPrimitiveType(t: string): "number" | "string" | "boolean" | "object" | "array";
20
+ export declare function getPrimitiveType(t: string): "string" | "object" | "number" | "boolean" | "array";
21
21
  export declare function removeQuotes(text: string): string;
22
22
  export declare const resolveType: (sys: DevToolsSys, checker: ts.TypeChecker, type: ts.Type) => string[] | undefined;
23
23
  export declare const typeToString: (sys: DevToolsSys, checker: ts.TypeChecker, type: ts.Type) => string;
@@ -8,4 +8,4 @@ export declare function objectExpressionToObjectValue(sys: DevToolsSys, objectLi
8
8
  };
9
9
  export declare function convertArrayExpressionToJsArray(sys: DevToolsSys, arr: ts.ArrayLiteralExpression): any[];
10
10
  export declare function getTextOfPropertyName(sys: DevToolsSys, prop: ts.PropertyAssignment | ts.ObjectLiteralElementLike | undefined): string | undefined;
11
- export declare function valueToExpression(sys: DevToolsSys, val: any): ts.ObjectLiteralExpression | ts.Identifier | ts.StringLiteral | ts.NumericLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.ArrayLiteralExpression;
11
+ export declare function valueToExpression(sys: DevToolsSys, val: any): ts.ObjectLiteralExpression | ts.ArrayLiteralExpression | ts.Identifier | ts.StringLiteral | ts.NumericLiteral | ts.TrueLiteral | ts.FalseLiteral;
@@ -25,9 +25,8 @@ export declare class NetworkError extends PrivateError {
25
25
  readonly statusCode?: number;
26
26
  readonly errorCode?: string;
27
27
  }
28
- export type NetworkErrorType = "connection_refused" | "connection_timeout" | "dns_not_found" | "ssl_error" | "rate_limit" | "server_error" | "authentication_error" | "unknown";
28
+ export type NetworkErrorType = "connection_refused" | "connection_timeout" | "dns_not_found" | "ssl_error" | "server_error" | "unknown";
29
29
  export declare function convertNodeErrorToNetworkError(error: Error & {
30
30
  code?: string;
31
31
  }, hostname: string, port?: number): NetworkError;
32
- export declare function createHttpError(statusCode: number, hostname: string, cause?: Error): NetworkError;
33
32
  export declare function displayNetworkError(error: NetworkError): void;
@@ -19,7 +19,7 @@ export declare function clone<T>(obj: T): T;
19
19
  export declare function shouldSkipFolder(sys: DevToolsSys, skipFolders: Set<string>, fileName: string): boolean;
20
20
  export declare function getPackageManager(): string;
21
21
  export declare function isWindows(): boolean;
22
- export declare function builderNpxPackage(): "\"@builder.io/dev-tools\"" | "builder.io";
22
+ export declare function builderNpxPackage(): "builder.io" | "\"@builder.io/dev-tools\"";
23
23
  /**
24
24
  * Sanitizes a component name for use in filesystem paths by replacing invalid characters with underscores
25
25
  * @param name The component name to sanitize
@@ -0,0 +1,6 @@
1
+ import type { DevToolsSys } from "../..";
2
+ import type { EnsureConfigResult } from "../../../types";
3
+ /**
4
+ * Ensure the Remix Vite config has the necessary plugins and settings
5
+ */
6
+ export declare function ensureRemixConfig(sys: DevToolsSys, configFilePath: string, configContent: string): Promise<EnsureConfigResult>;
@@ -0,0 +1,10 @@
1
+ import type { DevToolsSys } from "../..";
2
+ import type ts from "typescript";
3
+ /**
4
+ * Check if the current project is using Remix framework
5
+ */
6
+ export declare function isRemixFramework(sys: DevToolsSys): boolean;
7
+ /**
8
+ * Update an object literal to include the external dependencies for Remix
9
+ */
10
+ export declare function updateCommonJsLibrary(sys: DevToolsSys, config: ts.ObjectLiteralExpression): ts.ObjectLiteralExpression | null;
@@ -0,0 +1,6 @@
1
+ import type { DevToolsSys } from "../..";
2
+ import type { EnsureConfigResult } from "../../../types";
3
+ /**
4
+ * Update a Vite config file to include a plugin
5
+ */
6
+ export declare function updateViteConfig(sys: DevToolsSys, configFilePath: string, configContent: string, pluginName: string, importPath: string): Promise<EnsureConfigResult>;