NES for NgRx
A comprehensive guide for installing and configuring Never‑Ending Support (NES) for NgRx in your Angular application, including store, effects, and additional NgRx packages.
Minimum Requirements
Please review our Minimum Requirements to ensure a smooth installation. Then follow 3 easy steps:
- Update your
package.json
- Create or update your
.npmrc
file - Install & Run!
Detailed Instructions
Substitute the NgRx dependencies in your package.json
with the following
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx-component@17.2.0-component-17.2.1",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx-component-store@17.2.0-component-store-17.2.1",
"@ngrx/data": "npm:@neverendingsupport/ngrx-data@17.2.0-data-17.2.1",
"@ngrx/effects": "npm:@neverendingsupport/ngrx-effects@17.2.0-effects-17.2.1",
"@ngrx/entity": "npm:@neverendingsupport/ngrx-entity@17.2.0-entity-17.2.1",
"@ngrx/eslint-plugin": "npm:@neverendingsupport/ngrx-eslint-plugin@17.2.0-eslint-plugin-17.2.1",
"@ngrx/operators": "npm:@neverendingsupport/ngrx-operators@17.2.0-operators-17.2.1",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx-router-store@17.2.0-router-store-17.2.1",
"@ngrx/schematics": "npm:@neverendingsupport/ngrx-schematics@17.2.0-schematics-17.2.1",
"@ngrx/signals": "npm:@neverendingsupport/ngrx-signals@17.2.0-signals-17.2.1",
"@ngrx/store": "npm:@neverendingsupport/ngrx-store@17.2.0-store-17.2.1",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx-store-devtools@17.2.0-store-devtools-17.2.1"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx-component@17.2.0-component-17.2.1" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx-component-store@17.2.0-component-store-17.2.1" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx-data@17.2.0-data-17.2.1" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx-effects@17.2.0-effects-17.2.1" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx-entity@17.2.0-entity-17.2.1" },
"@ngrx/eslint-plugin": { ".": "npm:@neverendingsupport/ngrx-eslint-plugin@17.2.0-eslint-plugin-17.2.1" },
"@ngrx/operators": { ".": "npm:@neverendingsupport/ngrx-operators@17.2.0-operators-17.2.1" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx-router-store@17.2.0-router-store-17.2.1" },
"@ngrx/schematics": { ".": "npm:@neverendingsupport/ngrx-schematics@17.2.0-schematics-17.2.1" },
"@ngrx/signals": { ".": "npm:@neverendingsupport/ngrx-signals@17.2.0-signals-17.2.1" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx-store@17.2.0-store-17.2.1" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx-store-devtools@17.2.0-store-devtools-17.2.1" }
}
}
Note
You do not need to install every package. Simply select the packages applicable to your project.
Create an .npmrc
file with the following
Replace <NES_ACCESS_TOKEN>
with your access token.
@neverendingsupport:registry=https://registry.nes.herodevs.com/npm/pkg/
//registry.nes.herodevs.com/npm/pkg/:_authToken=<NES_ACCESS_TOKEN>
Install your dependencies
npm install
And just like that, you can run your integration tests against NES for NgRx!
Available Versions
All versions below v16 use the base name @neverendingsupport/ngrx
. Versions from v16 and above use unique base names derived from the original package names. The following versions are available:
Version 17.2.0
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx-component@17.2.0-component-17.2.1",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx-component-store@17.2.0-component-store-17.2.1",
"@ngrx/data": "npm:@neverendingsupport/ngrx-data@17.2.0-data-17.2.1",
"@ngrx/effects": "npm:@neverendingsupport/ngrx-effects@17.2.0-effects-17.2.1",
"@ngrx/entity": "npm:@neverendingsupport/ngrx-entity@17.2.0-entity-17.2.1",
"@ngrx/eslint-plugin": "npm:@neverendingsupport/ngrx-eslint-plugin@17.2.0-eslint-plugin-17.2.1",
"@ngrx/operators": "npm:@neverendingsupport/ngrx-operators@17.2.0-operators-17.2.1",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx-router-store@17.2.0-router-store-17.2.1",
"@ngrx/schematics": "npm:@neverendingsupport/ngrx-schematics@17.2.0-schematics-17.2.1",
"@ngrx/signals": "npm:@neverendingsupport/ngrx-signals@17.2.0-signals-17.2.1",
"@ngrx/store": "npm:@neverendingsupport/ngrx-store@17.2.0-store-17.2.1",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx-store-devtools@17.2.0-store-devtools-17.2.1"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx-component@17.2.0-component-17.2.1" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx-component-store@17.2.0-component-store-17.2.1" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx-data@17.2.0-data-17.2.1" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx-effects@17.2.0-effects-17.2.1" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx-entity@17.2.0-entity-17.2.1" },
"@ngrx/eslint-plugin": { ".": "npm:@neverendingsupport/ngrx-eslint-plugin@17.2.0-eslint-plugin-17.2.1" },
"@ngrx/operators": { ".": "npm:@neverendingsupport/ngrx-operators@17.2.0-operators-17.2.1" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx-router-store@17.2.0-router-store-17.2.1" },
"@ngrx/schematics": { ".": "npm:@neverendingsupport/ngrx-schematics@17.2.0-schematics-17.2.1" },
"@ngrx/signals": { ".": "npm:@neverendingsupport/ngrx-signals@17.2.0-signals-17.2.1" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx-store@17.2.0-store-17.2.1" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx-store-devtools@17.2.0-store-devtools-17.2.1" }
}
}
Version 16.3.0
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx-component@16.3.0-component-16.3.1",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx-component-store@16.3.0-component-store-16.3.1",
"@ngrx/data": "npm:@neverendingsupport/ngrx-data@16.3.0-data-16.3.1",
"@ngrx/effects": "npm:@neverendingsupport/ngrx-effects@16.3.0-effects-16.3.1",
"@ngrx/entity": "npm:@neverendingsupport/ngrx-entity@16.3.0-entity-16.3.1",
"@ngrx/eslint-plugin": "npm:@neverendingsupport/ngrx-eslint-plugin@16.3.0-eslint-plugin-16.3.1",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx-router-store@16.3.0-router-store-16.3.1",
"@ngrx/schematics": "npm:@neverendingsupport/ngrx-schematics@16.3.0-schematics-16.3.1",
"@ngrx/signals": "npm:@neverendingsupport/ngrx-signals@16.3.0-signals-16.3.1",
"@ngrx/store": "npm:@neverendingsupport/ngrx-store@16.3.0-store-16.3.1",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx-store-devtools@16.3.0-store-devtools-16.3.1"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx-component@16.3.0-component-16.3.1" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx-component-store@16.3.0-component-store-16.3.1" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx-data@16.3.0-data-16.3.1" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx-effects@16.3.0-effects-16.3.1" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx-entity@16.3.0-entity-16.3.1" },
"@ngrx/eslint-plugin": { ".": "npm:@neverendingsupport/ngrx-eslint-plugin@16.3.0-eslint-plugin-16.3.1" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx-router-store@16.3.0-router-store-16.3.1" },
"@ngrx/schematics": { ".": "npm:@neverendingsupport/ngrx-schematics@16.3.0-schematics-16.3.1" },
"@ngrx/signals": { ".": "npm:@neverendingsupport/ngrx-signals@16.3.0-signals-16.3.1" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx-store@16.3.0-store-16.3.1" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx-store-devtools@16.3.0-store-devtools-16.3.1" }
}
}
Version 14.3.3
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx@14.3.3-component-14.3.4",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx@14.3.3-component-store-14.3.4",
"@ngrx/data": "npm:@neverendingsupport/ngrx@14.3.3-data-14.3.4",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@14.3.3-effects-14.3.4",
"@ngrx/eslint-plugin": "npm:@neverendingsupport/ngrx@14.3.3-eslint-plugin-14.3.4",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@14.3.3-router-store-14.3.4",
"@ngrx/store": "npm:@neverendingsupport/ngrx@14.3.3-store-14.3.4"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx@14.3.3-component-14.3.4" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx@14.3.3-component-store-14.3.4" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@14.3.3-data-14.3.4" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@14.3.3-effects-14.3.4" },
"@ngrx/eslint-plugin": { ".": "npm:@neverendingsupport/ngrx@14.3.3-eslint-plugin-14.3.4" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@14.3.3-router-store-14.3.4" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@14.3.3-store-14.3.4" }
}
}
Version 13.2.0
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx@13.2.0-component-13.2.1",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx@13.2.0-component-store-13.2.1",
"@ngrx/data": "npm:@neverendingsupport/ngrx@13.2.0-data-13.2.1",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@13.2.0-effects-13.2.1",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@13.2.0-entity-13.2.1",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@13.2.0-router-store-13.2.1",
"@ngrx/store": "npm:@neverendingsupport/ngrx@13.2.0-store-13.2.1"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx@13.2.0-component-13.2.1" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx@13.2.0-component-store-13.2.1" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@13.2.0-data-13.2.1" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@13.2.0-effects-13.2.1" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@13.2.0-entity-13.2.1" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@13.2.0-router-store-13.2.1" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@13.2.0-store-13.2.1" }
}
}
Version 12.5.1
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx@12.5.1-component-12.5.2",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx@12.5.1-component-store-12.5.2",
"@ngrx/data": "npm:@neverendingsupport/ngrx@12.5.1-data-12.5.2",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@12.5.1-effects-12.5.2",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@12.5.1-entity-12.5.2",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@12.5.1-router-store-12.5.2",
"@ngrx/store": "npm:@neverendingsupport/ngrx@12.5.1-store-12.5.2",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx@12.5.1-store-devtools-12.5.2"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx@12.5.1-component-12.5.2" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx@12.5.1-component-store-12.5.2" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@12.5.1-data-12.5.2" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@12.5.1-effects-12.5.2" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@12.5.1-entity-12.5.2" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@12.5.1-router-store-12.5.2" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@12.5.1-store-12.5.2" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx@12.5.1-store-devtools-12.5.2" }
}
}
Version 11.1.1
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx@11.1.1-component-11.1.2",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx@11.1.1-component-store-11.1.2",
"@ngrx/data": "npm:@neverendingsupport/ngrx@11.1.1-data-11.1.2",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@11.1.1-effects-11.1.2",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@11.1.1-entity-11.1.2",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@11.1.1-router-store-11.1.2",
"@ngrx/store": "npm:@neverendingsupport/ngrx@11.1.1-store-11.1.2"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx@11.1.1-component-11.1.2" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx@11.1.1-component-store-11.1.2" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@11.1.1-data-11.1.2" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@11.1.1-effects-11.1.2" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@11.1.1-entity-11.1.2" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@11.1.1-router-store-11.1.2" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@11.1.1-store-11.1.2" }
}
}
Older Versions
Click to view versions 10 and below
Version 10.1.2
{
"dependencies": {
"@ngrx/component": "npm:@neverendingsupport/ngrx@10.1.2-component-10.1.3",
"@ngrx/component-store": "npm:@neverendingsupport/ngrx@10.1.2-component-store-10.1.3",
"@ngrx/data": "npm:@neverendingsupport/ngrx@10.1.2-data-10.1.3",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@10.1.2-effects-10.1.3",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@10.1.2-entity-10.1.3",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@10.1.2-router-store-10.1.3",
"@ngrx/store": "npm:@neverendingsupport/ngrx@10.1.2-store-10.1.3"
},
"overrides": {
"@ngrx/component": { ".": "npm:@neverendingsupport/ngrx@10.1.2-component-10.1.3" },
"@ngrx/component-store": { ".": "npm:@neverendingsupport/ngrx@10.1.2-component-store-10.1.3" },
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@10.1.2-data-10.1.3" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@10.1.2-effects-10.1.3" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@10.1.2-entity-10.1.3" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@10.1.2-router-store-10.1.3" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@10.1.2-store-10.1.3" }
}
}
Version 9.2.1
{
"dependencies": {
"@ngrx/data": "npm:@neverendingsupport/ngrx@9.2.1-data-9.2.2",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@9.2.1-effects-9.2.2",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@9.2.1-entity-9.2.2",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@9.2.1-router-store-9.2.2",
"@ngrx/store": "npm:@neverendingsupport/ngrx@9.2.1-store-9.2.2",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx@9.2.1-store-devtools-9.2.2"
},
"overrides": {
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@9.2.1-data-9.2.2" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@9.2.1-effects-9.2.2" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@9.2.1-entity-9.2.2" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@9.2.1-router-store-9.2.2" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@9.2.1-store-9.2.2" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx@9.2.1-store-devtools-9.2.2" }
}
}
Version 8.6.1
{
"dependencies": {
"@ngrx/data": "npm:@neverendingsupport/ngrx@8.6.1-data-8.6.2",
"@ngrx/effects": "npm:@neverendingsupport/ngrx@8.6.1-effects-8.6.2",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@8.6.1-entity-8.6.2",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@8.6.1-router-store-8.6.2",
"@ngrx/store": "npm:@neverendingsupport/ngrx@8.6.1-store-8.6.2",
"@ngrx/store-devtools": "npm:@neverendingsupport/ngrx@8.6.1-store-devtools-8.6.2"
},
"overrides": {
"@ngrx/data": { ".": "npm:@neverendingsupport/ngrx@8.6.1-data-8.6.2" },
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@8.6.1-effects-8.6.2" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@8.6.1-entity-8.6.2" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@8.6.1-router-store-8.6.2" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@8.6.1-store-8.6.2" },
"@ngrx/store-devtools": { ".": "npm:@neverendingsupport/ngrx@8.6.1-store-devtools-8.6.2" }
}
}
Version 7.4.0
{
"dependencies": {
"@ngrx/effects": "npm:@neverendingsupport/ngrx@7.4.0-effects-7.4.1",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@7.4.0-entity-7.4.1",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@7.4.0-router-store-7.4.1",
"@ngrx/store": "npm:@neverendingsupport/ngrx@7.4.0-store-7.4.1"
},
"overrides": {
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@7.4.0-effects-7.4.1" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@7.4.0-entity-7.4.1" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@7.4.0-router-store-7.4.1" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@7.4.0-store-7.4.1" }
}
}
Version 6.1.2
{
"dependencies": {
"@ngrx/effects": "npm:@neverendingsupport/ngrx@6.1.2-effects-6.1.3",
"@ngrx/entity": "npm:@neverendingsupport/ngrx@6.1.2-entity-6.1.3",
"@ngrx/router-store": "npm:@neverendingsupport/ngrx@6.1.2-router-store-6.1.3",
"@ngrx/store": "npm:@neverendingsupport/ngrx@6.1.2-store-6.1.3"
},
"overrides": {
"@ngrx/effects": { ".": "npm:@neverendingsupport/ngrx@6.1.2-effects-6.1.3" },
"@ngrx/entity": { ".": "npm:@neverendingsupport/ngrx@6.1.2-entity-6.1.3" },
"@ngrx/router-store": { ".": "npm:@neverendingsupport/ngrx@6.1.2-router-store-6.1.3" },
"@ngrx/store": { ".": "npm:@neverendingsupport/ngrx@6.1.2-store-6.1.3" }
}
}
Additional Information
Direct Download URLs
All of our NES for NgRx packages can be accessed via direct download URLs.
For all versions below v16, the download URLs follow the pattern below where <PACKAGE_VERSION>
is the version as listed above.
https://registry.nes.herodevs.com/npm/pkg/@neverendingsupport/ngrx/-/<PACKAGE_VERSION>.tgz
For v16 and above, the download URLs follow the pattern below where <PACKAGE_NAME>
is the original package name that comes after the @ngrx/
and <PACKAGE_VERSION>
is the version as listed above.
https://registry.nes.herodevs.com/npm/pkg/@neverendingsupport/ngrx-<PACKAGE_NAME>/-/<PACKAGE_VERSION>.tgz
For example, the direct download URLs for the latest version of NES for NgRx are:
Package | URL |
---|---|
component 17.2.0-component-17.2.1 | Download |
component-store 17.2.0-component-store-17.2.1 | Download |
data 17.2.0-data-17.2.1 | Download |
effects 17.2.0-effects-17.2.1 | Download |
entity 17.2.0-entity-17.2.1 | Download |
eslint-plugin 17.2.0-eslint-plugin-17.2.1 | Download |
operators 17.2.0-operators-17.2.1 | Download |
router-store 17.2.0-router-store-17.2.1 | Download |
schematics 17.2.0-schematics-17.2.1 | Download |
signals 17.2.0-signals-17.2.1 | Download |
store 17.2.0-store-17.2.1 | Download |
store-devtools 17.2.0-store-devtools-17.2.1 | Download |