@nx/js 0.0.0-pr-22179-271588f
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/LICENSE +22 -0
- package/README.md +68 -0
- package/babel.d.ts +13 -0
- package/babel.js +91 -0
- package/executors.json +32 -0
- package/generators.json +46 -0
- package/migrations.json +159 -0
- package/package.json +76 -0
- package/plugins/jest/local-registry.d.ts +1 -0
- package/plugins/jest/local-registry.js +4 -0
- package/src/executors/node/lib/kill-tree.d.ts +2 -0
- package/src/executors/node/lib/kill-tree.js +114 -0
- package/src/executors/node/node-with-require-overrides.d.ts +7 -0
- package/src/executors/node/node-with-require-overrides.js +21 -0
- package/src/executors/node/node.impl.d.ts +7 -0
- package/src/executors/node/node.impl.js +288 -0
- package/src/executors/node/schema.d.ts +18 -0
- package/src/executors/node/schema.json +92 -0
- package/src/executors/release-publish/format-bytes.d.ts +1 -0
- package/src/executors/release-publish/format-bytes.js +28 -0
- package/src/executors/release-publish/log-tar.d.ts +1 -0
- package/src/executors/release-publish/log-tar.js +68 -0
- package/src/executors/release-publish/release-publish.impl.d.ts +5 -0
- package/src/executors/release-publish/release-publish.impl.js +198 -0
- package/src/executors/release-publish/schema.d.ts +8 -0
- package/src/executors/release-publish/schema.json +26 -0
- package/src/executors/swc/schema.json +154 -0
- package/src/executors/swc/swc.impl.d.ts +10 -0
- package/src/executors/swc/swc.impl.js +149 -0
- package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.d.ts +5 -0
- package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.js +62 -0
- package/src/executors/tsc/lib/batch/index.d.ts +4 -0
- package/src/executors/tsc/lib/batch/index.js +7 -0
- package/src/executors/tsc/lib/batch/normalize-tasks-options.d.ts +3 -0
- package/src/executors/tsc/lib/batch/normalize-tasks-options.js +14 -0
- package/src/executors/tsc/lib/batch/types.d.ts +17 -0
- package/src/executors/tsc/lib/batch/types.js +2 -0
- package/src/executors/tsc/lib/batch/watch.d.ts +3 -0
- package/src/executors/tsc/lib/batch/watch.js +56 -0
- package/src/executors/tsc/lib/get-custom-transformers-factory.d.ts +3 -0
- package/src/executors/tsc/lib/get-custom-transformers-factory.js +13 -0
- package/src/executors/tsc/lib/get-task-options.d.ts +3 -0
- package/src/executors/tsc/lib/get-task-options.js +34 -0
- package/src/executors/tsc/lib/get-tsconfig.d.ts +4 -0
- package/src/executors/tsc/lib/get-tsconfig.js +86 -0
- package/src/executors/tsc/lib/index.d.ts +4 -0
- package/src/executors/tsc/lib/index.js +7 -0
- package/src/executors/tsc/lib/normalize-options.d.ts +2 -0
- package/src/executors/tsc/lib/normalize-options.js +39 -0
- package/src/executors/tsc/lib/typescript-compilation.d.ts +29 -0
- package/src/executors/tsc/lib/typescript-compilation.js +203 -0
- package/src/executors/tsc/lib/typescript-diagnostic-reporters.d.ts +3 -0
- package/src/executors/tsc/lib/typescript-diagnostic-reporters.js +37 -0
- package/src/executors/tsc/schema.json +163 -0
- package/src/executors/tsc/tsc.batch-impl.d.ts +5 -0
- package/src/executors/tsc/tsc.batch-impl.js +180 -0
- package/src/executors/tsc/tsc.impl.d.ts +7 -0
- package/src/executors/tsc/tsc.impl.js +97 -0
- package/src/executors/verdaccio/schema.d.ts +7 -0
- package/src/executors/verdaccio/schema.json +35 -0
- package/src/executors/verdaccio/verdaccio.impl.d.ts +12 -0
- package/src/executors/verdaccio/verdaccio.impl.js +220 -0
- package/src/generators/convert-to-swc/convert-to-swc.d.ts +4 -0
- package/src/generators/convert-to-swc/convert-to-swc.js +59 -0
- package/src/generators/convert-to-swc/schema.d.ts +4 -0
- package/src/generators/convert-to-swc/schema.json +36 -0
- package/src/generators/init/files/__fileName__ +20 -0
- package/src/generators/init/init.d.ts +4 -0
- package/src/generators/init/init.js +114 -0
- package/src/generators/init/schema.d.ts +7 -0
- package/src/generators/init/schema.json +36 -0
- package/src/generators/library/files/jest-config/jest.config.__ext__ +30 -0
- package/src/generators/library/files/lib/src/index.ts__tmpl__ +1 -0
- package/src/generators/library/files/lib/src/lib/__fileName__.spec.ts__tmpl__ +7 -0
- package/src/generators/library/files/lib/src/lib/__fileName__.ts__tmpl__ +3 -0
- package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +14 -0
- package/src/generators/library/files/readme/README.md +19 -0
- package/src/generators/library/library.d.ts +16 -0
- package/src/generators/library/library.js +751 -0
- package/src/generators/library/schema.json +151 -0
- package/src/generators/release-version/release-version.d.ts +5 -0
- package/src/generators/release-version/release-version.js +390 -0
- package/src/generators/release-version/schema.d.ts +1 -0
- package/src/generators/release-version/schema.json +67 -0
- package/src/generators/release-version/test-utils/create-workspace-with-package-dependencies.d.ts +16 -0
- package/src/generators/release-version/test-utils/create-workspace-with-package-dependencies.js +40 -0
- package/src/generators/release-version/utils/package.d.ts +12 -0
- package/src/generators/release-version/utils/package.js +34 -0
- package/src/generators/release-version/utils/resolve-local-package-dependencies.d.ts +12 -0
- package/src/generators/release-version/utils/resolve-local-package-dependencies.js +78 -0
- package/src/generators/release-version/utils/resolve-version-spec.d.ts +1 -0
- package/src/generators/release-version/utils/resolve-version-spec.js +29 -0
- package/src/generators/release-version/utils/update-lock-file.d.ts +5 -0
- package/src/generators/release-version/utils/update-lock-file.js +105 -0
- package/src/generators/setup-build/generator.d.ts +4 -0
- package/src/generators/setup-build/generator.js +142 -0
- package/src/generators/setup-build/schema.d.ts +7 -0
- package/src/generators/setup-build/schema.json +42 -0
- package/src/generators/setup-verdaccio/files/config.yml +28 -0
- package/src/generators/setup-verdaccio/generator.d.ts +4 -0
- package/src/generators/setup-verdaccio/generator.js +56 -0
- package/src/generators/setup-verdaccio/schema.d.ts +3 -0
- package/src/generators/setup-verdaccio/schema.json +16 -0
- package/src/index.d.ts +17 -0
- package/src/index.js +28 -0
- package/src/internal.d.ts +4 -0
- package/src/internal.js +15 -0
- package/src/migrations/update-15-8-0/rename-swcrc-config.d.ts +2 -0
- package/src/migrations/update-15-8-0/rename-swcrc-config.js +77 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +9 -0
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.d.ts +2 -0
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +34 -0
- package/src/migrations/update-16-8-2/update-swcrc.d.ts +2 -0
- package/src/migrations/update-16-8-2/update-swcrc.js +23 -0
- package/src/migrations/update-17-0-0/remove-deprecated-build-options.d.ts +6 -0
- package/src/migrations/update-17-0-0/remove-deprecated-build-options.js +30 -0
- package/src/plugins/jest/start-local-registry.d.ts +12 -0
- package/src/plugins/jest/start-local-registry.js +63 -0
- package/src/plugins/rollup/type-definitions.d.ts +8 -0
- package/src/plugins/rollup/type-definitions.js +48 -0
- package/src/utils/add-babel-inputs.d.ts +3 -0
- package/src/utils/add-babel-inputs.js +23 -0
- package/src/utils/add-local-registry-scripts.d.ts +5 -0
- package/src/utils/add-local-registry-scripts.js +77 -0
- package/src/utils/assets/assets.d.ts +10 -0
- package/src/utils/assets/assets.js +36 -0
- package/src/utils/assets/copy-assets-handler.d.ts +32 -0
- package/src/utils/assets/copy-assets-handler.js +154 -0
- package/src/utils/assets/index.d.ts +16 -0
- package/src/utils/assets/index.js +27 -0
- package/src/utils/buildable-libs-utils.d.ts +43 -0
- package/src/utils/buildable-libs-utils.js +375 -0
- package/src/utils/check-dependencies.d.ts +8 -0
- package/src/utils/check-dependencies.js +23 -0
- package/src/utils/code-frames/highlight.d.ts +1 -0
- package/src/utils/code-frames/highlight.js +86 -0
- package/src/utils/code-frames/identifiers.d.ts +5 -0
- package/src/utils/code-frames/identifiers.js +52 -0
- package/src/utils/compiler-helper-dependency.d.ts +18 -0
- package/src/utils/compiler-helper-dependency.js +120 -0
- package/src/utils/find-npm-dependencies.d.ts +9 -0
- package/src/utils/find-npm-dependencies.js +140 -0
- package/src/utils/generate-globs.d.ts +6 -0
- package/src/utils/generate-globs.js +80 -0
- package/src/utils/get-import-path.d.ts +5 -0
- package/src/utils/get-import-path.js +14 -0
- package/src/utils/get-main-file-dir.d.ts +1 -0
- package/src/utils/get-main-file-dir.js +11 -0
- package/src/utils/inline.d.ts +19 -0
- package/src/utils/inline.js +210 -0
- package/src/utils/package-json/create-entry-points.d.ts +1 -0
- package/src/utils/package-json/create-entry-points.js +23 -0
- package/src/utils/package-json/get-npm-scope.d.ts +5 -0
- package/src/utils/package-json/get-npm-scope.js +16 -0
- package/src/utils/package-json/index.d.ts +13 -0
- package/src/utils/package-json/index.js +30 -0
- package/src/utils/package-json/update-package-json.d.ts +30 -0
- package/src/utils/package-json/update-package-json.js +179 -0
- package/src/utils/prettier.d.ts +6 -0
- package/src/utils/prettier.js +34 -0
- package/src/utils/schema.d.ts +87 -0
- package/src/utils/swc/add-swc-config.d.ts +3 -0
- package/src/utils/swc/add-swc-config.js +41 -0
- package/src/utils/swc/add-swc-dependencies.d.ts +3 -0
- package/src/utils/swc/add-swc-dependencies.js +18 -0
- package/src/utils/swc/compile-swc.d.ts +13 -0
- package/src/utils/swc/compile-swc.js +160 -0
- package/src/utils/swc/get-swcrc-path.d.ts +5 -0
- package/src/utils/swc/get-swcrc-path.js +15 -0
- package/src/utils/swc/inline.d.ts +2 -0
- package/src/utils/swc/inline.js +11 -0
- package/src/utils/typescript/__mocks__/plugin-a.d.ts +1 -0
- package/src/utils/typescript/__mocks__/plugin-a.js +5 -0
- package/src/utils/typescript/__mocks__/plugin-b.d.ts +1 -0
- package/src/utils/typescript/__mocks__/plugin-b.js +5 -0
- package/src/utils/typescript/add-tslib-dependencies.d.ts +2 -0
- package/src/utils/typescript/add-tslib-dependencies.js +11 -0
- package/src/utils/typescript/ast-utils.d.ts +32 -0
- package/src/utils/typescript/ast-utils.js +266 -0
- package/src/utils/typescript/compile-typescript-files.d.ts +10 -0
- package/src/utils/typescript/compile-typescript-files.js +43 -0
- package/src/utils/typescript/create-ts-config.d.ts +18 -0
- package/src/utils/typescript/create-ts-config.js +48 -0
- package/src/utils/typescript/ensure-typescript.d.ts +1 -0
- package/src/utils/typescript/ensure-typescript.js +9 -0
- package/src/utils/typescript/get-source-nodes.d.ts +2 -0
- package/src/utils/typescript/get-source-nodes.js +18 -0
- package/src/utils/typescript/load-ts-transformers.d.ts +5 -0
- package/src/utils/typescript/load-ts-transformers.js +62 -0
- package/src/utils/typescript/print-diagnostics.d.ts +1 -0
- package/src/utils/typescript/print-diagnostics.js +18 -0
- package/src/utils/typescript/run-type-check.d.ts +32 -0
- package/src/utils/typescript/run-type-check.js +128 -0
- package/src/utils/typescript/ts-config.d.ts +9 -0
- package/src/utils/typescript/ts-config.js +85 -0
- package/src/utils/typescript/tsnode-register.d.ts +1 -0
- package/src/utils/typescript/tsnode-register.js +24 -0
- package/src/utils/typescript/types.d.ts +18 -0
- package/src/utils/typescript/types.js +2 -0
- package/src/utils/versions.d.ts +17 -0
- package/src/utils/versions.js +21 -0
- package/src/utils/watch-for-single-file-changes.d.ts +1 -0
- package/src/utils/watch-for-single-file-changes.js +22 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.highlight = void 0;
|
|
4
|
+
// Adapted from https://raw.githubusercontent.com/babel/babel/4108524/packages/babel-highlight/src/index.js
|
|
5
|
+
const jsTokens = require("js-tokens");
|
|
6
|
+
const chalk = require("chalk");
|
|
7
|
+
const identifiers_1 = require("./identifiers");
|
|
8
|
+
/**
|
|
9
|
+
* Chalk styles for token types.
|
|
10
|
+
*/
|
|
11
|
+
function getDefs(chalk) {
|
|
12
|
+
return {
|
|
13
|
+
keyword: chalk.cyan,
|
|
14
|
+
capitalized: chalk.yellow,
|
|
15
|
+
jsx_tag: chalk.yellow,
|
|
16
|
+
punctuator: chalk.yellow,
|
|
17
|
+
// bracket: intentionally omitted.
|
|
18
|
+
number: chalk.magenta,
|
|
19
|
+
string: chalk.green,
|
|
20
|
+
regex: chalk.magenta,
|
|
21
|
+
comment: chalk.grey,
|
|
22
|
+
invalid: chalk.white.bgRed.bold,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* RegExp to test for newlines in terminal.
|
|
27
|
+
*/
|
|
28
|
+
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
|
|
29
|
+
/**
|
|
30
|
+
* RegExp to test for what seems to be a JSX tag name.
|
|
31
|
+
*/
|
|
32
|
+
const JSX_TAG = /^[a-z][\w-]*$/i;
|
|
33
|
+
/**
|
|
34
|
+
* RegExp to test for the three types of brackets.
|
|
35
|
+
*/
|
|
36
|
+
const BRACKET = /^[()[\]{}]$/;
|
|
37
|
+
/**
|
|
38
|
+
* Get the type of token, specifying punctuator type.
|
|
39
|
+
*/
|
|
40
|
+
function getTokenType(match) {
|
|
41
|
+
const [offset, text] = match.slice(-2);
|
|
42
|
+
const token = jsTokens.matchToToken(match);
|
|
43
|
+
if (token.type === 'name') {
|
|
44
|
+
if ((0, identifiers_1.isKeyword)(token.value) || (0, identifiers_1.isReservedWord)(token.value)) {
|
|
45
|
+
return 'keyword';
|
|
46
|
+
}
|
|
47
|
+
if (JSX_TAG.test(token.value) &&
|
|
48
|
+
(text[offset - 1] === '<' || text.slice(offset - 2, 2) == '</')) {
|
|
49
|
+
return 'jsx_tag';
|
|
50
|
+
}
|
|
51
|
+
if (token.value[0] !== token.value[0].toLowerCase()) {
|
|
52
|
+
return 'capitalized';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (token.type === 'punctuator' && BRACKET.test(token.value)) {
|
|
56
|
+
return 'bracket';
|
|
57
|
+
}
|
|
58
|
+
if (token.type === 'invalid' &&
|
|
59
|
+
(token.value === '@' || token.value === '#')) {
|
|
60
|
+
return 'punctuator';
|
|
61
|
+
}
|
|
62
|
+
return token.type;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Highlight `text` using the token definitions in `defs`.
|
|
66
|
+
*/
|
|
67
|
+
function highlightTokens(defs, text) {
|
|
68
|
+
return text.replace(jsTokens.default, function (...args) {
|
|
69
|
+
const type = getTokenType(args);
|
|
70
|
+
const colorize = defs[type];
|
|
71
|
+
if (colorize) {
|
|
72
|
+
return args[0]
|
|
73
|
+
.split(NEWLINE)
|
|
74
|
+
.map((str) => colorize(str))
|
|
75
|
+
.join('\n');
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return args[0];
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function highlight(code) {
|
|
83
|
+
const defs = getDefs(chalk);
|
|
84
|
+
return highlightTokens(defs, code);
|
|
85
|
+
}
|
|
86
|
+
exports.highlight = highlight;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isKeyword = exports.isReservedWord = void 0;
|
|
4
|
+
// Adapted from https://raw.githubusercontent.com/babel/babel/e39b508030a9f696584d21b0eb9677498e3ca231/packages/babel-helper-validator-identifier/src/keyword.js
|
|
5
|
+
const keywords = new Set([
|
|
6
|
+
'break',
|
|
7
|
+
'case',
|
|
8
|
+
'catch',
|
|
9
|
+
'continue',
|
|
10
|
+
'debugger',
|
|
11
|
+
'default',
|
|
12
|
+
'do',
|
|
13
|
+
'else',
|
|
14
|
+
'finally',
|
|
15
|
+
'for',
|
|
16
|
+
'function',
|
|
17
|
+
'if',
|
|
18
|
+
'return',
|
|
19
|
+
'switch',
|
|
20
|
+
'throw',
|
|
21
|
+
'try',
|
|
22
|
+
'var',
|
|
23
|
+
'const',
|
|
24
|
+
'while',
|
|
25
|
+
'with',
|
|
26
|
+
'new',
|
|
27
|
+
'this',
|
|
28
|
+
'super',
|
|
29
|
+
'class',
|
|
30
|
+
'extends',
|
|
31
|
+
'export',
|
|
32
|
+
'import',
|
|
33
|
+
'null',
|
|
34
|
+
'true',
|
|
35
|
+
'false',
|
|
36
|
+
'in',
|
|
37
|
+
'instanceof',
|
|
38
|
+
'typeof',
|
|
39
|
+
'void',
|
|
40
|
+
'delete',
|
|
41
|
+
]);
|
|
42
|
+
/**
|
|
43
|
+
* Checks if word is a reserved word in non-strict mode
|
|
44
|
+
*/
|
|
45
|
+
function isReservedWord(word, inModule) {
|
|
46
|
+
return (inModule && word === 'await') || word === 'enum';
|
|
47
|
+
}
|
|
48
|
+
exports.isReservedWord = isReservedWord;
|
|
49
|
+
function isKeyword(word) {
|
|
50
|
+
return keywords.has(word);
|
|
51
|
+
}
|
|
52
|
+
exports.isKeyword = isKeyword;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ProjectGraph, type ProjectGraphDependency } from '@nx/devkit';
|
|
2
|
+
import { DependentBuildableProjectNode } from './buildable-libs-utils';
|
|
3
|
+
export declare enum HelperDependency {
|
|
4
|
+
tsc = "npm:tslib",
|
|
5
|
+
swc = "npm:@swc/helpers"
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Check and return a DependencyNode for the compiler's external helpers npm package. Return "null"
|
|
9
|
+
* if it doesn't need it or it cannot be found in the Project Graph
|
|
10
|
+
*
|
|
11
|
+
* @param {HelperDependency} helperDependency
|
|
12
|
+
* @param {string} configPath
|
|
13
|
+
* @param {DependentBuildableProjectNode[]} dependencies
|
|
14
|
+
* @param {ProjectGraph} projectGraph
|
|
15
|
+
* @param {boolean=false} returnDependencyIfFound
|
|
16
|
+
*/
|
|
17
|
+
export declare function getHelperDependency(helperDependency: HelperDependency, configPath: string, dependencies: DependentBuildableProjectNode[], projectGraph: ProjectGraph, returnDependencyIfFound?: boolean): DependentBuildableProjectNode | null;
|
|
18
|
+
export declare function getHelperDependenciesFromProjectGraph(contextRoot: string, sourceProject: string, projectGraph: ProjectGraph): ProjectGraphDependency[];
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHelperDependenciesFromProjectGraph = exports.getHelperDependency = exports.HelperDependency = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const ts_config_1 = require("./typescript/ts-config");
|
|
7
|
+
const get_swcrc_path_1 = require("./swc/get-swcrc-path");
|
|
8
|
+
var HelperDependency;
|
|
9
|
+
(function (HelperDependency) {
|
|
10
|
+
HelperDependency["tsc"] = "npm:tslib";
|
|
11
|
+
HelperDependency["swc"] = "npm:@swc/helpers";
|
|
12
|
+
})(HelperDependency || (exports.HelperDependency = HelperDependency = {}));
|
|
13
|
+
const jsExecutors = {
|
|
14
|
+
'@nx/js:tsc': {
|
|
15
|
+
helperDependency: HelperDependency.tsc,
|
|
16
|
+
getConfigPath: (options, contextRoot, _) => (0, path_1.join)(contextRoot, options.tsConfig),
|
|
17
|
+
},
|
|
18
|
+
'@nx/js:swc': {
|
|
19
|
+
helperDependency: HelperDependency.swc,
|
|
20
|
+
getConfigPath: (options, contextRoot, projectRoot) => (0, get_swcrc_path_1.getSwcrcPath)(options, contextRoot, projectRoot),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Check and return a DependencyNode for the compiler's external helpers npm package. Return "null"
|
|
25
|
+
* if it doesn't need it or it cannot be found in the Project Graph
|
|
26
|
+
*
|
|
27
|
+
* @param {HelperDependency} helperDependency
|
|
28
|
+
* @param {string} configPath
|
|
29
|
+
* @param {DependentBuildableProjectNode[]} dependencies
|
|
30
|
+
* @param {ProjectGraph} projectGraph
|
|
31
|
+
* @param {boolean=false} returnDependencyIfFound
|
|
32
|
+
*/
|
|
33
|
+
function getHelperDependency(helperDependency, configPath, dependencies, projectGraph, returnDependencyIfFound = false) {
|
|
34
|
+
const dependency = dependencies.find((dep) => dep.name === helperDependency);
|
|
35
|
+
if (!!dependency) {
|
|
36
|
+
// if a helperDependency is found, we either return null or the found dependency
|
|
37
|
+
// We return the found return dependency for the cases where it is a part of a
|
|
38
|
+
// project's dependency's dependency instead
|
|
39
|
+
// eg: app-a -> lib-a (helperDependency is on lib-a instead of app-a)
|
|
40
|
+
// When building app-a, we'd want to know about the found helper dependency still
|
|
41
|
+
return returnDependencyIfFound ? dependency : null;
|
|
42
|
+
}
|
|
43
|
+
let isHelperNeeded = false;
|
|
44
|
+
switch (helperDependency) {
|
|
45
|
+
case HelperDependency.tsc:
|
|
46
|
+
isHelperNeeded = !!(0, ts_config_1.readTsConfig)(configPath).options['importHelpers'];
|
|
47
|
+
break;
|
|
48
|
+
case HelperDependency.swc:
|
|
49
|
+
isHelperNeeded = !!(0, devkit_1.readJsonFile)(configPath)['jsc']['externalHelpers'];
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
if (!isHelperNeeded)
|
|
53
|
+
return null;
|
|
54
|
+
let libNode = projectGraph[helperDependency];
|
|
55
|
+
// If libNode is not found due to the version suffix from pnpm lockfile, try to match it by package name.
|
|
56
|
+
if (!libNode) {
|
|
57
|
+
for (const nodeName of Object.keys(projectGraph.externalNodes)) {
|
|
58
|
+
const node = projectGraph.externalNodes[nodeName];
|
|
59
|
+
if (`npm:${node.data.packageName}` === helperDependency) {
|
|
60
|
+
libNode = node;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (!libNode) {
|
|
66
|
+
devkit_1.logger.warn(`Your library compilation option specifies that the compiler external helper (${helperDependency.split(':')[1]}) is needed but it is not installed.`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
name: helperDependency,
|
|
71
|
+
outputs: [],
|
|
72
|
+
node: libNode,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
exports.getHelperDependency = getHelperDependency;
|
|
76
|
+
function getHelperDependenciesFromProjectGraph(contextRoot, sourceProject, projectGraph) {
|
|
77
|
+
// if the source project isn't part of the projectGraph nodes; skip
|
|
78
|
+
if (!projectGraph.nodes[sourceProject])
|
|
79
|
+
return [];
|
|
80
|
+
// if the source project does not have any dependencies; skip
|
|
81
|
+
if (!projectGraph.dependencies[sourceProject] ||
|
|
82
|
+
!projectGraph.dependencies[sourceProject].length)
|
|
83
|
+
return [];
|
|
84
|
+
const sourceDependencies = projectGraph.dependencies[sourceProject];
|
|
85
|
+
const internalDependencies = sourceDependencies.reduce((result, dependency) => {
|
|
86
|
+
// we check if a dependency is part of the workspace and if it's a library
|
|
87
|
+
// because we wouldn't want to include external dependencies (npm packages)
|
|
88
|
+
if (projectGraph.nodes[dependency.target] &&
|
|
89
|
+
projectGraph.nodes[dependency.target].type === 'lib') {
|
|
90
|
+
const targetData = projectGraph.nodes[dependency.target].data;
|
|
91
|
+
// check if the dependency has a buildable target with one of the jsExecutors
|
|
92
|
+
const targetExecutor = Object.values(targetData.targets).find(({ executor }) => !!jsExecutors[executor]);
|
|
93
|
+
if (targetExecutor) {
|
|
94
|
+
const jsExecutor = jsExecutors[targetExecutor['executor']];
|
|
95
|
+
const { root: projectRoot } = targetData;
|
|
96
|
+
const configPath = jsExecutor.getConfigPath(targetExecutor['options'], contextRoot, projectRoot);
|
|
97
|
+
// construct the correct helperDependency configurations
|
|
98
|
+
// so we can compute the ProjectGraphDependency later
|
|
99
|
+
result.push({
|
|
100
|
+
helperDependency: jsExecutors[targetExecutor['executor']].helperDependency,
|
|
101
|
+
dependencies: projectGraph.dependencies[dependency.target],
|
|
102
|
+
configPath,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}, []);
|
|
108
|
+
return internalDependencies.reduce((result, { helperDependency, configPath, dependencies }) => {
|
|
109
|
+
const dependency = getHelperDependency(helperDependency, configPath, dependencies, projectGraph, true);
|
|
110
|
+
if (dependency) {
|
|
111
|
+
result.push({
|
|
112
|
+
type: 'static',
|
|
113
|
+
source: sourceProject,
|
|
114
|
+
target: dependency.name,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}, []);
|
|
119
|
+
}
|
|
120
|
+
exports.getHelperDependenciesFromProjectGraph = getHelperDependenciesFromProjectGraph;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ProjectFileMap, type ProjectGraph, type ProjectGraphProjectNode } from '@nx/devkit';
|
|
2
|
+
/**
|
|
3
|
+
* Finds all npm dependencies and their expected versions for a given project.
|
|
4
|
+
*/
|
|
5
|
+
export declare function findNpmDependencies(workspaceRoot: string, sourceProject: ProjectGraphProjectNode, projectGraph: ProjectGraph, projectFileMap: ProjectFileMap, buildTarget: string, options?: {
|
|
6
|
+
includeTransitiveDependencies?: boolean;
|
|
7
|
+
ignoredFiles?: string[];
|
|
8
|
+
useLocalPathsForWorkspaceDependencies?: boolean;
|
|
9
|
+
}): Record<string, string>;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findNpmDependencies = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const configuration_1 = require("nx/src/config/configuration");
|
|
6
|
+
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
const fileutils_1 = require("nx/src/utils/fileutils");
|
|
8
|
+
const project_graph_1 = require("nx/src/config/project-graph");
|
|
9
|
+
const ts_config_1 = require("./typescript/ts-config");
|
|
10
|
+
const task_hasher_1 = require("nx/src/hasher/task-hasher");
|
|
11
|
+
/**
|
|
12
|
+
* Finds all npm dependencies and their expected versions for a given project.
|
|
13
|
+
*/
|
|
14
|
+
function findNpmDependencies(workspaceRoot, sourceProject, projectGraph, projectFileMap, buildTarget, options = {}) {
|
|
15
|
+
let seen = null;
|
|
16
|
+
if (options.includeTransitiveDependencies) {
|
|
17
|
+
seen = new Set();
|
|
18
|
+
}
|
|
19
|
+
const results = {};
|
|
20
|
+
function collectAll(currentProject, collectedDeps) {
|
|
21
|
+
if (seen?.has(currentProject.name))
|
|
22
|
+
return;
|
|
23
|
+
seen?.add(currentProject.name);
|
|
24
|
+
collectDependenciesFromFileMap(workspaceRoot, currentProject, projectGraph, projectFileMap, buildTarget, options.ignoredFiles, options.useLocalPathsForWorkspaceDependencies, collectedDeps);
|
|
25
|
+
collectHelperDependencies(workspaceRoot, currentProject, projectGraph, buildTarget, collectedDeps);
|
|
26
|
+
if (options.includeTransitiveDependencies) {
|
|
27
|
+
const projectDeps = projectGraph.dependencies[currentProject.name];
|
|
28
|
+
for (const dep of projectDeps) {
|
|
29
|
+
const projectDep = projectGraph.nodes[dep.target];
|
|
30
|
+
if (projectDep)
|
|
31
|
+
collectAll(projectDep, collectedDeps);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
collectAll(sourceProject, results);
|
|
36
|
+
return results;
|
|
37
|
+
}
|
|
38
|
+
exports.findNpmDependencies = findNpmDependencies;
|
|
39
|
+
// Keep track of workspace libs we already read package.json for so we don't read from disk again.
|
|
40
|
+
const seenWorkspaceDeps = {};
|
|
41
|
+
function collectDependenciesFromFileMap(workspaceRoot, sourceProject, projectGraph, projectFileMap, buildTarget, ignoredFiles, useLocalPathsForWorkspaceDependencies, npmDeps) {
|
|
42
|
+
const rawFiles = projectFileMap[sourceProject.name];
|
|
43
|
+
if (!rawFiles)
|
|
44
|
+
return;
|
|
45
|
+
// If build target does not exist in project, use all files as input.
|
|
46
|
+
// This is needed for transitive dependencies for apps -- where libs may not be buildable.
|
|
47
|
+
const inputs = sourceProject.data.targets[buildTarget]
|
|
48
|
+
? (0, task_hasher_1.getTargetInputs)((0, configuration_1.readNxJson)(), sourceProject, buildTarget).selfInputs
|
|
49
|
+
: ['{projectRoot}/**/*'];
|
|
50
|
+
if (ignoredFiles) {
|
|
51
|
+
for (const pattern of ignoredFiles) {
|
|
52
|
+
inputs.push(`!${pattern}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const files = (0, task_hasher_1.filterUsingGlobPatterns)(sourceProject.data.root, projectFileMap[sourceProject.name] || [], inputs);
|
|
56
|
+
for (const fileData of files) {
|
|
57
|
+
if (!fileData.deps ||
|
|
58
|
+
fileData.file ===
|
|
59
|
+
(0, devkit_1.joinPathFragments)(sourceProject.data.root, 'package.json')) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
for (const dep of fileData.deps) {
|
|
63
|
+
const target = (0, project_graph_1.fileDataDepTarget)(dep);
|
|
64
|
+
// If the node is external, then read package info from `data`.
|
|
65
|
+
const externalDep = projectGraph.externalNodes[target];
|
|
66
|
+
if (externalDep?.type === 'npm') {
|
|
67
|
+
npmDeps[externalDep.data.packageName] = externalDep.data.version;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
// If node is internal, then try reading package info from `package.json` (which must exist for this to work).
|
|
71
|
+
const workspaceDep = projectGraph.nodes[target];
|
|
72
|
+
if (!workspaceDep)
|
|
73
|
+
continue;
|
|
74
|
+
const cached = seenWorkspaceDeps[workspaceDep.name];
|
|
75
|
+
if (cached) {
|
|
76
|
+
npmDeps[cached.name] = cached.version;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const packageJson = readPackageJson(workspaceDep, workspaceRoot);
|
|
80
|
+
if (
|
|
81
|
+
// Check that this is a buildable project, otherwise it cannot be a dependency in package.json.
|
|
82
|
+
workspaceDep.data.targets[buildTarget] &&
|
|
83
|
+
// Make sure package.json exists and has a valid name.
|
|
84
|
+
packageJson?.name) {
|
|
85
|
+
let version;
|
|
86
|
+
if (useLocalPathsForWorkspaceDependencies) {
|
|
87
|
+
// Find the relative `file:...` path and use that as the version value.
|
|
88
|
+
// This is useful for monorepos like Nx where the release will handle setting the correct version in dist.
|
|
89
|
+
const depRoot = (0, path_1.join)(workspaceRoot, workspaceDep.data.root);
|
|
90
|
+
const ownRoot = (0, path_1.join)(workspaceRoot, sourceProject.data.root);
|
|
91
|
+
const relativePath = (0, path_1.relative)(ownRoot, depRoot);
|
|
92
|
+
const filePath = (0, devkit_1.normalizePath)(relativePath); // normalize slashes for windows
|
|
93
|
+
version = `file:${filePath}`;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// Otherwise, read the version from the dependencies `package.json` file.
|
|
97
|
+
// This is useful for monorepos that commit release versions.
|
|
98
|
+
// Users can also set version as "*" in source `package.json` files, which will be the value set here.
|
|
99
|
+
// This is useful if they use custom scripts to update them in dist.
|
|
100
|
+
version = packageJson.version ?? '*'; // fallback in case version is missing
|
|
101
|
+
}
|
|
102
|
+
npmDeps[packageJson.name] = version;
|
|
103
|
+
seenWorkspaceDeps[workspaceDep.name] = {
|
|
104
|
+
name: packageJson.name,
|
|
105
|
+
version,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function readPackageJson(project, workspaceRoot) {
|
|
113
|
+
const packageJsonPath = (0, path_1.join)(workspaceRoot, project.data.root, 'package.json');
|
|
114
|
+
if ((0, fileutils_1.fileExists)(packageJsonPath))
|
|
115
|
+
return (0, devkit_1.readJsonFile)(packageJsonPath);
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
function collectHelperDependencies(workspaceRoot, sourceProject, projectGraph, buildTarget, npmDeps) {
|
|
119
|
+
const target = sourceProject.data.targets[buildTarget];
|
|
120
|
+
if (!target)
|
|
121
|
+
return;
|
|
122
|
+
if (target.executor === '@nx/js:tsc' && target.options?.tsConfig) {
|
|
123
|
+
const tsConfig = (0, ts_config_1.readTsConfig)((0, path_1.join)(workspaceRoot, target.options.tsConfig));
|
|
124
|
+
if (tsConfig?.options['importHelpers']) {
|
|
125
|
+
npmDeps['tslib'] = projectGraph.externalNodes['npm:tslib']?.data.version;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (target.executor === '@nx/js:swc') {
|
|
129
|
+
const swcConfigPath = target.options.swcrc
|
|
130
|
+
? (0, path_1.join)(workspaceRoot, target.options.swcrc)
|
|
131
|
+
: (0, path_1.join)(workspaceRoot, sourceProject.data.root, '.swcrc');
|
|
132
|
+
const swcConfig = (0, fileutils_1.fileExists)(swcConfigPath)
|
|
133
|
+
? (0, devkit_1.readJsonFile)(swcConfigPath)
|
|
134
|
+
: {};
|
|
135
|
+
if (swcConfig?.jsc?.externalHelpers) {
|
|
136
|
+
npmDeps['@swc/helpers'] =
|
|
137
|
+
projectGraph.externalNodes['npm:@swc/helpers']?.data.version;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a set of glob patterns based off the source root of the app and its dependencies
|
|
3
|
+
* @param dirPath workspace relative directory path that will be used to infer the parent project and dependencies
|
|
4
|
+
* @param fileGlobPattern pass a custom glob pattern to be used
|
|
5
|
+
*/
|
|
6
|
+
export declare function createGlobPatternsForDependencies(dirPath: string, fileGlobPattern: string): string[];
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGlobPatternsForDependencies = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const workspace_root_1 = require("nx/src/utils/workspace-root");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const project_graph_1 = require("nx/src/project-graph/project-graph");
|
|
8
|
+
const project_graph_utils_1 = require("nx/src/utils/project-graph-utils");
|
|
9
|
+
const fs_1 = require("fs");
|
|
10
|
+
const ignore_1 = require("ignore");
|
|
11
|
+
const find_project_for_path_1 = require("nx/src/project-graph/utils/find-project-for-path");
|
|
12
|
+
function configureIgnore() {
|
|
13
|
+
let ig;
|
|
14
|
+
const pathToGitIgnore = (0, path_1.join)(workspace_root_1.workspaceRoot, '.gitignore');
|
|
15
|
+
if ((0, fs_1.existsSync)(pathToGitIgnore)) {
|
|
16
|
+
ig = (0, ignore_1.default)();
|
|
17
|
+
ig.add((0, fs_1.readFileSync)(pathToGitIgnore, { encoding: 'utf-8' }));
|
|
18
|
+
}
|
|
19
|
+
return ig;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generates a set of glob patterns based off the source root of the app and its dependencies
|
|
23
|
+
* @param dirPath workspace relative directory path that will be used to infer the parent project and dependencies
|
|
24
|
+
* @param fileGlobPattern pass a custom glob pattern to be used
|
|
25
|
+
*/
|
|
26
|
+
function createGlobPatternsForDependencies(dirPath, fileGlobPattern) {
|
|
27
|
+
let ig = configureIgnore();
|
|
28
|
+
const filenameRelativeToWorkspaceRoot = (0, devkit_1.normalizePath)((0, path_1.relative)(workspace_root_1.workspaceRoot, dirPath));
|
|
29
|
+
const projectGraph = (0, project_graph_1.readCachedProjectGraph)();
|
|
30
|
+
const projectRootMappings = (0, find_project_for_path_1.createProjectRootMappings)(projectGraph.nodes);
|
|
31
|
+
// find the project
|
|
32
|
+
let projectName;
|
|
33
|
+
try {
|
|
34
|
+
projectName = (0, find_project_for_path_1.findProjectForPath)(filenameRelativeToWorkspaceRoot, projectRootMappings);
|
|
35
|
+
if (!projectName) {
|
|
36
|
+
throw new Error(`createGlobPatternsForDependencies: Could not find any project containing the file "${filenameRelativeToWorkspaceRoot}" among it's project files`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
throw new Error(`createGlobPatternsForDependencies: Error when trying to determine main project.\n${e?.message}`);
|
|
41
|
+
}
|
|
42
|
+
// generate the glob
|
|
43
|
+
try {
|
|
44
|
+
const [projectDirs, warnings] = (0, project_graph_utils_1.getSourceDirOfDependentProjects)(projectName, projectGraph);
|
|
45
|
+
const dirsToUse = [];
|
|
46
|
+
const recursiveScanDirs = (dirPath) => {
|
|
47
|
+
const children = (0, fs_1.readdirSync)((0, path_1.resolve)(workspace_root_1.workspaceRoot, dirPath));
|
|
48
|
+
for (const child of children) {
|
|
49
|
+
const childPath = (0, path_1.join)(dirPath, child);
|
|
50
|
+
if (ig?.ignores(childPath) ||
|
|
51
|
+
!(0, fs_1.lstatSync)((0, path_1.resolve)(workspace_root_1.workspaceRoot, childPath)).isDirectory()) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(workspace_root_1.workspaceRoot, childPath, 'ng-package.json'))) {
|
|
55
|
+
dirsToUse.push(childPath);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
recursiveScanDirs(childPath);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
for (const srcDir of projectDirs) {
|
|
63
|
+
dirsToUse.push(srcDir);
|
|
64
|
+
const root = (0, path_1.dirname)(srcDir);
|
|
65
|
+
recursiveScanDirs(root);
|
|
66
|
+
}
|
|
67
|
+
if (warnings.length > 0) {
|
|
68
|
+
devkit_1.logger.warn(`
|
|
69
|
+
[createGlobPatternsForDependencies] Failed to generate glob pattern for the following:
|
|
70
|
+
${warnings.join('\n- ')}\n
|
|
71
|
+
due to missing "sourceRoot" in the dependencies' project configuration
|
|
72
|
+
`);
|
|
73
|
+
}
|
|
74
|
+
return dirsToUse.map((sourceDir) => (0, path_1.resolve)(workspace_root_1.workspaceRoot, (0, devkit_1.joinPathFragments)(sourceDir, fileGlobPattern)));
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
throw new Error(`createGlobPatternsForDependencies: Error when generating globs.\n${e?.message}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.createGlobPatternsForDependencies = createGlobPatternsForDependencies;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getImportPath = void 0;
|
|
4
|
+
const get_npm_scope_1 = require("./package-json/get-npm-scope");
|
|
5
|
+
/**
|
|
6
|
+
* Prefixes project name with npm scope
|
|
7
|
+
*/
|
|
8
|
+
function getImportPath(tree, projectDirectory) {
|
|
9
|
+
const npmScope = (0, get_npm_scope_1.getNpmScope)(tree);
|
|
10
|
+
return npmScope
|
|
11
|
+
? `${npmScope === '@' ? '' : '@'}${npmScope}/${projectDirectory}`
|
|
12
|
+
: projectDirectory;
|
|
13
|
+
}
|
|
14
|
+
exports.getImportPath = getImportPath;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getRelativeDirectoryToProjectRoot(file: string, projectRoot: string): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRelativeDirectoryToProjectRoot = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const path_2 = require("nx/src/utils/path");
|
|
6
|
+
function getRelativeDirectoryToProjectRoot(file, projectRoot) {
|
|
7
|
+
const dir = (0, path_1.dirname)(file);
|
|
8
|
+
const relativeDir = (0, path_2.normalizePath)((0, path_1.relative)(projectRoot, dir));
|
|
9
|
+
return relativeDir === '' ? `./` : `./${relativeDir}/`;
|
|
10
|
+
}
|
|
11
|
+
exports.getRelativeDirectoryToProjectRoot = getRelativeDirectoryToProjectRoot;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import type { NormalizedExecutorOptions } from './schema';
|
|
3
|
+
interface InlineProjectNode {
|
|
4
|
+
name: string;
|
|
5
|
+
root: string;
|
|
6
|
+
sourceRoot: string;
|
|
7
|
+
pathAlias: string;
|
|
8
|
+
buildOutputPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface InlineProjectGraph {
|
|
11
|
+
nodes: Record<string, InlineProjectNode>;
|
|
12
|
+
externals: Record<string, InlineProjectNode>;
|
|
13
|
+
dependencies: Record<string, string[]>;
|
|
14
|
+
}
|
|
15
|
+
export declare function isInlineGraphEmpty(inlineGraph: InlineProjectGraph): boolean;
|
|
16
|
+
export declare function handleInliningBuild(context: ExecutorContext, options: NormalizedExecutorOptions, tsConfigPath: string, projectName?: string): InlineProjectGraph;
|
|
17
|
+
export declare function postProcessInlinedDependencies(outputPath: string, parentOutputPath: string, inlineGraph: InlineProjectGraph): void;
|
|
18
|
+
export declare function getRootTsConfigPath(context: ExecutorContext): string | null;
|
|
19
|
+
export {};
|