@yuuvis/client-cli 18.0.1 → 18.1.1

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.
Files changed (71) hide show
  1. package/README.md +21 -0
  2. package/cli/commands/add/app.d.ts +6 -0
  3. package/cli/commands/add/app.js +30 -0
  4. package/cli/commands/add/app.js.map +1 -0
  5. package/cli/commands/add.d.ts +4 -0
  6. package/cli/commands/add.js +12 -0
  7. package/cli/commands/add.js.map +1 -0
  8. package/cli/commands/generate/app.js +12 -10
  9. package/cli/commands/generate/app.js.map +1 -1
  10. package/cli/commands/new.js +14 -2
  11. package/cli/commands/new.js.map +1 -1
  12. package/cli/options/options-new.json +5 -1
  13. package/package.json +1 -1
  14. package/schematics/constants.d.ts +1 -0
  15. package/schematics/constants.js +2 -1
  16. package/schematics/constants.js.map +1 -1
  17. package/schematics/factories/add-app/index.d.ts +2 -0
  18. package/schematics/factories/add-app/index.js +43 -0
  19. package/schematics/factories/add-app/index.js.map +1 -0
  20. package/schematics/factories/add-app/schema.json +17 -0
  21. package/schematics/factories/collection.json +6 -2
  22. package/schematics/factories/generate-app/index.js +4 -4
  23. package/schematics/factories/generate-app/index.js.map +1 -1
  24. package/schematics/factories/generate-app/schema.json +2 -3
  25. package/schematics/factories/new/index.js +27 -6
  26. package/schematics/factories/new/index.js.map +1 -1
  27. package/schematics/factories/new/schema.json +4 -0
  28. package/schematics/project-metadata.d.ts +17 -0
  29. package/schematics/project-metadata.js +71 -0
  30. package/schematics/project-metadata.js.map +1 -0
  31. package/schematics/schematics-util.d.ts +4 -1
  32. package/schematics/schematics-util.js +69 -0
  33. package/schematics/schematics-util.js.map +1 -1
  34. package/schematics/tasks/clean-up-ng-app.js +21 -4
  35. package/schematics/tasks/clean-up-ng-app.js.map +1 -1
  36. package/schematics/tasks/copy-extensions-files.d.ts +2 -1
  37. package/schematics/tasks/copy-extensions-files.js +22 -7
  38. package/schematics/tasks/copy-extensions-files.js.map +1 -1
  39. package/schematics/tasks/copy-files.d.ts +2 -1
  40. package/schematics/tasks/copy-files.js +38 -25
  41. package/schematics/tasks/copy-files.js.map +1 -1
  42. package/schematics/tasks/copy-ui-files.d.ts +2 -1
  43. package/schematics/tasks/copy-ui-files.js +22 -7
  44. package/schematics/tasks/copy-ui-files.js.map +1 -1
  45. package/schematics/tasks/create-update-manifest.js +15 -3
  46. package/schematics/tasks/create-update-manifest.js.map +1 -1
  47. package/schematics/tasks/generate-library.js +1 -1
  48. package/schematics/tasks/generate-library.js.map +1 -1
  49. package/schematics/tasks/npm-install.d.ts +1 -1
  50. package/schematics/tasks/npm-install.js +6 -7
  51. package/schematics/tasks/npm-install.js.map +1 -1
  52. package/schematics/tasks/update-angular-json.js +1 -1
  53. package/schematics/tasks/update-angular-json.js.map +1 -1
  54. package/schematics/tasks/update-app-config.d.ts +1 -1
  55. package/schematics/tasks/update-app-config.js +16 -4
  56. package/schematics/tasks/update-app-config.js.map +1 -1
  57. package/schematics/tasks/update-app-routes.d.ts +1 -1
  58. package/schematics/tasks/update-app-routes.js +37 -6
  59. package/schematics/tasks/update-app-routes.js.map +1 -1
  60. package/schematics/tasks/update-library-component.js +16 -3
  61. package/schematics/tasks/update-library-component.js.map +1 -1
  62. package/schematics/tasks/update-library-public-api.js +16 -3
  63. package/schematics/tasks/update-library-public-api.js.map +1 -1
  64. package/schematics/tasks/update-library-tsconfig.js +20 -6
  65. package/schematics/tasks/update-library-tsconfig.js.map +1 -1
  66. package/schematics/tasks/update-package-json.d.ts +1 -1
  67. package/schematics/tasks/update-package-json.js +17 -10
  68. package/schematics/tasks/update-package-json.js.map +1 -1
  69. package/schematics/utils.d.ts +15 -0
  70. package/schematics/utils.js +40 -0
  71. package/schematics/utils.js.map +1 -1
package/README.md CHANGED
@@ -55,3 +55,24 @@ yuv generate app <name> [options]
55
55
  - `--prefix`: A prefix to apply to generated selectors.
56
56
  - `--route`: The route under which the app is registered in the client.
57
57
  - `--skip-extension`: Do not create extension for the app.
58
+
59
+
60
+ ### add app
61
+
62
+ Adds an existing app to the client.
63
+
64
+ ```bash
65
+ yuv add app <name>
66
+ ```
67
+
68
+ `<name>`: The name of the app. Similar to `npm install`, you can use `[<@scope>/]<name>@<version>` or `[<@scope>/]<name>@<tag>` for adding a specific version or tag of the app, e. g.:
69
+
70
+ ```bash
71
+ yuv add app @myscope/mylib@1.0.0
72
+ ```
73
+
74
+ or
75
+
76
+ ```bash
77
+ yuv add app @myscope/mylib@latest
78
+ ```
@@ -0,0 +1,6 @@
1
+ import type { CommandBuilder, Options } from "yargs";
2
+ export declare const command: string;
3
+ export declare const aliases: string[];
4
+ export declare const desc: string;
5
+ export declare const builder: CommandBuilder<Options>;
6
+ export declare const handler: (argv: any) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.handler = exports.builder = exports.desc = exports.aliases = exports.command = void 0;
13
+ const child_process_1 = require("child_process");
14
+ const utils_1 = require("../../utils");
15
+ exports.command = "app <name>";
16
+ exports.aliases = ["a"];
17
+ exports.desc = "Add an existing app to the client.";
18
+ const builder = (yargs) => {
19
+ return yargs.string("app").version(false);
20
+ };
21
+ exports.builder = builder;
22
+ const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
23
+ (0, child_process_1.execSync)(`${(0, utils_1.getSchematicsBin)()} @yuuvis/client-cli:add-app ${(0, utils_1.serializeOptions)(argv)}`, {
24
+ cwd: process.cwd(),
25
+ stdio: "inherit",
26
+ });
27
+ console.log(`App '${argv.name}' added successfully!`);
28
+ });
29
+ exports.handler = handler;
30
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/add/app.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAAyC;AACzC,uCAAiE;AAEpD,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAW,oCAAoC,CAAC;AAE1D,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IAEzC,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,+BAA+B,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QACrF,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;AACxD,CAAC,CAAA,CAAC;AARW,QAAA,OAAO,WAQlB"}
@@ -0,0 +1,4 @@
1
+ export declare const command: string;
2
+ export declare const desc: string;
3
+ export declare const builder: (yargs: any) => any;
4
+ export declare const handler: (argv: any) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handler = exports.builder = exports.desc = exports.command = void 0;
4
+ exports.command = 'add';
5
+ exports.desc = 'Adds an exising app to the project.';
6
+ const builder = (yargs) => {
7
+ return yargs.commandDir('add');
8
+ };
9
+ exports.builder = builder;
10
+ const handler = (argv) => { };
11
+ exports.handler = handler;
12
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAW,KAAK,CAAC;AACxB,QAAA,IAAI,GAAW,qCAAqC,CAAC;AAE3D,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;IAClC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAEM,MAAM,OAAO,GAAG,CAAC,IAAS,EAAE,EAAE,GAAE,CAAC,CAAA;AAA3B,QAAA,OAAO,WAAoB"}
@@ -50,22 +50,24 @@ const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
50
50
  ]);
51
51
  argv.appId = argv['app-id'] = response.appId;
52
52
  }
53
- const routeResponse = yield inquirer_1.default.prompt([
54
- {
55
- type: "input",
56
- name: "route",
57
- default: _shortName,
58
- message: "Specify the route under which the app is registered in the client:",
59
- },
60
- ]);
61
- argv.route = routeResponse.route;
53
+ if (!argv.route) {
54
+ const routeResponse = yield inquirer_1.default.prompt([
55
+ {
56
+ type: "input",
57
+ name: "route",
58
+ default: _shortName,
59
+ message: "Specify the route under which the app is registered in the client:",
60
+ },
61
+ ]);
62
+ argv.route = routeResponse.route;
63
+ }
62
64
  if (!argv.prefix) {
63
65
  const response = yield inquirer_1.default.prompt([
64
66
  {
65
67
  type: "input",
66
68
  name: "prefix",
67
69
  default: "lib",
68
- message: "Specify the prefix to apply to generated selectors.:",
70
+ message: "Specify the prefix to apply to generated selectors:",
69
71
  },
70
72
  ]);
71
73
  argv.prefix = response.prefix;
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/generate/app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wDAAgC;AAChC,iDAAyC;AACzC,uCAAiE;AACjE,wGAA8D;AAC9D,qDAAwE;AAE3D,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAW,mCAAmC,CAAC;AAEzD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,mCAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,GAAG,IAAA,mCAA2B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExF;;;;;;;;;;;QAWI;IAEJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,eAAe,UAAU,EAAE;gBACpC,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QAC1C;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,oEAAoE;SAC9E;KACF,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAEjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,sDAAsD;aAChE;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,oCAAoC,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QAC1F,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC1D,CAAC,CAAA,CAAC;AAxDW,QAAA,OAAO,WAwDlB"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/generate/app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wDAAgC;AAChC,iDAAyC;AACzC,uCAAiE;AACjE,wGAA8D;AAC9D,qDAAwE;AAE3D,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAW,mCAAmC,CAAC;AAEzD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,mCAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,GAAG,IAAA,mCAA2B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExF;;;;;;;;;;;QAWI;IAEJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,eAAe,UAAU,EAAE;gBACpC,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YAC1C;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,oEAAoE;aAC9E;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qDAAqD;aAC/D;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,oCAAoC,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QAC1F,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC1D,CAAC,CAAA,CAAC;AA1DW,QAAA,OAAO,WA0DlB"}
@@ -16,9 +16,10 @@ exports.handler = exports.builder = exports.desc = exports.command = void 0;
16
16
  const child_process_1 = require("child_process");
17
17
  const utils_1 = require("../utils");
18
18
  const options_new_json_1 = __importDefault(require("../options/options-new.json"));
19
- //import { join } from 'path';
19
+ const inquirer_1 = __importDefault(require("inquirer"));
20
+ const constants_1 = require("../../schematics/constants");
20
21
  exports.command = "new <name>";
21
- exports.desc = "Create new yuuvis client project";
22
+ exports.desc = "Create new yuuvis client project.";
22
23
  const builder = (yargs) => {
23
24
  return yargs
24
25
  .string("new")
@@ -27,6 +28,17 @@ const builder = (yargs) => {
27
28
  };
28
29
  exports.builder = builder;
29
30
  const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
31
+ if (!argv.shellVersion) {
32
+ const response = yield inquirer_1.default.prompt([
33
+ {
34
+ type: "input",
35
+ name: "shellVersion",
36
+ default: constants_1.DEFAULT_SHELL_VERSION,
37
+ message: "Specify the shell version:",
38
+ },
39
+ ]);
40
+ argv.shellVersion = argv['shell-version'] = response.shellVersion;
41
+ }
30
42
  //const projectPath = join(process.cwd(), argv.name);
31
43
  (0, child_process_1.execSync)(`${(0, utils_1.getSchematicsBin)()} @yuuvis/client-cli:new ${(0, utils_1.serializeOptions)(argv)}`, {
32
44
  cwd: process.cwd(),
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAyC;AACzC,oCAA8D;AAC9D,mFAAiD;AACjD,8BAA8B;AAEjB,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,IAAI,GAAW,kCAAkC,CAAC;AAExD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK;SACT,MAAM,CAAC,KAAK,CAAC;SACb,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,0BAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,qDAAqD;IACrD,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,2BAA2B,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QACjF,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AARW,QAAA,OAAO,WAQlB"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAyC;AACzC,oCAA8D;AAC9D,mFAAiD;AACjD,wDAAgC;AAChC,0DAAmE;AAEtD,QAAA,OAAO,GAAW,YAAY,CAAC;AAC/B,QAAA,IAAI,GAAW,mCAAmC,CAAC;AAEzD,MAAM,OAAO,GAA4B,CAAC,KAAU,EAAE,EAAE;IAC7D,OAAO,KAAK;SACT,MAAM,CAAC,KAAK,CAAC;SACb,OAAO,CAAC,KAAK,CAAC;SACd,OAAO,CAAC,0BAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEK,MAAM,OAAO,GAAG,CAAO,IAAS,EAAE,EAAE;IACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,iCAAqB;gBAC9B,OAAO,EAAE,4BAA4B;aACtC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IACpE,CAAC;IAED,qDAAqD;IACrD,IAAA,wBAAQ,EAAC,GAAG,IAAA,wBAAgB,GAAE,2BAA2B,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,EAAE;QACjF,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AApBW,QAAA,OAAO,WAoBlB"}
@@ -1,4 +1,8 @@
1
1
  {
2
+ "shell-version": {
3
+ "describe": "The version of the shell.",
4
+ "type": "string"
5
+ },
2
6
  "skip-git": {
3
7
  "type": "boolean",
4
8
  "describe": "Do not initialize a Git repository in the new workspace. By default, a Git repository is initialized to help you track changes to your project."
@@ -11,4 +15,4 @@
11
15
  "type": "boolean",
12
16
  "describe": "Skip the generation of unit test files `spec.ts`."
13
17
  }
14
- }
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuuvis/client-cli",
3
- "version": "18.0.1",
3
+ "version": "18.1.1",
4
4
  "main": "index.js",
5
5
  "schematics": "./schematics/factories/collection.json",
6
6
  "bin": {
@@ -3,3 +3,4 @@ export declare const NG_STYLE = "scss";
3
3
  export declare const NG_STANDALONE = true;
4
4
  export declare const APP_BASE_PATH = "projects";
5
5
  export declare const APP_MANIFEST_FILE_NAME = "yuv-manifest.json";
6
+ export declare const DEFAULT_SHELL_VERSION = "latest";
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APP_MANIFEST_FILE_NAME = exports.APP_BASE_PATH = exports.NG_STANDALONE = exports.NG_STYLE = exports.NG_SCHEMATICS_VERSION = void 0;
3
+ exports.DEFAULT_SHELL_VERSION = exports.APP_MANIFEST_FILE_NAME = exports.APP_BASE_PATH = exports.NG_STANDALONE = exports.NG_STYLE = exports.NG_SCHEMATICS_VERSION = void 0;
4
4
  exports.NG_SCHEMATICS_VERSION = '18';
5
5
  exports.NG_STYLE = 'scss';
6
6
  exports.NG_STANDALONE = true;
7
7
  exports.APP_BASE_PATH = 'projects';
8
8
  exports.APP_MANIFEST_FILE_NAME = "yuv-manifest.json";
9
+ exports.DEFAULT_SHELL_VERSION = "latest";
9
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schematics/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC7B,QAAA,QAAQ,GAAG,MAAM,CAAC;AAClB,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,sBAAsB,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schematics/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAC7B,QAAA,QAAQ,GAAG,MAAM,CAAC;AAClB,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAC7C,QAAA,qBAAqB,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ export declare function addApp(options: any): Rule;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.addApp = addApp;
16
+ const schematics_1 = require("@angular-devkit/schematics");
17
+ const schematics_util_1 = require("../../schematics-util");
18
+ const utils_1 = require("../../utils");
19
+ const update_app_routes_1 = require("../../tasks/update-app-routes");
20
+ const update_app_config_1 = require("../../tasks/update-app-config");
21
+ const npm_install_1 = __importDefault(require("../../tasks/npm-install"));
22
+ const project_metadata_1 = require("../../project-metadata");
23
+ function addApp(options) {
24
+ return (tree, context) => __awaiter(this, void 0, void 0, function* () {
25
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
26
+ if (project.hasLibrary(options.name)) {
27
+ throw new schematics_1.SchematicsException(`Package ${options.name} is already registered as a library in the current project.`);
28
+ }
29
+ const packageSpecifier = (0, utils_1.parsePackageSpecifier)(options.name);
30
+ const appManifest = yield (0, schematics_util_1.fetchManifest)(options.name, context);
31
+ context.logger.info(`Found manifest file for package ${options.name}.`);
32
+ const rules = [];
33
+ if (!!appManifest.ui) {
34
+ rules.push((0, update_app_routes_1.updateAppRoutes)(packageSpecifier.name, appManifest));
35
+ }
36
+ if (!!appManifest.extension) {
37
+ rules.push((0, update_app_config_1.updateAppConfig)(appManifest.extension, `${packageSpecifier.name}/extensions`));
38
+ }
39
+ rules.push((0, npm_install_1.default)('./', options.name));
40
+ return (0, schematics_1.chain)(rules);
41
+ });
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/add-app/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wBA6BC;AArCD,2DAA8E;AAC9E,2DAAsD;AACtD,uCAAoD;AACpD,qEAAgE;AAChE,qEAAgE;AAChE,0EAAiD;AACjD,6DAAyD;AAEzD,SAAgB,MAAM,CAAC,OAAY;IACjC,OAAO,CAAO,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAmB,CAAC,WAAW,OAAO,CAAC,IAAI,6DAA6D,CAAC,CAAC;QACtH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAa,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAExE,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAA,mCAAe,EAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAA,mCAAe,EAAC,WAAW,CAAC,SAAS,EAAE,GAAG,gBAAgB,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AAGJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "add-app",
4
+ "title": "Add App Schematic",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "The name of the app",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ }
14
+ }
15
+ },
16
+ "required": ["name"]
17
+ }
@@ -4,12 +4,16 @@
4
4
  "description": "Creates a new yuuvis client project",
5
5
  "factory": "./new/index#newProject",
6
6
  "schema": "./new/schema.json"
7
- },
7
+ },
8
8
  "generate-app": {
9
9
  "description": "Generates a new yuuvis client app",
10
10
  "factory": "./generate-app/index#generateApp",
11
11
  "schema": "./generate-app/schema.json"
12
-
12
+ },
13
+ "add-app": {
14
+ "description": "Adds a new app to the yuuvis client project",
15
+ "factory": "./add-app/index#addApp",
16
+ "schema": "./add-app/schema.json"
13
17
  }
14
18
  }
15
19
  }
@@ -35,16 +35,16 @@ function generateApp(options) {
35
35
  const rules = [
36
36
  (0, generate_library_1.generateLibrary)(options),
37
37
  (0, create_update_manifest_1.createOrUpdateManifest)(options, appManifest, libraryMetadata),
38
- ...(0, copy_ui_files_1.copyUiFiles)(options),
38
+ (0, copy_ui_files_1.copyUiFiles)(options),
39
39
  (0, update_library_public_api_1.updateLibraryPublicApi)(options),
40
40
  (0, update_library_tsconfig_1.updateLibraryTsConfig)(options),
41
41
  (0, update_library_component_1.updateLibraryComponent)(options),
42
- (0, update_app_routes_1.updateAppRoutes)(options, appManifest),
42
+ (0, update_app_routes_1.updateAppRoutes)(options.name, appManifest),
43
43
  ];
44
44
  if (!options.skipExtension) {
45
45
  const importPath = `../../${options.libraryRoot}/extensions/src/lib/extensions.module`;
46
- rules.push(...(0, copy_extensions_files_1.copyExtensionsFiles)(options));
47
- rules.push((0, update_app_config_1.updateAppConfig)(options, appManifest.extension, importPath));
46
+ rules.push((0, copy_extensions_files_1.copyExtensionsFiles)(options));
47
+ rules.push((0, update_app_config_1.updateAppConfig)(appManifest.extension, importPath));
48
48
  }
49
49
  return (0, schematics_1.chain)(rules);
50
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "new",
3
+ "$id": "generate-app",
4
4
  "title": "Generate App Schematic",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "name": {
8
8
  "type": "string",
9
9
  "description": "The name of the app",
10
- "pattern": "^(@[a-z0-9-]+/[a-z][a-z0-9-]*|[a-z][a-z0-9-]*)$",
10
+ "pattern": "^(@[a-z0-9-]+/[a-z][a-z0-9-]*|[a-z][a-z0-9-]*)$",
11
11
  "$default": {
12
12
  "$source": "argv",
13
13
  "index": 0
@@ -36,4 +36,3 @@
36
36
  },
37
37
  "required": ["name"]
38
38
  }
39
-
@@ -14,13 +14,34 @@ const copy_files_1 = require("../../tasks/copy-files");
14
14
  const constants_1 = require("../../constants");
15
15
  function newProject(options) {
16
16
  options.schematicsVersion = constants_1.NG_SCHEMATICS_VERSION;
17
- return (0, schematics_1.chain)([
17
+ if (!options.shellVersion) {
18
+ options.shellVersion = constants_1.DEFAULT_SHELL_VERSION;
19
+ }
20
+ const packageJsonExt = {
21
+ dependencies: {
22
+ '@yuuvis/client-shell': `${options.shellVersion}`
23
+ },
24
+ devDependencies: {
25
+ '@colsen1991/ngx-translate-extract-marker': `^2.0.8`,
26
+ '@vendure/ngx-translate-extract': `^9.4.0`
27
+ },
28
+ scripts: {
29
+ prestart: 'npm run i18n:collect',
30
+ start: 'ng serve --proxy-config proxy.config.js',
31
+ 'i18n:collect': 'node ./scripts/i18n-collect.js',
32
+ 'i18n:extract': 'node ./scripts/i18n-extract.js'
33
+ }
34
+ };
35
+ const rules = [
18
36
  (0, ng_new_1.default)(options),
19
- (0, update_package_json_1.default)(options),
37
+ (0, update_package_json_1.default)(`${options.name}/package.json`, packageJsonExt),
20
38
  (0, update_angular_json_1.default)(options),
21
- ...(0, copy_files_1.copyFiles)(options),
22
- (0, clean_up_ng_app_1.default)(options),
23
- (0, npm_install_1.default)(options)
24
- ]);
39
+ (0, copy_files_1.copyFiles)(options),
40
+ (0, clean_up_ng_app_1.default)(options)
41
+ ];
42
+ if (!options.skipInstall) {
43
+ rules.push((0, npm_install_1.default)(options.name));
44
+ }
45
+ return (0, schematics_1.chain)(rules);
25
46
  }
26
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":";;;;;AASA,gCAUC;AAnBD,2DAAwD;AACxD,gEAAuC;AACvC,0EAAiD;AACjD,0FAAgE;AAChE,0FAAgE;AAChE,kFAAuD;AACvD,uDAAmD;AACnD,+CAAwD;AAExD,SAAgB,UAAU,CAAC,OAAY;IACrC,OAAO,CAAC,iBAAiB,GAAG,iCAAqB,CAAC;IAClD,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,IAAA,6BAAiB,EAAC,OAAO,CAAC;QAC1B,IAAA,6BAAiB,EAAC,OAAO,CAAC;QAC1B,GAAG,IAAA,sBAAS,EAAC,OAAO,CAAC;QACrB,IAAA,yBAAY,EAAC,OAAO,CAAC;QACrB,IAAA,qBAAU,EAAC,OAAO,CAAC;KACpB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":";;;;;AASA,gCAoCC;AA7CD,2DAAwD;AACxD,gEAAuC;AACvC,0EAAiD;AACjD,0FAAgE;AAChE,0FAAgE;AAChE,kFAAuD;AACvD,uDAAmD;AACnD,+CAA+E;AAE/E,SAAgB,UAAU,CAAC,OAAY;IACrC,OAAO,CAAC,iBAAiB,GAAG,iCAAqB,CAAC;IAElD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,YAAY,GAAG,iCAAqB,CAAC;IAC/C,CAAC;IAED,MAAM,cAAc,GAAG;QACrB,YAAY,EAAE;YACZ,sBAAsB,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;SAClD;QACD,eAAe,EAAE;YACf,0CAA0C,EAAE,QAAQ;YACpD,gCAAgC,EAAE,QAAQ;SAC3C;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,sBAAsB;YAChC,KAAK,EAAE,yCAAyC;YAChD,cAAc,EAAE,gCAAgC;YAChD,cAAc,EAAE,gCAAgC;SACjD;KACF,CAAC;IAEF,MAAM,KAAK,GAAW;QACpB,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,IAAA,6BAAiB,EAAC,GAAG,OAAO,CAAC,IAAI,eAAe,EAAE,cAAc,CAAC;QACjE,IAAA,6BAAiB,EAAC,OAAO,CAAC;QAC1B,IAAA,sBAAS,EAAC,OAAO,CAAC;QAClB,IAAA,yBAAY,EAAC,OAAO,CAAC;KACtB,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -12,6 +12,10 @@
12
12
  "index": 0
13
13
  }
14
14
  },
15
+ "shellVersion": {
16
+ "type": "string",
17
+ "description": "The version of the shell"
18
+ },
15
19
  "skipTests": {
16
20
  "type": "boolean",
17
21
  "description": "Skip generating test files",
@@ -0,0 +1,17 @@
1
+ import { Tree } from "@angular-devkit/schematics";
2
+ import { ProjectDefinition } from "@schematics/angular/utility/workspace";
3
+ export declare class ProjectMetadata {
4
+ readonly name: string;
5
+ readonly sourceRoot: string;
6
+ readonly projectRoot: string;
7
+ readonly outputPath: string;
8
+ private workspace;
9
+ private constructor();
10
+ static fromTree(tree: Tree, projectRoot?: string): Promise<ProjectMetadata>;
11
+ getIndexHtml(): string;
12
+ hasLibrary(name: string): boolean;
13
+ getLibrary(name: string): ProjectDefinition;
14
+ getLibraryRoot(libraryName: string): string;
15
+ getLibrarySourceRoot(libraryName: string): string;
16
+ print(): void;
17
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ProjectMetadata = void 0;
13
+ const schematics_1 = require("@angular-devkit/schematics");
14
+ const workspace_1 = require("@schematics/angular/utility/workspace");
15
+ class ProjectMetadata {
16
+ constructor(name, project, workspace) {
17
+ var _a, _b, _c, _d, _e;
18
+ this.workspace = workspace;
19
+ this.name = name;
20
+ this.projectRoot = project.root;
21
+ this.sourceRoot = (_a = project.sourceRoot) !== null && _a !== void 0 ? _a : `${project.root}/src`;
22
+ const buildOptions = (_d = (_c = (_b = project.targets) === null || _b === void 0 ? void 0 : _b.get('build')) === null || _c === void 0 ? void 0 : _c.options) !== null && _d !== void 0 ? _d : {};
23
+ this.outputPath = (_e = buildOptions.outputPath) !== null && _e !== void 0 ? _e : 'dist';
24
+ }
25
+ static fromTree(tree, projectRoot) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const workspace = yield (0, workspace_1.getWorkspace)(tree, projectRoot);
28
+ let projectName = workspace.extensions.defaultProject;
29
+ if (!projectName) {
30
+ const firstProject = workspace.projects.keys().next();
31
+ if (firstProject.done) {
32
+ throw new schematics_1.SchematicsException(`No projects found in angular.json`);
33
+ }
34
+ projectName = firstProject.value;
35
+ }
36
+ const project = workspace.projects.get(projectName);
37
+ if (!project) {
38
+ throw new schematics_1.SchematicsException(`Project '${projectName}' not found in angular.json`);
39
+ }
40
+ return new ProjectMetadata(projectName, project, workspace);
41
+ });
42
+ }
43
+ getIndexHtml() {
44
+ return `${this.sourceRoot}/index.html`;
45
+ }
46
+ hasLibrary(name) {
47
+ return this.workspace.projects.has(name);
48
+ }
49
+ getLibrary(name) {
50
+ const library = this.workspace.projects.get(name);
51
+ if (!library) {
52
+ throw new schematics_1.SchematicsException(`Library '${name}' not found in angular.json`);
53
+ }
54
+ return library;
55
+ }
56
+ getLibraryRoot(libraryName) {
57
+ return this.getLibrary(libraryName).root;
58
+ }
59
+ getLibrarySourceRoot(libraryName) {
60
+ var _a;
61
+ return (_a = this.getLibrary(libraryName).sourceRoot) !== null && _a !== void 0 ? _a : `${this.getLibraryRoot(libraryName)}/src`;
62
+ }
63
+ print() {
64
+ console.log(`Project Name: ${this.name}`);
65
+ console.log(`Project Root: ${this.projectRoot}`);
66
+ console.log(`Source Root: ${this.sourceRoot}`);
67
+ console.log(`Output Path: ${this.outputPath}`);
68
+ }
69
+ }
70
+ exports.ProjectMetadata = ProjectMetadata;
71
+ //# sourceMappingURL=project-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-metadata.js","sourceRoot":"","sources":["../../src/schematics/project-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
- import { UpdateRecorder } from "@angular-devkit/schematics";
1
+ import { SchematicContext, UpdateRecorder } from "@angular-devkit/schematics";
2
2
  import ts from "typescript";
3
+ import { AppManifest } from "./app-manifest";
3
4
  export declare function findComponentClassDecorator(source: ts.SourceFile): ts.CallExpression | null;
4
5
  export declare function findDecoratorProperty(decorator: ts.CallExpression, propertyName: string): ts.PropertyAssignment | null;
5
6
  export declare function addInlineTemplate(recorder: UpdateRecorder, componentDecorator: ts.CallExpression, newTemplate: string): void;
7
+ export declare function fetchManifest(packageName: string, context: SchematicContext): Promise<AppManifest>;
8
+ export declare function fetchPackageInfo(packageName: string, context: SchematicContext): Promise<any>;