@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.
Files changed (74) hide show
  1. package/README.md +40 -0
  2. package/dist/cli.d.ts +12 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +372 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/core/src/Component.d.ts +131 -0
  7. package/dist/core/src/Component.d.ts.map +1 -0
  8. package/dist/core/src/Component.js +272 -0
  9. package/dist/core/src/Component.js.map +1 -0
  10. package/dist/core/src/Signals.d.ts +34 -0
  11. package/dist/core/src/Signals.d.ts.map +1 -0
  12. package/dist/core/src/Signals.js +222 -0
  13. package/dist/core/src/Signals.js.map +1 -0
  14. package/dist/core/src/Templating.d.ts +11 -0
  15. package/dist/core/src/Templating.d.ts.map +1 -0
  16. package/dist/core/src/Templating.js +81 -0
  17. package/dist/core/src/Templating.js.map +1 -0
  18. package/dist/core/src/factory/index.d.ts +20 -0
  19. package/dist/core/src/factory/index.d.ts.map +1 -0
  20. package/dist/core/src/factory/index.js +50 -0
  21. package/dist/core/src/factory/index.js.map +1 -0
  22. package/dist/core/src/index.d.ts +8 -0
  23. package/dist/core/src/index.d.ts.map +1 -0
  24. package/dist/core/src/index.js +9 -0
  25. package/dist/core/src/index.js.map +1 -0
  26. package/dist/core/src/jsx-runtime.d.ts +43 -0
  27. package/dist/core/src/jsx-runtime.d.ts.map +1 -0
  28. package/dist/core/src/jsx-runtime.js +469 -0
  29. package/dist/core/src/jsx-runtime.js.map +1 -0
  30. package/dist/core/src/messaging/index.d.ts +9 -0
  31. package/dist/core/src/messaging/index.d.ts.map +1 -0
  32. package/dist/core/src/messaging/index.js +37 -0
  33. package/dist/core/src/messaging/index.js.map +1 -0
  34. package/dist/core/src/models/index.d.ts +18 -0
  35. package/dist/core/src/models/index.d.ts.map +1 -0
  36. package/dist/core/src/models/index.js +12 -0
  37. package/dist/core/src/models/index.js.map +1 -0
  38. package/dist/core/src/sheet.d.ts +51 -0
  39. package/dist/core/src/sheet.d.ts.map +1 -0
  40. package/dist/core/src/sheet.js +151 -0
  41. package/dist/core/src/sheet.js.map +1 -0
  42. package/dist/core/src/stores/DefineInjectable.d.ts +5 -0
  43. package/dist/core/src/stores/DefineInjectable.d.ts.map +1 -0
  44. package/dist/core/src/stores/DefineInjectable.js +56 -0
  45. package/dist/core/src/stores/DefineInjectable.js.map +1 -0
  46. package/dist/core/src/stores/Store.d.ts +70 -0
  47. package/dist/core/src/stores/Store.d.ts.map +1 -0
  48. package/dist/core/src/stores/Store.js +180 -0
  49. package/dist/core/src/stores/Store.js.map +1 -0
  50. package/dist/core/src/styled.d.ts +15 -0
  51. package/dist/core/src/styled.d.ts.map +1 -0
  52. package/dist/core/src/styled.js +62 -0
  53. package/dist/core/src/styled.js.map +1 -0
  54. package/dist/core/src/utils/index.d.ts +5 -0
  55. package/dist/core/src/utils/index.d.ts.map +1 -0
  56. package/dist/core/src/utils/index.js +12 -0
  57. package/dist/core/src/utils/index.js.map +1 -0
  58. package/dist/hmr-plugin/src/index.d.ts +2 -0
  59. package/dist/hmr-plugin/src/index.d.ts.map +1 -0
  60. package/dist/hmr-plugin/src/index.js +59 -0
  61. package/dist/hmr-plugin/src/index.js.map +1 -0
  62. package/dist/hmr.d.ts +10 -0
  63. package/dist/hmr.d.ts.map +1 -0
  64. package/dist/hmr.js +99 -0
  65. package/dist/hmr.js.map +1 -0
  66. package/dist/index.d.ts +12 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +52 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/vite/src/index.d.ts +2 -0
  71. package/dist/vite/src/index.d.ts.map +1 -0
  72. package/dist/vite/src/index.js +59 -0
  73. package/dist/vite/src/index.js.map +1 -0
  74. 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,5 @@
1
+ export declare class Utils {
2
+ static isPromise(value: any): boolean;
3
+ }
4
+ export declare function guid(): string;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export declare function installHMRPlugin(): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"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"}
@@ -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,2 @@
1
+ export declare function installHMRPlugin(): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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
+ }