nx 18.1.0-canary.20240308-46592d7 → 18.1.0-canary.20240312-9520aa2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +12 -12
- package/src/adapter/angular-json.d.ts +1 -2
- package/src/adapter/angular-json.js +0 -1
- package/src/adapter/ngcli-adapter.js +3 -3
- package/src/command-line/generate/generator-utils.js +2 -2
- package/src/command-line/run/executor-utils.js +2 -2
- package/src/config/schema-utils.js +2 -2
- package/src/daemon/server/project-graph-incremental-recomputation.js +1 -0
- package/src/devkit-exports.d.ts +1 -2
- package/src/devkit-internals.d.ts +0 -1
- package/src/devkit-internals.js +1 -3
- package/src/generators/utils/project-configuration.js +2 -2
- package/src/migrations/update-15-1-0/set-project-names.js +2 -4
- package/src/migrations/update-17-2-0/move-default-base.d.ts +1 -1
- package/src/migrations/update-17-2-0/move-default-base.js +2 -2
- package/src/plugins/js/index.d.ts +1 -1
- package/src/plugins/js/lock-file/lock-file.d.ts +1 -1
- package/src/plugins/js/lock-file/npm-parser.d.ts +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.d.ts +1 -1
- package/src/plugins/js/lock-file/yarn-parser.d.ts +1 -1
- package/src/plugins/js/project-graph/build-dependencies/build-dependencies.d.ts +1 -1
- package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +1 -1
- package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.d.ts +1 -1
- package/src/plugins/js/utils/register.js +3 -1
- package/src/plugins/package-json-workspaces/create-nodes.d.ts +2 -2
- package/src/plugins/package-json-workspaces/create-nodes.js +31 -24
- package/src/plugins/package-json-workspaces/index.d.ts +0 -1
- package/src/plugins/package-json-workspaces/index.js +0 -2
- package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.d.ts +1 -2
- package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.js +0 -1
- package/src/plugins/project-json/build-nodes/project-json.d.ts +1 -2
- package/src/plugins/project-json/build-nodes/project-json.js +0 -1
- package/src/plugins/target-defaults/target-defaults-plugin.d.ts +1 -2
- package/src/plugins/target-defaults/target-defaults-plugin.js +0 -1
- package/src/project-graph/affected/locators/project-glob-changes.js +3 -2
- package/src/project-graph/build-project-graph.js +8 -11
- package/src/project-graph/file-utils.js +3 -3
- package/src/project-graph/project-graph-builder.d.ts +1 -1
- package/src/project-graph/project-graph.js +3 -0
- package/src/project-graph/utils/normalize-project-nodes.d.ts +1 -1
- package/src/project-graph/utils/project-configuration-utils.d.ts +2 -2
- package/src/project-graph/utils/project-configuration-utils.js +54 -13
- package/src/project-graph/utils/retrieve-workspace-files.d.ts +4 -8
- package/src/project-graph/utils/retrieve-workspace-files.js +15 -17
- package/src/utils/logger.d.ts +0 -1
- package/src/utils/logger.js +0 -5
- package/src/{project-graph/plugins/public-api.d.ts → utils/nx-plugin.d.ts} +41 -7
- package/src/utils/nx-plugin.deprecated.d.ts +2 -4
- package/src/utils/nx-plugin.deprecated.js +4 -4
- package/src/utils/nx-plugin.js +293 -0
- package/src/utils/plugins/plugin-capabilities.d.ts +1 -1
- package/src/utils/plugins/plugin-capabilities.js +7 -8
- package/src/project-graph/plugins/index.d.ts +0 -2
- package/src/project-graph/plugins/index.js +0 -8
- package/src/project-graph/plugins/internal-api.d.ts +0 -18
- package/src/project-graph/plugins/internal-api.js +0 -48
- package/src/project-graph/plugins/messaging.d.ts +0 -94
- package/src/project-graph/plugins/messaging.js +0 -23
- package/src/project-graph/plugins/plugin-pool.d.ts +0 -4
- package/src/project-graph/plugins/plugin-pool.js +0 -213
- package/src/project-graph/plugins/plugin-worker.d.ts +0 -1
- package/src/project-graph/plugins/plugin-worker.js +0 -115
- package/src/project-graph/plugins/public-api.js +0 -4
- package/src/project-graph/plugins/utils.d.ts +0 -9
- package/src/project-graph/plugins/utils.js +0 -55
- package/src/project-graph/plugins/worker-api.d.ts +0 -26
- package/src/project-graph/plugins/worker-api.js +0 -177
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "nx",
|
3
|
-
"version": "18.1.0-canary.
|
3
|
+
"version": "18.1.0-canary.20240312-9520aa2",
|
4
4
|
"private": false,
|
5
5
|
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
6
6
|
"repository": {
|
@@ -66,7 +66,7 @@
|
|
66
66
|
"yargs-parser": "21.1.1",
|
67
67
|
"node-machine-id": "1.1.12",
|
68
68
|
"ora": "5.3.0",
|
69
|
-
"@nrwl/tao": "18.1.0-canary.
|
69
|
+
"@nrwl/tao": "18.1.0-canary.20240312-9520aa2"
|
70
70
|
},
|
71
71
|
"peerDependencies": {
|
72
72
|
"@swc-node/register": "^1.8.0",
|
@@ -81,16 +81,16 @@
|
|
81
81
|
}
|
82
82
|
},
|
83
83
|
"optionalDependencies": {
|
84
|
-
"@nx/nx-darwin-x64": "18.1.0-canary.
|
85
|
-
"@nx/nx-darwin-arm64": "18.1.0-canary.
|
86
|
-
"@nx/nx-linux-x64-gnu": "18.1.0-canary.
|
87
|
-
"@nx/nx-linux-x64-musl": "18.1.0-canary.
|
88
|
-
"@nx/nx-win32-x64-msvc": "18.1.0-canary.
|
89
|
-
"@nx/nx-linux-arm64-gnu": "18.1.0-canary.
|
90
|
-
"@nx/nx-linux-arm64-musl": "18.1.0-canary.
|
91
|
-
"@nx/nx-linux-arm-gnueabihf": "18.1.0-canary.
|
92
|
-
"@nx/nx-win32-arm64-msvc": "18.1.0-canary.
|
93
|
-
"@nx/nx-freebsd-x64": "18.1.0-canary.
|
84
|
+
"@nx/nx-darwin-x64": "18.1.0-canary.20240312-9520aa2",
|
85
|
+
"@nx/nx-darwin-arm64": "18.1.0-canary.20240312-9520aa2",
|
86
|
+
"@nx/nx-linux-x64-gnu": "18.1.0-canary.20240312-9520aa2",
|
87
|
+
"@nx/nx-linux-x64-musl": "18.1.0-canary.20240312-9520aa2",
|
88
|
+
"@nx/nx-win32-x64-msvc": "18.1.0-canary.20240312-9520aa2",
|
89
|
+
"@nx/nx-linux-arm64-gnu": "18.1.0-canary.20240312-9520aa2",
|
90
|
+
"@nx/nx-linux-arm64-musl": "18.1.0-canary.20240312-9520aa2",
|
91
|
+
"@nx/nx-linux-arm-gnueabihf": "18.1.0-canary.20240312-9520aa2",
|
92
|
+
"@nx/nx-win32-arm64-msvc": "18.1.0-canary.20240312-9520aa2",
|
93
|
+
"@nx/nx-freebsd-x64": "18.1.0-canary.20240312-9520aa2"
|
94
94
|
},
|
95
95
|
"nx-migrations": {
|
96
96
|
"migrations": "./migrations.json",
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { ProjectsConfigurations } from '../config/workspace-json-project-json';
|
2
|
-
import { NxPluginV2 } from '../
|
2
|
+
import { NxPluginV2 } from '../utils/nx-plugin';
|
3
3
|
export declare const NX_ANGULAR_JSON_PLUGIN_NAME = "nx-angular-json-plugin";
|
4
4
|
export declare const NxAngularJsonPlugin: NxPluginV2;
|
5
|
-
export default NxAngularJsonPlugin;
|
6
5
|
export declare function shouldMergeAngularProjects(root: string, includeProjectsFromAngularJson: boolean): boolean;
|
7
6
|
export declare function isAngularPluginInstalled(): boolean;
|
8
7
|
export declare function toNewFormat(w: any): ProjectsConfigurations;
|
@@ -14,7 +14,6 @@ exports.NxAngularJsonPlugin = {
|
|
14
14
|
}),
|
15
15
|
],
|
16
16
|
};
|
17
|
-
exports.default = exports.NxAngularJsonPlugin;
|
18
17
|
function shouldMergeAngularProjects(root, includeProjectsFromAngularJson) {
|
19
18
|
if ((0, fs_1.existsSync)(path.join(root, 'angular.json')) &&
|
20
19
|
// Include projects from angular.json if explicitly required.
|
@@ -19,7 +19,7 @@ const package_json_1 = require("../utils/package-json");
|
|
19
19
|
const package_manager_1 = require("../utils/package-manager");
|
20
20
|
const angular_json_1 = require("./angular-json");
|
21
21
|
const executor_utils_1 = require("../command-line/run/executor-utils");
|
22
|
-
const
|
22
|
+
const nx_plugin_1 = require("../utils/nx-plugin");
|
23
23
|
const schema_utils_1 = require("../config/schema-utils");
|
24
24
|
async function createBuilderContext(builderInfo, context) {
|
25
25
|
require('./compat');
|
@@ -146,7 +146,7 @@ function createNodeModulesEngineHost(resolvePaths, projects) {
|
|
146
146
|
collectionFilePath = require.resolve(name, { paths });
|
147
147
|
}
|
148
148
|
else {
|
149
|
-
const { json: { generators, schematics }, path: packageJsonPath, } = (0,
|
149
|
+
const { json: { generators, schematics }, path: packageJsonPath, } = (0, nx_plugin_1.readPluginPackageJson)(name, projects, paths);
|
150
150
|
if (!schematics && !generators) {
|
151
151
|
throw new Error(`The "${name}" package does not support Nx generators or Angular Devkit schematics.`);
|
152
152
|
}
|
@@ -802,7 +802,7 @@ async function getWrappedWorkspaceNodeModulesArchitectHost(workspace, root, proj
|
|
802
802
|
};
|
803
803
|
}
|
804
804
|
readExecutorsJson(nodeModule, builder) {
|
805
|
-
const { json: packageJson, path: packageJsonPath } = (0,
|
805
|
+
const { json: packageJson, path: packageJsonPath } = (0, nx_plugin_1.readPluginPackageJson)(nodeModule, this.projects, this.root ? [this.root, __dirname] : [__dirname]);
|
806
806
|
const executorsFile = packageJson.executors ?? packageJson.builders;
|
807
807
|
if (!executorsFile) {
|
808
808
|
throw new Error(`The "${nodeModule}" package does not support Nx executors or Angular Devkit Builders.`);
|
@@ -4,7 +4,7 @@ exports.readGeneratorsJson = exports.getGeneratorInformation = void 0;
|
|
4
4
|
const path_1 = require("path");
|
5
5
|
const schema_utils_1 = require("../../config/schema-utils");
|
6
6
|
const fileutils_1 = require("../../utils/fileutils");
|
7
|
-
const
|
7
|
+
const nx_plugin_1 = require("../../utils/nx-plugin");
|
8
8
|
function getGeneratorInformation(collectionName, generatorName, root, projects) {
|
9
9
|
try {
|
10
10
|
const { generatorsFilePath, generatorsJson, resolvedCollectionName, normalizedGeneratorName, } = readGeneratorsJson(collectionName, generatorName, root, projects);
|
@@ -48,7 +48,7 @@ function readGeneratorsJson(collectionName, generator, root, projects) {
|
|
48
48
|
});
|
49
49
|
}
|
50
50
|
else {
|
51
|
-
const { json: packageJson, path: packageJsonPath } = (0,
|
51
|
+
const { json: packageJson, path: packageJsonPath } = (0, nx_plugin_1.readPluginPackageJson)(collectionName, projects, root ? [root, __dirname] : [__dirname]);
|
52
52
|
const generatorsFile = packageJson.generators ?? packageJson.schematics;
|
53
53
|
if (!generatorsFile) {
|
54
54
|
throw new Error(`The "${collectionName}" package does not support Nx generators.`);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.getExecutorInformation = exports.normalizeExecutorSchema = void 0;
|
4
4
|
const path_1 = require("path");
|
5
|
-
const
|
5
|
+
const nx_plugin_1 = require("../../utils/nx-plugin");
|
6
6
|
const fileutils_1 = require("../../utils/fileutils");
|
7
7
|
const schema_utils_1 = require("../../config/schema-utils");
|
8
8
|
const installation_directory_1 = require("../../utils/installation-directory");
|
@@ -55,7 +55,7 @@ function getExecutorInformation(nodeModule, executor, root, projects) {
|
|
55
55
|
}
|
56
56
|
exports.getExecutorInformation = getExecutorInformation;
|
57
57
|
function readExecutorJson(nodeModule, executor, root, projects) {
|
58
|
-
const { json: packageJson, path: packageJsonPath } = (0,
|
58
|
+
const { json: packageJson, path: packageJsonPath } = (0, nx_plugin_1.readPluginPackageJson)(nodeModule, projects, root
|
59
59
|
? [root, __dirname, process.cwd(), ...(0, installation_directory_1.getNxRequirePaths)()]
|
60
60
|
: [__dirname, process.cwd(), ...(0, installation_directory_1.getNxRequirePaths)()]);
|
61
61
|
const executorsFile = packageJson.executors ?? packageJson.builders;
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveSchema = exports.resolveImplementation = exports.getImplementationFactory = void 0;
|
4
4
|
const fs_1 = require("fs");
|
5
5
|
const path_1 = require("path");
|
6
|
-
const
|
6
|
+
const nx_plugin_1 = require("../utils/nx-plugin");
|
7
7
|
/**
|
8
8
|
* This function is used to get the implementation factory of an executor or generator.
|
9
9
|
* @param implementation path to the implementation
|
@@ -15,7 +15,7 @@ function getImplementationFactory(implementation, directory) {
|
|
15
15
|
return () => {
|
16
16
|
const modulePath = resolveImplementation(implementationModulePath, directory);
|
17
17
|
if ((0, path_1.extname)(modulePath) === '.ts') {
|
18
|
-
(0,
|
18
|
+
(0, nx_plugin_1.registerPluginTSTranspiler)();
|
19
19
|
}
|
20
20
|
const module = require(modulePath);
|
21
21
|
return implementationExportName
|
@@ -137,6 +137,7 @@ async function processFilesAndCreateAndSerializeProjectGraph() {
|
|
137
137
|
logger_1.serverLogger.requestLog([...updatedFiles.values()]);
|
138
138
|
logger_1.serverLogger.requestLog([...deletedFiles]);
|
139
139
|
const nxJson = (0, nx_json_1.readNxJson)(workspace_root_1.workspaceRoot);
|
140
|
+
// Set this globally to allow plugins to know if they are being called from the project graph creation
|
140
141
|
global.NX_GRAPH_CREATION = true;
|
141
142
|
const graphNodes = await (0, retrieve_workspace_files_1.retrieveProjectConfigurations)(workspace_root_1.workspaceRoot, nxJson);
|
142
143
|
await processCollectedUpdatedAndDeletedFiles(graphNodes, updatedFileHashes, deletedFiles);
|
package/src/devkit-exports.d.ts
CHANGED
@@ -19,8 +19,7 @@ export type { Generator, GeneratorCallback, Executor, ExecutorContext, TaskGraph
|
|
19
19
|
*/
|
20
20
|
export { Workspaces } from './config/workspaces';
|
21
21
|
export { workspaceLayout } from './config/configuration';
|
22
|
-
export type { NxPlugin, NxPluginV2, CreateNodes, CreateNodesFunction, CreateNodesResult, CreateNodesContext, CreateDependencies, CreateDependenciesContext, } from './
|
23
|
-
export type { NxPluginV1, ProjectTargetConfigurator, } from './utils/nx-plugin.deprecated';
|
22
|
+
export type { NxPlugin, NxPluginV1, NxPluginV2, ProjectTargetConfigurator, CreateNodes, CreateNodesFunction, CreateNodesResult, CreateNodesContext, CreateDependencies, CreateDependenciesContext, } from './utils/nx-plugin';
|
24
23
|
/**
|
25
24
|
* @category Workspace
|
26
25
|
*/
|
@@ -18,4 +18,3 @@ export { hashObject } from './hasher/file-hasher';
|
|
18
18
|
export { hashWithWorkspaceContext } from './utils/workspace-context';
|
19
19
|
export { createProjectRootMappingsFromProjectConfigurations, findProjectForPath, } from './project-graph/utils/find-project-for-path';
|
20
20
|
export { registerTsProject } from './plugins/js/utils/register';
|
21
|
-
export { shutdownPluginWorkers } from './project-graph/plugins/plugin-pool';
|
package/src/devkit-internals.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.registerTsProject = exports.findProjectForPath = exports.createProjectRootMappingsFromProjectConfigurations = exports.hashWithWorkspaceContext = exports.hashObject = exports.splitByColons = exports.readModulePackageJson = exports.stripIndent = exports.sortObjectByKeys = exports.combineOptionsForExecutor = exports.splitTarget = exports.retrieveProjectConfigurationsWithAngularProjects = exports.calculateDefaultProjectName = exports.readNxJsonFromDisk = exports.getExecutorInformation = exports.createTempNpmDirectory = void 0;
|
4
4
|
/**
|
5
5
|
* Note to developers: STOP! These exports are available via requireNx in @nx/devkit.
|
6
6
|
*
|
@@ -37,5 +37,3 @@ Object.defineProperty(exports, "createProjectRootMappingsFromProjectConfiguratio
|
|
37
37
|
Object.defineProperty(exports, "findProjectForPath", { enumerable: true, get: function () { return find_project_for_path_1.findProjectForPath; } });
|
38
38
|
var register_1 = require("./plugins/js/utils/register");
|
39
39
|
Object.defineProperty(exports, "registerTsProject", { enumerable: true, get: function () { return register_1.registerTsProject; } });
|
40
|
-
var plugin_pool_1 = require("./project-graph/plugins/plugin-pool");
|
41
|
-
Object.defineProperty(exports, "shutdownPluginWorkers", { enumerable: true, get: function () { return plugin_pool_1.shutdownPluginWorkers; } });
|
@@ -136,8 +136,8 @@ function readAndCombineAllProjectConfigurations(tree) {
|
|
136
136
|
...(0, package_json_workspaces_1.getGlobPatternsFromPackageManagerWorkspaces)(tree.root, (p) => (0, json_1.readJson)(tree, p, { expectComments: true })),
|
137
137
|
];
|
138
138
|
const projectGlobPatterns = (0, retrieve_workspace_files_1.configurationGlobs)([
|
139
|
-
project_json_1.ProjectJsonProjectsPlugin,
|
140
|
-
{
|
139
|
+
{ plugin: project_json_1.ProjectJsonProjectsPlugin },
|
140
|
+
{ plugin: (0, package_json_workspaces_1.getNxPackageJsonWorkspacesPlugin)(tree.root) },
|
141
141
|
]);
|
142
142
|
const globbedFiles = (0, workspace_context_1.globWithWorkspaceContext)(tree.root, projectGlobPatterns);
|
143
143
|
const createdFiles = findCreatedProjectFiles(tree, patterns);
|
@@ -5,12 +5,10 @@ const path_1 = require("path");
|
|
5
5
|
const json_1 = require("../../generators/utils/json");
|
6
6
|
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
7
7
|
const retrieve_workspace_files_1 = require("../../project-graph/utils/retrieve-workspace-files");
|
8
|
-
const
|
9
|
-
const plugin_pool_1 = require("../../project-graph/plugins/plugin-pool");
|
8
|
+
const nx_plugin_1 = require("../../utils/nx-plugin");
|
10
9
|
async function default_1(tree) {
|
11
10
|
const nxJson = (0, nx_json_1.readNxJson)(tree);
|
12
|
-
const projectFiles = await (0, retrieve_workspace_files_1.retrieveProjectConfigurationPaths)(tree.root, await (0,
|
13
|
-
await (0, plugin_pool_1.shutdownPluginWorkers)();
|
11
|
+
const projectFiles = await (0, retrieve_workspace_files_1.retrieveProjectConfigurationPaths)(tree.root, await (0, nx_plugin_1.loadNxPlugins)(nxJson?.plugins));
|
14
12
|
const projectJsons = projectFiles.filter((f) => f.endsWith('project.json'));
|
15
13
|
for (let f of projectJsons) {
|
16
14
|
const projectJson = (0, json_1.readJson)(tree, f);
|
@@ -6,7 +6,7 @@ const format_changed_files_with_prettier_if_available_1 = require("../../generat
|
|
6
6
|
/**
|
7
7
|
* Updates existing workspaces to move nx.json's affected.defaultBase to nx.json's base.
|
8
8
|
*/
|
9
|
-
function update(host) {
|
9
|
+
async function update(host) {
|
10
10
|
const nxJson = (0, nx_json_1.readNxJson)(host);
|
11
11
|
if (nxJson?.affected?.defaultBase) {
|
12
12
|
nxJson.defaultBase = nxJson.affected.defaultBase;
|
@@ -16,6 +16,6 @@ function update(host) {
|
|
16
16
|
}
|
17
17
|
(0, nx_json_1.updateNxJson)(host, nxJson);
|
18
18
|
}
|
19
|
-
(0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(host);
|
19
|
+
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(host);
|
20
20
|
}
|
21
21
|
exports.default = update;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { CreateDependencies, CreateNodes } from '../../
|
1
|
+
import { CreateDependencies, CreateNodes } from '../../utils/nx-plugin';
|
2
2
|
export declare const name = "nx/js/dependencies-and-lockfile";
|
3
3
|
export declare const createNodes: CreateNodes;
|
4
4
|
export declare const createDependencies: CreateDependencies;
|
@@ -6,7 +6,7 @@ import { PackageManager } from '../../../utils/package-manager';
|
|
6
6
|
import { ProjectGraph, ProjectGraphExternalNode } from '../../../config/project-graph';
|
7
7
|
import { RawProjectGraphDependency } from '../../../project-graph/project-graph-builder';
|
8
8
|
import { PackageJson } from '../../../utils/package-json';
|
9
|
-
import { CreateDependenciesContext } from '../../../
|
9
|
+
import { CreateDependenciesContext } from '../../../utils/nx-plugin';
|
10
10
|
export declare const LOCKFILES: string[];
|
11
11
|
/**
|
12
12
|
* Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { NormalizedPackageJson } from './utils/package-json';
|
2
2
|
import { RawProjectGraphDependency } from '../../../project-graph/project-graph-builder';
|
3
3
|
import { ProjectGraph, ProjectGraphExternalNode } from '../../../config/project-graph';
|
4
|
-
import { CreateDependenciesContext } from '../../../
|
4
|
+
import { CreateDependenciesContext } from '../../../utils/nx-plugin';
|
5
5
|
export declare function getNpmLockfileNodes(lockFileContent: string, lockFileHash: string): Record<string, ProjectGraphExternalNode>;
|
6
6
|
export declare function getNpmLockfileDependencies(lockFileContent: string, lockFileHash: string, ctx: CreateDependenciesContext): RawProjectGraphDependency[];
|
7
7
|
export declare function stringifyNpmLockfile(graph: ProjectGraph, rootLockFileContent: string, packageJson: NormalizedPackageJson): string;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { NormalizedPackageJson } from './utils/package-json';
|
2
2
|
import { RawProjectGraphDependency } from '../../../project-graph/project-graph-builder';
|
3
3
|
import { ProjectGraph, ProjectGraphExternalNode } from '../../../config/project-graph';
|
4
|
-
import { CreateDependenciesContext } from '../../../
|
4
|
+
import { CreateDependenciesContext } from '../../../utils/nx-plugin';
|
5
5
|
export declare function getPnpmLockfileNodes(lockFileContent: string, lockFileHash: string): Record<string, ProjectGraphExternalNode>;
|
6
6
|
export declare function getPnpmLockfileDependencies(lockFileContent: string, lockFileHash: string, ctx: CreateDependenciesContext): RawProjectGraphDependency[];
|
7
7
|
export declare function stringifyPnpmLockfile(graph: ProjectGraph, rootLockFileContent: string, packageJson: NormalizedPackageJson): string;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { NormalizedPackageJson } from './utils/package-json';
|
2
2
|
import { RawProjectGraphDependency } from '../../../project-graph/project-graph-builder';
|
3
3
|
import { ProjectGraph, ProjectGraphExternalNode } from '../../../config/project-graph';
|
4
|
-
import { CreateDependenciesContext } from '../../../
|
4
|
+
import { CreateDependenciesContext } from '../../../utils/nx-plugin';
|
5
5
|
export declare function getYarnLockfileNodes(lockFileContent: string, lockFileHash: string, packageJson: NormalizedPackageJson): Record<string, ProjectGraphExternalNode>;
|
6
6
|
export declare function getYarnLockfileDependencies(lockFileContent: string, lockFileHash: string, ctx: CreateDependenciesContext): RawProjectGraphDependency[];
|
7
7
|
export declare function stringifyYarnLockfile(graph: ProjectGraph, rootLockFileContent: string, packageJson: NormalizedPackageJson): string;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { CreateDependenciesContext } from '../../../../
|
1
|
+
import { CreateDependenciesContext } from '../../../../utils/nx-plugin';
|
2
2
|
import { RawProjectGraphDependency } from '../../../../project-graph/project-graph-builder';
|
3
3
|
export declare function buildExplicitDependencies(jsPluginConfig: {
|
4
4
|
analyzeSourceFiles?: boolean;
|
package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import { CreateDependenciesContext } from '../../../../
|
1
|
+
import { CreateDependenciesContext } from '../../../../utils/nx-plugin';
|
2
2
|
import { RawProjectGraphDependency } from '../../../../project-graph/project-graph-builder';
|
3
3
|
export declare function buildExplicitPackageJsonDependencies(ctx: CreateDependenciesContext): RawProjectGraphDependency[];
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import { CreateDependenciesContext } from '../../../../
|
1
|
+
import { CreateDependenciesContext } from '../../../../utils/nx-plugin';
|
2
2
|
import { RawProjectGraphDependency } from '../../../../project-graph/project-graph-builder';
|
3
3
|
export declare function buildExplicitTypeScriptDependencies(ctx: CreateDependenciesContext): RawProjectGraphDependency[];
|
@@ -67,7 +67,9 @@ function getTranspiler(compilerOptions) {
|
|
67
67
|
}
|
68
68
|
compilerOptions.lib = ['es2021'];
|
69
69
|
compilerOptions.module = ts.ModuleKind.CommonJS;
|
70
|
-
|
70
|
+
// use NodeJs module resolution until support for TS 4.x is dropped and then
|
71
|
+
// we can switch to Node10
|
72
|
+
compilerOptions.moduleResolution = ts.ModuleResolutionKind.NodeJs;
|
71
73
|
compilerOptions.target = ts.ScriptTarget.ES2021;
|
72
74
|
compilerOptions.inlineSourceMap = true;
|
73
75
|
compilerOptions.skipLibCheck = true;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { NxJsonConfiguration } from '../../config/nx-json';
|
2
2
|
import { ProjectConfiguration } from '../../config/workspace-json-project-json';
|
3
|
+
import { NxPluginV2 } from '../../utils/nx-plugin';
|
3
4
|
import { PackageJson } from '../../utils/package-json';
|
4
|
-
|
5
|
-
export declare const createNodes: CreateNodes;
|
5
|
+
export declare function getNxPackageJsonWorkspacesPlugin(root: string): NxPluginV2;
|
6
6
|
export declare function createNodeFromPackageJson(pkgJsonPath: string, root: string): {
|
7
7
|
projects: {
|
8
8
|
[x: string]: ProjectConfiguration & {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getGlobPatternsFromPackageManagerWorkspaces = exports.buildProjectConfigurationFromPackageJson = exports.createNodeFromPackageJson = exports.
|
3
|
+
exports.getGlobPatternsFromPackageManagerWorkspaces = exports.buildProjectConfigurationFromPackageJson = exports.createNodeFromPackageJson = exports.getNxPackageJsonWorkspacesPlugin = void 0;
|
4
4
|
const minimatch_1 = require("minimatch");
|
5
5
|
const node_fs_1 = require("node:fs");
|
6
6
|
const node_path_1 = require("node:path");
|
@@ -12,30 +12,37 @@ const logger_1 = require("../../utils/logger");
|
|
12
12
|
const output_1 = require("../../utils/output");
|
13
13
|
const package_json_1 = require("../../utils/package-json");
|
14
14
|
const path_1 = require("../../utils/path");
|
15
|
-
|
16
|
-
const readJson = (f) => (0, fileutils_1.readJsonFile)((0, node_path_1.join)(
|
17
|
-
const patterns = getGlobPatternsFromPackageManagerWorkspaces(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
//
|
24
|
-
|
25
|
-
//
|
26
|
-
(positivePatterns.length ===
|
27
|
-
|
15
|
+
function getNxPackageJsonWorkspacesPlugin(root) {
|
16
|
+
const readJson = (f) => (0, fileutils_1.readJsonFile)((0, node_path_1.join)(root, f));
|
17
|
+
const patterns = getGlobPatternsFromPackageManagerWorkspaces(root, readJson);
|
18
|
+
// If the user only specified a negative pattern, we should find all package.json
|
19
|
+
// files and only return those that don't match a negative pattern.
|
20
|
+
const negativePatterns = patterns.filter((p) => p.startsWith('!'));
|
21
|
+
let positivePatterns = patterns.filter((p) => !p.startsWith('!'));
|
22
|
+
if (
|
23
|
+
// There are some negative patterns
|
24
|
+
negativePatterns.length > 0 &&
|
25
|
+
// No positive patterns
|
26
|
+
(positivePatterns.length === 0 ||
|
27
|
+
// Or only a single positive pattern that is the default coming from root package
|
28
|
+
(positivePatterns.length === 1 && positivePatterns[0] === 'package.json'))) {
|
29
|
+
positivePatterns.push('**/package.json');
|
30
|
+
}
|
31
|
+
return {
|
32
|
+
name: 'nx/core/package-json-workspaces',
|
33
|
+
createNodes: [
|
34
|
+
(0, globs_1.combineGlobPatterns)(positivePatterns),
|
35
|
+
(p) => {
|
36
|
+
if (!negativePatterns.some((negative) => (0, minimatch_1.minimatch)(p, negative))) {
|
37
|
+
return createNodeFromPackageJson(p, root);
|
38
|
+
}
|
39
|
+
// A negative pattern matched, so we should not create a node for this package.json
|
40
|
+
return {};
|
41
|
+
},
|
42
|
+
],
|
43
|
+
};
|
28
44
|
}
|
29
|
-
exports.
|
30
|
-
(0, globs_1.combineGlobPatterns)(positivePatterns),
|
31
|
-
(p, _, { workspaceRoot }) => {
|
32
|
-
if (!negativePatterns.some((negative) => (0, minimatch_1.minimatch)(p, negative))) {
|
33
|
-
return createNodeFromPackageJson(p, workspaceRoot);
|
34
|
-
}
|
35
|
-
// A negative pattern matched, so we should not create a node for this package.json
|
36
|
-
return {};
|
37
|
-
},
|
38
|
-
];
|
45
|
+
exports.getNxPackageJsonWorkspacesPlugin = getNxPackageJsonWorkspacesPlugin;
|
39
46
|
function createNodeFromPackageJson(pkgJsonPath, root) {
|
40
47
|
const json = (0, fileutils_1.readJsonFile)((0, node_path_1.join)(root, pkgJsonPath));
|
41
48
|
const project = buildProjectConfigurationFromPackageJson(json, pkgJsonPath, (0, nx_json_1.readNxJson)(root));
|
@@ -24,7 +24,6 @@ exports.PackageJsonProjectsNextToProjectJsonPlugin = {
|
|
24
24
|
},
|
25
25
|
],
|
26
26
|
};
|
27
|
-
exports.default = exports.PackageJsonProjectsNextToProjectJsonPlugin;
|
28
27
|
function createProjectFromPackageJsonNextToProjectJson(projectJsonPath, workspaceRoot) {
|
29
28
|
const root = (0, path_1.dirname)(projectJsonPath);
|
30
29
|
const packageJsonPath = (0, path_1.join)(workspaceRoot, root, 'package.json');
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { ProjectConfiguration } from '../../../config/workspace-json-project-json';
|
2
|
-
import { NxPluginV2 } from '../../../
|
2
|
+
import { NxPluginV2 } from '../../../utils/nx-plugin';
|
3
3
|
export declare const ProjectJsonProjectsPlugin: NxPluginV2;
|
4
|
-
export default ProjectJsonProjectsPlugin;
|
5
4
|
export declare function buildProjectFromProjectJson(json: Partial<ProjectConfiguration>, path: string): ProjectConfiguration;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { TargetConfiguration } from '../../config/workspace-json-project-json';
|
2
|
-
import { NxPluginV2 } from '../../
|
2
|
+
import { NxPluginV2 } from '../../utils/nx-plugin';
|
3
3
|
/**
|
4
4
|
* This marks that a target provides information which should modify a target already registered
|
5
5
|
* on the project via other plugins. If the target has not already been registered, and this symbol is true,
|
@@ -18,7 +18,6 @@ export declare const ONLY_MODIFIES_EXISTING_TARGET = "NX_ONLY_MODIFIES_EXISTING_
|
|
18
18
|
*/
|
19
19
|
export declare const OVERRIDE_SOURCE_FILE = "NX_OVERRIDE_SOURCE_FILE";
|
20
20
|
export declare const TargetDefaultsPlugin: NxPluginV2;
|
21
|
-
export default TargetDefaultsPlugin;
|
22
21
|
/**
|
23
22
|
* This fn gets target info that would make a target uniquely compatible
|
24
23
|
* with what is described by project.json or package.json. As the merge process
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTouchedProjectsFromProjectGlobChanges = void 0;
|
4
4
|
const minimatch_1 = require("minimatch");
|
5
5
|
const workspace_root_1 = require("../../../utils/workspace-root");
|
6
|
+
const installation_directory_1 = require("../../../utils/installation-directory");
|
6
7
|
const path_1 = require("path");
|
7
8
|
const fs_1 = require("fs");
|
8
9
|
const retrieve_workspace_files_1 = require("../../utils/retrieve-workspace-files");
|
9
|
-
const
|
10
|
+
const nx_plugin_1 = require("../../../utils/nx-plugin");
|
10
11
|
const globs_1 = require("../../../utils/globs");
|
11
12
|
const getTouchedProjectsFromProjectGlobChanges = async (touchedFiles, projectGraphNodes, nxJson) => {
|
12
|
-
const globPattern = (0, globs_1.combineGlobPatterns)((0, retrieve_workspace_files_1.configurationGlobs)(await (0,
|
13
|
+
const globPattern = (0, globs_1.combineGlobPatterns)((0, retrieve_workspace_files_1.configurationGlobs)(await (0, nx_plugin_1.loadNxPlugins)(nxJson?.plugins, (0, installation_directory_1.getNxRequirePaths)(workspace_root_1.workspaceRoot), workspace_root_1.workspaceRoot)));
|
13
14
|
const touchedProjects = new Set();
|
14
15
|
for (const touchedFile of touchedFiles) {
|
15
16
|
const isProjectFile = (0, minimatch_1.minimatch)(touchedFile.file, globPattern, {
|
@@ -8,15 +8,14 @@ const assert_workspace_validity_1 = require("../utils/assert-workspace-validity"
|
|
8
8
|
const nx_deps_cache_1 = require("./nx-deps-cache");
|
9
9
|
const implicit_project_dependencies_1 = require("./utils/implicit-project-dependencies");
|
10
10
|
const normalize_project_nodes_1 = require("./utils/normalize-project-nodes");
|
11
|
-
const
|
12
|
-
const utils_1 = require("./plugins/utils");
|
11
|
+
const nx_plugin_1 = require("../utils/nx-plugin");
|
13
12
|
const typescript_1 = require("../plugins/js/utils/typescript");
|
14
13
|
const fileutils_1 = require("../utils/fileutils");
|
15
14
|
const project_graph_builder_1 = require("./project-graph-builder");
|
16
15
|
const configuration_1 = require("../config/configuration");
|
17
16
|
const fs_1 = require("fs");
|
17
|
+
const installation_directory_1 = require("../utils/installation-directory");
|
18
18
|
const output_1 = require("../utils/output");
|
19
|
-
const plugin_pool_1 = require("./plugins/plugin-pool");
|
20
19
|
let storedFileMap = null;
|
21
20
|
let storedAllWorkspaceFiles = null;
|
22
21
|
let storedRustReferences = null;
|
@@ -71,7 +70,6 @@ async function buildProjectGraphUsingProjectFileMap(projects, externalNodes, fil
|
|
71
70
|
if (shouldWriteCache) {
|
72
71
|
(0, nx_deps_cache_1.writeCache)(projectFileMapCache, projectGraph);
|
73
72
|
}
|
74
|
-
await (0, plugin_pool_1.shutdownPluginWorkers)();
|
75
73
|
return {
|
76
74
|
projectGraph,
|
77
75
|
projectFileMapCache,
|
@@ -142,11 +140,11 @@ function createContext(projects, nxJson, externalNodes, fileMap, filesToProcess)
|
|
142
140
|
};
|
143
141
|
}
|
144
142
|
async function updateProjectGraphWithPlugins(context, initProjectGraph) {
|
145
|
-
const plugins = await (0,
|
143
|
+
const plugins = await (0, nx_plugin_1.loadNxPlugins)(context.nxJsonConfiguration?.plugins, (0, installation_directory_1.getNxRequirePaths)(), context.workspaceRoot, context.projects);
|
146
144
|
let graph = initProjectGraph;
|
147
|
-
for (const plugin of plugins) {
|
145
|
+
for (const { plugin } of plugins) {
|
148
146
|
try {
|
149
|
-
if ((0,
|
147
|
+
if ((0, nx_plugin_1.isNxPluginV1)(plugin) &&
|
150
148
|
plugin.processProjectGraph &&
|
151
149
|
!plugin.createDependencies) {
|
152
150
|
output_1.output.warn({
|
@@ -184,12 +182,11 @@ async function updateProjectGraphWithPlugins(context, initProjectGraph) {
|
|
184
182
|
}
|
185
183
|
}
|
186
184
|
const builder = new project_graph_builder_1.ProjectGraphBuilder(graph, context.fileMap.projectFileMap, context.fileMap.nonProjectFiles);
|
187
|
-
const createDependencyPlugins = plugins.filter((plugin) => (0,
|
188
|
-
await Promise.all(createDependencyPlugins.map(async (plugin) => {
|
185
|
+
const createDependencyPlugins = plugins.filter(({ plugin }) => (0, nx_plugin_1.isNxPluginV2)(plugin) && plugin.createDependencies);
|
186
|
+
await Promise.all(createDependencyPlugins.map(async ({ plugin, options }) => {
|
189
187
|
perf_hooks_1.performance.mark(`${plugin.name}:createDependencies - start`);
|
190
188
|
try {
|
191
|
-
|
192
|
-
const dependencies = await plugin.createDependencies(null, {
|
189
|
+
const dependencies = await plugin.createDependencies(options, {
|
193
190
|
...context,
|
194
191
|
});
|
195
192
|
for (const dep of dependencies) {
|
@@ -147,21 +147,21 @@ Object.defineProperty(exports, "workspaceLayout", { enumerable: true, get: funct
|
|
147
147
|
* TODO(v19): Remove this function.
|
148
148
|
*/
|
149
149
|
function getProjectsSyncNoInference(root, nxJson) {
|
150
|
-
const projectFiles = (0, retrieve_workspace_files_1.retrieveProjectConfigurationPaths)(root, (0, nx_plugin_deprecated_1.getDefaultPluginsSync)(root)
|
150
|
+
const projectFiles = (0, retrieve_workspace_files_1.retrieveProjectConfigurationPaths)(root, (0, nx_plugin_deprecated_1.getDefaultPluginsSync)(root));
|
151
151
|
const plugins = [
|
152
152
|
{ plugin: package_json_next_to_project_json_1.PackageJsonProjectsNextToProjectJsonPlugin },
|
153
153
|
...(0, nx_plugin_deprecated_1.getDefaultPluginsSync)(root),
|
154
154
|
];
|
155
155
|
const projectRootMap = new Map();
|
156
156
|
// We iterate over plugins first - this ensures that plugins specified first take precedence.
|
157
|
-
for (const { plugin } of plugins) {
|
157
|
+
for (const { plugin, options } of plugins) {
|
158
158
|
const [pattern, createNodes] = plugin.createNodes ?? [];
|
159
159
|
if (!pattern) {
|
160
160
|
continue;
|
161
161
|
}
|
162
162
|
for (const file of projectFiles) {
|
163
163
|
if ((0, minimatch_1.minimatch)(file, pattern, { dot: true })) {
|
164
|
-
let r = createNodes(file,
|
164
|
+
let r = createNodes(file, options, {
|
165
165
|
nxJsonConfiguration: nxJson,
|
166
166
|
workspaceRoot: root,
|
167
167
|
});
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* Builder for adding nodes and dependencies to a {@link ProjectGraph}
|
3
3
|
*/
|
4
4
|
import { DependencyType, FileMap, ProjectFileMap, ProjectGraph, ProjectGraphExternalNode, ProjectGraphProjectNode } from '../config/project-graph';
|
5
|
-
import { CreateDependenciesContext } from '
|
5
|
+
import { CreateDependenciesContext } from '../utils/nx-plugin';
|
6
6
|
/**
|
7
7
|
* A class which builds up a project graph
|
8
8
|
* @deprecated The {@link ProjectGraphProcessor} has been deprecated. Use a {@link CreateNodes} and/or a {@link CreateDependencies} instead. This will be removed in Nx 19.
|