@llui/vite-plugin 0.0.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/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/collect-deps.d.ts +7 -0
- package/dist/collect-deps.d.ts.map +1 -0
- package/dist/collect-deps.js +267 -0
- package/dist/collect-deps.js.map +1 -0
- package/dist/diagnostics.d.ts +7 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +533 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/msg-schema.d.ts +9 -0
- package/dist/msg-schema.d.ts.map +1 -0
- package/dist/msg-schema.js +83 -0
- package/dist/msg-schema.js.map +1 -0
- package/dist/state-schema.d.ts +28 -0
- package/dist/state-schema.d.ts.map +1 -0
- package/dist/state-schema.js +108 -0
- package/dist/state-schema.js.map +1 -0
- package/dist/transform.d.ts +14 -0
- package/dist/transform.d.ts.map +1 -0
- package/dist/transform.js +1930 -0
- package/dist/transform.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export function extractMsgSchema(source) {
|
|
3
|
+
return extractDiscriminatedUnionSchema(source, 'Msg');
|
|
4
|
+
}
|
|
5
|
+
export function extractEffectSchema(source) {
|
|
6
|
+
return extractDiscriminatedUnionSchema(source, 'Effect');
|
|
7
|
+
}
|
|
8
|
+
function extractDiscriminatedUnionSchema(source, typeName) {
|
|
9
|
+
const sf = ts.createSourceFile('input.ts', source, ts.ScriptTarget.Latest, true);
|
|
10
|
+
for (const stmt of sf.statements) {
|
|
11
|
+
if (!ts.isTypeAliasDeclaration(stmt))
|
|
12
|
+
continue;
|
|
13
|
+
if (stmt.name.text !== typeName)
|
|
14
|
+
continue;
|
|
15
|
+
const variants = {};
|
|
16
|
+
collectVariants(stmt.type, variants);
|
|
17
|
+
if (Object.keys(variants).length === 0)
|
|
18
|
+
return null;
|
|
19
|
+
return { discriminant: 'type', variants };
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function collectVariants(type, variants) {
|
|
24
|
+
if (ts.isUnionTypeNode(type)) {
|
|
25
|
+
for (const member of type.types) {
|
|
26
|
+
collectVariants(member, variants);
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (ts.isTypeLiteralNode(type)) {
|
|
31
|
+
let discriminantValue = null;
|
|
32
|
+
const fields = {};
|
|
33
|
+
for (const member of type.members) {
|
|
34
|
+
if (!ts.isPropertySignature(member) || !member.name || !ts.isIdentifier(member.name))
|
|
35
|
+
continue;
|
|
36
|
+
const name = member.name.text;
|
|
37
|
+
const memberType = member.type;
|
|
38
|
+
if (name === 'type' && memberType) {
|
|
39
|
+
// Extract the discriminant value
|
|
40
|
+
if (ts.isLiteralTypeNode(memberType) && ts.isStringLiteral(memberType.literal)) {
|
|
41
|
+
discriminantValue = memberType.literal.text;
|
|
42
|
+
}
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (!memberType) {
|
|
46
|
+
fields[name] = 'unknown';
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
fields[name] = resolveFieldType(memberType);
|
|
50
|
+
}
|
|
51
|
+
if (discriminantValue) {
|
|
52
|
+
variants[discriminantValue] = fields;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function resolveFieldType(type) {
|
|
57
|
+
// Primitive keywords
|
|
58
|
+
if (type.kind === ts.SyntaxKind.StringKeyword)
|
|
59
|
+
return 'string';
|
|
60
|
+
if (type.kind === ts.SyntaxKind.NumberKeyword)
|
|
61
|
+
return 'number';
|
|
62
|
+
if (type.kind === ts.SyntaxKind.BooleanKeyword)
|
|
63
|
+
return 'boolean';
|
|
64
|
+
// String literal union: 'a' | 'b' | 'c'
|
|
65
|
+
if (ts.isUnionTypeNode(type)) {
|
|
66
|
+
const literals = [];
|
|
67
|
+
let allLiterals = true;
|
|
68
|
+
for (const member of type.types) {
|
|
69
|
+
if (ts.isLiteralTypeNode(member) && ts.isStringLiteral(member.literal)) {
|
|
70
|
+
literals.push(member.literal.text);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
allLiterals = false;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (allLiterals && literals.length > 0) {
|
|
78
|
+
return { enum: literals };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return 'unknown';
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=msg-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msg-schema.js","sourceRoot":"","sources":["../src/msg-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type StateType = 'string' | 'number' | 'boolean' | 'unknown' | {
|
|
2
|
+
kind: 'enum';
|
|
3
|
+
values: string[];
|
|
4
|
+
} | {
|
|
5
|
+
kind: 'array';
|
|
6
|
+
of: StateType;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'object';
|
|
9
|
+
fields: Record<string, StateType>;
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'optional';
|
|
12
|
+
of: StateType;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'union';
|
|
15
|
+
of: StateType[];
|
|
16
|
+
};
|
|
17
|
+
export interface StateSchema {
|
|
18
|
+
fields: Record<string, StateType>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Walk `type State = { … }` (or a type matching a user-provided name) and emit
|
|
22
|
+
* a JSON-serializable shape descriptor. Supports primitives, string-literal
|
|
23
|
+
* unions, arrays, nested objects, and `T | undefined` optional fields.
|
|
24
|
+
*
|
|
25
|
+
* Returns null if the named type isn't found or isn't a type literal.
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractStateSchema(source: string, typeName?: string): StateSchema | null;
|
|
28
|
+
//# sourceMappingURL=state-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-schema.d.ts","sourceRoot":"","sources":["../src/state-schema.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEtC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,WAAW,GAAG,IAAI,CA6BzF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
/**
|
|
3
|
+
* Walk `type State = { … }` (or a type matching a user-provided name) and emit
|
|
4
|
+
* a JSON-serializable shape descriptor. Supports primitives, string-literal
|
|
5
|
+
* unions, arrays, nested objects, and `T | undefined` optional fields.
|
|
6
|
+
*
|
|
7
|
+
* Returns null if the named type isn't found or isn't a type literal.
|
|
8
|
+
*/
|
|
9
|
+
export function extractStateSchema(source, typeName = 'State') {
|
|
10
|
+
const sf = ts.createSourceFile('input.ts', source, ts.ScriptTarget.Latest, true);
|
|
11
|
+
// Build a map of local type aliases so references like `Todo[]` resolve to
|
|
12
|
+
// the inline shape of `type Todo = { … }`.
|
|
13
|
+
const aliases = new Map();
|
|
14
|
+
for (const stmt of sf.statements) {
|
|
15
|
+
if (ts.isTypeAliasDeclaration(stmt)) {
|
|
16
|
+
aliases.set(stmt.name.text, stmt.type);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const stateType = aliases.get(typeName);
|
|
20
|
+
if (!stateType)
|
|
21
|
+
return null;
|
|
22
|
+
if (!ts.isTypeLiteralNode(stateType))
|
|
23
|
+
return null;
|
|
24
|
+
const fields = {};
|
|
25
|
+
for (const member of stateType.members) {
|
|
26
|
+
if (!ts.isPropertySignature(member) || !member.name || !ts.isIdentifier(member.name))
|
|
27
|
+
continue;
|
|
28
|
+
if (!member.type) {
|
|
29
|
+
fields[member.name.text] = 'unknown';
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
let t = resolve(member.type, aliases);
|
|
33
|
+
if (member.questionToken)
|
|
34
|
+
t = { kind: 'optional', of: t };
|
|
35
|
+
fields[member.name.text] = t;
|
|
36
|
+
}
|
|
37
|
+
return { fields };
|
|
38
|
+
}
|
|
39
|
+
function resolve(type, aliases) {
|
|
40
|
+
if (type.kind === ts.SyntaxKind.StringKeyword)
|
|
41
|
+
return 'string';
|
|
42
|
+
if (type.kind === ts.SyntaxKind.NumberKeyword)
|
|
43
|
+
return 'number';
|
|
44
|
+
if (type.kind === ts.SyntaxKind.BooleanKeyword)
|
|
45
|
+
return 'boolean';
|
|
46
|
+
// T[]
|
|
47
|
+
if (ts.isArrayTypeNode(type)) {
|
|
48
|
+
return { kind: 'array', of: resolve(type.elementType, aliases) };
|
|
49
|
+
}
|
|
50
|
+
// Array<T>
|
|
51
|
+
if (ts.isTypeReferenceNode(type) &&
|
|
52
|
+
ts.isIdentifier(type.typeName) &&
|
|
53
|
+
type.typeName.text === 'Array') {
|
|
54
|
+
const arg = type.typeArguments?.[0];
|
|
55
|
+
return { kind: 'array', of: arg ? resolve(arg, aliases) : 'unknown' };
|
|
56
|
+
}
|
|
57
|
+
// Object literal: { foo: bar }
|
|
58
|
+
if (ts.isTypeLiteralNode(type)) {
|
|
59
|
+
const fields = {};
|
|
60
|
+
for (const m of type.members) {
|
|
61
|
+
if (!ts.isPropertySignature(m) || !m.name || !ts.isIdentifier(m.name))
|
|
62
|
+
continue;
|
|
63
|
+
if (!m.type) {
|
|
64
|
+
fields[m.name.text] = 'unknown';
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
let t = resolve(m.type, aliases);
|
|
68
|
+
if (m.questionToken)
|
|
69
|
+
t = { kind: 'optional', of: t };
|
|
70
|
+
fields[m.name.text] = t;
|
|
71
|
+
}
|
|
72
|
+
return { kind: 'object', fields };
|
|
73
|
+
}
|
|
74
|
+
// Union: enum-of-strings, or general union, or T | undefined
|
|
75
|
+
if (ts.isUnionTypeNode(type)) {
|
|
76
|
+
// T | undefined → optional
|
|
77
|
+
const nonUndefined = type.types.filter((t) => !(t.kind === ts.SyntaxKind.UndefinedKeyword ||
|
|
78
|
+
(ts.isLiteralTypeNode(t) && t.literal.kind === ts.SyntaxKind.UndefinedKeyword)));
|
|
79
|
+
if (nonUndefined.length === type.types.length - 1 && nonUndefined.length === 1) {
|
|
80
|
+
return { kind: 'optional', of: resolve(nonUndefined[0], aliases) };
|
|
81
|
+
}
|
|
82
|
+
// String-literal union
|
|
83
|
+
const literals = [];
|
|
84
|
+
let allStringLiterals = true;
|
|
85
|
+
for (const m of type.types) {
|
|
86
|
+
if (ts.isLiteralTypeNode(m) && ts.isStringLiteral(m.literal)) {
|
|
87
|
+
literals.push(m.literal.text);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
allStringLiterals = false;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (allStringLiterals && literals.length > 0) {
|
|
95
|
+
return { kind: 'enum', values: literals };
|
|
96
|
+
}
|
|
97
|
+
// General union
|
|
98
|
+
return { kind: 'union', of: type.types.map((t) => resolve(t, aliases)) };
|
|
99
|
+
}
|
|
100
|
+
// Type reference: resolve via alias map if possible
|
|
101
|
+
if (ts.isTypeReferenceNode(type) && ts.isIdentifier(type.typeName)) {
|
|
102
|
+
const aliased = aliases.get(type.typeName.text);
|
|
103
|
+
if (aliased)
|
|
104
|
+
return resolve(aliased, aliases);
|
|
105
|
+
}
|
|
106
|
+
return 'unknown';
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=state-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-schema.js","sourceRoot":"","sources":["../src/state-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transform a source file containing @llui/dom imports.
|
|
3
|
+
* Returns the transformed source or null if no transformation needed.
|
|
4
|
+
*/
|
|
5
|
+
export interface TransformEdit {
|
|
6
|
+
start: number;
|
|
7
|
+
end: number;
|
|
8
|
+
replacement: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function transformLlui(source: string, _filename: string, devMode?: boolean, mcpPort?: number | null): {
|
|
11
|
+
output: string;
|
|
12
|
+
edits: TransformEdit[];
|
|
13
|
+
} | null;
|
|
14
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAoHA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,UAAQ,EACf,OAAO,GAAE,MAAM,GAAG,IAAW,GAC5B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,EAAE,CAAA;CAAE,GAAG,IAAI,CAiNnD"}
|