@sigx/vite 0.1.0
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 +40 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +372 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/src/Component.d.ts +131 -0
- package/dist/core/src/Component.d.ts.map +1 -0
- package/dist/core/src/Component.js +272 -0
- package/dist/core/src/Component.js.map +1 -0
- package/dist/core/src/Signals.d.ts +34 -0
- package/dist/core/src/Signals.d.ts.map +1 -0
- package/dist/core/src/Signals.js +222 -0
- package/dist/core/src/Signals.js.map +1 -0
- package/dist/core/src/Templating.d.ts +11 -0
- package/dist/core/src/Templating.d.ts.map +1 -0
- package/dist/core/src/Templating.js +81 -0
- package/dist/core/src/Templating.js.map +1 -0
- package/dist/core/src/factory/index.d.ts +20 -0
- package/dist/core/src/factory/index.d.ts.map +1 -0
- package/dist/core/src/factory/index.js +50 -0
- package/dist/core/src/factory/index.js.map +1 -0
- package/dist/core/src/index.d.ts +8 -0
- package/dist/core/src/index.d.ts.map +1 -0
- package/dist/core/src/index.js +9 -0
- package/dist/core/src/index.js.map +1 -0
- package/dist/core/src/jsx-runtime.d.ts +43 -0
- package/dist/core/src/jsx-runtime.d.ts.map +1 -0
- package/dist/core/src/jsx-runtime.js +469 -0
- package/dist/core/src/jsx-runtime.js.map +1 -0
- package/dist/core/src/messaging/index.d.ts +9 -0
- package/dist/core/src/messaging/index.d.ts.map +1 -0
- package/dist/core/src/messaging/index.js +37 -0
- package/dist/core/src/messaging/index.js.map +1 -0
- package/dist/core/src/models/index.d.ts +18 -0
- package/dist/core/src/models/index.d.ts.map +1 -0
- package/dist/core/src/models/index.js +12 -0
- package/dist/core/src/models/index.js.map +1 -0
- package/dist/core/src/sheet.d.ts +51 -0
- package/dist/core/src/sheet.d.ts.map +1 -0
- package/dist/core/src/sheet.js +151 -0
- package/dist/core/src/sheet.js.map +1 -0
- package/dist/core/src/stores/DefineInjectable.d.ts +5 -0
- package/dist/core/src/stores/DefineInjectable.d.ts.map +1 -0
- package/dist/core/src/stores/DefineInjectable.js +56 -0
- package/dist/core/src/stores/DefineInjectable.js.map +1 -0
- package/dist/core/src/stores/Store.d.ts +70 -0
- package/dist/core/src/stores/Store.d.ts.map +1 -0
- package/dist/core/src/stores/Store.js +180 -0
- package/dist/core/src/stores/Store.js.map +1 -0
- package/dist/core/src/styled.d.ts +15 -0
- package/dist/core/src/styled.d.ts.map +1 -0
- package/dist/core/src/styled.js +62 -0
- package/dist/core/src/styled.js.map +1 -0
- package/dist/core/src/utils/index.d.ts +5 -0
- package/dist/core/src/utils/index.d.ts.map +1 -0
- package/dist/core/src/utils/index.js +12 -0
- package/dist/core/src/utils/index.js.map +1 -0
- package/dist/hmr-plugin/src/index.d.ts +2 -0
- package/dist/hmr-plugin/src/index.d.ts.map +1 -0
- package/dist/hmr-plugin/src/index.js +59 -0
- package/dist/hmr-plugin/src/index.js.map +1 -0
- package/dist/hmr.d.ts +10 -0
- package/dist/hmr.d.ts.map +1 -0
- package/dist/hmr.js +99 -0
- package/dist/hmr.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/vite/src/index.d.ts +2 -0
- package/dist/vite/src/index.d.ts.map +1 -0
- package/dist/vite/src/index.js +59 -0
- package/dist/vite/src/index.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../../../core/src/stores/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JSXElement } from "./jsx-runtime.js";
|
|
2
|
+
type StyledComponent<P> = (props: P & {
|
|
3
|
+
class?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
children?: any;
|
|
6
|
+
}) => JSXElement;
|
|
7
|
+
type StyledFunction<P> = (strings: TemplateStringsArray, ...values: any[]) => StyledComponent<P>;
|
|
8
|
+
type StyledInterface = {
|
|
9
|
+
[Tag in keyof JSX.IntrinsicElements]: StyledFunction<JSX.IntrinsicElements[Tag]>;
|
|
10
|
+
} & {
|
|
11
|
+
<P>(tag: string | ((props: P) => JSXElement)): StyledFunction<P>;
|
|
12
|
+
};
|
|
13
|
+
export declare const styled: StyledInterface;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../core/src/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcnD,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,KAAK,UAAU,CAAC;AAE5G,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAEjG,KAAK,eAAe,GAAG;KAClB,GAAG,IAAI,MAAM,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;CACnF,GAAG;IACA,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AA2DF,eAAO,MAAM,MAAM,iBAAc,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { adoptStyles } from "./Component.js";
|
|
2
|
+
import { jsx } from "./jsx-runtime.js";
|
|
3
|
+
// Simple hash function for class names
|
|
4
|
+
function hash(str) {
|
|
5
|
+
let hash = 5381;
|
|
6
|
+
let i = str.length;
|
|
7
|
+
while (i) {
|
|
8
|
+
hash = (hash * 33) ^ str.charCodeAt(--i);
|
|
9
|
+
}
|
|
10
|
+
return (hash >>> 0).toString(36);
|
|
11
|
+
}
|
|
12
|
+
let counter = 0;
|
|
13
|
+
const styledProxy = new Proxy({}, {
|
|
14
|
+
get(_target, tag) {
|
|
15
|
+
return (strings, ...values) => {
|
|
16
|
+
const cssText = strings.reduce((acc, str, i) => acc + str + (values[i] || ""), "");
|
|
17
|
+
// Generate unique class name
|
|
18
|
+
const className = `v-sc-${hash(cssText)}-${counter++}`;
|
|
19
|
+
// Create stylesheet with the class wrapper
|
|
20
|
+
// We wrap the rules in the class selector.
|
|
21
|
+
let finalCss = cssText;
|
|
22
|
+
if (finalCss.includes('&')) {
|
|
23
|
+
finalCss = finalCss.replace(/&/g, `.${className}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
finalCss = `.${className} { ${cssText} }`;
|
|
27
|
+
}
|
|
28
|
+
const sheet = new CSSStyleSheet();
|
|
29
|
+
sheet.replaceSync(finalCss);
|
|
30
|
+
return (props) => {
|
|
31
|
+
adoptStyles(sheet);
|
|
32
|
+
const { class: cls, className: clsName, children, ...rest } = props;
|
|
33
|
+
const combinedClass = [className, cls, clsName].filter(Boolean).join(" ");
|
|
34
|
+
return jsx(tag, { ...rest, class: combinedClass, children });
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
apply(_target, _thisArg, args) {
|
|
39
|
+
const tag = args[0];
|
|
40
|
+
return (strings, ...values) => {
|
|
41
|
+
const cssText = strings.reduce((acc, str, i) => acc + str + (values[i] || ""), "");
|
|
42
|
+
const className = `v-sc-${hash(cssText)}-${counter++}`;
|
|
43
|
+
let finalCss = cssText;
|
|
44
|
+
if (finalCss.includes('&')) {
|
|
45
|
+
finalCss = finalCss.replace(/&/g, `.${className}`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
finalCss = `.${className} { ${cssText} }`;
|
|
49
|
+
}
|
|
50
|
+
const sheet = new CSSStyleSheet();
|
|
51
|
+
sheet.replaceSync(finalCss);
|
|
52
|
+
return (props) => {
|
|
53
|
+
adoptStyles(sheet);
|
|
54
|
+
const { class: cls, className: clsName, children, ...rest } = props;
|
|
55
|
+
const combinedClass = [className, cls, clsName].filter(Boolean).join(" ");
|
|
56
|
+
return jsx(tag, { ...rest, class: combinedClass, children });
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
export const styled = styledProxy;
|
|
62
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../../core/src/styled.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../core/src/utils/index.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;IACd,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAGxC;AAED,wBAAgB,IAAI,IAAI,MAAM,CAK7B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class Utils {
|
|
2
|
+
static isPromise(value) {
|
|
3
|
+
return !!value && (typeof value === 'object' || typeof value === 'function') && typeof value.then === 'function';
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export function guid() {
|
|
7
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
8
|
+
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
9
|
+
return v.toString(16);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../core/src/utils/index.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IACd,MAAM,CAAC,SAAS,CAAC,KAAU;QACvB,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;IACrH,CAAC;CACJ;AAED,MAAM,UAAU,IAAI;IAChB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACtE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAWA,wBAAgB,gBAAgB,IAAI,IAAI,CAwDvC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// HMR plugin for @viewti/core
|
|
2
|
+
import { registerComponentPlugin } from '../../core/src/index.js';
|
|
3
|
+
const componentRegistry = new Map();
|
|
4
|
+
// HMR Plugin for development
|
|
5
|
+
export function installHMRPlugin() {
|
|
6
|
+
registerComponentPlugin({
|
|
7
|
+
onDefine(tagName, setup) {
|
|
8
|
+
const existingEntry = componentRegistry.get(tagName);
|
|
9
|
+
if (existingEntry) {
|
|
10
|
+
// HMR update: replace setup and reload instances
|
|
11
|
+
existingEntry.setup = setup;
|
|
12
|
+
existingEntry.instances.forEach(instance => {
|
|
13
|
+
instance.__floeHotReload?.();
|
|
14
|
+
});
|
|
15
|
+
return true; // Handled by plugin
|
|
16
|
+
}
|
|
17
|
+
// First time registration - store for future HMR
|
|
18
|
+
componentRegistry.set(tagName, {
|
|
19
|
+
setup,
|
|
20
|
+
instances: new Set()
|
|
21
|
+
});
|
|
22
|
+
return false; // Let core handle actual registration
|
|
23
|
+
},
|
|
24
|
+
onConnect(tagName, instance) {
|
|
25
|
+
const entry = componentRegistry.get(tagName);
|
|
26
|
+
if (entry) {
|
|
27
|
+
entry.instances.add(instance);
|
|
28
|
+
// Inject hot reload capability
|
|
29
|
+
instance.__floeHotReload = () => {
|
|
30
|
+
const shadow = instance.shadowRoot;
|
|
31
|
+
// Clean up old effects
|
|
32
|
+
const cleanupCallbacks = instance._cleanupCallbacks || [];
|
|
33
|
+
cleanupCallbacks.forEach((fn) => {
|
|
34
|
+
fn({ el: instance, shadow });
|
|
35
|
+
});
|
|
36
|
+
const dispose = instance._dispose;
|
|
37
|
+
if (dispose)
|
|
38
|
+
dispose();
|
|
39
|
+
// Reset and re-init
|
|
40
|
+
instance._mountCallbacks = [];
|
|
41
|
+
instance._cleanupCallbacks = [];
|
|
42
|
+
instance._init();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
onDisconnect(tagName, instance) {
|
|
47
|
+
const entry = componentRegistry.get(tagName);
|
|
48
|
+
if (entry) {
|
|
49
|
+
entry.instances.delete(instance);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
// Auto-install in development
|
|
55
|
+
if (import.meta.hot) {
|
|
56
|
+
installHMRPlugin();
|
|
57
|
+
import.meta.hot.accept();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,uBAAuB,EAAiE,MAAM,yBAAyB,CAAC;AAOjI,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAE5D,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB;IAC5B,uBAAuB,CAAC;QACpB,QAAQ,CAAC,OAAe,EAAE,KAA6C;YACnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,aAAa,EAAE,CAAC;gBAChB,iDAAiD;gBACjD,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACtC,QAAgB,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,CAAC,oBAAoB;YACrC,CAAC;YAED,iDAAiD;YACjD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC3B,KAAK;gBACL,SAAS,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,CAAC,sCAAsC;QACxD,CAAC;QAED,SAAS,CAAC,OAAe,EAAE,QAAqB;YAC5C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE9B,+BAA+B;gBAC9B,QAAgB,CAAC,eAAe,GAAG,GAAG,EAAE;oBACrC,MAAM,MAAM,GAAI,QAAgB,CAAC,UAAU,CAAC;oBAE5C,uBAAuB;oBACvB,MAAM,gBAAgB,GAAI,QAAgB,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;wBACjC,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;oBAEH,MAAM,OAAO,GAAI,QAAgB,CAAC,QAAQ,CAAC;oBAC3C,IAAI,OAAO;wBAAE,OAAO,EAAE,CAAC;oBAEvB,oBAAoB;oBACnB,QAAgB,CAAC,eAAe,GAAG,EAAE,CAAC;oBACtC,QAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBACxC,QAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC,CAAC;YACN,CAAC;QACL,CAAC;QAED,YAAY,CAAC,OAAe,EAAE,QAAqB;YAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,8BAA8B;AAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|
package/dist/hmr.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register the current module for HMR tracking.
|
|
3
|
+
* Called at the top of each transformed module.
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerHMRModule(moduleId: string): void;
|
|
6
|
+
/**
|
|
7
|
+
* Install the HMR plugin. Called once on first module load.
|
|
8
|
+
*/
|
|
9
|
+
export declare function installHMRPlugin(): void;
|
|
10
|
+
//# sourceMappingURL=hmr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIxD;AAcD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAuEvC"}
|
package/dist/hmr.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// HMR runtime for sigx - runs in the browser
|
|
2
|
+
import { registerComponentPlugin, signal } from 'sigx';
|
|
3
|
+
// Track instances by component ID (moduleId:index)
|
|
4
|
+
const instancesByComponentId = new Map();
|
|
5
|
+
// Track component definition order within each module
|
|
6
|
+
const moduleComponentIndex = new Map();
|
|
7
|
+
// Current module being registered
|
|
8
|
+
let currentModuleId = null;
|
|
9
|
+
let installed = false;
|
|
10
|
+
/**
|
|
11
|
+
* Register the current module for HMR tracking.
|
|
12
|
+
* Called at the top of each transformed module.
|
|
13
|
+
*/
|
|
14
|
+
export function registerHMRModule(moduleId) {
|
|
15
|
+
currentModuleId = moduleId;
|
|
16
|
+
// Reset the component index for this module (start fresh on re-execution)
|
|
17
|
+
moduleComponentIndex.set(moduleId, 0);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the next component ID for the current module
|
|
21
|
+
*/
|
|
22
|
+
function getNextComponentId() {
|
|
23
|
+
if (!currentModuleId)
|
|
24
|
+
return null;
|
|
25
|
+
const index = moduleComponentIndex.get(currentModuleId) || 0;
|
|
26
|
+
moduleComponentIndex.set(currentModuleId, index + 1);
|
|
27
|
+
return `${currentModuleId}:${index}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Install the HMR plugin. Called once on first module load.
|
|
31
|
+
*/
|
|
32
|
+
export function installHMRPlugin() {
|
|
33
|
+
if (installed)
|
|
34
|
+
return;
|
|
35
|
+
installed = true;
|
|
36
|
+
registerComponentPlugin({
|
|
37
|
+
onDefine(name, factory, setup) {
|
|
38
|
+
const componentId = getNextComponentId();
|
|
39
|
+
if (!componentId)
|
|
40
|
+
return;
|
|
41
|
+
// Store the component ID on the factory for debugging
|
|
42
|
+
factory.__hmrId = componentId;
|
|
43
|
+
// Check for existing instances with this component ID
|
|
44
|
+
const existingInstances = instancesByComponentId.get(componentId);
|
|
45
|
+
if (existingInstances && existingInstances.size > 0) {
|
|
46
|
+
// HMR update: update all existing instances with new setup/render function
|
|
47
|
+
existingInstances.forEach(instance => {
|
|
48
|
+
try {
|
|
49
|
+
// Re-run the NEW setup with the existing context to get new render fn
|
|
50
|
+
const newRenderFn = setup(instance.ctx);
|
|
51
|
+
// Update the signal - this will trigger the effect to re-run
|
|
52
|
+
instance.renderFnSignal.fn = newRenderFn;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error(`[sigx] HMR failed for ${name || 'component'}:`, e);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Wrap setup to track instances
|
|
60
|
+
const originalSetup = setup;
|
|
61
|
+
factory.__setup = (ctx) => {
|
|
62
|
+
// Run the original setup
|
|
63
|
+
const currentRenderFn = originalSetup(ctx);
|
|
64
|
+
// Create a reactive signal for the render function
|
|
65
|
+
// When this changes, the effect that reads it will re-run
|
|
66
|
+
const renderFnSignal = signal({ fn: currentRenderFn });
|
|
67
|
+
const instance = {
|
|
68
|
+
ctx,
|
|
69
|
+
renderFnSignal
|
|
70
|
+
};
|
|
71
|
+
// Register instance by component ID
|
|
72
|
+
let instances = instancesByComponentId.get(componentId);
|
|
73
|
+
if (!instances) {
|
|
74
|
+
instances = new Set();
|
|
75
|
+
instancesByComponentId.set(componentId, instances);
|
|
76
|
+
}
|
|
77
|
+
instances.add(instance);
|
|
78
|
+
// Cleanup on unmount
|
|
79
|
+
ctx.onCleanup(() => {
|
|
80
|
+
const instances = instancesByComponentId.get(componentId);
|
|
81
|
+
if (instances)
|
|
82
|
+
instances.delete(instance);
|
|
83
|
+
});
|
|
84
|
+
// Return wrapper render function that reads from the signal
|
|
85
|
+
// This creates a dependency so the effect will re-run when fn changes
|
|
86
|
+
return () => {
|
|
87
|
+
const fn = renderFnSignal.fn;
|
|
88
|
+
if (typeof fn === 'function') {
|
|
89
|
+
return fn();
|
|
90
|
+
}
|
|
91
|
+
return undefined;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// Auto-install when this module is loaded
|
|
98
|
+
installHMRPlugin();
|
|
99
|
+
//# sourceMappingURL=hmr.js.map
|
package/dist/hmr.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
interface SigxPluginOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Enable HMR support
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
hmr?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function sigxPlugin(options?: SigxPluginOptions): Plugin;
|
|
10
|
+
export { installHMRPlugin, registerHMRModule } from './hmr.js';
|
|
11
|
+
export default sigxPlugin;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,MAAM,CAAC;AAMlE,UAAU,iBAAiB;IACvB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAoDlE;AAOD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG/D,eAAe,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Vite Plugin
|
|
3
|
+
// ============================================================================
|
|
4
|
+
export function sigxPlugin(options = {}) {
|
|
5
|
+
const { hmr = true, } = options;
|
|
6
|
+
let config;
|
|
7
|
+
return {
|
|
8
|
+
name: 'sigx',
|
|
9
|
+
enforce: 'pre',
|
|
10
|
+
configResolved(resolvedConfig) {
|
|
11
|
+
config = resolvedConfig;
|
|
12
|
+
},
|
|
13
|
+
transform(code, id) {
|
|
14
|
+
// Only process .tsx/.ts files
|
|
15
|
+
if (!/\.(tsx?|jsx?)$/.test(id)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
// Skip node_modules
|
|
19
|
+
if (id.includes('node_modules')) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
// Check if this file contains defineComponent
|
|
23
|
+
const hasComponent = /defineComponent\s*[<(]/.test(code);
|
|
24
|
+
// Inject HMR code in dev mode for files with components
|
|
25
|
+
if (hmr && config.command === 'serve' && hasComponent) {
|
|
26
|
+
// Create a module ID for HMR tracking
|
|
27
|
+
const moduleId = id.replace(/\\/g, '/');
|
|
28
|
+
// Inject HMR runtime import and module registration at the top
|
|
29
|
+
const hmrImport = `import { registerHMRModule } from '@sigx/vite/hmr';\nregisterHMRModule('${moduleId}');\n`;
|
|
30
|
+
// Add HMR accept handler at the bottom
|
|
31
|
+
const hmrCode = `
|
|
32
|
+
if (import.meta.hot) {
|
|
33
|
+
import.meta.hot.accept();
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
return {
|
|
37
|
+
code: hmrImport + code + hmrCode,
|
|
38
|
+
map: null
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// HMR Runtime Plugin (for browser)
|
|
47
|
+
// ============================================================================
|
|
48
|
+
// Re-export the HMR runtime functions for manual use if needed
|
|
49
|
+
export { installHMRPlugin, registerHMRModule } from './hmr.js';
|
|
50
|
+
// Default export for convenience
|
|
51
|
+
export default sigxPlugin;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,UAAU,UAAU,CAAC,UAA6B,EAAE;IACtD,MAAM,EACF,GAAG,GAAG,IAAI,GACb,GAAG,OAAO,CAAC;IAEZ,IAAI,MAAsB,CAAC;IAE3B,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;QAEd,cAAc,CAAC,cAAc;YACzB,MAAM,GAAG,cAAc,CAAC;QAC5B,CAAC;QAED,SAAS,CAAC,IAAI,EAAE,EAAE;YACd,8BAA8B;YAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,oBAAoB;YACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,8CAA8C;YAC9C,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzD,wDAAwD;YACxD,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;gBACpD,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAExC,+DAA+D;gBAC/D,MAAM,SAAS,GAAG,2EAA2E,QAAQ,OAAO,CAAC;gBAE7G,uCAAuC;gBACvC,MAAM,OAAO,GAAG;;;;CAI/B,CAAC;gBACc,OAAO;oBACH,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO;oBAChC,GAAG,EAAE,IAAI;iBACZ,CAAC;YACN,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,iCAAiC;AACjC,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAWA,wBAAgB,gBAAgB,IAAI,IAAI,CAwDvC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// HMR plugin for @sigx/core
|
|
2
|
+
import { registerComponentPlugin } from '@sigx/core';
|
|
3
|
+
const componentRegistry = new Map();
|
|
4
|
+
// HMR Plugin for development
|
|
5
|
+
export function installHMRPlugin() {
|
|
6
|
+
registerComponentPlugin({
|
|
7
|
+
onDefine(tagName, setup) {
|
|
8
|
+
const existingEntry = componentRegistry.get(tagName);
|
|
9
|
+
if (existingEntry) {
|
|
10
|
+
// HMR update: replace setup and reload instances
|
|
11
|
+
existingEntry.setup = setup;
|
|
12
|
+
existingEntry.instances.forEach(instance => {
|
|
13
|
+
instance.__sigxHotReload?.();
|
|
14
|
+
});
|
|
15
|
+
return true; // Handled by plugin
|
|
16
|
+
}
|
|
17
|
+
// First time registration - store for future HMR
|
|
18
|
+
componentRegistry.set(tagName, {
|
|
19
|
+
setup,
|
|
20
|
+
instances: new Set()
|
|
21
|
+
});
|
|
22
|
+
return false; // Let core handle actual registration
|
|
23
|
+
},
|
|
24
|
+
onConnect(tagName, instance) {
|
|
25
|
+
const entry = componentRegistry.get(tagName);
|
|
26
|
+
if (entry) {
|
|
27
|
+
entry.instances.add(instance);
|
|
28
|
+
// Inject hot reload capability
|
|
29
|
+
instance.__sigxHotReload = () => {
|
|
30
|
+
const shadow = instance.shadowRoot;
|
|
31
|
+
// Clean up old effects
|
|
32
|
+
const cleanupCallbacks = instance._cleanupCallbacks || [];
|
|
33
|
+
cleanupCallbacks.forEach((fn) => {
|
|
34
|
+
fn({ el: instance, shadow });
|
|
35
|
+
});
|
|
36
|
+
const dispose = instance._dispose;
|
|
37
|
+
if (dispose)
|
|
38
|
+
dispose();
|
|
39
|
+
// Reset and re-init
|
|
40
|
+
instance._mountCallbacks = [];
|
|
41
|
+
instance._cleanupCallbacks = [];
|
|
42
|
+
instance._init();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
onDisconnect(tagName, instance) {
|
|
47
|
+
const entry = componentRegistry.get(tagName);
|
|
48
|
+
if (entry) {
|
|
49
|
+
entry.instances.delete(instance);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
// Auto-install in development
|
|
55
|
+
if (import.meta.hot) {
|
|
56
|
+
installHMRPlugin();
|
|
57
|
+
import.meta.hot.accept();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAiE,MAAM,YAAY,CAAC;AAOpH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAE5D,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB;IAC5B,uBAAuB,CAAC;QACpB,QAAQ,CAAC,OAAe,EAAE,KAA6C;YACnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,aAAa,EAAE,CAAC;gBAChB,iDAAiD;gBACjD,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACtC,QAAgB,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,CAAC,oBAAoB;YACrC,CAAC;YAED,iDAAiD;YACjD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC3B,KAAK;gBACL,SAAS,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,CAAC,sCAAsC;QACxD,CAAC;QAED,SAAS,CAAC,OAAe,EAAE,QAAqB;YAC5C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE9B,+BAA+B;gBAC9B,QAAgB,CAAC,eAAe,GAAG,GAAG,EAAE;oBACrC,MAAM,MAAM,GAAI,QAAgB,CAAC,UAAU,CAAC;oBAE5C,uBAAuB;oBACvB,MAAM,gBAAgB,GAAI,QAAgB,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;wBACjC,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;oBAEH,MAAM,OAAO,GAAI,QAAgB,CAAC,QAAQ,CAAC;oBAC3C,IAAI,OAAO;wBAAE,OAAO,EAAE,CAAC;oBAEvB,oBAAoB;oBACnB,QAAgB,CAAC,eAAe,GAAG,EAAE,CAAC;oBACtC,QAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBACxC,QAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC,CAAC;YACN,CAAC;QACL,CAAC;QAED,YAAY,CAAC,OAAe,EAAE,QAAqB;YAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,8BAA8B;AAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sigx/vite",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Vite plugin for SignalX Framework with HMR and automatic type generation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./hmr": {
|
|
14
|
+
"import": "./dist/hmr.js",
|
|
15
|
+
"types": "./dist/hmr.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc",
|
|
23
|
+
"dev": "tsc --watch"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"sigx": "*",
|
|
27
|
+
"vite": ">=5.0.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@types/node": "^22.19.1",
|
|
31
|
+
"vite": "^7.2.4"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"sigx",
|
|
35
|
+
"hmr",
|
|
36
|
+
"hot-reload",
|
|
37
|
+
"vite",
|
|
38
|
+
"vite-plugin",
|
|
39
|
+
"custom-elements",
|
|
40
|
+
"web-components"
|
|
41
|
+
],
|
|
42
|
+
"author": "Andreas Ekdahl",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"repository": {
|
|
45
|
+
"type": "git",
|
|
46
|
+
"url": "git+https://github.com/signalxjs/core.git",
|
|
47
|
+
"directory": "packages/vite"
|
|
48
|
+
},
|
|
49
|
+
"homepage": "https://github.com/signalxjs",
|
|
50
|
+
"bugs": {
|
|
51
|
+
"url": "https://github.com/signalxjs/core/issues"
|
|
52
|
+
}
|
|
53
|
+
}
|