@dsivd/prestations-ng 19.2.0-beta.4 → 19.2.0-beta.6

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/package.json CHANGED
@@ -27,7 +27,6 @@
27
27
  "@fortawesome/free-solid-svg-icons": "^7.2.0",
28
28
  "@dsivd/foehn": "=2.0.14",
29
29
  "rxjs": "^7.8.2",
30
- "core-js": "^3.49.0",
31
30
  "iban": "^0.0.14",
32
31
  "ngx-image-cropper": "^9.1.6",
33
32
  "dayjs": "^1.11.21",
@@ -40,7 +39,7 @@
40
39
  "ng-update": {
41
40
  "migrations": "./schematics/migration-collection.json"
42
41
  },
43
- "version": "19.2.0-beta.4",
42
+ "version": "19.2.0-beta.6",
44
43
  "module": "fesm2022/dsivd-prestations-ng.mjs",
45
44
  "typings": "types/dsivd-prestations-ng.d.ts",
46
45
  "exports": {
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const schematics_1 = require("@angular-devkit/schematics");
4
4
  const tasks_1 = require("@angular-devkit/schematics/tasks");
5
- const add_allow_synthetic_default_imports_1 = require("../utility/add-allow-synthetic-default-imports");
6
5
  const add_allowed_common_js_dependencies_1 = require("../utility/add-allowed-common-js-dependencies");
7
6
  const migrate_to_karma_coverage_1 = require("../utility/migrate-to-karma-coverage");
8
7
  const remove_emit_decorator_metadata_1 = require("../utility/remove-emit-decorator-metadata");
@@ -15,12 +14,11 @@ exports.default = () => (tree, context) => {
15
14
  }
16
15
  context.logger.info('Thank you for using our library prestations-ng');
17
16
  (0, replace_browserslistrc_1.replaceBrowsersList)(tree);
18
- (0, add_allowed_common_js_dependencies_1.addAllowedCommonJsDependencies)(tree);
17
+ (0, add_allowed_common_js_dependencies_1.addAllowedCommonJsDependencies)(tree, ['iban', 'dayjs']);
19
18
  (0, remove_emit_decorator_metadata_1.removeEmitDecoratorMetadata)(tree);
20
19
  if ((0, migrate_to_karma_coverage_1.migrateToKarmaCoverage)(tree)) {
21
20
  context.addTask(new tasks_1.NodePackageInstallTask());
22
21
  }
23
- (0, add_allow_synthetic_default_imports_1.addAllowSyntheticDefaultImports)(tree);
24
22
  return tree;
25
23
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zY2hlbWF0aWNzL25nLWFkZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJEQUtvQztBQUNwQyw0REFBMEU7QUFFMUUsd0dBQWlHO0FBQ2pHLHNHQUErRjtBQUMvRixvRkFBOEU7QUFDOUUsOEZBQXdGO0FBQ3hGLDhFQUF3RTtBQUV4RSxrQkFBZSxHQUFTLEVBQUUsQ0FBQyxDQUFDLElBQVUsRUFBRSxPQUF5QixFQUFFLEVBQUU7SUFDakUsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDO0lBQ3JDLGdEQUFnRDtJQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxnQ0FBbUIsQ0FDekIsb0VBQW9FLENBQ3ZFLENBQUM7SUFDTixDQUFDO0lBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUV0RSxJQUFBLDRDQUFtQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLElBQUEsbUVBQThCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsSUFBQSw0REFBMkIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxJQUFJLElBQUEsa0RBQXNCLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksOEJBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFBLHFFQUErQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zY2hlbWF0aWNzL25nLWFkZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJEQUtvQztBQUNwQyw0REFBMEU7QUFFMUUsc0dBQStGO0FBQy9GLG9GQUE4RTtBQUM5RSw4RkFBd0Y7QUFDeEYsOEVBQXdFO0FBRXhFLGtCQUFlLEdBQVMsRUFBRSxDQUFDLENBQUMsSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUM7SUFDckMsZ0RBQWdEO0lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixvRUFBb0UsQ0FDdkUsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRXRFLElBQUEsNENBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsSUFBQSxtRUFBOEIsRUFBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RCxJQUFBLDREQUEyQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksSUFBQSxrREFBc0IsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSw4QkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyJ9
@@ -11,8 +11,13 @@ exports.default = () => (tree, context) => {
11
11
  throw new schematics_1.SchematicsException('This is not an Angular workspace. Try again in an Angular project.');
12
12
  }
13
13
  context.logger.info(`Applying migration for prestations-ng for Angular to version ${version}`);
14
- (0, add_allowed_common_js_dependencies_1.addAllowedCommonJsDependencies)(tree);
14
+ // The dependencies added by this version, even if some are no longer needed today
15
+ (0, add_allowed_common_js_dependencies_1.addAllowedCommonJsDependencies)(tree, [
16
+ 'core-js/modules/es.array.includes',
17
+ 'iban',
18
+ 'zone.js/dist/zone-error',
19
+ ]);
15
20
  (0, remove_emit_decorator_metadata_1.removeEmitDecoratorMetadata)(tree);
16
21
  return tree;
17
22
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zY2hlbWF0aWNzL25nLXVwZGF0ZS9taWdyYXRpb25zL3VwZGF0ZS0xM18yXzAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyREFLb0M7QUFFcEMsNEdBQXFHO0FBQ3JHLG9HQUE4RjtBQUU5RixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFFekIsa0JBQWUsR0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztJQUNyQyxnREFBZ0Q7SUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksZ0NBQW1CLENBQ3pCLG9FQUFvRSxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNmLGdFQUFnRSxPQUFPLEVBQUUsQ0FDNUUsQ0FBQztJQUNGLElBQUEsbUVBQThCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsSUFBQSw0REFBMkIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zY2hlbWF0aWNzL25nLXVwZGF0ZS9taWdyYXRpb25zL3VwZGF0ZS0xM18yXzAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyREFLb0M7QUFFcEMsNEdBQXFHO0FBQ3JHLG9HQUE4RjtBQUU5RixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFFekIsa0JBQWUsR0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztJQUNyQyxnREFBZ0Q7SUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksZ0NBQW1CLENBQ3pCLG9FQUFvRSxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNmLGdFQUFnRSxPQUFPLEVBQUUsQ0FDNUUsQ0FBQztJQUNGLGtGQUFrRjtJQUNsRixJQUFBLG1FQUE4QixFQUFDLElBQUksRUFBRTtRQUNqQyxtQ0FBbUM7UUFDbkMsTUFBTTtRQUNOLHlCQUF5QjtLQUM1QixDQUFDLENBQUM7SUFDSCxJQUFBLDREQUEyQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyJ9
@@ -2,41 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addAllowedCommonJsDependencies = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const addAllowedCommonJsDependencies = (tree) => {
5
+ const json_file_1 = require("@schematics/angular/utility/json-file");
6
+ /**
7
+ * Adds the dependencies missing from the `allowedCommonJsDependencies` of the build of the `defaultProject`,
8
+ * or of every application when there is no `defaultProject` (removed from angular.json since Angular 14).
9
+ */
10
+ const addAllowedCommonJsDependencies = (tree, dependencies) => {
11
+ var _a;
6
12
  const pathToAngularJson = 'angular.json';
7
- const file = tree.read(pathToAngularJson);
8
- if (!file) {
13
+ if (!tree.exists(pathToAngularJson)) {
9
14
  // Should never happen because always check in rules
10
15
  return;
11
16
  }
12
- const json = JSON.parse(file.toString());
13
- const projectName = json.defaultProject;
14
- if (!projectName) {
15
- throw new schematics_1.SchematicsException("Sorry but we could not find 'defaultProject' property in your angular.json file.");
16
- }
17
- const project = json.projects[projectName];
18
- if (!project) {
19
- throw new schematics_1.SchematicsException(`Sorry but we could not find project '${projectName}' in your angular.json file.`);
20
- }
21
- const buildOptions = project.architect.build.options;
22
- const arrayOfDependenciesToAdd = [
23
- 'core-js/modules/es.array.includes',
24
- 'iban',
25
- 'zone.js/dist/zone-error',
26
- ];
27
- if (Object.hasOwn(buildOptions, 'allowedCommonJsDependencies')) {
28
- // Do not add dependency if already exist
29
- const existingDeps = [...buildOptions.allowedCommonJsDependencies];
30
- arrayOfDependenciesToAdd.forEach((dep) => {
31
- if (!existingDeps.includes(dep)) {
32
- buildOptions.allowedCommonJsDependencies.push(dep);
33
- }
34
- });
17
+ // JSONFile keeps the formatting and the comments of the file
18
+ const angularJson = new json_file_1.JSONFile(tree, pathToAngularJson);
19
+ const projects = ((_a = angularJson.get(['projects'])) !== null && _a !== void 0 ? _a : {});
20
+ const defaultProject = angularJson.get(['defaultProject']);
21
+ let projectNames;
22
+ if (typeof defaultProject === 'string') {
23
+ if (!projects[defaultProject]) {
24
+ throw new schematics_1.SchematicsException(`Sorry but we could not find project '${defaultProject}' in your angular.json file.`);
25
+ }
26
+ projectNames = [defaultProject];
35
27
  }
36
28
  else {
37
- buildOptions.allowedCommonJsDependencies = arrayOfDependenciesToAdd;
29
+ projectNames = Object.keys(projects).filter((name) => projects[name].projectType === 'application');
38
30
  }
39
- tree.overwrite(pathToAngularJson, JSON.stringify(json, null, 2));
31
+ projectNames
32
+ .filter((name) => { var _a, _b; return (_b = (_a = projects[name].architect) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options; })
33
+ .forEach((name) => {
34
+ var _a;
35
+ const path = [
36
+ 'projects',
37
+ name,
38
+ 'architect',
39
+ 'build',
40
+ 'options',
41
+ 'allowedCommonJsDependencies',
42
+ ];
43
+ const existingDeps = ((_a = angularJson.get(path)) !== null && _a !== void 0 ? _a : []);
44
+ // Do not add dependency if already exist
45
+ const missingDeps = dependencies.filter((dep) => !existingDeps.includes(dep));
46
+ if (missingDeps.length) {
47
+ angularJson.modify(path, [...existingDeps, ...missingDeps]);
48
+ }
49
+ });
40
50
  };
41
51
  exports.addAllowedCommonJsDependencies = addAllowedCommonJsDependencies;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFsbG93ZWQtY29tbW9uLWpzLWRlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NjaGVtYXRpY3MvdXRpbGl0eS9hZGQtYWxsb3dlZC1jb21tb24tanMtZGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUF1RTtBQUVoRSxNQUFNLDhCQUE4QixHQUFHLENBQUMsSUFBVSxFQUFRLEVBQUU7SUFDL0QsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLG9EQUFvRDtRQUNwRCxPQUFPO0lBQ1gsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksZ0NBQW1CLENBQ3pCLGtGQUFrRixDQUNyRixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLGdDQUFtQixDQUN6Qix3Q0FBd0MsV0FBVyw4QkFBOEIsQ0FDcEYsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDckQsTUFBTSx3QkFBd0IsR0FBRztRQUM3QixtQ0FBbUM7UUFDbkMsTUFBTTtRQUNOLHlCQUF5QjtLQUM1QixDQUFDO0lBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSw2QkFBNkIsQ0FBQyxFQUFFLENBQUM7UUFDN0QseUNBQXlDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNuRSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QixZQUFZLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7U0FBTSxDQUFDO1FBQ0osWUFBWSxDQUFDLDJCQUEyQixHQUFHLHdCQUF3QixDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQTNDVyxRQUFBLDhCQUE4QixrQ0EyQ3pDIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFsbG93ZWQtY29tbW9uLWpzLWRlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NjaGVtYXRpY3MvdXRpbGl0eS9hZGQtYWxsb3dlZC1jb21tb24tanMtZGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUF1RTtBQUN2RSxxRUFBaUU7QUFPakU7OztHQUdHO0FBQ0ksTUFBTSw4QkFBOEIsR0FBRyxDQUMxQyxJQUFVLEVBQ1YsWUFBc0IsRUFDbEIsRUFBRTs7SUFDTixNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztJQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDbEMsb0RBQW9EO1FBQ3BELE9BQU87SUFDWCxDQUFDO0lBRUQsNkRBQTZEO0lBQzdELE1BQU0sV0FBVyxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQUEsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1DQUFJLEVBQUUsQ0FHcEQsQ0FBQztJQUNGLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFM0QsSUFBSSxZQUFzQixDQUFDO0lBQzNCLElBQUksT0FBTyxjQUFjLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxnQ0FBbUIsQ0FDekIsd0NBQXdDLGNBQWMsOEJBQThCLENBQ3ZGLENBQUM7UUFDTixDQUFDO1FBQ0QsWUFBWSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEMsQ0FBQztTQUFNLENBQUM7UUFDSixZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ3ZDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLGFBQWEsQ0FDekQsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZO1NBQ1AsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsZUFBQyxPQUFBLE1BQUEsTUFBQSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUywwQ0FBRSxLQUFLLDBDQUFFLE9BQU8sQ0FBQSxFQUFBLENBQUM7U0FDMUQsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O1FBQ2QsTUFBTSxJQUFJLEdBQUc7WUFDVCxVQUFVO1lBQ1YsSUFBSTtZQUNKLFdBQVc7WUFDWCxPQUFPO1lBQ1AsU0FBUztZQUNULDZCQUE2QjtTQUNoQyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFBLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1DQUFJLEVBQUUsQ0FBYSxDQUFDO1FBQy9ELHlDQUF5QztRQUN6QyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUNuQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUN2QyxDQUFDO1FBQ0YsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBcERXLFFBQUEsOEJBQThCLGtDQW9EekMifQ==
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeEmitDecoratorMetadata = void 0;
4
+ const json_file_1 = require("@schematics/angular/utility/json-file");
4
5
  const removeEmitDecoratorMetadata = (tree) => {
5
6
  const tsConfig = 'tsconfig.json';
6
- const file = tree.read(tsConfig);
7
- if (!file) {
7
+ if (!tree.exists(tsConfig)) {
8
8
  return;
9
9
  }
10
- const json = JSON.parse(file.toString());
11
- const compilerOptions = json.compilerOptions;
12
- if (Object.hasOwn(compilerOptions, 'emitDecoratorMetadata')) {
13
- delete json.compilerOptions.emitDecoratorMetadata;
14
- tree.overwrite(tsConfig, JSON.stringify(json, null, 2));
15
- }
10
+ // JSONFile keeps the formatting and the comments of the file
11
+ new json_file_1.JSONFile(tree, tsConfig).remove([
12
+ 'compilerOptions',
13
+ 'emitDecoratorMetadata',
14
+ ]);
16
15
  };
17
16
  exports.removeEmitDecoratorMetadata = removeEmitDecoratorMetadata;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWVtaXQtZGVjb3JhdG9yLW1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc2NoZW1hdGljcy91dGlsaXR5L3JlbW92ZS1lbWl0LWRlY29yYXRvci1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFTyxNQUFNLDJCQUEyQixHQUFHLENBQUMsSUFBVSxFQUFRLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1IsT0FBTztJQUNYLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDN0MsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDO1FBRWxELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDTCxDQUFDLENBQUM7QUFkVyxRQUFBLDJCQUEyQiwrQkFjdEMifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWVtaXQtZGVjb3JhdG9yLW1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc2NoZW1hdGljcy91dGlsaXR5L3JlbW92ZS1lbWl0LWRlY29yYXRvci1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxRUFBaUU7QUFFMUQsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLElBQVUsRUFBUSxFQUFFO0lBQzVELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQztJQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU87SUFDWCxDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQUksb0JBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hDLGlCQUFpQjtRQUNqQix1QkFBdUI7S0FDMUIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBWFcsUUFBQSwyQkFBMkIsK0JBV3RDIn0=
@@ -8,6 +8,8 @@ import templateRules from './template-rules.mjs';
8
8
  *
9
9
  * Meant for the `extends` of a `**\/*.html` block. It brings its own parser and plugins,
10
10
  * so do not spread `angular.configs.templateRecommended` alongside it.
11
+ *
12
+ * @returns {import('typescript-eslint').ConfigArray}
11
13
  */
12
14
  const templateRecommended = (plugin) => [
13
15
  ...angular.configs.templateRecommended,
@@ -1,7 +1,11 @@
1
1
  import templateBase from './template-base.mjs';
2
2
 
3
- // Only the rules written by this library. `templateRecommended` includes it, alongside
4
- // the house style; use this layer directly to opt out of the latter.
3
+ /**
4
+ * Only the rules written by this library. `templateRecommended` includes it, alongside
5
+ * the house style; use this layer directly to opt out of the latter.
6
+ *
7
+ * @returns {import('typescript-eslint').ConfigArray}
8
+ */
5
9
  const templateRules = (plugin) => [
6
10
  templateBase(plugin),
7
11
  {
@@ -14,6 +14,8 @@ import tsRules from './ts-rules.mjs';
14
14
  * Meant for the `extends` of a `**\/*.ts` block. It brings its own parser and plugins,
15
15
  * so do not spread `angular.configs.tsRecommended` alongside it — declaring the same
16
16
  * plugin twice from two different copies makes ESLint fail outright.
17
+ *
18
+ * @returns {import('typescript-eslint').ConfigArray}
17
19
  */
18
20
  const tsRecommended = (plugin) => [
19
21
  eslint.configs.recommended,
@@ -1,7 +1,11 @@
1
1
  import tsBase from './ts-base.mjs';
2
2
 
3
- // Only the rules written by this library. `tsRecommended` includes it, alongside the
4
- // house style; use this layer directly to opt out of the latter.
3
+ /**
4
+ * Only the rules written by this library. `tsRecommended` includes it, alongside the
5
+ * house style; use this layer directly to opt out of the latter.
6
+ *
7
+ * @returns {import('typescript-eslint').ConfigArray}
8
+ */
5
9
  const tsRules = (plugin) => [
6
10
  tsBase(plugin),
7
11
  {