Skip to content

Commit 6a956b0

Browse files
committed
refactor: move zod to peerDependencies
- Move zod from dependencies to peerDependencies - Update README.md to clarify zod must be installed separately - This allows users to control the zod version in their projects
1 parent 4d18165 commit 6a956b0

8 files changed

Lines changed: 20 additions & 28 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
npm install reactive zod
4141
```
4242

43+
**Note:** `zod` is a peer dependency and must be installed separately. This allows you to control the zod version used in your project.
44+
4345
```typescript
4446
import { ReactiveModel } from 'reactive/model';
4547

docs/en/advanced/backend-usage.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ ReactiveModel is designed to work seamlessly on both frontend and backend. This
1515
### Node.js / Bun
1616

1717
```bash
18-
npm install reactive
18+
npm install reactive zod
1919
```
2020

21+
**Note:** `zod` is a peer dependency and must be installed separately.
22+
2123
```typescript
2224
// Import the same way as on frontend
2325
import { ReactiveModel } from 'reactive/model';

src/modules/structures/array/index.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,7 @@ import type {
99
} from './types';
1010

1111
// Re-export types
12-
export type {
13-
IReactiveArrayOptions,
14-
IArrayAddEvent,
15-
IArrayRemoveEvent,
16-
IArrayUpdateEvent,
17-
IArrayReorderEvent,
18-
};
12+
export type { IReactiveArrayOptions, IArrayAddEvent, IArrayRemoveEvent, IArrayUpdateEvent, IArrayReorderEvent };
1913

2014
/**
2115
* A reactive Array implementation that emits events on changes.
@@ -34,10 +28,7 @@ export type {
3428
* arr.set(0, 'A');
3529
* ```
3630
*/
37-
export /*bundle*/ class ReactiveArray<T = unknown>
38-
extends Events
39-
implements IReactiveContainer<T, number>
40-
{
31+
export /*bundle*/ class ReactiveArray<T = unknown> extends Events implements IReactiveContainer<T, number> {
4132
readonly isReactive: true = true;
4233
readonly isContainer: true = true;
4334

src/modules/structures/tree/index.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,7 @@ export type {
4848
* tree.addNode('electronics', { id: 'phones', name: 'Phones' });
4949
* ```
5050
*/
51-
export /*bundle*/ class ReactiveTree<T extends ITreeNodeData>
52-
extends Events
53-
implements IReactiveValue<T[]>
54-
{
51+
export /*bundle*/ class ReactiveTree<T extends ITreeNodeData> extends Events implements IReactiveValue<T[]> {
5552
readonly isReactive: true = true;
5653

5754
#root: ReactiveTreeNode<T>;

src/modules/structures/tree/node.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import type { ITreeNodeData, IReactiveTreeNode } from './types';
77
*
88
* @template T - Type of data stored in nodes
99
*/
10-
export /*bundle*/ class ReactiveTreeNode<T extends ITreeNodeData>
11-
extends Events
12-
implements IReactiveTreeNode<T>
13-
{
10+
export /*bundle*/ class ReactiveTreeNode<T extends ITreeNodeData> extends Events implements IReactiveTreeNode<T> {
1411
readonly isReactive: true = true;
1512

1613
#data: T;

src/package-lock.json

Lines changed: 7 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@
6262
]
6363
},
6464
"dependencies": {
65-
"uuid": "^11.0.3",
65+
"uuid": "^11.0.3"
66+
},
67+
"peerDependencies": {
6668
"zod": "^3.24.2"
6769
},
6870
"devDependencies": {

src/rollup.config.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,7 @@ export default [
9393
]),
9494

9595
// Bundle: entities/item
96-
...createBundleConfig('modules/entities/item/index.ts', 'dist/entities/item', 'entities/item', [
97-
'reactive/model',
98-
]),
96+
...createBundleConfig('modules/entities/item/index.ts', 'dist/entities/item', 'entities/item', ['reactive/model']),
9997

10098
// Bundle: entities/collection
10199
...createBundleConfig('modules/entities/collection/index.ts', 'dist/entities/collection', 'entities/collection', [

0 commit comments

Comments
 (0)