@ngrx/store-devtools 20.1.0 → 21.0.0-rc.0
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/fesm2022/ngrx-store-devtools.mjs +13 -13
- package/migrations/17_0_0-beta/index.js +58 -63
- package/migrations/17_0_0-beta/index.js.map +1 -1
- package/migrations/6_0_0/index.js +1 -1
- package/migrations/6_0_0/index.js.map +1 -1
- package/package.json +5 -5
- package/schematics/ng-add/index.js +71 -87
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics-core/index.js +1 -1
- package/schematics-core/index.js.map +1 -1
- package/schematics-core/utility/ast-utils.js +198 -240
- package/schematics-core/utility/ast-utils.js.map +1 -1
- package/schematics-core/utility/change.js +68 -85
- package/schematics-core/utility/change.js.map +1 -1
- package/schematics-core/utility/config.js +7 -7
- package/schematics-core/utility/config.js.map +1 -1
- package/schematics-core/utility/find-component.js +20 -20
- package/schematics-core/utility/find-component.js.map +1 -1
- package/schematics-core/utility/find-module.js +21 -21
- package/schematics-core/utility/find-module.js.map +1 -1
- package/schematics-core/utility/json-utilts.js +4 -26
- package/schematics-core/utility/json-utilts.js.map +1 -1
- package/schematics-core/utility/libs-version.js +1 -1
- package/schematics-core/utility/libs-version.js.map +1 -1
- package/schematics-core/utility/ngrx-utils.js +110 -141
- package/schematics-core/utility/ngrx-utils.js.map +1 -1
- package/schematics-core/utility/package.js +2 -3
- package/schematics-core/utility/package.js.map +1 -1
- package/schematics-core/utility/parse-name.js +3 -3
- package/schematics-core/utility/parse-name.js.map +1 -1
- package/schematics-core/utility/project.js +13 -13
- package/schematics-core/utility/project.js.map +1 -1
- package/schematics-core/utility/standalone.js +133 -211
- package/schematics-core/utility/standalone.js.map +1 -1
- package/schematics-core/utility/strings.js +12 -12
- package/schematics-core/utility/strings.js.map +1 -1
- package/schematics-core/utility/update.js +12 -12
- package/schematics-core/utility/update.js.map +1 -1
- package/schematics-core/utility/visitors.js +78 -180
- package/schematics-core/utility/visitors.js.map +1 -1
- package/types/ngrx-store-devtools.d.ts +252 -0
- package/index.d.ts +0 -6
- package/public_api.d.ts +0 -1
- package/src/actions.d.ts +0 -79
- package/src/config.d.ts +0 -126
- package/src/devtools-dispatcher.d.ts +0 -6
- package/src/devtools.d.ts +0 -35
- package/src/extension.d.ts +0 -52
- package/src/index.d.ts +0 -6
- package/src/instrument.d.ts +0 -9
- package/src/provide-store-devtools.d.ts +0 -26
- package/src/reducer.d.ts +0 -47
- package/src/utils.d.ts +0 -42
- package/src/zone-config.d.ts +0 -9
|
@@ -290,10 +290,10 @@ function injectZoneConfig(connectInZone) {
|
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
class DevtoolsDispatcher extends ActionsSubject {
|
|
293
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
294
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
293
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
294
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsDispatcher }); }
|
|
295
295
|
}
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsDispatcher, decorators: [{
|
|
297
297
|
type: Injectable
|
|
298
298
|
}] });
|
|
299
299
|
|
|
@@ -445,10 +445,10 @@ class DevtoolsExtension {
|
|
|
445
445
|
console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
449
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
448
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsExtension, deps: [{ token: REDUX_DEVTOOLS_EXTENSION }, { token: STORE_DEVTOOLS_CONFIG }, { token: DevtoolsDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
449
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsExtension }); }
|
|
450
450
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DevtoolsExtension, decorators: [{
|
|
452
452
|
type: Injectable
|
|
453
453
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
454
454
|
type: Inject,
|
|
@@ -923,10 +923,10 @@ class StoreDevtools {
|
|
|
923
923
|
pauseRecording(status) {
|
|
924
924
|
this.dispatch(new PauseRecording(status));
|
|
925
925
|
}
|
|
926
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
927
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
926
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtools, deps: [{ token: DevtoolsDispatcher }, { token: i2.ActionsSubject }, { token: i2.ReducerObservable }, { token: DevtoolsExtension }, { token: i2.ScannedActionsSubject }, { token: i0.ErrorHandler }, { token: INITIAL_STATE }, { token: STORE_DEVTOOLS_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
927
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtools }); }
|
|
928
928
|
}
|
|
929
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
929
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtools, decorators: [{
|
|
930
930
|
type: Injectable
|
|
931
931
|
}], ctorParameters: () => [{ type: DevtoolsDispatcher }, { type: i2.ActionsSubject }, { type: i2.ReducerObservable }, { type: DevtoolsExtension }, { type: i2.ScannedActionsSubject }, { type: i0.ErrorHandler }, { type: undefined, decorators: [{
|
|
932
932
|
type: Inject,
|
|
@@ -1024,11 +1024,11 @@ class StoreDevtoolsModule {
|
|
|
1024
1024
|
providers: [provideStoreDevtools(options)],
|
|
1025
1025
|
};
|
|
1026
1026
|
}
|
|
1027
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1028
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1029
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1027
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1028
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtoolsModule }); }
|
|
1029
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtoolsModule }); }
|
|
1030
1030
|
}
|
|
1031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1031
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StoreDevtoolsModule, decorators: [{
|
|
1032
1032
|
type: NgModule,
|
|
1033
1033
|
args: [{}]
|
|
1034
1034
|
}] });
|
|
@@ -1,54 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
ar
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
27
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
36
|
exports.default = default_1;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
39
|
+
const schematics_core_1 = require("../..//schematics-core");
|
|
32
40
|
function migrate() {
|
|
33
|
-
return
|
|
34
|
-
(0, schematics_core_1.visitTSSourceFiles)(tree,
|
|
35
|
-
|
|
41
|
+
return (tree) => {
|
|
42
|
+
(0, schematics_core_1.visitTSSourceFiles)(tree, (sourceFile) => {
|
|
43
|
+
const devtoolsImports = sourceFile.statements
|
|
36
44
|
.filter(ts.isImportDeclaration)
|
|
37
|
-
.filter(
|
|
38
|
-
var moduleSpecifier = _a.moduleSpecifier;
|
|
39
|
-
return moduleSpecifier.getText(sourceFile).includes('@ngrx/store-devtools');
|
|
40
|
-
});
|
|
45
|
+
.filter(({ moduleSpecifier }) => moduleSpecifier.getText(sourceFile).includes('@ngrx/store-devtools'));
|
|
41
46
|
if (devtoolsImports.length === 0) {
|
|
42
47
|
return;
|
|
43
48
|
}
|
|
44
|
-
|
|
49
|
+
const changes = [...findAndUpdateConfigs(sourceFile)];
|
|
45
50
|
(0, schematics_core_1.commitChanges)(tree, sourceFile.fileName, changes);
|
|
46
51
|
});
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
54
|
function findAndUpdateConfigs(sourceFile) {
|
|
50
|
-
|
|
51
|
-
ts.forEachChild(sourceFile,
|
|
55
|
+
const changes = [];
|
|
56
|
+
ts.forEachChild(sourceFile, (node) => find(node, changes));
|
|
52
57
|
return changes;
|
|
53
58
|
function find(node, changes) {
|
|
54
59
|
if (ts.isPropertyAccessExpression(node) &&
|
|
@@ -57,45 +62,35 @@ function findAndUpdateConfigs(sourceFile) {
|
|
|
57
62
|
node.expression.text === 'StoreDevtoolsModule' &&
|
|
58
63
|
ts.isCallExpression(node.parent)) {
|
|
59
64
|
if (node.parent.arguments.length) {
|
|
60
|
-
|
|
65
|
+
const [devtoolsConfig] = node.parent.arguments;
|
|
61
66
|
if (ts.isObjectLiteralExpression(devtoolsConfig)) {
|
|
62
|
-
updateConfig(sourceFile, devtoolsConfig,
|
|
63
|
-
return changes.push(change);
|
|
64
|
-
});
|
|
67
|
+
updateConfig(sourceFile, devtoolsConfig, (change) => changes.push(change));
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
else {
|
|
68
|
-
createDevtoolsConfig(sourceFile, node.parent,
|
|
69
|
-
return changes.push(change);
|
|
70
|
-
});
|
|
71
|
+
createDevtoolsConfig(sourceFile, node.parent, (change) => changes.push(change));
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
if (ts.isCallExpression(node) &&
|
|
74
75
|
ts.isIdentifier(node.expression) &&
|
|
75
76
|
node.expression.text === 'provideStoreDevtools') {
|
|
76
77
|
if (node.arguments.length) {
|
|
77
|
-
|
|
78
|
+
const [devtoolsConfig] = node.arguments;
|
|
78
79
|
if (ts.isObjectLiteralExpression(devtoolsConfig)) {
|
|
79
|
-
updateConfig(sourceFile, devtoolsConfig,
|
|
80
|
-
return changes.push(change);
|
|
81
|
-
});
|
|
80
|
+
updateConfig(sourceFile, devtoolsConfig, (change) => changes.push(change));
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
else {
|
|
85
|
-
createDevtoolsConfig(sourceFile, node,
|
|
86
|
-
return changes.push(change);
|
|
87
|
-
});
|
|
84
|
+
createDevtoolsConfig(sourceFile, node, (change) => changes.push(change));
|
|
88
85
|
}
|
|
89
86
|
}
|
|
90
|
-
ts.forEachChild(node,
|
|
87
|
+
ts.forEachChild(node, (childNode) => find(childNode, changes));
|
|
91
88
|
}
|
|
92
89
|
}
|
|
93
90
|
function updateConfig(sourceFile, devtoolsConfig, addChange) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
p.name.text === 'connectOutsideZone';
|
|
98
|
-
});
|
|
91
|
+
const connectOutsideZoneProperty = devtoolsConfig.properties.find((p) => ts.isPropertyAssignment(p) &&
|
|
92
|
+
ts.isIdentifier(p.name) &&
|
|
93
|
+
p.name.text === 'connectOutsideZone');
|
|
99
94
|
if (!connectOutsideZoneProperty) {
|
|
100
95
|
addConnectInZoneProperty();
|
|
101
96
|
}
|
|
@@ -103,18 +98,18 @@ function updateConfig(sourceFile, devtoolsConfig, addChange) {
|
|
|
103
98
|
replaceConnectOutsideZoneConfig(connectOutsideZoneProperty);
|
|
104
99
|
}
|
|
105
100
|
function addConnectInZoneProperty() {
|
|
106
|
-
|
|
107
|
-
|
|
101
|
+
const configText = devtoolsConfig.getText(sourceFile);
|
|
102
|
+
const comma = !devtoolsConfig.properties.length ||
|
|
108
103
|
configText
|
|
109
104
|
.substring(0, configText.length - 1)
|
|
110
105
|
.trim()
|
|
111
106
|
.endsWith(',')
|
|
112
107
|
? ''
|
|
113
108
|
: ',';
|
|
114
|
-
addChange(new schematics_core_1.InsertChange(sourceFile.fileName, devtoolsConfig.getEnd() - 1,
|
|
109
|
+
addChange(new schematics_core_1.InsertChange(sourceFile.fileName, devtoolsConfig.getEnd() - 1, `${comma} connectInZone: true`.trim()));
|
|
115
110
|
}
|
|
116
111
|
function replaceConnectOutsideZoneConfig(connectOutsideZone) {
|
|
117
|
-
|
|
112
|
+
const currentValue = connectOutsideZone.initializer
|
|
118
113
|
.getText(sourceFile)
|
|
119
114
|
.trim();
|
|
120
115
|
addChange((0, schematics_core_1.createReplaceChange)(sourceFile, connectOutsideZone.name, 'connectOutsideZone', 'connectInZone'));
|
|
@@ -122,11 +117,11 @@ function updateConfig(sourceFile, devtoolsConfig, addChange) {
|
|
|
122
117
|
? 'false'
|
|
123
118
|
: currentValue === 'false'
|
|
124
119
|
? 'true'
|
|
125
|
-
:
|
|
120
|
+
: `!${currentValue}`));
|
|
126
121
|
}
|
|
127
122
|
}
|
|
128
123
|
function createDevtoolsConfig(sourceFile, callExpression, addChange) {
|
|
129
|
-
addChange(new schematics_core_1.InsertChange(sourceFile.fileName, callExpression.getEnd() - 1,
|
|
124
|
+
addChange(new schematics_core_1.InsertChange(sourceFile.fileName, callExpression.getEnd() - 1, `{connectInZone: true}`));
|
|
130
125
|
}
|
|
131
126
|
function default_1() {
|
|
132
127
|
return (0, schematics_1.chain)([migrate()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/migrations/17_0_0-beta/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/migrations/17_0_0-beta/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { Rule, chain, Tree } from '@angular-devkit/schematics';\nimport {\n visitTSSourceFiles,\n commitChanges,\n InsertChange,\n Change,\n createReplaceChange,\n} from '../..//schematics-core';\n\nfunction migrate() {\n return (tree: Tree) => {\n visitTSSourceFiles(tree, (sourceFile) => {\n const devtoolsImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(({ moduleSpecifier }) =>\n moduleSpecifier.getText(sourceFile).includes('@ngrx/store-devtools')\n );\n\n if (devtoolsImports.length === 0) {\n return;\n }\n\n const changes = [...findAndUpdateConfigs(sourceFile)];\n\n commitChanges(tree, sourceFile.fileName, changes);\n });\n };\n}\n\nfunction findAndUpdateConfigs(sourceFile: ts.SourceFile) {\n const changes: Change[] = [];\n ts.forEachChild(sourceFile, (node) => find(node, changes));\n return changes;\n\n function find(node: ts.Node, changes: Change[]) {\n if (\n ts.isPropertyAccessExpression(node) &&\n node.name.text === 'instrument' &&\n ts.isIdentifier(node.expression) &&\n node.expression.text === 'StoreDevtoolsModule' &&\n ts.isCallExpression(node.parent)\n ) {\n if (node.parent.arguments.length) {\n const [devtoolsConfig] = node.parent.arguments;\n\n if (ts.isObjectLiteralExpression(devtoolsConfig)) {\n updateConfig(sourceFile, devtoolsConfig, (change) =>\n changes.push(change)\n );\n }\n } else {\n createDevtoolsConfig(sourceFile, node.parent, (change) =>\n changes.push(change)\n );\n }\n }\n\n if (\n ts.isCallExpression(node) &&\n ts.isIdentifier(node.expression) &&\n node.expression.text === 'provideStoreDevtools'\n ) {\n if (node.arguments.length) {\n const [devtoolsConfig] = node.arguments;\n\n if (ts.isObjectLiteralExpression(devtoolsConfig)) {\n updateConfig(sourceFile, devtoolsConfig, (change) =>\n changes.push(change)\n );\n }\n } else {\n createDevtoolsConfig(sourceFile, node, (change) =>\n changes.push(change)\n );\n }\n }\n\n ts.forEachChild(node, (childNode) => find(childNode, changes));\n }\n}\n\nfunction updateConfig(\n sourceFile: ts.SourceFile,\n devtoolsConfig: ts.ObjectLiteralExpression,\n addChange: (changes: Change) => number\n) {\n const connectOutsideZoneProperty = devtoolsConfig.properties.find(\n (p) =>\n ts.isPropertyAssignment(p) &&\n ts.isIdentifier(p.name) &&\n p.name.text === 'connectOutsideZone'\n );\n\n if (!connectOutsideZoneProperty) {\n addConnectInZoneProperty();\n } else if (ts.isPropertyAssignment(connectOutsideZoneProperty)) {\n replaceConnectOutsideZoneConfig(connectOutsideZoneProperty);\n }\n\n function addConnectInZoneProperty() {\n const configText = devtoolsConfig.getText(sourceFile);\n const comma =\n !devtoolsConfig.properties.length ||\n configText\n .substring(0, configText.length - 1)\n .trim()\n .endsWith(',')\n ? ''\n : ',';\n\n addChange(\n new InsertChange(\n sourceFile.fileName,\n devtoolsConfig.getEnd() - 1,\n `${comma} connectInZone: true`.trim()\n )\n );\n }\n\n function replaceConnectOutsideZoneConfig(\n connectOutsideZone: ts.PropertyAssignment\n ) {\n const currentValue = connectOutsideZone.initializer\n .getText(sourceFile)\n .trim();\n addChange(\n createReplaceChange(\n sourceFile,\n connectOutsideZone.name,\n 'connectOutsideZone',\n 'connectInZone'\n )\n );\n addChange(\n createReplaceChange(\n sourceFile,\n connectOutsideZone.initializer,\n currentValue,\n currentValue === 'true'\n ? 'false'\n : currentValue === 'false'\n ? 'true'\n : `!${currentValue}`\n )\n );\n }\n}\n\nfunction createDevtoolsConfig(\n sourceFile: ts.SourceFile,\n callExpression: ts.CallExpression,\n addChange: (...items: Change[]) => number\n) {\n addChange(\n new InsertChange(\n sourceFile.fileName,\n callExpression.getEnd() - 1,\n `{connectInZone: true}`\n )\n );\n}\n\nexport default function (): Rule {\n return chain([migrate()]);\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = default_1;
|
|
4
|
-
|
|
4
|
+
const schematics_core_1 = require("../../schematics-core");
|
|
5
5
|
function default_1() {
|
|
6
6
|
return (0, schematics_core_1.updatePackage)('store-devtools');
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/migrations/6_0_0/index.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/migrations/6_0_0/index.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,2DAAsD;AAEtD;IACE,OAAO,IAAA,+BAAa,EAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import { Rule } from '@angular-devkit/schematics';\nimport { updatePackage } from '../../schematics-core';\n\nexport default function (): Rule {\n return updatePackage('store-devtools');\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrx/store-devtools",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.0.0-rc.0",
|
|
4
4
|
"description": "Developer tools for @ngrx/store",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/ngrx/platform#readme",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@angular/core": "^
|
|
24
|
-
"@ngrx/store": "
|
|
23
|
+
"@angular/core": "^21.0.0",
|
|
24
|
+
"@ngrx/store": "21.0.0-rc.0",
|
|
25
25
|
"rxjs": "^6.5.3 || ^7.5.0"
|
|
26
26
|
},
|
|
27
27
|
"schematics": "./schematics/collection.json",
|
|
@@ -48,13 +48,13 @@
|
|
|
48
48
|
"tslib": "^2.0.0"
|
|
49
49
|
},
|
|
50
50
|
"module": "fesm2022/ngrx-store-devtools.mjs",
|
|
51
|
-
"typings": "
|
|
51
|
+
"typings": "types/ngrx-store-devtools.d.ts",
|
|
52
52
|
"exports": {
|
|
53
53
|
"./package.json": {
|
|
54
54
|
"default": "./package.json"
|
|
55
55
|
},
|
|
56
56
|
".": {
|
|
57
|
-
"types": "./
|
|
57
|
+
"types": "./types/ngrx-store-devtools.d.ts",
|
|
58
58
|
"default": "./fesm2022/ngrx-store-devtools.mjs"
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -1,135 +1,119 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return
|
|
25
|
-
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
26
33
|
};
|
|
27
|
-
|
|
28
|
-
};
|
|
34
|
+
})();
|
|
29
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
36
|
exports.default = default_1;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
39
|
+
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
40
|
+
const schematics_core_1 = require("../../schematics-core");
|
|
41
|
+
const standalone_1 = require("../../schematics-core/utility/standalone");
|
|
42
|
+
const project_1 = require("../../schematics-core/utility/project");
|
|
43
|
+
const ng_ast_utils_1 = require("@schematics/angular/utility/ng-ast-utils");
|
|
38
44
|
function addImportToNgModule(options) {
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
var modulePath = options.module;
|
|
45
|
+
return (host) => {
|
|
46
|
+
const modulePath = options.module;
|
|
42
47
|
if (!modulePath) {
|
|
43
48
|
return host;
|
|
44
49
|
}
|
|
45
50
|
if (!host.exists(modulePath)) {
|
|
46
51
|
throw new Error('Specified module does not exist');
|
|
47
52
|
}
|
|
48
|
-
|
|
53
|
+
const text = host.read(modulePath);
|
|
49
54
|
if (text === null) {
|
|
50
|
-
throw new schematics_1.SchematicsException(
|
|
55
|
+
throw new schematics_1.SchematicsException(`File ${modulePath} does not exist.`);
|
|
51
56
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
const sourceText = text.toString('utf-8');
|
|
58
|
+
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
|
|
59
|
+
const [instrumentNgModuleImport] = (0, schematics_core_1.addImportToModule)(source, modulePath, `StoreDevtoolsModule.instrument({ maxAge: ${options.maxAge}, logOnly: !isDevMode() })`, modulePath);
|
|
60
|
+
const changes = [
|
|
56
61
|
(0, schematics_core_1.insertImport)(source, modulePath, 'StoreDevtoolsModule', '@ngrx/store-devtools'),
|
|
57
62
|
(0, schematics_core_1.insertImport)(source, modulePath, 'isDevMode', '@angular/core'),
|
|
58
63
|
instrumentNgModuleImport,
|
|
59
64
|
];
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (change instanceof schematics_core_1.InsertChange) {
|
|
65
|
-
recorder.insertLeft(change.pos, change.toAdd);
|
|
66
|
-
}
|
|
65
|
+
const recorder = host.beginUpdate(modulePath);
|
|
66
|
+
for (const change of changes) {
|
|
67
|
+
if (change instanceof schematics_core_1.InsertChange) {
|
|
68
|
+
recorder.insertLeft(change.pos, change.toAdd);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
70
|
-
finally {
|
|
71
|
-
try {
|
|
72
|
-
if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
|
|
73
|
-
}
|
|
74
|
-
finally { if (e_1) throw e_1.error; }
|
|
75
|
-
}
|
|
76
71
|
host.commitUpdate(recorder);
|
|
77
72
|
return host;
|
|
78
73
|
};
|
|
79
74
|
}
|
|
80
75
|
function addNgRxStoreDevToolsToPackageJson() {
|
|
81
|
-
return
|
|
76
|
+
return (host, context) => {
|
|
82
77
|
(0, schematics_core_1.addPackageToPackageJson)(host, 'dependencies', '@ngrx/store-devtools', schematics_core_1.platformVersion);
|
|
83
78
|
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
84
79
|
return host;
|
|
85
80
|
};
|
|
86
81
|
}
|
|
87
82
|
function addStandaloneConfig(options) {
|
|
88
|
-
return
|
|
89
|
-
|
|
90
|
-
var mainFile = (0, project_1.getProjectMainFile)(host, options);
|
|
83
|
+
return (host) => {
|
|
84
|
+
const mainFile = (0, project_1.getProjectMainFile)(host, options);
|
|
91
85
|
if (host.exists(mainFile)) {
|
|
92
|
-
|
|
86
|
+
const providerFn = 'provideStoreDevtools';
|
|
93
87
|
if ((0, standalone_1.callsProvidersFunction)(host, mainFile, providerFn)) {
|
|
94
88
|
// exit because the store config is already provided
|
|
95
89
|
return host;
|
|
96
90
|
}
|
|
97
|
-
|
|
98
|
-
ts.factory.createIdentifier(
|
|
91
|
+
const providerOptions = [
|
|
92
|
+
ts.factory.createIdentifier(`{ maxAge: ${options.maxAge}, logOnly: !isDevMode() }`),
|
|
99
93
|
];
|
|
100
|
-
|
|
94
|
+
const patchedConfigFile = (0, standalone_1.addFunctionalProvidersToStandaloneBootstrap)(host, mainFile, providerFn, '@ngrx/store-devtools', providerOptions);
|
|
101
95
|
// insert reducers import into the patched file
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
const configFileContent = host.read(patchedConfigFile);
|
|
97
|
+
const source = ts.createSourceFile(patchedConfigFile, configFileContent?.toString('utf-8') || '', ts.ScriptTarget.Latest, true);
|
|
98
|
+
const recorder = host.beginUpdate(patchedConfigFile);
|
|
99
|
+
const changes = [
|
|
106
100
|
(0, schematics_core_1.insertImport)(source, patchedConfigFile, 'isDevMode', '@angular/core'),
|
|
107
101
|
];
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (change instanceof schematics_core_1.InsertChange) {
|
|
112
|
-
recorder.insertLeft(change.pos, change.toAdd);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
117
|
-
finally {
|
|
118
|
-
try {
|
|
119
|
-
if (changes_2_1 && !changes_2_1.done && (_a = changes_2.return)) _a.call(changes_2);
|
|
102
|
+
for (const change of changes) {
|
|
103
|
+
if (change instanceof schematics_core_1.InsertChange) {
|
|
104
|
+
recorder.insertLeft(change.pos, change.toAdd);
|
|
120
105
|
}
|
|
121
|
-
finally { if (e_2) throw e_2.error; }
|
|
122
106
|
}
|
|
123
107
|
host.commitUpdate(recorder);
|
|
124
108
|
return host;
|
|
125
109
|
}
|
|
126
|
-
throw new schematics_1.SchematicsException(
|
|
110
|
+
throw new schematics_1.SchematicsException(`Main file not found for a project ${options.project}`);
|
|
127
111
|
};
|
|
128
112
|
}
|
|
129
113
|
function default_1(options) {
|
|
130
|
-
return
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
return (host, context) => {
|
|
115
|
+
const mainFile = (0, project_1.getProjectMainFile)(host, options);
|
|
116
|
+
const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(host, mainFile);
|
|
133
117
|
options.path = (0, schematics_core_1.getProjectPath)(host, options);
|
|
134
118
|
if (options.module && !isStandalone) {
|
|
135
119
|
options.module = (0, schematics_core_1.findModuleFromOptions)(host, {
|
|
@@ -138,12 +122,12 @@ function default_1(options) {
|
|
|
138
122
|
path: options.path,
|
|
139
123
|
});
|
|
140
124
|
}
|
|
141
|
-
|
|
125
|
+
const parsedPath = (0, schematics_core_1.parseName)(options.path, '');
|
|
142
126
|
options.path = parsedPath.path;
|
|
143
127
|
if (options.maxAge && (options.maxAge < 0 || options.maxAge === 1)) {
|
|
144
|
-
throw new schematics_1.SchematicsException(
|
|
128
|
+
throw new schematics_1.SchematicsException(`maxAge should be an integer greater than 1.`);
|
|
145
129
|
}
|
|
146
|
-
|
|
130
|
+
const configOrModuleUpdate = isStandalone
|
|
147
131
|
? addStandaloneConfig(options)
|
|
148
132
|
: addImportToNgModule(options);
|
|
149
133
|
return (0, schematics_1.chain)([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/schematics/ng-add/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store-devtools/schematics/ng-add/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport {\n Rule,\n SchematicContext,\n SchematicsException,\n Tree,\n branchAndMerge,\n chain,\n noop,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n InsertChange,\n addImportToModule,\n findModuleFromOptions,\n getProjectPath,\n insertImport,\n addPackageToPackageJson,\n platformVersion,\n parseName,\n} from '../../schematics-core';\nimport { Schema as StoreDevtoolsOptions } from './schema';\nimport {\n addFunctionalProvidersToStandaloneBootstrap,\n callsProvidersFunction,\n} from '../../schematics-core/utility/standalone';\nimport { getProjectMainFile } from '../../schematics-core/utility/project';\nimport { isStandaloneApp } from '@schematics/angular/utility/ng-ast-utils';\n\nfunction addImportToNgModule(options: StoreDevtoolsOptions): Rule {\n return (host: Tree) => {\n const modulePath = options.module;\n\n if (!modulePath) {\n return host;\n }\n\n if (!host.exists(modulePath)) {\n throw new Error('Specified module does not exist');\n }\n\n const text = host.read(modulePath);\n if (text === null) {\n throw new SchematicsException(`File ${modulePath} does not exist.`);\n }\n const sourceText = text.toString('utf-8');\n\n const source = ts.createSourceFile(\n modulePath,\n sourceText,\n ts.ScriptTarget.Latest,\n true\n );\n\n const [instrumentNgModuleImport] = addImportToModule(\n source,\n modulePath,\n `StoreDevtoolsModule.instrument({ maxAge: ${options.maxAge}, logOnly: !isDevMode() })`,\n modulePath\n );\n\n const changes = [\n insertImport(\n source,\n modulePath,\n 'StoreDevtoolsModule',\n '@ngrx/store-devtools'\n ),\n insertImport(source, modulePath, 'isDevMode', '@angular/core'),\n instrumentNgModuleImport,\n ];\n const recorder = host.beginUpdate(modulePath);\n\n for (const change of changes) {\n if (change instanceof InsertChange) {\n recorder.insertLeft(change.pos, change.toAdd);\n }\n }\n host.commitUpdate(recorder);\n\n return host;\n };\n}\n\nfunction addNgRxStoreDevToolsToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/store-devtools',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nfunction addStandaloneConfig(options: StoreDevtoolsOptions): Rule {\n return (host: Tree) => {\n const mainFile = getProjectMainFile(host, options);\n\n if (host.exists(mainFile)) {\n const providerFn = 'provideStoreDevtools';\n\n if (callsProvidersFunction(host, mainFile, providerFn)) {\n // exit because the store config is already provided\n return host;\n }\n\n const providerOptions = [\n ts.factory.createIdentifier(\n `{ maxAge: ${options.maxAge}, logOnly: !isDevMode() }`\n ),\n ];\n\n const patchedConfigFile = addFunctionalProvidersToStandaloneBootstrap(\n host,\n mainFile,\n providerFn,\n '@ngrx/store-devtools',\n providerOptions\n );\n\n // insert reducers import into the patched file\n const configFileContent = host.read(patchedConfigFile);\n const source = ts.createSourceFile(\n patchedConfigFile,\n configFileContent?.toString('utf-8') || '',\n ts.ScriptTarget.Latest,\n true\n );\n\n const recorder = host.beginUpdate(patchedConfigFile);\n\n const changes = [\n insertImport(source, patchedConfigFile, 'isDevMode', '@angular/core'),\n ];\n\n for (const change of changes) {\n if (change instanceof InsertChange) {\n recorder.insertLeft(change.pos, change.toAdd);\n }\n }\n\n host.commitUpdate(recorder);\n\n return host;\n }\n\n throw new SchematicsException(\n `Main file not found for a project ${options.project}`\n );\n };\n}\n\nexport default function (options: StoreDevtoolsOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n const mainFile = getProjectMainFile(host, options);\n const isStandalone = isStandaloneApp(host, mainFile);\n\n options.path = getProjectPath(host, options);\n\n if (options.module && !isStandalone) {\n options.module = findModuleFromOptions(host, {\n name: '',\n module: options.module,\n path: options.path,\n });\n }\n\n const parsedPath = parseName(options.path, '');\n options.path = parsedPath.path;\n\n if (options.maxAge && (options.maxAge < 0 || options.maxAge === 1)) {\n throw new SchematicsException(\n `maxAge should be an integer greater than 1.`\n );\n }\n\n const configOrModuleUpdate = isStandalone\n ? addStandaloneConfig(options)\n : addImportToNgModule(options);\n\n return chain([\n branchAndMerge(chain([configOrModuleUpdate])),\n options && options.skipPackageJson\n ? noop()\n : addNgRxStoreDevToolsToPackageJson(),\n ])(host, context);\n };\n}\n"]}
|