@fluixi/compiler 1.0.0-alpha.53
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/LICENSE +21 -0
- package/README.md +76 -0
- package/dist/babel-OGRQKOZA.mjs +2 -0
- package/dist/chunk-3SAEGOMQ.mjs +1 -0
- package/dist/codegen/backend.cjs +1 -0
- package/dist/codegen/backend.d.ts +22 -0
- package/dist/codegen/backend.d.ts.map +1 -0
- package/dist/codegen/backend.js +1 -0
- package/dist/codegen/backend.mjs +0 -0
- package/dist/codegen/backends/imperative.cjs +1 -0
- package/dist/codegen/backends/imperative.d.ts +3 -0
- package/dist/codegen/backends/imperative.d.ts.map +1 -0
- package/dist/codegen/backends/imperative.js +152 -0
- package/dist/codegen/backends/imperative.mjs +1 -0
- package/dist/codegen/contract.cjs +1 -0
- package/dist/codegen/contract.d.ts +25 -0
- package/dist/codegen/contract.d.ts.map +1 -0
- package/dist/codegen/contract.js +30 -0
- package/dist/codegen/contract.mjs +1 -0
- package/dist/frontend/babel/build-ir.cjs +1 -0
- package/dist/frontend/babel/build-ir.d.ts +23 -0
- package/dist/frontend/babel/build-ir.d.ts.map +1 -0
- package/dist/frontend/babel/build-ir.js +224 -0
- package/dist/frontend/babel/build-ir.mjs +1 -0
- package/dist/frontend/babel/index.cjs +2 -0
- package/dist/frontend/babel/index.d.ts +34 -0
- package/dist/frontend/babel/index.d.ts.map +1 -0
- package/dist/frontend/babel/index.js +65 -0
- package/dist/frontend/babel/index.mjs +2 -0
- package/dist/frontend/babel/plugin.cjs +2 -0
- package/dist/frontend/babel/plugin.d.ts +122 -0
- package/dist/frontend/babel/plugin.d.ts.map +1 -0
- package/dist/frontend/babel/plugin.js +1509 -0
- package/dist/frontend/babel/plugin.mjs +2 -0
- package/dist/frontend/babel/server-functions.cjs +1 -0
- package/dist/frontend/babel/server-functions.d.ts +11 -0
- package/dist/frontend/babel/server-functions.d.ts.map +1 -0
- package/dist/frontend/babel/server-functions.js +88 -0
- package/dist/frontend/babel/server-functions.mjs +1 -0
- package/dist/frontend/babel/types.cjs +1 -0
- package/dist/frontend/babel/types.d.ts +34 -0
- package/dist/frontend/babel/types.d.ts.map +1 -0
- package/dist/frontend/babel/types.js +1 -0
- package/dist/frontend/babel/types.mjs +0 -0
- package/dist/frontend/types.cjs +1 -0
- package/dist/frontend/types.d.ts +26 -0
- package/dist/frontend/types.d.ts.map +1 -0
- package/dist/frontend/types.js +1 -0
- package/dist/frontend/types.mjs +0 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.mjs +1 -0
- package/dist/integrations.cjs +12 -0
- package/dist/integrations.d.ts +251 -0
- package/dist/integrations.d.ts.map +1 -0
- package/dist/integrations.js +790 -0
- package/dist/integrations.mjs +11 -0
- package/dist/ir/nodes.cjs +1 -0
- package/dist/ir/nodes.d.ts +80 -0
- package/dist/ir/nodes.d.ts.map +1 -0
- package/dist/ir/nodes.js +1 -0
- package/dist/ir/nodes.mjs +0 -0
- package/dist/options.cjs +1 -0
- package/dist/options.d.ts +18 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +9 -0
- package/dist/options.mjs +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Bundler integrations for the Fluixi compiler.
|
|
3
|
+
* @module @fluixi/compiler/integrations
|
|
4
|
+
*
|
|
5
|
+
* Build-tool adapters (vite/webpack/rollup/esbuild) plus the prop/template
|
|
6
|
+
* analysis helpers that drive them. These wrap the babel front-end so a single
|
|
7
|
+
* package owns all compile-time code. @fluixi/core re-exports
|
|
8
|
+
* createVitePlugin from here.
|
|
9
|
+
*
|
|
10
|
+
* Helpers:
|
|
11
|
+
* - Detecting reactive expressions
|
|
12
|
+
* - Wrapping signals for optimal updates
|
|
13
|
+
* - Template optimization
|
|
14
|
+
* - Static vs dynamic prop detection
|
|
15
|
+
*/
|
|
16
|
+
export interface CompilerOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Whether to use lit-html templates when possible
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
useLitHTML?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether to generate source maps
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
sourceMaps?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to enable aggressive optimizations
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
optimize?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to delegate events
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
delegateEvents?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Events to delegate (if delegateEvents is true)
|
|
39
|
+
* @default ['click', 'input', 'change', 'submit']
|
|
40
|
+
*/
|
|
41
|
+
delegatedEvents?: string[];
|
|
42
|
+
/**
|
|
43
|
+
* Whether to generate dev-mode code with additional checks
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
development?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Custom pragma for JSX
|
|
49
|
+
* @default 'jsx'
|
|
50
|
+
*/
|
|
51
|
+
pragma?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Custom pragma fragment
|
|
54
|
+
* @default 'Fragment'
|
|
55
|
+
*/
|
|
56
|
+
pragmaFrag?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Module to import JSX runtime from
|
|
59
|
+
* @default '@fluixi/jsx'
|
|
60
|
+
*/
|
|
61
|
+
importSource?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Code-generation backend.
|
|
64
|
+
* - 'imperative': compile straight into @fluixi/dom runtime calls (default).
|
|
65
|
+
* - 'jsx': emit the automatic runtime jsx()/jsxs().
|
|
66
|
+
* @default 'imperative'
|
|
67
|
+
*/
|
|
68
|
+
backend?: 'jsx' | 'imperative';
|
|
69
|
+
/**
|
|
70
|
+
* Imperative codegen path: 'inline' (plugin builds calls directly) or 'ir'
|
|
71
|
+
* (shared build-IR + backend emit() pipeline). Same output.
|
|
72
|
+
* @default 'inline'
|
|
73
|
+
*/
|
|
74
|
+
codegen?: 'inline' | 'ir';
|
|
75
|
+
/**
|
|
76
|
+
* Module emitted runtime symbols are imported from in 'imperative' mode.
|
|
77
|
+
* @default '@fluixi/dom'
|
|
78
|
+
*/
|
|
79
|
+
signalModule?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Module control-flow components are imported from in 'imperative' mode.
|
|
82
|
+
* @default '@fluixi/dom'
|
|
83
|
+
*/
|
|
84
|
+
controlFlowModule?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Where reactive primitives (createMemo) are imported from in 'imperative' mode.
|
|
87
|
+
* @default '@fluixi/reactive/signal'
|
|
88
|
+
*/
|
|
89
|
+
reactiveModule?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface TransformResult {
|
|
92
|
+
code: string;
|
|
93
|
+
map?: any;
|
|
94
|
+
metadata?: TransformMetadata;
|
|
95
|
+
}
|
|
96
|
+
export interface TransformMetadata {
|
|
97
|
+
hasSignals: boolean;
|
|
98
|
+
hasStores: boolean;
|
|
99
|
+
hasLitHTML: boolean;
|
|
100
|
+
staticProps: Set<string>;
|
|
101
|
+
dynamicProps: Set<string>;
|
|
102
|
+
components: Set<string>;
|
|
103
|
+
}
|
|
104
|
+
export interface PropAnalysis {
|
|
105
|
+
name: string;
|
|
106
|
+
isStatic: boolean;
|
|
107
|
+
isReactive: boolean;
|
|
108
|
+
isEvent: boolean;
|
|
109
|
+
isRef: boolean;
|
|
110
|
+
isSpread: boolean;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Analyze a prop to determine if it's static or dynamic
|
|
114
|
+
*/
|
|
115
|
+
export declare function analyzeProp(name: string, value: any): PropAnalysis;
|
|
116
|
+
/**
|
|
117
|
+
* Analyze all props on an element
|
|
118
|
+
*/
|
|
119
|
+
export declare function analyzeProps(props: Record<string, any>): Map<string, PropAnalysis>;
|
|
120
|
+
/**
|
|
121
|
+
* Check if JSX should be compiled to lit-html template
|
|
122
|
+
*/
|
|
123
|
+
export declare function shouldUseLitTemplate(tag: string, props: Record<string, any>, children: any[]): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Check if a value is a lit-html template
|
|
126
|
+
*/
|
|
127
|
+
export declare function isLitTemplate(value: any): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Generate code for creating an element
|
|
130
|
+
*/
|
|
131
|
+
export declare function generateCreateElement(tag: string, props: Record<string, any>, children: any[], options?: CompilerOptions): string;
|
|
132
|
+
/**
|
|
133
|
+
* Generate code for props object
|
|
134
|
+
*/
|
|
135
|
+
export declare function generatePropsCode(props: Record<string, any>, options?: CompilerOptions): string;
|
|
136
|
+
/**
|
|
137
|
+
* Generate code for children
|
|
138
|
+
*/
|
|
139
|
+
export declare function generateChildrenCode(children: any[]): string;
|
|
140
|
+
/**
|
|
141
|
+
* Generate lit-html template code
|
|
142
|
+
*/
|
|
143
|
+
export declare function generateLitHTMLTemplate(tag: string, props: Record<string, any>, children: any[], isSVG?: boolean): string;
|
|
144
|
+
/**
|
|
145
|
+
* Optimize static content
|
|
146
|
+
*/
|
|
147
|
+
export declare function optimizeStatic(code: string): string;
|
|
148
|
+
/**
|
|
149
|
+
* Optimize prop spreads
|
|
150
|
+
*/
|
|
151
|
+
export declare function optimizeSpreads(code: string): string;
|
|
152
|
+
/**
|
|
153
|
+
* Hoist static elements
|
|
154
|
+
*/
|
|
155
|
+
export declare function hoistStatic(code: string): string;
|
|
156
|
+
/**
|
|
157
|
+
* Generate event delegation setup
|
|
158
|
+
*/
|
|
159
|
+
export declare function generateEventDelegation(events: string[], options?: CompilerOptions): string;
|
|
160
|
+
/**
|
|
161
|
+
* Transform JSX code with optimizations
|
|
162
|
+
*/
|
|
163
|
+
export declare function transform(code: string, options?: CompilerOptions): TransformResult;
|
|
164
|
+
/**
|
|
165
|
+
* Helper for creating a Babel plugin
|
|
166
|
+
*/
|
|
167
|
+
export declare function createBabelPlugin(options?: CompilerOptions): Promise<{
|
|
168
|
+
name: string;
|
|
169
|
+
plugin: ((api: object, options: import("./frontend/babel/plugin.js").PluginOptions | null | undefined, dirname: string) => import("@babel/core").PluginObj<import("@babel/core").PluginPass>) | null;
|
|
170
|
+
getOptions(): {
|
|
171
|
+
reactiveModule?: string | undefined;
|
|
172
|
+
controlFlowModule?: string | undefined;
|
|
173
|
+
signalModule?: string | undefined;
|
|
174
|
+
codegen?: "inline" | "ir" | undefined;
|
|
175
|
+
runtime: string;
|
|
176
|
+
importSource: string;
|
|
177
|
+
pragma: string;
|
|
178
|
+
pragmaFrag: string;
|
|
179
|
+
development: boolean;
|
|
180
|
+
detectReactivity: boolean;
|
|
181
|
+
useLitHTML: boolean;
|
|
182
|
+
hoistStatics: boolean;
|
|
183
|
+
delegateEvents: boolean;
|
|
184
|
+
delegatedEvents: string[];
|
|
185
|
+
optimizeControlFlow: boolean;
|
|
186
|
+
sourceMaps: boolean;
|
|
187
|
+
backend: "imperative" | "jsx";
|
|
188
|
+
};
|
|
189
|
+
}>;
|
|
190
|
+
/**
|
|
191
|
+
* Helper for creating a TypeScript transformer
|
|
192
|
+
*/
|
|
193
|
+
export declare function createTypeScriptTransformer(options?: CompilerOptions): (context: any) => (sourceFile: any) => any;
|
|
194
|
+
/**
|
|
195
|
+
* Create a Vite plugin for JSX transformation
|
|
196
|
+
*/
|
|
197
|
+
export declare function createVitePlugin<T>(options?: CompilerOptions): T;
|
|
198
|
+
/**
|
|
199
|
+
* Create a Webpack loader for JSX transformation
|
|
200
|
+
*/
|
|
201
|
+
export declare function createWebpackLoader(options?: CompilerOptions): (this: any, source: string) => Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Create a Rollup plugin for JSX transformation
|
|
204
|
+
*/
|
|
205
|
+
export declare function createRollupPlugin(options?: CompilerOptions): {
|
|
206
|
+
name: string;
|
|
207
|
+
transform(code: string, id: string): Promise<{
|
|
208
|
+
code: any;
|
|
209
|
+
map: any;
|
|
210
|
+
} | null>;
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Create an ESBuild plugin for JSX transformation
|
|
214
|
+
*/
|
|
215
|
+
export declare function createESBuildPlugin(options?: CompilerOptions): {
|
|
216
|
+
name: string;
|
|
217
|
+
setup(build: any): void;
|
|
218
|
+
};
|
|
219
|
+
export { transformServerFunctions } from './frontend/babel/server-functions.js';
|
|
220
|
+
/**
|
|
221
|
+
* Vite plugin for `"use server"`: applies the transform (client→RPC stub, server→register
|
|
222
|
+
* the body), and provides `virtual:fluixi-server-fns` — side-effect imports of every
|
|
223
|
+
* module that defines a server function. The server entry imports it so ALL server
|
|
224
|
+
* functions register at startup (including those in lazy routes, which would otherwise
|
|
225
|
+
* register only when their chunk loads → an RPC registry miss). The client never imports
|
|
226
|
+
* it. `enforce:'pre'` so it runs on the raw source before other transforms.
|
|
227
|
+
*/
|
|
228
|
+
export declare function serverFunctionsVitePlugin<T = any>(): T;
|
|
229
|
+
declare const _default: {
|
|
230
|
+
analyzeProp: typeof analyzeProp;
|
|
231
|
+
analyzeProps: typeof analyzeProps;
|
|
232
|
+
shouldUseLitTemplate: typeof shouldUseLitTemplate;
|
|
233
|
+
isLitTemplate: typeof isLitTemplate;
|
|
234
|
+
generateCreateElement: typeof generateCreateElement;
|
|
235
|
+
generatePropsCode: typeof generatePropsCode;
|
|
236
|
+
generateChildrenCode: typeof generateChildrenCode;
|
|
237
|
+
generateLitHTMLTemplate: typeof generateLitHTMLTemplate;
|
|
238
|
+
optimizeStatic: typeof optimizeStatic;
|
|
239
|
+
optimizeSpreads: typeof optimizeSpreads;
|
|
240
|
+
hoistStatic: typeof hoistStatic;
|
|
241
|
+
generateEventDelegation: typeof generateEventDelegation;
|
|
242
|
+
transform: typeof transform;
|
|
243
|
+
createBabelPlugin: typeof createBabelPlugin;
|
|
244
|
+
createTypeScriptTransformer: typeof createTypeScriptTransformer;
|
|
245
|
+
createVitePlugin: typeof createVitePlugin;
|
|
246
|
+
createWebpackLoader: typeof createWebpackLoader;
|
|
247
|
+
createRollupPlugin: typeof createRollupPlugin;
|
|
248
|
+
createESBuildPlugin: typeof createESBuildPlugin;
|
|
249
|
+
};
|
|
250
|
+
export default _default;
|
|
251
|
+
//# sourceMappingURL=integrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../src/integrations.ts"],"names":[],"mappings":"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"}
|