@ngrx/data 20.0.1 → 21.0.0-beta.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-data.mjs +87 -87
- package/fesm2022/ngrx-data.mjs.map +1 -1
- package/package.json +8 -8
- package/schematics/ng-add/index.js +39 -42
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.js +0 -2
- package/schematics-core/index.js +24 -75
- package/schematics-core/index.js.map +1 -1
- package/schematics-core/utility/ast-utils.js +28 -44
- package/schematics-core/utility/ast-utils.js.map +1 -1
- package/schematics-core/utility/change.js +8 -15
- package/schematics-core/utility/change.js.map +1 -1
- package/schematics-core/utility/config.js +4 -8
- package/schematics-core/utility/config.js.map +1 -1
- package/schematics-core/utility/find-component.js +17 -22
- package/schematics-core/utility/find-component.js.map +1 -1
- package/schematics-core/utility/find-module.js +19 -24
- package/schematics-core/utility/find-module.js.map +1 -1
- package/schematics-core/utility/json-utilts.js +1 -4
- package/schematics-core/utility/json-utilts.js.map +1 -1
- package/schematics-core/utility/libs-version.js +1 -4
- package/schematics-core/utility/libs-version.js.map +1 -1
- package/schematics-core/utility/ngrx-utils.js +28 -36
- package/schematics-core/utility/ngrx-utils.js.map +1 -1
- package/schematics-core/utility/package.js +1 -4
- package/schematics-core/utility/package.js.map +1 -1
- package/schematics-core/utility/parse-name.js +5 -8
- package/schematics-core/utility/parse-name.js.map +1 -1
- package/schematics-core/utility/project.js +9 -15
- package/schematics-core/utility/project.js.map +1 -1
- package/schematics-core/utility/standalone.js +13 -18
- package/schematics-core/utility/standalone.js.map +1 -1
- package/schematics-core/utility/strings.js +9 -20
- package/schematics-core/utility/strings.js.map +1 -1
- package/schematics-core/utility/update.js +4 -7
- package/schematics-core/utility/update.js.map +1 -1
- package/schematics-core/utility/visitors.js +16 -30
- package/schematics-core/utility/visitors.js.map +1 -1
- package/types/ngrx-data.d.ts +3465 -0
- package/index.d.ts +0 -6
- package/public_api.d.ts +0 -1
- package/src/actions/entity-action-factory.d.ts +0 -38
- package/src/actions/entity-action-guard.d.ts +0 -33
- package/src/actions/entity-action-operators.d.ts +0 -30
- package/src/actions/entity-action.d.ts +0 -37
- package/src/actions/entity-cache-action.d.ts +0 -147
- package/src/actions/entity-cache-change-set.d.ts +0 -66
- package/src/actions/entity-op.d.ts +0 -70
- package/src/actions/merge-strategy.d.ts +0 -20
- package/src/actions/update-response-data.d.ts +0 -20
- package/src/dataservices/data-service-error.d.ts +0 -18
- package/src/dataservices/default-data-service-config.d.ts +0 -27
- package/src/dataservices/default-data.service.d.ts +0 -57
- package/src/dataservices/entity-cache-data.service.d.ts +0 -58
- package/src/dataservices/entity-data.service.d.ts +0 -48
- package/src/dataservices/http-url-generator.d.ts +0 -94
- package/src/dataservices/interfaces.d.ts +0 -61
- package/src/dataservices/persistence-result-handler.service.d.ts +0 -30
- package/src/dispatchers/entity-cache-dispatcher.d.ts +0 -114
- package/src/dispatchers/entity-commands.d.ts +0 -217
- package/src/dispatchers/entity-dispatcher-base.d.ts +0 -269
- package/src/dispatchers/entity-dispatcher-default-options.d.ts +0 -23
- package/src/dispatchers/entity-dispatcher-factory.d.ts +0 -46
- package/src/dispatchers/entity-dispatcher.d.ts +0 -58
- package/src/effects/entity-cache-effects.d.ts +0 -46
- package/src/effects/entity-effects-scheduler.d.ts +0 -4
- package/src/effects/entity-effects.d.ts +0 -55
- package/src/entity-data-config.d.ts +0 -15
- package/src/entity-data-without-effects.module.d.ts +0 -15
- package/src/entity-data.module.d.ts +0 -15
- package/src/entity-metadata/entity-definition.d.ts +0 -16
- package/src/entity-metadata/entity-definition.service.d.ts +0 -62
- package/src/entity-metadata/entity-filters.d.ts +0 -12
- package/src/entity-metadata/entity-metadata.d.ts +0 -19
- package/src/entity-services/entity-collection-service-base.d.ts +0 -299
- package/src/entity-services/entity-collection-service-elements-factory.d.ts +0 -28
- package/src/entity-services/entity-collection-service-factory.d.ts +0 -22
- package/src/entity-services/entity-collection-service.d.ts +0 -37
- package/src/entity-services/entity-services-base.d.ts +0 -79
- package/src/entity-services/entity-services-elements.d.ts +0 -41
- package/src/entity-services/entity-services.d.ts +0 -50
- package/src/index.d.ts +0 -65
- package/src/provide-entity-data.d.ts +0 -78
- package/src/reducers/constants.d.ts +0 -8
- package/src/reducers/entity-cache-reducer.d.ts +0 -50
- package/src/reducers/entity-cache.d.ts +0 -4
- package/src/reducers/entity-change-tracker-base.d.ts +0 -181
- package/src/reducers/entity-change-tracker.d.ts +0 -169
- package/src/reducers/entity-collection-creator.d.ts +0 -15
- package/src/reducers/entity-collection-reducer-methods.d.ts +0 -365
- package/src/reducers/entity-collection-reducer-registry.d.ts +0 -47
- package/src/reducers/entity-collection-reducer.d.ts +0 -14
- package/src/reducers/entity-collection.d.ts +0 -41
- package/src/selectors/entity-cache-selector.d.ts +0 -7
- package/src/selectors/entity-selectors$.d.ts +0 -63
- package/src/selectors/entity-selectors.d.ts +0 -117
- package/src/utils/correlation-id-generator.d.ts +0 -20
- package/src/utils/default-logger.d.ts +0 -9
- package/src/utils/default-pluralizer.d.ts +0 -18
- package/src/utils/guid-fns.d.ts +0 -24
- package/src/utils/interfaces.d.ts +0 -16
- package/src/utils/utilities.d.ts +0 -26
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrx/data",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.0.0-beta.0",
|
|
4
4
|
"description": "API management for NgRx",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/ngrx/platform#readme",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@angular/common": "^
|
|
24
|
-
"@angular/core": "^
|
|
25
|
-
"@ngrx/store": "
|
|
26
|
-
"@ngrx/effects": "
|
|
27
|
-
"@ngrx/entity": "
|
|
23
|
+
"@angular/common": "^21.0.0",
|
|
24
|
+
"@angular/core": "^21.0.0",
|
|
25
|
+
"@ngrx/store": "21.0.0-beta.0",
|
|
26
|
+
"@ngrx/effects": "21.0.0-beta.0",
|
|
27
|
+
"@ngrx/entity": "21.0.0-beta.0",
|
|
28
28
|
"rxjs": "^6.5.3 || ^7.5.0"
|
|
29
29
|
},
|
|
30
30
|
"schematics": "./schematics/collection.json",
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"tslib": "^2.0.0"
|
|
52
52
|
},
|
|
53
53
|
"module": "fesm2022/ngrx-data.mjs",
|
|
54
|
-
"typings": "
|
|
54
|
+
"typings": "types/ngrx-data.d.ts",
|
|
55
55
|
"exports": {
|
|
56
56
|
"./package.json": {
|
|
57
57
|
"default": "./package.json"
|
|
58
58
|
},
|
|
59
59
|
".": {
|
|
60
|
-
"types": "./
|
|
60
|
+
"types": "./types/ngrx-data.d.ts",
|
|
61
61
|
"default": "./fesm2022/ngrx-data.mjs"
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __assign = (this && this.__assign) || function () {
|
|
3
2
|
__assign = Object.assign || function(t) {
|
|
4
3
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -35,19 +34,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
35
34
|
}
|
|
36
35
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
36
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var standalone_1 = require("../../schematics-core/utility/standalone");
|
|
46
|
-
var ng_ast_utils_1 = require("@schematics/angular/utility/ng-ast-utils");
|
|
37
|
+
import * as ts from 'typescript';
|
|
38
|
+
import { apply, applyTemplates, branchAndMerge, chain, mergeWith, move, SchematicsException, noop, url, } from '@angular-devkit/schematics';
|
|
39
|
+
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
|
|
40
|
+
import { addImportToModule, addPackageToPackageJson, commitChanges, createReplaceChange, findModuleFromOptions, getProjectPath, insertImport, parseName, platformVersion, stringUtils, visitTSSourceFiles, } from '../../schematics-core';
|
|
41
|
+
import { getProjectMainFile } from '../../schematics-core/utility/project';
|
|
42
|
+
import { addFunctionalProvidersToStandaloneBootstrap, callsProvidersFunction, } from '../../schematics-core/utility/standalone';
|
|
43
|
+
import { isStandaloneApp } from '@schematics/angular/utility/ng-ast-utils';
|
|
47
44
|
function addNgRxDataToPackageJson() {
|
|
48
45
|
return function (host, context) {
|
|
49
|
-
|
|
50
|
-
context.addTask(new
|
|
46
|
+
addPackageToPackageJson(host, 'dependencies', '@ngrx/data', platformVersion);
|
|
47
|
+
context.addTask(new NodePackageInstallTask());
|
|
51
48
|
return host;
|
|
52
49
|
};
|
|
53
50
|
}
|
|
@@ -60,25 +57,25 @@ function addEntityDataToNgModule(options) {
|
|
|
60
57
|
var moduleToImport = options.effects
|
|
61
58
|
? 'EntityDataModule'
|
|
62
59
|
: 'EntityDataModuleWithoutEffects';
|
|
63
|
-
var effectsModuleImport =
|
|
64
|
-
var _a = __read(
|
|
60
|
+
var effectsModuleImport = insertImport(source, modulePath, moduleToImport, '@ngrx/data');
|
|
61
|
+
var _a = __read(addImportToModule(source, modulePath, options.entityConfig
|
|
65
62
|
? [moduleToImport, 'forRoot(entityConfig)'].join('.')
|
|
66
63
|
: moduleToImport, ''), 1), dateEntityNgModuleImport = _a[0];
|
|
67
64
|
var changes = [effectsModuleImport, dateEntityNgModuleImport];
|
|
68
65
|
if (options.entityConfig) {
|
|
69
|
-
var entityConfigImport =
|
|
66
|
+
var entityConfigImport = insertImport(source, modulePath, 'entityConfig', './entity-metadata');
|
|
70
67
|
changes.push(entityConfigImport);
|
|
71
68
|
}
|
|
72
|
-
|
|
69
|
+
commitChanges(host, source.fileName, changes);
|
|
73
70
|
return host;
|
|
74
71
|
};
|
|
75
72
|
}
|
|
76
73
|
function addStandaloneConfig(options) {
|
|
77
74
|
return function (host) {
|
|
78
|
-
var mainFile =
|
|
75
|
+
var mainFile = getProjectMainFile(host, options);
|
|
79
76
|
if (host.exists(mainFile)) {
|
|
80
77
|
var providerFn = 'provideEntityData';
|
|
81
|
-
if (
|
|
78
|
+
if (callsProvidersFunction(host, mainFile, providerFn)) {
|
|
82
79
|
// exit because the store config is already provided
|
|
83
80
|
return host;
|
|
84
81
|
}
|
|
@@ -87,17 +84,17 @@ function addStandaloneConfig(options) {
|
|
|
87
84
|
: [ts.factory.createIdentifier("{}")])), false), __read((options.effects
|
|
88
85
|
? [ts.factory.createIdentifier("withEffects()")]
|
|
89
86
|
: [])), false);
|
|
90
|
-
var patchedConfigFile =
|
|
87
|
+
var patchedConfigFile = addFunctionalProvidersToStandaloneBootstrap(host, mainFile, providerFn, '@ngrx/data', providerOptions);
|
|
91
88
|
var configFileContent = host.read(patchedConfigFile);
|
|
92
89
|
var source = ts.createSourceFile(patchedConfigFile, (configFileContent === null || configFileContent === void 0 ? void 0 : configFileContent.toString('utf-8')) || '', ts.ScriptTarget.Latest, true);
|
|
93
90
|
var recorder_1 = host.beginUpdate(patchedConfigFile);
|
|
94
91
|
var changes = [];
|
|
95
92
|
if (options.effects) {
|
|
96
|
-
var withEffectsImport =
|
|
93
|
+
var withEffectsImport = insertImport(source, patchedConfigFile, 'withEffects', '@ngrx/data');
|
|
97
94
|
changes.push(withEffectsImport);
|
|
98
95
|
}
|
|
99
96
|
if (options.entityConfig) {
|
|
100
|
-
var entityConfigImport =
|
|
97
|
+
var entityConfigImport = insertImport(source, patchedConfigFile, 'entityConfig', './entity-metadata');
|
|
101
98
|
changes.push(entityConfigImport);
|
|
102
99
|
}
|
|
103
100
|
changes.forEach(function (change) {
|
|
@@ -106,7 +103,7 @@ function addStandaloneConfig(options) {
|
|
|
106
103
|
host.commitUpdate(recorder_1);
|
|
107
104
|
return host;
|
|
108
105
|
}
|
|
109
|
-
throw new
|
|
106
|
+
throw new SchematicsException("Main file not found for a project ".concat(options.project));
|
|
110
107
|
};
|
|
111
108
|
}
|
|
112
109
|
var renames = {
|
|
@@ -129,7 +126,7 @@ function removeAngularNgRxDataFromPackageJson() {
|
|
|
129
126
|
}
|
|
130
127
|
function renameNgrxDataModule() {
|
|
131
128
|
return function (host) {
|
|
132
|
-
|
|
129
|
+
visitTSSourceFiles(host, function (sourceFile) {
|
|
133
130
|
var ngrxDataImports = sourceFile.statements
|
|
134
131
|
.filter(ts.isImportDeclaration)
|
|
135
132
|
.filter(function (_a) {
|
|
@@ -140,13 +137,13 @@ function renameNgrxDataModule() {
|
|
|
140
137
|
return;
|
|
141
138
|
}
|
|
142
139
|
var changes = __spreadArray(__spreadArray(__spreadArray([], __read(findNgrxDataImports(sourceFile, ngrxDataImports)), false), __read(findNgrxDataImportDeclarations(sourceFile, ngrxDataImports)), false), __read(findNgrxDataReplacements(sourceFile)), false);
|
|
143
|
-
|
|
140
|
+
commitChanges(host, sourceFile.fileName, changes);
|
|
144
141
|
});
|
|
145
142
|
};
|
|
146
143
|
}
|
|
147
144
|
function findNgrxDataImports(sourceFile, imports) {
|
|
148
145
|
var changes = imports.map(function (specifier) {
|
|
149
|
-
return
|
|
146
|
+
return createReplaceChange(sourceFile, specifier.moduleSpecifier, "'ngrx-data'", "'@ngrx/data'");
|
|
150
147
|
});
|
|
151
148
|
return changes;
|
|
152
149
|
}
|
|
@@ -175,7 +172,7 @@ function findNgrxDataImportDeclarations(sourceFile, imports) {
|
|
|
175
172
|
})
|
|
176
173
|
.map(function (_a) {
|
|
177
174
|
var specifier = _a.specifier, text = _a.text;
|
|
178
|
-
return
|
|
175
|
+
return createReplaceChange(sourceFile, specifier, text, renames[text]);
|
|
179
176
|
});
|
|
180
177
|
return changes;
|
|
181
178
|
}
|
|
@@ -209,7 +206,7 @@ function findNgrxDataReplacements(sourceFile) {
|
|
|
209
206
|
};
|
|
210
207
|
}
|
|
211
208
|
if (change) {
|
|
212
|
-
changes.push(
|
|
209
|
+
changes.push(createReplaceChange(sourceFile, change.node, change.text, renames[change.text]));
|
|
213
210
|
}
|
|
214
211
|
ts.forEachChild(node, function (childNode) { return find(childNode, changes); });
|
|
215
212
|
}
|
|
@@ -223,42 +220,42 @@ function throwIfModuleNotSpecified(host, module) {
|
|
|
223
220
|
}
|
|
224
221
|
var text = host.read(module);
|
|
225
222
|
if (text === null) {
|
|
226
|
-
throw new
|
|
223
|
+
throw new SchematicsException("File ".concat(module, " does not exist."));
|
|
227
224
|
}
|
|
228
225
|
}
|
|
229
226
|
function createEntityConfigFile(options, path) {
|
|
230
|
-
return
|
|
231
|
-
|
|
232
|
-
|
|
227
|
+
return mergeWith(apply(url('./files'), [
|
|
228
|
+
applyTemplates(__assign(__assign({}, stringUtils), options)),
|
|
229
|
+
move(path),
|
|
233
230
|
]));
|
|
234
231
|
}
|
|
235
|
-
function
|
|
232
|
+
export default function (options) {
|
|
236
233
|
return function (host, context) {
|
|
237
234
|
options.name = '';
|
|
238
|
-
options.path =
|
|
239
|
-
var mainFile =
|
|
240
|
-
var isStandalone =
|
|
235
|
+
options.path = getProjectPath(host, options);
|
|
236
|
+
var mainFile = getProjectMainFile(host, options);
|
|
237
|
+
var isStandalone = isStandaloneApp(host, mainFile);
|
|
241
238
|
options.effects = options.effects === undefined ? true : options.effects;
|
|
242
239
|
options.module =
|
|
243
240
|
options.module && !isStandalone
|
|
244
|
-
?
|
|
241
|
+
? findModuleFromOptions(host, options)
|
|
245
242
|
: options.module;
|
|
246
|
-
var parsedPath =
|
|
243
|
+
var parsedPath = parseName(options.path, '');
|
|
247
244
|
options.path = parsedPath.path;
|
|
248
245
|
var configOrModuleUpdate = isStandalone
|
|
249
246
|
? addStandaloneConfig(options)
|
|
250
247
|
: addEntityDataToNgModule(options);
|
|
251
|
-
return
|
|
252
|
-
options && options.skipPackageJson ?
|
|
248
|
+
return chain([
|
|
249
|
+
options && options.skipPackageJson ? noop() : addNgRxDataToPackageJson(),
|
|
253
250
|
options.migrateNgrxData
|
|
254
|
-
?
|
|
251
|
+
? chain([
|
|
255
252
|
removeAngularNgRxDataFromPackageJson(),
|
|
256
253
|
renameNgrxDataModule(),
|
|
257
254
|
])
|
|
258
|
-
:
|
|
255
|
+
: branchAndMerge(chain([configOrModuleUpdate])),
|
|
259
256
|
options.entityConfig
|
|
260
257
|
? createEntityConfigFile(options, parsedPath.path)
|
|
261
|
-
:
|
|
258
|
+
: noop(),
|
|
262
259
|
])(host, context);
|
|
263
260
|
};
|
|
264
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/data/schematics/ng-add/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { Path } from '@angular-devkit/core';\nimport {\n apply,\n applyTemplates,\n branchAndMerge,\n chain,\n mergeWith,\n move,\n Rule,\n SchematicContext,\n SchematicsException,\n noop,\n Tree,\n url,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n addImportToModule,\n addPackageToPackageJson,\n commitChanges,\n createReplaceChange,\n findModuleFromOptions,\n getProjectPath,\n insertImport,\n parseName,\n platformVersion,\n ReplaceChange,\n stringUtils,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Schema as EntityDataOptions } from './schema';\nimport { getProjectMainFile } from '../../schematics-core/utility/project';\nimport {\n addFunctionalProvidersToStandaloneBootstrap,\n callsProvidersFunction,\n} from '../../schematics-core/utility/standalone';\nimport { isStandaloneApp } from '@schematics/angular/utility/ng-ast-utils';\n\nfunction addNgRxDataToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/data',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nfunction addEntityDataToNgModule(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n throwIfModuleNotSpecified(host, options.module);\n\n const modulePath = options.module!;\n const text = host.read(modulePath)!.toString();\n\n const source = ts.createSourceFile(\n modulePath,\n text,\n ts.ScriptTarget.Latest,\n true\n );\n\n const moduleToImport = options.effects\n ? 'EntityDataModule'\n : 'EntityDataModuleWithoutEffects';\n\n const effectsModuleImport = insertImport(\n source,\n modulePath,\n moduleToImport,\n '@ngrx/data'\n );\n\n const [dateEntityNgModuleImport] = addImportToModule(\n source,\n modulePath,\n options.entityConfig\n ? [moduleToImport, 'forRoot(entityConfig)'].join('.')\n : moduleToImport,\n ''\n );\n\n const changes = [effectsModuleImport, dateEntityNgModuleImport];\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n modulePath,\n 'entityConfig',\n './entity-metadata'\n );\n changes.push(entityConfigImport);\n }\n\n commitChanges(host, source.fileName, changes);\n\n return host;\n };\n}\n\nfunction addStandaloneConfig(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n const mainFile = getProjectMainFile(host, options);\n if (host.exists(mainFile)) {\n const providerFn = 'provideEntityData';\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 ...(options.entityConfig\n ? [ts.factory.createIdentifier(`entityConfig`)]\n : [ts.factory.createIdentifier(`{}`)]),\n ...(options.effects\n ? [ts.factory.createIdentifier(`withEffects()`)]\n : []),\n ];\n\n const patchedConfigFile = addFunctionalProvidersToStandaloneBootstrap(\n host,\n mainFile,\n providerFn,\n '@ngrx/data',\n providerOptions\n );\n\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\n if (options.effects) {\n const withEffectsImport = insertImport(\n source,\n patchedConfigFile,\n 'withEffects',\n '@ngrx/data'\n );\n\n changes.push(withEffectsImport);\n }\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n patchedConfigFile,\n 'entityConfig',\n './entity-metadata'\n );\n\n changes.push(entityConfigImport);\n }\n\n changes.forEach((change: any) => {\n recorder.insertLeft(change.pos, change.toAdd);\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\nconst renames = {\n NgrxDataModule: 'EntityDataModule',\n NgrxDataModuleWithoutEffects: 'EntityDataModuleWithoutEffects',\n NgrxDataModuleConfig: 'EntityDataModuleConfig',\n};\n\nfunction removeAngularNgRxDataFromPackageJson() {\n return (host: Tree) => {\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (json['dependencies'] && json['dependencies']['ngrx-data']) {\n delete json['dependencies']['ngrx-data'];\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n };\n}\n\nfunction renameNgrxDataModule() {\n return (host: Tree) => {\n visitTSSourceFiles(host, (sourceFile) => {\n const ngrxDataImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(\n ({ moduleSpecifier }) =>\n moduleSpecifier.getText(sourceFile) === \"'ngrx-data'\"\n );\n\n if (ngrxDataImports.length === 0) {\n return;\n }\n\n const changes = [\n ...findNgrxDataImports(sourceFile, ngrxDataImports),\n ...findNgrxDataImportDeclarations(sourceFile, ngrxDataImports),\n ...findNgrxDataReplacements(sourceFile),\n ];\n\n commitChanges(host, sourceFile.fileName, changes);\n });\n };\n}\n\nfunction findNgrxDataImports(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports.map((specifier) =>\n createReplaceChange(\n sourceFile,\n specifier.moduleSpecifier,\n \"'ngrx-data'\",\n \"'@ngrx/data'\"\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataImportDeclarations(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports\n .map((p) => (p.importClause!.namedBindings! as ts.NamedImports).elements)\n .reduce((imports, curr) => imports.concat(curr), [] as ts.ImportSpecifier[])\n .map((specifier) => {\n if (!ts.isImportSpecifier(specifier)) {\n return { hit: false };\n }\n\n const ngrxDataImports = Object.keys(renames);\n if (ngrxDataImports.includes(specifier.name.text)) {\n return { hit: true, specifier, text: specifier.name.text };\n }\n\n // if import is renamed\n if (\n specifier.propertyName &&\n ngrxDataImports.includes(specifier.propertyName.text)\n ) {\n return { hit: true, specifier, text: specifier.propertyName.text };\n }\n\n return { hit: false };\n })\n .filter(({ hit }) => hit)\n .map(({ specifier, text }) =>\n createReplaceChange(\n sourceFile,\n specifier!,\n text!,\n (renames as any)[text!]\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataReplacements(sourceFile: ts.SourceFile) {\n const renameKeys = Object.keys(renames);\n const changes: ReplaceChange[] = [];\n ts.forEachChild(sourceFile, (node) => find(node, changes));\n return changes;\n\n function find(node: ts.Node, changes: ReplaceChange[]) {\n let change = undefined;\n\n if (\n ts.isPropertyAssignment(node) &&\n renameKeys.includes(node.initializer.getText(sourceFile))\n ) {\n change = {\n node: node.initializer,\n text: node.initializer.getText(sourceFile),\n };\n }\n\n if (\n ts.isPropertyAccessExpression(node) &&\n renameKeys.includes(node.expression.getText(sourceFile))\n ) {\n change = {\n node: node.expression,\n text: node.expression.getText(sourceFile),\n };\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n node.type &&\n renameKeys.includes(node.type.getText(sourceFile))\n ) {\n change = {\n node: node.type,\n text: node.type.getText(sourceFile),\n };\n }\n\n if (change) {\n changes.push(\n createReplaceChange(\n sourceFile,\n change.node,\n change.text,\n (renames as any)[change.text]\n )\n );\n }\n\n ts.forEachChild(node, (childNode) => find(childNode, changes));\n }\n}\n\nfunction throwIfModuleNotSpecified(host: Tree, module?: string) {\n if (!module) {\n throw new Error('Module not specified');\n }\n\n if (!host.exists(module)) {\n throw new Error('Specified module does not exist');\n }\n\n const text = host.read(module);\n if (text === null) {\n throw new SchematicsException(`File ${module} does not exist.`);\n }\n}\n\nfunction createEntityConfigFile(options: EntityDataOptions, path: Path) {\n return mergeWith(\n apply(url('./files'), [\n applyTemplates({\n ...stringUtils,\n ...options,\n }),\n move(path),\n ])\n );\n}\n\nexport default function (options: EntityDataOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n (options as any).name = '';\n options.path = getProjectPath(host, options);\n const mainFile = getProjectMainFile(host, options);\n const isStandalone = isStandaloneApp(host, mainFile);\n options.effects = options.effects === undefined ? true : options.effects;\n options.module =\n options.module && !isStandalone\n ? findModuleFromOptions(host, options as any)\n : options.module;\n\n const parsedPath = parseName(options.path, '');\n options.path = parsedPath.path;\n\n const configOrModuleUpdate = isStandalone\n ? addStandaloneConfig(options)\n : addEntityDataToNgModule(options);\n\n return chain([\n options && options.skipPackageJson ? noop() : addNgRxDataToPackageJson(),\n options.migrateNgrxData\n ? chain([\n removeAngularNgRxDataFromPackageJson(),\n renameNgrxDataModule(),\n ])\n : branchAndMerge(chain([configOrModuleUpdate])),\n options.entityConfig\n ? createEntityConfigFile(options, parsedPath.path)\n : noop(),\n ])(host, context);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/data/schematics/ng-add/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { Path } from '@angular-devkit/core';\nimport {\n apply,\n applyTemplates,\n branchAndMerge,\n chain,\n mergeWith,\n move,\n Rule,\n SchematicContext,\n SchematicsException,\n noop,\n Tree,\n url,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n addImportToModule,\n addPackageToPackageJson,\n commitChanges,\n createReplaceChange,\n findModuleFromOptions,\n getProjectPath,\n insertImport,\n parseName,\n platformVersion,\n ReplaceChange,\n stringUtils,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Schema as EntityDataOptions } from './schema';\nimport { getProjectMainFile } from '../../schematics-core/utility/project';\nimport {\n addFunctionalProvidersToStandaloneBootstrap,\n callsProvidersFunction,\n} from '../../schematics-core/utility/standalone';\nimport { isStandaloneApp } from '@schematics/angular/utility/ng-ast-utils';\n\nfunction addNgRxDataToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/data',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nfunction addEntityDataToNgModule(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n throwIfModuleNotSpecified(host, options.module);\n\n const modulePath = options.module!;\n const text = host.read(modulePath)!.toString();\n\n const source = ts.createSourceFile(\n modulePath,\n text,\n ts.ScriptTarget.Latest,\n true\n );\n\n const moduleToImport = options.effects\n ? 'EntityDataModule'\n : 'EntityDataModuleWithoutEffects';\n\n const effectsModuleImport = insertImport(\n source,\n modulePath,\n moduleToImport,\n '@ngrx/data'\n );\n\n const [dateEntityNgModuleImport] = addImportToModule(\n source,\n modulePath,\n options.entityConfig\n ? [moduleToImport, 'forRoot(entityConfig)'].join('.')\n : moduleToImport,\n ''\n );\n\n const changes = [effectsModuleImport, dateEntityNgModuleImport];\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n modulePath,\n 'entityConfig',\n './entity-metadata'\n );\n changes.push(entityConfigImport);\n }\n\n commitChanges(host, source.fileName, changes);\n\n return host;\n };\n}\n\nfunction addStandaloneConfig(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n const mainFile = getProjectMainFile(host, options);\n if (host.exists(mainFile)) {\n const providerFn = 'provideEntityData';\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 ...(options.entityConfig\n ? [ts.factory.createIdentifier(`entityConfig`)]\n : [ts.factory.createIdentifier(`{}`)]),\n ...(options.effects\n ? [ts.factory.createIdentifier(`withEffects()`)]\n : []),\n ];\n\n const patchedConfigFile = addFunctionalProvidersToStandaloneBootstrap(\n host,\n mainFile,\n providerFn,\n '@ngrx/data',\n providerOptions\n );\n\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\n if (options.effects) {\n const withEffectsImport = insertImport(\n source,\n patchedConfigFile,\n 'withEffects',\n '@ngrx/data'\n );\n\n changes.push(withEffectsImport);\n }\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n patchedConfigFile,\n 'entityConfig',\n './entity-metadata'\n );\n\n changes.push(entityConfigImport);\n }\n\n changes.forEach((change: any) => {\n recorder.insertLeft(change.pos, change.toAdd);\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\nconst renames = {\n NgrxDataModule: 'EntityDataModule',\n NgrxDataModuleWithoutEffects: 'EntityDataModuleWithoutEffects',\n NgrxDataModuleConfig: 'EntityDataModuleConfig',\n};\n\nfunction removeAngularNgRxDataFromPackageJson() {\n return (host: Tree) => {\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (json['dependencies'] && json['dependencies']['ngrx-data']) {\n delete json['dependencies']['ngrx-data'];\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n };\n}\n\nfunction renameNgrxDataModule() {\n return (host: Tree) => {\n visitTSSourceFiles(host, (sourceFile) => {\n const ngrxDataImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(\n ({ moduleSpecifier }) =>\n moduleSpecifier.getText(sourceFile) === \"'ngrx-data'\"\n );\n\n if (ngrxDataImports.length === 0) {\n return;\n }\n\n const changes = [\n ...findNgrxDataImports(sourceFile, ngrxDataImports),\n ...findNgrxDataImportDeclarations(sourceFile, ngrxDataImports),\n ...findNgrxDataReplacements(sourceFile),\n ];\n\n commitChanges(host, sourceFile.fileName, changes);\n });\n };\n}\n\nfunction findNgrxDataImports(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports.map((specifier) =>\n createReplaceChange(\n sourceFile,\n specifier.moduleSpecifier,\n \"'ngrx-data'\",\n \"'@ngrx/data'\"\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataImportDeclarations(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports\n .map((p) => (p.importClause!.namedBindings! as ts.NamedImports).elements)\n .reduce((imports, curr) => imports.concat(curr), [] as ts.ImportSpecifier[])\n .map((specifier) => {\n if (!ts.isImportSpecifier(specifier)) {\n return { hit: false };\n }\n\n const ngrxDataImports = Object.keys(renames);\n if (ngrxDataImports.includes(specifier.name.text)) {\n return { hit: true, specifier, text: specifier.name.text };\n }\n\n // if import is renamed\n if (\n specifier.propertyName &&\n ngrxDataImports.includes(specifier.propertyName.text)\n ) {\n return { hit: true, specifier, text: specifier.propertyName.text };\n }\n\n return { hit: false };\n })\n .filter(({ hit }) => hit)\n .map(({ specifier, text }) =>\n createReplaceChange(\n sourceFile,\n specifier!,\n text!,\n (renames as any)[text!]\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataReplacements(sourceFile: ts.SourceFile) {\n const renameKeys = Object.keys(renames);\n const changes: ReplaceChange[] = [];\n ts.forEachChild(sourceFile, (node) => find(node, changes));\n return changes;\n\n function find(node: ts.Node, changes: ReplaceChange[]) {\n let change = undefined;\n\n if (\n ts.isPropertyAssignment(node) &&\n renameKeys.includes(node.initializer.getText(sourceFile))\n ) {\n change = {\n node: node.initializer,\n text: node.initializer.getText(sourceFile),\n };\n }\n\n if (\n ts.isPropertyAccessExpression(node) &&\n renameKeys.includes(node.expression.getText(sourceFile))\n ) {\n change = {\n node: node.expression,\n text: node.expression.getText(sourceFile),\n };\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n node.type &&\n renameKeys.includes(node.type.getText(sourceFile))\n ) {\n change = {\n node: node.type,\n text: node.type.getText(sourceFile),\n };\n }\n\n if (change) {\n changes.push(\n createReplaceChange(\n sourceFile,\n change.node,\n change.text,\n (renames as any)[change.text]\n )\n );\n }\n\n ts.forEachChild(node, (childNode) => find(childNode, changes));\n }\n}\n\nfunction throwIfModuleNotSpecified(host: Tree, module?: string) {\n if (!module) {\n throw new Error('Module not specified');\n }\n\n if (!host.exists(module)) {\n throw new Error('Specified module does not exist');\n }\n\n const text = host.read(module);\n if (text === null) {\n throw new SchematicsException(`File ${module} does not exist.`);\n }\n}\n\nfunction createEntityConfigFile(options: EntityDataOptions, path: Path) {\n return mergeWith(\n apply(url('./files'), [\n applyTemplates({\n ...stringUtils,\n ...options,\n }),\n move(path),\n ])\n );\n}\n\nexport default function (options: EntityDataOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n (options as any).name = '';\n options.path = getProjectPath(host, options);\n const mainFile = getProjectMainFile(host, options);\n const isStandalone = isStandaloneApp(host, mainFile);\n options.effects = options.effects === undefined ? true : options.effects;\n options.module =\n options.module && !isStandalone\n ? findModuleFromOptions(host, options as any)\n : options.module;\n\n const parsedPath = parseName(options.path, '');\n options.path = parsedPath.path;\n\n const configOrModuleUpdate = isStandalone\n ? addStandaloneConfig(options)\n : addEntityDataToNgModule(options);\n\n return chain([\n options && options.skipPackageJson ? noop() : addNgRxDataToPackageJson(),\n options.migrateNgrxData\n ? chain([\n removeAngularNgRxDataFromPackageJson(),\n renameNgrxDataModule(),\n ])\n : branchAndMerge(chain([configOrModuleUpdate])),\n options.entityConfig\n ? createEntityConfigFile(options, parsedPath.path)\n : noop(),\n ])(host, context);\n };\n}\n"]}
|
package/schematics-core/index.js
CHANGED
|
@@ -1,77 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var change_1 = require("./utility/change");
|
|
21
|
-
Object.defineProperty(exports, "NoopChange", { enumerable: true, get: function () { return change_1.NoopChange; } });
|
|
22
|
-
Object.defineProperty(exports, "InsertChange", { enumerable: true, get: function () { return change_1.InsertChange; } });
|
|
23
|
-
Object.defineProperty(exports, "RemoveChange", { enumerable: true, get: function () { return change_1.RemoveChange; } });
|
|
24
|
-
Object.defineProperty(exports, "ReplaceChange", { enumerable: true, get: function () { return change_1.ReplaceChange; } });
|
|
25
|
-
Object.defineProperty(exports, "createReplaceChange", { enumerable: true, get: function () { return change_1.createReplaceChange; } });
|
|
26
|
-
Object.defineProperty(exports, "createChangeRecorder", { enumerable: true, get: function () { return change_1.createChangeRecorder; } });
|
|
27
|
-
Object.defineProperty(exports, "commitChanges", { enumerable: true, get: function () { return change_1.commitChanges; } });
|
|
28
|
-
var config_1 = require("./utility/config");
|
|
29
|
-
Object.defineProperty(exports, "getWorkspace", { enumerable: true, get: function () { return config_1.getWorkspace; } });
|
|
30
|
-
Object.defineProperty(exports, "getWorkspacePath", { enumerable: true, get: function () { return config_1.getWorkspacePath; } });
|
|
31
|
-
var find_component_1 = require("./utility/find-component");
|
|
32
|
-
Object.defineProperty(exports, "findComponentFromOptions", { enumerable: true, get: function () { return find_component_1.findComponentFromOptions; } });
|
|
33
|
-
var find_module_1 = require("./utility/find-module");
|
|
34
|
-
Object.defineProperty(exports, "findModule", { enumerable: true, get: function () { return find_module_1.findModule; } });
|
|
35
|
-
Object.defineProperty(exports, "findModuleFromOptions", { enumerable: true, get: function () { return find_module_1.findModuleFromOptions; } });
|
|
36
|
-
Object.defineProperty(exports, "buildRelativePath", { enumerable: true, get: function () { return find_module_1.buildRelativePath; } });
|
|
37
|
-
var json_utilts_1 = require("./utility/json-utilts");
|
|
38
|
-
Object.defineProperty(exports, "findPropertyInAstObject", { enumerable: true, get: function () { return json_utilts_1.findPropertyInAstObject; } });
|
|
39
|
-
var ngrx_utils_1 = require("./utility/ngrx-utils");
|
|
40
|
-
Object.defineProperty(exports, "addReducerToState", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToState; } });
|
|
41
|
-
Object.defineProperty(exports, "addReducerToStateInterface", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToStateInterface; } });
|
|
42
|
-
Object.defineProperty(exports, "addReducerImportToNgModule", { enumerable: true, get: function () { return ngrx_utils_1.addReducerImportToNgModule; } });
|
|
43
|
-
Object.defineProperty(exports, "addReducerToActionReducerMap", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToActionReducerMap; } });
|
|
44
|
-
Object.defineProperty(exports, "omit", { enumerable: true, get: function () { return ngrx_utils_1.omit; } });
|
|
45
|
-
Object.defineProperty(exports, "getPrefix", { enumerable: true, get: function () { return ngrx_utils_1.getPrefix; } });
|
|
46
|
-
var project_1 = require("./utility/project");
|
|
47
|
-
Object.defineProperty(exports, "getProjectPath", { enumerable: true, get: function () { return project_1.getProjectPath; } });
|
|
48
|
-
Object.defineProperty(exports, "getProject", { enumerable: true, get: function () { return project_1.getProject; } });
|
|
49
|
-
Object.defineProperty(exports, "isLib", { enumerable: true, get: function () { return project_1.isLib; } });
|
|
50
|
-
exports.stringUtils = {
|
|
51
|
-
dasherize: strings_1.dasherize,
|
|
52
|
-
decamelize: strings_1.decamelize,
|
|
53
|
-
camelize: strings_1.camelize,
|
|
54
|
-
classify: strings_1.classify,
|
|
55
|
-
underscore: strings_1.underscore,
|
|
56
|
-
group: strings_1.group,
|
|
57
|
-
capitalize: strings_1.capitalize,
|
|
58
|
-
featurePath: strings_1.featurePath,
|
|
59
|
-
pluralize: strings_1.pluralize,
|
|
1
|
+
import { dasherize, decamelize, camelize, classify, underscore, group, capitalize, featurePath, pluralize, } from './utility/strings';
|
|
2
|
+
export { findNodes, getSourceNodes, getDecoratorMetadata, getContentOfKeyLiteral, insertAfterLastOccurrence, insertImport, addBootstrapToModule, addDeclarationToModule, addExportToModule, addImportToModule, addProviderToComponent, addProviderToModule, replaceImport, containsProperty, } from './utility/ast-utils';
|
|
3
|
+
export { NoopChange, InsertChange, RemoveChange, ReplaceChange, createReplaceChange, createChangeRecorder, commitChanges, } from './utility/change';
|
|
4
|
+
export { getWorkspace, getWorkspacePath } from './utility/config';
|
|
5
|
+
export { findComponentFromOptions } from './utility/find-component';
|
|
6
|
+
export { findModule, findModuleFromOptions, buildRelativePath, } from './utility/find-module';
|
|
7
|
+
export { findPropertyInAstObject } from './utility/json-utilts';
|
|
8
|
+
export { addReducerToState, addReducerToStateInterface, addReducerImportToNgModule, addReducerToActionReducerMap, omit, getPrefix, } from './utility/ngrx-utils';
|
|
9
|
+
export { getProjectPath, getProject, isLib } from './utility/project';
|
|
10
|
+
export var stringUtils = {
|
|
11
|
+
dasherize: dasherize,
|
|
12
|
+
decamelize: decamelize,
|
|
13
|
+
camelize: camelize,
|
|
14
|
+
classify: classify,
|
|
15
|
+
underscore: underscore,
|
|
16
|
+
group: group,
|
|
17
|
+
capitalize: capitalize,
|
|
18
|
+
featurePath: featurePath,
|
|
19
|
+
pluralize: pluralize,
|
|
60
20
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Object.defineProperty(exports, "addPackageToPackageJson", { enumerable: true, get: function () { return package_1.addPackageToPackageJson; } });
|
|
67
|
-
var libs_version_1 = require("./utility/libs-version");
|
|
68
|
-
Object.defineProperty(exports, "platformVersion", { enumerable: true, get: function () { return libs_version_1.platformVersion; } });
|
|
69
|
-
var visitors_1 = require("./utility/visitors");
|
|
70
|
-
Object.defineProperty(exports, "visitTSSourceFiles", { enumerable: true, get: function () { return visitors_1.visitTSSourceFiles; } });
|
|
71
|
-
Object.defineProperty(exports, "visitNgModuleImports", { enumerable: true, get: function () { return visitors_1.visitNgModuleImports; } });
|
|
72
|
-
Object.defineProperty(exports, "visitNgModuleExports", { enumerable: true, get: function () { return visitors_1.visitNgModuleExports; } });
|
|
73
|
-
Object.defineProperty(exports, "visitComponents", { enumerable: true, get: function () { return visitors_1.visitComponents; } });
|
|
74
|
-
Object.defineProperty(exports, "visitDecorator", { enumerable: true, get: function () { return visitors_1.visitDecorator; } });
|
|
75
|
-
Object.defineProperty(exports, "visitNgModules", { enumerable: true, get: function () { return visitors_1.visitNgModules; } });
|
|
76
|
-
Object.defineProperty(exports, "visitTemplates", { enumerable: true, get: function () { return visitors_1.visitTemplates; } });
|
|
21
|
+
export { updatePackage } from './utility/update';
|
|
22
|
+
export { parseName } from './utility/parse-name';
|
|
23
|
+
export { addPackageToPackageJson } from './utility/package';
|
|
24
|
+
export { platformVersion } from './utility/libs-version';
|
|
25
|
+
export { visitTSSourceFiles, visitNgModuleImports, visitNgModuleExports, visitComponents, visitDecorator, visitNgModules, visitTemplates, } from './utility/visitors';
|
|
77
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data/schematics-core/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data/schematics-core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAa,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,IAAI,EACJ,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,SAAS,WAAA;IACT,UAAU,YAAA;IACV,QAAQ,UAAA;IACR,QAAQ,UAAA;IACR,UAAU,YAAA;IACV,KAAK,OAAA;IACL,UAAU,YAAA;IACV,WAAW,aAAA;IACX,SAAS,WAAA;CACV,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC","sourcesContent":["import {\n dasherize,\n decamelize,\n camelize,\n classify,\n underscore,\n group,\n capitalize,\n featurePath,\n pluralize,\n} from './utility/strings';\n\nexport {\n findNodes,\n getSourceNodes,\n getDecoratorMetadata,\n getContentOfKeyLiteral,\n insertAfterLastOccurrence,\n insertImport,\n addBootstrapToModule,\n addDeclarationToModule,\n addExportToModule,\n addImportToModule,\n addProviderToComponent,\n addProviderToModule,\n replaceImport,\n containsProperty,\n} from './utility/ast-utils';\n\nexport {\n Host,\n Change,\n NoopChange,\n InsertChange,\n RemoveChange,\n ReplaceChange,\n createReplaceChange,\n createChangeRecorder,\n commitChanges,\n} from './utility/change';\n\nexport { AppConfig, getWorkspace, getWorkspacePath } from './utility/config';\n\nexport { findComponentFromOptions } from './utility/find-component';\n\nexport {\n findModule,\n findModuleFromOptions,\n buildRelativePath,\n ModuleOptions,\n} from './utility/find-module';\n\nexport { findPropertyInAstObject } from './utility/json-utilts';\n\nexport {\n addReducerToState,\n addReducerToStateInterface,\n addReducerImportToNgModule,\n addReducerToActionReducerMap,\n omit,\n getPrefix,\n} from './utility/ngrx-utils';\n\nexport { getProjectPath, getProject, isLib } from './utility/project';\n\nexport const stringUtils = {\n dasherize,\n decamelize,\n camelize,\n classify,\n underscore,\n group,\n capitalize,\n featurePath,\n pluralize,\n};\n\nexport { updatePackage } from './utility/update';\n\nexport { parseName } from './utility/parse-name';\n\nexport { addPackageToPackageJson } from './utility/package';\n\nexport { platformVersion } from './utility/libs-version';\n\nexport {\n visitTSSourceFiles,\n visitNgModuleImports,\n visitNgModuleExports,\n visitComponents,\n visitDecorator,\n visitNgModules,\n visitTemplates,\n} from './utility/visitors';\n"]}
|