@nrwl/angular 15.9.2 → 15.9.4

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 (101) hide show
  1. package/generators.d.ts +2 -0
  2. package/generators.js +2 -0
  3. package/generators.js.map +1 -1
  4. package/generators.json +20 -0
  5. package/migrations.json +2 -2
  6. package/package.json +10 -10
  7. package/plugins/component-testing.d.ts +10 -2
  8. package/plugins/component-testing.js +98 -56
  9. package/plugins/component-testing.js.map +1 -1
  10. package/src/generators/application/lib/add-unit-test-runner.js +7 -0
  11. package/src/generators/application/lib/add-unit-test-runner.js.map +1 -1
  12. package/src/generators/application/schema.json +1 -1
  13. package/src/generators/component/lib/module.js +1 -1
  14. package/src/generators/component/lib/module.js.map +1 -1
  15. package/src/generators/directive/directive.js +14 -27
  16. package/src/generators/directive/directive.js.map +1 -1
  17. package/src/generators/directive/lib/index.d.ts +2 -0
  18. package/src/generators/directive/lib/index.js +6 -0
  19. package/src/generators/directive/lib/index.js.map +1 -0
  20. package/src/generators/directive/lib/normalize-options.d.ts +18 -0
  21. package/src/generators/directive/lib/normalize-options.js +26 -0
  22. package/src/generators/directive/lib/normalize-options.js.map +1 -0
  23. package/src/generators/directive/lib/validate-options.d.ts +3 -0
  24. package/src/generators/directive/lib/validate-options.js +21 -0
  25. package/src/generators/directive/lib/validate-options.js.map +1 -0
  26. package/src/generators/directive/schema.json +1 -1
  27. package/src/generators/host/host.js +2 -1
  28. package/src/generators/host/host.js.map +1 -1
  29. package/src/generators/host/schema.json +1 -1
  30. package/src/generators/init/init.js +5 -0
  31. package/src/generators/init/init.js.map +1 -1
  32. package/src/generators/init/schema.json +1 -1
  33. package/src/generators/karma/angular-v14/files/karma.conf.js__tmpl__ +44 -0
  34. package/src/generators/karma/angular-v14/karma.d.ts +4 -0
  35. package/src/generators/karma/angular-v14/karma.js +58 -0
  36. package/src/generators/karma/angular-v14/karma.js.map +1 -0
  37. package/src/generators/karma/angular-v14/schema.d.ts +3 -0
  38. package/src/generators/karma/compat.d.ts +2 -0
  39. package/src/generators/karma/compat.js +6 -0
  40. package/src/generators/karma/compat.js.map +1 -0
  41. package/src/generators/karma/files/karma.conf.js__tmpl__ +44 -0
  42. package/src/generators/karma/karma.d.ts +4 -0
  43. package/src/generators/karma/karma.js +69 -0
  44. package/src/generators/karma/karma.js.map +1 -0
  45. package/src/generators/karma/schema.d.ts +3 -0
  46. package/src/generators/karma/schema.json +24 -0
  47. package/src/generators/karma-project/compat.d.ts +2 -0
  48. package/src/generators/karma-project/compat.js +6 -0
  49. package/src/generators/karma-project/compat.js.map +1 -0
  50. package/src/generators/karma-project/files/common/karma.conf.js__tmpl__ +16 -0
  51. package/src/generators/karma-project/files/common/tsconfig.spec.json +8 -0
  52. package/src/generators/karma-project/files/root-project/karma.conf.js__tmpl__ +44 -0
  53. package/src/generators/karma-project/files/workspace-with-root-project/karma.conf.js__tmpl__ +28 -0
  54. package/src/generators/karma-project/karma-project.d.ts +4 -0
  55. package/src/generators/karma-project/karma-project.js +26 -0
  56. package/src/generators/karma-project/karma-project.js.map +1 -0
  57. package/src/generators/karma-project/lib/check-test-target.d.ts +2 -0
  58. package/src/generators/karma-project/lib/check-test-target.js +12 -0
  59. package/src/generators/karma-project/lib/check-test-target.js.map +1 -0
  60. package/src/generators/karma-project/lib/generate-karma-project-files.d.ts +2 -0
  61. package/src/generators/karma-project/lib/generate-karma-project-files.js +55 -0
  62. package/src/generators/karma-project/lib/generate-karma-project-files.js.map +1 -0
  63. package/src/generators/karma-project/lib/update-tsconfig.d.ts +2 -0
  64. package/src/generators/karma-project/lib/update-tsconfig.js +37 -0
  65. package/src/generators/karma-project/lib/update-tsconfig.js.map +1 -0
  66. package/src/generators/karma-project/lib/update-workspace-config.d.ts +2 -0
  67. package/src/generators/karma-project/lib/update-workspace-config.js +32 -0
  68. package/src/generators/karma-project/lib/update-workspace-config.js.map +1 -0
  69. package/src/generators/karma-project/lib/v14-test-file.d.ts +3 -0
  70. package/src/generators/karma-project/lib/v14-test-file.js +29 -0
  71. package/src/generators/karma-project/lib/v14-test-file.js.map +1 -0
  72. package/src/generators/karma-project/schema.d.ts +5 -0
  73. package/src/generators/karma-project/schema.json +31 -0
  74. package/src/generators/library/files/base/tsconfig.lib.json__tpl__ +1 -1
  75. package/src/generators/library/lib/create-files.js +1 -2
  76. package/src/generators/library/lib/create-files.js.map +1 -1
  77. package/src/generators/library/library.js +7 -0
  78. package/src/generators/library/library.js.map +1 -1
  79. package/src/generators/library/schema.json +2 -1
  80. package/src/generators/remote/remote.js +2 -1
  81. package/src/generators/remote/remote.js.map +1 -1
  82. package/src/generators/remote/schema.json +1 -1
  83. package/src/generators/setup-mf/lib/update-host-app-routes.js +6 -2
  84. package/src/generators/setup-mf/lib/update-host-app-routes.js.map +1 -1
  85. package/src/generators/utils/names.d.ts +5 -0
  86. package/src/generators/utils/names.js +12 -0
  87. package/src/generators/utils/names.js.map +1 -0
  88. package/src/migrations/update-15-7-0/install-required-packages.js +1 -1
  89. package/src/migrations/update-15-7-0/install-required-packages.js.map +1 -1
  90. package/src/utils/backward-compatible-versions.js +9 -0
  91. package/src/utils/backward-compatible-versions.js.map +1 -1
  92. package/src/utils/mf/utils.js +2 -2
  93. package/src/utils/mf/utils.js.map +1 -1
  94. package/src/utils/test-runners.d.ts +1 -0
  95. package/src/utils/test-runners.js +1 -0
  96. package/src/utils/test-runners.js.map +1 -1
  97. package/src/utils/versions.d.ts +9 -0
  98. package/src/utils/versions.js +10 -1
  99. package/src/utils/versions.js.map +1 -1
  100. package/tailwind.js +3 -2
  101. package/tailwind.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/directive/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,yCAKsB;AACtB,6CAA8C;AAG9C,SAAgB,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IAC1D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAA,iCAAwB,EACxE,IAAI,EACJ,OAAO,CAAC,OAAO,CAC8B,CAAC;IAEhD,MAAM,iBAAiB,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAA,0BAAiB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,IAAI,GACR,MAAA,OAAO,CAAC,IAAI,mCACZ,IAAA,0BAAiB,EACf,iBAAiB,EACjB,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC7C,QAAQ,CACT,CAAC;IAEJ,MAAM,QAAQ,GACZ,MAAA,OAAO,CAAC,QAAQ,mCAAI,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExE,uCACK,OAAO,KACV,IAAI;QACJ,IAAI,EACJ,WAAW,EAAE,IAAI,EACjB,iBAAiB;QACjB,QAAQ,IACR;AACJ,CAAC;AA5BD,4CA4BC;AAED,SAAS,aAAa,CACpB,IAAU,EACV,IAAY,EACZ,MAAc,EACd,aAAqB;IAErB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,aAAN,MAAM,cAAN,MAAM,IAAN,MAAM,GAAK,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAC;IACtD,IAAI,MAAM,EAAE;QACV,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;KACpC;IAED,OAAO,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ import type { Schema } from '../schema';
3
+ export declare function validateOptions(tree: Tree, options: Schema): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateOptions = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const semver_1 = require("semver");
6
+ const path_1 = require("../../utils/path");
7
+ const version_utils_1 = require("../../utils/version-utils");
8
+ function validateOptions(tree, options) {
9
+ const projects = (0, devkit_1.getProjects)(tree);
10
+ if (!projects.has(options.project)) {
11
+ throw new Error(`Project "${options.project}" does not exist!`);
12
+ }
13
+ (0, path_1.checkPathUnderProjectRoot)(tree, options.project, options.path);
14
+ const installedAngularVersionInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
15
+ if ((0, semver_1.lt)(installedAngularVersionInfo.version, '14.1.0') && options.standalone) {
16
+ throw new Error((0, devkit_1.stripIndents) `The "standalone" option is only supported in Angular >= 14.1.0. You are currently using "${installedAngularVersionInfo.version}".
17
+ You can resolve this error by removing the "standalone" option or by migrating to Angular 14.1.0.`);
18
+ }
19
+ }
20
+ exports.validateOptions = validateOptions;
21
+ //# sourceMappingURL=validate-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/directive/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,yCAAyD;AACzD,mCAA4B;AAC5B,2CAA6D;AAC7D,6DAA2E;AAG3E,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;IACzD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC;KACjE;IAED,IAAA,gCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,2BAA2B,GAAG,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC;IACzE,IAAI,IAAA,WAAE,EAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;QAC3E,MAAM,IAAI,KAAK,CAAC,IAAA,qBAAY,EAAA,4FAA4F,2BAA2B,CAAC,OAAO;sGACzD,CAAC,CAAC;KACrG;AACH,CAAC;AAbD,0CAaC"}
@@ -63,7 +63,7 @@
63
63
  "description": "The HTML selector to use for this directive."
64
64
  },
65
65
  "standalone": {
66
- "description": "Whether the generated directive is standalone.",
66
+ "description": "Whether the generated directive is standalone. _Note: This is only supported in Angular versions >= 14.1.0_.",
67
67
  "type": "boolean",
68
68
  "default": false
69
69
  },
@@ -32,7 +32,8 @@ function host(tree, options) {
32
32
  }
33
33
  });
34
34
  }
35
- const appName = (0, project_1.normalizeProjectName)(options.name, options.directory);
35
+ const { projectDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
36
+ const appName = (0, project_1.normalizeProjectName)(options.name, projectDirectory);
36
37
  const appInstallTask = yield (0, application_1.default)(tree, Object.assign(Object.assign({}, options), { standalone: (_a = options.standalone) !== null && _a !== void 0 ? _a : false, routing: true, port: 4200, skipFormat: true }));
37
38
  const skipE2E = !options.e2eTestRunner || options.e2eTestRunner === test_runners_1.E2eTestRunner.None;
38
39
  yield (0, setup_mf_1.setupMf)(tree, {
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/host/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/host/host.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@
106
106
  },
107
107
  "unitTestRunner": {
108
108
  "type": "string",
109
- "enum": ["jest", "none"],
109
+ "enum": ["karma", "jest", "none"],
110
110
  "description": "Test runner to use for unit tests.",
111
111
  "default": "jest"
112
112
  },
@@ -8,6 +8,7 @@ const jest_1 = require("@nrwl/jest");
8
8
  const linter_1 = require("@nrwl/linter");
9
9
  const js_1 = require("@nrwl/js");
10
10
  const test_runners_1 = require("../../utils/test-runners");
11
+ const karma_1 = require("../karma/karma");
11
12
  const version_utils_1 = require("../utils/version-utils");
12
13
  function angularInitGenerator(tree, rawOptions) {
13
14
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -102,6 +103,10 @@ function updateDependencies(tree, versions) {
102
103
  function addUnitTestRunner(tree, options, jestPresetAngularVersion) {
103
104
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
105
  switch (options.unitTestRunner) {
106
+ case test_runners_1.UnitTestRunner.Karma:
107
+ return yield (0, karma_1.karmaGenerator)(tree, {
108
+ skipPackageJson: options.skipPackageJson,
109
+ });
105
110
  case test_runners_1.UnitTestRunner.Jest:
106
111
  if (!options.skipPackageJson) {
107
112
  (0, version_utils_1.addDependenciesToPackageJsonIfDontExist)(tree, {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/init/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/init/init.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  "properties": {
15
15
  "unitTestRunner": {
16
16
  "type": "string",
17
- "enum": ["jest", "none"],
17
+ "enum": ["karma", "jest", "none"],
18
18
  "description": "Test runner to use for unit tests.",
19
19
  "default": "jest",
20
20
  "x-priority": "important"
@@ -0,0 +1,44 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ const { join } = require('path');
5
+ const { constants } = require('karma');
6
+
7
+ module.exports = () => {
8
+ return {
9
+ basePath: '',
10
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
11
+ plugins: [
12
+ require('karma-jasmine'),
13
+ require('karma-chrome-launcher'),
14
+ require('karma-jasmine-html-reporter'),
15
+ require('karma-coverage'),
16
+ require('@angular-devkit/build-angular/plugins/karma'),
17
+ ],
18
+ client: {
19
+ jasmine: {
20
+ // you can add configuration options for Jasmine here
21
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
22
+ // for example, you can disable the random execution with `random: false`
23
+ // or set a specific seed with `seed: 4321`
24
+ },
25
+ clearContext: false, // leave Jasmine Spec Runner output visible in browser
26
+ },
27
+ jasmineHtmlReporter: {
28
+ suppressAll: true, // removes the duplicated traces
29
+ },
30
+ coverageReporter: {
31
+ dir: join(__dirname, './coverage'),
32
+ subdir: '.',
33
+ reporters: [{ type: 'html' }, { type: 'text-summary' }],
34
+ },
35
+ reporters: ['progress', 'kjhtml'],
36
+ port: 9876,
37
+ colors: true,
38
+ logLevel: constants.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ['Chrome'],
41
+ singleRun: true,
42
+ restartOnFileChange: true
43
+ };
44
+ };
@@ -0,0 +1,4 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ import { GeneratorOptions } from './schema';
3
+ export declare function karmaGenerator(tree: Tree, options: GeneratorOptions): import("@nrwl/devkit").GeneratorCallback;
4
+ export default karmaGenerator;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.karmaGenerator = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const backward_compatible_versions_1 = require("../../../utils/backward-compatible-versions");
6
+ const version_utils_1 = require("../../utils/version-utils");
7
+ function addTestInputs(tree) {
8
+ var _a, _b, _c, _d;
9
+ var _e, _f;
10
+ const nxJson = (0, devkit_1.readNxJson)(tree);
11
+ const productionFileSet = (_a = nxJson.namedInputs) === null || _a === void 0 ? void 0 : _a.production;
12
+ if (productionFileSet) {
13
+ productionFileSet.push(
14
+ // Exclude spec files from production fileset
15
+ '!{projectRoot}/**/*.spec.[jt]s',
16
+ // Remove tsconfig.spec.json
17
+ '!{projectRoot}/tsconfig.spec.json',
18
+ // Remove karma.conf.js
19
+ '!{projectRoot}/karma.conf.js');
20
+ // Dedupe and set
21
+ nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
22
+ }
23
+ // Test targets depend on all their project's sources + production sources of dependencies
24
+ (_b = nxJson.targetDefaults) !== null && _b !== void 0 ? _b : (nxJson.targetDefaults = {});
25
+ (_c = (_e = nxJson.targetDefaults).test) !== null && _c !== void 0 ? _c : (_e.test = {});
26
+ (_d = (_f = nxJson.targetDefaults.test).inputs) !== null && _d !== void 0 ? _d : (_f.inputs = [
27
+ 'default',
28
+ productionFileSet ? '^production' : '^default',
29
+ ]);
30
+ nxJson.targetDefaults.test.inputs.push('{workspaceRoot}/karma.conf.js');
31
+ (0, devkit_1.updateNxJson)(tree, nxJson);
32
+ }
33
+ function karmaGenerator(tree, options) {
34
+ const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
35
+ if (!tree.exists('karma.conf.js')) {
36
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), '.', {
37
+ tmpl: '',
38
+ });
39
+ addTestInputs(tree);
40
+ }
41
+ if (options.skipPackageJson || packageJson.devDependencies['karma']) {
42
+ return () => { };
43
+ }
44
+ return (0, version_utils_1.addDependenciesToPackageJsonIfDontExist)(tree, {}, {
45
+ karma: backward_compatible_versions_1.backwardCompatibleVersions.angularV14.karmaVersion,
46
+ 'karma-chrome-launcher': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.karmaChromeLauncherVersion,
47
+ 'karma-coverage': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.karmaCoverageVersion,
48
+ 'karma-jasmine': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.karmaJasmineVersion,
49
+ 'karma-jasmine-html-reporter': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.karmaJasmineHtmlReporterVersion,
50
+ 'jasmine-core': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.jasmineCoreVersion,
51
+ 'jasmine-spec-reporter': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.jasmineSpecReporterVersion,
52
+ '@types/jasmine': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.typesJasmineVersion,
53
+ '@types/node': backward_compatible_versions_1.backwardCompatibleVersions.angularV14.typesNodeVersion,
54
+ });
55
+ }
56
+ exports.karmaGenerator = karmaGenerator;
57
+ exports.default = karmaGenerator;
58
+ //# sourceMappingURL=karma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"karma.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma/angular-v14/karma.ts"],"names":[],"mappings":";;;AACA,yCAMsB;AACtB,8FAAyF;AACzF,6DAAoF;AAGpF,SAAS,aAAa,CAAC,IAAU;;;IAC/B,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,0CAAE,UAAU,CAAC;IACzD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,IAAI;QACpB,6CAA6C;QAC7C,gCAAgC;QAChC,4BAA4B;QAC5B,mCAAmC;QACnC,uBAAuB;QACvB,8BAA8B,CAC/B,CAAC;QACF,iBAAiB;QACjB,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACxE;IAED,0FAA0F;IAC1F,MAAA,MAAM,CAAC,cAAc,oCAArB,MAAM,CAAC,cAAc,GAAK,EAAE,EAAC;IAC7B,YAAA,MAAM,CAAC,cAAc,EAAC,IAAI,uCAAJ,IAAI,GAAK,EAAE,EAAC;IAClC,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAC,MAAM,uCAAN,MAAM,GAAK;QACpC,SAAS;QACT,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;KAC/C,EAAC;IACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAExE,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,cAAc,CAAC,IAAU,EAAE,OAAyB;IAClE,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;QACjC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;YAC9D,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,aAAa,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,IAAI,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACnE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;KACjB;IAED,OAAO,IAAA,uDAAuC,EAC5C,IAAI,EACJ,EAAE,EACF;QACE,KAAK,EAAE,yDAA0B,CAAC,UAAU,CAAC,YAAY;QACzD,uBAAuB,EACrB,yDAA0B,CAAC,UAAU,CAAC,0BAA0B;QAClE,gBAAgB,EACd,yDAA0B,CAAC,UAAU,CAAC,oBAAoB;QAC5D,eAAe,EACb,yDAA0B,CAAC,UAAU,CAAC,mBAAmB;QAC3D,6BAA6B,EAC3B,yDAA0B,CAAC,UAAU,CAAC,+BAA+B;QACvE,cAAc,EAAE,yDAA0B,CAAC,UAAU,CAAC,kBAAkB;QACxE,uBAAuB,EACrB,yDAA0B,CAAC,UAAU,CAAC,0BAA0B;QAClE,gBAAgB,EACd,yDAA0B,CAAC,UAAU,CAAC,mBAAmB;QAC3D,aAAa,EAAE,yDAA0B,CAAC,UAAU,CAAC,gBAAgB;KACtE,CACF,CAAC;AACJ,CAAC;AApCD,wCAoCC;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface GeneratorOptions {
2
+ skipPackageJson?: boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (generatorOptions: import("./schema").GeneratorOptions) => (tree: any, context: any) => Promise<any>;
2
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nrwl/devkit");
4
+ const karma_1 = require("./karma");
5
+ exports.default = (0, devkit_1.convertNxGenerator)(karma_1.karmaGenerator);
6
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma/compat.ts"],"names":[],"mappings":";;AAAA,yCAAkD;AAClD,mCAAyC;AAEzC,kBAAe,IAAA,2BAAkB,EAAC,sBAAc,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ const { join } = require('path');
5
+ const { constants } = require('karma');
6
+
7
+ module.exports = () => {
8
+ return {
9
+ basePath: '',
10
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
11
+ plugins: [
12
+ require('karma-jasmine'),
13
+ require('karma-chrome-launcher'),
14
+ require('karma-jasmine-html-reporter'),
15
+ require('karma-coverage'),
16
+ require('@angular-devkit/build-angular/plugins/karma'),
17
+ ],
18
+ client: {
19
+ jasmine: {
20
+ // you can add configuration options for Jasmine here
21
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
22
+ // for example, you can disable the random execution with `random: false`
23
+ // or set a specific seed with `seed: 4321`
24
+ },
25
+ clearContext: false, // leave Jasmine Spec Runner output visible in browser
26
+ },
27
+ jasmineHtmlReporter: {
28
+ suppressAll: true, // removes the duplicated traces
29
+ },
30
+ coverageReporter: {
31
+ dir: join(__dirname, './coverage'),
32
+ subdir: '.',
33
+ reporters: [{ type: 'html' }, { type: 'text-summary' }],
34
+ },
35
+ reporters: ['progress', 'kjhtml'],
36
+ port: 9876,
37
+ colors: true,
38
+ logLevel: constants.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ['Chrome'],
41
+ singleRun: true,
42
+ restartOnFileChange: true
43
+ };
44
+ };
@@ -0,0 +1,4 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ import { GeneratorOptions } from './schema';
3
+ export declare function karmaGenerator(tree: Tree, options: GeneratorOptions): Promise<import("@nrwl/devkit").GeneratorCallback>;
4
+ export default karmaGenerator;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.karmaGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const path_1 = require("path");
7
+ const versions_1 = require("../../utils/versions");
8
+ const version_utils_1 = require("../utils/version-utils");
9
+ function addTestInputs(tree) {
10
+ var _a, _b, _c, _d;
11
+ var _e, _f;
12
+ const nxJson = (0, devkit_1.readNxJson)(tree);
13
+ const productionFileSet = (_a = nxJson.namedInputs) === null || _a === void 0 ? void 0 : _a.production;
14
+ if (productionFileSet) {
15
+ productionFileSet.push(
16
+ // Exclude spec files from production fileset
17
+ '!{projectRoot}/**/*.spec.[jt]s',
18
+ // Remove tsconfig.spec.json
19
+ '!{projectRoot}/tsconfig.spec.json',
20
+ // Remove karma.conf.js
21
+ '!{projectRoot}/karma.conf.js');
22
+ // Dedupe and set
23
+ nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
24
+ }
25
+ // Test targets depend on all their project's sources + production sources of dependencies
26
+ (_b = nxJson.targetDefaults) !== null && _b !== void 0 ? _b : (nxJson.targetDefaults = {});
27
+ (_c = (_e = nxJson.targetDefaults).test) !== null && _c !== void 0 ? _c : (_e.test = {});
28
+ (_d = (_f = nxJson.targetDefaults.test).inputs) !== null && _d !== void 0 ? _d : (_f.inputs = [
29
+ 'default',
30
+ productionFileSet ? '^production' : '^default',
31
+ ]);
32
+ nxJson.targetDefaults.test.inputs.push('{workspaceRoot}/karma.conf.js');
33
+ (0, devkit_1.updateNxJson)(tree, nxJson);
34
+ }
35
+ function karmaGenerator(tree, options) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ var _a;
38
+ const generatorDirectory = (0, version_utils_1.getGeneratorDirectoryForInstalledAngularVersion)(tree);
39
+ if (generatorDirectory) {
40
+ let previousGenerator = yield (_a = (0, path_1.join)(__dirname, generatorDirectory, 'karma'), Promise.resolve().then(() => require(_a)));
41
+ yield previousGenerator.default(tree, options);
42
+ return;
43
+ }
44
+ const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
45
+ if (!tree.exists('karma.conf.js')) {
46
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), '.', {
47
+ tmpl: '',
48
+ });
49
+ addTestInputs(tree);
50
+ }
51
+ if (options.skipPackageJson || packageJson.devDependencies['karma']) {
52
+ return () => { };
53
+ }
54
+ return (0, version_utils_1.addDependenciesToPackageJsonIfDontExist)(tree, {}, {
55
+ karma: versions_1.karmaVersion,
56
+ 'karma-chrome-launcher': versions_1.karmaChromeLauncherVersion,
57
+ 'karma-coverage': versions_1.karmaCoverageVersion,
58
+ 'karma-jasmine': versions_1.karmaJasmineVersion,
59
+ 'karma-jasmine-html-reporter': versions_1.karmaJasmineHtmlReporterVersion,
60
+ 'jasmine-core': versions_1.jasmineCoreVersion,
61
+ 'jasmine-spec-reporter': versions_1.jasmineSpecReporterVersion,
62
+ '@types/jasmine': versions_1.typesJasmineVersion,
63
+ '@types/node': versions_1.typesNodeVersion,
64
+ });
65
+ });
66
+ }
67
+ exports.karmaGenerator = karmaGenerator;
68
+ exports.default = karmaGenerator;
69
+ //# sourceMappingURL=karma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"karma.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma/karma.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AACtB,+BAA4B;AAC5B,mDAU8B;AAC9B,0DAGgC;AAGhC,SAAS,aAAa,CAAC,IAAU;;;IAC/B,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,0CAAE,UAAU,CAAC;IACzD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,IAAI;QACpB,6CAA6C;QAC7C,gCAAgC;QAChC,4BAA4B;QAC5B,mCAAmC;QACnC,uBAAuB;QACvB,8BAA8B,CAC/B,CAAC;QACF,iBAAiB;QACjB,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACxE;IAED,0FAA0F;IAC1F,MAAA,MAAM,CAAC,cAAc,oCAArB,MAAM,CAAC,cAAc,GAAK,EAAE,EAAC;IAC7B,YAAA,MAAM,CAAC,cAAc,EAAC,IAAI,uCAAJ,IAAI,GAAK,EAAE,EAAC;IAClC,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAC,MAAM,uCAAN,MAAM,GAAK;QACpC,SAAS;QACT,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;KAC/C,EAAC;IACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAExE,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAsB,cAAc,CAAC,IAAU,EAAE,OAAyB;;;QACxE,MAAM,kBAAkB,GACtB,IAAA,+DAA+C,EAAC,IAAI,CAAC,CAAC;QACxD,IAAI,kBAAkB,EAAE;YACtB,IAAI,iBAAiB,GAAG,YACtB,IAAA,WAAI,EAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC,4CAC7C,CAAC;YACF,MAAM,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACjC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;gBAC9D,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YAEH,aAAa,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,IAAI,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;YACnE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,IAAA,uDAAuC,EAC5C,IAAI,EACJ,EAAE,EACF;YACE,KAAK,EAAE,uBAAY;YACnB,uBAAuB,EAAE,qCAA0B;YACnD,gBAAgB,EAAE,+BAAoB;YACtC,eAAe,EAAE,8BAAmB;YACpC,6BAA6B,EAAE,0CAA+B;YAC9D,cAAc,EAAE,6BAAkB;YAClC,uBAAuB,EAAE,qCAA0B;YACnD,gBAAgB,EAAE,8BAAmB;YACrC,aAAa,EAAE,2BAAgB;SAChC,CACF,CAAC;IACJ,CAAC;CAAA;AAvCD,wCAuCC;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface GeneratorOptions {
2
+ skipPackageJson?: boolean;
3
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxAngularKarmaGenerator",
4
+ "title": "Add Karma Configuration to the workspace.",
5
+ "description": "Add Karma configuration to an Nx workspace.",
6
+ "cli": "nx",
7
+ "type": "object",
8
+ "examples": [
9
+ {
10
+ "command": "nx g @nrwl/angular:karma",
11
+ "description": "Add a base karma configuration to the workspace."
12
+ }
13
+ ],
14
+ "properties": {
15
+ "skipPackageJson": {
16
+ "type": "boolean",
17
+ "default": false,
18
+ "description": "Do not add dependencies to `package.json`.",
19
+ "x-priority": "internal"
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "required": []
24
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (generatorOptions: import("./schema").KarmaProjectOptions) => (tree: any, context: any) => Promise<any>;
2
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nrwl/devkit");
4
+ const karma_project_1 = require("./karma-project");
5
+ exports.default = (0, devkit_1.convertNxGenerator)(karma_project_1.karmaProjectGenerator);
6
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma-project/compat.ts"],"names":[],"mappings":";;AAAA,yCAAkD;AAClD,mDAAwD;AAExD,kBAAe,IAAA,2BAAkB,EAAC,qCAAqB,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/6.4/config/configuration-file.html
3
+
4
+ const { join } = require('path');
5
+ const getBaseKarmaConfig = require('<%= offsetFromRoot %>karma.conf');
6
+
7
+ module.exports = function(config) {
8
+ const baseConfig = getBaseKarmaConfig();
9
+ config.set({
10
+ ...baseConfig,
11
+ coverageReporter: {
12
+ ...baseConfig.coverageReporter,
13
+ dir: join(__dirname, '<%= offsetFromRoot %>coverage/<%= projectRoot %>')
14
+ }
15
+ });
16
+ };
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
+ "types": ["jasmine", "node"]
6
+ },
7
+ "include": ["src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.d.ts"]
8
+ }
@@ -0,0 +1,44 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/6.4/config/configuration-file.html
3
+
4
+ const { constants } = require('karma');
5
+ const { join } = require('path');
6
+
7
+ module.exports = (config) => {
8
+ config.set({
9
+ basePath: '',
10
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
11
+ plugins: [
12
+ require('karma-jasmine'),
13
+ require('karma-chrome-launcher'),
14
+ require('karma-jasmine-html-reporter'),
15
+ require('karma-coverage'),
16
+ require('@angular-devkit/build-angular/plugins/karma'),
17
+ ],
18
+ client: {
19
+ jasmine: {
20
+ // you can add configuration options for Jasmine here
21
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
22
+ // for example, you can disable the random execution with `random: false`
23
+ // or set a specific seed with `seed: 4321`
24
+ },
25
+ clearContext: false, // leave Jasmine Spec Runner output visible in browser
26
+ },
27
+ jasmineHtmlReporter: {
28
+ suppressAll: true, // removes the duplicated traces
29
+ },
30
+ coverageReporter: {
31
+ dir: join(__dirname, 'coverage/<%= projectName %>'),
32
+ subdir: '.',
33
+ reporters: [{ type: 'html' }, { type: 'text-summary' }],
34
+ },
35
+ reporters: ['progress', 'kjhtml'],
36
+ port: 9876,
37
+ colors: true,
38
+ logLevel: constants.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ['Chrome'],
41
+ singleRun: true,
42
+ restartOnFileChange: true,
43
+ });
44
+ };
@@ -0,0 +1,28 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/6.4/config/configuration-file.html
3
+
4
+ const { join } = require('path');<% if (rootProjectWithConfigSet) { %>
5
+ const setBaseKarmaConfig = require('<%= offsetFromRoot %>karma.conf');
6
+
7
+ module.exports = function (config) {
8
+ setBaseKarmaConfig(config);
9
+
10
+ config.set({
11
+ coverageReporter: {
12
+ dir: join(__dirname, '<%= offsetFromRoot %>coverage/<%= projectRoot %>')
13
+ }
14
+ });
15
+ };<% } else { %>
16
+ const getBaseKarmaConfig = require('<%= offsetFromRoot %>karma.conf');
17
+
18
+ module.exports = function (config) {
19
+ const baseConfig = getBaseKarmaConfig(config);
20
+
21
+ config.set({
22
+ ...baseConfig,
23
+ coverageReporter: {
24
+ ...baseConfig.coverageReporter,
25
+ dir: join(__dirname, '<%= offsetFromRoot %>coverage/<%= projectRoot %>')
26
+ }
27
+ });
28
+ };<% } %>
@@ -0,0 +1,4 @@
1
+ import type { GeneratorCallback, Tree } from '@nrwl/devkit';
2
+ import type { KarmaProjectOptions } from './schema';
3
+ export declare function karmaProjectGenerator(tree: Tree, options: KarmaProjectOptions): Promise<GeneratorCallback>;
4
+ export default karmaProjectGenerator;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.karmaProjectGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const check_test_target_1 = require("./lib/check-test-target");
7
+ const generate_karma_project_files_1 = require("./lib/generate-karma-project-files");
8
+ const update_tsconfig_1 = require("./lib/update-tsconfig");
9
+ const update_workspace_config_1 = require("./lib/update-workspace-config");
10
+ const karma_1 = require("../karma/karma");
11
+ function karmaProjectGenerator(tree, options) {
12
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
+ const installTask = yield (0, karma_1.karmaGenerator)(tree, options);
14
+ (0, check_test_target_1.checkProjectTestTarget)(tree, options.project);
15
+ (0, generate_karma_project_files_1.generateKarmaProjectFiles)(tree, options.project);
16
+ (0, update_tsconfig_1.updateTsConfigs)(tree, options.project);
17
+ (0, update_workspace_config_1.updateWorkspaceConfig)(tree, options.project);
18
+ if (!options.skipFormat) {
19
+ yield (0, devkit_1.formatFiles)(tree);
20
+ }
21
+ return installTask;
22
+ });
23
+ }
24
+ exports.karmaProjectGenerator = karmaProjectGenerator;
25
+ exports.default = karmaProjectGenerator;
26
+ //# sourceMappingURL=karma-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"karma-project.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma-project/karma-project.ts"],"names":[],"mappings":";;;;AACA,yCAA2C;AAC3C,+DAAiE;AACjE,qFAA+E;AAC/E,2DAAwD;AACxD,2EAAsE;AAEtE,0CAAgD;AAEhD,SAAsB,qBAAqB,CACzC,IAAU,EACV,OAA4B;;QAE5B,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,0CAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAA,wDAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,IAAA,iCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,IAAA,+CAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAfD,sDAeC;AAED,kBAAe,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ export declare function checkProjectTestTarget(tree: Tree, project: string): void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkProjectTestTarget = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ function checkProjectTestTarget(tree, project) {
6
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
7
+ if (projectConfig.targets.test) {
8
+ throw new Error(`"${project}" already has a test target.`);
9
+ }
10
+ }
11
+ exports.checkProjectTestTarget = checkProjectTestTarget;
12
+ //# sourceMappingURL=check-test-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-test-target.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/check-test-target.ts"],"names":[],"mappings":";;;AACA,yCAAwD;AAExD,SAAgB,sBAAsB,CAAC,IAAU,EAAE,OAAe;IAChE,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,8BAA8B,CAAC,CAAC;KAC5D;AACH,CAAC;AALD,wDAKC"}
@@ -0,0 +1,2 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ export declare function generateKarmaProjectFiles(tree: Tree, project: string): void;