@rasenjs/web 0.1.0-alpha → 0.1.2-alpha

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 CHANGED
@@ -42,13 +42,12 @@ Build tools like Vite automatically select the correct export condition based on
42
42
  Write your component once, and it works in both SSR and client environments:
43
43
 
44
44
  ```typescript
45
- import { setReactiveRuntime } from '@rasenjs/core'
46
- import { createReactiveRuntime } from '@rasenjs/reactive-vue'
45
+ import { useReactiveRuntime } from '@rasenjs/reactive-vue'
47
46
  import { div, p, button } from '@rasenjs/web'
48
- import { ref } from 'vue'
47
+ import { ref } from '@vue/reactivity'
49
48
 
50
49
  // Setup reactive runtime
51
- setReactiveRuntime(createReactiveRuntime())
50
+ useReactiveRuntime()
52
51
 
53
52
  // Isomorphic component - works in both SSR and browser
54
53
  export const Counter = () => {
@@ -0,0 +1 @@
1
+ export { Fragment, jsx, jsxDEV, jsxs } from '@rasenjs/jsx-runtime/jsx-dev-runtime';
@@ -0,0 +1,86 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+
15
+ // src/jsx-runtime-ssr.ts
16
+ var jsx_runtime_ssr_exports = {};
17
+ import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
18
+
19
+ // src/html.ts
20
+ var html_exports = {};
21
+ __reExport(html_exports, html_star);
22
+ __reExport(html_exports, router_html_star);
23
+ import * as html_star from "@rasenjs/html";
24
+ import * as router_html_star from "@rasenjs/router-html";
25
+
26
+ // src/jsx-runtime-ssr.ts
27
+ __reExport(jsx_runtime_ssr_exports, jsx_runtime_star);
28
+ import * as jsx_runtime_star from "@rasenjs/jsx-runtime";
29
+ setTextPrimitive(html_exports.text);
30
+ setFragmentPrimitive(html_exports.fragment);
31
+ configureTags({
32
+ "": {
33
+ // Text elements
34
+ div: html_exports.div,
35
+ span: html_exports.span,
36
+ p: html_exports.p,
37
+ a: html_exports.a,
38
+ // Headings
39
+ h1: html_exports.h1,
40
+ h2: html_exports.h2,
41
+ h3: html_exports.h3,
42
+ h4: html_exports.h4,
43
+ h5: html_exports.h5,
44
+ h6: html_exports.h6,
45
+ // Form elements
46
+ button: html_exports.button,
47
+ input: html_exports.input,
48
+ textarea: html_exports.textarea,
49
+ select: html_exports.select,
50
+ option: html_exports.option,
51
+ label: html_exports.label,
52
+ form: html_exports.form,
53
+ // Lists
54
+ ul: html_exports.ul,
55
+ ol: html_exports.ol,
56
+ li: html_exports.li,
57
+ // Media
58
+ img: html_exports.img,
59
+ canvas: html_exports.canvas,
60
+ // Semantic HTML5
61
+ section: html_exports.section,
62
+ article: html_exports.article,
63
+ header: html_exports.header,
64
+ footer: html_exports.footer,
65
+ nav: html_exports.nav,
66
+ main: html_exports.main,
67
+ aside: html_exports.aside,
68
+ // Formatting
69
+ code: html_exports.code,
70
+ pre: html_exports.pre,
71
+ strong: html_exports.strong,
72
+ em: html_exports.em,
73
+ small: html_exports.small,
74
+ br: html_exports.br,
75
+ hr: html_exports.hr
76
+ }
77
+ });
78
+
79
+ // src/jsx-dev-runtime-ssr.ts
80
+ import { jsx, jsxs, jsxDEV, Fragment } from "@rasenjs/jsx-runtime/jsx-dev-runtime";
81
+ export {
82
+ Fragment,
83
+ jsx,
84
+ jsxDEV,
85
+ jsxs
86
+ };
@@ -0,0 +1 @@
1
+ export { Fragment, jsx, jsxDEV, jsxs } from '@rasenjs/jsx-runtime/jsx-dev-runtime';
@@ -0,0 +1,86 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+
15
+ // src/jsx-runtime.ts
16
+ var jsx_runtime_exports = {};
17
+ import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
18
+
19
+ // src/dom.ts
20
+ var dom_exports = {};
21
+ __reExport(dom_exports, dom_star);
22
+ __reExport(dom_exports, router_dom_star);
23
+ import * as dom_star from "@rasenjs/dom";
24
+ import * as router_dom_star from "@rasenjs/router-dom";
25
+
26
+ // src/jsx-runtime.ts
27
+ __reExport(jsx_runtime_exports, jsx_runtime_star);
28
+ import * as jsx_runtime_star from "@rasenjs/jsx-runtime";
29
+ setTextPrimitive(dom_exports.text);
30
+ setFragmentPrimitive(dom_exports.fragment);
31
+ configureTags({
32
+ "": {
33
+ // Text elements
34
+ div: dom_exports.div,
35
+ span: dom_exports.span,
36
+ p: dom_exports.p,
37
+ a: dom_exports.a,
38
+ // Headings
39
+ h1: dom_exports.h1,
40
+ h2: dom_exports.h2,
41
+ h3: dom_exports.h3,
42
+ h4: dom_exports.h4,
43
+ h5: dom_exports.h5,
44
+ h6: dom_exports.h6,
45
+ // Form elements
46
+ button: dom_exports.button,
47
+ input: dom_exports.input,
48
+ textarea: dom_exports.textarea,
49
+ select: dom_exports.select,
50
+ option: dom_exports.option,
51
+ label: dom_exports.label,
52
+ form: dom_exports.form,
53
+ // Lists
54
+ ul: dom_exports.ul,
55
+ ol: dom_exports.ol,
56
+ li: dom_exports.li,
57
+ // Media
58
+ img: dom_exports.img,
59
+ canvas: dom_exports.canvas,
60
+ // Semantic HTML5
61
+ section: dom_exports.section,
62
+ article: dom_exports.article,
63
+ header: dom_exports.header,
64
+ footer: dom_exports.footer,
65
+ nav: dom_exports.nav,
66
+ main: dom_exports.main,
67
+ aside: dom_exports.aside,
68
+ // Formatting
69
+ code: dom_exports.code,
70
+ pre: dom_exports.pre,
71
+ strong: dom_exports.strong,
72
+ em: dom_exports.em,
73
+ small: dom_exports.small,
74
+ br: dom_exports.br,
75
+ hr: dom_exports.hr
76
+ }
77
+ });
78
+
79
+ // src/jsx-dev-runtime.ts
80
+ import { jsx, jsxs, jsxDEV, Fragment } from "@rasenjs/jsx-runtime/jsx-dev-runtime";
81
+ export {
82
+ Fragment,
83
+ jsx,
84
+ jsxDEV,
85
+ jsxs
86
+ };
@@ -0,0 +1 @@
1
+ export * from '@rasenjs/jsx-runtime';
@@ -0,0 +1,75 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+
15
+ // src/jsx-runtime-ssr.ts
16
+ import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
17
+
18
+ // src/html.ts
19
+ var html_exports = {};
20
+ __reExport(html_exports, html_star);
21
+ __reExport(html_exports, router_html_star);
22
+ import * as html_star from "@rasenjs/html";
23
+ import * as router_html_star from "@rasenjs/router-html";
24
+
25
+ // src/jsx-runtime-ssr.ts
26
+ export * from "@rasenjs/jsx-runtime";
27
+ setTextPrimitive(html_exports.text);
28
+ setFragmentPrimitive(html_exports.fragment);
29
+ configureTags({
30
+ "": {
31
+ // Text elements
32
+ div: html_exports.div,
33
+ span: html_exports.span,
34
+ p: html_exports.p,
35
+ a: html_exports.a,
36
+ // Headings
37
+ h1: html_exports.h1,
38
+ h2: html_exports.h2,
39
+ h3: html_exports.h3,
40
+ h4: html_exports.h4,
41
+ h5: html_exports.h5,
42
+ h6: html_exports.h6,
43
+ // Form elements
44
+ button: html_exports.button,
45
+ input: html_exports.input,
46
+ textarea: html_exports.textarea,
47
+ select: html_exports.select,
48
+ option: html_exports.option,
49
+ label: html_exports.label,
50
+ form: html_exports.form,
51
+ // Lists
52
+ ul: html_exports.ul,
53
+ ol: html_exports.ol,
54
+ li: html_exports.li,
55
+ // Media
56
+ img: html_exports.img,
57
+ canvas: html_exports.canvas,
58
+ // Semantic HTML5
59
+ section: html_exports.section,
60
+ article: html_exports.article,
61
+ header: html_exports.header,
62
+ footer: html_exports.footer,
63
+ nav: html_exports.nav,
64
+ main: html_exports.main,
65
+ aside: html_exports.aside,
66
+ // Formatting
67
+ code: html_exports.code,
68
+ pre: html_exports.pre,
69
+ strong: html_exports.strong,
70
+ em: html_exports.em,
71
+ small: html_exports.small,
72
+ br: html_exports.br,
73
+ hr: html_exports.hr
74
+ }
75
+ });
@@ -0,0 +1,2 @@
1
+ export * from '@rasenjs/jsx-runtime';
2
+ import '@rasenjs/jsx-runtime/jsx-dev-runtime';
@@ -0,0 +1,75 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+
15
+ // src/jsx-runtime.ts
16
+ import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
17
+
18
+ // src/dom.ts
19
+ var dom_exports = {};
20
+ __reExport(dom_exports, dom_star);
21
+ __reExport(dom_exports, router_dom_star);
22
+ import * as dom_star from "@rasenjs/dom";
23
+ import * as router_dom_star from "@rasenjs/router-dom";
24
+
25
+ // src/jsx-runtime.ts
26
+ export * from "@rasenjs/jsx-runtime";
27
+ setTextPrimitive(dom_exports.text);
28
+ setFragmentPrimitive(dom_exports.fragment);
29
+ configureTags({
30
+ "": {
31
+ // Text elements
32
+ div: dom_exports.div,
33
+ span: dom_exports.span,
34
+ p: dom_exports.p,
35
+ a: dom_exports.a,
36
+ // Headings
37
+ h1: dom_exports.h1,
38
+ h2: dom_exports.h2,
39
+ h3: dom_exports.h3,
40
+ h4: dom_exports.h4,
41
+ h5: dom_exports.h5,
42
+ h6: dom_exports.h6,
43
+ // Form elements
44
+ button: dom_exports.button,
45
+ input: dom_exports.input,
46
+ textarea: dom_exports.textarea,
47
+ select: dom_exports.select,
48
+ option: dom_exports.option,
49
+ label: dom_exports.label,
50
+ form: dom_exports.form,
51
+ // Lists
52
+ ul: dom_exports.ul,
53
+ ol: dom_exports.ol,
54
+ li: dom_exports.li,
55
+ // Media
56
+ img: dom_exports.img,
57
+ canvas: dom_exports.canvas,
58
+ // Semantic HTML5
59
+ section: dom_exports.section,
60
+ article: dom_exports.article,
61
+ header: dom_exports.header,
62
+ footer: dom_exports.footer,
63
+ nav: dom_exports.nav,
64
+ main: dom_exports.main,
65
+ aside: dom_exports.aside,
66
+ // Formatting
67
+ code: dom_exports.code,
68
+ pre: dom_exports.pre,
69
+ strong: dom_exports.strong,
70
+ em: dom_exports.em,
71
+ small: dom_exports.small,
72
+ br: dom_exports.br,
73
+ hr: dom_exports.hr
74
+ }
75
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasenjs/web",
3
- "version": "0.1.0-alpha",
3
+ "version": "0.1.2-alpha",
4
4
  "description": "Isomorphic web components with routing (exports DOM or HTML based on environment)",
5
5
  "type": "module",
6
6
  "exports": {
@@ -8,19 +8,37 @@
8
8
  "ssr": "./dist/html.js",
9
9
  "browser": "./dist/dom.js",
10
10
  "default": "./dist/dom.js"
11
+ },
12
+ "./jsx-runtime": {
13
+ "types": "./dist/jsx-runtime.d.ts",
14
+ "worker": "./dist/jsx-runtime.js",
15
+ "browser": "./dist/jsx-runtime.js",
16
+ "node": "./dist/jsx-runtime-ssr.js",
17
+ "default": "./dist/jsx-runtime.js"
18
+ },
19
+ "./jsx-dev-runtime": {
20
+ "types": "./dist/jsx-dev-runtime.d.ts",
21
+ "worker": "./dist/jsx-dev-runtime.js",
22
+ "browser": "./dist/jsx-dev-runtime.js",
23
+ "node": "./dist/jsx-dev-runtime-ssr.js",
24
+ "default": "./dist/jsx-dev-runtime.js"
11
25
  }
12
26
  },
13
27
  "scripts": {
14
28
  "build": "tsup"
15
29
  },
16
30
  "dependencies": {
17
- "@rasenjs/dom": "0.1.5-alpha",
18
- "@rasenjs/html": "0.1.1-alpha",
19
- "@rasenjs/router-dom": "0.1.6-alpha",
20
- "@rasenjs/router-html": "0.1.0-alpha"
31
+ "@rasenjs/dom": "0.1.7-alpha",
32
+ "@rasenjs/html": "0.1.3-alpha",
33
+ "@rasenjs/router-dom": "0.1.7-alpha",
34
+ "@rasenjs/router-html": "0.1.1-alpha"
21
35
  },
22
36
  "devDependencies": {
23
37
  "tsup": "^8.0.1",
24
38
  "typescript": "^5.3.3"
39
+ },
40
+ "publishConfig": {
41
+ "registry": "https://registry.npmjs.org/",
42
+ "access": "public"
25
43
  }
26
44
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * JSX Dev Runtime for @rasenjs/web (SSR)
3
+ * Development mode version with additional debugging info
4
+ */
5
+
6
+ import './jsx-runtime-ssr' // Side effect: configure primitives and tags
7
+ export { jsx, jsxs, jsxDEV, Fragment } from '@rasenjs/jsx-runtime/jsx-dev-runtime'
@@ -0,0 +1,7 @@
1
+ /**
2
+ * JSX Dev Runtime for @rasenjs/web
3
+ * Development mode version with additional debugging info
4
+ */
5
+
6
+ import './jsx-runtime' // Side effect: configure primitives and tags
7
+ export { jsx, jsxs, jsxDEV, Fragment } from '@rasenjs/jsx-runtime/jsx-dev-runtime'
@@ -0,0 +1,71 @@
1
+ /**
2
+ * JSX Runtime integration for @rasenjs/web (SSR/HTML)
3
+ *
4
+ * Auto-configures jsx-runtime with HTML string primitives and tags.
5
+ * This version is used in server-side rendering environments.
6
+ */
7
+
8
+ import { setTextPrimitive, setFragmentPrimitive, configureTags, type TextPrimitive, type FragmentPrimitive } from '@rasenjs/jsx-runtime'
9
+ import * as webComponents from './html'
10
+
11
+ // Configure primitives
12
+ setTextPrimitive(webComponents.text as TextPrimitive)
13
+ setFragmentPrimitive(webComponents.fragment as FragmentPrimitive)
14
+
15
+ // Configure all web tags
16
+ configureTags({
17
+ '': {
18
+ // Text elements
19
+ div: webComponents.div,
20
+ span: webComponents.span,
21
+ p: webComponents.p,
22
+ a: webComponents.a,
23
+
24
+ // Headings
25
+ h1: webComponents.h1,
26
+ h2: webComponents.h2,
27
+ h3: webComponents.h3,
28
+ h4: webComponents.h4,
29
+ h5: webComponents.h5,
30
+ h6: webComponents.h6,
31
+
32
+ // Form elements
33
+ button: webComponents.button,
34
+ input: webComponents.input,
35
+ textarea: webComponents.textarea,
36
+ select: webComponents.select,
37
+ option: webComponents.option,
38
+ label: webComponents.label,
39
+ form: webComponents.form,
40
+
41
+ // Lists
42
+ ul: webComponents.ul,
43
+ ol: webComponents.ol,
44
+ li: webComponents.li,
45
+
46
+ // Media
47
+ img: webComponents.img,
48
+ canvas: webComponents.canvas,
49
+
50
+ // Semantic HTML5
51
+ section: webComponents.section,
52
+ article: webComponents.article,
53
+ header: webComponents.header,
54
+ footer: webComponents.footer,
55
+ nav: webComponents.nav,
56
+ main: webComponents.main,
57
+ aside: webComponents.aside,
58
+
59
+ // Formatting
60
+ code: webComponents.code,
61
+ pre: webComponents.pre,
62
+ strong: webComponents.strong,
63
+ em: webComponents.em,
64
+ small: webComponents.small,
65
+ br: webComponents.br,
66
+ hr: webComponents.hr,
67
+ }
68
+ })
69
+
70
+ // Re-export jsx-runtime
71
+ export * from '@rasenjs/jsx-runtime'
@@ -0,0 +1,71 @@
1
+ /**
2
+ * JSX Runtime integration for @rasenjs/web (Browser/DOM)
3
+ *
4
+ * Auto-configures jsx-runtime with DOM primitives and tags.
5
+ * This version is used in browser/client-side environments.
6
+ */
7
+
8
+ import { setTextPrimitive, setFragmentPrimitive, configureTags, type TextPrimitive, type FragmentPrimitive } from '@rasenjs/jsx-runtime'
9
+ import * as webComponents from './dom'
10
+
11
+ // Configure primitives
12
+ setTextPrimitive(webComponents.text as TextPrimitive)
13
+ setFragmentPrimitive(webComponents.fragment as FragmentPrimitive)
14
+
15
+ // Configure all web tags
16
+ configureTags({
17
+ '': {
18
+ // Text elements
19
+ div: webComponents.div,
20
+ span: webComponents.span,
21
+ p: webComponents.p,
22
+ a: webComponents.a,
23
+
24
+ // Headings
25
+ h1: webComponents.h1,
26
+ h2: webComponents.h2,
27
+ h3: webComponents.h3,
28
+ h4: webComponents.h4,
29
+ h5: webComponents.h5,
30
+ h6: webComponents.h6,
31
+
32
+ // Form elements
33
+ button: webComponents.button,
34
+ input: webComponents.input,
35
+ textarea: webComponents.textarea,
36
+ select: webComponents.select,
37
+ option: webComponents.option,
38
+ label: webComponents.label,
39
+ form: webComponents.form,
40
+
41
+ // Lists
42
+ ul: webComponents.ul,
43
+ ol: webComponents.ol,
44
+ li: webComponents.li,
45
+
46
+ // Media
47
+ img: webComponents.img,
48
+ canvas: webComponents.canvas,
49
+
50
+ // Semantic HTML5
51
+ section: webComponents.section,
52
+ article: webComponents.article,
53
+ header: webComponents.header,
54
+ footer: webComponents.footer,
55
+ nav: webComponents.nav,
56
+ main: webComponents.main,
57
+ aside: webComponents.aside,
58
+
59
+ // Formatting
60
+ code: webComponents.code,
61
+ pre: webComponents.pre,
62
+ strong: webComponents.strong,
63
+ em: webComponents.em,
64
+ small: webComponents.small,
65
+ br: webComponents.br,
66
+ hr: webComponents.hr,
67
+ }
68
+ })
69
+
70
+ // Re-export jsx-runtime
71
+ export * from '@rasenjs/jsx-runtime'
package/tsup.config.ts CHANGED
@@ -6,13 +6,26 @@ export default defineConfig([
6
6
  format: ['esm'],
7
7
  dts: true,
8
8
  clean: true,
9
- external: ['@rasenjs/dom']
9
+ external: ['@rasenjs/dom', '@rasenjs/router-dom']
10
10
  },
11
11
  {
12
12
  entry: { html: 'src/html.ts' },
13
13
  format: ['esm'],
14
14
  dts: true,
15
15
  clean: false,
16
- external: ['@rasenjs/html']
16
+ external: ['@rasenjs/html', '@rasenjs/router-html']
17
+ },
18
+ {
19
+ entry: {
20
+ 'jsx-runtime': 'src/jsx-runtime.ts',
21
+ 'jsx-dev-runtime': 'src/jsx-dev-runtime.ts',
22
+ 'jsx-runtime-ssr': 'src/jsx-runtime-ssr.ts',
23
+ 'jsx-dev-runtime-ssr': 'src/jsx-dev-runtime-ssr.ts',
24
+ },
25
+ format: ['esm'],
26
+ dts: true,
27
+ splitting: false,
28
+ clean: false,
29
+ external: ['@rasenjs/jsx-runtime', '@rasenjs/dom', '@rasenjs/html', '@rasenjs/router-dom', '@rasenjs/router-html']
17
30
  }
18
31
  ])