@preact/signals-react 1.3.8 → 2.0.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,26 @@
1
1
  # @preact/signals-react
2
2
 
3
+ ## 2.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#535](https://github.com/preactjs/signals/pull/535) [`58befba`](https://github.com/preactjs/signals/commit/58befba577d02c5cac5292fda0a599f9708e908b) Thanks [@jviide](https://github.com/jviide)! - Publish packages with provenance statements
8
+
9
+ - Updated dependencies [[`d846def`](https://github.com/preactjs/signals/commit/d846defaf6e64f0236e2b91247e5f94a35f29cbc), [`cb6bdab`](https://github.com/preactjs/signals/commit/cb6bdabbd31b27f8435c7976089fa276da6bfb7a), [`d846def`](https://github.com/preactjs/signals/commit/d846defaf6e64f0236e2b91247e5f94a35f29cbc), [`d846def`](https://github.com/preactjs/signals/commit/d846defaf6e64f0236e2b91247e5f94a35f29cbc), [`d846def`](https://github.com/preactjs/signals/commit/d846defaf6e64f0236e2b91247e5f94a35f29cbc)]:
10
+ - @preact/signals-core@1.6.0
11
+
12
+ ## 2.0.0
13
+
14
+ ### Major Changes
15
+
16
+ - [#467](https://github.com/preactjs/signals/pull/467) [`d7f43ef`](https://github.com/preactjs/signals/commit/d7f43ef5c9b6516cd93a12c3f647409cfd8c62be) Thanks [@andrewiggins](https://github.com/andrewiggins)! - Remove auto tracking using React internals from signals-react package
17
+
18
+ Before this change, importing `@preact/signals-react` would invoke side effects that hook into React internals to automatically track signals. This change removes those side effects and requires consumers to update their code to continue using signals in React.
19
+
20
+ We made this breaking change because the mechanism we were using to automatically track signals was fragile and not reliable. We've had multiple issues reported where signals were not being tracked correctly. It would also lead to unexpected errors that were hard to debug.
21
+
22
+ For some consumers and apps though, the current mechanism does work. If you'd like to continue using this mechanism, simply add `import "@preact/signals/auto";` to the root of your app where you call `ReactDOM.render`. For our newly supported ways of using signals in React, check out the new Readme for `@preact/signals-react`.
23
+
3
24
  ## 1.3.8
4
25
 
5
26
  ### Patch Changes
package/README.md CHANGED
@@ -26,15 +26,25 @@ npm install @preact/signals-react
26
26
 
27
27
  ## React Integration
28
28
 
29
- > Note: The React integration plugs into some React internals and may break unexpectedly in future versions of React. If you are using Signals with React and encounter errors such as "Rendered more hooks than during previous render", "Should have a queue. This is likely a bug in React." or "Cannot redefine property: createElement" please open an issue here.
30
-
31
29
  The React integration can be installed via:
32
30
 
33
31
  ```sh
34
32
  npm install @preact/signals-react
35
33
  ```
36
34
 
37
- Similar to the Preact integration, the React adapter allows you to access signals directly inside your components and will automatically subscribe to them.
35
+ We have a couple of options for integrating Signals into React. The recommended approach is to use the Babel transform to automatically make your components that use signals reactive.
36
+
37
+ ### Babel Transform
38
+
39
+ Install the Babel transform package (`npm i --save-dev @preact/signals-react-transform`) and add the following to your Babel config:
40
+
41
+ ```json
42
+ {
43
+ "plugins": [["module:@preact/signals-react-transform"]]
44
+ }
45
+ ```
46
+
47
+ This will automatically transform your components to be reactive. You can then use signals directly inside your components.
38
48
 
39
49
  ```js
40
50
  import { signal } from "@preact/signals-react";
@@ -48,17 +58,38 @@ function CounterValue() {
48
58
  }
49
59
  ```
50
60
 
61
+ See the [Readme for the Babel plugin](../react-transform/README.md) for more details about how the transform works and configuring it.
62
+
63
+ ### `useSignals` hook
64
+
65
+ If you can't use the Babel transform, you can directly call the `useSignals` hook to make your components reactive.
66
+
67
+ ```js
68
+ import { useSignals } from "@preact/signals-react/runtime";
69
+
70
+ const count = signal(0);
71
+
72
+ function CounterValue() {
73
+ useSignals();
74
+ return <p>Value: {count.value}</p>;
75
+ }
76
+ ```
77
+
51
78
  ### Hooks
52
79
 
53
- If you need to instantiate new signals inside your components, you can use the `useSignal` or `useComputed` hook.
80
+ If you need to instantiate new signals or create new side effects on signal changes inside your components, you can use the `useSignal`, `useComputed` and `useSignalEffect` hooks.
54
81
 
55
82
  ```js
56
- import { useSignal, useComputed } from "@preact/signals-react";
83
+ import { useSignal, useComputed, useSignalEffect } from "@preact/signals-react";
57
84
 
58
85
  function Counter() {
59
86
  const count = useSignal(0);
60
87
  const double = useComputed(() => count.value * 2);
61
88
 
89
+ useSignalEffect(() => {
90
+ console.log(`Value: ${count.value}, value x 2 = ${double.value}`);
91
+ });
92
+
62
93
  return (
63
94
  <button onClick={() => count.value++}>
64
95
  Value: {count.value}, value x 2 = {double.value}
@@ -97,6 +128,42 @@ To opt into this optimization, simply pass the signal directly instead of access
97
128
  > **Note**
98
129
  > The content is wrapped in a React Fragment due to React 18's newer, more strict children types.
99
130
 
131
+ ## Limitations
132
+
133
+ This version of React integration does not support passing signals as DOM attributes. Support for this may be added at a later date.
134
+
135
+ Using signals into render props is not recommended. In this situation, the component that reads the signal is the component that calls the render prop, which may or may not be hooked up to track signals. For example:
136
+
137
+ ```js
138
+ const count = signal(0);
139
+
140
+ function ShowCount({ getCount }) {
141
+ return <div>{getCount()}</div>;
142
+ }
143
+
144
+ function App() {
145
+ return <ShowCount getCount={() => count.value} />;
146
+ }
147
+ ```
148
+
149
+ Here, the `ShowCount` component is the one that accesses `count.value` at runtime since it invokes `getCount`, so it needs to be hooked up to track signals. However, since it doesn't statically access the signal, the Babel transform won't transform it by default. One fix is to set `mode: all` in the Babel plugin's config, which will transform all components. Another workaround is put the return of the render prop into it's own component and then return that from your render prop. In the following example, the `Count` component statically accesses the signal, so it will be transformed by default.
150
+
151
+ ```js
152
+ const count = signal(0);
153
+
154
+ function ShowCount({ getCount }) {
155
+ return <div>{getCount()}</div>;
156
+ }
157
+
158
+ const Count = () => <>{count.value}</>;
159
+
160
+ function App() {
161
+ return <ShowCount getCount={() => <Count />} />;
162
+ }
163
+ ```
164
+
165
+ Similar issues exist with using object getters & setters. Since the it isn't easily statically analyzable that a getter or setter is backed by a signal, the Babel plugin may miss some components that use signals in this way. Similarly, setting Babel's plugin to `mode: all` will fix this issue.
166
+
100
167
  ## License
101
168
 
102
169
  `MIT`, see the [LICENSE](../../LICENSE) file.
@@ -0,0 +1 @@
1
+ require("@preact/signals-react/runtime").installAutoSignalTracking();//# sourceMappingURL=auto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.js","sources":["../src/index.ts"],"sourcesContent":["import { installAutoSignalTracking } from \"@preact/signals-react/runtime\";\ninstallAutoSignalTracking();\n"],"names":["installAutoSignalTracking"],"mappings":"AACAA,QAAAA,iCAAAA"}
@@ -0,0 +1 @@
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("@preact/signals-react/runtime")):"function"==typeof define&&define.amd?define(["@preact/signals-react/runtime"],n):n((e||self).reactSignalsRuntime)}(this,function(e){e.installAutoSignalTracking()});//# sourceMappingURL=auto.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.min.js","sources":["../src/index.ts"],"sourcesContent":["import { installAutoSignalTracking } from \"@preact/signals-react/runtime\";\ninstallAutoSignalTracking();\n"],"names":["installAutoSignalTracking"],"mappings":"CACAA,SAAAA,EAAAA,GAAAA,iBAAAA,SAAAA,oBAAAA,OAAAA,EAAAA,QAAAA,kCAAAA,mBAAAA,QAAAA,OAAAA,IAAAA,OAAAA,CAAAA,iCAAAA,GAAAA,GAAAA,EAAAA,oBAAAA,WAAAA,WAAAA,GAAAA,MAAAA,oBAAAA,CAAAA,CAAAA,KAAAA,SAAAA,GAAAA,EAAAA,2BAA2B"}
@@ -0,0 +1 @@
1
+ import{installAutoSignalTracking as r}from"@preact/signals-react/runtime";r();//# sourceMappingURL=auto.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.mjs","sources":["../src/index.ts"],"sourcesContent":["import { installAutoSignalTracking } from \"@preact/signals-react/runtime\";\ninstallAutoSignalTracking();\n"],"names":["installAutoSignalTracking"],"mappings":"oCACAA,MAAAA,gCAAAA"}
@@ -0,0 +1 @@
1
+ import{installAutoSignalTracking as r}from"@preact/signals-react/runtime";r();//# sourceMappingURL=auto.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.module.js","sources":["../src/index.ts"],"sourcesContent":["import { installAutoSignalTracking } from \"@preact/signals-react/runtime\";\ninstallAutoSignalTracking();\n"],"names":["installAutoSignalTracking"],"mappings":"oCACAA,MAAAA,gCAAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@preact/signals-react-auto",
3
+ "description": "Sub package for @preact/signals-react that patches React to automatically update when signals change",
4
+ "private": true,
5
+ "amdName": "reactSignalsAuto",
6
+ "main": "dist/auto.js",
7
+ "module": "dist/auto.module.js",
8
+ "unpkg": "dist/auto.min.js",
9
+ "types": "dist/index.d.ts",
10
+ "mangle": "../../../mangle.json",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "browser": "./dist/auto.module.js",
15
+ "import": "./dist/auto.mjs",
16
+ "require": "./dist/auto.js"
17
+ }
18
+ },
19
+ "dependencies": {},
20
+ "peerDependencies": {
21
+ "@preact/signals-core": "workspace:^1.3.0",
22
+ "@preact/signals-react": "workspace:*",
23
+ "react": "^16.14.0 || 17.x || 18.x"
24
+ }
25
+ }
@@ -0,0 +1,2 @@
1
+ import { installAutoSignalTracking } from "@preact/signals-react/runtime";
2
+ installAutoSignalTracking();
package/dist/signals.js CHANGED
@@ -1 +1 @@
1
- var n=require("@preact/signals-core"),e=require("react"),r=require("use-sync-external-store/shim/index.js"),t=require("react/jsx-runtime"),i=require("react/jsx-dev-runtime");function u(n){return n&&"object"==typeof n&&"default"in n?n.default:n}var o=/*#__PURE__*/u(e),f=/*#__PURE__*/u(t),c=/*#__PURE__*/u(i),l=null,s=!1,a=null,v=new Map;function p(n){if(!n)return 1;var e,r=v.get(n);if(void 0!==r)return r;var t=n.useCallback.toString();if(n.useReducer===n.useEffect)e=1;else if(n.useEffect===n.useImperativeHandle)e=32;else if(/Invalid/.test(t))e=2;else if(/updateCallback/.test(t)||/\[0\]/.test(t)&&/\[1\]/.test(t)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\s*\[\w+,/.test(i))e=16;else e=8}else e=4;v.set(n,e);return e}var d=[],b=Symbol.for("react.element"),x=function(){};function y(e){if("function"!=typeof e)return e;else return function(r,t){if("string"==typeof r&&t)for(var i in t){var u=t[i];if("children"!==i&&u instanceof n.Signal)t[i]=u.value}return e.call.apply(e,[e,r,t].concat([].slice.call(arguments,2)))}}var h,g,m=Symbol.dispose||Symbol.for("Symbol.dispose");function S(n,e){var r=e.effect.S();h=e;return j.bind(e,n,r)}function j(n,e){e();h=n}({u:0,effect:{s:void 0,c:function(){},S:function(){return x},d:function(){}},subscribe:function(){return x},getSnapshot:function(){return 0},S:function(){},f:function(){}})[m]=function(){};var q=Promise.prototype.then.bind(Promise.resolve());function w(t){if(void 0===t)t=0;!function(){if(!g)g=q(function(){var n;g=void 0;null==(n=h)||n.f()})}();var i=e.useRef();if(null==i.current)i.current=function(e){var r,t,i,u,o=0,f=n.effect(function(){t=this});t.c=function(){o=o+1|0;if(u)u()};return(r={u:e,effect:t,subscribe:function(n){u=n;return function(){o=o+1|0;u=void 0;f()}},getSnapshot:function(){return o},S:function(){if(null!=h){var n=h.u,e=this.u;if(0==n&&0==e||0==n&&1==e){h.f();i=S(void 0,this)}else if(1==n&&0==e||2==n&&0==e);else i=S(h,this)}else i=S(void 0,this)},f:function(){null==i||i();i=void 0}})[m]=function(){this.f()},r}(t);var u=i.current;r.useSyncExternalStore(u.subscribe,u.getSnapshot,u.getSnapshot);u.S();return u}Object.defineProperties(n.Signal.prototype,{$$typeof:{configurable:!0,value:b},type:{configurable:!0,value:function(n){var e=n.data,r=w(1);try{return e.value}finally{r.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});!function(){Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return a},set:function(n){if(!s){var e=p(a),r=p(n);a=n;if(function(n,e){if(1&n&&28&e)return!0;else if(2&n||2&e)return!1;else return!1}(e,r)){s=!0;l=w(1);s=!1}else if(function(n,e){return Boolean(28&n&&16&e)}(e,r)){var t;null==(t=l)||t.f();s=!0;l=w(1);s=!1}else if(function(n,e){return Boolean(28&n&&1&e)}(e,r)){var i;null==(i=l)||i.f();l=null}}else a=n}});!function(){var n=f,e=c;o.createElement=y(o.createElement);e.jsx&&(e.jsx=y(e.jsx));n.jsx&&(n.jsx=y(n.jsx));e.jsxs&&(e.jsxs=y(e.jsxs));n.jsxs&&(n.jsxs=y(n.jsxs));e.jsxDEV&&(e.jsxDEV=y(e.jsxDEV));n.jsxDEV&&(n.jsxDEV=y(n.jsxDEV))}()}();exports.Signal=n.Signal;exports.batch=n.batch;exports.computed=n.computed;exports.effect=n.effect;exports.signal=n.signal;exports.untracked=n.untracked;exports.useComputed=function(r){var t=e.useRef(r);t.current=r;return e.useMemo(function(){return n.computed(function(){return t.current()})},d)};exports.useSignal=function(r){return e.useMemo(function(){return n.signal(r)},d)};exports.useSignalEffect=function(r){var t=e.useRef(r);t.current=r;e.useEffect(function(){return n.effect(function(){return t.current()})},d)};//# sourceMappingURL=signals.js.map
1
+ var r=require("@preact/signals-core"),e=require("@preact/signals-react/runtime");exports.Signal=r.Signal;exports.batch=r.batch;exports.computed=r.computed;exports.effect=r.effect;exports.signal=r.signal;exports.untracked=r.untracked;exports.useComputed=e.useComputed;exports.useSignal=e.useSignal;exports.useSignalEffect=e.useSignalEffect;//# sourceMappingURL=signals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signals.js","sources":["../runtime/dist/runtime.module.js","../src/index.ts"],"sourcesContent":["import{Signal as n,signal as r,computed as t,effect as e}from\"@preact/signals-core\";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from\"react\";import{useSyncExternalStore as l}from\"use-sync-external-store/shim/index.js\";import a from\"react/jsx-runtime\";import s from\"react/jsx-dev-runtime\";var v=!1,m=null,p=!1,d=null,b=new Map;function g(n){if(!n)return 1;var r,t=b.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\\[0\\]/.test(e)&&/\\[1\\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\\s*\\[\\w+,/.test(i))r=16;else r=8}else r=4;b.set(n,r);return r}function h(){!function(){v=!0;Object.defineProperty(u.ReactCurrentDispatcher,\"current\",{get:function(){return d},set:function(n){if(!p){var r=g(d),t=g(n);d=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=m)||e.f();p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=m)||i.f();m=null}}else d=n}})}();!function(){var n=a,r=s;i.createElement=j(i.createElement);r.jsx&&(r.jsx=j(r.jsx));n.jsx&&(n.jsx=j(n.jsx));r.jsxs&&(r.jsxs=j(r.jsxs));n.jsxs&&(n.jsxs=j(n.jsxs));r.jsxDEV&&(r.jsxDEV=j(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=j(n.jsxDEV))}()}var y=[],_=Symbol.for(\"react.element\"),S=function(){};function j(r){if(\"function\"!=typeof r)return r;else return function(t,e){if(\"string\"==typeof t&&e)for(var i in e){var u=e[i];if(\"children\"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,k=Symbol.dispose||Symbol.for(\"Symbol.dispose\");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}var O,P,$=((O={u:0,effect:{s:void 0,c:function(){},S:function(){return S},d:function(){}},subscribe:function(){return S},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){},O),C=Promise.prototype.then.bind(Promise.resolve());function I(){if(!P)P=C(function(){var n;P=void 0;null==(n=x)||n.f()})}function M(n){if(void 0===n)n=0;I();var r=f();if(null==r.current)r.current=function(n){var r,t,i,u,f=0,o=e(function(){t=this});t.c=function(){f=f+1|0;if(u)u()};return(r={u:n,effect:t,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},r}(n);var t=r.current;l(t.subscribe,t.getSnapshot,t.getSnapshot);t.S();return t}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:_},type:{configurable:!0,value:function(n){var r=n.data,t=M(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function R(n){if(v)return $;else return M(n)}function useSignal(n){return o(function(){return r(n)},y)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return t(function(){return r.current()})},y)}function useSignalEffect(n){var r=f(n);r.current=n;c(function(){return e(function(){return r.current()})},y)}export{M as _useSignalsImplementation,I as ensureFinalCleanup,h as installAutoSignalTracking,useComputed,useSignal,useSignalEffect,R as useSignals,j as wrapJsx};//# sourceMappingURL=runtime.module.js.map\n","import {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuntracked,\n} from \"@preact/signals-core\";\nimport type { ReactElement } from \"react\";\nimport {\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tinstallAutoSignalTracking,\n} from \"@preact/signals-react/runtime\"; // TODO: This duplicates runtime code between main and sub runtime packages\n\nexport {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tuntracked,\n};\n\ndeclare module \"@preact/signals-core\" {\n\t// @ts-ignore internal Signal is viewed as function\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\tinterface Signal extends ReactElement {}\n}\n\ninstallAutoSignalTracking();\n"],"names":["signalsCore","require","i","index_js","a","s","_interopDefaultLegacy","e","default","i__default","a__default","s__default","m","p","d","b","Map","g","n","r","t","get","useCallback","toString","useReducer","useEffect","useImperativeHandle","test","set","Object","defineProperty","u","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","M","Boolean","f","createElement","j","jsx","jsxs","jsxDEV","installAutoSignalTracking","exports","Signal","batch","computed","effect","signal","untracked","useComputed","useSignal","useSignalEffect"],"mappings":"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"}
1
+ {"version":3,"file":"signals.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1 @@
1
- !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@preact/signals-core"),require("react"),require("use-sync-external-store/shim/index.js"),require("react/jsx-runtime"),require("react/jsx-dev-runtime")):"function"==typeof define&&define.amd?define(["exports","@preact/signals-core","react","use-sync-external-store/shim/index.js","react/jsx-runtime","react/jsx-dev-runtime"],e):e((n||self).reactSignals={},n.preactSignalsCore,n.react,n.index_js,n.a,n.s)}(this,function(n,e,t,r,i,u){function f(n){return n&&"object"==typeof n&&"default"in n?n.default:n}var o=/*#__PURE__*/f(t),c=/*#__PURE__*/f(i),l=/*#__PURE__*/f(u),s=null,a=!1,v=null,d=new Map;function p(n){if(!n)return 1;var e,t=d.get(n);if(void 0!==t)return t;var r=n.useCallback.toString();if(n.useReducer===n.useEffect)e=1;else if(n.useEffect===n.useImperativeHandle)e=32;else if(/Invalid/.test(r))e=2;else if(/updateCallback/.test(r)||/\[0\]/.test(r)&&/\[1\]/.test(r)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\s*\[\w+,/.test(i))e=16;else e=8}else e=4;d.set(n,e);return e}var b=[],y=Symbol.for("react.element"),h=function(){};function m(n){if("function"!=typeof n)return n;else return function(t,r){if("string"==typeof t&&r)for(var i in r){var u=r[i];if("children"!==i&&u instanceof e.Signal)r[i]=u.value}return n.call.apply(n,[n,t,r].concat([].slice.call(arguments,2)))}}var g,x,j=Symbol.dispose||Symbol.for("Symbol.dispose");function S(n,e){var t=e.effect.S();g=e;return q.bind(e,n,t)}function q(n,e){e();g=n}({u:0,effect:{s:void 0,c:function(){},S:function(){return h},d:function(){}},subscribe:function(){return h},getSnapshot:function(){return 0},S:function(){},f:function(){}})[j]=function(){};var w=Promise.prototype.then.bind(Promise.resolve());function B(n){if(void 0===n)n=0;!function(){if(!x)x=w(function(){var n;x=void 0;null==(n=g)||n.f()})}();var i=t.useRef();if(null==i.current)i.current=function(n){var t,r,i,u,f=0,o=e.effect(function(){r=this});r.c=function(){f=f+1|0;if(u)u()};return(t={u:n,effect:r,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=g){var n=g.u,e=this.u;if(0==n&&0==e||0==n&&1==e){g.f();i=S(void 0,this)}else if(1==n&&0==e||2==n&&0==e);else i=S(g,this)}else i=S(void 0,this)},f:function(){null==i||i();i=void 0}})[j]=function(){this.f()},t}(n);var u=i.current;r.useSyncExternalStore(u.subscribe,u.getSnapshot,u.getSnapshot);u.S();return u}Object.defineProperties(e.Signal.prototype,{$$typeof:{configurable:!0,value:y},type:{configurable:!0,value:function(n){var e=n.data,t=B(1);try{return e.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});!function(){Object.defineProperty(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return v},set:function(n){if(!a){var e=p(v),t=p(n);v=n;if(function(n,e){if(1&n&&28&e)return!0;else if(2&n||2&e)return!1;else return!1}(e,t)){a=!0;s=B(1);a=!1}else if(function(n,e){return Boolean(28&n&&16&e)}(e,t)){var r;null==(r=s)||r.f();a=!0;s=B(1);a=!1}else if(function(n,e){return Boolean(28&n&&1&e)}(e,t)){var i;null==(i=s)||i.f();s=null}}else v=n}});!function(){var n=c,e=l;o.createElement=m(o.createElement);e.jsx&&(e.jsx=m(e.jsx));n.jsx&&(n.jsx=m(n.jsx));e.jsxs&&(e.jsxs=m(e.jsxs));n.jsxs&&(n.jsxs=m(n.jsxs));e.jsxDEV&&(e.jsxDEV=m(e.jsxDEV));n.jsxDEV&&(n.jsxDEV=m(n.jsxDEV))}()}();n.Signal=e.Signal;n.batch=e.batch;n.computed=e.computed;n.effect=e.effect;n.signal=e.signal;n.untracked=e.untracked;n.useComputed=function(n){var r=t.useRef(n);r.current=n;return t.useMemo(function(){return e.computed(function(){return r.current()})},b)};n.useSignal=function(n){return t.useMemo(function(){return e.signal(n)},b)};n.useSignalEffect=function(n){var r=t.useRef(n);r.current=n;t.useEffect(function(){return e.effect(function(){return r.current()})},b)}});//# sourceMappingURL=signals.min.js.map
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@preact/signals-core"),require("@preact/signals-react/runtime")):"function"==typeof define&&define.amd?define(["exports","@preact/signals-core","@preact/signals-react/runtime"],t):t((e||self).reactSignals={},e.preactSignalsCore,e.reactSignalsRuntime)}(this,function(e,t,i){e.Signal=t.Signal;e.batch=t.batch;e.computed=t.computed;e.effect=t.effect;e.signal=t.signal;e.untracked=t.untracked;e.useComputed=i.useComputed;e.useSignal=i.useSignal;e.useSignalEffect=i.useSignalEffect});//# sourceMappingURL=signals.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signals.min.js","sources":["../runtime/dist/runtime.module.js","../src/index.ts"],"sourcesContent":["import{Signal as n,signal as r,computed as t,effect as e}from\"@preact/signals-core\";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from\"react\";import{useSyncExternalStore as l}from\"use-sync-external-store/shim/index.js\";import a from\"react/jsx-runtime\";import s from\"react/jsx-dev-runtime\";var v=!1,m=null,p=!1,d=null,b=new Map;function g(n){if(!n)return 1;var r,t=b.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\\[0\\]/.test(e)&&/\\[1\\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\\s*\\[\\w+,/.test(i))r=16;else r=8}else r=4;b.set(n,r);return r}function h(){!function(){v=!0;Object.defineProperty(u.ReactCurrentDispatcher,\"current\",{get:function(){return d},set:function(n){if(!p){var r=g(d),t=g(n);d=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=m)||e.f();p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=m)||i.f();m=null}}else d=n}})}();!function(){var n=a,r=s;i.createElement=j(i.createElement);r.jsx&&(r.jsx=j(r.jsx));n.jsx&&(n.jsx=j(n.jsx));r.jsxs&&(r.jsxs=j(r.jsxs));n.jsxs&&(n.jsxs=j(n.jsxs));r.jsxDEV&&(r.jsxDEV=j(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=j(n.jsxDEV))}()}var y=[],_=Symbol.for(\"react.element\"),S=function(){};function j(r){if(\"function\"!=typeof r)return r;else return function(t,e){if(\"string\"==typeof t&&e)for(var i in e){var u=e[i];if(\"children\"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,k=Symbol.dispose||Symbol.for(\"Symbol.dispose\");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}var O,P,$=((O={u:0,effect:{s:void 0,c:function(){},S:function(){return S},d:function(){}},subscribe:function(){return S},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){},O),C=Promise.prototype.then.bind(Promise.resolve());function I(){if(!P)P=C(function(){var n;P=void 0;null==(n=x)||n.f()})}function M(n){if(void 0===n)n=0;I();var r=f();if(null==r.current)r.current=function(n){var r,t,i,u,f=0,o=e(function(){t=this});t.c=function(){f=f+1|0;if(u)u()};return(r={u:n,effect:t,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},r}(n);var t=r.current;l(t.subscribe,t.getSnapshot,t.getSnapshot);t.S();return t}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:_},type:{configurable:!0,value:function(n){var r=n.data,t=M(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function R(n){if(v)return $;else return M(n)}function useSignal(n){return o(function(){return r(n)},y)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return t(function(){return r.current()})},y)}function useSignalEffect(n){var r=f(n);r.current=n;c(function(){return e(function(){return r.current()})},y)}export{M as _useSignalsImplementation,I as ensureFinalCleanup,h as installAutoSignalTracking,useComputed,useSignal,useSignalEffect,R as useSignals,j as wrapJsx};//# sourceMappingURL=runtime.module.js.map\n","import {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuntracked,\n} from \"@preact/signals-core\";\nimport type { ReactElement } from \"react\";\nimport {\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tinstallAutoSignalTracking,\n} from \"@preact/signals-react/runtime\"; // TODO: This duplicates runtime code between main and sub runtime packages\n\nexport {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tuntracked,\n};\n\ndeclare module \"@preact/signals-core\" {\n\t// @ts-ignore internal Signal is viewed as function\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\tinterface Signal extends ReactElement {}\n}\n\ninstallAutoSignalTracking();\n"],"names":["g","f","exports","module","require","define","amd","globalThis","self","reactSignals","preactSignalsCore","react","index_js","a","s","this","signalsCore","i","_interopDefaultLegacy","e","default","i__default","a__default","s__default","m","p","d","b","Map","n","r","t","get","useCallback","toString","useReducer","useEffect","useImperativeHandle","test","set","Object","defineProperty","u","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","M","Boolean","createElement","j","jsx","jsxs","jsxDEV","installAutoSignalTracking","Signal","batch","computed","effect","signal","untracked","useComputed","useSignal","useSignalEffect"],"mappings":"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"}
1
+ {"version":3,"file":"signals.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/signals.mjs CHANGED
@@ -1 +1 @@
1
- import{Signal as n,effect as r,signal as t,computed as e}from"@preact/signals-core";export{Signal,batch,computed,effect,signal,untracked}from"@preact/signals-core";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from"react";import{useSyncExternalStore as l}from"use-sync-external-store/shim/index.js";import a from"react/jsx-runtime";import s from"react/jsx-dev-runtime";var v=null,m=!1,p=null,d=new Map;function b(n){if(!n)return 1;var r,t=d.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\[0\]/.test(e)&&/\[1\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\s*\[\w+,/.test(i))r=16;else r=8}else r=4;d.set(n,r);return r}var g=[],h=Symbol.for("react.element"),y=function(){};function S(r){if("function"!=typeof r)return r;else return function(t,e){if("string"==typeof t&&e)for(var i in e){var u=e[i];if("children"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,j,k=Symbol.dispose||Symbol.for("Symbol.dispose");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}({u:0,effect:{s:void 0,c:function(){},S:function(){return y},d:function(){}},subscribe:function(){return y},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){};var O=Promise.prototype.then.bind(Promise.resolve());function P(n){if(void 0===n)n=0;!function(){if(!j)j=O(function(){var n;j=void 0;null==(n=x)||n.f()})}();var t=f();if(null==t.current)t.current=function(n){var t,e,i,u,f=0,o=r(function(){e=this});e.c=function(){f=f+1|0;if(u)u()};return(t={u:n,effect:e,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},t}(n);var e=t.current;l(e.subscribe,e.getSnapshot,e.getSnapshot);e.S();return e}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:h},type:{configurable:!0,value:function(n){var r=n.data,t=P(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function useSignal(n){return o(function(){return t(n)},g)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return e(function(){return r.current()})},g)}function useSignalEffect(n){var t=f(n);t.current=n;c(function(){return r(function(){return t.current()})},g)}!function(){Object.defineProperty(u.ReactCurrentDispatcher,"current",{get:function(){return p},set:function(n){if(!m){var r=b(p),t=b(n);p=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){m=!0;v=P(1);m=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=v)||e.f();m=!0;v=P(1);m=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=v)||i.f();v=null}}else p=n}});!function(){var n=a,r=s;i.createElement=S(i.createElement);r.jsx&&(r.jsx=S(r.jsx));n.jsx&&(n.jsx=S(n.jsx));r.jsxs&&(r.jsxs=S(r.jsxs));n.jsxs&&(n.jsxs=S(n.jsxs));r.jsxDEV&&(r.jsxDEV=S(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=S(n.jsxDEV))}()}();export{useComputed,useSignal,useSignalEffect};//# sourceMappingURL=signals.mjs.map
1
+ export{Signal,batch,computed,effect,signal,untracked}from"@preact/signals-core";export{useComputed,useSignal,useSignalEffect}from"@preact/signals-react/runtime";//# sourceMappingURL=signals.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"signals.mjs","sources":["../runtime/dist/runtime.module.js","../src/index.ts"],"sourcesContent":["import{Signal as n,signal as r,computed as t,effect as e}from\"@preact/signals-core\";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from\"react\";import{useSyncExternalStore as l}from\"use-sync-external-store/shim/index.js\";import a from\"react/jsx-runtime\";import s from\"react/jsx-dev-runtime\";var v=!1,m=null,p=!1,d=null,b=new Map;function g(n){if(!n)return 1;var r,t=b.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\\[0\\]/.test(e)&&/\\[1\\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\\s*\\[\\w+,/.test(i))r=16;else r=8}else r=4;b.set(n,r);return r}function h(){!function(){v=!0;Object.defineProperty(u.ReactCurrentDispatcher,\"current\",{get:function(){return d},set:function(n){if(!p){var r=g(d),t=g(n);d=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=m)||e.f();p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=m)||i.f();m=null}}else d=n}})}();!function(){var n=a,r=s;i.createElement=j(i.createElement);r.jsx&&(r.jsx=j(r.jsx));n.jsx&&(n.jsx=j(n.jsx));r.jsxs&&(r.jsxs=j(r.jsxs));n.jsxs&&(n.jsxs=j(n.jsxs));r.jsxDEV&&(r.jsxDEV=j(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=j(n.jsxDEV))}()}var y=[],_=Symbol.for(\"react.element\"),S=function(){};function j(r){if(\"function\"!=typeof r)return r;else return function(t,e){if(\"string\"==typeof t&&e)for(var i in e){var u=e[i];if(\"children\"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,k=Symbol.dispose||Symbol.for(\"Symbol.dispose\");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}var O,P,$=((O={u:0,effect:{s:void 0,c:function(){},S:function(){return S},d:function(){}},subscribe:function(){return S},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){},O),C=Promise.prototype.then.bind(Promise.resolve());function I(){if(!P)P=C(function(){var n;P=void 0;null==(n=x)||n.f()})}function M(n){if(void 0===n)n=0;I();var r=f();if(null==r.current)r.current=function(n){var r,t,i,u,f=0,o=e(function(){t=this});t.c=function(){f=f+1|0;if(u)u()};return(r={u:n,effect:t,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},r}(n);var t=r.current;l(t.subscribe,t.getSnapshot,t.getSnapshot);t.S();return t}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:_},type:{configurable:!0,value:function(n){var r=n.data,t=M(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function R(n){if(v)return $;else return M(n)}function useSignal(n){return o(function(){return r(n)},y)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return t(function(){return r.current()})},y)}function useSignalEffect(n){var r=f(n);r.current=n;c(function(){return e(function(){return r.current()})},y)}export{M as _useSignalsImplementation,I as ensureFinalCleanup,h as installAutoSignalTracking,useComputed,useSignal,useSignalEffect,R as useSignals,j as wrapJsx};//# sourceMappingURL=runtime.module.js.map\n","import {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuntracked,\n} from \"@preact/signals-core\";\nimport type { ReactElement } from \"react\";\nimport {\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tinstallAutoSignalTracking,\n} from \"@preact/signals-react/runtime\"; // TODO: This duplicates runtime code between main and sub runtime packages\n\nexport {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tuntracked,\n};\n\ndeclare module \"@preact/signals-core\" {\n\t// @ts-ignore internal Signal is viewed as function\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\tinterface Signal extends ReactElement {}\n}\n\ninstallAutoSignalTracking();\n"],"names":["Signal","effect","signal","computed","batch","untracked","i","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","useRef","useMemo","useEffect","useSyncExternalStore","a","s","m","p","d","b","Map","g","n","r","t","get","e","useCallback","toString","useReducer","useImperativeHandle","test","set","Object","defineProperty","u","ReactCurrentDispatcher","M","Boolean","f","createElement","j","jsx","jsxs","jsxDEV","installAutoSignalTracking","useComputed","useSignal","useSignalEffect"],"mappings":"iBAoJWA,YAAAC,YAAAC,cAAAC,MAAA,8BAAAH,OAAAI,MAAAD,SAAAF,OAAAC,OAAAG,cAAA,8BAAAC,yDAAAC,YAAAC,aAAAC,eAAAC,MAAA,uCAAAC,MAAA,+CAAAC,MAAA,2BAAAC,MAAA,wBAAA,IAEPC,EAA4B,KAC5BC,KACAC,EAA4C,KAsD1CC,EAAsB,IAAIC,IAChC,SAASC,EAAkBC,GAE1B,IAAKA,EAAY,SAEjB,IAOIC,EAPEC,EAASL,EAAoBM,IAAIH,GACvC,QAAA,IAAIE,EAAsB,OAAOA,EAOjC,IAAME,EAAkBJ,EAAWK,YAAYC,WAC/C,GAAIN,EAAWO,aAAeP,EAAWV,UACxCW,EAxBgC,OA4BtB,GAAAD,EAAWV,YAAcU,EAAWQ,oBAC9CP,EAxB2B,QAyBjB,GAAA,UAAUQ,KAAKL,GAGzBH,EAhC4B,OAAA,GA0C5B,iBAAiBQ,KAAKL,IACrB,QAAQK,KAAKL,IAAoB,QAAQK,KAAKL,GAC9C,CAID,IAAIlB,EAAiBc,EAAWO,WAAWD,WAC3C,GAQC,kBAAkBG,KAAKvB,IACvB,kBAAkBuB,KAAKvB,GAEvBe,EAzD4B,QA2D5BA,EA5D0B,CA8D3B,MACAA,EAhE0B,EAmE3BJ,EAAoBa,IAAIV,EAAYC,GACpC,OAAOA,CACR,m1DAAA,WA/GCU,OAAOC,eAAeC,EAAeC,uBAAwB,UAAW,CACvEX,IAAG,WACF,OAAOP,CACR,EACAc,IAAG,SAACV,GACH,IAAIL,EAAJ,CAKA,IAAMM,EAAwBF,EAAkBH,GAC1CM,EAAqBH,EAAkBC,GAI7CJ,EAAoBI,EACpB,GAiGH,SACCA,EACAC,GAEA,GA7EiC,EA8EhCD,GAvED,GAwECC,EAMA,OAAA,OApF4B,GAAA,EAsF5BD,GAtF4B,EAuF5BC,EAQA,cAoBO,OAAA,CAET,CA7CA,CAhG8BA,EAAuBC,GAChD,CACDP,GAAA,EACAD,EAAQqB,EAA0B,GAClCpB,IACA,MA0IJ,GAAA,SACCK,EACAC,GAcA,OAAOe,QAjIP,GAkIChB,GArI6B,GAsI5BC,EAEH,CApBA,CAzIgCA,EAAuBC,GAClD,CAAAE,IAAAA,EACI,OAALA,EAAAV,IAAAU,EAAOa,IACPtB,GAAA,EACAD,EAAQqB,EAA0B,GAClCpB,GAAO,CACP,MA6JJ,GAAA,SACCK,EACAC,GAEA,OAAOe,QA/IP,GAgJChB,GAvJgC,EAwJ/BC,EAEH,CARA,CA5J6BA,EAAuBC,GAC/C,CAAA,IAAAhB,EACDA,OAAAA,EAAAQ,IAAAR,EAAO+B,IACPvB,EAAQ,IACR,CA1BA,MAFAE,EAAoBI,CA6BtB,KAwKD,WAAA,IAAMA,EAA2BR,EAC3BS,EAA2BR,EASjCP,EAAMgC,cAAgBC,EAAQjC,EAAMgC,eACpCjB,EAAOmB,MAAgBnB,EAAOmB,IAAMD,EAAQlB,EAAOmB,MACnDpB,EAAOoB,MAAgBpB,EAAOoB,IAAMD,EAAQnB,EAAOoB,MACnDnB,EAAOoB,OAAgBpB,EAAOoB,KAAOF,EAAQlB,EAAOoB,OACpDrB,EAAOqB,OAAgBrB,EAAOqB,KAAOF,EAAQnB,EAAOqB,OACpDpB,EAAOqB,SAAgBrB,EAAOqB,OAASH,EAAQlB,EAAOqB,SACtDtB,EAAOsB,SAAgBtB,EAAOsB,OAASH,EAAQnB,EAAOsB,QACvD,CAjBC,EAsBD,CC1VAC,UAA2BC,YAAAC,UAAAC"}
1
+ {"version":3,"file":"signals.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1 @@
1
- import{Signal as n,effect as r,signal as t,computed as e}from"@preact/signals-core";export{Signal,batch,computed,effect,signal,untracked}from"@preact/signals-core";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from"react";import{useSyncExternalStore as l}from"use-sync-external-store/shim/index.js";import a from"react/jsx-runtime";import s from"react/jsx-dev-runtime";var v=null,m=!1,p=null,d=new Map;function b(n){if(!n)return 1;var r,t=d.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\[0\]/.test(e)&&/\[1\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\s*\[\w+,/.test(i))r=16;else r=8}else r=4;d.set(n,r);return r}var g=[],h=Symbol.for("react.element"),y=function(){};function S(r){if("function"!=typeof r)return r;else return function(t,e){if("string"==typeof t&&e)for(var i in e){var u=e[i];if("children"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,j,k=Symbol.dispose||Symbol.for("Symbol.dispose");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}({u:0,effect:{s:void 0,c:function(){},S:function(){return y},d:function(){}},subscribe:function(){return y},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){};var O=Promise.prototype.then.bind(Promise.resolve());function P(n){if(void 0===n)n=0;!function(){if(!j)j=O(function(){var n;j=void 0;null==(n=x)||n.f()})}();var t=f();if(null==t.current)t.current=function(n){var t,e,i,u,f=0,o=r(function(){e=this});e.c=function(){f=f+1|0;if(u)u()};return(t={u:n,effect:e,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},t}(n);var e=t.current;l(e.subscribe,e.getSnapshot,e.getSnapshot);e.S();return e}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:h},type:{configurable:!0,value:function(n){var r=n.data,t=P(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function useSignal(n){return o(function(){return t(n)},g)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return e(function(){return r.current()})},g)}function useSignalEffect(n){var t=f(n);t.current=n;c(function(){return r(function(){return t.current()})},g)}!function(){Object.defineProperty(u.ReactCurrentDispatcher,"current",{get:function(){return p},set:function(n){if(!m){var r=b(p),t=b(n);p=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){m=!0;v=P(1);m=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=v)||e.f();m=!0;v=P(1);m=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=v)||i.f();v=null}}else p=n}});!function(){var n=a,r=s;i.createElement=S(i.createElement);r.jsx&&(r.jsx=S(r.jsx));n.jsx&&(n.jsx=S(n.jsx));r.jsxs&&(r.jsxs=S(r.jsxs));n.jsxs&&(n.jsxs=S(n.jsxs));r.jsxDEV&&(r.jsxDEV=S(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=S(n.jsxDEV))}()}();export{useComputed,useSignal,useSignalEffect};//# sourceMappingURL=signals.module.js.map
1
+ export{Signal,batch,computed,effect,signal,untracked}from"@preact/signals-core";export{useComputed,useSignal,useSignalEffect}from"@preact/signals-react/runtime";//# sourceMappingURL=signals.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signals.module.js","sources":["../runtime/dist/runtime.module.js","../src/index.ts"],"sourcesContent":["import{Signal as n,signal as r,computed as t,effect as e}from\"@preact/signals-core\";import i,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as u,useRef as f,useMemo as o,useEffect as c}from\"react\";import{useSyncExternalStore as l}from\"use-sync-external-store/shim/index.js\";import a from\"react/jsx-runtime\";import s from\"react/jsx-dev-runtime\";var v=!1,m=null,p=!1,d=null,b=new Map;function g(n){if(!n)return 1;var r,t=b.get(n);if(void 0!==t)return t;var e=n.useCallback.toString();if(n.useReducer===n.useEffect)r=1;else if(n.useEffect===n.useImperativeHandle)r=32;else if(/Invalid/.test(e))r=2;else if(/updateCallback/.test(e)||/\\[0\\]/.test(e)&&/\\[1\\]/.test(e)){var i=n.useReducer.toString();if(/rerenderReducer/.test(i)||/return\\s*\\[\\w+,/.test(i))r=16;else r=8}else r=4;b.set(n,r);return r}function h(){!function(){v=!0;Object.defineProperty(u.ReactCurrentDispatcher,\"current\",{get:function(){return d},set:function(n){if(!p){var r=g(d),t=g(n);d=n;if(function(n,r){if(1&n&&28&r)return!0;else if(2&n||2&r)return!1;else return!1}(r,t)){p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&16&r)}(r,t)){var e;null==(e=m)||e.f();p=!0;m=M(1);p=!1}else if(function(n,r){return Boolean(28&n&&1&r)}(r,t)){var i;null==(i=m)||i.f();m=null}}else d=n}})}();!function(){var n=a,r=s;i.createElement=j(i.createElement);r.jsx&&(r.jsx=j(r.jsx));n.jsx&&(n.jsx=j(n.jsx));r.jsxs&&(r.jsxs=j(r.jsxs));n.jsxs&&(n.jsxs=j(n.jsxs));r.jsxDEV&&(r.jsxDEV=j(r.jsxDEV));n.jsxDEV&&(n.jsxDEV=j(n.jsxDEV))}()}var y=[],_=Symbol.for(\"react.element\"),S=function(){};function j(r){if(\"function\"!=typeof r)return r;else return function(t,e){if(\"string\"==typeof t&&e)for(var i in e){var u=e[i];if(\"children\"!==i&&u instanceof n)e[i]=u.value}return r.call.apply(r,[r,t,e].concat([].slice.call(arguments,2)))}}var x,k=Symbol.dispose||Symbol.for(\"Symbol.dispose\");function w(n,r){var t=r.effect.S();x=r;return B.bind(r,n,t)}function B(n,r){r();x=n}var O,P,$=((O={u:0,effect:{s:void 0,c:function(){},S:function(){return S},d:function(){}},subscribe:function(){return S},getSnapshot:function(){return 0},S:function(){},f:function(){}})[k]=function(){},O),C=Promise.prototype.then.bind(Promise.resolve());function I(){if(!P)P=C(function(){var n;P=void 0;null==(n=x)||n.f()})}function M(n){if(void 0===n)n=0;I();var r=f();if(null==r.current)r.current=function(n){var r,t,i,u,f=0,o=e(function(){t=this});t.c=function(){f=f+1|0;if(u)u()};return(r={u:n,effect:t,subscribe:function(n){u=n;return function(){f=f+1|0;u=void 0;o()}},getSnapshot:function(){return f},S:function(){if(null!=x){var n=x.u,r=this.u;if(0==n&&0==r||0==n&&1==r){x.f();i=w(void 0,this)}else if(1==n&&0==r||2==n&&0==r);else i=w(x,this)}else i=w(void 0,this)},f:function(){null==i||i();i=void 0}})[k]=function(){this.f()},r}(n);var t=r.current;l(t.subscribe,t.getSnapshot,t.getSnapshot);t.S();return t}Object.defineProperties(n.prototype,{$$typeof:{configurable:!0,value:_},type:{configurable:!0,value:function(n){var r=n.data,t=M(1);try{return r.value}finally{t.f()}}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});function R(n){if(v)return $;else return M(n)}function useSignal(n){return o(function(){return r(n)},y)}function useComputed(n){var r=f(n);r.current=n;return o(function(){return t(function(){return r.current()})},y)}function useSignalEffect(n){var r=f(n);r.current=n;c(function(){return e(function(){return r.current()})},y)}export{M as _useSignalsImplementation,I as ensureFinalCleanup,h as installAutoSignalTracking,useComputed,useSignal,useSignalEffect,R as useSignals,j as wrapJsx};//# sourceMappingURL=runtime.module.js.map\n","import {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuntracked,\n} from \"@preact/signals-core\";\nimport type { ReactElement } from \"react\";\nimport {\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tinstallAutoSignalTracking,\n} from \"@preact/signals-react/runtime\"; // TODO: This duplicates runtime code between main and sub runtime packages\n\nexport {\n\tsignal,\n\tcomputed,\n\tbatch,\n\teffect,\n\tSignal,\n\ttype ReadonlySignal,\n\tuseSignal,\n\tuseComputed,\n\tuseSignalEffect,\n\tuntracked,\n};\n\ndeclare module \"@preact/signals-core\" {\n\t// @ts-ignore internal Signal is viewed as function\n\t// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\tinterface Signal extends ReactElement {}\n}\n\ninstallAutoSignalTracking();\n"],"names":["Signal","effect","signal","computed","batch","untracked","i","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","useRef","useMemo","useEffect","useSyncExternalStore","a","s","m","p","d","b","Map","g","n","r","t","get","e","useCallback","toString","useReducer","useImperativeHandle","test","set","Object","defineProperty","u","ReactCurrentDispatcher","M","Boolean","f","createElement","j","jsx","jsxs","jsxDEV","installAutoSignalTracking","useComputed","useSignal","useSignalEffect"],"mappings":"iBAoJWA,YAAAC,YAAAC,cAAAC,MAAA,8BAAAH,OAAAI,MAAAD,SAAAF,OAAAC,OAAAG,cAAA,8BAAAC,yDAAAC,YAAAC,aAAAC,eAAAC,MAAA,uCAAAC,MAAA,+CAAAC,MAAA,2BAAAC,MAAA,wBAAA,IAEPC,EAA4B,KAC5BC,KACAC,EAA4C,KAsD1CC,EAAsB,IAAIC,IAChC,SAASC,EAAkBC,GAE1B,IAAKA,EAAY,SAEjB,IAOIC,EAPEC,EAASL,EAAoBM,IAAIH,GACvC,QAAA,IAAIE,EAAsB,OAAOA,EAOjC,IAAME,EAAkBJ,EAAWK,YAAYC,WAC/C,GAAIN,EAAWO,aAAeP,EAAWV,UACxCW,EAxBgC,OA4BtB,GAAAD,EAAWV,YAAcU,EAAWQ,oBAC9CP,EAxB2B,QAyBjB,GAAA,UAAUQ,KAAKL,GAGzBH,EAhC4B,OAAA,GA0C5B,iBAAiBQ,KAAKL,IACrB,QAAQK,KAAKL,IAAoB,QAAQK,KAAKL,GAC9C,CAID,IAAIlB,EAAiBc,EAAWO,WAAWD,WAC3C,GAQC,kBAAkBG,KAAKvB,IACvB,kBAAkBuB,KAAKvB,GAEvBe,EAzD4B,QA2D5BA,EA5D0B,CA8D3B,MACAA,EAhE0B,EAmE3BJ,EAAoBa,IAAIV,EAAYC,GACpC,OAAOA,CACR,m1DAAA,WA/GCU,OAAOC,eAAeC,EAAeC,uBAAwB,UAAW,CACvEX,IAAG,WACF,OAAOP,CACR,EACAc,IAAG,SAACV,GACH,IAAIL,EAAJ,CAKA,IAAMM,EAAwBF,EAAkBH,GAC1CM,EAAqBH,EAAkBC,GAI7CJ,EAAoBI,EACpB,GAiGH,SACCA,EACAC,GAEA,GA7EiC,EA8EhCD,GAvED,GAwECC,EAMA,OAAA,OApF4B,GAAA,EAsF5BD,GAtF4B,EAuF5BC,EAQA,cAoBO,OAAA,CAET,CA7CA,CAhG8BA,EAAuBC,GAChD,CACDP,GAAA,EACAD,EAAQqB,EAA0B,GAClCpB,IACA,MA0IJ,GAAA,SACCK,EACAC,GAcA,OAAOe,QAjIP,GAkIChB,GArI6B,GAsI5BC,EAEH,CApBA,CAzIgCA,EAAuBC,GAClD,CAAAE,IAAAA,EACI,OAALA,EAAAV,IAAAU,EAAOa,IACPtB,GAAA,EACAD,EAAQqB,EAA0B,GAClCpB,GAAO,CACP,MA6JJ,GAAA,SACCK,EACAC,GAEA,OAAOe,QA/IP,GAgJChB,GAvJgC,EAwJ/BC,EAEH,CARA,CA5J6BA,EAAuBC,GAC/C,CAAA,IAAAhB,EACDA,OAAAA,EAAAQ,IAAAR,EAAO+B,IACPvB,EAAQ,IACR,CA1BA,MAFAE,EAAoBI,CA6BtB,KAwKD,WAAA,IAAMA,EAA2BR,EAC3BS,EAA2BR,EASjCP,EAAMgC,cAAgBC,EAAQjC,EAAMgC,eACpCjB,EAAOmB,MAAgBnB,EAAOmB,IAAMD,EAAQlB,EAAOmB,MACnDpB,EAAOoB,MAAgBpB,EAAOoB,IAAMD,EAAQnB,EAAOoB,MACnDnB,EAAOoB,OAAgBpB,EAAOoB,KAAOF,EAAQlB,EAAOoB,OACpDrB,EAAOqB,OAAgBrB,EAAOqB,KAAOF,EAAQnB,EAAOqB,OACpDpB,EAAOqB,SAAgBrB,EAAOqB,OAASH,EAAQlB,EAAOqB,SACtDtB,EAAOsB,SAAgBtB,EAAOsB,OAASH,EAAQnB,EAAOsB,QACvD,CAjBC,EAsBD,CC1VAC,UAA2BC,YAAAC,UAAAC"}
1
+ {"version":3,"file":"signals.module.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@preact/signals-react",
3
- "version": "1.3.8",
3
+ "version": "2.0.1",
4
4
  "license": "MIT",
5
5
  "description": "Manage state with style in React",
6
6
  "keywords": [],
@@ -37,7 +37,14 @@
37
37
  "import": "./runtime/dist/runtime.mjs",
38
38
  "require": "./runtime/dist/runtime.js"
39
39
  },
40
- "./runtime/package.json": "./runtime/package.json"
40
+ "./runtime/package.json": "./runtime/package.json",
41
+ "./auto": {
42
+ "types": "./auto/dist/index.d.ts",
43
+ "browser": "./auto/dist/auto.module.js",
44
+ "import": "./auto/dist/auto.mjs",
45
+ "require": "./auto/dist/auto.js"
46
+ },
47
+ "./auto/package.json": "./auto/package.json"
41
48
  },
42
49
  "mangle": "../../mangle.json",
43
50
  "files": [
@@ -46,12 +53,15 @@
46
53
  "runtime/dist",
47
54
  "runtime/src",
48
55
  "runtime/package.json",
56
+ "auto/dist",
57
+ "auto/src",
58
+ "auto/package.json",
49
59
  "CHANGELOG.md",
50
60
  "LICENSE",
51
61
  "README.md"
52
62
  ],
53
63
  "dependencies": {
54
- "@preact/signals-core": "^1.5.1",
64
+ "@preact/signals-core": "^1.6.0",
55
65
  "use-sync-external-store": "^1.2.0"
56
66
  },
57
67
  "peerDependencies": {
@@ -65,5 +75,8 @@
65
75
  "react-dom": "^18.2.0",
66
76
  "react-router-dom": "^6.9.0"
67
77
  },
78
+ "publishConfig": {
79
+ "provenance": true
80
+ },
68
81
  "scripts": {}
69
82
  }
package/src/index.ts CHANGED
@@ -1,3 +1,11 @@
1
+ // !!!!!!!!!!!!!!!!!!!!
2
+ //
3
+ // Imports to other packages (e.g. `react` or `@preact/signals-core`) or
4
+ // subpackages (e.g. `@preact/signals-react/runtime`) in this file should be
5
+ // listed as "external" in cmdline arguments passed to microbundle in the root
6
+ // package.json script for this package so their contents aren't bundled into
7
+ // the final source file.
8
+
1
9
  import {
2
10
  signal,
3
11
  computed,
@@ -12,8 +20,7 @@ import {
12
20
  useSignal,
13
21
  useComputed,
14
22
  useSignalEffect,
15
- installAutoSignalTracking,
16
- } from "@preact/signals-react/runtime"; // TODO: This duplicates runtime code between main and sub runtime packages
23
+ } from "@preact/signals-react/runtime";
17
24
 
18
25
  export {
19
26
  signal,
@@ -33,5 +40,3 @@ declare module "@preact/signals-core" {
33
40
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
34
41
  interface Signal extends ReactElement {}
35
42
  }
36
-
37
- installAutoSignalTracking();