@yuuvis/client-cli 18.1.0 → 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 (66) 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 +11 -9
  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 +4 -4
  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 +24 -6
  22. package/schematics/factories/new/index.js.map +1 -1
  23. package/schematics/project-metadata.d.ts +17 -0
  24. package/schematics/project-metadata.js +71 -0
  25. package/schematics/project-metadata.js.map +1 -0
  26. package/schematics/schematics-util.d.ts +4 -1
  27. package/schematics/schematics-util.js +69 -0
  28. package/schematics/schematics-util.js.map +1 -1
  29. package/schematics/tasks/clean-up-ng-app.js +21 -4
  30. package/schematics/tasks/clean-up-ng-app.js.map +1 -1
  31. package/schematics/tasks/copy-extensions-files.d.ts +2 -1
  32. package/schematics/tasks/copy-extensions-files.js +22 -7
  33. package/schematics/tasks/copy-extensions-files.js.map +1 -1
  34. package/schematics/tasks/copy-files.d.ts +2 -1
  35. package/schematics/tasks/copy-files.js +38 -25
  36. package/schematics/tasks/copy-files.js.map +1 -1
  37. package/schematics/tasks/copy-ui-files.d.ts +2 -1
  38. package/schematics/tasks/copy-ui-files.js +22 -7
  39. package/schematics/tasks/copy-ui-files.js.map +1 -1
  40. package/schematics/tasks/create-update-manifest.js +15 -3
  41. package/schematics/tasks/create-update-manifest.js.map +1 -1
  42. package/schematics/tasks/generate-library.js +1 -1
  43. package/schematics/tasks/generate-library.js.map +1 -1
  44. package/schematics/tasks/npm-install.d.ts +1 -1
  45. package/schematics/tasks/npm-install.js +6 -7
  46. package/schematics/tasks/npm-install.js.map +1 -1
  47. package/schematics/tasks/update-angular-json.js +1 -1
  48. package/schematics/tasks/update-angular-json.js.map +1 -1
  49. package/schematics/tasks/update-app-config.d.ts +1 -1
  50. package/schematics/tasks/update-app-config.js +16 -4
  51. package/schematics/tasks/update-app-config.js.map +1 -1
  52. package/schematics/tasks/update-app-routes.d.ts +1 -1
  53. package/schematics/tasks/update-app-routes.js +37 -6
  54. package/schematics/tasks/update-app-routes.js.map +1 -1
  55. package/schematics/tasks/update-library-component.js +16 -3
  56. package/schematics/tasks/update-library-component.js.map +1 -1
  57. package/schematics/tasks/update-library-public-api.js +16 -3
  58. package/schematics/tasks/update-library-public-api.js.map +1 -1
  59. package/schematics/tasks/update-library-tsconfig.js +20 -6
  60. package/schematics/tasks/update-library-tsconfig.js.map +1 -1
  61. package/schematics/tasks/update-package-json.d.ts +1 -1
  62. package/schematics/tasks/update-package-json.js +17 -13
  63. package/schematics/tasks/update-package-json.js.map +1 -1
  64. package/schematics/utils.d.ts +15 -0
  65. package/schematics/utils.js +40 -0
  66. package/schematics/utils.js.map +1 -1
@@ -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,17 @@
1
+ export interface PackageSpecifier {
2
+ name: string;
3
+ version?: string;
4
+ }
1
5
  export declare function getLibraryPathFromName(libraryName: string): string;
2
6
  export declare function extractNamesFromPackageName(name: string): [string, string, string];
7
+ /**
8
+ * Splits an NPM package specifier into name and version.
9
+ *
10
+ * Examples:
11
+ * - "mylib" => { name: "mylib", version: undefined }
12
+ * - "mylib@1.2.3" => { name: "mylib", version: "1.2.3" }
13
+ * - "@scope/mylib@latest" => { name: "@scope/mylib", version: "latest" }
14
+ * - "@scope/mylib" => { name: "@scope/mylib", version: undefined }
15
+ */
16
+ export declare function parsePackageSpecifier(specifier: string): PackageSpecifier;
17
+ export declare function buildPath(...pathParts: string[]): string;
@@ -1,7 +1,13 @@
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
7
  exports.extractNamesFromPackageName = extractNamesFromPackageName;
8
+ exports.parsePackageSpecifier = parsePackageSpecifier;
9
+ exports.buildPath = buildPath;
10
+ const path_1 = __importDefault(require("path"));
5
11
  const constants_1 = require("./constants");
6
12
  function getLibraryPathFromName(libraryName) {
7
13
  if (libraryName.startsWith("@")) {
@@ -15,4 +21,38 @@ function extractNamesFromPackageName(name) {
15
21
  const shortName = libraryName.includes("-") ? libraryName.split("-").pop() || "" : libraryName;
16
22
  return [namespace.slice(1), libraryName, shortName];
17
23
  }
24
+ /**
25
+ * Splits an NPM package specifier into name and version.
26
+ *
27
+ * Examples:
28
+ * - "mylib" => { name: "mylib", version: undefined }
29
+ * - "mylib@1.2.3" => { name: "mylib", version: "1.2.3" }
30
+ * - "@scope/mylib@latest" => { name: "@scope/mylib", version: "latest" }
31
+ * - "@scope/mylib" => { name: "@scope/mylib", version: undefined }
32
+ */
33
+ function parsePackageSpecifier(specifier) {
34
+ // Scoped packages start with "@", e.g. "@scope/pkg"
35
+ if (specifier.startsWith('@')) {
36
+ const secondAtIndex = specifier.indexOf('@', 1); // skip the "@" in "@scope"
37
+ if (secondAtIndex === -1) {
38
+ return { name: specifier };
39
+ }
40
+ return {
41
+ name: specifier.substring(0, secondAtIndex),
42
+ version: specifier.substring(secondAtIndex + 1),
43
+ };
44
+ }
45
+ // Unscoped package, version is after last "@"
46
+ const atIndex = specifier.lastIndexOf('@');
47
+ if (atIndex === -1) {
48
+ return { name: specifier };
49
+ }
50
+ return {
51
+ name: specifier.substring(0, atIndex),
52
+ version: specifier.substring(atIndex + 1),
53
+ };
54
+ }
55
+ function buildPath(...pathParts) {
56
+ return path_1.default.join(...pathParts);
57
+ }
18
58
  //# 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":";;;;;AAQA,wDAMC;AAED,kEAIC;AAWD,sDAuBC;AAED,8BAGC;AA3DD,gDAAwB;AACxB,2CAA4C;AAO5C,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;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,SAAiB;IACrD,oDAAoD;IACpD,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,2BAA2B;QAC5E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;QACrC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAC,GAAG,SAAmB;IAC9C,OAAO,cAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;AAEjC,CAAC"}