@yuuvis/client-cli 18.1.0 → 18.1.2

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 +27 -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 +5 -0
  6. package/cli/commands/add.js +13 -0
  7. package/cli/commands/add.js.map +1 -0
  8. package/cli/commands/generate/app.js +13 -23
  9. package/cli/commands/generate/app.js.map +1 -1
  10. package/cli/commands/new.js +1 -2
  11. package/cli/commands/new.js.map +1 -1
  12. package/package.json +1 -1
  13. package/schematics/factories/add-app/index.d.ts +2 -0
  14. package/schematics/factories/add-app/index.js +43 -0
  15. package/schematics/factories/add-app/index.js.map +1 -0
  16. package/schematics/factories/add-app/schema.json +17 -0
  17. package/schematics/factories/collection.json +6 -2
  18. package/schematics/factories/generate-app/index.js +10 -8
  19. package/schematics/factories/generate-app/index.js.map +1 -1
  20. package/schematics/factories/generate-app/schema.json +2 -3
  21. package/schematics/factories/new/index.js +28 -8
  22. package/schematics/factories/new/index.js.map +1 -1
  23. package/schematics/files/_root/README.md +1 -1
  24. package/schematics/files/_src_app/app.config.ts.template +3 -0
  25. package/schematics/files/_src_environments/environment.development.ts.template +8 -0
  26. package/schematics/files/_src_environments/environment.ts.template +4 -0
  27. package/schematics/project-metadata.d.ts +17 -0
  28. package/schematics/project-metadata.js +71 -0
  29. package/schematics/project-metadata.js.map +1 -0
  30. package/schematics/schematics-util.d.ts +4 -1
  31. package/schematics/schematics-util.js +69 -0
  32. package/schematics/schematics-util.js.map +1 -1
  33. package/schematics/tasks/clean-up-ng-app.js +21 -4
  34. package/schematics/tasks/clean-up-ng-app.js.map +1 -1
  35. package/schematics/tasks/copy-extensions-files.d.ts +2 -1
  36. package/schematics/tasks/copy-extensions-files.js +22 -7
  37. package/schematics/tasks/copy-extensions-files.js.map +1 -1
  38. package/schematics/tasks/copy-files.d.ts +2 -1
  39. package/schematics/tasks/copy-files.js +43 -25
  40. package/schematics/tasks/copy-files.js.map +1 -1
  41. package/schematics/tasks/copy-ui-files.d.ts +2 -1
  42. package/schematics/tasks/copy-ui-files.js +22 -7
  43. package/schematics/tasks/copy-ui-files.js.map +1 -1
  44. package/schematics/tasks/create-update-manifest.js +15 -3
  45. package/schematics/tasks/create-update-manifest.js.map +1 -1
  46. package/schematics/tasks/generate-library.js +1 -1
  47. package/schematics/tasks/generate-library.js.map +1 -1
  48. package/schematics/tasks/npm-install.d.ts +1 -1
  49. package/schematics/tasks/npm-install.js +6 -7
  50. package/schematics/tasks/npm-install.js.map +1 -1
  51. package/schematics/tasks/update-angular-json.d.ts +3 -1
  52. package/schematics/tasks/update-angular-json.js +59 -11
  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 -13
  68. package/schematics/tasks/update-package-json.js.map +1 -1
  69. package/schematics/utils.d.ts +12 -1
  70. package/schematics/utils.js +65 -9
  71. package/schematics/utils.js.map +1 -1
@@ -1,3 +1,3 @@
1
1
  import { Rule } from "@angular-devkit/schematics";
2
2
  import { AppManifest } from "../app-manifest";
3
- export declare function updateAppRoutes(options: any, appManifest: AppManifest): Rule;
3
+ export declare function updateAppRoutes(appName: string, appManifest: AppManifest): Rule;
@@ -1,4 +1,13 @@
1
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
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -8,9 +17,12 @@ const typescript_1 = __importDefault(require("typescript"));
8
17
  const schematics_1 = require("@angular-devkit/schematics");
9
18
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
19
  const change_1 = require("@schematics/angular/utility/change");
11
- function updateAppRoutes(options, appManifest) {
12
- return (tree) => {
13
- const filePath = `./src/app/app.routes.ts`;
20
+ const project_metadata_1 = require("../project-metadata");
21
+ const utils_1 = require("../utils");
22
+ function updateAppRoutes(appName, appManifest) {
23
+ return (tree, context) => __awaiter(this, void 0, void 0, function* () {
24
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
25
+ const filePath = (0, utils_1.buildPath)(project.sourceRoot, 'app', 'app.routes.ts');
14
26
  if (!appManifest.ui) {
15
27
  throw new schematics_1.SchematicsException(`App manifest has no ui defined.`);
16
28
  }
@@ -20,11 +32,11 @@ function updateAppRoutes(options, appManifest) {
20
32
  title: '${appManifest.title}',
21
33
  path: '${appManifest.ui.path}',
22
34
  icon: '${appManifest.ui.icon}',
23
- loadChildren: () => import('${options.name}').then((m) => m.${schematics_1.strings.classify(options.componentName)}Routes)
35
+ loadChildren: () => import('${appName}').then((m) => m.${appManifest.ui.routes})
24
36
  }
25
37
  `;
26
38
  if (!tree.exists(filePath)) {
27
- throw new schematics_1.SchematicsException(`Cannot find ${filePath} to register the app ${options.name}.`);
39
+ throw new schematics_1.SchematicsException(`Cannot find ${filePath} to register the app ${appName}.`);
28
40
  }
29
41
  const fileBuffer = tree.read(filePath);
30
42
  if (!fileBuffer) {
@@ -44,11 +56,30 @@ function updateAppRoutes(options, appManifest) {
44
56
  if (!appsArrayNode || !typescript_1.default.isArrayLiteralExpression(appsArrayNode)) {
45
57
  throw new schematics_1.SchematicsException(`'apps' is not an array in ${filePath}`);
46
58
  }
59
+ if (hasAppWithProperty(appsArrayNode, 'id', appManifest.id)) {
60
+ throw new schematics_1.SchematicsException(`App with id '${appManifest.id}' is already registered in ${filePath}`);
61
+ }
62
+ const routeAlreadyRegistered = hasAppWithProperty(appsArrayNode, 'path', appManifest.ui.path);
47
63
  const insertPosition = appsArrayNode.elements.end;
48
64
  const change = new change_1.InsertChange(filePath, insertPosition, `${appsArrayNode.elements.length > 0 ? "," : ""} ${appConfig}`);
49
65
  (0, change_1.applyToUpdateRecorder)(recorder, [change]);
50
66
  tree.commitUpdate(recorder);
67
+ if (routeAlreadyRegistered) {
68
+ context.logger.warn(`Duplicate app path '${appManifest.ui.path}' in ${filePath}. Only one app per path is accessible via the router. Please use unique paths.`);
69
+ }
51
70
  return tree;
52
- };
71
+ });
72
+ }
73
+ function hasAppWithProperty(arrayNode, propertyName, propertyValue) {
74
+ return arrayNode.elements.some((element) => {
75
+ if (!typescript_1.default.isObjectLiteralExpression(element)) {
76
+ return false;
77
+ }
78
+ return element.properties.some((property) => typescript_1.default.isPropertyAssignment(property) &&
79
+ typescript_1.default.isIdentifier(property.name) &&
80
+ property.name.text === propertyName &&
81
+ typescript_1.default.isStringLiteral(property.initializer) &&
82
+ property.initializer.text === propertyValue);
83
+ });
53
84
  }
54
85
  //# sourceMappingURL=update-app-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-app-routes.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-app-routes.ts"],"names":[],"mappings":";;;;;AAMA,0CAsDC;AA5DD,4DAA4B;AAC5B,2DAAsF;AACtF,qEAAkE;AAClE,+DAAyF;AAGzF,SAAgB,eAAe,CAAC,OAAY,EAAE,WAAwB;IACpE,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,gCAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,SAAS,GAAG;;aAET,WAAW,CAAC,EAAE;gBACX,WAAW,CAAC,KAAK;eAClB,WAAW,CAAC,EAAE,CAAC,IAAI;eACnB,WAAW,CAAC,EAAE,CAAC,IAAI;oCACE,OAAO,CAAC,IAAI,oBAAoB,oBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;;KAEtG,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,gCAAmB,CAAC,eAAe,QAAQ,wBAAwB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,gCAAmB,CAAC,kBAAkB,QAAQ,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAExF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,yBAAyB;QACzB,MAAM,kBAAkB,GAAG,IAAA,qBAAS,EAAC,UAAU,EAAE,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAA2B,CAAC;QAC5G,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAsB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;QAE3I,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,gCAAmB,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,2BAA2B;QAC3B,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/E,IAAI,CAAC,aAAa,IAAI,CAAC,oBAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;QAE1H,IAAA,8BAAqB,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-app-routes.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-app-routes.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
25
34
  Object.defineProperty(exports, "__esModule", { value: true });
26
35
  exports.updateLibraryComponent = updateLibraryComponent;
27
36
  const core_1 = require("@angular-devkit/core");
@@ -30,10 +39,14 @@ const change_1 = require("@schematics/angular/utility/change");
30
39
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
31
40
  const ts = __importStar(require("typescript"));
32
41
  const schematics_util_1 = require("../schematics-util");
42
+ const project_metadata_1 = require("../project-metadata");
43
+ const utils_1 = require("../utils");
33
44
  function updateLibraryComponent(options) {
34
- return (tree) => {
45
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
35
46
  var _a;
36
- const filePath = `${options.libraryRoot}/src/lib/${core_1.strings.dasherize(options.componentName)}.component.ts`;
47
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
48
+ const librarySourceRoot = yield project.getLibrarySourceRoot(options.name);
49
+ const filePath = (0, utils_1.buildPath)(librarySourceRoot, 'lib', `${core_1.strings.dasherize(options.componentName)}.component.ts`);
37
50
  if (!tree.exists(filePath)) {
38
51
  console.warn(`Cannot find the file ${filePath} to append content.`);
39
52
  return tree;
@@ -80,6 +93,6 @@ function updateLibraryComponent(options) {
80
93
  (0, schematics_util_1.addInlineTemplate)(recorder, componentDecorator, newTemplate);
81
94
  tree.commitUpdate(recorder);
82
95
  return tree;
83
- };
96
+ });
84
97
  }
85
98
  //# sourceMappingURL=update-library-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-library-component.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wDAwDC;AA/DD,+CAA+C;AAC/C,2DAA6E;AAC7E,+DAA0E;AAC1E,qEAAqE;AACrE,+CAAiC;AACjC,wDAA2G;AAE3G,SAAgB,sBAAsB,CAAC,OAAY;IACjD,OAAO,CAAC,IAAU,EAAE,EAAE;;QACpB,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,WAAW,YAAY,cAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;QAE3G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,qBAAqB,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,gCAAgC;QAChC,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;QAClG,IAAI,YAAY,EAAE,CAAC;YACjB,IAAA,8BAAqB,EAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,gCAAmB,CAAC,8CAA8C,CAAC,CAAC;QAChF,CAAC;QAED,8BAA8B;QAC9B,MAAM,kBAAkB,GAAG,IAAA,6CAA2B,EAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,gCAAmB,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,eAAe,EAAE,CAAC;YACpB,8DAA8D;YAC9D,MAAM,YAAY,GAAG,eAAe,CAAC,WAAwC,CAAC;YAC9E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC;gBAC1E,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,+BAA+B;gBACtE,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,MAAM,aAAa,GAAI,kBAAkB,CAAC,UAAgC,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;YACtH,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;YACzC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC7H,CAAC;QAED,oBAAoB;QACpB,MAAM,WAAW,GAAG;;YAEZ,cAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;;OAE7C,CAAC;QAEJ,IAAA,mCAAiB,EAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-library-component.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-component.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.updateLibraryPublicApi = updateLibraryPublicApi;
4
13
  const schematics_1 = require("@angular-devkit/schematics");
14
+ const project_metadata_1 = require("../project-metadata");
15
+ const utils_1 = require("../utils");
5
16
  function updateLibraryPublicApi(options) {
6
- return (tree) => {
17
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
7
18
  var _a;
8
- const filePath = `${options.libraryRoot}/src/public-api.ts`;
19
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
20
+ const librarySourceRoot = yield project.getLibrarySourceRoot(options.name);
21
+ const filePath = (0, utils_1.buildPath)(librarySourceRoot, 'public-api.ts');
9
22
  const exportStatement = `export * from './lib/lib.routes';`;
10
23
  if (!tree.exists(filePath)) {
11
24
  throw new schematics_1.SchematicsException(`Cannot find the file ${filePath} to append content.`);
@@ -20,6 +33,6 @@ function updateLibraryPublicApi(options) {
20
33
  recorder.insertRight(content.length, `\n${exportStatement}\n`);
21
34
  tree.commitUpdate(recorder);
22
35
  return tree;
23
- };
36
+ });
24
37
  }
25
38
  //# sourceMappingURL=update-library-public-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-library-public-api.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-public-api.ts"],"names":[],"mappings":";;AAEA,wDAuBC;AAzBD,2DAA+F;AAE/F,SAAgB,sBAAsB,CAAC,OAAY;IACjD,OAAO,CAAC,IAAU,EAAE,EAAE;;QACpB,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,WAAW,oBAAoB,CAAC;QAC5D,MAAM,eAAe,GAAG,mCAAmC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,gCAAmB,CAAC,wBAAwB,QAAQ,qBAAqB,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,gCAAmB,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-library-public-api.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-public-api.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,wDAyBC;AA7BD,2DAA+F;AAC/F,0DAAsD;AACtD,oCAAqC;AAErC,SAAgB,sBAAsB,CAAC,OAAY;IACjD,OAAO,CAAO,IAAU,EAAE,EAAE;;QAC1B,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,mCAAmC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,gCAAmB,CAAC,wBAAwB,QAAQ,qBAAqB,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,gCAAmB,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -1,11 +1,25 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.updateLibraryTsConfig = updateLibraryTsConfig;
4
13
  const schematics_1 = require("@angular-devkit/schematics");
14
+ const project_metadata_1 = require("../project-metadata");
15
+ const utils_1 = require("../utils");
5
16
  function updateLibraryTsConfig(options) {
6
- return (tree) => {
17
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
7
18
  try {
8
- const tsconfigBuffer = tree.read('./tsconfig.json');
19
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
20
+ const librarySourceRoot = yield project.getLibrarySourceRoot(options.name);
21
+ const filePath = (0, utils_1.buildPath)(project.projectRoot, 'tsconfig.json');
22
+ const tsconfigBuffer = tree.read(filePath);
9
23
  if (!tsconfigBuffer) {
10
24
  throw new schematics_1.SchematicsException('tsconfig.json not found');
11
25
  }
@@ -18,14 +32,14 @@ function updateLibraryTsConfig(options) {
18
32
  parsedTsconfig.compilerOptions = parsedTsconfig.compilerOptions || {};
19
33
  parsedTsconfig.compilerOptions.paths = parsedTsconfig.compilerOptions.paths || {};
20
34
  parsedTsconfig.compilerOptions.paths[options.name] = [
21
- `./${options.libraryRoot}/src/public-api.ts`
35
+ `./${librarySourceRoot}/public-api.ts`
22
36
  ];
23
- tree.overwrite('./tsconfig.json', `${comment}\n${JSON.stringify(parsedTsconfig, null, 2)}\n`);
37
+ tree.overwrite(filePath, `${comment}\n${JSON.stringify(parsedTsconfig, null, 2)}\n`);
24
38
  return tree;
25
39
  }
26
40
  catch (error) {
27
- throw new schematics_1.SchematicsException(`Failed to parse tsconfig.json as JSON AST Object.`);
41
+ throw new schematics_1.SchematicsException(`Failed to parse tsconfig.json as JSON AST Object. ${error}`);
28
42
  }
29
- };
43
+ });
30
44
  }
31
45
  //# sourceMappingURL=update-library-tsconfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-library-tsconfig.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-tsconfig.ts"],"names":[],"mappings":";;AAEA,sDA8BC;AAhCD,2DAA6E;AAE7E,SAAgB,qBAAqB,CAAC,OAAY;IAChD,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,gCAAmB,CAAC,yBAAyB,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAW,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAW,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAW,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAW,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEtE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE5C,cAAc,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,IAAI,EAAE,CAAC;YACtE,cAAc,CAAC,eAAe,CAAC,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YAElF,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACnD,KAAK,OAAO,CAAC,WAAW,oBAAoB;aAC7C,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gCAAmB,CAAC,mDAAmD,CAAC,CAAC;QACrF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-library-tsconfig.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-library-tsconfig.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,sDAiCC;AArCD,2DAA6E;AAC7E,0DAAsD;AACtD,oCAAqC;AAErC,SAAgB,qBAAqB,CAAC,OAAY;IAChD,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,gCAAmB,CAAC,yBAAyB,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAW,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAW,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,OAAO,GAAW,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAW,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEtE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE5C,cAAc,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,IAAI,EAAE,CAAC;YACtE,cAAc,CAAC,eAAe,CAAC,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YAElF,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACnD,KAAK,iBAAiB,gBAAgB;aACvC,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAErF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gCAAmB,CAAC,qDAAqD,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { Rule } from "@angular-devkit/schematics";
2
- export default function updatePackageJson(options: any): Rule;
2
+ export default function updatePackageJson(packageJsonPath: string, extObj: any): Rule;
@@ -1,24 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = updatePackageJson;
4
- function updatePackageJson(options) {
5
- return (tree, context) => {
6
- const packageJsonPath = `${options.name}/package.json`;
4
+ function updatePackageJson(packageJsonPath, extObj) {
5
+ return (tree) => {
7
6
  if (tree.exists(packageJsonPath)) {
8
7
  const packageJsonBuffer = tree.read(packageJsonPath);
9
8
  if (packageJsonBuffer) {
10
9
  const packageJson = JSON.parse(packageJsonBuffer.toString());
11
10
  packageJson.dependencies = packageJson.dependencies || {};
12
- packageJson.dependencies['@yuuvis/client-shell'] = `${options.shellVersion}`;
13
- packageJson.devDependencies['@colsen1991/ngx-translate-extract-marker'] = '^2.0.8';
14
- packageJson.devDependencies['@vendure/ngx-translate-extract'] = '^9.4.0';
15
- packageJson.scripts['prestart'] = 'npm run i18n:collect';
16
- packageJson.scripts['start'] = 'ng serve --proxy-config proxy.config.js';
17
- packageJson.scripts['i18n:collect'] = 'node ./scripts/i18n-collect.js';
18
- packageJson.scripts['i18n:extract'] = 'node ./scripts/i18n-extract.js';
19
- packageJson.dependencies = Object.fromEntries(Object.entries(packageJson.dependencies).sort());
20
- packageJson.devDependencies = Object.fromEntries(Object.entries(packageJson.devDependencies).sort());
21
- packageJson.scripts = Object.fromEntries(Object.entries(packageJson.scripts).sort());
11
+ if (extObj.dependencies) {
12
+ packageJson.dependencies = packageJson.dependencies || {};
13
+ packageJson.dependencies = Object.assign(Object.assign({}, packageJson.dependencies), extObj.dependencies);
14
+ packageJson.dependencies = Object.fromEntries(Object.entries(packageJson.dependencies).sort());
15
+ }
16
+ if (extObj.devDependencies) {
17
+ packageJson.devDependencies = packageJson.devDependencies || {};
18
+ packageJson.devDependencies = Object.assign(Object.assign({}, packageJson.devDependencies), extObj.devDependencies);
19
+ packageJson.devDependencies = Object.fromEntries(Object.entries(packageJson.devDependencies).sort());
20
+ }
21
+ if (extObj.scripts) {
22
+ packageJson.scripts = packageJson.scripts || {};
23
+ packageJson.scripts = Object.assign(Object.assign({}, packageJson.scripts), extObj.scripts);
24
+ packageJson.scripts = Object.fromEntries(Object.entries(packageJson.scripts).sort());
25
+ }
22
26
  tree.overwrite(packageJsonPath, JSON.stringify(packageJson, null, 2));
23
27
  }
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-package-json.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-package-json.ts"],"names":[],"mappings":";;AAEA,oCAwBC;AAxBD,SAAwB,iBAAiB,CAAC,OAAY;IACpD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,eAAe,GAAG,GAAG,OAAO,CAAC,IAAI,eAAe,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC1D,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC7E,WAAW,CAAC,eAAe,CAAC,0CAA0C,CAAC,GAAG,QAAQ,CAAC;gBACnF,WAAW,CAAC,eAAe,CAAC,gCAAgC,CAAC,GAAG,QAAQ,CAAC;gBACzE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC;gBACzD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,yCAAyC,CAAC;gBACzE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,gCAAgC,CAAC;gBACvE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,gCAAgC,CAAC;gBAEvE,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrG,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrF,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"update-package-json.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-package-json.ts"],"names":[],"mappings":";;AAEA,oCAwCC;AAxCD,SAAwB,iBAAiB,CAAC,eAAuB,EAAE,MAAW;IAC5E,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;gBAE1D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;oBAC1D,WAAW,CAAC,YAAY,mCACnB,WAAW,CAAC,YAAY,GACxB,MAAM,CAAC,YAAY,CACvB,CAAC;oBACF,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjG,CAAC;gBAED,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;oBAChE,WAAW,CAAC,eAAe,mCACtB,WAAW,CAAC,eAAe,GAC3B,MAAM,CAAC,eAAe,CAC1B,CAAC;oBACF,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvG,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChD,WAAW,CAAC,OAAO,mCACd,WAAW,CAAC,OAAO,GACnB,MAAM,CAAC,OAAO,CAClB,CAAC;oBACF,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvF,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC"}
@@ -1,2 +1,13 @@
1
+ export interface ParsedPackageName {
2
+ namespace: string | null;
3
+ libraryName: string;
4
+ libraryFullName: string;
5
+ shortName: string;
6
+ lastPart: string;
7
+ version: string | null;
8
+ major: string | null;
9
+ minor: string | null;
10
+ }
1
11
  export declare function getLibraryPathFromName(libraryName: string): string;
2
- export declare function extractNamesFromPackageName(name: string): [string, string, string];
12
+ export declare function parsePackageName(input: string): ParsedPackageName;
13
+ export declare function buildPath(...pathParts: string[]): string;
@@ -1,18 +1,74 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getLibraryPathFromName = getLibraryPathFromName;
4
- exports.extractNamesFromPackageName = extractNamesFromPackageName;
7
+ exports.parsePackageName = parsePackageName;
8
+ exports.buildPath = buildPath;
9
+ const path_1 = __importDefault(require("path"));
5
10
  const constants_1 = require("./constants");
11
+ const schematics_1 = require("@angular-devkit/schematics");
6
12
  function getLibraryPathFromName(libraryName) {
7
- if (libraryName.startsWith("@")) {
8
- const [namespace, lib, _] = extractNamesFromPackageName(libraryName);
9
- return `${constants_1.APP_BASE_PATH}/${namespace}/${lib}`;
13
+ const parsedPackageName = parsePackageName(libraryName);
14
+ const namespace = parsedPackageName.namespace ? `${parsedPackageName.namespace}/` : '';
15
+ return `${constants_1.APP_BASE_PATH}/${namespace}${parsedPackageName.libraryName}`;
16
+ }
17
+ function parsePackageName(input) {
18
+ input = input.trim();
19
+ let namespace = null;
20
+ let libraryName;
21
+ let libraryFullName;
22
+ let shortName;
23
+ let lastPart;
24
+ let version = null;
25
+ let major = null;
26
+ let minor = null;
27
+ // split to full name and version
28
+ libraryFullName = input;
29
+ if (input.startsWith('@')) {
30
+ const secondAt = input.indexOf('@', 1);
31
+ if (secondAt !== -1) {
32
+ libraryFullName = input.substring(0, secondAt);
33
+ version = input.substring(secondAt + 1);
34
+ }
35
+ }
36
+ else {
37
+ const lastAt = input.lastIndexOf('@');
38
+ if (lastAt !== -1) {
39
+ libraryFullName = input.substring(0, lastAt);
40
+ version = input.substring(lastAt + 1);
41
+ }
42
+ }
43
+ // extract namespcase and library name
44
+ if (libraryFullName.startsWith('@')) {
45
+ const [ns, lib] = libraryFullName.split('/', 2);
46
+ if (!lib || (libraryFullName.match(/\//g) || []).length !== 1)
47
+ throw new schematics_1.SchematicsException(`Invalid scoped package name: "${input}"`);
48
+ namespace = ns.slice(1);
49
+ libraryName = lib;
50
+ }
51
+ else {
52
+ libraryName = libraryFullName;
53
+ }
54
+ if (!libraryName) {
55
+ throw new schematics_1.SchematicsException(`Invalid package name: "${input}"`);
56
+ }
57
+ // get last part of the library name
58
+ const parts = libraryName.split('-');
59
+ shortName = parts.length > 1 && parts[0] === 'app' ? parts.slice(1).join('-') : parts.slice(-1)[0];
60
+ lastPart = parts[parts.length - 1];
61
+ // extract major and minor version
62
+ if (version) {
63
+ const match = /^(\d+)(?:\.(\d+))?/.exec(version);
64
+ if (match) {
65
+ major = match[1];
66
+ minor = match[2] ? `${match[1]}.${match[2]}` : `${match[1]}`;
67
+ }
10
68
  }
11
- return `${constants_1.APP_BASE_PATH}/${libraryName}`;
69
+ return { namespace, libraryName, libraryFullName, shortName, lastPart, version, major, minor };
12
70
  }
13
- function extractNamesFromPackageName(name) {
14
- const [namespace = "", libraryName = name] = name.startsWith("@") ? name.split("/", 2) : ["", name];
15
- const shortName = libraryName.includes("-") ? libraryName.split("-").pop() || "" : libraryName;
16
- return [namespace.slice(1), libraryName, shortName];
71
+ function buildPath(...pathParts) {
72
+ return path_1.default.join(...pathParts);
17
73
  }
18
74
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/schematics/utils.ts"],"names":[],"mappings":";;AAEA,wDAMC;AAED,kEAIC;AAdD,2CAA4C;AAE5C,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACrE,OAAO,GAAG,yBAAa,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,yBAAa,IAAI,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,SAAgB,2BAA2B,CAAC,IAAY;IACtD,MAAM,CAAC,SAAS,GAAG,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/F,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/schematics/utils.ts"],"names":[],"mappings":"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"}