Угловая схема:rustSubscriber._addParentTeardownLogic
Я пытаюсь создать угловую схему, чтобы помочь мне и моей команде быстро создавать действия NgRx. Это функция схемы, большая часть которой скопирована из различных руководств:
export default (options: CCSchematicsAction): Rule => {
return (tree: Tree, _context: SchematicContext) => {
const modulePath = options.modulePath.replace(/-?module$/, ""); // "shared/application-tools"
const moduleFolder = normalize("src/app/" + modulePath); // "src/app/shared/application-tools"
const modulePathComponents = modulePath.split("/"); // ["shared", "application-tools"]
const moduleIdentifier = modulePathComponents
.map(part => classify(part))
.join(".")
+ ".Action"; // "Shared.ApplicationTools.Action"
const action = options.name.replace(/-?action$/, "");
const path = normalize(moduleFolder + "/action/" + action) + "/";
const templateSource = apply(url("./files"), [
template({
action: action,
moduleIdentifier: moduleIdentifier
}),
move(path)
]);
return chain([
mergeWith(templateSource)
])(tree, _context);
};
}
Я призываю схемы с
schematics cc-generate:action load-stuff-action --modulePath shared/ui
и получить следующее, что я даже не могу найти информацию в Интернете:
TypeError: trustedSubscriber._addParentTeardownLogic is not a function
at MergeMapSubscriber.Subscriber [as constructor] (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/Subscriber.js:45:43)
at MergeMapSubscriber.OuterSubscriber [as constructor] (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/OuterSubscriber.js:20:42)
at new MergeMapSubscriber (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/operators/mergeMap.js:48:28)
at MergeMapOperator.call (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/operators/mergeMap.js:39:33)
at Observable.subscribe (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/Observable.js:24:22)
at DefaultIfEmptyOperator.call (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/defaultIfEmpty.js:24:23)
at Observable.subscribe (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/Observable.js:24:22)
at TakeLastOperator.call (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/takeLast.js:35:23)
at Observable.subscribe (/Users/voss/Development/cc/cc-schematics/node_modules/rxjs/internal/Observable.js:24:22)
at DoOperator.call (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/tap.js:29:23)
Редактировать:
Когда я удаляю все и просто возвращаю пустую цепочку, ошибка остается.
export default (_options: CCSchematicsAction): Rule => {
return (tree: Tree, _context: SchematicContext) => {
return chain([noop()])(tree, _context);
};
}
Так что не так с chain
функционировать?
2 ответа
Хорошо, неважно, проблема была в разных версиях @angular-devkit/schematics-cli
..
Похоже, что сегодня rxjs выпустил новую версию 6.3.2, которая решает эту проблему.