@solidjs/signals 2.0.0-beta.17 → 2.0.0-beta.19
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 +4 -3
- package/dist/dev.js +2956 -646
- package/dist/node.cjs +6396 -3974
- package/dist/prod/affects.js +222 -0
- package/dist/prod/boundaries.js +568 -0
- package/dist/prod/core/action.js +83 -0
- package/dist/prod/core/async.js +394 -0
- package/dist/prod/core/constants.js +78 -0
- package/dist/prod/core/context.js +67 -0
- package/dist/prod/core/core.js +772 -0
- package/dist/prod/core/dev.js +3 -0
- package/dist/prod/core/effect.js +145 -0
- package/dist/prod/core/error.js +59 -0
- package/dist/prod/core/external.js +98 -0
- package/dist/prod/core/graph.js +91 -0
- package/dist/prod/core/heap.js +132 -0
- package/dist/prod/core/invariants.js +42 -0
- package/dist/prod/core/lanes.js +130 -0
- package/dist/prod/core/optimistic.js +265 -0
- package/dist/prod/core/owner.js +293 -0
- package/dist/prod/core/scheduler.js +689 -0
- package/dist/prod/core/verdict.js +293 -0
- package/dist/prod/index.js +45 -0
- package/dist/prod/map.js +264 -0
- package/dist/prod/signals.js +389 -0
- package/dist/prod/store/optimistic.js +149 -0
- package/dist/prod/store/projection.js +184 -0
- package/dist/prod/store/reconcile.js +392 -0
- package/dist/prod/store/store.js +739 -0
- package/dist/prod/store/storePath.js +103 -0
- package/dist/prod/store/utils.js +297 -0
- package/dist/types/affects.d.ts +47 -0
- package/dist/types/boundaries.d.ts +8 -8
- package/dist/types/core/async.d.ts +5 -2
- package/dist/types/core/constants.d.ts +8 -0
- package/dist/types/core/core.d.ts +12 -69
- package/dist/types/core/dev.d.ts +1 -1
- package/dist/types/core/external.d.ts +0 -30
- package/dist/types/core/heap.d.ts +8 -0
- package/dist/types/core/index.d.ts +3 -2
- package/dist/types/core/invariants.d.ts +10 -0
- package/dist/types/core/optimistic.d.ts +6 -0
- package/dist/types/core/owner.d.ts +8 -0
- package/dist/types/core/scheduler.d.ts +53 -5
- package/dist/types/core/types.d.ts +22 -5
- package/dist/types/core/verdict.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/store/projection.d.ts +0 -1
- package/dist/types/store/store.d.ts +32 -14
- package/dist/types-cjs/affects.d.cts +47 -0
- package/dist/types-cjs/boundaries.d.cts +8 -8
- package/dist/types-cjs/core/async.d.cts +5 -2
- package/dist/types-cjs/core/constants.d.cts +8 -0
- package/dist/types-cjs/core/core.d.cts +12 -69
- package/dist/types-cjs/core/dev.d.cts +1 -1
- package/dist/types-cjs/core/external.d.cts +0 -30
- package/dist/types-cjs/core/heap.d.cts +8 -0
- package/dist/types-cjs/core/index.d.cts +3 -2
- package/dist/types-cjs/core/invariants.d.cts +10 -0
- package/dist/types-cjs/core/optimistic.d.cts +6 -0
- package/dist/types-cjs/core/owner.d.cts +8 -0
- package/dist/types-cjs/core/scheduler.d.cts +53 -5
- package/dist/types-cjs/core/types.d.cts +22 -5
- package/dist/types-cjs/core/verdict.d.cts +2 -0
- package/dist/types-cjs/index.d.cts +1 -0
- package/dist/types-cjs/store/projection.d.cts +0 -1
- package/dist/types-cjs/store/store.d.cts +32 -14
- package/package.json +8 -6
- package/dist/prod.js +0 -4406
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installs the engine's hooks. Idempotent; called by every module that can
|
|
3
|
+
* create optimistic state (verdict.ts at module top level, createOptimistic
|
|
4
|
+
* and createOptimisticStore at first call) BEFORE any optimistic node exists.
|
|
5
|
+
*/
|
|
6
|
+
export declare function installOptimisticEngine(): void;
|
|
@@ -9,6 +9,14 @@ export declare function disposeChildren(node: Owner, self?: boolean, zombie?: bo
|
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
11
|
export declare function getNextChildId(owner: Owner): string;
|
|
12
|
+
/**
|
|
13
|
+
* The id a freshly-created node inherits: an explicit `options.id` wins;
|
|
14
|
+
* transparent nodes share their parent's id; otherwise the parent's next
|
|
15
|
+
* child id is consumed (or `undefined` outside an id-carrying tree).
|
|
16
|
+
*/
|
|
17
|
+
export declare function inheritId(options: {
|
|
18
|
+
id?: string;
|
|
19
|
+
} | undefined, transparent: boolean, parent: Owner | null | undefined): string | undefined;
|
|
12
20
|
/**
|
|
13
21
|
* Returns the *next* child id for `owner` without consuming it. Used by
|
|
14
22
|
* hydration plumbing to peek at the id a future child will receive.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Heap } from "./heap.cjs";
|
|
2
|
-
import { activeLanes, assignOrMergeLane, findLane } from "./lanes.cjs";
|
|
2
|
+
import { activeLanes, assignOrMergeLane, findLane, type OptimisticLane } from "./lanes.cjs";
|
|
3
3
|
import type { Computed, Signal } from "./types.cjs";
|
|
4
4
|
export { activeLanes, assignOrMergeLane, findLane };
|
|
5
5
|
export { getOrCreateLane, hasActiveOverride, mergeLanes, resolveLane } from "./lanes.cjs";
|
|
@@ -20,7 +20,6 @@ export declare function resetUnhandledAsync(): void;
|
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
22
|
export declare function enforceLoadingBoundary(enabled: boolean): void;
|
|
23
|
-
export declare function shouldReadStashedOptimisticValue(node: Signal<any>): boolean;
|
|
24
23
|
export declare function setProjectionWriteActive(value: boolean): void;
|
|
25
24
|
export declare function setTrackedQueueCallback(value: boolean): void;
|
|
26
25
|
export type QueueCallback = (type: number) => void;
|
|
@@ -34,6 +33,7 @@ export interface Transition {
|
|
|
34
33
|
_asyncReporters: Map<Computed<any>, Set<Computed<any>>>;
|
|
35
34
|
_pendingNodes: Signal<any>[];
|
|
36
35
|
_optimisticNodes: OptimisticNode[];
|
|
36
|
+
_affectsNodes: OptimisticNode[];
|
|
37
37
|
_optimisticStores: Set<any>;
|
|
38
38
|
_actions: Array<Generator<any, any, any> | AsyncGenerator<any, any, any>>;
|
|
39
39
|
_queueStash: QueueStub;
|
|
@@ -46,7 +46,7 @@ export declare function schedule(): void;
|
|
|
46
46
|
* every boundary — app state is undefined at that point, so scheduling stops
|
|
47
47
|
* entirely rather than limping along with a half-applied update.
|
|
48
48
|
*/
|
|
49
|
-
export declare function haltReactivity(): void;
|
|
49
|
+
export declare function haltReactivity(cause?: unknown): void;
|
|
50
50
|
/** @internal Test/dev-reload hook. Revives scheduling after a halt. */
|
|
51
51
|
export declare function resetErrorHalt(): void;
|
|
52
52
|
export interface IQueue {
|
|
@@ -78,19 +78,67 @@ export declare class GlobalQueue extends Queue {
|
|
|
78
78
|
_pendingNode: Signal<any> | null;
|
|
79
79
|
_pendingNodes: Signal<any>[];
|
|
80
80
|
_optimisticNodes: OptimisticNode[];
|
|
81
|
+
_affectsNodes: OptimisticNode[];
|
|
81
82
|
_optimisticStores: Set<any>;
|
|
82
83
|
static _update: (el: Computed<unknown>) => void;
|
|
83
84
|
static _dispose: (el: Computed<unknown>, self: boolean, zombie: boolean) => void;
|
|
84
85
|
static _runEffect: (el: Computed<unknown>) => void;
|
|
85
|
-
static
|
|
86
|
+
static _clearOptimisticStores: ((stores: Set<any>) => void) | null;
|
|
87
|
+
static _releaseAffectsScope: ((node: OptimisticNode) => void) | null;
|
|
88
|
+
static _applyAffectsReads: ((el: Computed<any>, sources: (Signal<any> | Computed<any>)[]) => void) | null;
|
|
89
|
+
static _releaseAffectsMarks: ((nodes: OptimisticNode[]) => void) | null;
|
|
90
|
+
static _markAffects: ((node: OptimisticNode) => void) | null;
|
|
91
|
+
static _releaseAffectsMark: ((node: OptimisticNode) => void) | null;
|
|
92
|
+
static _onlyMarkPending: ((el: Computed<any>) => boolean) | null;
|
|
93
|
+
static _collectMarkSources: ((el: Computed<any>, into: OptimisticNode[]) => void) | null;
|
|
94
|
+
static _wireExternalSource: ((self: Computed<any>) => void) | null;
|
|
95
|
+
static _externalUntrack: (<T>(fn: () => T) => T) | null;
|
|
96
|
+
static _syncCompanions: (<T>(el: Signal<T> | Computed<T>, value: T) => void) | null;
|
|
97
|
+
static _updatePendingSignal: ((el: OptimisticNode) => void) | null;
|
|
98
|
+
static _updateChildCompanions: ((el: Computed<any>) => void) | null;
|
|
99
|
+
static _snapCompanions: ((el: OptimisticNode) => void) | null;
|
|
100
|
+
static _latestRead: (<T>(el: Signal<T> | Computed<T>) => T) | null;
|
|
101
|
+
static _pendingCheck: ((el: OptimisticNode, c: Computed<any> | null, owner: OptimisticNode, firewall: Computed<any> | null) => void) | null;
|
|
102
|
+
static _recordFresh: ((el: OptimisticNode, value: any) => void) | null;
|
|
103
|
+
static _applyReask: ((el: Computed<any>, hadReask: boolean) => boolean) | null;
|
|
104
|
+
static _repollVerdicts: ((el: Computed<any>) => void) | null;
|
|
105
|
+
static _witnessAffects: ((node: OptimisticNode) => void) | null;
|
|
106
|
+
static _optimisticWrite: (<T>(el: Signal<T> | Computed<T>, v: T | ((prev: T) => T)) => T) | null;
|
|
107
|
+
static _resolveOptimistic: ((nodes: OptimisticNode[]) => void) | null;
|
|
108
|
+
static _stashOptimistic: ((stashedTransition: Transition) => void) | null;
|
|
109
|
+
static _transitionBlocked: ((transition: Transition) => boolean) | null;
|
|
110
|
+
static _cleanupLanes: ((completingTransition: Transition | null) => void) | null;
|
|
111
|
+
static _runLaneEffects: ((type: number) => void) | null;
|
|
112
|
+
static _readStashed: ((el: Signal<any>) => boolean) | null;
|
|
113
|
+
static _gatedRead: ((el: Signal<any>, owner: OptimisticNode, c: Computed<any>) => boolean) | null;
|
|
114
|
+
static _laneSuspends: ((owner: OptimisticNode) => boolean) | null;
|
|
115
|
+
static _laneReadsCommitted: ((el: OptimisticNode, owner: OptimisticNode, c: Computed<any>) => boolean) | null;
|
|
116
|
+
static _recomputeLane: ((el: Computed<any>, own: boolean) => OptimisticLane | null) | null;
|
|
117
|
+
static _laneAsyncPending: ((el: Computed<any>) => void) | null;
|
|
118
|
+
static _laneAsyncSettled: ((el: Computed<any>) => void) | null;
|
|
119
|
+
static _trackOptimisticStore: ((store: any) => void) | null;
|
|
86
120
|
flush(): void;
|
|
87
121
|
notify(node: Computed<any>, mask: number, flags: number, error?: any): boolean;
|
|
88
122
|
initTransition(transition?: Transition | null): void;
|
|
89
123
|
}
|
|
90
124
|
export declare function queuePendingNode(node: Signal<any>): void;
|
|
125
|
+
export declare function armReaskClear(): void;
|
|
91
126
|
export declare function insertSubs(node: Signal<any> | Computed<any>, optimistic?: boolean): void;
|
|
92
127
|
export declare function finalizePureQueue(completingTransition?: Transition | null, incomplete?: boolean): void;
|
|
93
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Count of live `affects()` registrations across the system (including
|
|
130
|
+
* store-scope inherited marks). Gates the read-path mark check in `read()` so
|
|
131
|
+
* graphs that never use the feature pay one integer compare.
|
|
132
|
+
*/
|
|
133
|
+
export declare let activeAffectsMarks: number;
|
|
134
|
+
/**
|
|
135
|
+
* Counter mutation seam for the mark engine in affects.ts: an imported `let`
|
|
136
|
+
* binding is read-only, and the read-path gate above must stay a plain module
|
|
137
|
+
* variable so `read()` pays one integer compare, not a function call.
|
|
138
|
+
*
|
|
139
|
+
* @internal
|
|
140
|
+
*/
|
|
141
|
+
export declare function shiftAffectsMarks(delta: 1 | -1): void;
|
|
94
142
|
export declare const globalQueue: GlobalQueue;
|
|
95
143
|
/**
|
|
96
144
|
* Synchronously processes the pending reactive queue, or runs `fn` in a synchronous
|
|
@@ -48,6 +48,21 @@ export interface RawSignal<T> {
|
|
|
48
48
|
_pendingSignal?: Signal<boolean>;
|
|
49
49
|
_latestValueComputed?: Computed<T>;
|
|
50
50
|
_parentSource?: Signal<any> | Computed<any>;
|
|
51
|
+
/**
|
|
52
|
+
* Live `affects()` marks on this node (refcount). Non-zero is declared
|
|
53
|
+
* motion: the node reads pending regardless of graph state, until every
|
|
54
|
+
* declaring transaction settles/reverts and releases its mark.
|
|
55
|
+
*/
|
|
56
|
+
_affectsCount?: number;
|
|
57
|
+
/**
|
|
58
|
+
* The mark's identity on the pending-source rails (lazy, see
|
|
59
|
+
* `getAffectsSentinel`). Downstream subscribers hold it in
|
|
60
|
+
* `_pendingSources` exactly like a real in-flight source, but with its own
|
|
61
|
+
* identity so a landing or quiet re-ask on the node itself can't clear it.
|
|
62
|
+
*/
|
|
63
|
+
_affectsSentinel?: Computed<any>;
|
|
64
|
+
/** Set only on sentinels: the marked node this sentinel stands for. */
|
|
65
|
+
_affectsFor?: Signal<any> | Computed<any>;
|
|
51
66
|
}
|
|
52
67
|
export interface FirewallSignal<T> extends RawSignal<T> {
|
|
53
68
|
_firewall: Computed<any>;
|
|
@@ -90,12 +105,14 @@ export interface Computed<T> extends RawSignal<T>, Owner {
|
|
|
90
105
|
_child: FirewallSignal<any> | null;
|
|
91
106
|
_notifyStatus?: (status?: number, error?: any) => void;
|
|
92
107
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
108
|
+
* Question-scoped pending classification of the node's CURRENT pending
|
|
109
|
+
* window: `true` means the in-flight recompute is a re-ask of the same
|
|
110
|
+
* question (refresh/poll/confirm — no tracked input changed value), so the
|
|
111
|
+
* shown answer still answers the question and the node reads NOT pending.
|
|
112
|
+
* Set by `recompute` from `REACTIVE_REASK`, cleared on landing
|
|
113
|
+
* (`clearStatus`). Meaningless while not STATUS_PENDING.
|
|
97
114
|
*/
|
|
98
|
-
|
|
115
|
+
_reask: boolean;
|
|
99
116
|
}
|
|
100
117
|
export interface Root extends Owner {
|
|
101
118
|
_root: true;
|
|
@@ -4,6 +4,7 @@ export declare const DEV: Dev | undefined;
|
|
|
4
4
|
export type { Owner, Context, ContextRecord, IQueue, ExternalSourceFactory, ExternalSource, ExternalSourceConfig, Refreshable, Dev, DevHooks, DiagnosticCapture, DiagnosticCode, DiagnosticEvent, DiagnosticKind, Diagnostics, DiagnosticSeverity } from "./core/index.cjs";
|
|
5
5
|
export { createSignal, createMemo, createEffect, createRenderEffect, createTrackedEffect, createReaction, createOptimistic, resolve, onSettled, onCleanup } from "./signals.cjs";
|
|
6
6
|
export type { Accessor, SourceAccessor, Setter, Signal, ComputeFunction, EffectFunction, EffectBundle, EffectOptions, SignalOptions, MemoOptions, NoInfer } from "./signals.cjs";
|
|
7
|
+
export { affects } from "./affects.cjs";
|
|
7
8
|
export { mapArray, repeat, type Maybe } from "./map.cjs";
|
|
8
9
|
export * from "./store/index.cjs";
|
|
9
10
|
export { createLoadingBoundary, createErrorBoundary, createRevealOrder, flatten, type RevealOrder } from "./boundaries.cjs";
|
|
@@ -63,4 +63,3 @@ export declare function createProjection<T extends object = {}>(fn: (draft: T) =
|
|
|
63
63
|
*/
|
|
64
64
|
export declare function runProjectionComputed<T extends object>(wrappedStore: Store<T>, fn: (draft: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, key: string | ((item: NonNullable<any>) => any), wrapCommit?: (write: () => void) => void, onDraftWrite?: () => void): Computed<void | T>;
|
|
65
65
|
export declare function createWriteTraps(isActive?: () => boolean, onDraftWrite?: () => void): ProxyHandler<any>;
|
|
66
|
-
export declare const writeTraps: ProxyHandler<any>;
|
|
@@ -40,8 +40,8 @@ type DataNodes = Record<PropertyKey, DataNode>;
|
|
|
40
40
|
*
|
|
41
41
|
* @internal
|
|
42
42
|
*/
|
|
43
|
-
export declare const $TRACK: unique symbol, $TARGET: unique symbol, $PROXY: unique symbol, $DELETED: unique symbol;
|
|
44
|
-
export declare const STORE_VALUE = "v", STORE_OVERRIDE = "o", STORE_OPTIMISTIC_OVERRIDE = "x", STORE_NODE = "n", STORE_HAS = "h", STORE_CUSTOM_PROTO = "c", STORE_WRAP = "w", STORE_LOOKUP = "l", STORE_FIREWALL = "f", STORE_OPTIMISTIC = "p"
|
|
43
|
+
export declare const $TRACK: unique symbol, $TARGET: unique symbol, $PROXY: unique symbol, $DELETED: unique symbol, $AFFECTS: unique symbol;
|
|
44
|
+
export declare const STORE_VALUE = "v", STORE_OVERRIDE = "o", STORE_OPTIMISTIC_OVERRIDE = "x", STORE_NODE = "n", STORE_HAS = "h", STORE_CUSTOM_PROTO = "c", STORE_WRAP = "w", STORE_LOOKUP = "l", STORE_FIREWALL = "f", STORE_OPTIMISTIC = "p";
|
|
45
45
|
export type StoreNode = {
|
|
46
46
|
[$PROXY]: any;
|
|
47
47
|
[STORE_VALUE]: Record<PropertyKey, any>;
|
|
@@ -54,8 +54,6 @@ export type StoreNode = {
|
|
|
54
54
|
[STORE_LOOKUP]?: WeakMap<any, any>;
|
|
55
55
|
[STORE_FIREWALL]?: Computed<any>;
|
|
56
56
|
[STORE_OPTIMISTIC]?: boolean;
|
|
57
|
-
/** This target currently contributes to its firewall's store-wide mask. */
|
|
58
|
-
[STORE_MASKED]?: boolean;
|
|
59
57
|
[STORE_SNAPSHOT_PROPS]?: Record<PropertyKey, any>;
|
|
60
58
|
};
|
|
61
59
|
export declare namespace SolidStore {
|
|
@@ -83,20 +81,40 @@ export declare function getOverlayLayer(target: StoreNode, property: PropertyKey
|
|
|
83
81
|
* override, else held pending value, else committed value.
|
|
84
82
|
*/
|
|
85
83
|
export declare function visibleNodeValue(node: DataNode): any;
|
|
84
|
+
/**
|
|
85
|
+
* Witness live mark coverage of a record into the active isPending() probe.
|
|
86
|
+
* Tracked reads don't need this — they go through real signal nodes, which
|
|
87
|
+
* carry marks directly (declaration walk or birth inheritance). This covers
|
|
88
|
+
* UNTRACKED probes reading through records whose nodes never materialized
|
|
89
|
+
* (no observer ever subscribed, so no node exists to carry the mark).
|
|
90
|
+
* Callers guard on `pendingCheckActive`, so plain reads never pay for this.
|
|
91
|
+
*
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
export declare function witnessAffectsMark(target: StoreNode): void;
|
|
95
|
+
/**
|
|
96
|
+
* Resolves the store nodes an `affects()` declaration marks: with a `key`,
|
|
97
|
+
* the named slot's leaf node (upserted so the mark has an addressable
|
|
98
|
+
* carrier); without, the record's $AFFECTS carrier plus every LIVE node in
|
|
99
|
+
* its subtree (the edges existing readers subscribed through), with the
|
|
100
|
+
* subtree's identities snapshotted into the mark's scope so nodes created
|
|
101
|
+
* during the window — and untracked probes over captured proxies — resolve
|
|
102
|
+
* against it (#2882).
|
|
103
|
+
*
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
export declare function getStoreAffectsNodes(target: StoreNode, key?: PropertyKey): DataNode[];
|
|
86
107
|
export declare function trackSelf(target: StoreNode, symbol?: symbol): void;
|
|
87
108
|
export declare function notifySelf(target: StoreNode): void;
|
|
88
|
-
export declare function getKeys(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, enumerable?: boolean): PropertyKey[];
|
|
89
|
-
export declare function getPropertyDescriptor(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, property: PropertyKey): PropertyDescriptor | undefined;
|
|
90
109
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* `
|
|
94
|
-
*
|
|
95
|
-
* count of masked targets (nested objects mask independently); companions of
|
|
96
|
-
* the firewall and its probed leaves are poked on 0↔1 transitions so an
|
|
97
|
-
* already-materialized verdict flips without waiting for another write.
|
|
110
|
+
* The write overlay a walk must read through: optimistic writes shadow
|
|
111
|
+
* regular pending writes, the same resolution order as every proxy trap and
|
|
112
|
+
* `reconcile` (#2850). Merging allocates only in the rare both-present case
|
|
113
|
+
* (a derived optimistic store with an in-flight projection commit).
|
|
98
114
|
*/
|
|
99
|
-
export declare function
|
|
115
|
+
export declare function mergedOverlay(target: StoreNode): Record<PropertyKey, any> | undefined;
|
|
116
|
+
export declare function getKeys(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, enumerable?: boolean): PropertyKey[];
|
|
117
|
+
export declare function getPropertyDescriptor(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, property: PropertyKey): PropertyDescriptor | undefined;
|
|
100
118
|
export declare const storeTraps: ProxyHandler<StoreNode>;
|
|
101
119
|
export declare function storeSetter<T extends object>(store: Store<T>, fn: (draft: T) => T | void): void;
|
|
102
120
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidjs/signals",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.19",
|
|
4
4
|
"description": "Solid's reactive primitives: signals, memos, effects, stores, and async-aware computations.",
|
|
5
5
|
"author": "Ryan Carniato",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
16
|
"main": "./dist/node.cjs",
|
|
17
|
-
"module": "./dist/prod.js",
|
|
17
|
+
"module": "./dist/prod/index.js",
|
|
18
|
+
"unpkg": "./dist/prod/index.js",
|
|
19
|
+
"jsdelivr": "./dist/prod/index.js",
|
|
18
20
|
"types": "./dist/types/index.d.ts",
|
|
19
21
|
"type": "module",
|
|
20
22
|
"sideEffects": false,
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
"types": "./dist/types/index.d.ts",
|
|
29
31
|
"test": "./dist/dev.js",
|
|
30
32
|
"development": "./dist/dev.js",
|
|
31
|
-
"default": "./dist/prod.js"
|
|
33
|
+
"default": "./dist/prod/index.js"
|
|
32
34
|
},
|
|
33
35
|
"require": {
|
|
34
36
|
"types": "./dist/types-cjs/index.d.cts",
|
|
@@ -40,12 +42,12 @@
|
|
|
40
42
|
"devDependencies": {
|
|
41
43
|
"@ianvs/prettier-plugin-sort-imports": "^4.1.1",
|
|
42
44
|
"@rollup/plugin-replace": "^6.0.3",
|
|
43
|
-
"@rollup/plugin-terser": "^0.4.4",
|
|
44
45
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
45
46
|
"@types/node": "^25.0.8",
|
|
46
47
|
"rimraf": "^5.0.1",
|
|
47
48
|
"rollup": "^4.53.4",
|
|
48
49
|
"rollup-plugin-prettier": "^4.1.2",
|
|
50
|
+
"terser": "^5.49.0",
|
|
49
51
|
"tslib": "^2.8.1",
|
|
50
52
|
"typescript": "^6.0.3",
|
|
51
53
|
"vite": "^7.0.0",
|
|
@@ -53,8 +55,8 @@
|
|
|
53
55
|
},
|
|
54
56
|
"scripts": {
|
|
55
57
|
"build": "npm-run-all -nl build:* && pnpm types",
|
|
56
|
-
"build:clean": "rimraf dist/dev.js dist/prod.js dist/node.cjs",
|
|
57
|
-
"build:js": "rollup -c",
|
|
58
|
+
"build:clean": "rimraf dist/dev dist/prod dist/node dist/dev.js dist/prod.js dist/node.cjs",
|
|
59
|
+
"build:js": "rollup -c && node ./scripts/mangle-props.mjs dist/prod dist/node.cjs && node ./scripts/check-pure.mjs dist/prod",
|
|
58
60
|
"types": "tsc -p tsconfig.build.json && node ../../scripts/sync-dual-types.mjs ./dist/types ./dist/types-cjs",
|
|
59
61
|
"test": "vitest run",
|
|
60
62
|
"test:watch": "vitest watch tests",
|