@praxisjs/jsx 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @praxisjs/jsx
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @praxisjs/runtime@0.2.1
8
+
9
+ ## 0.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - bb0d4f8: **Refactor decorator system and component architecture across PraxisJS packages**
14
+
15
+ - Replaced legacy decorator signatures (`constructor`, `target`, `propertyKey`, method descriptor) with the standard TC39 decorator context API (`ClassDecoratorContext`, `ClassFieldDecoratorContext`, `ClassMethodDecoratorContext`) across `@praxisjs/decorators`, `@praxisjs/store`, `@praxisjs/concurrent`, `@praxisjs/router`, `@praxisjs/motion`, `@praxisjs/di`, and `@praxisjs/fsm`.
16
+ - Introduced `StatefulComponent` and `StatelessComponent` as the new base classes, replacing the deprecated `BaseComponent`/`Function Component` pattern, across `@praxisjs/core`, `@praxisjs/runtime`, `@praxisjs/devtools`, and templates.
17
+ - Implemented core rendering functionality in `@praxisjs/runtime` (`mountChildren`, `mountComponent`, reactive scope management) and removed the deprecated `renderer.ts`.
18
+ - Refactored `@praxisjs/jsx` to delegate rendering to `@praxisjs/runtime` and improved type safety with `flattenChildren` and `isComponent` utilities.
19
+ - Updated internal module structure with new `internal` exports in `package.json` files for shared utilities and types.
20
+ - Removed `experimentalDecorators`/`emitDecoratorMetadata` from `tsconfig.json` in favor of native decorator support.
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [bb0d4f8]
25
+ - @praxisjs/runtime@0.2.0
26
+ - @praxisjs/shared@0.2.0
27
+
3
28
  ## 0.1.0
4
29
 
5
30
  ### Minor Changes
@@ -1,14 +1,15 @@
1
- import { type Children, type ChildrenInternal, type ComponentConstructor, type FunctionComponent, type VNode } from "@praxisjs/shared";
2
- type PropsOf<T> = T extends string ? JSX.IntrinsicElements[T] : T extends ComponentConstructor<infer P> ? P : T extends FunctionComponent<infer P> ? P : Record<string, unknown>;
1
+ import type { Children } from "@praxisjs/shared";
2
+ import { type ComponentConstructor } from "@praxisjs/shared/internal";
3
+ export declare const Fragment: unique symbol;
4
+ type PropsOf<T> = T extends string ? JSX.IntrinsicElements[T] : T extends ComponentConstructor<infer P> ? P : Record<string, unknown>;
3
5
  type Reactive<T> = T | (() => T);
4
- export declare function jsx<T extends VNode["type"]>(type: T, props: PropsOf<T> & {
5
- children?: ChildrenInternal | ChildrenInternal[];
6
- }, key?: string | number): VNode;
6
+ export declare function jsx<T extends string | ComponentConstructor | symbol>(type: T, props: PropsOf<T> & {
7
+ children?: unknown;
8
+ }): Node | Node[];
7
9
  export declare const jsxs: typeof jsx;
8
10
  export declare const jsxDEV: typeof jsx;
9
- export declare const Fragment: unique symbol;
10
11
  export declare namespace JSX {
11
- export type Element = VNode;
12
+ export type Element = Node | Node[];
12
13
  interface GlobalAttributes {
13
14
  key?: string | number | symbol;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,26 @@
1
- import { flattenChildren, } from "@praxisjs/shared";
2
- export function jsx(type, props, key) {
3
- const { children: raw, ...rest } = props;
4
- const children = [];
5
- if (raw !== undefined) {
6
- if (Array.isArray(raw)) {
7
- const flatted = flattenChildren(raw);
8
- children.push(...flatted);
9
- }
10
- else {
11
- children.push(raw);
12
- }
1
+ import { mountElement, mountComponent, getCurrentScope, } from "@praxisjs/runtime";
2
+ import { isComponent } from "@praxisjs/shared/internal";
3
+ export const Fragment = Symbol("Fragment");
4
+ export function jsx(type, props) {
5
+ const scope = getCurrentScope();
6
+ if (type === Fragment) {
7
+ const { children } = props;
8
+ if (!children)
9
+ return [];
10
+ if (Array.isArray(children))
11
+ return children.flat(Infinity);
12
+ if (children instanceof Node)
13
+ return [children];
14
+ return [];
15
+ }
16
+ if (typeof type === "string") {
17
+ return mountElement(type, props, scope);
13
18
  }
14
- return {
15
- type,
16
- props: rest,
17
- children,
18
- key,
19
- };
19
+ if (isComponent(type)) {
20
+ return mountComponent(type, props, scope);
21
+ }
22
+ return document.createComment("?");
20
23
  }
21
24
  export const jsxs = jsx;
22
25
  export const jsxDEV = jsx;
23
- export const Fragment = Symbol("Fragment");
24
26
  //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAKhB,MAAM,kBAAkB,CAAC;AAY1B,MAAM,UAAU,GAAG,CACjB,IAAO,EACP,KAAwE,EACxE,GAAqB;IAErB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,QAAQ;QACR,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAA6B,MAAM,2BAA2B,CAAC;AAEnF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAU3C,MAAM,UAAU,GAAG,CACjB,IAAO,EACP,KAA0C;IAE1C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC;QACtE,IAAI,QAAQ,YAAY,IAAI;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,IAAI,EAAE,KAAgC,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,cAAc,CACnB,IAAI,EACJ,KAAgC,EAChC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisjs/jsx",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -22,7 +22,8 @@
22
22
  "typescript": "^5.9.3"
23
23
  },
24
24
  "dependencies": {
25
- "@praxisjs/shared": "0.1.0"
25
+ "@praxisjs/runtime": "0.2.1",
26
+ "@praxisjs/shared": "0.2.0"
26
27
  },
27
28
  "scripts": {
28
29
  "build": "tsc",
@@ -1,55 +1,56 @@
1
1
  import {
2
- type Children,
3
- flattenChildren,
4
- type ChildrenInternal,
5
- type ComponentConstructor,
6
- type FunctionComponent,
7
- type VNode,
8
- } from "@praxisjs/shared";
2
+ mountElement,
3
+ mountComponent,
4
+ getCurrentScope,
5
+ } from "@praxisjs/runtime";
6
+ import type { Children } from "@praxisjs/shared";
7
+ import { isComponent, type ComponentConstructor } from "@praxisjs/shared/internal";
8
+
9
+ export const Fragment = Symbol("Fragment");
9
10
 
10
11
  type PropsOf<T> = T extends string
11
12
  ? JSX.IntrinsicElements[T]
12
13
  : T extends ComponentConstructor<infer P>
13
14
  ? P
14
- : T extends FunctionComponent<infer P>
15
- ? P
16
- : Record<string, unknown>;
15
+ : Record<string, unknown>;
17
16
 
18
17
  type Reactive<T> = T | (() => T);
19
18
 
20
- export function jsx<T extends VNode["type"]>(
19
+ export function jsx<T extends string | ComponentConstructor | symbol>(
21
20
  type: T,
22
- props: PropsOf<T> & { children?: ChildrenInternal | ChildrenInternal[] },
23
- key?: string | number,
24
- ): VNode {
25
- const { children: raw, ...rest } = props;
26
- const children: ChildrenInternal[] = [];
21
+ props: PropsOf<T> & { children?: unknown },
22
+ ): Node | Node[] {
23
+ const scope = getCurrentScope();
24
+
25
+ if (type === Fragment) {
26
+ const { children } = props;
27
+ if (!children) return [];
28
+ if (Array.isArray(children)) return children.flat(Infinity) as Node[];
29
+ if (children instanceof Node) return [children];
30
+ return [];
31
+ }
27
32
 
28
- if (raw !== undefined) {
29
- if (Array.isArray(raw)) {
30
- const flatted = flattenChildren(raw);
31
- children.push(...flatted);
32
- } else {
33
- children.push(raw);
34
- }
33
+ if (typeof type === "string") {
34
+ return mountElement(type, props as Record<string, unknown>, scope);
35
35
  }
36
36
 
37
- return {
38
- type,
39
- props: rest,
40
- children,
41
- key,
42
- };
37
+ if (isComponent(type)) {
38
+ return mountComponent(
39
+ type,
40
+ props as Record<string, unknown>,
41
+ scope,
42
+ );
43
+ }
44
+
45
+ return document.createComment("?");
43
46
  }
44
47
 
45
48
  export const jsxs = jsx;
46
49
  export const jsxDEV = jsx;
47
50
 
48
- export const Fragment = Symbol("Fragment");
49
-
50
51
  // eslint-disable-next-line @typescript-eslint/no-namespace
51
52
  export namespace JSX {
52
- export type Element = VNode;
53
+ export type Element = Node | Node[];
53
54
 
54
55
  interface GlobalAttributes {
55
56
  key?: string | number | symbol;