@jfdevelops/react-layout-adapters 0.0.0-stub.0 → 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 +34 -4
- package/dist/index.cjs +57 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +17 -0
- package/dist/index.d.mts +17 -0
- package/dist/index.mjs +56 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +52 -21
- package/index.js +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,34 @@
|
|
|
1
|
-
# @jfdevelops/react-layout-adapters
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# @jfdevelops/react-layout-adapters
|
|
2
|
+
|
|
3
|
+
Create native React schemas for any Standard Schema library. This package
|
|
4
|
+
provides a named `createAdapter` export and depends on no schema library.
|
|
5
|
+
|
|
6
|
+
```sh
|
|
7
|
+
pnpm add @jfdevelops/react-layout-adapters
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
import { createAdapter } from '@jfdevelops/react-layout-adapters';
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
14
|
+
|
|
15
|
+
export const { reactNode, reactElement } = createAdapter({
|
|
16
|
+
node: (check) => z.custom<ReactNode>(check).optional(),
|
|
17
|
+
element: (check) => z.custom<ReactElement>(check),
|
|
18
|
+
});
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The callbacks receive type guards for `ReactNode` and `ReactElement`. Return
|
|
22
|
+
your library's corresponding Standard Schema from each callback. Both helpers
|
|
23
|
+
preserve the exact returned schema type and create a fresh schema on every
|
|
24
|
+
call; callbacks run when a helper is called, not when the adapter is created.
|
|
25
|
+
Use the native library to configure messages, optionality, and other behavior.
|
|
26
|
+
|
|
27
|
+
React node checks include empty nodes and reusable collections. One-shot
|
|
28
|
+
iterators must be materialized into arrays before validation. Element checks
|
|
29
|
+
use `React.isValidElement`; they accept `<Icon />`, not `Icon`.
|
|
30
|
+
|
|
31
|
+
Ready-made adapters are available separately as
|
|
32
|
+
`@jfdevelops/react-layout-adapter-zod`,
|
|
33
|
+
`@jfdevelops/react-layout-adapter-valibot`, and
|
|
34
|
+
`@jfdevelops/react-layout-adapter-arktype`.
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
let react = require("react");
|
|
3
|
+
//#region src/react-node.ts
|
|
4
|
+
/** Check node containers without invoking components or awaiting promises. */
|
|
5
|
+
function createReactNodeCheck(isValidElement, version) {
|
|
6
|
+
const supportsAsyncNodes = Number.parseInt(version, 10) >= 19;
|
|
7
|
+
function checkReactNode(value, ancestors) {
|
|
8
|
+
if (value == null || typeof value === "string" || typeof value === "number" || typeof value === "boolean") return true;
|
|
9
|
+
if (typeof value === "bigint") return supportsAsyncNodes;
|
|
10
|
+
if (isValidElement(value)) return true;
|
|
11
|
+
if (typeof value !== "object") return false;
|
|
12
|
+
if ("$$typeof" in value && value.$$typeof === Symbol.for("react.portal")) return true;
|
|
13
|
+
if (supportsAsyncNodes && "then" in value && typeof value.then === "function") return true;
|
|
14
|
+
if (!(Symbol.iterator in value) || typeof value[Symbol.iterator] !== "function" || ancestors.has(value)) return false;
|
|
15
|
+
const iterator = value[Symbol.iterator]();
|
|
16
|
+
if (iterator === value) return false;
|
|
17
|
+
ancestors.add(value);
|
|
18
|
+
try {
|
|
19
|
+
let step = iterator.next();
|
|
20
|
+
while (!step.done) {
|
|
21
|
+
if (!checkReactNode(step.value, ancestors)) return false;
|
|
22
|
+
step = iterator.next();
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
} finally {
|
|
26
|
+
ancestors.delete(value);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return function isReactNode(value) {
|
|
30
|
+
return checkReactNode(value, /* @__PURE__ */ new Set());
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/index.ts
|
|
35
|
+
const allowsReactNode = createReactNodeCheck(react.isValidElement, react.version);
|
|
36
|
+
function isReactNode(value) {
|
|
37
|
+
return allowsReactNode(value);
|
|
38
|
+
}
|
|
39
|
+
function isReactElement(value) {
|
|
40
|
+
return (0, react.isValidElement)(value);
|
|
41
|
+
}
|
|
42
|
+
/** Wrap React predicates in your schema library's native schema constructors. */
|
|
43
|
+
function createAdapter(options) {
|
|
44
|
+
const { node, element } = options;
|
|
45
|
+
return {
|
|
46
|
+
reactNode() {
|
|
47
|
+
return node(isReactNode);
|
|
48
|
+
},
|
|
49
|
+
reactElement() {
|
|
50
|
+
return element(isReactElement);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
exports.createAdapter = createAdapter;
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["isValidElement","version"],"sources":["../src/react-node.ts","../src/index.ts"],"sourcesContent":["/** Check node containers without invoking components or awaiting promises. */\nexport function createReactNodeCheck(isValidElement: (value: unknown) => boolean, version: string) {\n const supportsAsyncNodes = Number.parseInt(version, 10) >= 19;\n\n function checkReactNode(value: unknown, ancestors: Set<object>): boolean {\n if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') return true;\n if (typeof value === 'bigint') return supportsAsyncNodes;\n if (isValidElement(value)) return true;\n if (typeof value !== 'object') return false;\n if ('$$typeof' in value && value.$$typeof === Symbol.for('react.portal')) return true;\n if (supportsAsyncNodes && 'then' in value && typeof value.then === 'function') return true;\n if (!(Symbol.iterator in value) || typeof value[Symbol.iterator] !== 'function' || ancestors.has(value)) return false;\n\n const iterator = (value as Iterable<unknown>)[Symbol.iterator]();\n // Consuming a one-shot iterator here would leave React with no children.\n if ((iterator as unknown) === value) return false;\n\n ancestors.add(value);\n try {\n let step = iterator.next();\n while (!step.done) {\n if (!checkReactNode(step.value, ancestors)) return false;\n step = iterator.next();\n }\n return true;\n } finally {\n ancestors.delete(value);\n }\n }\n\n return function isReactNode(value: unknown) {\n return checkReactNode(value, new Set<object>());\n };\n}\n","import {\n isValidElement,\n version,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { createReactNodeCheck } from './react-node';\n\ntype CreateAdapterOptions<\n TNode extends StandardSchemaV1<unknown, ReactNode>,\n TElement extends StandardSchemaV1<unknown, ReactElement>,\n> = {\n node: (check: ReactCheck<ReactNode>) => TNode;\n element: (check: ReactCheck<ReactElement>) => TElement;\n};\n\nconst allowsReactNode = createReactNodeCheck(isValidElement, version);\n\nexport type ReactCheck<Value> = (value: unknown) => value is Value;\n\nfunction isReactNode(value: unknown): value is ReactNode {\n return allowsReactNode(value);\n}\n\nfunction isReactElement(value: unknown): value is ReactElement {\n return isValidElement(value);\n}\n\n/** Wrap React predicates in your schema library's native schema constructors. */\nexport function createAdapter<\n TNode extends StandardSchemaV1<unknown, ReactNode>,\n TElement extends StandardSchemaV1<unknown, ReactElement>,\n>(options: CreateAdapterOptions<TNode, TElement>) {\n const { node, element } = options;\n\n return {\n reactNode() {\n return node(isReactNode);\n },\n reactElement() {\n return element(isReactElement);\n },\n };\n}\n"],"mappings":";;;;AACA,SAAgB,qBAAqB,gBAA6C,SAAiB;CACjG,MAAM,qBAAqB,OAAO,SAAS,SAAS,EAAE,KAAK;CAE3D,SAAS,eAAe,OAAgB,WAAiC;EACvE,IAAI,SAAS,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW,OAAO;EAClH,IAAI,OAAO,UAAU,UAAU,OAAO;EACtC,IAAI,eAAe,KAAK,GAAG,OAAO;EAClC,IAAI,OAAO,UAAU,UAAU,OAAO;EACtC,IAAI,cAAc,SAAS,MAAM,aAAa,OAAO,IAAI,cAAc,GAAG,OAAO;EACjF,IAAI,sBAAsB,UAAU,SAAS,OAAO,MAAM,SAAS,YAAY,OAAO;EACtF,IAAI,EAAE,OAAO,YAAY,UAAU,OAAO,MAAM,OAAO,cAAc,cAAc,UAAU,IAAI,KAAK,GAAG,OAAO;EAEhH,MAAM,WAAY,MAA4B,OAAO,UAAU;EAE/D,IAAK,aAAyB,OAAO,OAAO;EAE5C,UAAU,IAAI,KAAK;EACnB,IAAI;GACF,IAAI,OAAO,SAAS,KAAK;GACzB,OAAO,CAAC,KAAK,MAAM;IACjB,IAAI,CAAC,eAAe,KAAK,OAAO,SAAS,GAAG,OAAO;IACnD,OAAO,SAAS,KAAK;GACvB;GACA,OAAO;EACT,UAAU;GACR,UAAU,OAAO,KAAK;EACxB;CACF;CAEA,OAAO,SAAS,YAAY,OAAgB;EAC1C,OAAO,eAAe,uBAAO,IAAI,IAAY,CAAC;CAChD;AACF;;;AChBA,MAAM,kBAAkB,qBAAqBA,MAAAA,gBAAgBC,MAAAA,OAAO;AAIpE,SAAS,YAAY,OAAoC;CACvD,OAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,eAAe,OAAuC;CAC7D,QAAA,GAAA,MAAA,gBAAsB,KAAK;AAC7B;;AAGA,SAAgB,cAGd,SAAgD;CAChD,MAAM,EAAE,MAAM,YAAY;CAE1B,OAAO;EACL,YAAY;GACV,OAAO,KAAK,WAAW;EACzB;EACA,eAAe;GACb,OAAO,QAAQ,cAAc;EAC/B;CACF;AACF"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from "react";
|
|
2
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
3
|
+
|
|
4
|
+
//#region src/index.d.ts
|
|
5
|
+
type CreateAdapterOptions<TNode extends StandardSchemaV1<unknown, ReactNode>, TElement extends StandardSchemaV1<unknown, ReactElement>> = {
|
|
6
|
+
node: (check: ReactCheck<ReactNode>) => TNode;
|
|
7
|
+
element: (check: ReactCheck<ReactElement>) => TElement;
|
|
8
|
+
};
|
|
9
|
+
type ReactCheck<Value> = (value: unknown) => value is Value;
|
|
10
|
+
/** Wrap React predicates in your schema library's native schema constructors. */
|
|
11
|
+
declare function createAdapter<TNode extends StandardSchemaV1<unknown, ReactNode>, TElement extends StandardSchemaV1<unknown, ReactElement>>(options: CreateAdapterOptions<TNode, TElement>): {
|
|
12
|
+
reactNode(): TNode;
|
|
13
|
+
reactElement(): TElement;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { ReactCheck, createAdapter };
|
|
17
|
+
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from "react";
|
|
2
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
3
|
+
|
|
4
|
+
//#region src/index.d.ts
|
|
5
|
+
type CreateAdapterOptions<TNode extends StandardSchemaV1<unknown, ReactNode>, TElement extends StandardSchemaV1<unknown, ReactElement>> = {
|
|
6
|
+
node: (check: ReactCheck<ReactNode>) => TNode;
|
|
7
|
+
element: (check: ReactCheck<ReactElement>) => TElement;
|
|
8
|
+
};
|
|
9
|
+
type ReactCheck<Value> = (value: unknown) => value is Value;
|
|
10
|
+
/** Wrap React predicates in your schema library's native schema constructors. */
|
|
11
|
+
declare function createAdapter<TNode extends StandardSchemaV1<unknown, ReactNode>, TElement extends StandardSchemaV1<unknown, ReactElement>>(options: CreateAdapterOptions<TNode, TElement>): {
|
|
12
|
+
reactNode(): TNode;
|
|
13
|
+
reactElement(): TElement;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { ReactCheck, createAdapter };
|
|
17
|
+
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { isValidElement, version } from "react";
|
|
2
|
+
//#region src/react-node.ts
|
|
3
|
+
/** Check node containers without invoking components or awaiting promises. */
|
|
4
|
+
function createReactNodeCheck(isValidElement, version) {
|
|
5
|
+
const supportsAsyncNodes = Number.parseInt(version, 10) >= 19;
|
|
6
|
+
function checkReactNode(value, ancestors) {
|
|
7
|
+
if (value == null || typeof value === "string" || typeof value === "number" || typeof value === "boolean") return true;
|
|
8
|
+
if (typeof value === "bigint") return supportsAsyncNodes;
|
|
9
|
+
if (isValidElement(value)) return true;
|
|
10
|
+
if (typeof value !== "object") return false;
|
|
11
|
+
if ("$$typeof" in value && value.$$typeof === Symbol.for("react.portal")) return true;
|
|
12
|
+
if (supportsAsyncNodes && "then" in value && typeof value.then === "function") return true;
|
|
13
|
+
if (!(Symbol.iterator in value) || typeof value[Symbol.iterator] !== "function" || ancestors.has(value)) return false;
|
|
14
|
+
const iterator = value[Symbol.iterator]();
|
|
15
|
+
if (iterator === value) return false;
|
|
16
|
+
ancestors.add(value);
|
|
17
|
+
try {
|
|
18
|
+
let step = iterator.next();
|
|
19
|
+
while (!step.done) {
|
|
20
|
+
if (!checkReactNode(step.value, ancestors)) return false;
|
|
21
|
+
step = iterator.next();
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
} finally {
|
|
25
|
+
ancestors.delete(value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return function isReactNode(value) {
|
|
29
|
+
return checkReactNode(value, /* @__PURE__ */ new Set());
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/index.ts
|
|
34
|
+
const allowsReactNode = createReactNodeCheck(isValidElement, version);
|
|
35
|
+
function isReactNode(value) {
|
|
36
|
+
return allowsReactNode(value);
|
|
37
|
+
}
|
|
38
|
+
function isReactElement(value) {
|
|
39
|
+
return isValidElement(value);
|
|
40
|
+
}
|
|
41
|
+
/** Wrap React predicates in your schema library's native schema constructors. */
|
|
42
|
+
function createAdapter(options) {
|
|
43
|
+
const { node, element } = options;
|
|
44
|
+
return {
|
|
45
|
+
reactNode() {
|
|
46
|
+
return node(isReactNode);
|
|
47
|
+
},
|
|
48
|
+
reactElement() {
|
|
49
|
+
return element(isReactElement);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { createAdapter };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/react-node.ts","../src/index.ts"],"sourcesContent":["/** Check node containers without invoking components or awaiting promises. */\nexport function createReactNodeCheck(isValidElement: (value: unknown) => boolean, version: string) {\n const supportsAsyncNodes = Number.parseInt(version, 10) >= 19;\n\n function checkReactNode(value: unknown, ancestors: Set<object>): boolean {\n if (value == null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') return true;\n if (typeof value === 'bigint') return supportsAsyncNodes;\n if (isValidElement(value)) return true;\n if (typeof value !== 'object') return false;\n if ('$$typeof' in value && value.$$typeof === Symbol.for('react.portal')) return true;\n if (supportsAsyncNodes && 'then' in value && typeof value.then === 'function') return true;\n if (!(Symbol.iterator in value) || typeof value[Symbol.iterator] !== 'function' || ancestors.has(value)) return false;\n\n const iterator = (value as Iterable<unknown>)[Symbol.iterator]();\n // Consuming a one-shot iterator here would leave React with no children.\n if ((iterator as unknown) === value) return false;\n\n ancestors.add(value);\n try {\n let step = iterator.next();\n while (!step.done) {\n if (!checkReactNode(step.value, ancestors)) return false;\n step = iterator.next();\n }\n return true;\n } finally {\n ancestors.delete(value);\n }\n }\n\n return function isReactNode(value: unknown) {\n return checkReactNode(value, new Set<object>());\n };\n}\n","import {\n isValidElement,\n version,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { createReactNodeCheck } from './react-node';\n\ntype CreateAdapterOptions<\n TNode extends StandardSchemaV1<unknown, ReactNode>,\n TElement extends StandardSchemaV1<unknown, ReactElement>,\n> = {\n node: (check: ReactCheck<ReactNode>) => TNode;\n element: (check: ReactCheck<ReactElement>) => TElement;\n};\n\nconst allowsReactNode = createReactNodeCheck(isValidElement, version);\n\nexport type ReactCheck<Value> = (value: unknown) => value is Value;\n\nfunction isReactNode(value: unknown): value is ReactNode {\n return allowsReactNode(value);\n}\n\nfunction isReactElement(value: unknown): value is ReactElement {\n return isValidElement(value);\n}\n\n/** Wrap React predicates in your schema library's native schema constructors. */\nexport function createAdapter<\n TNode extends StandardSchemaV1<unknown, ReactNode>,\n TElement extends StandardSchemaV1<unknown, ReactElement>,\n>(options: CreateAdapterOptions<TNode, TElement>) {\n const { node, element } = options;\n\n return {\n reactNode() {\n return node(isReactNode);\n },\n reactElement() {\n return element(isReactElement);\n },\n };\n}\n"],"mappings":";;;AACA,SAAgB,qBAAqB,gBAA6C,SAAiB;CACjG,MAAM,qBAAqB,OAAO,SAAS,SAAS,EAAE,KAAK;CAE3D,SAAS,eAAe,OAAgB,WAAiC;EACvE,IAAI,SAAS,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW,OAAO;EAClH,IAAI,OAAO,UAAU,UAAU,OAAO;EACtC,IAAI,eAAe,KAAK,GAAG,OAAO;EAClC,IAAI,OAAO,UAAU,UAAU,OAAO;EACtC,IAAI,cAAc,SAAS,MAAM,aAAa,OAAO,IAAI,cAAc,GAAG,OAAO;EACjF,IAAI,sBAAsB,UAAU,SAAS,OAAO,MAAM,SAAS,YAAY,OAAO;EACtF,IAAI,EAAE,OAAO,YAAY,UAAU,OAAO,MAAM,OAAO,cAAc,cAAc,UAAU,IAAI,KAAK,GAAG,OAAO;EAEhH,MAAM,WAAY,MAA4B,OAAO,UAAU;EAE/D,IAAK,aAAyB,OAAO,OAAO;EAE5C,UAAU,IAAI,KAAK;EACnB,IAAI;GACF,IAAI,OAAO,SAAS,KAAK;GACzB,OAAO,CAAC,KAAK,MAAM;IACjB,IAAI,CAAC,eAAe,KAAK,OAAO,SAAS,GAAG,OAAO;IACnD,OAAO,SAAS,KAAK;GACvB;GACA,OAAO;EACT,UAAU;GACR,UAAU,OAAO,KAAK;EACxB;CACF;CAEA,OAAO,SAAS,YAAY,OAAgB;EAC1C,OAAO,eAAe,uBAAO,IAAI,IAAY,CAAC;CAChD;AACF;;;AChBA,MAAM,kBAAkB,qBAAqB,gBAAgB,OAAO;AAIpE,SAAS,YAAY,OAAoC;CACvD,OAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,eAAe,OAAuC;CAC7D,OAAO,eAAe,KAAK;AAC7B;;AAGA,SAAgB,cAGd,SAAgD;CAChD,MAAM,EAAE,MAAM,YAAY;CAE1B,OAAO;EACL,YAAY;GACV,OAAO,KAAK,WAAW;EACzB;EACA,eAAe;GACb,OAAO,QAAQ,cAAc;EAC/B;CACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,52 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@jfdevelops/react-layout-adapters",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@jfdevelops/react-layout-adapters",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Schema-library independent React adapter factory for React Layout.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/jfdevelops/react-layout.git",
|
|
8
|
+
"directory": "packages/adapters"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"sideEffects": false,
|
|
15
|
+
"main": "./dist/index.cjs",
|
|
16
|
+
"module": "./dist/index.mjs",
|
|
17
|
+
"types": "./dist/index.d.mts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.mts",
|
|
21
|
+
"import": "./dist/index.mjs",
|
|
22
|
+
"require": "./dist/index.cjs"
|
|
23
|
+
},
|
|
24
|
+
"./package.json": "./package.json"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"react": ">=18"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"react": "18.3.1",
|
|
34
|
+
"@types/react": "18.3.28",
|
|
35
|
+
"tsdown": "0.22.1",
|
|
36
|
+
"typescript": "6.0.3",
|
|
37
|
+
"vitest": "4.1.5",
|
|
38
|
+
"@types/node": "24.10.1"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public",
|
|
42
|
+
"provenance": true
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@standard-schema/spec": "^1.1.0"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "tsdown",
|
|
49
|
+
"typecheck": "tsc --noEmit",
|
|
50
|
+
"test": "vitest run"
|
|
51
|
+
}
|
|
52
|
+
}
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
throw new Error("@jfdevelops/react-layout-adapters is a placeholder package. The implementation has not been released yet.");
|