ngxs / store

🚀 NGXS - State Management for Angular
http://ngxs.io
MIT License
3.54k stars 405 forks source link

refactor(store): tree-shake internal state tokens #2246

Closed arturovt closed 1 week ago

arturovt commented 2 weeks ago

In this commit, we remove internal injection token providers from the root providers list. Instead, we expose a function that provides these tokens.

nx-cloud[bot] commented 2 weeks ago

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 0a93595ddd64c1b4b0dd4088132725343e2c76d1. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 4 targets - [`nx run-many --target=test --all --configuration=ci --maxWorkers=4`](https://cloud.nx.app/runs/ToYKRq0Ti3?utm_source=pull-request&utm_medium=comment) - [`nx run-many --target=lint --all --exclude=create-app`](https://cloud.nx.app/runs/7wrM1CNrO0?utm_source=pull-request&utm_medium=comment) - [`nx lint-types store`](https://cloud.nx.app/runs/ZtFiTbgPgm?utm_source=pull-request&utm_medium=comment) - [`nx run-many --target=build --all`](https://cloud.nx.app/runs/OI8tt4Q8CI?utm_source=pull-request&utm_medium=comment)

Sent with 💌 from NxCloud.

pkg-pr-new[bot] commented 2 weeks ago

Open in Stackblitz

@ngxs/devtools-plugin

``` yarn add https://pkg.pr.new/@ngxs/devtools-plugin@2246.tgz ```

@ngxs/form-plugin

``` yarn add https://pkg.pr.new/@ngxs/form-plugin@2246.tgz ```

@ngxs/hmr-plugin

``` yarn add https://pkg.pr.new/@ngxs/hmr-plugin@2246.tgz ```

@ngxs/router-plugin

``` yarn add https://pkg.pr.new/@ngxs/router-plugin@2246.tgz ```

@ngxs/storage-plugin

``` yarn add https://pkg.pr.new/@ngxs/storage-plugin@2246.tgz ```

@ngxs/store

``` yarn add https://pkg.pr.new/@ngxs/store@2246.tgz ```

@ngxs/websocket-plugin

``` yarn add https://pkg.pr.new/@ngxs/websocket-plugin@2246.tgz ```

commit: 0a93595

bundlemon[bot] commented 2 weeks ago

BundleMon

Files updated (2) Status | Path | Size | Limits :------------: | ------------ | :------------: | :------------: :white_check_mark: | fesm2022/ngxs-store.mjs
| 102.86KB (+368B +0.35%) | 103KB / +0.5% :white_check_mark: | fesm2022/ngxs-store-internals.mjs
| 11.33KB (+32B +0.28%) | 13KB / +0.5%
Unchanged files (4) Status | Path | Size | Limits :------------: | ------------ | :------------: | :------------: :white_check_mark: | fesm2022/ngxs-store-internals-testing.mjs
| 6.83KB | 7KB / +0.5% :white_check_mark: | fesm2022/ngxs-store-operators.mjs
| 6.22KB | 7KB / +0.5% :white_check_mark: | fesm2022/ngxs-store-plugins.mjs
| 2.04KB | 3KB / +0.5% :white_check_mark: | fesm2022/ngxs-store-experimental.mjs
| 1.4KB | 2KB / +0.5%

Total files change +400B +0.3%

Groups updated (2) Status | Path | Size | Limits :------------: | ------------ | :------------: | :------------: :white_check_mark: | @ngxs/store(esm2022)[gzip]
./esm2022/**/*.mjs
| 225.62KB (+1.44KB +0.64%) | +1% :white_check_mark: | @ngxs/store(fesm2022)[gzip]
./fesm2022/*.mjs
| 31.29KB (+168B +0.53%) | +1%

Final result: :white_check_mark:

View report in BundleMon website ➡️


Current branch size history | Target branch size history

bundlemon[bot] commented 2 weeks ago

BundleMon (NGXS Plugins)

Unchanged files (9) Status | Path | Size | Limits :------------: | ------------ | :------------: | :------------: :white_check_mark: | Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin.m
js
| 4.16KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin.mjs
| 3.19KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
websocket-plugin/fesm2022/ngxs-websocket-plug
in.mjs
| 2.64KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
hmr-plugin/fesm2022/ngxs-hmr-plugin.mjs
| 2.61KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
form-plugin/fesm2022/ngxs-form-plugin.mjs
| 2.59KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
devtools-plugin/fesm2022/ngxs-devtools-plugin
.mjs
| 2.23KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
logger-plugin/fesm2022/ngxs-logger-plugin.mjs
| 2.03KB | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin-i
nternals.mjs
| 875B | +0.5% :white_check_mark: | Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin-int
ernals.mjs
| 411B | +0.5%

No change in files bundle size

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

Final result: :white_check_mark:

View report in BundleMon website ➡️


Current branch size history | Target branch size history

bundlemon[bot] commented 2 weeks ago

BundleMon (Integration Projects)

Files updated (3) Status | Path | Size | Limits :------------: | ------------ | :------------: | :------------: :white_check_mark: | Main bundles(Gzip)
hello-world-ng17/dist-integration/main.(hash)
.js
| 68.51KB (-22B -0.03%) | +1% :white_check_mark: | Main bundles(Gzip)
hello-world-ng16/dist-integration/main.(hash)
.js
| 67.61KB (-33B -0.05%) | +1% :white_check_mark: | Main bundles(Gzip)
hello-world-ng18/dist-integration/browser/mai
n-(hash).js
| 71.62KB (-56B -0.08%) | +1%

Total files change -111B -0.05%

Final result: :white_check_mark:

View report in BundleMon website ➡️


Current branch size history | Target branch size history

arturovt commented 2 weeks ago

Tokens are removed from the bundle.

codeclimate[bot] commented 1 week ago

Code Climate has analyzed commit 0a93595d and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 90.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 95.3% (0.0% change).

View more on Code Climate.

arturovt commented 1 week ago

Merging because I want to proceed with the next patch release. This change only reduces the bundle size by removing tokens that are not used in standard apps. These tokens were previously exposed as part of the ngxs-labs/data package.