From 02b17c665a03c34351f0d6121b10cebf9846967f Mon Sep 17 00:00:00 2001
From: Dmitry Boldyrev <15912112+zerobias@users.noreply.github.com>
Date: Fri, 13 Jun 2025 13:34:45 +0500
Subject: [PATCH 1/4] Update effector-action
---
apps/food-order/package.json | 2 +-
apps/tree-todo-list/package.json | 2 +-
pnpm-lock.yaml | 24 ++++++++++++------------
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/apps/food-order/package.json b/apps/food-order/package.json
index a51800c..570e3ae 100644
--- a/apps/food-order/package.json
+++ b/apps/food-order/package.json
@@ -4,7 +4,7 @@
"version": "0.0.0",
"type": "module",
"dependencies": {
- "effector-action": "^1.1.1"
+ "effector-action": "^1.1.3"
},
"devDependencies": {
"@vitejs/plugin-react": "^3.1.0",
diff --git a/apps/tree-todo-list/package.json b/apps/tree-todo-list/package.json
index 7426382..0baaed2 100644
--- a/apps/tree-todo-list/package.json
+++ b/apps/tree-todo-list/package.json
@@ -4,7 +4,7 @@
"version": "0.0.0",
"type": "module",
"dependencies": {
- "effector-action": "^1.1.1"
+ "effector-action": "^1.1.3"
},
"devDependencies": {
"@vitejs/plugin-react": "^3.1.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 063c1c1..d45a4ed 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -220,8 +220,8 @@ importers:
apps/food-order:
dependencies:
effector-action:
- specifier: ^1.1.1
- version: 1.1.1(effector@23.3.0)(patronum@2.3.0(effector@23.3.0))
+ specifier: ^1.1.3
+ version: 1.1.3(effector@23.3.0)(patronum@2.3.0(effector@23.3.0))
devDependencies:
'@vitejs/plugin-react':
specifier: ^3.1.0
@@ -258,8 +258,8 @@ importers:
apps/tree-todo-list:
dependencies:
effector-action:
- specifier: ^1.1.1
- version: 1.1.1(effector@23.3.0)(patronum@2.3.0(effector@23.3.0))
+ specifier: ^1.1.3
+ version: 1.1.3(effector@23.3.0)(patronum@2.3.0(effector@23.3.0))
devDependencies:
'@vitejs/plugin-react':
specifier: ^3.1.0
@@ -3097,8 +3097,8 @@ packages:
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
- effector-action@1.1.1:
- resolution: {integrity: sha512-CnSDv46aOb/0mCiJ93m49ug+/2Fl+lpH1xMNFCFg/HHfZBsROgfXX1iQKko4/YsDoLakytQBXq4nbiwGszNkuQ==}
+ effector-action@1.1.3:
+ resolution: {integrity: sha512-3YsfaRDP9Y/VF7/vn7DmNmztzz0QlqLK9scdag7oyQ6e3Df6aWako+2FfC9k0NT7dHtLhOo4lJR20zePWEW6IQ==}
peerDependencies:
effector: '>=23'
patronum: '>=2.1.0'
@@ -10293,7 +10293,7 @@ snapshots:
duplexer@0.1.2: {}
- effector-action@1.1.1(effector@23.3.0)(patronum@2.3.0(effector@23.3.0)):
+ effector-action@1.1.3(effector@23.3.0)(patronum@2.3.0(effector@23.3.0)):
dependencies:
effector: 23.3.0
patronum: 2.3.0(effector@23.3.0)
@@ -12643,13 +12643,13 @@ snapshots:
dependencies:
htmlparser2: 3.10.1
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39):
dependencies:
'@babel/core': 7.25.2
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
transitivePeerDependencies:
- supports-color
@@ -12668,7 +12668,7 @@ snapshots:
postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39):
dependencies:
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
remark: 10.0.1
unist-util-find-all-after: 1.0.5
@@ -12874,7 +12874,7 @@ snapshots:
postcss-value-parser: 4.2.0
svgo: 2.8.0
- postcss-syntax@0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39):
+ postcss-syntax@0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39):
dependencies:
postcss: 7.0.39
optionalDependencies:
@@ -13865,7 +13865,7 @@ snapshots:
postcss-sass: 0.3.5
postcss-scss: 2.1.1
postcss-selector-parser: 3.1.2
- postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0(postcss-syntax@0.36.2(postcss@8.4.41))(postcss@7.0.39))(postcss-scss@2.1.1)(postcss@7.0.39)
postcss-value-parser: 3.3.1
resolve-from: 4.0.0
signal-exit: 3.0.7
From b5f79d1cc41a6909166d284ddb23f162961b1aa4 Mon Sep 17 00:00:00 2001
From: Dmitry Boldyrev <15912112+zerobias@users.noreply.github.com>
Date: Fri, 13 Jun 2025 13:35:20 +0500
Subject: [PATCH 2/4] Fix `@effector/model` and `@effector/model-react` package
type
---
packages/core/package.json | 2 +-
packages/react/package.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/core/package.json b/packages/core/package.json
index 9e716b4..dd7c81e 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,7 +1,7 @@
{
"name": "@effector/model",
"version": "0.0.7",
- "type": "commonjs",
+ "type": "module",
"peerDependencies": {
"effector": "^23.3.0"
}
diff --git a/packages/react/package.json b/packages/react/package.json
index 7960c7d..baa97ef 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,7 +1,7 @@
{
"name": "@effector/model-react",
"version": "0.0.7",
- "type": "commonjs",
+ "type": "module",
"peerDependencies": {
"effector": "^23.3.0"
},
From 5af76d2f605043faa6bd83feef5c67958230eab9 Mon Sep 17 00:00:00 2001
From: Dmitry Boldyrev <15912112+zerobias@users.noreply.github.com>
Date: Fri, 13 Jun 2025 13:35:53 +0500
Subject: [PATCH 3/4] Add support for effects to `api`, allow to omit `data` in
case of void unit
---
packages/core/src/instanceApi.ts | 7 ++++++-
packages/core/src/types.ts | 26 ++++++++++++++++++--------
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/packages/core/src/instanceApi.ts b/packages/core/src/instanceApi.ts
index 36c78fe..e55856a 100644
--- a/packages/core/src/instanceApi.ts
+++ b/packages/core/src/instanceApi.ts
@@ -30,7 +30,12 @@ export function createInstanceApi(
api[prop] = evt;
$entities.on(evt, (state, payload) => {
const [key, data] = Array.isArray(payload.key)
- ? [payload.key, payload.data]
+ ? [
+ payload.key,
+ Array.isArray(payload.data)
+ ? payload.data
+ : Array.from({ length: payload.key.length }),
+ ]
: [[payload.key], [payload.data]];
const targets = [] as any[];
const params = [] as any[];
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
index e153065..d2d10d4 100644
--- a/packages/core/src/types.ts
+++ b/packages/core/src/types.ts
@@ -190,18 +190,28 @@ export type ConvertToLensShape = {
type OneOrMany = T | Array;
+type ApiEvent = void extends T
+ ?
+ | { key: string | number; data?: void }
+ | {
+ key: Array;
+ data?: void[];
+ }
+ :
+ | { key: string | number; data: T }
+ | {
+ key: Array;
+ data: T[];
+ };
+
export type Keyval = {
type: 'keyval';
api: {
[K in keyof Api]: Api[K] extends EventCallable
- ? EventCallable<
- | { key: string | number; data: V }
- | {
- key: Array;
- data: V[];
- }
- >
- : never;
+ ? EventCallable>
+ : Api[K] extends Effect
+ ? EventCallable>
+ : never;
};
$items: Store;
$keys: Store>;
From 72bab7d9a221a000065d86328e2a85336fd22190 Mon Sep 17 00:00:00 2001
From: Dmitry Boldyrev <15912112+zerobias@users.noreply.github.com>
Date: Fri, 13 Jun 2025 13:36:33 +0500
Subject: [PATCH 4/4] Schedule 0.0.8 release
---
.changeset/fluffy-hornets-poke.md | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 .changeset/fluffy-hornets-poke.md
diff --git a/.changeset/fluffy-hornets-poke.md b/.changeset/fluffy-hornets-poke.md
new file mode 100644
index 0000000..eb3b1a3
--- /dev/null
+++ b/.changeset/fluffy-hornets-poke.md
@@ -0,0 +1,6 @@
+---
+'@effector/model-react': patch
+'@effector/model': patch
+---
+
+gigi