@nrwl/js 14.8.8 → 14.9.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE +22 -22
  3. package/README.md +5 -26
  4. package/babel.d.ts +10 -0
  5. package/babel.js +89 -0
  6. package/babel.js.map +1 -0
  7. package/generators.json +4 -2
  8. package/migrations.json +20 -1
  9. package/package.json +19 -10
  10. package/src/executors/node/node.impl.js +36 -28
  11. package/src/executors/node/node.impl.js.map +1 -1
  12. package/src/executors/node/schema.json +3 -1
  13. package/src/executors/swc/schema.json +39 -5
  14. package/src/executors/swc/swc.impl.d.ts +4 -0
  15. package/src/executors/swc/swc.impl.js +56 -6
  16. package/src/executors/swc/swc.impl.js.map +1 -1
  17. package/src/executors/tsc/schema.json +36 -3
  18. package/src/executors/tsc/tsc.impl.d.ts +2 -5
  19. package/src/executors/tsc/tsc.impl.js +35 -13
  20. package/src/executors/tsc/tsc.impl.js.map +1 -1
  21. package/src/generators/convert-to-swc/convert-to-swc.js +2 -4
  22. package/src/generators/convert-to-swc/convert-to-swc.js.map +1 -1
  23. package/src/generators/init/files/__fileName__ +20 -0
  24. package/src/generators/init/init.d.ts +4 -2
  25. package/src/generators/init/init.js +59 -2
  26. package/src/generators/init/init.js.map +1 -1
  27. package/src/generators/init/schema.d.ts +6 -0
  28. package/src/generators/init/schema.json +24 -1
  29. package/src/generators/library/files/jest-config/jest.config.__ext__ +8 -1
  30. package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +2 -2
  31. package/src/generators/library/library.js +136 -85
  32. package/src/generators/library/library.js.map +1 -1
  33. package/src/generators/library/schema.json +29 -19
  34. package/src/index.d.ts +8 -0
  35. package/src/index.js +12 -1
  36. package/src/index.js.map +1 -1
  37. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js +1 -1
  38. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js.map +1 -1
  39. package/src/migrations/update-13-8-5/update-swcrc.js +2 -2
  40. package/src/migrations/update-13-8-5/update-swcrc.js.map +1 -1
  41. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js +1 -1
  42. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js.map +1 -1
  43. package/src/migrations/update-14-1-5/update-swcrc-path.js +1 -1
  44. package/src/migrations/update-14-1-5/update-swcrc-path.js.map +1 -1
  45. package/src/migrations/update-15-8-0/rename-swcrc-config.d.ts +2 -0
  46. package/src/migrations/update-15-8-0/rename-swcrc-config.js +81 -0
  47. package/src/migrations/update-15-8-0/rename-swcrc-config.js.map +1 -0
  48. package/src/utils/add-babel-inputs.d.ts +2 -0
  49. package/src/utils/add-babel-inputs.js +27 -0
  50. package/src/utils/add-babel-inputs.js.map +1 -0
  51. package/src/utils/assets/copy-assets-handler.d.ts +2 -2
  52. package/src/utils/assets/copy-assets-handler.js +12 -5
  53. package/src/utils/assets/copy-assets-handler.js.map +1 -1
  54. package/src/utils/assets/index.js +11 -14
  55. package/src/utils/assets/index.js.map +1 -1
  56. package/src/utils/buildable-libs-utils.d.ts +32 -0
  57. package/src/utils/buildable-libs-utils.js +309 -0
  58. package/src/utils/buildable-libs-utils.js.map +1 -0
  59. package/src/utils/check-dependencies.d.ts +2 -2
  60. package/src/utils/check-dependencies.js +1 -1
  61. package/src/utils/check-dependencies.js.map +1 -1
  62. package/src/utils/code-frames/identifiers.d.ts +0 -20
  63. package/src/utils/code-frames/identifiers.js +38 -184
  64. package/src/utils/code-frames/identifiers.js.map +1 -1
  65. package/src/utils/compiler-helper-dependency.d.ts +1 -1
  66. package/src/utils/compiler-helper-dependency.js +2 -2
  67. package/src/utils/compiler-helper-dependency.js.map +1 -1
  68. package/src/utils/generate-globs.d.ts +6 -0
  69. package/src/utils/generate-globs.js +81 -0
  70. package/src/utils/generate-globs.js.map +1 -0
  71. package/src/utils/inline.d.ts +19 -0
  72. package/src/utils/inline.js +210 -0
  73. package/src/utils/inline.js.map +1 -0
  74. package/src/utils/package-json/index.d.ts +2 -1
  75. package/src/utils/package-json/index.js +6 -5
  76. package/src/utils/package-json/index.js.map +1 -1
  77. package/src/utils/package-json/update-package-json.d.ts +4 -2
  78. package/src/utils/package-json/update-package-json.js +96 -16
  79. package/src/utils/package-json/update-package-json.js.map +1 -1
  80. package/src/utils/prettier.d.ts +6 -0
  81. package/src/utils/prettier.js +38 -0
  82. package/src/utils/prettier.js.map +1 -0
  83. package/src/utils/schema.d.ts +8 -3
  84. package/src/utils/swc/add-swc-config.d.ts +1 -1
  85. package/src/utils/swc/add-swc-config.js +7 -7
  86. package/src/utils/swc/add-swc-config.js.map +1 -1
  87. package/src/utils/swc/compile-swc.d.ts +4 -0
  88. package/src/utils/swc/compile-swc.js +10 -7
  89. package/src/utils/swc/compile-swc.js.map +1 -1
  90. package/src/utils/swc/get-swcrc-path.d.ts +1 -1
  91. package/src/utils/swc/get-swcrc-path.js +7 -4
  92. package/src/utils/swc/get-swcrc-path.js.map +1 -1
  93. package/src/utils/swc/inline.d.ts +2 -0
  94. package/src/utils/swc/inline.js +13 -0
  95. package/src/utils/swc/inline.js.map +1 -0
  96. package/src/utils/typescript/ast-utils.d.ts +22 -0
  97. package/src/utils/typescript/ast-utils.js +199 -0
  98. package/src/utils/typescript/ast-utils.js.map +1 -0
  99. package/src/utils/typescript/compile-typescript-files.d.ts +6 -2
  100. package/src/utils/typescript/compile-typescript-files.js +16 -10
  101. package/src/utils/typescript/compile-typescript-files.js.map +1 -1
  102. package/src/utils/typescript/create-ts-config.d.ts +17 -0
  103. package/src/utils/typescript/create-ts-config.js +48 -0
  104. package/src/utils/typescript/create-ts-config.js.map +1 -0
  105. package/src/utils/typescript/ensure-typescript.d.ts +1 -0
  106. package/src/utils/typescript/ensure-typescript.js +10 -0
  107. package/src/utils/typescript/ensure-typescript.js.map +1 -0
  108. package/src/utils/typescript/get-source-nodes.d.ts +2 -0
  109. package/src/utils/typescript/get-source-nodes.js +19 -0
  110. package/src/utils/typescript/get-source-nodes.js.map +1 -0
  111. package/src/utils/typescript/run-type-check.d.ts +2 -2
  112. package/src/utils/typescript/run-type-check.js +7 -5
  113. package/src/utils/typescript/run-type-check.js.map +1 -1
  114. package/src/utils/typescript/ts-config.d.ts +11 -0
  115. package/src/utils/typescript/ts-config.js +55 -0
  116. package/src/utils/typescript/ts-config.js.map +1 -0
  117. package/src/utils/typescript/types.d.ts +2 -2
  118. package/src/utils/versions.d.ts +4 -2
  119. package/src/utils/versions.js +5 -3
  120. package/src/utils/versions.js.map +1 -1
  121. package/src/utils/watch-for-single-file-changes.d.ts +1 -1
  122. package/src/utils/watch-for-single-file-changes.js +11 -13
  123. package/src/utils/watch-for-single-file-changes.js.map +1 -1
  124. package/src/utils/code-frames/code-frames.d.ts +0 -14
  125. package/src/utils/code-frames/code-frames.js +0 -125
  126. package/src/utils/code-frames/code-frames.js.map +0 -1
  127. package/src/utils/create-async-iterable/create-async-iteratable.d.ts +0 -6
  128. package/src/utils/create-async-iterable/create-async-iteratable.js +0 -62
  129. package/src/utils/create-async-iterable/create-async-iteratable.js.map +0 -1
@@ -2,6 +2,10 @@ import { ExecutorContext } from '@nrwl/devkit';
2
2
  import { NormalizedSwcExecutorOptions } from '../schema';
3
3
  export declare function compileSwc(context: ExecutorContext, normalizedOptions: NormalizedSwcExecutorOptions, postCompilationCallback: () => Promise<void>): Promise<{
4
4
  success: boolean;
5
+ outfile?: undefined;
6
+ } | {
7
+ success: boolean;
8
+ outfile: string;
5
9
  }>;
6
10
  export declare function compileSwcWatch(context: ExecutorContext, normalizedOptions: NormalizedSwcExecutorOptions, postCompilationCallback: () => Promise<void>): AsyncGenerator<{
7
11
  success: boolean;
@@ -4,11 +4,10 @@ exports.compileSwcWatch = exports.compileSwc = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nrwl/devkit");
6
6
  const child_process_1 = require("child_process");
7
- const devkit_2 = require("@nrwl/devkit");
8
- const create_async_iteratable_1 = require("../create-async-iterable/create-async-iteratable");
7
+ const fs_extra_1 = require("fs-extra");
8
+ const async_iterable_1 = require("@nrwl/devkit/src/utils/async-iterable");
9
9
  const print_diagnostics_1 = require("../typescript/print-diagnostics");
10
10
  const run_type_check_1 = require("../typescript/run-type-check");
11
- const fs_extra_1 = require("fs-extra");
12
11
  function getSwcCmd({ swcrcPath, srcPath, destPath }, watch = false) {
13
12
  let swcCmd = `npx swc ${srcPath} -d ${destPath} --no-swcrc --config-file=${swcrcPath}`;
14
13
  return watch ? swcCmd.concat(' --watch') : swcCmd;
@@ -24,7 +23,7 @@ function getTypeCheckOptions(normalizedOptions) {
24
23
  };
25
24
  if (watch) {
26
25
  typeCheckOptions.incremental = true;
27
- typeCheckOptions.cacheDir = devkit_2.cacheDir;
26
+ typeCheckOptions.cacheDir = devkit_1.cacheDir;
28
27
  }
29
28
  return typeCheckOptions;
30
29
  }
@@ -39,8 +38,8 @@ function compileSwc(context, normalizedOptions, postCompilationCallback) {
39
38
  }).toString();
40
39
  devkit_1.logger.log(swcCmdLog.replace(/\n/, ''));
41
40
  const isCompileSuccess = swcCmdLog.includes('Successfully compiled');
42
- yield postCompilationCallback();
43
41
  if (normalizedOptions.skipTypeCheck) {
42
+ yield postCompilationCallback();
44
43
  return { success: isCompileSuccess };
45
44
  }
46
45
  const { errors, warnings } = yield (0, run_type_check_1.runTypeCheck)(getTypeCheckOptions(normalizedOptions));
@@ -49,7 +48,11 @@ function compileSwc(context, normalizedOptions, postCompilationCallback) {
49
48
  if (hasErrors || hasWarnings) {
50
49
  yield (0, print_diagnostics_1.printDiagnostics)(errors, warnings);
51
50
  }
52
- return { success: !hasErrors && isCompileSuccess };
51
+ yield postCompilationCallback();
52
+ return {
53
+ success: !hasErrors && isCompileSuccess,
54
+ outfile: normalizedOptions.mainOutputPath,
55
+ };
53
56
  });
54
57
  }
55
58
  exports.compileSwc = compileSwc;
@@ -64,7 +67,7 @@ function compileSwcWatch(context, normalizedOptions, postCompilationCallback) {
64
67
  if (normalizedOptions.clean) {
65
68
  (0, fs_extra_1.removeSync)(normalizedOptions.outputPath);
66
69
  }
67
- return yield tslib_1.__await(yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues((0, create_async_iteratable_1.createAsyncIterable)(({ next, done }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
70
+ return yield tslib_1.__await(yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues((0, async_iterable_1.createAsyncIterable)(({ next, done }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
68
71
  let processOnExit;
69
72
  let stdoutOnData;
70
73
  let stderrOnData;
@@ -1 +1 @@
1
- {"version":3,"file":"compile-swc.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/compile-swc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-swc.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/compile-swc.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { SwcExecutorOptions } from '../schema';
2
- export declare function getSwcrcPath(options: SwcExecutorOptions, contextRoot: string, projectRoot: string): string;
2
+ export declare function getSwcrcPath(options: SwcExecutorOptions, contextRoot: string, projectRoot: string, temp?: boolean): string;
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSwcrcPath = void 0;
4
4
  const path_1 = require("path");
5
- function getSwcrcPath(options, contextRoot, projectRoot) {
6
- return options.swcrc
7
- ? (0, path_1.join)(contextRoot, options.swcrc)
8
- : (0, path_1.join)(contextRoot, projectRoot, '.lib.swcrc');
5
+ function getSwcrcPath(options, contextRoot, projectRoot, temp = false) {
6
+ var _a;
7
+ let swcrcPath = (_a = options.swcrc) !== null && _a !== void 0 ? _a : (0, path_1.join)(projectRoot, '.swcrc');
8
+ if (temp) {
9
+ swcrcPath = (0, path_1.join)('tmp', swcrcPath.replace('.swcrc', '.generated.swcrc'));
10
+ }
11
+ return (0, path_1.join)(contextRoot, swcrcPath);
9
12
  }
10
13
  exports.getSwcrcPath = getSwcrcPath;
11
14
  //# sourceMappingURL=get-swcrc-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-swcrc-path.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/get-swcrc-path.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAG5B,SAAgB,YAAY,CAC1B,OAA2B,EAC3B,WAAmB,EACnB,WAAmB;IAEnB,OAAO,OAAO,CAAC,KAAK;QAClB,CAAC,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AARD,oCAQC"}
1
+ {"version":3,"file":"get-swcrc-path.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/get-swcrc-path.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAG5B,SAAgB,YAAY,CAC1B,OAA2B,EAC3B,WAAmB,EACnB,WAAmB,EACnB,IAAI,GAAG,KAAK;;IAEZ,IAAI,SAAS,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE7D,IAAI,IAAI,EAAE;QACR,SAAS,GAAG,IAAA,WAAI,EAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;KAC1E;IAED,OAAO,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC;AAbD,oCAaC"}
@@ -0,0 +1,2 @@
1
+ import type { InlineProjectGraph } from '../inline';
2
+ export declare function generateTmpSwcrc(inlineProjectGraph: InlineProjectGraph, swcrcPath: string): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTmpSwcrc = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ function generateTmpSwcrc(inlineProjectGraph, swcrcPath) {
6
+ const swcrc = (0, devkit_1.readJsonFile)(swcrcPath);
7
+ swcrc['exclude'] = swcrc['exclude'].concat(Object.values(inlineProjectGraph.externals).map((external) => `${external.root}/**/.*.ts$`), 'node_modules/**/*.ts$');
8
+ const tmpSwcrcPath = `tmp${swcrcPath}`;
9
+ (0, devkit_1.writeJsonFile)(tmpSwcrcPath, swcrc);
10
+ return tmpSwcrcPath;
11
+ }
12
+ exports.generateTmpSwcrc = generateTmpSwcrc;
13
+ //# sourceMappingURL=inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/inline.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;AAG3D,SAAgB,gBAAgB,CAC9B,kBAAsC,EACtC,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;IAEtC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CACxC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,CAC7C,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,CAC3C,EACD,uBAAuB,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,SAAS,EAAE,CAAC;IACvC,IAAA,sBAAa,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEnC,OAAO,YAAY,CAAC;AACtB,CAAC;AAjBD,4CAiBC"}
@@ -0,0 +1,22 @@
1
+ import type { Tree } from '@nrwl/devkit';
2
+ import type * as ts from 'typescript';
3
+ export declare function insertChange(host: Tree, sourceFile: ts.SourceFile, filePath: string, insertPosition: number, contentToInsert: string): ts.SourceFile;
4
+ export declare function replaceChange(host: Tree, sourceFile: ts.SourceFile, filePath: string, insertPosition: number, contentToInsert: string, oldContent: string): ts.SourceFile;
5
+ export declare function removeChange(host: Tree, sourceFile: ts.SourceFile, filePath: string, removePosition: number, contentToRemove: string): ts.SourceFile;
6
+ export declare function insertImport(host: Tree, source: ts.SourceFile, fileToEdit: string, symbolName: string, fileName: string, isDefault?: boolean): ts.SourceFile;
7
+ export declare function addGlobal(host: Tree, source: ts.SourceFile, modulePath: string, statement: string): ts.SourceFile;
8
+ export declare function getImport(source: ts.SourceFile, predicate: (a: any) => boolean): {
9
+ moduleSpec: string;
10
+ bindings: string[];
11
+ }[];
12
+ export declare function replaceNodeValue(host: Tree, sourceFile: ts.SourceFile, modulePath: string, node: ts.Node, content: string): ts.SourceFile;
13
+ export declare function addParameterToConstructor(tree: Tree, source: ts.SourceFile, modulePath: string, opts: {
14
+ className: string;
15
+ param: string;
16
+ }): ts.SourceFile;
17
+ export declare function addMethod(tree: Tree, source: ts.SourceFile, modulePath: string, opts: {
18
+ className: string;
19
+ methodHeader: string;
20
+ body?: string;
21
+ }): ts.SourceFile;
22
+ export declare function findClass(source: ts.SourceFile, className: string, silent?: boolean): ts.ClassDeclaration;
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findClass = exports.addMethod = exports.addParameterToConstructor = exports.replaceNodeValue = exports.getImport = exports.addGlobal = exports.insertImport = exports.removeChange = exports.replaceChange = exports.insertChange = void 0;
4
+ // TODO(colum): replace when https://github.com/nrwl/nx/pull/15497 is merged
5
+ const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
6
+ const typescript_2 = require("nx/src/utils/typescript");
7
+ const ensure_typescript_1 = require("./ensure-typescript");
8
+ let tsModule;
9
+ function nodesByPosition(first, second) {
10
+ return first.getStart() - second.getStart();
11
+ }
12
+ function updateTsSourceFile(host, sourceFile, filePath) {
13
+ const newFileContents = host.read(filePath).toString('utf-8');
14
+ return sourceFile.update(newFileContents, {
15
+ newLength: newFileContents.length,
16
+ span: {
17
+ length: sourceFile.text.length,
18
+ start: 0,
19
+ },
20
+ });
21
+ }
22
+ function insertChange(host, sourceFile, filePath, insertPosition, contentToInsert) {
23
+ const content = host.read(filePath).toString();
24
+ const prefix = content.substring(0, insertPosition);
25
+ const suffix = content.substring(insertPosition);
26
+ host.write(filePath, `${prefix}${contentToInsert}${suffix}`);
27
+ return updateTsSourceFile(host, sourceFile, filePath);
28
+ }
29
+ exports.insertChange = insertChange;
30
+ function replaceChange(host, sourceFile, filePath, insertPosition, contentToInsert, oldContent) {
31
+ const content = host.read(filePath, 'utf-8');
32
+ const prefix = content.substring(0, insertPosition);
33
+ const suffix = content.substring(insertPosition + oldContent.length);
34
+ const text = content.substring(insertPosition, insertPosition + oldContent.length);
35
+ if (text !== oldContent) {
36
+ throw new Error(`Invalid replace: "${text}" != "${oldContent}".`);
37
+ }
38
+ host.write(filePath, `${prefix}${contentToInsert}${suffix}`);
39
+ return updateTsSourceFile(host, sourceFile, filePath);
40
+ }
41
+ exports.replaceChange = replaceChange;
42
+ function removeChange(host, sourceFile, filePath, removePosition, contentToRemove) {
43
+ const content = host.read(filePath).toString();
44
+ const prefix = content.substring(0, removePosition);
45
+ const suffix = content.substring(removePosition + contentToRemove.length);
46
+ host.write(filePath, `${prefix}${suffix}`);
47
+ return updateTsSourceFile(host, sourceFile, filePath);
48
+ }
49
+ exports.removeChange = removeChange;
50
+ function insertImport(host, source, fileToEdit, symbolName, fileName, isDefault = false) {
51
+ if (!tsModule) {
52
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
53
+ }
54
+ const rootNode = source;
55
+ const allImports = (0, typescript_2.findNodes)(rootNode, tsModule.SyntaxKind.ImportDeclaration);
56
+ // get nodes that map to import statements from the file fileName
57
+ const relevantImports = allImports.filter((node) => {
58
+ // StringLiteral of the ImportDeclaration is the import file (fileName in this case).
59
+ const importFiles = node
60
+ .getChildren()
61
+ .filter((child) => child.kind === tsModule.SyntaxKind.StringLiteral)
62
+ .map((n) => n.text);
63
+ return importFiles.filter((file) => file === fileName).length === 1;
64
+ });
65
+ if (relevantImports.length > 0) {
66
+ let importsAsterisk = false;
67
+ // imports from import file
68
+ const imports = [];
69
+ relevantImports.forEach((n) => {
70
+ Array.prototype.push.apply(imports, (0, typescript_2.findNodes)(n, tsModule.SyntaxKind.Identifier));
71
+ if ((0, typescript_2.findNodes)(n, tsModule.SyntaxKind.AsteriskToken).length > 0) {
72
+ importsAsterisk = true;
73
+ }
74
+ });
75
+ // if imports * from fileName, don't add symbolName
76
+ if (importsAsterisk) {
77
+ return source;
78
+ }
79
+ const importTextNodes = imports.filter((n) => n.text === symbolName);
80
+ // insert import if it's not there
81
+ if (importTextNodes.length === 0) {
82
+ const fallbackPos = (0, typescript_2.findNodes)(relevantImports[0], tsModule.SyntaxKind.CloseBraceToken)[0].getStart() ||
83
+ (0, typescript_2.findNodes)(relevantImports[0], tsModule.SyntaxKind.FromKeyword)[0].getStart();
84
+ return insertAfterLastOccurrence(host, source, imports, `, ${symbolName}`, fileToEdit, fallbackPos);
85
+ }
86
+ return source;
87
+ }
88
+ // no such import declaration exists
89
+ const useStrict = (0, typescript_2.findNodes)(rootNode, tsModule.SyntaxKind.StringLiteral).filter((n) => n.text === 'use strict');
90
+ let fallbackPos = 0;
91
+ if (useStrict.length > 0) {
92
+ fallbackPos = useStrict[0].end;
93
+ }
94
+ const open = isDefault ? '' : '{ ';
95
+ const close = isDefault ? '' : ' }';
96
+ // if there are no imports or 'use strict' statement, insert import at beginning of file
97
+ const insertAtBeginning = allImports.length === 0 && useStrict.length === 0;
98
+ const separator = insertAtBeginning ? '' : ';\n';
99
+ const toInsert = `${separator}import ${open}${symbolName}${close}` +
100
+ ` from '${fileName}'${insertAtBeginning ? ';\n' : ''}`;
101
+ return insertAfterLastOccurrence(host, source, allImports, toInsert, fileToEdit, fallbackPos, tsModule.SyntaxKind.StringLiteral);
102
+ }
103
+ exports.insertImport = insertImport;
104
+ function insertAfterLastOccurrence(host, sourceFile, nodes, toInsert, pathToFile, fallbackPos, syntaxKind) {
105
+ // sort() has a side effect, so make a copy so that we won't overwrite the parent's object.
106
+ let lastItem = [...nodes].sort(nodesByPosition).pop();
107
+ if (!lastItem) {
108
+ throw new Error();
109
+ }
110
+ if (syntaxKind) {
111
+ lastItem = (0, typescript_2.findNodes)(lastItem, syntaxKind).sort(nodesByPosition).pop();
112
+ }
113
+ if (!lastItem && fallbackPos == undefined) {
114
+ throw new Error(`tried to insert ${toInsert} as first occurrence with no fallback position`);
115
+ }
116
+ const lastItemPosition = lastItem ? lastItem.getEnd() : fallbackPos;
117
+ return insertChange(host, sourceFile, pathToFile, lastItemPosition, toInsert);
118
+ }
119
+ function addGlobal(host, source, modulePath, statement) {
120
+ if (!tsModule) {
121
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
122
+ }
123
+ const allImports = (0, typescript_2.findNodes)(source, tsModule.SyntaxKind.ImportDeclaration);
124
+ if (allImports.length > 0) {
125
+ const lastImport = allImports[allImports.length - 1];
126
+ return insertChange(host, source, modulePath, lastImport.end + 1, `\n${statement}\n`);
127
+ }
128
+ else {
129
+ return insertChange(host, source, modulePath, 0, `${statement}\n`);
130
+ }
131
+ }
132
+ exports.addGlobal = addGlobal;
133
+ function getImport(source, predicate) {
134
+ if (!tsModule) {
135
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
136
+ }
137
+ const allImports = (0, typescript_2.findNodes)(source, tsModule.SyntaxKind.ImportDeclaration);
138
+ const matching = allImports.filter((i) => predicate(i.moduleSpecifier.getText()));
139
+ return matching.map((i) => {
140
+ const moduleSpec = i.moduleSpecifier
141
+ .getText()
142
+ .substring(1, i.moduleSpecifier.getText().length - 1);
143
+ const t = i.importClause.namedBindings.getText();
144
+ const bindings = t
145
+ .replace('{', '')
146
+ .replace('}', '')
147
+ .split(',')
148
+ .map((q) => q.trim());
149
+ return { moduleSpec, bindings };
150
+ });
151
+ }
152
+ exports.getImport = getImport;
153
+ function replaceNodeValue(host, sourceFile, modulePath, node, content) {
154
+ return replaceChange(host, sourceFile, modulePath, node.getStart(node.getSourceFile()), content, node.getText());
155
+ }
156
+ exports.replaceNodeValue = replaceNodeValue;
157
+ function addParameterToConstructor(tree, source, modulePath, opts) {
158
+ if (!tsModule) {
159
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
160
+ }
161
+ const clazz = findClass(source, opts.className);
162
+ const constructor = clazz.members.filter((m) => m.kind === tsModule.SyntaxKind.Constructor)[0];
163
+ if (constructor) {
164
+ throw new Error('Should be tested'); // TODO: check this
165
+ }
166
+ return addMethod(tree, source, modulePath, {
167
+ className: opts.className,
168
+ methodHeader: `constructor(${opts.param})`,
169
+ });
170
+ }
171
+ exports.addParameterToConstructor = addParameterToConstructor;
172
+ function addMethod(tree, source, modulePath, opts) {
173
+ const clazz = findClass(source, opts.className);
174
+ const body = opts.body
175
+ ? `
176
+ ${opts.methodHeader} {
177
+ ${opts.body}
178
+ }
179
+ `
180
+ : `
181
+ ${opts.methodHeader} {}
182
+ `;
183
+ return insertChange(tree, source, modulePath, clazz.end - 1, body);
184
+ }
185
+ exports.addMethod = addMethod;
186
+ function findClass(source, className, silent = false) {
187
+ if (!tsModule) {
188
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
189
+ }
190
+ const nodes = (0, typescript_1.getSourceNodes)(source);
191
+ const clazz = nodes.filter((n) => n.kind === tsModule.SyntaxKind.ClassDeclaration &&
192
+ n.name.text === className)[0];
193
+ if (!clazz && !silent) {
194
+ throw new Error(`Cannot find class '${className}'.`);
195
+ }
196
+ return clazz;
197
+ }
198
+ exports.findClass = findClass;
199
+ //# sourceMappingURL=ast-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/ast-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { TypeScriptCompilationOptions } from '@nrwl/workspace/src/utilities/typescript/compilation';
2
2
  import { NormalizedExecutorOptions } from '../schema';
3
- export declare function compileTypeScriptFiles(normalizedOptions: NormalizedExecutorOptions, tscOptions: TypeScriptCompilationOptions, postCompilationCallback: () => void | Promise<void>): AsyncGenerator<{
3
+ export interface TypescriptCompilationResult {
4
4
  success: boolean;
5
5
  outfile: string;
6
- }, any, undefined>;
6
+ }
7
+ export declare function compileTypeScriptFiles(normalizedOptions: NormalizedExecutorOptions, tscOptions: TypeScriptCompilationOptions, postCompilationCallback: () => void | Promise<void>): {
8
+ iterator: AsyncIterable<TypescriptCompilationResult>;
9
+ close: () => void | Promise<void>;
10
+ };
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compileTypeScriptFiles = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const compilation_1 = require("@nrwl/workspace/src/utilities/typescript/compilation");
6
- const create_async_iteratable_1 = require("../create-async-iterable/create-async-iteratable");
6
+ const async_iterable_1 = require("@nrwl/devkit/src/utils/async-iterable");
7
7
  const TYPESCRIPT_FOUND_N_ERRORS_WATCHING_FOR_FILE_CHANGES = 6194;
8
8
  // Typescript diagnostic message for 6194: Found {0} errors. Watching for file changes.
9
9
  // https://github.com/microsoft/TypeScript/blob/d45012c5e2ab122919ee4777a7887307c5f4a1e0/src/compiler/diagnosticMessages.json#L4763-L4766
@@ -12,19 +12,24 @@ function getErrorCountFromMessage(messageText) {
12
12
  return Number.parseInt(ERROR_COUNT_REGEX.exec(messageText)[1]);
13
13
  }
14
14
  function compileTypeScriptFiles(normalizedOptions, tscOptions, postCompilationCallback) {
15
- return tslib_1.__asyncGenerator(this, arguments, function* compileTypeScriptFiles_1() {
16
- const getResult = (success) => ({
17
- success,
18
- outfile: normalizedOptions.mainOutputPath,
19
- });
20
- return yield tslib_1.__await(yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues((0, create_async_iteratable_1.createAsyncIterable)(({ next, done }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
15
+ const getResult = (success) => ({
16
+ success,
17
+ outfile: normalizedOptions.mainOutputPath,
18
+ });
19
+ let tearDown;
20
+ return {
21
+ iterator: (0, async_iterable_1.createAsyncIterable)(({ next, done }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
21
22
  if (normalizedOptions.watch) {
22
- (0, compilation_1.compileTypeScriptWatcher)(tscOptions, (d) => tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ const host = (0, compilation_1.compileTypeScriptWatcher)(tscOptions, (d) => tslib_1.__awaiter(this, void 0, void 0, function* () {
23
24
  if (d.code === TYPESCRIPT_FOUND_N_ERRORS_WATCHING_FOR_FILE_CHANGES) {
24
25
  yield postCompilationCallback();
25
26
  next(getResult(getErrorCountFromMessage(d.messageText) === 0));
26
27
  }
27
28
  }));
29
+ tearDown = () => {
30
+ host.close();
31
+ done();
32
+ };
28
33
  }
29
34
  else {
30
35
  const { success } = (0, compilation_1.compileTypeScript)(tscOptions);
@@ -32,8 +37,9 @@ function compileTypeScriptFiles(normalizedOptions, tscOptions, postCompilationCa
32
37
  next(getResult(success));
33
38
  done();
34
39
  }
35
- }))))));
36
- });
40
+ })),
41
+ close: () => tearDown === null || tearDown === void 0 ? void 0 : tearDown(),
42
+ };
37
43
  }
38
44
  exports.compileTypeScriptFiles = compileTypeScriptFiles;
39
45
  //# sourceMappingURL=compile-typescript-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile-typescript-files.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/compile-typescript-files.ts"],"names":[],"mappings":";;;;AAAA,sFAI8D;AAE9D,8FAAuF;AAGvF,MAAM,mDAAmD,GAAG,IAAI,CAAC;AACjE,uFAAuF;AACvF,yIAAyI;AACzI,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,SAAS,wBAAwB,CAAC,WAAmB;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAuB,sBAAsB,CAC3C,iBAA4C,EAC5C,UAAwC,EACxC,uBAAmD;;QAEnD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO;YACP,OAAO,EAAE,iBAAiB,CAAC,cAAc;SAC1C,CAAC,CAAC;QAEH,6BAAO,sBAAA,KAAK,CAAC,CAAC,yBAAA,sBAAA,IAAA,6CAAmB,EAC/B,CAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,IAAI,iBAAiB,CAAC,KAAK,EAAE;gBAC3B,IAAA,sCAAwB,EAAC,UAAU,EAAE,CAAO,CAAa,EAAE,EAAE;oBAC3D,IAAI,CAAC,CAAC,IAAI,KAAK,mDAAmD,EAAE;wBAClE,MAAM,uBAAuB,EAAE,CAAC;wBAChC,IAAI,CACF,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAqB,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;qBACH;gBACH,CAAC,CAAA,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,uBAAuB,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAA,CACF,CAAA,CAAA,CAAA,EAAC;IACJ,CAAC;CAAA;AA7BD,wDA6BC"}
1
+ {"version":3,"file":"compile-typescript-files.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/compile-typescript-files.ts"],"names":[],"mappings":";;;;AAAA,sFAI8D;AAE9D,0EAA4E;AAG5E,MAAM,mDAAmD,GAAG,IAAI,CAAC;AACjE,uFAAuF;AACvF,yIAAyI;AACzI,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,SAAS,wBAAwB,CAAC,WAAmB;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAOD,SAAgB,sBAAsB,CACpC,iBAA4C,EAC5C,UAAwC,EACxC,uBAAmD;IAKnD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO;QACP,OAAO,EAAE,iBAAiB,CAAC,cAAc;KAC1C,CAAC,CAAC;IAEH,IAAI,QAAkC,CAAC;IAEvC,OAAO;QACL,QAAQ,EAAE,IAAA,oCAAmB,EAC3B,CAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,IAAI,iBAAiB,CAAC,KAAK,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAA,sCAAwB,EACnC,UAAU,EACV,CAAO,CAAa,EAAE,EAAE;oBACtB,IACE,CAAC,CAAC,IAAI,KAAK,mDAAmD,EAC9D;wBACA,MAAM,uBAAuB,EAAE,CAAC;wBAChC,IAAI,CACF,SAAS,CACP,wBAAwB,CAAC,CAAC,CAAC,WAAqB,CAAC,KAAK,CAAC,CACxD,CACF,CAAC;qBACH;gBACH,CAAC,CAAA,CACF,CAAC;gBAEF,QAAQ,GAAG,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC;aACH;iBAAM;gBACL,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAiB,EAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,uBAAuB,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAA,CACF;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI;KAC1B,CAAC;AACJ,CAAC;AAjDD,wDAiDC"}
@@ -0,0 +1,17 @@
1
+ import { Tree } from 'nx/src/generators/tree';
2
+ export declare const tsConfigBaseOptions: {
3
+ rootDir: string;
4
+ sourceMap: boolean;
5
+ declaration: boolean;
6
+ moduleResolution: string;
7
+ emitDecoratorMetadata: boolean;
8
+ experimentalDecorators: boolean;
9
+ importHelpers: boolean;
10
+ target: string;
11
+ module: string;
12
+ lib: string[];
13
+ skipLibCheck: boolean;
14
+ skipDefaultLibCheck: boolean;
15
+ baseUrl: string;
16
+ };
17
+ export declare function extractTsConfigBase(host: Tree): void;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractTsConfigBase = exports.tsConfigBaseOptions = void 0;
4
+ const json_1 = require("nx/src/generators/utils/json");
5
+ exports.tsConfigBaseOptions = {
6
+ rootDir: '.',
7
+ sourceMap: true,
8
+ declaration: false,
9
+ moduleResolution: 'node',
10
+ emitDecoratorMetadata: true,
11
+ experimentalDecorators: true,
12
+ importHelpers: true,
13
+ target: 'es2015',
14
+ module: 'esnext',
15
+ lib: ['es2017', 'dom'],
16
+ skipLibCheck: true,
17
+ skipDefaultLibCheck: true,
18
+ baseUrl: '.',
19
+ };
20
+ function extractTsConfigBase(host) {
21
+ if (host.exists('tsconfig.base.json'))
22
+ return;
23
+ const tsconfig = (0, json_1.readJson)(host, 'tsconfig.json');
24
+ const baseCompilerOptions = {};
25
+ for (let compilerOption of Object.keys(exports.tsConfigBaseOptions)) {
26
+ baseCompilerOptions[compilerOption] =
27
+ tsconfig.compilerOptions[compilerOption];
28
+ delete tsconfig.compilerOptions[compilerOption];
29
+ }
30
+ (0, json_1.writeJson)(host, 'tsconfig.base.json', {
31
+ compileOnSave: false,
32
+ compilerOptions: baseCompilerOptions,
33
+ exclude: tsconfig.exclude,
34
+ });
35
+ tsconfig.extends = './tsconfig.base.json';
36
+ delete tsconfig.compileOnSave;
37
+ delete tsconfig.exclude;
38
+ (0, json_1.writeJson)(host, 'tsconfig.json', tsconfig);
39
+ // special case for updating e2e tests.
40
+ if (host.exists('e2e/tsconfig.json')) {
41
+ (0, json_1.updateJson)(host, 'e2e/tsconfig.json', (json) => {
42
+ json.extends = '../tsconfig.base.json';
43
+ return json;
44
+ });
45
+ }
46
+ }
47
+ exports.extractTsConfigBase = extractTsConfigBase;
48
+ //# sourceMappingURL=create-ts-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-ts-config.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/create-ts-config.ts"],"names":[],"mappings":";;;AACA,uDAA+E;AAElE,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,MAAM;IACxB,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,IAAI;IAClB,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAAE,OAAO;IAE9C,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,EAAS,CAAC;IACtC,KAAK,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,2BAAmB,CAAC,EAAE;QAC3D,mBAAmB,CAAC,cAAc,CAAC;YACjC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;KACjD;IACD,IAAA,gBAAS,EAAC,IAAI,EAAE,oBAAoB,EAAE;QACpC,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,mBAAmB;QACpC,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,GAAG,sBAAsB,CAAC;IAC1C,OAAO,QAAQ,CAAC,aAAa,CAAC;IAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC;IAExB,IAAA,gBAAS,EAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAE3C,uCAAuC;IACvC,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;QACpC,IAAA,iBAAU,EAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AA5BD,kDA4BC"}
@@ -0,0 +1 @@
1
+ export declare function ensureTypescript(): typeof import("typescript");
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureTypescript = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const versions_1 = require("../versions");
6
+ function ensureTypescript() {
7
+ return (0, devkit_1.ensurePackage)('typescript', versions_1.typescriptVersion);
8
+ }
9
+ exports.ensureTypescript = ensureTypescript;
10
+ //# sourceMappingURL=ensure-typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-typescript.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/ensure-typescript.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAC7C,0CAAgD;AAEhD,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,sBAAa,EAClB,YAAY,EACZ,4BAAiB,CAClB,CAAC;AACJ,CAAC;AALD,4CAKC"}
@@ -0,0 +1,2 @@
1
+ import type * as ts from 'typescript';
2
+ export declare function getSourceNodes(sourceFile: ts.SourceFile): ts.Node[];
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSourceNodes = void 0;
4
+ function getSourceNodes(sourceFile) {
5
+ const nodes = [sourceFile];
6
+ const result = [];
7
+ while (nodes.length > 0) {
8
+ const node = nodes.shift();
9
+ if (node) {
10
+ result.push(node);
11
+ if (node.getChildCount(sourceFile) >= 0) {
12
+ nodes.unshift(...node.getChildren());
13
+ }
14
+ }
15
+ }
16
+ return result;
17
+ }
18
+ exports.getSourceNodes = getSourceNodes;
19
+ //# sourceMappingURL=get-source-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-source-nodes.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/get-source-nodes.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,UAAyB;IACtD,MAAM,KAAK,GAAc,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAE3B,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACvC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACtC;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,wCAgBC"}
@@ -6,7 +6,7 @@ export interface TypeCheckResult {
6
6
  totalFilesCount: number;
7
7
  incremental: boolean;
8
8
  }
9
- export declare type TypeCheckOptions = BaseTypeCheckOptions & Mode;
9
+ export type TypeCheckOptions = BaseTypeCheckOptions & Mode;
10
10
  interface BaseTypeCheckOptions {
11
11
  workspaceRoot: string;
12
12
  tsConfigPath: string;
@@ -14,7 +14,7 @@ interface BaseTypeCheckOptions {
14
14
  incremental?: boolean;
15
15
  rootDir?: string;
16
16
  }
17
- declare type Mode = NoEmitMode | EmitDeclarationOnlyMode;
17
+ type Mode = NoEmitMode | EmitDeclarationOnlyMode;
18
18
  interface NoEmitMode {
19
19
  mode: 'noEmit';
20
20
  }