@yuuvis/client-cli 18.1.1 → 18.1.3

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.
package/README.md CHANGED
@@ -46,6 +46,9 @@ Creates an app in the current workspace. By default, the generated app contains
46
46
 
47
47
  ```bash
48
48
  yuv generate app <name> [options]
49
+
50
+ # short form
51
+ yuv g a <name> [options]
49
52
  ```
50
53
 
51
54
  `<name>`: The name of the app.
@@ -63,6 +66,9 @@ Adds an existing app to the client.
63
66
 
64
67
  ```bash
65
68
  yuv add app <name>
69
+
70
+ # short form
71
+ yuv a a <name>
66
72
  ```
67
73
 
68
74
  `<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.:
@@ -1,4 +1,5 @@
1
1
  export declare const command: string;
2
+ export declare const aliases: string[];
2
3
  export declare const desc: string;
3
4
  export declare const builder: (yargs: any) => any;
4
5
  export declare const handler: (argv: any) => void;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handler = exports.builder = exports.desc = exports.command = void 0;
3
+ exports.handler = exports.builder = exports.desc = exports.aliases = exports.command = void 0;
4
4
  exports.command = 'add';
5
+ exports.aliases = ['a'];
5
6
  exports.desc = 'Adds an exising app to the project.';
6
7
  const builder = (yargs) => {
7
8
  return yargs.commandDir('add');
@@ -1 +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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAW,KAAK,CAAC;AACxB,QAAA,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;AAC1B,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"}
@@ -26,25 +26,13 @@ const builder = (yargs) => {
26
26
  };
27
27
  exports.builder = builder;
28
28
  const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
29
- const [_namespace, _componentName, _shortName] = (0, utils_2.extractNamesFromPackageName)(argv.name);
30
- /*
31
- if (!argv.type) {
32
- const response = await inquirer.prompt([{
33
- type: 'list',
34
- name: 'type',
35
- message: 'What type should the app be?',
36
- choices: ['ui', 'extension', 'both'],
37
- default: 'both'
38
- }]);
39
- argv.type = response.type;
40
- }
41
- */
29
+ const parsedPackageName = (0, utils_2.parsePackageName)(argv.name);
42
30
  if (!argv.appId) {
43
31
  const response = yield inquirer_1.default.prompt([
44
32
  {
45
33
  type: "input",
46
34
  name: "appId",
47
- default: `com.example.${_shortName}`,
35
+ default: `com.example.${parsedPackageName.shortName}`,
48
36
  message: "Specify the app ID:",
49
37
  },
50
38
  ]);
@@ -55,7 +43,7 @@ const handler = (argv) => __awaiter(void 0, void 0, void 0, function* () {
55
43
  {
56
44
  type: "input",
57
45
  name: "route",
58
- default: _shortName,
46
+ default: parsedPackageName.lastPart,
59
47
  message: "Specify the route under which the app is registered in the client:",
60
48
  },
61
49
  ]);
@@ -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,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"}
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,qDAA6D;AAEhD,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,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtD,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,iBAAiB,CAAC,SAAS,EAAE;gBACrD,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,iBAAiB,CAAC,QAAQ;gBACnC,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;AA7CW,QAAA,OAAO,WA6ClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuuvis/client-cli",
3
- "version": "18.1.1",
3
+ "version": "18.1.3",
4
4
  "main": "index.js",
5
5
  "schematics": "./schematics/factories/collection.json",
6
6
  "bin": {
@@ -26,15 +26,15 @@ function addApp(options) {
26
26
  if (project.hasLibrary(options.name)) {
27
27
  throw new schematics_1.SchematicsException(`Package ${options.name} is already registered as a library in the current project.`);
28
28
  }
29
- const packageSpecifier = (0, utils_1.parsePackageSpecifier)(options.name);
29
+ const parsedPackageName = (0, utils_1.parsePackageName)(options.name);
30
30
  const appManifest = yield (0, schematics_util_1.fetchManifest)(options.name, context);
31
31
  context.logger.info(`Found manifest file for package ${options.name}.`);
32
32
  const rules = [];
33
33
  if (!!appManifest.ui) {
34
- rules.push((0, update_app_routes_1.updateAppRoutes)(packageSpecifier.name, appManifest));
34
+ rules.push((0, update_app_routes_1.updateAppRoutes)(parsedPackageName.libraryFullName, appManifest));
35
35
  }
36
36
  if (!!appManifest.extension) {
37
- rules.push((0, update_app_config_1.updateAppConfig)(appManifest.extension, `${packageSpecifier.name}/extensions`));
37
+ rules.push((0, update_app_config_1.updateAppConfig)(appManifest.extension, `${parsedPackageName.libraryFullName}/extensions`));
38
38
  }
39
39
  rules.push((0, npm_install_1.default)('./', options.name));
40
40
  return (0, schematics_1.chain)(rules);
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/add-app/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wBA6BC;AArCD,2DAA8E;AAC9E,2DAAsD;AACtD,uCAA+C;AAC/C,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,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzD,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,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAA,mCAAe,EAAC,WAAW,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC,eAAe,aAAa,CAAC,CAAC,CAAC;QACxG,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"}
@@ -22,13 +22,15 @@ const update_library_tsconfig_1 = require("../../tasks/update-library-tsconfig")
22
22
  const update_app_routes_1 = require("../../tasks/update-app-routes");
23
23
  const copy_extensions_files_1 = require("../../tasks/copy-extensions-files");
24
24
  const update_app_config_1 = require("../../tasks/update-app-config");
25
+ const update_angular_json_1 = require("../../tasks/update-angular-json");
26
+ const update_app_ng_package_json_1 = require("../../tasks/update-app-ng-package-json");
25
27
  function generateApp(options) {
26
28
  return (tree, context) => __awaiter(this, void 0, void 0, function* () {
27
29
  validateOptions(options);
28
- const [_namespace, _componentName, _shortName] = (0, utils_1.extractNamesFromPackageName)(options.name);
29
- options.namespace = _namespace;
30
- options.componentName = _componentName;
31
- options.shortName = _shortName;
30
+ const parsedPackageName = (0, utils_1.parsePackageName)(options.name);
31
+ options.namespace = parsedPackageName.namespace;
32
+ options.componentName = parsedPackageName.libraryName;
33
+ options.shortName = parsedPackageName.shortName;
32
34
  const appManifest = createAppManifest(options.componentName, options.skipExtension, options.route, options.appId);
33
35
  const libraryMetadata = yield inspectLibrary(tree, options.name);
34
36
  options.libraryRoot = !!libraryMetadata.libraryRoot ? libraryMetadata.libraryRoot : (0, utils_1.getLibraryPathFromName)(options.name);
@@ -39,6 +41,8 @@ function generateApp(options) {
39
41
  (0, update_library_public_api_1.updateLibraryPublicApi)(options),
40
42
  (0, update_library_tsconfig_1.updateLibraryTsConfig)(options),
41
43
  (0, update_library_component_1.updateLibraryComponent)(options),
44
+ (0, update_angular_json_1.updateSchematicsConfigForApp)(options.name, '/angular.json'),
45
+ (0, update_app_ng_package_json_1.updateAppNgPackageJsonForApp)(options.name, !options.skipExtension),
42
46
  (0, update_app_routes_1.updateAppRoutes)(options.name, appManifest),
43
47
  ];
44
48
  if (!options.skipExtension) {
@@ -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":";;;;;;;;;;;AAuBA,kCAkCC;AAzDD,2DAA0F;AAC1F,uCAAuE;AACvE,yDAA4D;AAC5D,mEAA+D;AAC/D,6DAAwD;AACxD,mFAA8E;AAC9E,qFAA+E;AAE/E,+EAA4E;AAC5E,iFAA4E;AAC5E,qEAAgE;AAChE,6EAAwE;AACxE,qEAAgE;AAChE,yEAA+E;AAC/E,uFAAsF;AAStF,SAAgB,WAAW,CAAC,OAAY;IACtC,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAChD,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAEhD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAElH,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzH,MAAM,KAAK,GAAW;YACpB,IAAA,kCAAe,EAAC,OAAO,CAAC;YACxB,IAAA,+CAAsB,EAAC,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC;YAC7D,IAAA,2BAAW,EAAC,OAAO,CAAC;YACpB,IAAA,kDAAsB,EAAC,OAAO,CAAC;YAC/B,IAAA,+CAAqB,EAAC,OAAO,CAAC;YAC9B,IAAA,iDAAsB,EAAC,OAAO,CAAC;YAC/B,IAAA,kDAA4B,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;YAC3D,IAAA,yDAA4B,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;YAClE,IAAA,mCAAe,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;SAC3C,CAAC;QAEF,IAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,SAAS,OAAO,CAAC,WAAW,uCAAuC,CAAA;YACtF,KAAK,CAAC,IAAI,CAAC,IAAA,2CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,IAAA,mCAAe,EAAC,WAAW,CAAC,SAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AACJ,CAAC;AAED,SAAe,cAAc,CAAC,IAAU,EAAE,WAAmB;;QAC3D,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,MAAM,WAAW,GAAoB;YACnC,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,oBAAoB,EAAE,KAAK;YAC3B,WAAW,EAAE,IAAI;SAClB,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC;QAC5C,WAAW,CAAC,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YACrD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;gBACtC,MAAM,YAAY,GAAG,GAAG,WAAW,oBAAoB,CAAC;gBACxD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAwB,CAAC;oBACpE,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;oBACtD,WAAW,CAAC,oBAAoB,GAAG,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,gDAAgD;oBAChD,gEAAgE;oBAChE,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,+BAA+B,WAAW,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAED,SAAS,iBAAiB,CAAC,aAAqB,EAAE,aAAsB,EAAE,KAAa,EAAE,KAAa;IACpG,MAAM,QAAQ,GAAgB;QAC5B,EAAE,EAAE,GAAG,KAAK,EAAE;QACd,KAAK,EAAE,GAAG,oBAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ;KACpD,CAAC;IAEF,QAAQ,CAAC,EAAE,GAAG;QACZ,IAAI,EAAE,GAAG,KAAK,EAAE;QAChB,IAAI,EAAE,8GAA8G;QACpH,MAAM,EAAE,GAAG,oBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ;KACnD,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CAAC,SAAS,GAAG,GAAG,oBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,OAAY;IACnC,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,YAAY,GAAG,4BAA4B,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,YAAY,GAAG,6BAA6B,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -8,12 +8,13 @@ const schematics_1 = require("@angular-devkit/schematics");
8
8
  const ng_new_1 = __importDefault(require("../../tasks/ng-new"));
9
9
  const npm_install_1 = __importDefault(require("../../tasks/npm-install"));
10
10
  const update_package_json_1 = __importDefault(require("../../tasks/update-package-json"));
11
- const update_angular_json_1 = __importDefault(require("../../tasks/update-angular-json"));
11
+ const update_angular_json_1 = require("../../tasks/update-angular-json");
12
12
  const clean_up_ng_app_1 = __importDefault(require("../../tasks/clean-up-ng-app"));
13
13
  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
+ const projectName = options.name;
17
18
  if (!options.shellVersion) {
18
19
  options.shellVersion = constants_1.DEFAULT_SHELL_VERSION;
19
20
  }
@@ -27,20 +28,21 @@ function newProject(options) {
27
28
  },
28
29
  scripts: {
29
30
  prestart: 'npm run i18n:collect',
30
- start: 'ng serve --proxy-config proxy.config.js',
31
+ start: 'ng serve --configuration development --proxy-config proxy.config.js',
31
32
  'i18n:collect': 'node ./scripts/i18n-collect.js',
32
33
  'i18n:extract': 'node ./scripts/i18n-extract.js'
33
34
  }
34
35
  };
35
36
  const rules = [
36
37
  (0, ng_new_1.default)(options),
37
- (0, update_package_json_1.default)(`${options.name}/package.json`, packageJsonExt),
38
- (0, update_angular_json_1.default)(options),
38
+ (0, update_package_json_1.default)(`${projectName}/package.json`, packageJsonExt),
39
+ (0, update_angular_json_1.updateAssetsAndBudgets)(projectName, `/${projectName}/angular.json`),
40
+ (0, update_angular_json_1.updateFileReplacementsForDevelopment)(projectName, `/${projectName}/angular.json`),
39
41
  (0, copy_files_1.copyFiles)(options),
40
42
  (0, clean_up_ng_app_1.default)(options)
41
43
  ];
42
44
  if (!options.skipInstall) {
43
- rules.push((0, npm_install_1.default)(options.name));
45
+ rules.push((0, npm_install_1.default)(projectName));
44
46
  }
45
47
  return (0, schematics_1.chain)(rules);
46
48
  }
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":";;;;;AASA,gCAsCC;AA/CD,2DAAwD;AACxD,gEAAuC;AACvC,0EAAiD;AACjD,0FAAgE;AAChE,yEAA+G;AAC/G,kFAAuD;AACvD,uDAAmD;AACnD,+CAA+E;AAE/E,SAAgB,UAAU,CAAC,OAAY;IACrC,OAAO,CAAC,iBAAiB,GAAG,iCAAqB,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjC,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,qEAAqE;YAC5E,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,WAAW,eAAe,EAAE,cAAc,CAAC;QAChE,IAAA,4CAAsB,EAAC,WAAW,EAAE,IAAI,WAAW,eAAe,CAAC;QACnE,IAAA,0DAAoC,EAAC,WAAW,EAAE,IAAI,WAAW,eAAe,CAAC;QACjF,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,WAAW,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,4 +1,4 @@
1
- # Hehe
1
+ # <%= name %>
2
2
 
3
3
  This project was generated with yuuvis client CLI using Angular schematics version <%= schematicsVersion %>.
4
4
 
@@ -7,8 +7,10 @@ import {
7
7
  } from '@angular/core';
8
8
  import { provideRouter, withComponentInputBinding } from '@angular/router';
9
9
  import { provideServiceWorker } from '@angular/service-worker';
10
+ import { environment } from '../environments/environment';
10
11
  import { YuvClientCoreModule } from '@yuuvis/client-core';
11
12
  import { importShellExtensions } from '@yuuvis/client-shell-core';
13
+ import { provideMediaViewer } from '@yuuvis/media-viewer';
12
14
  import { routes } from './app.routes';
13
15
 
14
16
  export const appConfig: ApplicationConfig = {
@@ -21,6 +23,7 @@ export const appConfig: ApplicationConfig = {
21
23
  importShellExtensions([
22
24
  // add your shell extensions here
23
25
  ]),
26
+ provideMediaViewer(environment.mediaviewer || undefined),
24
27
  provideServiceWorker('ngsw-worker.js', {
25
28
  enabled: !isDevMode(),
26
29
  registrationStrategy: 'registerWhenStable:30000',
@@ -0,0 +1,8 @@
1
+ export const environment = {
2
+ production: false,
3
+ mediaviewer: {
4
+ office: {
5
+ path: 'https://path.to.office-365.org'
6
+ }
7
+ }
8
+ };
@@ -0,0 +1,4 @@
1
+ export const environment = {
2
+ production: true,
3
+ mediaviewer: null
4
+ };
@@ -30,6 +30,11 @@ function copyFiles(options) {
30
30
  (0, schematics_1.template)(Object.assign({}, options)),
31
31
  (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'app'))
32
32
  ]), schematics_1.MergeStrategy.Overwrite),
33
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_environments'), [
34
+ (0, schematics_1.renameTemplateFiles)(),
35
+ (0, schematics_1.template)(Object.assign({}, options)),
36
+ (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'environments'))
37
+ ]), schematics_1.MergeStrategy.Overwrite),
33
38
  (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_assets__yuuvis_config'), [
34
39
  (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'assets', '_yuuvis', 'config'))
35
40
  ])),
@@ -1 +1 @@
1
- {"version":3,"file":"copy-files.js","sourceRoot":"","sources":["../../../src/schematics/tasks/copy-files.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,8BA4CC;AAhDD,2DAA0I;AAC1I,0DAAsD;AACtD,oCAAqC;AAErC,SAAgB,SAAS,CAAC,OAAY;IACpC,OAAO,CAAO,IAAU,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnE,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,mBAAmB,CAAC,EAAE;gBAC9B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC9B,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,kBAAkB,CAAC,EAAE;gBAC7B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;aAClD,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;gBACjC,IAAA,gCAAmB,GAAE;gBACrB,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACzD,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,wCAAwC,CAAC,EAAE;gBACnD,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF,CAAC,CACH;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,uCAAuC,CAAC,EAAE;gBAClD,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAChF,CAAC,CACH;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;gBACjC,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;aAC9D,CAAC,CACH;SACF,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"copy-files.js","sourceRoot":"","sources":["../../../src/schematics/tasks/copy-files.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,8BAoDC;AAxDD,2DAA0I;AAC1I,0DAAsD;AACtD,oCAAqC;AAErC,SAAgB,SAAS,CAAC,OAAY;IACpC,OAAO,CAAO,IAAU,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnE,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,mBAAmB,CAAC,EAAE;gBAC9B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC9B,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,kBAAkB,CAAC,EAAE;gBAC7B,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;aAClD,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;gBACjC,IAAA,gCAAmB,GAAE;gBACrB,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACzD,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,+BAA+B,CAAC,EAAE;gBAC1C,IAAA,gCAAmB,GAAE;gBACrB,IAAA,qBAAQ,oBAAM,OAAO,EAAG;gBACxB,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;aAClE,CAAC,EACF,0BAAa,CAAC,SAAS,CACxB;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,wCAAwC,CAAC,EAAE;gBACnD,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF,CAAC,CACH;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,uCAAuC,CAAC,EAAE;gBAClD,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAChF,CAAC,CACH;YACD,IAAA,sBAAS,EACP,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,sBAAsB,CAAC,EAAE;gBACjC,IAAA,iBAAI,EAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;aAC9D,CAAC,CACH;SACF,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -1,2 +1,4 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
- export default function updateAngularJson(options: any): Rule;
2
+ export declare function updateAssetsAndBudgets(projectName: string, angularJsonPath: string): Rule;
3
+ export declare function updateSchematicsConfigForApp(projectName: string, angularJsonPath: string): Rule;
4
+ export declare function updateFileReplacementsForDevelopment(projectName: string, angularJsonPath: string): Rule;
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = updateAngularJson;
4
- function updateAngularJson(options) {
3
+ exports.updateAssetsAndBudgets = updateAssetsAndBudgets;
4
+ exports.updateSchematicsConfigForApp = updateSchematicsConfigForApp;
5
+ exports.updateFileReplacementsForDevelopment = updateFileReplacementsForDevelopment;
6
+ function updateAssetsAndBudgets(projectName, angularJsonPath) {
5
7
  return (tree) => {
6
- const angularJsonPath = `/${options.name}/angular.json`;
7
- const angularJsonFile = tree.read(angularJsonPath);
8
- if (!angularJsonFile) {
9
- throw new Error(`Could not find ${angularJsonPath}.`);
10
- }
11
- const angularJson = JSON.parse(angularJsonFile.toString());
8
+ const angularJson = readAngularJson(tree, angularJsonPath);
12
9
  const projects = angularJson['projects'];
13
- const projectName = options.name;
14
10
  if (projects[projectName]) {
15
11
  const buildOptions = projects[projectName]['architect']['build']['options'];
16
12
  const budgets = projects[projectName]['architect']['build']['configurations']['production']['budgets'];
@@ -32,7 +28,7 @@ function updateAngularJson(options) {
32
28
  initialBudget.maximumError = '5MB';
33
29
  }
34
30
  buildOptions['assets'].push(...newAssets);
35
- tree.overwrite(angularJsonPath, JSON.stringify(angularJson, null, 2));
31
+ writeAngularJson(tree, angularJsonPath, angularJson);
36
32
  }
37
33
  else {
38
34
  throw new Error(`The project "${projectName}" could not be found in angular.json.`);
@@ -40,4 +36,56 @@ function updateAngularJson(options) {
40
36
  return tree;
41
37
  };
42
38
  }
39
+ function updateSchematicsConfigForApp(projectName, angularJsonPath) {
40
+ return (tree) => {
41
+ var _a, _b;
42
+ const angularJson = readAngularJson(tree, angularJsonPath);
43
+ const projects = angularJson['projects'];
44
+ const projectNode = projects === null || projects === void 0 ? void 0 : projects[projectName];
45
+ if (!projectNode) {
46
+ throw new Error(`The project "${projectName}" could not be found in angular.json.`);
47
+ }
48
+ const componentSchematicsKey = '@schematics/angular:component';
49
+ const schematics = (_a = projectNode['schematics']) !== null && _a !== void 0 ? _a : {};
50
+ schematics[componentSchematicsKey] = Object.assign(Object.assign({}, ((_b = schematics[componentSchematicsKey]) !== null && _b !== void 0 ? _b : {})), { style: 'scss' });
51
+ projectNode['schematics'] = schematics;
52
+ writeAngularJson(tree, angularJsonPath, angularJson);
53
+ return tree;
54
+ };
55
+ }
56
+ function updateFileReplacementsForDevelopment(projectName, angularJsonPath) {
57
+ return (tree) => {
58
+ const angularJson = readAngularJson(tree, angularJsonPath);
59
+ const projects = angularJson['projects'];
60
+ if (!projects[projectName]) {
61
+ throw new Error(`Could not find project ${projectName} in ${angularJsonPath}.`);
62
+ }
63
+ const devConfig = projects[projectName]['architect']['build']['configurations']['development'];
64
+ if (!devConfig) {
65
+ throw new Error(`Could not find development env configuration for ${projectName} in ${angularJsonPath}.`);
66
+ }
67
+ const fileReplacements = [
68
+ {
69
+ replace: `src/environments/environment.ts`,
70
+ with: `src/environments/environment.development.ts`,
71
+ }
72
+ ];
73
+ devConfig['fileReplacements'] = fileReplacements;
74
+ writeAngularJson(tree, angularJsonPath, angularJson);
75
+ return tree;
76
+ };
77
+ }
78
+ function readAngularJson(tree, path) {
79
+ if (!tree.exists(path)) {
80
+ throw new Error(`Could not find ${path}.`);
81
+ }
82
+ const angularJsonBuffer = tree.read(path);
83
+ if (!angularJsonBuffer) {
84
+ throw new Error(`Could not read ${path}.`);
85
+ }
86
+ return JSON.parse(angularJsonBuffer.toString());
87
+ }
88
+ function writeAngularJson(tree, path, content) {
89
+ tree.overwrite(path, JSON.stringify(content, null, 2));
90
+ }
43
91
  //# sourceMappingURL=update-angular-json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-angular-json.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-angular-json.ts"],"names":[],"mappings":";;AAGA,oCA6CC;AA7CD,SAAwB,iBAAiB,CAAC,OAAY;IACpD,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,IAAI,eAAe,CAAC;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,eAAe,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAe,CAAC;QAEzE,MAAM,QAAQ,GAAQ,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;YAEvG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC9B,CAAC;YAED,iDAAiD;YACjD,MAAM,SAAS,GAAG;gBAChB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACtF,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,8CAA8C,EAAE,QAAQ,EAAE,UAAU,EAAE;gBACjG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mDAAmD,EAAE,QAAQ,EAAE,2BAA2B,EAAE;gBACvH,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mDAAmD,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAC1G,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,wBAAwB,EAAE;gBACzG,aAAa;aACd,CAAC;YAEJ,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,cAAc,GAAG,KAAK,CAAC;gBACrC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;YACrC,CAAC;YAEC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,uCAAuC,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update-angular-json.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-angular-json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ export declare function updateAppNgPackageJsonForApp(appName: string, extentionExists: boolean): Rule;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
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
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.updateAppNgPackageJsonForApp = updateAppNgPackageJsonForApp;
36
+ const path = __importStar(require("path"));
37
+ const project_metadata_1 = require("../project-metadata");
38
+ function updateAppNgPackageJsonForApp(appName, extentionExists) {
39
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
40
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
41
+ const libraryRoot = yield project.getLibraryRoot(appName);
42
+ const srcRoot = yield project.getLibrarySourceRoot(appName);
43
+ const relativeSrcPath = path.relative(libraryRoot, srcRoot);
44
+ const ngPackageJsonPath = `${libraryRoot}/ng-package.json`;
45
+ const ngPackageJson = tree.read(ngPackageJsonPath);
46
+ if (!ngPackageJson) {
47
+ throw new Error(`ng-package.json not found at ${ngPackageJsonPath}`);
48
+ }
49
+ const ngPackageJsonContent = JSON.parse(ngPackageJson.toString('utf-8'));
50
+ const assets = ngPackageJsonContent.assets || [];
51
+ assets.push({ "input": "./", "glob": "yuv-manifest.json", "output": "./" });
52
+ assets.push({ "input": `./${relativeSrcPath}/assets`, "glob": "**/*", "output": "lib/assets" });
53
+ if (extentionExists) {
54
+ assets.push({ "input": "./extensions/src/assets", "glob": "**/*", "output": "/extensions/lib/assets" });
55
+ }
56
+ ngPackageJsonContent.assets = assets;
57
+ tree.overwrite(ngPackageJsonPath, JSON.stringify(ngPackageJsonContent, null, 2));
58
+ return tree;
59
+ });
60
+ }
61
+ //# sourceMappingURL=update-app-ng-package-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-app-ng-package-json.js","sourceRoot":"","sources":["../../../src/schematics/tasks/update-app-ng-package-json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oEA6BC;AAjCD,2CAA6B;AAE7B,0DAAsD;AAEtD,SAAgB,4BAA4B,CAAC,OAAe,EAAE,eAAwB;IACpF,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE5D,MAAM,iBAAiB,GAAG,GAAG,WAAW,kBAAkB,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,iBAAiB,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,IAAI,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAK,eAAe,SAAS,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAC,CAAC,CAAC;QAC5F,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,yBAAyB,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAC,CAAC,CAAC;QACtG,CAAC;QAED,oBAAoB,CAAC,MAAM,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -1,17 +1,13 @@
1
- export interface PackageSpecifier {
2
- name: string;
3
- version?: string;
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;
4
10
  }
5
11
  export declare function getLibraryPathFromName(libraryName: string): string;
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;
12
+ export declare function parsePackageName(input: string): ParsedPackageName;
17
13
  export declare function buildPath(...pathParts: string[]): string;
@@ -4,53 +4,69 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getLibraryPathFromName = getLibraryPathFromName;
7
- exports.extractNamesFromPackageName = extractNamesFromPackageName;
8
- exports.parsePackageSpecifier = parsePackageSpecifier;
7
+ exports.parsePackageName = parsePackageName;
9
8
  exports.buildPath = buildPath;
10
9
  const path_1 = __importDefault(require("path"));
11
10
  const constants_1 = require("./constants");
11
+ const schematics_1 = require("@angular-devkit/schematics");
12
12
  function getLibraryPathFromName(libraryName) {
13
- if (libraryName.startsWith("@")) {
14
- const [namespace, lib, _] = extractNamesFromPackageName(libraryName);
15
- return `${constants_1.APP_BASE_PATH}/${namespace}/${lib}`;
16
- }
17
- return `${constants_1.APP_BASE_PATH}/${libraryName}`;
18
- }
19
- function extractNamesFromPackageName(name) {
20
- const [namespace = "", libraryName = name] = name.startsWith("@") ? name.split("/", 2) : ["", name];
21
- const shortName = libraryName.includes("-") ? libraryName.split("-").pop() || "" : libraryName;
22
- return [namespace.slice(1), libraryName, shortName];
13
+ const parsedPackageName = parsePackageName(libraryName);
14
+ const namespace = parsedPackageName.namespace ? `${parsedPackageName.namespace}/` : '';
15
+ return `${constants_1.APP_BASE_PATH}/${namespace}${parsedPackageName.libraryName}`;
23
16
  }
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 };
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);
39
41
  }
40
- return {
41
- name: specifier.substring(0, secondAtIndex),
42
- version: specifier.substring(secondAtIndex + 1),
43
- };
44
42
  }
45
- // Unscoped package, version is after last "@"
46
- const atIndex = specifier.lastIndexOf('@');
47
- if (atIndex === -1) {
48
- return { name: specifier };
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
+ }
49
68
  }
50
- return {
51
- name: specifier.substring(0, atIndex),
52
- version: specifier.substring(atIndex + 1),
53
- };
69
+ return { namespace, libraryName, libraryFullName, shortName, lastPart, version, major, minor };
54
70
  }
55
71
  function buildPath(...pathParts) {
56
72
  return path_1.default.join(...pathParts);
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/schematics/utils.ts"],"names":[],"mappings":"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"}