node-workflow.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. /**
  4. * @license
  5. * Copyright Google Inc. All Rights Reserved.
  6. *
  7. * Use of this source code is governed by an MIT-style license that can be
  8. * found in the LICENSE file at https://angular.io/license
  9. */
  10. const core_1 = require("@angular-devkit/core");
  11. const schematics_1 = require("@angular-devkit/schematics"); // tslint:disable-line:no-implicit-dependencies
  12. const node_1 = require("../../tasks/node");
  13. const node_module_engine_host_1 = require("../node-module-engine-host");
  14. /**
  15. * A workflow specifically for Node tools.
  16. */
  17. class NodeWorkflow extends schematics_1.workflow.BaseWorkflow {
  18. constructor(host, options) {
  19. const engineHost = new node_module_engine_host_1.NodeModulesEngineHost();
  20. super({
  21. host,
  22. engineHost,
  23. force: options.force,
  24. dryRun: options.dryRun,
  25. registry: options.registry,
  26. });
  27. engineHost.registerTaskExecutor(node_1.BuiltinTaskExecutor.NodePackage, {
  28. allowPackageManagerOverride: true,
  29. packageManager: options.packageManager,
  30. rootDirectory: options.root && core_1.getSystemPath(options.root),
  31. });
  32. engineHost.registerTaskExecutor(node_1.BuiltinTaskExecutor.RepositoryInitializer, {
  33. rootDirectory: options.root && core_1.getSystemPath(options.root),
  34. });
  35. engineHost.registerTaskExecutor(node_1.BuiltinTaskExecutor.RunSchematic);
  36. engineHost.registerTaskExecutor(node_1.BuiltinTaskExecutor.TslintFix);
  37. this._context = [];
  38. }
  39. get engine() {
  40. return this._engine;
  41. }
  42. get engineHost() {
  43. return this._engineHost;
  44. }
  45. }
  46. exports.NodeWorkflow = NodeWorkflow;