zylaris 1.0.2 → 1.0.4

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 (140) hide show
  1. package/dist/components.d.ts +73 -0
  2. package/dist/components.d.ts.map +1 -0
  3. package/dist/components.js +90 -0
  4. package/dist/components.js.map +1 -0
  5. package/dist/components.test.d.ts +2 -0
  6. package/dist/components.test.d.ts.map +1 -0
  7. package/dist/components.test.js +113 -0
  8. package/dist/components.test.js.map +1 -0
  9. package/dist/config.d.ts +143 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +80 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/hooks.d.ts +30 -0
  14. package/dist/hooks.d.ts.map +1 -0
  15. package/dist/hooks.js +109 -0
  16. package/dist/hooks.js.map +1 -0
  17. package/dist/index.d.ts +10 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +14 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/jsx-runtime.d.ts +13 -0
  22. package/dist/jsx-runtime.d.ts.map +1 -0
  23. package/dist/jsx-runtime.js +17 -0
  24. package/dist/jsx-runtime.js.map +1 -0
  25. package/package.json +46 -25
  26. package/LICENSE +0 -21
  27. package/README.md +0 -558
  28. package/Zylaris.js.png +0 -0
  29. package/examples/default/index.html +0 -13
  30. package/examples/default/package.json +0 -23
  31. package/examples/default/src/app/about/page.tsx +0 -18
  32. package/examples/default/src/app/counter/page.tsx +0 -22
  33. package/examples/default/src/app/global.css +0 -225
  34. package/examples/default/src/app/layout.tsx +0 -33
  35. package/examples/default/src/app/page.tsx +0 -14
  36. package/examples/default/src/entry-client.tsx +0 -87
  37. package/examples/default/src/entry-server.tsx +0 -52
  38. package/examples/default/src/router.ts +0 -60
  39. package/examples/default/tsconfig.json +0 -28
  40. package/examples/default/zylaris.config.ts +0 -24
  41. package/packages/adapter/package.json +0 -59
  42. package/packages/adapter/src/adapters/bun.ts +0 -215
  43. package/packages/adapter/src/adapters/cloudflare.ts +0 -278
  44. package/packages/adapter/src/adapters/deno.ts +0 -219
  45. package/packages/adapter/src/adapters/netlify.ts +0 -274
  46. package/packages/adapter/src/adapters/node.ts +0 -155
  47. package/packages/adapter/src/adapters/static.ts +0 -134
  48. package/packages/adapter/src/adapters/vercel.ts +0 -239
  49. package/packages/adapter/src/index.ts +0 -115
  50. package/packages/adapter/src/lib/builder.ts +0 -361
  51. package/packages/adapter/src/types.ts +0 -191
  52. package/packages/adapter/tsconfig.json +0 -8
  53. package/packages/cli/package.json +0 -43
  54. package/packages/cli/src/bin.ts +0 -107
  55. package/packages/cli/src/commands/build.ts +0 -197
  56. package/packages/cli/src/commands/create.ts +0 -222
  57. package/packages/cli/src/commands/deploy.ts +0 -90
  58. package/packages/cli/src/commands/dev.ts +0 -108
  59. package/packages/cli/src/index.ts +0 -6
  60. package/packages/cli/tsconfig.json +0 -9
  61. package/packages/compiler/package.json +0 -39
  62. package/packages/compiler/src/index.ts +0 -210
  63. package/packages/compiler/src/jit.ts +0 -187
  64. package/packages/compiler/tsconfig.json +0 -9
  65. package/packages/core/package.json +0 -55
  66. package/packages/core/src/components.test.ts +0 -125
  67. package/packages/core/src/components.ts +0 -181
  68. package/packages/core/src/config.ts +0 -204
  69. package/packages/core/src/hooks.ts +0 -142
  70. package/packages/core/src/index.ts +0 -59
  71. package/packages/core/src/jsx-runtime.ts +0 -46
  72. package/packages/core/tsconfig.json +0 -16
  73. package/packages/dev-server/package.json +0 -51
  74. package/packages/dev-server/src/index.ts +0 -306
  75. package/packages/dev-server/src/jit-middleware.ts +0 -78
  76. package/packages/dev-server/tsconfig.json +0 -9
  77. package/packages/plugins/package.json +0 -44
  78. package/packages/plugins/src/cdn/loader.ts +0 -275
  79. package/packages/plugins/src/index.ts +0 -238
  80. package/packages/plugins/src/loaders/auto-import.ts +0 -219
  81. package/packages/plugins/src/loaders/external.ts +0 -332
  82. package/packages/plugins/src/transforms/index.ts +0 -407
  83. package/packages/plugins/src/types.ts +0 -296
  84. package/packages/plugins/tsconfig.json +0 -8
  85. package/packages/reactivity/package.json +0 -36
  86. package/packages/reactivity/src/computed.d.ts +0 -3
  87. package/packages/reactivity/src/computed.d.ts.map +0 -1
  88. package/packages/reactivity/src/computed.js +0 -64
  89. package/packages/reactivity/src/computed.js.map +0 -1
  90. package/packages/reactivity/src/computed.test.ts +0 -83
  91. package/packages/reactivity/src/computed.ts +0 -69
  92. package/packages/reactivity/src/index.d.ts +0 -6
  93. package/packages/reactivity/src/index.d.ts.map +0 -1
  94. package/packages/reactivity/src/index.js +0 -7
  95. package/packages/reactivity/src/index.js.map +0 -1
  96. package/packages/reactivity/src/index.ts +0 -18
  97. package/packages/reactivity/src/resource.d.ts +0 -6
  98. package/packages/reactivity/src/resource.d.ts.map +0 -1
  99. package/packages/reactivity/src/resource.js +0 -43
  100. package/packages/reactivity/src/resource.js.map +0 -1
  101. package/packages/reactivity/src/resource.test.ts +0 -70
  102. package/packages/reactivity/src/resource.ts +0 -59
  103. package/packages/reactivity/src/signal.d.ts +0 -7
  104. package/packages/reactivity/src/signal.d.ts.map +0 -1
  105. package/packages/reactivity/src/signal.js +0 -145
  106. package/packages/reactivity/src/signal.js.map +0 -1
  107. package/packages/reactivity/src/signal.test.ts +0 -130
  108. package/packages/reactivity/src/signal.ts +0 -207
  109. package/packages/reactivity/src/store.d.ts +0 -4
  110. package/packages/reactivity/src/store.d.ts.map +0 -1
  111. package/packages/reactivity/src/store.js +0 -62
  112. package/packages/reactivity/src/store.js.map +0 -1
  113. package/packages/reactivity/src/store.test.ts +0 -38
  114. package/packages/reactivity/src/store.ts +0 -111
  115. package/packages/reactivity/src/types.d.ts +0 -43
  116. package/packages/reactivity/src/types.d.ts.map +0 -1
  117. package/packages/reactivity/src/types.js +0 -3
  118. package/packages/reactivity/src/types.js.map +0 -1
  119. package/packages/reactivity/src/types.ts +0 -43
  120. package/packages/reactivity/tsconfig.json +0 -9
  121. package/packages/router/package.json +0 -44
  122. package/packages/router/src/components.tsx +0 -150
  123. package/packages/router/src/fs-router.ts +0 -163
  124. package/packages/router/src/index.ts +0 -22
  125. package/packages/router/src/router.test.ts +0 -111
  126. package/packages/router/src/router.ts +0 -112
  127. package/packages/router/src/types.ts +0 -69
  128. package/packages/router/tsconfig.json +0 -10
  129. package/packages/server/package.json +0 -41
  130. package/packages/server/src/action.test.ts +0 -102
  131. package/packages/server/src/action.ts +0 -201
  132. package/packages/server/src/api.ts +0 -143
  133. package/packages/server/src/index.ts +0 -18
  134. package/packages/server/src/types.ts +0 -72
  135. package/packages/server/tsconfig.json +0 -9
  136. package/pnpm-workspace.yaml +0 -4
  137. package/scripts/publish.ps1 +0 -138
  138. package/scripts/publish.sh +0 -142
  139. package/tsconfig.json +0 -28
  140. package/turbo.json +0 -24
@@ -0,0 +1,73 @@
1
+ import type { Signal } from '@zylaris/reactivity';
2
+ interface ShowProps<T> {
3
+ when: T | Signal<T> | null | undefined | false;
4
+ fallback?: JSX.Element;
5
+ children: ((item: T) => JSX.Element) | JSX.Element;
6
+ }
7
+ export declare function Show<T>(props: ShowProps<T>): JSX.Element;
8
+ interface ForProps<T> {
9
+ each: T[] | Signal<T[]>;
10
+ children: (item: T, index: () => number) => JSX.Element;
11
+ fallback?: JSX.Element;
12
+ }
13
+ export declare function For<T>(props: ForProps<T>): JSX.Element[];
14
+ interface SwitchProps {
15
+ fallback?: JSX.Element;
16
+ children: JSX.Element | JSX.Element[];
17
+ }
18
+ interface MatchProps {
19
+ when: boolean | Signal<boolean>;
20
+ children: JSX.Element | (() => JSX.Element);
21
+ }
22
+ export declare function Switch(props: SwitchProps): JSX.Element;
23
+ export declare function Match(props: MatchProps): {
24
+ type: 'match';
25
+ props: MatchProps;
26
+ };
27
+ interface SuspenseProps {
28
+ fallback: JSX.Element;
29
+ children: JSX.Element;
30
+ }
31
+ export declare function Suspense(props: SuspenseProps): JSX.Element;
32
+ interface DynamicProps<T> {
33
+ component: (props: T) => JSX.Element;
34
+ props?: T;
35
+ }
36
+ export declare function Dynamic<T extends object>(props: DynamicProps<T>): JSX.Element;
37
+ interface PortalProps {
38
+ mount?: HTMLElement;
39
+ children: JSX.Element;
40
+ }
41
+ export declare function Portal(props: PortalProps): JSX.Element;
42
+ interface ErrorBoundaryProps {
43
+ fallback: (error: Error, reset: () => void) => JSX.Element;
44
+ children: JSX.Element;
45
+ }
46
+ interface ErrorBoundaryState {
47
+ error: Error | null;
48
+ }
49
+ declare global {
50
+ namespace JSX {
51
+ interface Element {
52
+ }
53
+ }
54
+ }
55
+ interface ReactLikeComponent<P, S> {
56
+ props: P;
57
+ state: S;
58
+ setState(state: Partial<S>): void;
59
+ }
60
+ export declare class ErrorBoundary implements ReactLikeComponent<ErrorBoundaryProps, ErrorBoundaryState> {
61
+ props: ErrorBoundaryProps;
62
+ state: ErrorBoundaryState;
63
+ constructor(props: ErrorBoundaryProps);
64
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
65
+ setState(state: Partial<ErrorBoundaryState>): void;
66
+ reset: () => void;
67
+ render(): JSX.Element;
68
+ }
69
+ export declare function lazy<T extends object>(loader: () => Promise<{
70
+ default: (props: T) => JSX.Element;
71
+ }>): (props: T) => JSX.Element;
72
+ export {};
73
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { isSignal } from './jsx-runtime.js';
2
+ export function Show(props) {
3
+ const when = isSignal(props.when) ? props.when() : props.when;
4
+ if (!when) {
5
+ return props.fallback || null;
6
+ }
7
+ if (typeof props.children === 'function') {
8
+ return props.children(when);
9
+ }
10
+ return props.children;
11
+ }
12
+ export function For(props) {
13
+ const items = isSignal(props.each) ? props.each() : props.each;
14
+ if (!items || items.length === 0) {
15
+ return props.fallback ? [props.fallback] : [];
16
+ }
17
+ return items.map((item, index) => props.children(item, () => index));
18
+ }
19
+ export function Switch(props) {
20
+ const children = Array.isArray(props.children) ? props.children : [props.children];
21
+ for (const child of children) {
22
+ // Check if it's a Match marker object
23
+ if (child && typeof child === 'object' && 'type' in child && child.type === 'match' && 'props' in child) {
24
+ const matchProps = child.props;
25
+ const when = isSignal(matchProps.when) ? matchProps.when() : matchProps.when;
26
+ if (when) {
27
+ return typeof matchProps.children === 'function'
28
+ ? matchProps.children()
29
+ : matchProps.children;
30
+ }
31
+ }
32
+ }
33
+ return props.fallback || null;
34
+ }
35
+ // Match marker object for Switch
36
+ export function Match(props) {
37
+ // Return a marker object that Switch can identify
38
+ return { type: 'match', props };
39
+ }
40
+ export function Suspense(props) {
41
+ // In real implementation, this would integrate with resource signals
42
+ return props.children;
43
+ }
44
+ export function Dynamic(props) {
45
+ return props.component(props.props || {});
46
+ }
47
+ export function Portal(props) {
48
+ // In real implementation, this would render to a different DOM node
49
+ return props.children;
50
+ }
51
+ export class ErrorBoundary {
52
+ props;
53
+ state;
54
+ constructor(props) {
55
+ this.props = props;
56
+ this.state = { error: null };
57
+ }
58
+ static getDerivedStateFromError(error) {
59
+ return { error };
60
+ }
61
+ setState(state) {
62
+ this.state = { ...this.state, ...state };
63
+ }
64
+ reset = () => {
65
+ this.setState({ error: null });
66
+ };
67
+ render() {
68
+ if (this.state.error) {
69
+ return this.props.fallback(this.state.error, this.reset);
70
+ }
71
+ return this.props.children;
72
+ }
73
+ }
74
+ // Lazy component
75
+ export function lazy(loader) {
76
+ let Component = null;
77
+ let promise = null;
78
+ return function LazyComponent(props) {
79
+ if (!Component) {
80
+ if (!promise) {
81
+ promise = loader().then((module) => {
82
+ Component = module.default;
83
+ });
84
+ }
85
+ throw promise;
86
+ }
87
+ return Component(props);
88
+ };
89
+ }
90
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=components.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.test.d.ts","sourceRoot":"","sources":["../src/components.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,113 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { Show, For, Switch, Match } from './components.js';
3
+ import { signal } from '@zylaris/reactivity';
4
+ describe('Show', () => {
5
+ it('should render children when condition is true', () => {
6
+ const result = Show({
7
+ when: true,
8
+ children: 'Content'
9
+ });
10
+ expect(result).toBe('Content');
11
+ });
12
+ it('should render fallback when condition is false', () => {
13
+ const result = Show({
14
+ when: false,
15
+ fallback: 'Fallback',
16
+ children: 'Content'
17
+ });
18
+ expect(result).toBe('Fallback');
19
+ });
20
+ it('should render null when no fallback and condition is false', () => {
21
+ const result = Show({
22
+ when: false,
23
+ children: 'Content'
24
+ });
25
+ expect(result).toBeNull();
26
+ });
27
+ it('should work with signal', () => {
28
+ const s = signal(true);
29
+ const result = Show({
30
+ when: s,
31
+ children: 'Content'
32
+ });
33
+ expect(result).toBe('Content');
34
+ });
35
+ it('should call children as function with value', () => {
36
+ const result = Show({
37
+ when: 'hello',
38
+ children: ((value) => `Value: ${value}`)
39
+ });
40
+ expect(result).toBe('Value: hello');
41
+ });
42
+ });
43
+ describe('For', () => {
44
+ it('should render array items', () => {
45
+ const items = [1, 2, 3];
46
+ const result = For({
47
+ each: items,
48
+ children: ((item) => item * 2)
49
+ });
50
+ expect(result).toEqual([2, 4, 6]);
51
+ });
52
+ it('should return empty array for empty input', () => {
53
+ const result = For({
54
+ each: [],
55
+ children: ((item) => item)
56
+ });
57
+ expect(result).toEqual([]);
58
+ });
59
+ it('should return fallback for empty array', () => {
60
+ const result = For({
61
+ each: [],
62
+ fallback: 'No items',
63
+ children: ((item) => item)
64
+ });
65
+ expect(result).toEqual(['No items']);
66
+ });
67
+ it('should work with signal', () => {
68
+ const s = signal([1, 2, 3]);
69
+ const result = For({
70
+ each: s,
71
+ children: ((item) => item * 2)
72
+ });
73
+ expect(result).toEqual([2, 4, 6]);
74
+ });
75
+ });
76
+ describe('Switch/Match', () => {
77
+ it('should render first matching case', () => {
78
+ const result = Switch({
79
+ children: [
80
+ Match({ when: false, children: 'First' }),
81
+ Match({ when: true, children: 'Second' }),
82
+ Match({ when: true, children: 'Third' })
83
+ ]
84
+ });
85
+ expect(result).toBe('Second');
86
+ });
87
+ it('should render fallback when no match', () => {
88
+ const result = Switch({
89
+ fallback: 'No match',
90
+ children: [
91
+ Match({ when: false, children: 'First' })
92
+ ]
93
+ });
94
+ expect(result).toBe('No match');
95
+ });
96
+ it('should render null when no match and no fallback', () => {
97
+ const result = Switch({
98
+ children: [
99
+ Match({ when: false, children: 'First' })
100
+ ]
101
+ });
102
+ expect(result).toBeNull();
103
+ });
104
+ it('should call children as function', () => {
105
+ const result = Switch({
106
+ children: [
107
+ Match({ when: true, children: (() => 'Dynamic') })
108
+ ]
109
+ });
110
+ expect(result).toBe('Dynamic');
111
+ });
112
+ });
113
+ //# sourceMappingURL=components.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.test.js","sourceRoot":"","sources":["../src/components.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ /** Deployment target platforms */
2
+ export type DeploymentTarget = 'static' | 'node' | 'vercel' | 'netlify' | 'cloudflare' | 'deno' | 'bun';
3
+ /** Serverless/Edge function config */
4
+ export interface FunctionConfig {
5
+ /** Function name */
6
+ name?: string;
7
+ /** Route pattern */
8
+ route?: string;
9
+ /** Memory allocation (MB) */
10
+ memory?: number;
11
+ /** Timeout (seconds) */
12
+ timeout?: number;
13
+ /** Regions to deploy */
14
+ regions?: string[];
15
+ /** Edge function flag */
16
+ edge?: boolean;
17
+ }
18
+ /** Static generation options */
19
+ export interface StaticOptions {
20
+ /** Routes to pre-render */
21
+ routes?: string[];
22
+ /** 404 page path */
23
+ fallback?: string;
24
+ /** Crawl dynamic routes */
25
+ crawl?: boolean;
26
+ /** Base path for assets */
27
+ base?: string;
28
+ }
29
+ /** Adapter configuration */
30
+ export interface AdapterConfig {
31
+ /** Target platform */
32
+ target: DeploymentTarget;
33
+ /** Entry point */
34
+ entry?: string;
35
+ /** Output directory */
36
+ outDir?: string;
37
+ /** Static generation options */
38
+ static?: StaticOptions;
39
+ /** Serverless function config */
40
+ function?: FunctionConfig;
41
+ /** Environment variables to include */
42
+ env?: Record<string, string>;
43
+ /** Headers for HTTP responses */
44
+ headers?: Record<string, string>;
45
+ /** Redirects configuration */
46
+ redirects?: Array<{
47
+ from: string;
48
+ to: string;
49
+ status?: number;
50
+ }>;
51
+ /** Rewrites configuration */
52
+ rewrites?: Array<{
53
+ from: string;
54
+ to: string;
55
+ }>;
56
+ /** Trailing slash handling */
57
+ trailingSlash?: 'always' | 'never' | 'ignore';
58
+ /** Clean URLs (no .html extension) */
59
+ cleanUrls?: boolean;
60
+ }
61
+ export interface ZylarisConfig {
62
+ /** Deployment target */
63
+ adapter?: DeploymentTarget | AdapterConfig;
64
+ /** Runtime environment */
65
+ runtime?: 'node' | 'edge' | 'deno' | 'bun';
66
+ /** Rendering configuration */
67
+ rendering?: {
68
+ default?: 'ssr' | 'csr' | 'ssg';
69
+ dynamicRoutes?: string[];
70
+ staticPaths?: string[];
71
+ };
72
+ /** Islands architecture */
73
+ islands?: {
74
+ mode?: 'auto' | 'manual' | 'off';
75
+ components?: string[];
76
+ };
77
+ /** Compiler options */
78
+ compiler?: {
79
+ target?: 'es2020' | 'es2022' | 'esnext';
80
+ minify?: boolean;
81
+ sourceMap?: boolean;
82
+ };
83
+ /** Server configuration */
84
+ server?: {
85
+ port?: number;
86
+ host?: string;
87
+ };
88
+ /** Styling options */
89
+ styling?: {
90
+ tailwind?: boolean;
91
+ cssModules?: boolean;
92
+ };
93
+ /** TypeScript options */
94
+ typescript?: {
95
+ strict?: boolean;
96
+ };
97
+ /** Build output */
98
+ build?: {
99
+ outDir?: string;
100
+ analyze?: boolean;
101
+ };
102
+ /** Deployment configuration */
103
+ deploy?: {
104
+ function?: FunctionConfig;
105
+ headers?: Record<string, string>;
106
+ redirects?: Array<{
107
+ from: string;
108
+ to: string;
109
+ status?: number;
110
+ }>;
111
+ rewrites?: Array<{
112
+ from: string;
113
+ to: string;
114
+ }>;
115
+ };
116
+ }
117
+ /**
118
+ * Define Zylaris configuration with type checking
119
+ */
120
+ export declare function defineConfig(config: ZylarisConfig): ZylarisConfig;
121
+ /** Preset configurations for common setups */
122
+ export declare const presets: {
123
+ /** Static site (GitHub Pages, Netlify Static, etc.) */
124
+ static: ZylarisConfig;
125
+ /** Node.js server */
126
+ node: ZylarisConfig;
127
+ /** Vercel Serverless */
128
+ vercel: ZylarisConfig;
129
+ /** Vercel Edge */
130
+ vercelEdge: ZylarisConfig;
131
+ /** Netlify Functions */
132
+ netlify: ZylarisConfig;
133
+ /** Netlify Edge */
134
+ netlifyEdge: ZylarisConfig;
135
+ /** Cloudflare Pages */
136
+ cloudflare: ZylarisConfig;
137
+ /** Deno Deploy */
138
+ deno: ZylarisConfig;
139
+ /** Bun runtime */
140
+ bun: ZylarisConfig;
141
+ };
142
+ export default defineConfig;
143
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js ADDED
@@ -0,0 +1,80 @@
1
+ // Configuration types and helper for Zylaris
2
+ /**
3
+ * Define Zylaris configuration with type checking
4
+ */
5
+ export function defineConfig(config) {
6
+ return config;
7
+ }
8
+ /** Preset configurations for common setups */
9
+ export const presets = {
10
+ /** Static site (GitHub Pages, Netlify Static, etc.) */
11
+ static: defineConfig({
12
+ adapter: 'static',
13
+ rendering: { default: 'ssg' },
14
+ islands: { mode: 'off' },
15
+ }),
16
+ /** Node.js server */
17
+ node: defineConfig({
18
+ adapter: 'node',
19
+ runtime: 'node',
20
+ rendering: { default: 'ssr' },
21
+ islands: { mode: 'auto' },
22
+ }),
23
+ /** Vercel Serverless */
24
+ vercel: defineConfig({
25
+ adapter: 'vercel',
26
+ runtime: 'edge',
27
+ rendering: { default: 'ssr' },
28
+ islands: { mode: 'auto' },
29
+ }),
30
+ /** Vercel Edge */
31
+ vercelEdge: defineConfig({
32
+ adapter: {
33
+ target: 'vercel',
34
+ function: { edge: true },
35
+ },
36
+ runtime: 'edge',
37
+ rendering: { default: 'ssr' },
38
+ islands: { mode: 'auto' },
39
+ }),
40
+ /** Netlify Functions */
41
+ netlify: defineConfig({
42
+ adapter: 'netlify',
43
+ runtime: 'node',
44
+ rendering: { default: 'ssr' },
45
+ islands: { mode: 'auto' },
46
+ }),
47
+ /** Netlify Edge */
48
+ netlifyEdge: defineConfig({
49
+ adapter: {
50
+ target: 'netlify',
51
+ function: { edge: true },
52
+ },
53
+ runtime: 'edge',
54
+ rendering: { default: 'ssr' },
55
+ islands: { mode: 'auto' },
56
+ }),
57
+ /** Cloudflare Pages */
58
+ cloudflare: defineConfig({
59
+ adapter: 'cloudflare',
60
+ runtime: 'edge',
61
+ rendering: { default: 'ssr' },
62
+ islands: { mode: 'auto' },
63
+ }),
64
+ /** Deno Deploy */
65
+ deno: defineConfig({
66
+ adapter: 'deno',
67
+ runtime: 'deno',
68
+ rendering: { default: 'ssr' },
69
+ islands: { mode: 'auto' },
70
+ }),
71
+ /** Bun runtime */
72
+ bun: defineConfig({
73
+ adapter: 'bun',
74
+ runtime: 'bun',
75
+ rendering: { default: 'ssr' },
76
+ islands: { mode: 'auto' },
77
+ }),
78
+ };
79
+ export default defineConfig;
80
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAoH7C;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,uDAAuD;IACvD,MAAM,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC;IAEF,qBAAqB;IACrB,IAAI,EAAE,YAAY,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,kBAAkB;IAClB,UAAU,EAAE,YAAY,CAAC;QACvB,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACzB;QACD,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,wBAAwB;IACxB,OAAO,EAAE,YAAY,CAAC;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,mBAAmB;IACnB,WAAW,EAAE,YAAY,CAAC;QACxB,OAAO,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACzB;QACD,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,uBAAuB;IACvB,UAAU,EAAE,YAAY,CAAC;QACvB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,kBAAkB;IAClB,IAAI,EAAE,YAAY,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;IAEF,kBAAkB;IAClB,GAAG,EAAE,YAAY,CAAC;QAChB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1B,CAAC;CACH,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { useEffect } from 'react';
2
+ import type { Signal } from '@zylaris/reactivity';
3
+ export declare function useSignal<T>(initialValue: T): Signal<T>;
4
+ export declare function useComputed<T>(fn: () => T): T;
5
+ export declare function useResource<T>(fetcher: () => Promise<T>): {
6
+ refetch: () => Promise<void>;
7
+ mutate: (data: T) => void;
8
+ status: "pending";
9
+ data?: undefined;
10
+ error?: undefined;
11
+ } | {
12
+ refetch: () => Promise<void>;
13
+ mutate: (data: T) => void;
14
+ status: "error";
15
+ data?: undefined;
16
+ error: Error;
17
+ } | {
18
+ refetch: () => Promise<void>;
19
+ mutate: (data: T) => void;
20
+ status: "success";
21
+ data: T;
22
+ error?: undefined;
23
+ };
24
+ export declare function useStore<T extends object>(store: T): T;
25
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
26
+ export declare function useEventListener(eventName: string, handler: (event: Event) => void, element?: HTMLElement | Window): void;
27
+ export declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T) => void];
28
+ export declare function useDebounce<T>(value: T, delay: number): T;
29
+ export declare function useThrottle<T extends (...args: unknown[]) => unknown>(fn: T, limit: number): T;
30
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAuB,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAGvD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAU7C;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;EAcvD;AAGD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAStD;AAGD,eAAO,MAAM,yBAAyB,kBACgB,CAAC;AAGvD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC/B,OAAO,GAAE,WAAW,GAAG,MAAe,QAmBvC;AAGD,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAuBxF;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAYzD;AAGD,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACnE,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,CAaH"}