create-nx-workspace 16.5.2 → 16.5.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nx-workspace",
3
- "version": "16.5.2",
3
+ "version": "16.5.3",
4
4
  "private": false,
5
5
  "description": "Smart, Fast and Extensible Build System",
6
6
  "repository": {
@@ -43,5 +43,5 @@
43
43
  },
44
44
  "main": "./index.js",
45
45
  "types": "./index.d.ts",
46
- "gitHead": "928273940d11aa7dea87cb625a92f2c3ec62e726"
46
+ "gitHead": "e886dc76e203b05908b1a1b8872dee834cc4d2c8"
47
47
  }
@@ -37,7 +37,7 @@ function createEmptyWorkspace(tmpDir, name, packageManager, options) {
37
37
  if (process.platform === 'win32' &&
38
38
  /\s/.test(nxWorkspaceRoot) &&
39
39
  packageManager === 'npm') {
40
- const pmVersion = +(0, package_manager_1.getPackageManagerVersion)(packageManager).split('.')[0];
40
+ const pmVersion = +(0, package_manager_1.getPackageManagerVersion)(packageManager, tmpDir).split('.')[0];
41
41
  if (pmVersion < 7) {
42
42
  nxWorkspaceRoot = `\\"${nxWorkspaceRoot.slice(1, -1)}\\"`;
43
43
  }
@@ -18,7 +18,7 @@ function createPreset(preset, parsedArgs, packageManager, directory) {
18
18
  if (process.platform === 'win32' &&
19
19
  /\s/.test(nxWorkspaceRoot) &&
20
20
  packageManager === 'npm') {
21
- const pmVersion = +(0, package_manager_1.getPackageManagerVersion)(packageManager).split('.')[0];
21
+ const pmVersion = +(0, package_manager_1.getPackageManagerVersion)(packageManager, workingDir).split('.')[0];
22
22
  if (pmVersion < 7) {
23
23
  nxWorkspaceRoot = `\\"${nxWorkspaceRoot.slice(1, -1)}\\"`;
24
24
  }
@@ -56,7 +56,7 @@ function recordStat(opts) {
56
56
  if (process.env.NX_VERBOSE_LOGGING === 'true') {
57
57
  console.log(`Record stat. Major: ${major}`);
58
58
  }
59
- if (major < 10 || major > 15)
59
+ if (major < 10 || major > 16)
60
60
  return; // test version, skip it
61
61
  const axios = require('axios');
62
62
  yield ((_a = axios['default']) !== null && _a !== void 0 ? _a : axios)
@@ -19,7 +19,7 @@ export declare function getPackageManagerCommand(packageManager?: PackageManager
19
19
  preInstall?: string;
20
20
  };
21
21
  export declare function generatePackageManagerFiles(root: string, packageManager?: PackageManager): void;
22
- export declare function getPackageManagerVersion(packageManager: PackageManager): string;
22
+ export declare function getPackageManagerVersion(packageManager: PackageManager, cwd?: string): string;
23
23
  /**
24
24
  * Detects which package manager was used to invoke create-nx-{plugin|workspace} command
25
25
  * based on the main Module process that invokes the command
@@ -42,7 +42,8 @@ function getPackageManagerCommand(packageManager = detectPackageManager()) {
42
42
  install: useBerry
43
43
  ? installCommand
44
44
  : `${installCommand} --ignore-scripts`,
45
- exec: 'yarn',
45
+ // using npx is necessary to avoid yarn classic manipulating the version detection when using berry
46
+ exec: useBerry ? 'npx' : 'yarn',
46
47
  };
47
48
  case 'pnpm':
48
49
  let useExec = false;
@@ -67,13 +68,24 @@ function generatePackageManagerFiles(root, packageManager = detectPackageManager
67
68
  case 'yarn':
68
69
  if (+pmMajor >= 2) {
69
70
  (0, fs_1.writeFileSync)((0, path_1.join)(root, '.yarnrc.yml'), 'nodeLinker: node-modules\nenableScripts: false');
71
+ // avoids errors when using nested yarn projects
72
+ (0, fs_1.writeFileSync)((0, path_1.join)(root, 'yarn.lock'), '');
70
73
  }
71
74
  break;
72
75
  }
73
76
  }
74
77
  exports.generatePackageManagerFiles = generatePackageManagerFiles;
75
- function getPackageManagerVersion(packageManager) {
76
- return (0, child_process_1.execSync)(`${packageManager} --version`).toString('utf-8').trim();
78
+ const pmVersionCache = new Map();
79
+ function getPackageManagerVersion(packageManager, cwd = process.cwd()) {
80
+ if (pmVersionCache.has(packageManager)) {
81
+ return pmVersionCache.get(packageManager);
82
+ }
83
+ const version = (0, child_process_1.execSync)(`${packageManager} --version`, {
84
+ cwd,
85
+ encoding: 'utf-8',
86
+ }).trim();
87
+ pmVersionCache.set(packageManager, version);
88
+ return version;
77
89
  }
78
90
  exports.getPackageManagerVersion = getPackageManagerVersion;
79
91
  /**