@ngrx/signals 17.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/LICENSE +25 -0
- package/README.md +3 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/ngrx-signals.mjs +5 -0
- package/esm2022/rxjs-interop/index.mjs +2 -0
- package/esm2022/rxjs-interop/ngrx-signals-rxjs-interop.mjs +5 -0
- package/esm2022/rxjs-interop/src/index.mjs +2 -0
- package/esm2022/rxjs-interop/src/rx-method.mjs +31 -0
- package/esm2022/src/deep-signal.mjs +22 -0
- package/esm2022/src/helpers.mjs +4 -0
- package/esm2022/src/index.mjs +9 -0
- package/esm2022/src/patch-state.mjs +8 -0
- package/esm2022/src/signal-state.mjs +12 -0
- package/esm2022/src/signal-store-feature.mjs +10 -0
- package/esm2022/src/signal-store-models.mjs +2 -0
- package/esm2022/src/signal-store.mjs +47 -0
- package/esm2022/src/ts-helpers.mjs +2 -0
- package/esm2022/src/with-computed.mjs +16 -0
- package/esm2022/src/with-hooks.mjs +30 -0
- package/esm2022/src/with-methods.mjs +22 -0
- package/esm2022/src/with-state.mjs +27 -0
- package/fesm2022/ngrx-signals-rxjs-interop.mjs +38 -0
- package/fesm2022/ngrx-signals-rxjs-interop.mjs.map +1 -0
- package/fesm2022/ngrx-signals.mjs +192 -0
- package/fesm2022/ngrx-signals.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/migrations/migration.json +4 -0
- package/package.json +72 -0
- package/rxjs-interop/index.d.ts +1 -0
- package/rxjs-interop/src/index.d.ts +1 -0
- package/rxjs-interop/src/rx-method.d.ts +8 -0
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/index.js +21 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +14 -0
- package/schematics-core/index.js +77 -0
- package/schematics-core/index.js.map +1 -0
- package/schematics-core/utility/ast-utils.js +705 -0
- package/schematics-core/utility/ast-utils.js.map +1 -0
- package/schematics-core/utility/change.js +162 -0
- package/schematics-core/utility/change.js.map +1 -0
- package/schematics-core/utility/config.js +21 -0
- package/schematics-core/utility/config.js.map +1 -0
- package/schematics-core/utility/find-component.js +101 -0
- package/schematics-core/utility/find-component.js.map +1 -0
- package/schematics-core/utility/find-module.js +102 -0
- package/schematics-core/utility/find-module.js.map +1 -0
- package/schematics-core/utility/json-utilts.js +37 -0
- package/schematics-core/utility/json-utilts.js.map +1 -0
- package/schematics-core/utility/libs-version.js +5 -0
- package/schematics-core/utility/libs-version.js.map +1 -0
- package/schematics-core/utility/ngrx-utils.js +248 -0
- package/schematics-core/utility/ngrx-utils.js.map +1 -0
- package/schematics-core/utility/package.js +23 -0
- package/schematics-core/utility/package.js.map +1 -0
- package/schematics-core/utility/parse-name.js +14 -0
- package/schematics-core/utility/parse-name.js.map +1 -0
- package/schematics-core/utility/project.js +48 -0
- package/schematics-core/utility/project.js.map +1 -0
- package/schematics-core/utility/strings.js +138 -0
- package/schematics-core/utility/strings.js.map +1 -0
- package/schematics-core/utility/update.js +34 -0
- package/schematics-core/utility/update.js.map +1 -0
- package/schematics-core/utility/visitors.js +250 -0
- package/schematics-core/utility/visitors.js.map +1 -0
- package/src/deep-signal.d.ts +6 -0
- package/src/helpers.d.ts +1 -0
- package/src/index.d.ts +8 -0
- package/src/patch-state.d.ts +3 -0
- package/src/signal-state.d.ts +11 -0
- package/src/signal-store-feature.d.ts +22 -0
- package/src/signal-store-models.d.ts +49 -0
- package/src/signal-store.d.ts +21 -0
- package/src/ts-helpers.d.ts +11 -0
- package/src/with-computed.d.ts +5 -0
- package/src/with-hooks.d.ts +9 -0
- package/src/with-methods.d.ts +6 -0
- package/src/with-state.d.ts +10 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
31
|
+
if (ar || !(i in from)) {
|
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
33
|
+
ar[i] = from[i];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.getPrefix = exports.omit = exports.addReducerImportToNgModule = exports.addReducerToActionReducerMap = exports.addReducerToStateInterface = exports.addReducerToState = void 0;
|
|
40
|
+
var ts = require("typescript");
|
|
41
|
+
var stringUtils = require("./strings");
|
|
42
|
+
var change_1 = require("./change");
|
|
43
|
+
var schematics_1 = require("@angular-devkit/schematics");
|
|
44
|
+
var core_1 = require("@angular-devkit/core");
|
|
45
|
+
var find_module_1 = require("./find-module");
|
|
46
|
+
var ast_utils_1 = require("./ast-utils");
|
|
47
|
+
function addReducerToState(options) {
|
|
48
|
+
return function (host) {
|
|
49
|
+
var e_1, _a;
|
|
50
|
+
if (!options.reducers) {
|
|
51
|
+
return host;
|
|
52
|
+
}
|
|
53
|
+
var reducersPath = (0, core_1.normalize)("/".concat(options.path, "/").concat(options.reducers));
|
|
54
|
+
if (!host.exists(reducersPath)) {
|
|
55
|
+
throw new Error("Specified reducers path ".concat(reducersPath, " does not exist"));
|
|
56
|
+
}
|
|
57
|
+
var text = host.read(reducersPath);
|
|
58
|
+
if (text === null) {
|
|
59
|
+
throw new schematics_1.SchematicsException("File ".concat(reducersPath, " does not exist."));
|
|
60
|
+
}
|
|
61
|
+
var sourceText = text.toString('utf-8');
|
|
62
|
+
var source = ts.createSourceFile(reducersPath, sourceText, ts.ScriptTarget.Latest, true);
|
|
63
|
+
var reducerPath = "/".concat(options.path, "/") +
|
|
64
|
+
(options.flat ? '' : stringUtils.dasherize(options.name) + '/') +
|
|
65
|
+
(options.group ? 'reducers/' : '') +
|
|
66
|
+
stringUtils.dasherize(options.name) +
|
|
67
|
+
'.reducer';
|
|
68
|
+
var relativePath = (0, find_module_1.buildRelativePath)(reducersPath, reducerPath);
|
|
69
|
+
var reducerImport = (0, ast_utils_1.insertImport)(source, reducersPath, "* as from".concat(stringUtils.classify(options.name)), relativePath, true);
|
|
70
|
+
var stateInterfaceInsert = addReducerToStateInterface(source, reducersPath, options);
|
|
71
|
+
var reducerMapInsert = addReducerToActionReducerMap(source, reducersPath, options);
|
|
72
|
+
var changes = [reducerImport, stateInterfaceInsert, reducerMapInsert];
|
|
73
|
+
var recorder = host.beginUpdate(reducersPath);
|
|
74
|
+
try {
|
|
75
|
+
for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
|
|
76
|
+
var change = changes_1_1.value;
|
|
77
|
+
if (change instanceof change_1.InsertChange) {
|
|
78
|
+
recorder.insertLeft(change.pos, change.toAdd);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
83
|
+
finally {
|
|
84
|
+
try {
|
|
85
|
+
if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
|
|
86
|
+
}
|
|
87
|
+
finally { if (e_1) throw e_1.error; }
|
|
88
|
+
}
|
|
89
|
+
host.commitUpdate(recorder);
|
|
90
|
+
return host;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
exports.addReducerToState = addReducerToState;
|
|
94
|
+
/**
|
|
95
|
+
* Insert the reducer into the first defined top level interface
|
|
96
|
+
*/
|
|
97
|
+
function addReducerToStateInterface(source, reducersPath, options) {
|
|
98
|
+
var stateInterface = source.statements.find(function (stm) { return stm.kind === ts.SyntaxKind.InterfaceDeclaration; });
|
|
99
|
+
var node = stateInterface;
|
|
100
|
+
if (!node) {
|
|
101
|
+
return new change_1.NoopChange();
|
|
102
|
+
}
|
|
103
|
+
var state = options.plural
|
|
104
|
+
? stringUtils.pluralize(options.name)
|
|
105
|
+
: stringUtils.camelize(options.name);
|
|
106
|
+
var keyInsert = "[from".concat(stringUtils.classify(options.name), ".").concat(stringUtils.camelize(state), "FeatureKey]: from").concat(stringUtils.classify(options.name), ".State;");
|
|
107
|
+
var expr = node;
|
|
108
|
+
var position;
|
|
109
|
+
var toInsert;
|
|
110
|
+
if (expr.members.length === 0) {
|
|
111
|
+
position = expr.getEnd() - 1;
|
|
112
|
+
toInsert = " ".concat(keyInsert, "\n");
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
node = expr.members[expr.members.length - 1];
|
|
116
|
+
position = node.getEnd() + 1;
|
|
117
|
+
// Get the indentation of the last element, if any.
|
|
118
|
+
var text = node.getFullText(source);
|
|
119
|
+
var matches = text.match(/^\r?\n+(\s*)/);
|
|
120
|
+
if (matches && matches.length > 0) {
|
|
121
|
+
toInsert = "".concat(matches[1]).concat(keyInsert, "\n");
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
toInsert = "\n".concat(keyInsert);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return new change_1.InsertChange(reducersPath, position, toInsert);
|
|
128
|
+
}
|
|
129
|
+
exports.addReducerToStateInterface = addReducerToStateInterface;
|
|
130
|
+
/**
|
|
131
|
+
* Insert the reducer into the ActionReducerMap
|
|
132
|
+
*/
|
|
133
|
+
function addReducerToActionReducerMap(source, reducersPath, options) {
|
|
134
|
+
var initializer;
|
|
135
|
+
var actionReducerMap = source.statements
|
|
136
|
+
.filter(function (stm) { return stm.kind === ts.SyntaxKind.VariableStatement; })
|
|
137
|
+
.filter(function (stm) { return !!stm.declarationList; })
|
|
138
|
+
.map(function (stm) {
|
|
139
|
+
var declarations = stm.declarationList.declarations;
|
|
140
|
+
var variable = declarations.find(function (decl) { return decl.kind === ts.SyntaxKind.VariableDeclaration; });
|
|
141
|
+
var type = variable ? variable.type : {};
|
|
142
|
+
return { initializer: variable.initializer, type: type };
|
|
143
|
+
})
|
|
144
|
+
.filter(function (initWithType) { return initWithType.type !== undefined; })
|
|
145
|
+
.find(function (_a) {
|
|
146
|
+
var type = _a.type;
|
|
147
|
+
return type.typeName.text === 'ActionReducerMap';
|
|
148
|
+
});
|
|
149
|
+
if (!actionReducerMap || !actionReducerMap.initializer) {
|
|
150
|
+
return new change_1.NoopChange();
|
|
151
|
+
}
|
|
152
|
+
var node = actionReducerMap.initializer;
|
|
153
|
+
var state = options.plural
|
|
154
|
+
? stringUtils.pluralize(options.name)
|
|
155
|
+
: stringUtils.camelize(options.name);
|
|
156
|
+
var keyInsert = "[from".concat(stringUtils.classify(options.name), ".").concat(stringUtils.camelize(state), "FeatureKey]: from").concat(stringUtils.classify(options.name), ".reducer,");
|
|
157
|
+
var expr = node;
|
|
158
|
+
var position;
|
|
159
|
+
var toInsert;
|
|
160
|
+
if (expr.properties.length === 0) {
|
|
161
|
+
position = expr.getEnd() - 1;
|
|
162
|
+
toInsert = " ".concat(keyInsert, "\n");
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
node = expr.properties[expr.properties.length - 1];
|
|
166
|
+
position = node.getEnd() + 1;
|
|
167
|
+
// Get the indentation of the last element, if any.
|
|
168
|
+
var text = node.getFullText(source);
|
|
169
|
+
var matches = text.match(/^\r?\n+(\s*)/);
|
|
170
|
+
if (matches && matches.length > 0) {
|
|
171
|
+
toInsert = "\n".concat(matches[1]).concat(keyInsert);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
toInsert = "\n".concat(keyInsert);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return new change_1.InsertChange(reducersPath, position, toInsert);
|
|
178
|
+
}
|
|
179
|
+
exports.addReducerToActionReducerMap = addReducerToActionReducerMap;
|
|
180
|
+
/**
|
|
181
|
+
* Add reducer feature to NgModule
|
|
182
|
+
*/
|
|
183
|
+
function addReducerImportToNgModule(options) {
|
|
184
|
+
return function (host) {
|
|
185
|
+
var e_2, _a;
|
|
186
|
+
if (!options.module) {
|
|
187
|
+
return host;
|
|
188
|
+
}
|
|
189
|
+
var modulePath = options.module;
|
|
190
|
+
if (!host.exists(options.module)) {
|
|
191
|
+
throw new Error("Specified module path ".concat(modulePath, " does not exist"));
|
|
192
|
+
}
|
|
193
|
+
var text = host.read(modulePath);
|
|
194
|
+
if (text === null) {
|
|
195
|
+
throw new schematics_1.SchematicsException("File ".concat(modulePath, " does not exist."));
|
|
196
|
+
}
|
|
197
|
+
var sourceText = text.toString('utf-8');
|
|
198
|
+
var source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
|
|
199
|
+
var commonImports = [
|
|
200
|
+
(0, ast_utils_1.insertImport)(source, modulePath, 'StoreModule', '@ngrx/store'),
|
|
201
|
+
];
|
|
202
|
+
var reducerPath = "/".concat(options.path, "/") +
|
|
203
|
+
(options.flat ? '' : stringUtils.dasherize(options.name) + '/') +
|
|
204
|
+
(options.group ? 'reducers/' : '') +
|
|
205
|
+
stringUtils.dasherize(options.name) +
|
|
206
|
+
'.reducer';
|
|
207
|
+
var relativePath = (0, find_module_1.buildRelativePath)(modulePath, reducerPath);
|
|
208
|
+
var reducerImport = (0, ast_utils_1.insertImport)(source, modulePath, "* as from".concat(stringUtils.classify(options.name)), relativePath, true);
|
|
209
|
+
var state = options.plural
|
|
210
|
+
? stringUtils.pluralize(options.name)
|
|
211
|
+
: stringUtils.camelize(options.name);
|
|
212
|
+
var _b = __read((0, ast_utils_1.addImportToModule)(source, modulePath, "StoreModule.forFeature(from".concat(stringUtils.classify(options.name), ".").concat(state, "FeatureKey, from").concat(stringUtils.classify(options.name), ".reducer)"), relativePath), 1), storeNgModuleImport = _b[0];
|
|
213
|
+
var changes = __spreadArray(__spreadArray([], __read(commonImports), false), [reducerImport, storeNgModuleImport], false);
|
|
214
|
+
var recorder = host.beginUpdate(modulePath);
|
|
215
|
+
try {
|
|
216
|
+
for (var changes_2 = __values(changes), changes_2_1 = changes_2.next(); !changes_2_1.done; changes_2_1 = changes_2.next()) {
|
|
217
|
+
var change = changes_2_1.value;
|
|
218
|
+
if (change instanceof change_1.InsertChange) {
|
|
219
|
+
recorder.insertLeft(change.pos, change.toAdd);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
224
|
+
finally {
|
|
225
|
+
try {
|
|
226
|
+
if (changes_2_1 && !changes_2_1.done && (_a = changes_2.return)) _a.call(changes_2);
|
|
227
|
+
}
|
|
228
|
+
finally { if (e_2) throw e_2.error; }
|
|
229
|
+
}
|
|
230
|
+
host.commitUpdate(recorder);
|
|
231
|
+
return host;
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
exports.addReducerImportToNgModule = addReducerImportToNgModule;
|
|
235
|
+
function omit(object, keyToRemove) {
|
|
236
|
+
return Object.keys(object)
|
|
237
|
+
.filter(function (key) { return key !== keyToRemove; })
|
|
238
|
+
.reduce(function (result, key) {
|
|
239
|
+
var _a;
|
|
240
|
+
return Object.assign(result, (_a = {}, _a[key] = object[key], _a));
|
|
241
|
+
}, {});
|
|
242
|
+
}
|
|
243
|
+
exports.omit = omit;
|
|
244
|
+
function getPrefix(options) {
|
|
245
|
+
return stringUtils.camelize(options.prefix || 'load');
|
|
246
|
+
}
|
|
247
|
+
exports.getPrefix = getPrefix;
|
|
248
|
+
//# sourceMappingURL=ngrx-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngrx-utils.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/ngrx-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AACjC,uCAAyC;AACzC,mCAA4D;AAC5D,yDAA6E;AAC7E,6CAAiD;AACjD,6CAAkD;AAClD,yCAA8D;AAE9D,SAAgB,iBAAiB,CAAC,OAAY;IAC5C,OAAO,UAAC,IAAU;;QAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,IAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,WAAI,OAAO,CAAC,IAAI,cAAI,OAAO,CAAC,QAAQ,CAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,kCAA2B,YAAY,oBAAiB,CAAC,CAAC;SAC3E;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,gCAAmB,CAAC,eAAQ,YAAY,qBAAkB,CAAC,CAAC;SACvE;QAED,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAChC,YAAY,EACZ,UAAU,EACV,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;QAEF,IAAM,WAAW,GACf,WAAI,OAAO,CAAC,IAAI,MAAG;YACnB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/D,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,UAAU,CAAC;QAEb,IAAM,YAAY,GAAG,IAAA,+BAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAClE,IAAM,aAAa,GAAG,IAAA,wBAAY,EAChC,MAAM,EACN,YAAY,EACZ,mBAAY,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAE,EAChD,YAAY,EACZ,IAAI,CACL,CAAC;QAEF,IAAM,oBAAoB,GAAG,0BAA0B,CACrD,MAAM,EACN,YAAY,EACZ,OAAO,CACR,CAAC;QACF,IAAM,gBAAgB,GAAG,4BAA4B,CACnD,MAAM,EACN,YAAY,EACZ,OAAO,CACR,CAAC;QAEF,IAAM,OAAO,GAAG,CAAC,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;QACxE,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;YAChD,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE;gBAAzB,IAAM,MAAM,oBAAA;gBACf,IAAI,MAAM,YAAY,qBAAY,EAAE;oBAClC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC/C;aACF;;;;;;;;;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAhED,8CAgEC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CACxC,MAAqB,EACrB,YAAoB,EACpB,OAA0C;IAE1C,IAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAC3C,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAA/C,CAA+C,CACzD,CAAC;IACF,IAAI,IAAI,GAAG,cAA8B,CAAC;IAE1C,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,mBAAU,EAAE,CAAC;KACzB;IAED,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM;QAC1B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAM,SAAS,GAAG,eAAQ,WAAW,CAAC,QAAQ,CAC5C,OAAO,CAAC,IAAI,CACb,cAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,8BAAoB,WAAW,CAAC,QAAQ,CACtE,OAAO,CAAC,IAAI,CACb,YAAS,CAAC;IACX,IAAM,IAAI,GAAG,IAAW,CAAC;IACzB,IAAI,QAAQ,CAAC;IACb,IAAI,QAAQ,CAAC;IAEb,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,QAAQ,GAAG,YAAK,SAAS,OAAI,CAAC;KAC/B;SAAM;QACL,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,mDAAmD;QACnD,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE3C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,QAAQ,GAAG,UAAG,OAAO,CAAC,CAAC,CAAC,SAAG,SAAS,OAAI,CAAC;SAC1C;aAAM;YACL,QAAQ,GAAG,YAAK,SAAS,CAAE,CAAC;SAC7B;KACF;IAED,OAAO,IAAI,qBAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AA7CD,gEA6CC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAC1C,MAAqB,EACrB,YAAoB,EACpB,OAA0C;IAE1C,IAAI,WAAgB,CAAC;IACrB,IAAM,gBAAgB,GAAQ,MAAM,CAAC,UAAU;SAC5C,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAA5C,CAA4C,CAAC;SAC7D,MAAM,CAAC,UAAC,GAAQ,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,eAAe,EAArB,CAAqB,CAAC;SAC3C,GAAG,CAAC,UAAC,GAAQ;QAEV,IAAA,YAAY,GAGV,GAAG,CAAC,eAAe,aAHT,CAGU;QACxB,IAAM,QAAQ,GAAQ,YAAY,CAAC,IAAI,CACrC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAA/C,CAA+C,CAC/D,CAAC;QACF,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3C,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,MAAA,EAAE,CAAC;IACrD,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,YAAY,IAAK,OAAA,YAAY,CAAC,IAAI,KAAK,SAAS,EAA/B,CAA+B,CAAC;SACzD,IAAI,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,kBAAkB;IAAzC,CAAyC,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;QACtD,OAAO,IAAI,mBAAU,EAAE,CAAC;KACzB;IAED,IAAI,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAExC,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM;QAC1B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAM,SAAS,GAAG,eAAQ,WAAW,CAAC,QAAQ,CAC5C,OAAO,CAAC,IAAI,CACb,cAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,8BAAoB,WAAW,CAAC,QAAQ,CACtE,OAAO,CAAC,IAAI,CACb,cAAW,CAAC;IACb,IAAM,IAAI,GAAG,IAAW,CAAC;IACzB,IAAI,QAAQ,CAAC;IACb,IAAI,QAAQ,CAAC;IAEb,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,QAAQ,GAAG,YAAK,SAAS,OAAI,CAAC;KAC/B;SAAM;QACL,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,mDAAmD;QACnD,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE3C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,QAAQ,GAAG,YAAK,OAAO,CAAC,CAAC,CAAC,SAAG,SAAS,CAAE,CAAC;SAC1C;aAAM;YACL,QAAQ,GAAG,YAAK,SAAS,CAAE,CAAC;SAC7B;KACF;IAED,OAAO,IAAI,qBAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AA9DD,oEA8DC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CAAC,OAAY;IACrD,OAAO,UAAC,IAAU;;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QAED,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAyB,UAAU,oBAAiB,CAAC,CAAC;SACvE;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,gCAAmB,CAAC,eAAQ,UAAU,qBAAkB,CAAC,CAAC;SACrE;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAChC,UAAU,EACV,UAAU,EACV,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;QAEF,IAAM,aAAa,GAAG;YACpB,IAAA,wBAAY,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC;SAC/D,CAAC;QAEF,IAAM,WAAW,GACf,WAAI,OAAO,CAAC,IAAI,MAAG;YACnB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/D,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,UAAU,CAAC;QACb,IAAM,YAAY,GAAG,IAAA,+BAAiB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAChE,IAAM,aAAa,GAAG,IAAA,wBAAY,EAChC,MAAM,EACN,UAAU,EACV,mBAAY,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAE,EAChD,YAAY,EACZ,IAAI,CACL,CAAC;QACF,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM;YAC1B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAA,KAAA,OAAwB,IAAA,6BAAiB,EAC7C,MAAM,EACN,UAAU,EACV,qCAA8B,WAAW,CAAC,QAAQ,CAChD,OAAO,CAAC,IAAI,CACb,cAAI,KAAK,6BAAmB,WAAW,CAAC,QAAQ,CAC/C,OAAO,CAAC,IAAI,CACb,cAAW,EACZ,YAAY,CACb,IAAA,EATM,mBAAmB,QASzB,CAAC;QACF,IAAM,OAAO,0CAAO,aAAa,YAAE,aAAa,EAAE,mBAAmB,SAAC,CAAC;QACvE,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;;YAC9C,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE;gBAAzB,IAAM,MAAM,oBAAA;gBACf,IAAI,MAAM,YAAY,qBAAY,EAAE;oBAClC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC/C;aACF;;;;;;;;;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAlED,gEAkEC;AAED,SAAgB,IAAI,CAClB,MAAS,EACT,WAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,WAAW,EAAnB,CAAmB,CAAC;SACpC,MAAM,CAAC,UAAC,MAAM,EAAE,GAAG;;QAAK,OAAA,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG;IAA7C,CAA6C,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAPD,oBAOC;AAED,SAAgB,SAAS,CAAC,OAA4B;IACpD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;AACxD,CAAC;AAFD,8BAEC","sourcesContent":["import * as ts from 'typescript';\nimport * as stringUtils from './strings';\nimport { InsertChange, Change, NoopChange } from './change';\nimport { Tree, SchematicsException, Rule } from '@angular-devkit/schematics';\nimport { normalize } from '@angular-devkit/core';\nimport { buildRelativePath } from './find-module';\nimport { addImportToModule, insertImport } from './ast-utils';\n\nexport function addReducerToState(options: any): Rule {\n return (host: Tree) => {\n if (!options.reducers) {\n return host;\n }\n\n const reducersPath = normalize(`/${options.path}/${options.reducers}`);\n\n if (!host.exists(reducersPath)) {\n throw new Error(`Specified reducers path ${reducersPath} does not exist`);\n }\n\n const text = host.read(reducersPath);\n if (text === null) {\n throw new SchematicsException(`File ${reducersPath} does not exist.`);\n }\n\n const sourceText = text.toString('utf-8');\n\n const source = ts.createSourceFile(\n reducersPath,\n sourceText,\n ts.ScriptTarget.Latest,\n true\n );\n\n const reducerPath =\n `/${options.path}/` +\n (options.flat ? '' : stringUtils.dasherize(options.name) + '/') +\n (options.group ? 'reducers/' : '') +\n stringUtils.dasherize(options.name) +\n '.reducer';\n\n const relativePath = buildRelativePath(reducersPath, reducerPath);\n const reducerImport = insertImport(\n source,\n reducersPath,\n `* as from${stringUtils.classify(options.name)}`,\n relativePath,\n true\n );\n\n const stateInterfaceInsert = addReducerToStateInterface(\n source,\n reducersPath,\n options\n );\n const reducerMapInsert = addReducerToActionReducerMap(\n source,\n reducersPath,\n options\n );\n\n const changes = [reducerImport, stateInterfaceInsert, reducerMapInsert];\n const recorder = host.beginUpdate(reducersPath);\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\n/**\n * Insert the reducer into the first defined top level interface\n */\nexport function addReducerToStateInterface(\n source: ts.SourceFile,\n reducersPath: string,\n options: { name: string; plural: boolean }\n): Change {\n const stateInterface = source.statements.find(\n (stm) => stm.kind === ts.SyntaxKind.InterfaceDeclaration\n );\n let node = stateInterface as ts.Statement;\n\n if (!node) {\n return new NoopChange();\n }\n\n const state = options.plural\n ? stringUtils.pluralize(options.name)\n : stringUtils.camelize(options.name);\n\n const keyInsert = `[from${stringUtils.classify(\n options.name\n )}.${stringUtils.camelize(state)}FeatureKey]: from${stringUtils.classify(\n options.name\n )}.State;`;\n const expr = node as any;\n let position;\n let toInsert;\n\n if (expr.members.length === 0) {\n position = expr.getEnd() - 1;\n toInsert = ` ${keyInsert}\\n`;\n } else {\n node = expr.members[expr.members.length - 1];\n position = node.getEnd() + 1;\n // Get the indentation of the last element, if any.\n const text = node.getFullText(source);\n const matches = text.match(/^\\r?\\n+(\\s*)/);\n\n if (matches && matches.length > 0) {\n toInsert = `${matches[1]}${keyInsert}\\n`;\n } else {\n toInsert = `\\n${keyInsert}`;\n }\n }\n\n return new InsertChange(reducersPath, position, toInsert);\n}\n\n/**\n * Insert the reducer into the ActionReducerMap\n */\nexport function addReducerToActionReducerMap(\n source: ts.SourceFile,\n reducersPath: string,\n options: { name: string; plural: boolean }\n): Change {\n let initializer: any;\n const actionReducerMap: any = source.statements\n .filter((stm) => stm.kind === ts.SyntaxKind.VariableStatement)\n .filter((stm: any) => !!stm.declarationList)\n .map((stm: any) => {\n const {\n declarations,\n }: {\n declarations: ts.SyntaxKind.VariableDeclarationList[];\n } = stm.declarationList;\n const variable: any = declarations.find(\n (decl: any) => decl.kind === ts.SyntaxKind.VariableDeclaration\n );\n const type = variable ? variable.type : {};\n\n return { initializer: variable.initializer, type };\n })\n .filter((initWithType) => initWithType.type !== undefined)\n .find(({ type }) => type.typeName.text === 'ActionReducerMap');\n\n if (!actionReducerMap || !actionReducerMap.initializer) {\n return new NoopChange();\n }\n\n let node = actionReducerMap.initializer;\n\n const state = options.plural\n ? stringUtils.pluralize(options.name)\n : stringUtils.camelize(options.name);\n\n const keyInsert = `[from${stringUtils.classify(\n options.name\n )}.${stringUtils.camelize(state)}FeatureKey]: from${stringUtils.classify(\n options.name\n )}.reducer,`;\n const expr = node as any;\n let position;\n let toInsert;\n\n if (expr.properties.length === 0) {\n position = expr.getEnd() - 1;\n toInsert = ` ${keyInsert}\\n`;\n } else {\n node = expr.properties[expr.properties.length - 1];\n position = node.getEnd() + 1;\n // Get the indentation of the last element, if any.\n const text = node.getFullText(source);\n const matches = text.match(/^\\r?\\n+(\\s*)/);\n\n if (matches && matches.length > 0) {\n toInsert = `\\n${matches[1]}${keyInsert}`;\n } else {\n toInsert = `\\n${keyInsert}`;\n }\n }\n\n return new InsertChange(reducersPath, position, toInsert);\n}\n\n/**\n * Add reducer feature to NgModule\n */\nexport function addReducerImportToNgModule(options: any): Rule {\n return (host: Tree) => {\n if (!options.module) {\n return host;\n }\n\n const modulePath = options.module;\n if (!host.exists(options.module)) {\n throw new Error(`Specified module path ${modulePath} 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 commonImports = [\n insertImport(source, modulePath, 'StoreModule', '@ngrx/store'),\n ];\n\n const reducerPath =\n `/${options.path}/` +\n (options.flat ? '' : stringUtils.dasherize(options.name) + '/') +\n (options.group ? 'reducers/' : '') +\n stringUtils.dasherize(options.name) +\n '.reducer';\n const relativePath = buildRelativePath(modulePath, reducerPath);\n const reducerImport = insertImport(\n source,\n modulePath,\n `* as from${stringUtils.classify(options.name)}`,\n relativePath,\n true\n );\n const state = options.plural\n ? stringUtils.pluralize(options.name)\n : stringUtils.camelize(options.name);\n const [storeNgModuleImport] = addImportToModule(\n source,\n modulePath,\n `StoreModule.forFeature(from${stringUtils.classify(\n options.name\n )}.${state}FeatureKey, from${stringUtils.classify(\n options.name\n )}.reducer)`,\n relativePath\n );\n const changes = [...commonImports, reducerImport, storeNgModuleImport];\n const recorder = host.beginUpdate(modulePath);\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\nexport function omit<T extends { [key: string]: any }>(\n object: T,\n keyToRemove: keyof T\n): Partial<T> {\n return Object.keys(object)\n .filter((key) => key !== keyToRemove)\n .reduce((result, key) => Object.assign(result, { [key]: object[key] }), {});\n}\n\nexport function getPrefix(options: { prefix?: string }) {\n return stringUtils.camelize(options.prefix || 'load');\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addPackageToPackageJson = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Adds a package to the package.json
|
|
6
|
+
*/
|
|
7
|
+
function addPackageToPackageJson(host, type, pkg, version) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
if (host.exists('package.json')) {
|
|
10
|
+
var sourceText = (_b = (_a = host.read('package.json')) === null || _a === void 0 ? void 0 : _a.toString('utf-8')) !== null && _b !== void 0 ? _b : '{}';
|
|
11
|
+
var json = JSON.parse(sourceText);
|
|
12
|
+
if (!json[type]) {
|
|
13
|
+
json[type] = {};
|
|
14
|
+
}
|
|
15
|
+
if (!json[type][pkg]) {
|
|
16
|
+
json[type][pkg] = version;
|
|
17
|
+
}
|
|
18
|
+
host.overwrite('package.json', JSON.stringify(json, null, 2));
|
|
19
|
+
}
|
|
20
|
+
return host;
|
|
21
|
+
}
|
|
22
|
+
exports.addPackageToPackageJson = addPackageToPackageJson;
|
|
23
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/package.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,uBAAuB,CACrC,IAAU,EACV,IAAY,EACZ,GAAW,EACX,OAAe;;IAEf,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC/B,IAAM,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC;QACxE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACjB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SAC3B;QAED,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/D;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,0DAqBC","sourcesContent":["import { Tree } from '@angular-devkit/schematics';\n\n/**\n * Adds a package to the package.json\n */\nexport function addPackageToPackageJson(\n host: Tree,\n type: string,\n pkg: string,\n version: string\n): Tree {\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')?.toString('utf-8') ?? '{}';\n const json = JSON.parse(sourceText);\n if (!json[type]) {\n json[type] = {};\n }\n\n if (!json[type][pkg]) {\n json[type][pkg] = version;\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseName = void 0;
|
|
4
|
+
var core_1 = require("@angular-devkit/core");
|
|
5
|
+
function parseName(path, name) {
|
|
6
|
+
var nameWithoutPath = (0, core_1.basename)(name);
|
|
7
|
+
var namePath = (0, core_1.dirname)((path + '/' + name));
|
|
8
|
+
return {
|
|
9
|
+
name: nameWithoutPath,
|
|
10
|
+
path: (0, core_1.normalize)('/' + namePath),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.parseName = parseName;
|
|
14
|
+
//# sourceMappingURL=parse-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-name.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/parse-name.ts"],"names":[],"mappings":";;;AAAA,6CAA0E;AAO1E,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAY;IAClD,IAAM,eAAe,GAAG,IAAA,eAAQ,EAAC,IAAY,CAAC,CAAC;IAC/C,IAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAS,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,IAAA,gBAAS,EAAC,GAAG,GAAG,QAAQ,CAAC;KAChC,CAAC;AACJ,CAAC;AARD,8BAQC","sourcesContent":["import { Path, basename, dirname, normalize } from '@angular-devkit/core';\n\nexport interface Location {\n name: string;\n path: Path;\n}\n\nexport function parseName(path: string, name: string): Location {\n const nameWithoutPath = basename(name as Path);\n const namePath = dirname((path + '/' + name) as Path);\n\n return {\n name: nameWithoutPath,\n path: normalize('/' + namePath),\n };\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProjectMainFile = exports.isLib = exports.getProjectPath = exports.getProject = void 0;
|
|
4
|
+
var config_1 = require("./config");
|
|
5
|
+
var schematics_1 = require("@angular-devkit/schematics");
|
|
6
|
+
function getProject(host, options) {
|
|
7
|
+
var workspace = (0, config_1.getWorkspace)(host);
|
|
8
|
+
if (!options.project) {
|
|
9
|
+
var defaultProject = workspace
|
|
10
|
+
.defaultProject;
|
|
11
|
+
options.project =
|
|
12
|
+
defaultProject !== undefined
|
|
13
|
+
? defaultProject
|
|
14
|
+
: Object.keys(workspace.projects)[0];
|
|
15
|
+
}
|
|
16
|
+
return workspace.projects[options.project];
|
|
17
|
+
}
|
|
18
|
+
exports.getProject = getProject;
|
|
19
|
+
function getProjectPath(host, options) {
|
|
20
|
+
var project = getProject(host, options);
|
|
21
|
+
if (project.root.slice(-1) === '/') {
|
|
22
|
+
project.root = project.root.substring(0, project.root.length - 1);
|
|
23
|
+
}
|
|
24
|
+
if (options.path === undefined) {
|
|
25
|
+
var projectDirName = project.projectType === 'application' ? 'app' : 'lib';
|
|
26
|
+
return "".concat(project.root ? "/".concat(project.root) : '', "/src/").concat(projectDirName);
|
|
27
|
+
}
|
|
28
|
+
return options.path;
|
|
29
|
+
}
|
|
30
|
+
exports.getProjectPath = getProjectPath;
|
|
31
|
+
function isLib(host, options) {
|
|
32
|
+
var project = getProject(host, options);
|
|
33
|
+
return project.projectType === 'library';
|
|
34
|
+
}
|
|
35
|
+
exports.isLib = isLib;
|
|
36
|
+
function getProjectMainFile(host, options) {
|
|
37
|
+
if (isLib(host, options)) {
|
|
38
|
+
throw new schematics_1.SchematicsException("Invalid project type");
|
|
39
|
+
}
|
|
40
|
+
var project = getProject(host, options);
|
|
41
|
+
var projectOptions = project.architect['build'].options;
|
|
42
|
+
if (!(projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.main) && !(projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.browser)) {
|
|
43
|
+
throw new schematics_1.SchematicsException("Could not find the main file ".concat(project));
|
|
44
|
+
}
|
|
45
|
+
return (projectOptions.browser || projectOptions.main);
|
|
46
|
+
}
|
|
47
|
+
exports.getProjectMainFile = getProjectMainFile;
|
|
48
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/project.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AACxC,yDAAuE;AAUvE,SAAgB,UAAU,CACxB,IAAU,EACV,OAAoE;IAEpE,IAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,IAAM,cAAc,GAAI,SAAyC;aAC9D,cAAc,CAAC;QAClB,OAAO,CAAC,OAAO;YACb,cAAc,KAAK,SAAS;gBAC1B,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1C;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAhBD,gCAgBC;AAED,SAAgB,cAAc,CAC5B,IAAU,EACV,OAAoE;IAEpE,IAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAClC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACnE;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QAC9B,IAAM,cAAc,GAClB,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAExD,OAAO,UAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,kBAAQ,cAAc,CAAE,CAAC;KAC1E;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAlBD,wCAkBC;AAED,SAAgB,KAAK,CACnB,IAAU,EACV,OAAoE;IAEpE,IAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,OAAO,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3C,CAAC;AAPD,sBAOC;AAED,SAAgB,kBAAkB,CAChC,IAAU,EACV,OAAoE;IAEpE,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,gCAAmB,CAAC,sBAAsB,CAAC,CAAC;KACvD;IACD,IAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAE1D,IAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAA,IAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAA,EAAE;QACrD,MAAM,IAAI,gCAAmB,CAAC,uCAAgC,OAAO,CAAE,CAAC,CAAC;KAC1E;IAED,OAAO,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAW,CAAC;AACnE,CAAC;AAfD,gDAeC","sourcesContent":["import { TargetDefinition } from '@angular-devkit/core/src/workspace';\nimport { getWorkspace } from './config';\nimport { SchematicsException, Tree } from '@angular-devkit/schematics';\n\nexport interface WorkspaceProject {\n root: string;\n projectType: string;\n architect: {\n [key: string]: TargetDefinition;\n };\n}\n\nexport function getProject(\n host: Tree,\n options: { project?: string | undefined; path?: string | undefined }\n): WorkspaceProject {\n const workspace = getWorkspace(host);\n\n if (!options.project) {\n const defaultProject = (workspace as { defaultProject?: string })\n .defaultProject;\n options.project =\n defaultProject !== undefined\n ? defaultProject\n : Object.keys(workspace.projects)[0];\n }\n\n return workspace.projects[options.project];\n}\n\nexport function getProjectPath(\n host: Tree,\n options: { project?: string | undefined; path?: string | undefined }\n) {\n const project = getProject(host, options);\n\n if (project.root.slice(-1) === '/') {\n project.root = project.root.substring(0, project.root.length - 1);\n }\n\n if (options.path === undefined) {\n const projectDirName =\n project.projectType === 'application' ? 'app' : 'lib';\n\n return `${project.root ? `/${project.root}` : ''}/src/${projectDirName}`;\n }\n\n return options.path;\n}\n\nexport function isLib(\n host: Tree,\n options: { project?: string | undefined; path?: string | undefined }\n) {\n const project = getProject(host, options);\n\n return project.projectType === 'library';\n}\n\nexport function getProjectMainFile(\n host: Tree,\n options: { project?: string | undefined; path?: string | undefined }\n) {\n if (isLib(host, options)) {\n throw new SchematicsException(`Invalid project type`);\n }\n const project = getProject(host, options);\n const projectOptions = project.architect['build'].options;\n\n if (!projectOptions?.main && !projectOptions?.browser) {\n throw new SchematicsException(`Could not find the main file ${project}`);\n }\n\n return (projectOptions.browser || projectOptions.main) as string;\n}\n"]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.featurePath = exports.group = exports.pluralize = exports.capitalize = exports.underscore = exports.classify = exports.camelize = exports.dasherize = exports.decamelize = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
9
|
+
* found in the LICENSE file at https://angular.io/license
|
|
10
|
+
*/
|
|
11
|
+
var STRING_DASHERIZE_REGEXP = /[ _]/g;
|
|
12
|
+
var STRING_DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
13
|
+
var STRING_CAMELIZE_REGEXP = /(-|_|\.|\s)+(.)?/g;
|
|
14
|
+
var STRING_UNDERSCORE_REGEXP_1 = /([a-z\d])([A-Z]+)/g;
|
|
15
|
+
var STRING_UNDERSCORE_REGEXP_2 = /-|\s+/g;
|
|
16
|
+
/**
|
|
17
|
+
* Converts a camelized string into all lower case separated by underscores.
|
|
18
|
+
*
|
|
19
|
+
```javascript
|
|
20
|
+
decamelize('innerHTML'); // 'inner_html'
|
|
21
|
+
decamelize('action_name'); // 'action_name'
|
|
22
|
+
decamelize('css-class-name'); // 'css-class-name'
|
|
23
|
+
decamelize('my favorite items'); // 'my favorite items'
|
|
24
|
+
```
|
|
25
|
+
*/
|
|
26
|
+
function decamelize(str) {
|
|
27
|
+
return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();
|
|
28
|
+
}
|
|
29
|
+
exports.decamelize = decamelize;
|
|
30
|
+
/**
|
|
31
|
+
Replaces underscores, spaces, or camelCase with dashes.
|
|
32
|
+
|
|
33
|
+
```javascript
|
|
34
|
+
dasherize('innerHTML'); // 'inner-html'
|
|
35
|
+
dasherize('action_name'); // 'action-name'
|
|
36
|
+
dasherize('css-class-name'); // 'css-class-name'
|
|
37
|
+
dasherize('my favorite items'); // 'my-favorite-items'
|
|
38
|
+
```
|
|
39
|
+
*/
|
|
40
|
+
function dasherize(str) {
|
|
41
|
+
return decamelize(str || '').replace(STRING_DASHERIZE_REGEXP, '-');
|
|
42
|
+
}
|
|
43
|
+
exports.dasherize = dasherize;
|
|
44
|
+
/**
|
|
45
|
+
Returns the lowerCamelCase form of a string.
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
camelize('innerHTML'); // 'innerHTML'
|
|
49
|
+
camelize('action_name'); // 'actionName'
|
|
50
|
+
camelize('css-class-name'); // 'cssClassName'
|
|
51
|
+
camelize('my favorite items'); // 'myFavoriteItems'
|
|
52
|
+
camelize('My Favorite Items'); // 'myFavoriteItems'
|
|
53
|
+
```
|
|
54
|
+
*/
|
|
55
|
+
function camelize(str) {
|
|
56
|
+
return str
|
|
57
|
+
.replace(STRING_CAMELIZE_REGEXP, function (_match, _separator, chr) {
|
|
58
|
+
return chr ? chr.toUpperCase() : '';
|
|
59
|
+
})
|
|
60
|
+
.replace(/^([A-Z])/, function (match) { return match.toLowerCase(); });
|
|
61
|
+
}
|
|
62
|
+
exports.camelize = camelize;
|
|
63
|
+
/**
|
|
64
|
+
Returns the UpperCamelCase form of a string.
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
'innerHTML'.classify(); // 'InnerHTML'
|
|
68
|
+
'action_name'.classify(); // 'ActionName'
|
|
69
|
+
'css-class-name'.classify(); // 'CssClassName'
|
|
70
|
+
'my favorite items'.classify(); // 'MyFavoriteItems'
|
|
71
|
+
```
|
|
72
|
+
*/
|
|
73
|
+
function classify(str) {
|
|
74
|
+
return str
|
|
75
|
+
.split('.')
|
|
76
|
+
.map(function (part) { return capitalize(camelize(part)); })
|
|
77
|
+
.join('.');
|
|
78
|
+
}
|
|
79
|
+
exports.classify = classify;
|
|
80
|
+
/**
|
|
81
|
+
More general than decamelize. Returns the lower\_case\_and\_underscored
|
|
82
|
+
form of a string.
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
'innerHTML'.underscore(); // 'inner_html'
|
|
86
|
+
'action_name'.underscore(); // 'action_name'
|
|
87
|
+
'css-class-name'.underscore(); // 'css_class_name'
|
|
88
|
+
'my favorite items'.underscore(); // 'my_favorite_items'
|
|
89
|
+
```
|
|
90
|
+
*/
|
|
91
|
+
function underscore(str) {
|
|
92
|
+
return str
|
|
93
|
+
.replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2')
|
|
94
|
+
.replace(STRING_UNDERSCORE_REGEXP_2, '_')
|
|
95
|
+
.toLowerCase();
|
|
96
|
+
}
|
|
97
|
+
exports.underscore = underscore;
|
|
98
|
+
/**
|
|
99
|
+
Returns the Capitalized form of a string
|
|
100
|
+
|
|
101
|
+
```javascript
|
|
102
|
+
'innerHTML'.capitalize() // 'InnerHTML'
|
|
103
|
+
'action_name'.capitalize() // 'Action_name'
|
|
104
|
+
'css-class-name'.capitalize() // 'Css-class-name'
|
|
105
|
+
'my favorite items'.capitalize() // 'My favorite items'
|
|
106
|
+
```
|
|
107
|
+
*/
|
|
108
|
+
function capitalize(str) {
|
|
109
|
+
return str.charAt(0).toUpperCase() + str.substring(1);
|
|
110
|
+
}
|
|
111
|
+
exports.capitalize = capitalize;
|
|
112
|
+
/**
|
|
113
|
+
Returns the plural form of a string
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
'innerHTML'.pluralize() // 'innerHTMLs'
|
|
117
|
+
'action_name'.pluralize() // 'actionNames'
|
|
118
|
+
'css-class-name'.pluralize() // 'cssClassNames'
|
|
119
|
+
'regex'.pluralize() // 'regexes'
|
|
120
|
+
'user'.pluralize() // 'users'
|
|
121
|
+
```
|
|
122
|
+
*/
|
|
123
|
+
function pluralize(str) {
|
|
124
|
+
return camelize([/([^aeiou])y$/, /()fe?$/, /([^aeiou]o|[sxz]|[cs]h)$/].map(function (c, i) { return (str = str.replace(c, "$1".concat('iv'[i] || '', "e"))); }) && str + 's');
|
|
125
|
+
}
|
|
126
|
+
exports.pluralize = pluralize;
|
|
127
|
+
function group(name, group) {
|
|
128
|
+
return group ? "".concat(group, "/").concat(name) : name;
|
|
129
|
+
}
|
|
130
|
+
exports.group = group;
|
|
131
|
+
function featurePath(group, flat, path, name) {
|
|
132
|
+
if (group && !flat) {
|
|
133
|
+
return "../../".concat(path, "/").concat(name, "/");
|
|
134
|
+
}
|
|
135
|
+
return group ? "../".concat(path, "/") : './';
|
|
136
|
+
}
|
|
137
|
+
exports.featurePath = featurePath;
|
|
138
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/strings.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst STRING_DASHERIZE_REGEXP = /[ _]/g;\nconst STRING_DECAMELIZE_REGEXP = /([a-z\\d])([A-Z])/g;\nconst STRING_CAMELIZE_REGEXP = /(-|_|\\.|\\s)+(.)?/g;\nconst STRING_UNDERSCORE_REGEXP_1 = /([a-z\\d])([A-Z]+)/g;\nconst STRING_UNDERSCORE_REGEXP_2 = /-|\\s+/g;\n\n/**\n * Converts a camelized string into all lower case separated by underscores.\n *\n ```javascript\n decamelize('innerHTML'); // 'inner_html'\n decamelize('action_name'); // 'action_name'\n decamelize('css-class-name'); // 'css-class-name'\n decamelize('my favorite items'); // 'my favorite items'\n ```\n */\nexport function decamelize(str: string): string {\n return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();\n}\n\n/**\n Replaces underscores, spaces, or camelCase with dashes.\n\n ```javascript\n dasherize('innerHTML'); // 'inner-html'\n dasherize('action_name'); // 'action-name'\n dasherize('css-class-name'); // 'css-class-name'\n dasherize('my favorite items'); // 'my-favorite-items'\n ```\n */\nexport function dasherize(str?: string): string {\n return decamelize(str || '').replace(STRING_DASHERIZE_REGEXP, '-');\n}\n\n/**\n Returns the lowerCamelCase form of a string.\n\n ```javascript\n camelize('innerHTML'); // 'innerHTML'\n camelize('action_name'); // 'actionName'\n camelize('css-class-name'); // 'cssClassName'\n camelize('my favorite items'); // 'myFavoriteItems'\n camelize('My Favorite Items'); // 'myFavoriteItems'\n ```\n */\nexport function camelize(str: string): string {\n return str\n .replace(\n STRING_CAMELIZE_REGEXP,\n (_match: string, _separator: string, chr: string) => {\n return chr ? chr.toUpperCase() : '';\n }\n )\n .replace(/^([A-Z])/, (match: string) => match.toLowerCase());\n}\n\n/**\n Returns the UpperCamelCase form of a string.\n\n ```javascript\n 'innerHTML'.classify(); // 'InnerHTML'\n 'action_name'.classify(); // 'ActionName'\n 'css-class-name'.classify(); // 'CssClassName'\n 'my favorite items'.classify(); // 'MyFavoriteItems'\n ```\n */\nexport function classify(str: string): string {\n return str\n .split('.')\n .map((part) => capitalize(camelize(part)))\n .join('.');\n}\n\n/**\n More general than decamelize. Returns the lower\\_case\\_and\\_underscored\n form of a string.\n\n ```javascript\n 'innerHTML'.underscore(); // 'inner_html'\n 'action_name'.underscore(); // 'action_name'\n 'css-class-name'.underscore(); // 'css_class_name'\n 'my favorite items'.underscore(); // 'my_favorite_items'\n ```\n */\nexport function underscore(str: string): string {\n return str\n .replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2')\n .replace(STRING_UNDERSCORE_REGEXP_2, '_')\n .toLowerCase();\n}\n\n/**\n Returns the Capitalized form of a string\n\n ```javascript\n 'innerHTML'.capitalize() // 'InnerHTML'\n 'action_name'.capitalize() // 'Action_name'\n 'css-class-name'.capitalize() // 'Css-class-name'\n 'my favorite items'.capitalize() // 'My favorite items'\n ```\n */\nexport function capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.substring(1);\n}\n\n/**\n Returns the plural form of a string\n\n ```javascript\n 'innerHTML'.pluralize() // 'innerHTMLs'\n 'action_name'.pluralize() // 'actionNames'\n 'css-class-name'.pluralize() // 'cssClassNames'\n 'regex'.pluralize() // 'regexes'\n 'user'.pluralize() // 'users'\n ```\n */\nexport function pluralize(str: string): string {\n return camelize(\n [/([^aeiou])y$/, /()fe?$/, /([^aeiou]o|[sxz]|[cs]h)$/].map(\n (c, i) => (str = str.replace(c, `$1${'iv'[i] || ''}e`))\n ) && str + 's'\n );\n}\n\nexport function group(name: string, group: string | undefined) {\n return group ? `${group}/${name}` : name;\n}\n\nexport function featurePath(\n group: boolean | undefined,\n flat: boolean | undefined,\n path: string,\n name: string\n) {\n if (group && !flat) {\n return `../../${path}/${name}/`;\n }\n\n return group ? `../${path}/` : './';\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePackage = void 0;
|
|
4
|
+
var schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
function updatePackage(name) {
|
|
6
|
+
return function (tree, context) {
|
|
7
|
+
var pkgPath = '/package.json';
|
|
8
|
+
var buffer = tree.read(pkgPath);
|
|
9
|
+
if (buffer === null) {
|
|
10
|
+
throw new schematics_1.SchematicsException('Could not read package.json');
|
|
11
|
+
}
|
|
12
|
+
var content = buffer.toString();
|
|
13
|
+
var pkg = JSON.parse(content);
|
|
14
|
+
if (pkg === null || typeof pkg !== 'object' || Array.isArray(pkg)) {
|
|
15
|
+
throw new schematics_1.SchematicsException('Error reading package.json');
|
|
16
|
+
}
|
|
17
|
+
var dependencyCategories = ['dependencies', 'devDependencies'];
|
|
18
|
+
dependencyCategories.forEach(function (category) {
|
|
19
|
+
var packageName = "@ngrx/".concat(name);
|
|
20
|
+
if (pkg[category] && pkg[category][packageName]) {
|
|
21
|
+
var firstChar = pkg[category][packageName][0];
|
|
22
|
+
var suffix = match(firstChar, '^') || match(firstChar, '~');
|
|
23
|
+
pkg[category][packageName] = "".concat(suffix, "6.0.0");
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
tree.overwrite(pkgPath, JSON.stringify(pkg, null, 2));
|
|
27
|
+
return tree;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.updatePackage = updatePackage;
|
|
31
|
+
function match(value, test) {
|
|
32
|
+
return value === test ? test : '';
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/update.ts"],"names":[],"mappings":";;;AAAA,yDAKoC;AAEpC,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,UAAC,IAAU,EAAE,OAAyB;QAC3C,IAAM,OAAO,GAAG,eAAe,CAAC;QAChC,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,CAAC,CAAC;SAC9D;QACD,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjE,MAAM,IAAI,gCAAmB,CAAC,4BAA4B,CAAC,CAAC;SAC7D;QAED,IAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAEjE,oBAAoB,CAAC,OAAO,CAAC,UAAC,QAAQ;YACpC,IAAM,WAAW,GAAG,gBAAS,IAAI,CAAE,CAAC;YAEpC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE;gBAC/C,IAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAE9D,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,UAAG,MAAM,UAAO,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AA/BD,sCA+BC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,IAAY;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC","sourcesContent":["import {\n Rule,\n SchematicContext,\n Tree,\n SchematicsException,\n} from '@angular-devkit/schematics';\n\nexport function updatePackage(name: string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n const pkgPath = '/package.json';\n const buffer = tree.read(pkgPath);\n if (buffer === null) {\n throw new SchematicsException('Could not read package.json');\n }\n const content = buffer.toString();\n const pkg = JSON.parse(content);\n\n if (pkg === null || typeof pkg !== 'object' || Array.isArray(pkg)) {\n throw new SchematicsException('Error reading package.json');\n }\n\n const dependencyCategories = ['dependencies', 'devDependencies'];\n\n dependencyCategories.forEach((category) => {\n const packageName = `@ngrx/${name}`;\n\n if (pkg[category] && pkg[category][packageName]) {\n const firstChar = pkg[category][packageName][0];\n const suffix = match(firstChar, '^') || match(firstChar, '~');\n\n pkg[category][packageName] = `${suffix}6.0.0`;\n }\n });\n\n tree.overwrite(pkgPath, JSON.stringify(pkg, null, 2));\n\n return tree;\n };\n}\n\nfunction match(value: string, test: string) {\n return value === test ? test : '';\n}\n"]}
|