nx 18.4.0-canary.20240417-801a22b → 19.0.0-beta.0

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 (33) hide show
  1. package/.eslintrc.json +4 -0
  2. package/bin/nx.js +7 -19
  3. package/package.json +12 -12
  4. package/src/command-line/add/add.js +3 -1
  5. package/src/command-line/add/command-object.d.ts +1 -0
  6. package/src/command-line/add/command-object.js +6 -1
  7. package/src/command-line/init/implementation/react/check-for-uncommitted-changes.js +6 -3
  8. package/src/core/graph/main.js +1 -1
  9. package/src/daemon/cache.js +18 -0
  10. package/src/daemon/client/client.js +3 -4
  11. package/src/daemon/server/handle-hash-tasks.js +2 -2
  12. package/src/daemon/server/project-graph-incremental-recomputation.js +1 -2
  13. package/src/daemon/socket-utils.js +2 -2
  14. package/src/native/index.d.ts +1 -4
  15. package/src/native/index.js +67 -259
  16. package/src/native/native-bindings.js +268 -0
  17. package/src/native/transform-objects.js +1 -0
  18. package/src/project-graph/error-types.d.ts +27 -1
  19. package/src/project-graph/error-types.js +52 -1
  20. package/src/project-graph/plugins/isolation/index.js +8 -4
  21. package/src/project-graph/plugins/isolation/plugin-pool.d.ts +1 -1
  22. package/src/project-graph/plugins/isolation/plugin-pool.js +4 -10
  23. package/src/project-graph/plugins/utils.js +1 -1
  24. package/src/project-graph/project-graph.d.ts +2 -24
  25. package/src/project-graph/project-graph.js +11 -52
  26. package/src/project-graph/utils/retrieve-workspace-files.d.ts +3 -3
  27. package/src/tasks-runner/init-tasks-runner.js +2 -0
  28. package/src/tasks-runner/task-orchestrator.js +47 -29
  29. package/src/utils/dotenv.d.ts +7 -0
  30. package/src/utils/dotenv.js +22 -0
  31. package/src/utils/params.js +20 -17
  32. package/src/daemon/daemon-project-graph-error.d.ts +0 -8
  33. package/src/daemon/daemon-project-graph-error.js +0 -13
package/.eslintrc.json CHANGED
@@ -25,6 +25,10 @@
25
25
  {
26
26
  "group": ["nx/*"],
27
27
  "message": "Circular import in 'nx' found. Use relative path."
28
+ },
29
+ {
30
+ "group": ["**/native-bindings", "**/native-bindings.js"],
31
+ "message": "Direct imports from native-bindings.js are not allowed. Import from index.js instead."
28
32
  }
29
33
  ]
30
34
  }
package/bin/nx.js CHANGED
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const find_workspace_root_1 = require("../src/utils/find-workspace-root");
5
5
  const chalk = require("chalk");
6
- const dotenv_1 = require("dotenv");
7
- const dotenv_expand_1 = require("dotenv-expand");
6
+ const dotenv_1 = require("../src/utils/dotenv");
8
7
  const init_local_1 = require("./init-local");
9
8
  const output_1 = require("../src/utils/output");
10
9
  const installation_directory_1 = require("../src/utils/installation-directory");
@@ -20,15 +19,18 @@ const client_1 = require("../src/daemon/client/client");
20
19
  function main() {
21
20
  if (process.argv[2] !== 'report' &&
22
21
  process.argv[2] !== '--version' &&
23
- process.argv[2] !== '--help') {
22
+ process.argv[2] !== '--help' &&
23
+ process.argv[2] !== 'reset') {
24
24
  (0, assert_supported_platform_1.assertSupportedPlatform)();
25
25
  }
26
26
  require('nx/src/utils/perf-logging');
27
+ const workspace = (0, find_workspace_root_1.findWorkspaceRoot)(process.cwd());
27
28
  perf_hooks_1.performance.mark('loading dotenv files:start');
28
- loadDotEnvFiles();
29
+ if (workspace) {
30
+ (0, dotenv_1.loadRootEnvFiles)(workspace.dir);
31
+ }
29
32
  perf_hooks_1.performance.mark('loading dotenv files:end');
30
33
  perf_hooks_1.performance.measure('loading dotenv files', 'loading dotenv files:start', 'loading dotenv files:end');
31
- const workspace = (0, find_workspace_root_1.findWorkspaceRoot)(process.cwd());
32
34
  // new is a special case because there is no local workspace to load
33
35
  if (process.argv[2] === 'new' ||
34
36
  process.argv[2] === '_migrate' ||
@@ -81,20 +83,6 @@ function main() {
81
83
  }
82
84
  }
83
85
  }
84
- /**
85
- * This loads dotenv files from:
86
- * - .env
87
- * - .local.env
88
- * - .env.local
89
- */
90
- function loadDotEnvFiles() {
91
- for (const file of ['.local.env', '.env.local', '.env']) {
92
- const myEnv = (0, dotenv_1.config)({
93
- path: file,
94
- });
95
- (0, dotenv_expand_1.expand)(myEnv);
96
- }
97
- }
98
86
  function handleNoWorkspace(globalNxVersion) {
99
87
  output_1.output.log({
100
88
  title: `The current directory isn't part of an Nx workspace.`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "18.4.0-canary.20240417-801a22b",
3
+ "version": "19.0.0-beta.0",
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.4.0-canary.20240417-801a22b"
69
+ "@nrwl/tao": "19.0.0-beta.0"
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.4.0-canary.20240417-801a22b",
85
- "@nx/nx-darwin-arm64": "18.4.0-canary.20240417-801a22b",
86
- "@nx/nx-linux-x64-gnu": "18.4.0-canary.20240417-801a22b",
87
- "@nx/nx-linux-x64-musl": "18.4.0-canary.20240417-801a22b",
88
- "@nx/nx-win32-x64-msvc": "18.4.0-canary.20240417-801a22b",
89
- "@nx/nx-linux-arm64-gnu": "18.4.0-canary.20240417-801a22b",
90
- "@nx/nx-linux-arm64-musl": "18.4.0-canary.20240417-801a22b",
91
- "@nx/nx-linux-arm-gnueabihf": "18.4.0-canary.20240417-801a22b",
92
- "@nx/nx-win32-arm64-msvc": "18.4.0-canary.20240417-801a22b",
93
- "@nx/nx-freebsd-x64": "18.4.0-canary.20240417-801a22b"
84
+ "@nx/nx-darwin-x64": "19.0.0-beta.0",
85
+ "@nx/nx-darwin-arm64": "19.0.0-beta.0",
86
+ "@nx/nx-linux-x64-gnu": "19.0.0-beta.0",
87
+ "@nx/nx-linux-x64-musl": "19.0.0-beta.0",
88
+ "@nx/nx-win32-x64-msvc": "19.0.0-beta.0",
89
+ "@nx/nx-linux-arm64-gnu": "19.0.0-beta.0",
90
+ "@nx/nx-linux-arm64-musl": "19.0.0-beta.0",
91
+ "@nx/nx-linux-arm-gnueabihf": "19.0.0-beta.0",
92
+ "@nx/nx-win32-arm64-msvc": "19.0.0-beta.0",
93
+ "@nx/nx-freebsd-x64": "19.0.0-beta.0"
94
94
  },
95
95
  "nx-migrations": {
96
96
  "migrations": "./migrations.json",
@@ -101,7 +101,9 @@ async function initializePlugin(pkgName, options) {
101
101
  process.env.NX_ADD_PLUGINS !== 'false' &&
102
102
  coreNxPlugins.includes(pkgName);
103
103
  }
104
- await (0, child_process_2.runNxAsync)(`g ${pkgName}:${initGenerator} --keepExistingVersions${updatePackageScripts ? ' --updatePackageScripts' : ''}`, {
104
+ await (0, child_process_2.runNxAsync)(`g ${pkgName}:${initGenerator} --keepExistingVersions${updatePackageScripts ? ' --updatePackageScripts' : ''}${options.__overrides_unparsed__.length
105
+ ? ' ' + options.__overrides_unparsed__.join(' ')
106
+ : ''}`, {
105
107
  silent: !options.verbose,
106
108
  });
107
109
  }
@@ -3,5 +3,6 @@ export interface AddOptions {
3
3
  packageSpecifier: string;
4
4
  updatePackageScripts?: boolean;
5
5
  verbose?: boolean;
6
+ __overrides_unparsed__: string[];
6
7
  }
7
8
  export declare const yargsAddCommand: CommandModule<Record<string, unknown>, AddOptions>;
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.yargsAddCommand = void 0;
4
+ const shared_options_1 = require("../yargs-utils/shared-options");
4
5
  exports.yargsAddCommand = {
5
6
  command: 'add <packageSpecifier>',
6
7
  describe: 'Install a plugin and initialize it.',
7
8
  builder: (yargs) => yargs
9
+ .parserConfiguration({
10
+ 'strip-dashed': true,
11
+ 'unknown-options-as-args': true,
12
+ })
8
13
  .positional('packageSpecifier', {
9
14
  type: 'string',
10
15
  description: 'The package name and optional version (e.g. `@nx/react` or `@nx/react@latest`) to install and initialize. If the version is not specified it will install the same version as the `nx` package for Nx core plugins or the latest version for other packages',
@@ -20,5 +25,5 @@ exports.yargsAddCommand = {
20
25
  .example('$0 add @nx/react', 'Install the latest version of the `@nx/react` package and run its `@nx/react:init` generator')
21
26
  .example('$0 add non-core-nx-plugin', 'Install the latest version of the `non-core-nx-plugin` package and run its `non-core-nx-plugin:init` generator if available')
22
27
  .example('$0 add @nx/react@17.0.0', 'Install version `17.0.0` of the `@nx/react` package and run its `@nx/react:init` generator'),
23
- handler: (args) => Promise.resolve().then(() => require('./add')).then((m) => m.addHandler(args)),
28
+ handler: (args) => Promise.resolve().then(() => require('./add')).then((m) => m.addHandler((0, shared_options_1.withOverrides)(args))),
24
29
  };
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkForUncommittedChanges = void 0;
4
4
  const child_process_1 = require("child_process");
5
5
  function checkForUncommittedChanges() {
6
- const gitResult = (0, child_process_1.execSync)(`git status --porcelain`);
7
- if (gitResult.length > 0) {
6
+ const gitResult = (0, child_process_1.execSync)('git status --porcelain').toString();
7
+ const filteredResults = gitResult
8
+ .split('\n')
9
+ .filter((line) => !line.includes('.nx') && line.trim().length > 0);
10
+ if (filteredResults.length > 0) {
8
11
  console.log('❗️ Careful!');
9
12
  console.log('You have uncommitted changes in your repository.');
10
13
  console.log('');
11
- console.log(gitResult.toString());
14
+ console.log(filteredResults.join('\n').toString());
12
15
  console.log('Please commit your changes before running the migrator!');
13
16
  process.exit(1);
14
17
  }