Skip to content

feat(store): add warnOnNewReferenceWithIdenticalValue to NgxsDevelopmentOptions#2442

Merged
arturovt merged 1 commit into
masterfrom
feat/warn
May 8, 2026
Merged

feat(store): add warnOnNewReferenceWithIdenticalValue to NgxsDevelopmentOptions#2442
arturovt merged 1 commit into
masterfrom
feat/warn

Conversation

@arturovt
Copy link
Copy Markdown
Member

@arturovt arturovt commented May 8, 2026

Introduces a new warnOnNewReferenceWithIdenticalValue option to NgxsDevelopmentOptions. When configured, selectSignal will warn in dev mode if a selector returns a new reference whose value is considered equal by the provided isEqual function, indicating unnecessary signal recomputation.

The option requires a user-supplied isEqual implementation (e.g. lodash isEqual) rather than relying on JSON.stringify, which is prohibitively slow inside a signal equality check.

…entOptions

Introduces a new `warnOnNewReferenceWithIdenticalValue` option to
`NgxsDevelopmentOptions`. When configured, `selectSignal` will warn in
dev mode if a selector returns a new reference whose value is considered
equal by the provided `isEqual` function, indicating unnecessary signal
recomputation.

The option requires a user-supplied `isEqual` implementation (e.g.
lodash `isEqual`) rather than relying on `JSON.stringify`, which is
prohibitively slow inside a signal equality check.
@arturovt arturovt marked this pull request as ready for review May 8, 2026 10:15
@arturovt arturovt merged commit cc2731d into master May 8, 2026
4 of 5 checks passed
@arturovt arturovt deleted the feat/warn branch May 8, 2026 10:15
@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 8, 2026

View your CI Pipeline Execution ↗ for commit 73827da

Command Status Duration Result
nx run-many --target=test --all --configuration... ✅ Succeeded 2m 17s View ↗
nx lint-types store ✅ Succeeded <1s View ↗
nx run-many --target=lint --all --exclude=creat... ✅ Succeeded 1s View ↗
nx run-many --target=build --all ✅ Succeeded 1m 32s View ↗

☁️ Nx Cloud last updated this comment at 2026-05-08 10:23:37 UTC

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented May 8, 2026

BundleMon

Unchanged files (6)
Status Path Size Limits
fesm2022/ngxs-store.mjs
115.99KB 114KB / +0.5%
fesm2022/ngxs-store-operators.mjs
15.7KB 16KB / +0.5%
fesm2022/ngxs-store-internals.mjs
12.7KB 15KB / +0.5%
fesm2022/ngxs-store-internals-testing.mjs
10.32KB 13KB / +0.5%
fesm2022/ngxs-store-plugins.mjs
2.37KB 3KB / +0.5%
fesm2022/ngxs-store-experimental.mjs
574B 2KB / +0.5%

No change in files bundle size

Unchanged groups (1)
Status Path Size Limits
@ngxs/store(fesm2022)[gzip]
./fesm2022/*.mjs
39.45KB +1%

Final result: ❌

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented May 8, 2026

BundleMon (NGXS Plugins)

Unchanged files (9)
Status Path Size Limits
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin.m
js
4.12KB +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin.mjs
3.4KB +0.5%
Plugins(fesm2022)[gzip]
hmr-plugin/fesm2022/ngxs-hmr-plugin.mjs
2.78KB +0.5%
Plugins(fesm2022)[gzip]
websocket-plugin/fesm2022/ngxs-websocket-plug
in.mjs
2.58KB +0.5%
Plugins(fesm2022)[gzip]
form-plugin/fesm2022/ngxs-form-plugin.mjs
2.47KB +0.5%
Plugins(fesm2022)[gzip]
devtools-plugin/fesm2022/ngxs-devtools-plugin
.mjs
2.23KB +0.5%
Plugins(fesm2022)[gzip]
logger-plugin/fesm2022/ngxs-logger-plugin.mjs
2.03KB +0.5%
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin-i
nternals.mjs
947B +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin-int
ernals.mjs
453B +0.5%

No change in files bundle size

Unchanged groups (1)
Status Path Size Limits
All Plugins(fesm2022)[gzip]
./-plugin/fesm2022/.mjs
20.96KB +0.5%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented May 8, 2026

BundleMon (Integration Projects)

Unchanged files (1)
Status Path Size Limits
Main bundles(Gzip)
hello-world-ng21/dist-integration/browser/mai
n-(hash).js
67.95KB +1%

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant