@expo/package-manager 0.0.56 → 0.0.58

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/README.md CHANGED
@@ -3,15 +3,16 @@
3
3
  👋 Welcome to <br><code>@expo/package-manager</code>
4
4
  </h1>
5
5
 
6
+ <p align="center">A library for installing and finding packages in a project.</p>
7
+
6
8
  <!-- Header -->
7
9
 
8
10
  <p align="center">
9
- <b>A library for installing and finding packages in a node project</b>
10
- <br/>
11
- <br/>
12
- <a aria-label="Circle CI" href="https://circleci.com/gh/expo/expo-cli/tree/main">
13
- <img alt="Circle CI" src="https://flat.badgen.net/circleci/github/expo/expo-cli?label=Circle%20CI&labelColor=555555&icon=circleci">
14
- </a>
11
+ <img src="https://flat.badgen.net/packagephobia/install/@expo/package-manager">
12
+
13
+ <a href="https://www.npmjs.com/package/@expo/package-manager">
14
+ <img src="https://flat.badgen.net/npm/dw/@expo/package-manager" target="_blank" />
15
+ </a>
15
16
  </p>
16
17
 
17
18
  ---
@@ -38,20 +39,3 @@ await Promise.all([
38
39
  manager.addAsync('expo', 'expo-camera'),
39
40
  ]);
40
41
  ```
41
-
42
- ## License
43
-
44
- The Expo source code is made available under the [MIT license](LICENSE). Some of the dependencies are licensed differently, with the BSD license, for example.
45
-
46
- <!-- Footer -->
47
-
48
- ---
49
-
50
- <p>
51
- <a aria-label="sponsored by expo" href="http://expo.dev">
52
- <img src="https://img.shields.io/badge/SPONSORED%20BY%20EXPO-4630EB.svg?style=for-the-badge" target="_blank" />
53
- </a>
54
- <a aria-label="@expo/package-manager is free to use" href="/LICENSE" target="_blank">
55
- <img align="right" alt="License: MIT" src="https://img.shields.io/badge/License-MIT-success.svg?style=for-the-badge&color=33CC12" target="_blank" />
56
- </a>
57
- </p>
@@ -1,7 +1,7 @@
1
1
  import { SpawnOptions, SpawnResult } from '@expo/spawn-async';
2
2
  import { Ora } from 'ora';
3
3
  import { PackageManager } from './PackageManager';
4
- export declare type CocoaPodsErrorCode = 'NON_INTERACTIVE' | 'NO_CLI' | 'COMMAND_FAILED';
4
+ export type CocoaPodsErrorCode = 'NON_INTERACTIVE' | 'NO_CLI' | 'COMMAND_FAILED';
5
5
  export declare class CocoaPodsError extends Error {
6
6
  code: CocoaPodsErrorCode;
7
7
  cause?: Error | undefined;
@@ -68,6 +68,4 @@ export declare function getPodRepoUpdateMessage(errorOutput: string): {
68
68
  * @param error Error from CocoaPods CLI `pod install` command.
69
69
  * @returns
70
70
  */
71
- export declare function getImprovedPodInstallError(error: SpawnResult & Error, { cwd }: {
72
- cwd?: string;
73
- }): Error;
71
+ export declare function getImprovedPodInstallError(error: SpawnResult & Error, { cwd }: Pick<SpawnOptions, 'cwd'>): Error;
@@ -30,15 +30,6 @@ function extractMissingDependencyError(errorOutput) {
30
30
  }
31
31
  exports.extractMissingDependencyError = extractMissingDependencyError;
32
32
  class CocoaPodsPackageManager {
33
- constructor({ cwd, silent }) {
34
- this.silent = !!silent;
35
- this.options = {
36
- cwd,
37
- // We use pipe by default instead of inherit so that we can capture stderr/stdout and process it for errors.
38
- // Later we'll also pipe the stdout/stderr to the terminal when silent is false.
39
- stdio: 'pipe',
40
- };
41
- }
42
33
  static getPodProjectRoot(projectRoot) {
43
34
  if (CocoaPodsPackageManager.isUsingPods(projectRoot))
44
35
  return projectRoot;
@@ -74,7 +65,6 @@ class CocoaPodsPackageManager {
74
65
  await (0, spawn_async_1.default)('brew', ['install', 'cocoapods'], spawnOptions);
75
66
  }
76
67
  static async installCLIAsync({ nonInteractive = false, spawnOptions = { stdio: 'inherit' }, }) {
77
- var _a;
78
68
  if (!spawnOptions) {
79
69
  spawnOptions = { stdio: 'inherit' };
80
70
  }
@@ -88,7 +78,7 @@ class CocoaPodsPackageManager {
88
78
  catch (error) {
89
79
  if (!silent) {
90
80
  console.log(chalk_1.default.yellow(`\u203A Failed to install CocoaPods CLI with Gem`));
91
- console.log(chalk_1.default.red((_a = error.stderr) !== null && _a !== void 0 ? _a : error.message));
81
+ console.log(chalk_1.default.red(error.stderr ?? error.message));
92
82
  console.log(`\u203A Attempting to install CocoaPods CLI with Homebrew`);
93
83
  }
94
84
  try {
@@ -135,6 +125,15 @@ class CocoaPodsPackageManager {
135
125
  return false;
136
126
  }
137
127
  }
128
+ constructor({ cwd, silent }) {
129
+ this.silent = !!silent;
130
+ this.options = {
131
+ cwd,
132
+ // We use pipe by default instead of inherit so that we can capture stderr/stdout and process it for errors.
133
+ // Later we'll also pipe the stdout/stderr to the terminal when silent is false.
134
+ stdio: 'pipe',
135
+ };
136
+ }
138
137
  get name() {
139
138
  return 'CocoaPods';
140
139
  }
@@ -249,12 +248,11 @@ class CocoaPodsPackageManager {
249
248
  }
250
249
  // Private
251
250
  async podRepoUpdateAsync() {
252
- var _a;
253
251
  try {
254
252
  await this._runAsync(['repo', 'update']);
255
253
  }
256
254
  catch (error) {
257
- error.message = error.message || ((_a = error.stderr) !== null && _a !== void 0 ? _a : error.stdout);
255
+ error.message = error.message || (error.stderr ?? error.stdout);
258
256
  throw new CocoaPodsError('The command `pod install --repo-update` failed', 'COMMAND_FAILED', error);
259
257
  }
260
258
  }
@@ -294,11 +292,10 @@ function shouldPodRepoUpdate(errorOutput) {
294
292
  return isPodRepoUpdateError;
295
293
  }
296
294
  function getPodUpdateMessage(output) {
297
- var _a;
298
295
  const props = output.match(/run ['"`]pod update ([\w-_\d/]+)( --no-repo-update)?['"`] to apply changes/);
299
296
  return {
300
- updatePackage: (_a = props === null || props === void 0 ? void 0 : props[1]) !== null && _a !== void 0 ? _a : null,
301
- shouldUpdateRepo: !(props === null || props === void 0 ? void 0 : props[2]),
297
+ updatePackage: props?.[1] ?? null,
298
+ shouldUpdateRepo: !props?.[2],
302
299
  };
303
300
  }
304
301
  exports.getPodUpdateMessage = getPodUpdateMessage;
@@ -309,8 +306,8 @@ function getPodRepoUpdateMessage(errorOutput) {
309
306
  if (warningInfo) {
310
307
  message = `Couldn't install: ${warningInfo[1]} » ${chalk_1.default.underline(warningInfo[0])}.`;
311
308
  }
312
- else if (brokenPackage === null || brokenPackage === void 0 ? void 0 : brokenPackage.updatePackage) {
313
- message = `Couldn't install: ${brokenPackage === null || brokenPackage === void 0 ? void 0 : brokenPackage.updatePackage}.`;
309
+ else if (brokenPackage?.updatePackage) {
310
+ message = `Couldn't install: ${brokenPackage?.updatePackage}.`;
314
311
  }
315
312
  else {
316
313
  message = `Couldn't install Pods.`;
@@ -326,7 +323,6 @@ exports.getPodRepoUpdateMessage = getPodRepoUpdateMessage;
326
323
  * @returns
327
324
  */
328
325
  function getImprovedPodInstallError(error, { cwd = process.cwd() }) {
329
- var _a, _b;
330
326
  // Collect all of the spawn info.
331
327
  const errorOutput = error.output.join(os_1.default.EOL).trim();
332
328
  if (error.stdout.match(/No [`'"]Podfile[`'"] found in the project directory/)) {
@@ -346,7 +342,7 @@ function getImprovedPodInstallError(error, { cwd = process.cwd() }) {
346
342
  // Attempt to provide a helpful message about the missing NPM dependency (containing a CocoaPod) since React Native
347
343
  // developers will almost always be using autolinking and not interacting with CocoaPods directly.
348
344
  let solution;
349
- if (warningInfo === null || warningInfo === void 0 ? void 0 : warningInfo[0]) {
345
+ if (warningInfo?.[0]) {
350
346
  // If the missing package is named `expo-dev-menu`, `react-native`, etc. then it might not be installed in the project.
351
347
  if (warningInfo[0].match(/^(?:@?expo|@?react)(-|\/)/)) {
352
348
  solution = `Ensure the node module "${warningInfo[0]}" is installed in your project, then run 'npx pod-install' to try again.`;
@@ -364,7 +360,7 @@ function getImprovedPodInstallError(error, { cwd = process.cwd() }) {
364
360
  if (error.stdout) {
365
361
  const cocoapodsDebugInfo = error.stdout.split(os_1.default.EOL);
366
362
  // The troubleshooting info starts with `[!]`, capture everything after that.
367
- const firstWarning = cocoapodsDebugInfo.findIndex(v => v.startsWith('[!]'));
363
+ const firstWarning = cocoapodsDebugInfo.findIndex((v) => v.startsWith('[!]'));
368
364
  if (firstWarning !== -1) {
369
365
  const warning = cocoapodsDebugInfo.slice(firstWarning).join(os_1.default.EOL);
370
366
  error.message += `\n\n${chalk_1.default.gray(warning)}`;
@@ -375,11 +371,11 @@ function getImprovedPodInstallError(error, { cwd = process.cwd() }) {
375
371
  else {
376
372
  let stderr = error.stderr.trim();
377
373
  // CocoaPods CLI prints the useful error to stdout...
378
- const usefulError = (_a = error.stdout.match(/\[!\]\s((?:.|\n)*)/)) === null || _a === void 0 ? void 0 : _a[1];
374
+ const usefulError = error.stdout.match(/\[!\]\s((?:.|\n)*)/)?.[1];
379
375
  // If there is a useful error message then prune the less useful info.
380
376
  if (usefulError) {
381
377
  // Delete unhelpful CocoaPods CLI error message.
382
- if ((_b = error.message) === null || _b === void 0 ? void 0 : _b.match(/pod exited with non-zero code: 1/)) {
378
+ if (error.message?.match(/pod exited with non-zero code: 1/)) {
383
379
  error.message = '';
384
380
  }
385
381
  stderr = null;
@@ -1 +1 @@
1
- {"version":3,"file":"CocoaPodsPackageManager.js","sourceRoot":"","sources":["../src/CocoaPodsPackageManager.ts"],"names":[],"mappings":"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","sourcesContent":["import spawnAsync, { SpawnOptions, SpawnResult } from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { Ora } from 'ora';\nimport os from 'os';\nimport path from 'path';\n\nimport { PackageManager, spawnSudoAsync } from './PackageManager';\n\nexport type CocoaPodsErrorCode = 'NON_INTERACTIVE' | 'NO_CLI' | 'COMMAND_FAILED';\n\nexport class CocoaPodsError extends Error {\n readonly name = 'CocoaPodsError';\n readonly isPackageManagerError = true;\n\n constructor(message: string, public code: CocoaPodsErrorCode, public cause?: Error) {\n super(cause ? `${message}\\n└─ Cause: ${cause.message}` : message);\n }\n}\n\nexport function extractMissingDependencyError(errorOutput: string): [string, string] | null {\n // [!] Unable to find a specification for `expo-dev-menu-interface` depended upon by `expo-dev-launcher`\n const results = errorOutput.match(\n /Unable to find a specification for ['\"`]([\\w-_\\d\\s]+)['\"`] depended upon by ['\"`]([\\w-_\\d\\s]+)['\"`]/\n );\n if (results) {\n return [results[1], results[2]];\n }\n return null;\n}\n\nexport class CocoaPodsPackageManager implements PackageManager {\n options: SpawnOptions;\n\n private silent: boolean;\n\n static getPodProjectRoot(projectRoot: string): string | null {\n if (CocoaPodsPackageManager.isUsingPods(projectRoot)) return projectRoot;\n const iosProject = path.join(projectRoot, 'ios');\n if (CocoaPodsPackageManager.isUsingPods(iosProject)) return iosProject;\n const macOsProject = path.join(projectRoot, 'macos');\n if (CocoaPodsPackageManager.isUsingPods(macOsProject)) return macOsProject;\n return null;\n }\n\n static isUsingPods(projectRoot: string): boolean {\n return existsSync(path.join(projectRoot, 'Podfile'));\n }\n\n static async gemInstallCLIAsync(\n nonInteractive: boolean = false,\n spawnOptions: SpawnOptions = { stdio: 'inherit' }\n ): Promise<void> {\n const options = ['install', 'cocoapods', '--no-document'];\n\n try {\n // In case the user has run sudo before running the command we can properly install CocoaPods without prompting for an interaction.\n await spawnAsync('gem', options, spawnOptions);\n } catch (error: any) {\n if (nonInteractive) {\n throw new CocoaPodsError(\n 'Failed to install CocoaPods CLI with gem (recommended)',\n 'COMMAND_FAILED',\n error\n );\n }\n // If the user doesn't have permission then we can prompt them to use sudo.\n await spawnSudoAsync(['gem', ...options], spawnOptions);\n }\n }\n\n static async brewLinkCLIAsync(spawnOptions: SpawnOptions = { stdio: 'inherit' }): Promise<void> {\n await spawnAsync('brew', ['link', 'cocoapods'], spawnOptions);\n }\n\n static async brewInstallCLIAsync(\n spawnOptions: SpawnOptions = { stdio: 'inherit' }\n ): Promise<void> {\n await spawnAsync('brew', ['install', 'cocoapods'], spawnOptions);\n }\n\n static async installCLIAsync({\n nonInteractive = false,\n spawnOptions = { stdio: 'inherit' },\n }: {\n nonInteractive?: boolean;\n spawnOptions?: SpawnOptions;\n }): Promise<boolean> {\n if (!spawnOptions) {\n spawnOptions = { stdio: 'inherit' };\n }\n const silent = !!spawnOptions.ignoreStdio;\n\n try {\n !silent && console.log(`\\u203A Attempting to install CocoaPods CLI with Gem`);\n await CocoaPodsPackageManager.gemInstallCLIAsync(nonInteractive, spawnOptions);\n !silent && console.log(`\\u203A Successfully installed CocoaPods CLI with Gem`);\n return true;\n } catch (error: any) {\n if (!silent) {\n console.log(chalk.yellow(`\\u203A Failed to install CocoaPods CLI with Gem`));\n console.log(chalk.red(error.stderr ?? error.message));\n console.log(`\\u203A Attempting to install CocoaPods CLI with Homebrew`);\n }\n try {\n await CocoaPodsPackageManager.brewInstallCLIAsync(spawnOptions);\n if (!(await CocoaPodsPackageManager.isCLIInstalledAsync(spawnOptions))) {\n try {\n await CocoaPodsPackageManager.brewLinkCLIAsync(spawnOptions);\n // Still not available after linking? Bail out\n if (!(await CocoaPodsPackageManager.isCLIInstalledAsync(spawnOptions))) {\n throw new CocoaPodsError(\n 'CLI could not be installed automatically with gem or Homebrew, please install CocoaPods manually and try again',\n 'NO_CLI',\n error\n );\n }\n } catch (error: any) {\n throw new CocoaPodsError(\n 'Homebrew installation appeared to succeed but CocoaPods CLI not found in PATH and unable to link.',\n 'NO_CLI',\n error\n );\n }\n }\n\n !silent && console.log(`\\u203A Successfully installed CocoaPods CLI with Homebrew`);\n return true;\n } catch (error: any) {\n !silent &&\n console.warn(\n chalk.yellow(\n `\\u203A Failed to install CocoaPods with Homebrew. Please install CocoaPods CLI manually and try again.`\n )\n );\n throw new CocoaPodsError(\n `Failed to install CocoaPods with Homebrew. Please install CocoaPods CLI manually and try again.`,\n 'NO_CLI',\n error\n );\n }\n }\n }\n\n static isAvailable(projectRoot: string, silent: boolean): boolean {\n if (process.platform !== 'darwin') {\n !silent && console.log(chalk.red('CocoaPods is only supported on macOS machines'));\n return false;\n }\n if (!CocoaPodsPackageManager.isUsingPods(projectRoot)) {\n !silent && console.log(chalk.yellow('CocoaPods is not supported in this project'));\n return false;\n }\n return true;\n }\n\n static async isCLIInstalledAsync(\n spawnOptions: SpawnOptions = { stdio: 'inherit' }\n ): Promise<boolean> {\n try {\n await spawnAsync('pod', ['--version'], spawnOptions);\n return true;\n } catch {\n return false;\n }\n }\n\n constructor({ cwd, silent }: { cwd: string; silent?: boolean }) {\n this.silent = !!silent;\n this.options = {\n cwd,\n // We use pipe by default instead of inherit so that we can capture stderr/stdout and process it for errors.\n // Later we'll also pipe the stdout/stderr to the terminal when silent is false.\n stdio: 'pipe',\n };\n }\n\n get name() {\n return 'CocoaPods';\n }\n\n /** Runs `pod install` and attempts to automatically run known troubleshooting steps automatically. */\n async installAsync({ spinner }: { spinner?: Ora } = {}) {\n await this._installAsync({ spinner });\n }\n\n public isCLIInstalledAsync() {\n return CocoaPodsPackageManager.isCLIInstalledAsync(this.options);\n }\n\n public installCLIAsync() {\n return CocoaPodsPackageManager.installCLIAsync({\n nonInteractive: true,\n spawnOptions: this.options,\n });\n }\n\n async handleInstallErrorAsync({\n error,\n shouldUpdate = true,\n updatedPackages = [],\n spinner,\n }: {\n error: any;\n spinner?: Ora;\n shouldUpdate?: boolean;\n updatedPackages?: string[];\n }) {\n // Unknown errors are rethrown.\n if (!error.output) {\n throw error;\n }\n\n // To emulate a `pod install --repo-update` error, enter your `ios/Podfile.lock` and change one of `PODS` version numbers to some lower value.\n // const isPodRepoUpdateError = shouldPodRepoUpdate(output);\n if (!shouldUpdate) {\n // If we can't automatically fix the error, we'll just rethrow it with some known troubleshooting info.\n throw getImprovedPodInstallError(error, {\n cwd: this.options.cwd,\n });\n }\n\n // Collect all of the spawn info.\n const errorOutput = error.output.join(os.EOL).trim();\n\n // Extract useful information from the error message and push it to the spinner.\n const { updatePackage, shouldUpdateRepo } = getPodUpdateMessage(errorOutput);\n\n if (!updatePackage || updatedPackages.includes(updatePackage)) {\n // `pod install --repo-update`...\n // Attempt to install again but this time with install --repo-update enabled.\n return await this._installAsync({\n spinner,\n shouldRepoUpdate: true,\n // Include a boolean to ensure pod install --repo-update isn't invoked in the unlikely case where the pods fail to update.\n shouldUpdate: false,\n updatedPackages,\n });\n }\n // Store the package we should update to prevent a loop.\n updatedPackages.push(updatePackage);\n\n // If a single package is broken, we'll try to update it.\n // You can manually test this by changing a version number in your `Podfile.lock`.\n\n // Attempt `pod update <package> <--no-repo-update>` and then try again.\n return await this.runInstallTypeCommandAsync(\n ['update', updatePackage, shouldUpdateRepo ? '' : '--no-repo-update'].filter(Boolean),\n {\n formatWarning() {\n const updateMessage = `Failed to update ${chalk.bold(\n updatePackage\n )}. Attempting to update the repo instead.`;\n return updateMessage;\n },\n spinner,\n updatedPackages,\n }\n );\n // // If update succeeds, we'll try to install again (skipping `pod install --repo-update`).\n // return await this._installAsync({\n // spinner,\n // shouldUpdate: false,\n // updatedPackages,\n // });\n }\n\n private async _installAsync({\n shouldRepoUpdate,\n ...props\n }: {\n spinner?: Ora;\n shouldUpdate?: boolean;\n updatedPackages?: string[];\n shouldRepoUpdate?: boolean;\n } = {}): Promise<SpawnResult> {\n return await this.runInstallTypeCommandAsync(\n ['install', shouldRepoUpdate ? '--repo-update' : ''].filter(Boolean),\n {\n formatWarning(error: any) {\n // Extract useful information from the error message and push it to the spinner.\n return getPodRepoUpdateMessage(error.output.join(os.EOL).trim()).message;\n },\n ...props,\n }\n );\n }\n\n private async runInstallTypeCommandAsync(\n command: string[],\n {\n formatWarning,\n ...props\n }: {\n formatWarning?: (error: Error) => string;\n spinner?: Ora;\n shouldUpdate?: boolean;\n updatedPackages?: string[];\n } = {}\n ): Promise<SpawnResult> {\n try {\n return await this._runAsync(command);\n } catch (error: any) {\n if (formatWarning) {\n const warning = formatWarning(error);\n if (props.spinner) {\n props.spinner.text = chalk.bold(warning);\n }\n if (!this.silent) {\n console.warn(chalk.yellow(warning));\n }\n }\n\n return await this.handleInstallErrorAsync({ error, ...props });\n }\n }\n\n async addWithParametersAsync(names: string[], parameters: string[]) {\n throw new Error('Unimplemented');\n }\n\n async addAsync(...names: string[]) {\n throw new Error('Unimplemented');\n }\n\n async addDevAsync(...names: string[]) {\n throw new Error('Unimplemented');\n }\n\n async versionAsync() {\n const { stdout } = await spawnAsync('pod', ['--version'], this.options);\n return stdout.trim();\n }\n\n async getConfigAsync(key: string): Promise<string> {\n throw new Error('Unimplemented');\n }\n\n async removeLockfileAsync() {\n throw new Error('Unimplemented');\n }\n\n async cleanAsync() {\n throw new Error('Unimplemented');\n }\n\n // Private\n private async podRepoUpdateAsync(): Promise<void> {\n try {\n await this._runAsync(['repo', 'update']);\n } catch (error: any) {\n error.message = error.message || (error.stderr ?? error.stdout);\n\n throw new CocoaPodsError(\n 'The command `pod install --repo-update` failed',\n 'COMMAND_FAILED',\n error\n );\n }\n }\n\n // Exposed for testing\n async _runAsync(args: string[]): Promise<SpawnResult> {\n if (!this.silent) {\n console.log(`> pod ${args.join(' ')}`);\n }\n const promise = spawnAsync(\n 'pod',\n [\n ...args,\n // Enables colors while collecting output.\n '--ansi',\n ],\n {\n // Add the cwd and other options to the spawn options.\n ...this.options,\n // We use pipe by default instead of inherit so that we can capture stderr/stdout and process it for errors.\n // This is particularly required for the `pod install --repo-update` error.\n\n // Later we'll also pipe the stdout/stderr to the terminal when silent is false,\n // currently this means we lose out on the ansi colors unless passing the `--ansi` flag to every command.\n stdio: 'pipe',\n }\n );\n\n if (!this.silent) {\n // If not silent, pipe the stdout/stderr to the terminal.\n // We only do this when the `stdio` is set to `pipe` (collect the results for parsing), `inherit` won't contain `promise.child`.\n if (promise.child.stdout) {\n promise.child.stdout.pipe(process.stdout);\n }\n }\n\n return await promise;\n }\n}\n\n/** When pods are outdated, they'll throw an error informing you to run \"pod install --repo-update\" */\nfunction shouldPodRepoUpdate(errorOutput: string) {\n const output = errorOutput;\n const isPodRepoUpdateError =\n output.includes('pod repo update') || output.includes('--no-repo-update');\n return isPodRepoUpdateError;\n}\n\nexport function getPodUpdateMessage(output: string) {\n const props = output.match(\n /run ['\"`]pod update ([\\w-_\\d/]+)( --no-repo-update)?['\"`] to apply changes/\n );\n\n return {\n updatePackage: props?.[1] ?? null,\n shouldUpdateRepo: !props?.[2],\n };\n}\n\nexport function getPodRepoUpdateMessage(errorOutput: string) {\n const warningInfo = extractMissingDependencyError(errorOutput);\n const brokenPackage = getPodUpdateMessage(errorOutput);\n\n let message: string;\n if (warningInfo) {\n message = `Couldn't install: ${warningInfo[1]} » ${chalk.underline(warningInfo[0])}.`;\n } else if (brokenPackage?.updatePackage) {\n message = `Couldn't install: ${brokenPackage?.updatePackage}.`;\n } else {\n message = `Couldn't install Pods.`;\n }\n message += ` Updating the Pods project and trying again...`;\n return { message, ...brokenPackage };\n}\n\n/**\n * Format the CocoaPods CLI install error.\n *\n * @param error Error from CocoaPods CLI `pod install` command.\n * @returns\n */\nexport function getImprovedPodInstallError(\n error: SpawnResult & Error,\n { cwd = process.cwd() }: { cwd?: string }\n): Error {\n // Collect all of the spawn info.\n const errorOutput = error.output.join(os.EOL).trim();\n\n if (error.stdout.match(/No [`'\"]Podfile[`'\"] found in the project directory/)) {\n // Ran pod install but no Podfile was found.\n error.message = `No Podfile found in directory: ${cwd}. Ensure CocoaPods is setup any try again.`;\n } else if (shouldPodRepoUpdate(errorOutput)) {\n // Ran pod install but the install --repo-update step failed.\n const warningInfo = extractMissingDependencyError(errorOutput);\n let reason: string;\n if (warningInfo) {\n reason = `Couldn't install: ${warningInfo[1]} » ${chalk.underline(warningInfo[0])}`;\n } else {\n reason = `This is often due to native package versions mismatching`;\n }\n\n // Attempt to provide a helpful message about the missing NPM dependency (containing a CocoaPod) since React Native\n // developers will almost always be using autolinking and not interacting with CocoaPods directly.\n let solution: string;\n if (warningInfo?.[0]) {\n // If the missing package is named `expo-dev-menu`, `react-native`, etc. then it might not be installed in the project.\n if (warningInfo[0].match(/^(?:@?expo|@?react)(-|\\/)/)) {\n solution = `Ensure the node module \"${warningInfo[0]}\" is installed in your project, then run 'npx pod-install' to try again.`;\n } else {\n solution = `Ensure the CocoaPod \"${warningInfo[0]}\" is installed in your project, then run 'npx pod-install' to try again.`;\n }\n } else {\n // Brute force\n solution = `Try deleting the 'ios/Pods' folder or the 'ios/Podfile.lock' file and running 'npx pod-install' to resolve.`;\n }\n error.message = `${reason}. ${solution}`;\n\n // Attempt to provide the troubleshooting info from CocoaPods CLI at the bottom of the error message.\n if (error.stdout) {\n const cocoapodsDebugInfo = error.stdout.split(os.EOL);\n // The troubleshooting info starts with `[!]`, capture everything after that.\n const firstWarning = cocoapodsDebugInfo.findIndex(v => v.startsWith('[!]'));\n if (firstWarning !== -1) {\n const warning = cocoapodsDebugInfo.slice(firstWarning).join(os.EOL);\n error.message += `\\n\\n${chalk.gray(warning)}`;\n }\n }\n return new CocoaPodsError(\n 'Command `pod install --repo-update` failed.',\n 'COMMAND_FAILED',\n error\n );\n } else {\n let stderr: string | null = error.stderr.trim();\n\n // CocoaPods CLI prints the useful error to stdout...\n const usefulError = error.stdout.match(/\\[!\\]\\s((?:.|\\n)*)/)?.[1];\n\n // If there is a useful error message then prune the less useful info.\n if (usefulError) {\n // Delete unhelpful CocoaPods CLI error message.\n if (error.message?.match(/pod exited with non-zero code: 1/)) {\n error.message = '';\n }\n stderr = null;\n }\n\n error.message = [usefulError, error.message, stderr].filter(Boolean).join('\\n');\n }\n\n return new CocoaPodsError('Command `pod install` failed.', 'COMMAND_FAILED', error);\n}\n"]}
1
+ {"version":3,"file":"CocoaPodsPackageManager.js","sourceRoot":"","sources":["../src/CocoaPodsPackageManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SpawnOptions } from '@expo/spawn-async';
2
2
  import { Logger, PackageManager } from './PackageManager';
3
3
  import { PnpmPackageManager } from './PnpmPackageManager';
4
- export declare type NodePackageManager = 'yarn' | 'npm' | 'pnpm';
4
+ export type NodePackageManager = 'yarn' | 'npm' | 'pnpm';
5
5
  /**
6
6
  * Disable various postinstall scripts
7
7
  * - https://github.com/opencollective/opencollective-postinstall/pull/9
@@ -55,7 +55,7 @@ export declare class YarnPackageManager implements PackageManager {
55
55
  cleanAsync(): Promise<void>;
56
56
  private _runAsync;
57
57
  }
58
- export declare type CreateForProjectOptions = Partial<Record<NodePackageManager, boolean>> & {
58
+ export type CreateForProjectOptions = Partial<Record<NodePackageManager, boolean>> & {
59
59
  log?: Logger;
60
60
  silent?: boolean;
61
61
  };
@@ -75,7 +75,7 @@ class NpmPackageManager {
75
75
  await this._runAsync([
76
76
  'install',
77
77
  '--save',
78
- ...unversioned.map(spec => spec.raw),
78
+ ...unversioned.map((spec) => spec.raw),
79
79
  ...parameters,
80
80
  ]);
81
81
  }
@@ -92,7 +92,7 @@ class NpmPackageManager {
92
92
  await this._runAsync(['install']);
93
93
  }
94
94
  if (unversioned.length) {
95
- await this._runAsync(['install', '--save-dev', ...unversioned.map(spec => spec.raw)]);
95
+ await this._runAsync(['install', '--save-dev', ...unversioned.map((spec) => spec.raw)]);
96
96
  }
97
97
  }
98
98
  async removeAsync(...names) {
@@ -110,7 +110,7 @@ class NpmPackageManager {
110
110
  if (!this.options.cwd) {
111
111
  throw new Error('cwd required for NpmPackageManager.removeLockfileAsync');
112
112
  }
113
- const lockfilePath = path_1.default.join(this.options.cwd, 'package-lock.json');
113
+ const lockfilePath = path_1.default.join(this.options.cwd.toString(), 'package-lock.json');
114
114
  if ((0, fs_1.existsSync)(lockfilePath)) {
115
115
  rimraf_1.default.sync(lockfilePath);
116
116
  }
@@ -119,7 +119,7 @@ class NpmPackageManager {
119
119
  if (!this.options.cwd) {
120
120
  throw new Error('cwd required for NpmPackageManager.cleanAsync');
121
121
  }
122
- const nodeModulesPath = path_1.default.join(this.options.cwd, 'node_modules');
122
+ const nodeModulesPath = path_1.default.join(this.options.cwd.toString(), 'node_modules');
123
123
  if ((0, fs_1.existsSync)(nodeModulesPath)) {
124
124
  rimraf_1.default.sync(nodeModulesPath);
125
125
  }
@@ -142,8 +142,8 @@ class NpmPackageManager {
142
142
  _parseSpecs(names) {
143
143
  const result = { versioned: [], unversioned: [] };
144
144
  names
145
- .map(name => (0, npm_package_arg_1.default)(name))
146
- .forEach(spec => {
145
+ .map((name) => (0, npm_package_arg_1.default)(name))
146
+ .forEach((spec) => {
147
147
  if (spec.rawSpec) {
148
148
  result.versioned.push(spec);
149
149
  }
@@ -154,9 +154,9 @@ class NpmPackageManager {
154
154
  return result;
155
155
  }
156
156
  async _patchAsync(specs, packageType) {
157
- const pkgPath = path_1.default.join(this.options.cwd || '.', 'package.json');
157
+ const pkgPath = path_1.default.join(this.options.cwd?.toString() || '.', 'package.json');
158
158
  const pkg = await json_file_1.default.readAsync(pkgPath);
159
- specs.forEach(spec => {
159
+ specs.forEach((spec) => {
160
160
  pkg[packageType] = pkg[packageType] || {};
161
161
  // @ts-ignore
162
162
  pkg[packageType][spec.name] = spec.rawSpec;
@@ -235,7 +235,7 @@ class YarnPackageManager {
235
235
  if (!this.options.cwd) {
236
236
  throw new Error('cwd required for YarnPackageManager.removeLockfileAsync');
237
237
  }
238
- const lockfilePath = path_1.default.join(this.options.cwd, 'yarn-lock.json');
238
+ const lockfilePath = path_1.default.join(this.options.cwd.toString(), 'yarn-lock.json');
239
239
  if ((0, fs_1.existsSync)(lockfilePath)) {
240
240
  rimraf_1.default.sync(lockfilePath);
241
241
  }
@@ -244,7 +244,7 @@ class YarnPackageManager {
244
244
  if (!this.options.cwd) {
245
245
  throw new Error('cwd required for YarnPackageManager.cleanAsync');
246
246
  }
247
- const nodeModulesPath = path_1.default.join(this.options.cwd, 'node_modules');
247
+ const nodeModulesPath = path_1.default.join(this.options.cwd.toString(), 'node_modules');
248
248
  if ((0, fs_1.existsSync)(nodeModulesPath)) {
249
249
  rimraf_1.default.sync(nodeModulesPath);
250
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodePackageManagers.js","sourceRoot":"","sources":["../src/NodePackageManagers.ts"],"names":[],"mappings":"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","sourcesContent":["import JsonFile from '@expo/json-file';\nimport spawnAsync, { SpawnOptions } from '@expo/spawn-async';\nimport ansiRegex from 'ansi-regex';\nimport { existsSync } from 'fs';\nimport npmPackageArg from 'npm-package-arg';\nimport path from 'path';\nimport rimraf from 'rimraf';\nimport split from 'split';\nimport { Transform } from 'stream';\n\nimport { Logger, PackageManager } from './PackageManager';\nimport { PnpmPackageManager } from './PnpmPackageManager';\nimport isYarnOfflineAsync from './utils/isYarnOfflineAsync';\nimport { findWorkspaceRoot, isUsingYarn, resolvePackageManager } from './utils/nodeWorkspaces';\n\nexport type NodePackageManager = 'yarn' | 'npm' | 'pnpm';\n\n/**\n * Disable various postinstall scripts\n * - https://github.com/opencollective/opencollective-postinstall/pull/9\n */\nexport const DISABLE_ADS_ENV = { DISABLE_OPENCOLLECTIVE: '1', ADBLOCK: '1' };\n\nconst ansi = `(?:${ansiRegex().source})*`;\nconst npmPeerDependencyWarningPattern = new RegExp(\n `${ansi}npm${ansi} ${ansi}WARN${ansi}.+You must install peer dependencies yourself\\\\.\\n`,\n 'g'\n);\nconst yarnPeerDependencyWarningPattern = new RegExp(\n `${ansi}warning${ansi} \"[^\"]+\" has (?:unmet|incorrect) peer dependency \"[^\"]+\"\\\\.\\n`,\n 'g'\n);\n\nclass NpmStderrTransform extends Transform {\n _transform(\n chunk: Buffer,\n encoding: string,\n callback: (error?: Error | null, data?: any) => void\n ) {\n this.push(chunk.toString().replace(npmPeerDependencyWarningPattern, ''));\n callback();\n }\n}\n\nclass YarnStderrTransform extends Transform {\n _transform(\n chunk: Buffer,\n encoding: string,\n callback: (error?: Error | null, data?: any) => void\n ) {\n this.push(chunk.toString().replace(yarnPeerDependencyWarningPattern, ''));\n callback();\n }\n}\n\nexport class NpmPackageManager implements PackageManager {\n options: SpawnOptions;\n\n private log: Logger;\n\n constructor({ cwd, log, silent }: { cwd: string; log?: Logger; silent?: boolean }) {\n this.log = log || console.log;\n this.options = {\n env: {\n ...process.env,\n ...DISABLE_ADS_ENV,\n },\n cwd,\n ...(silent\n ? { ignoreStdio: true }\n : {\n stdio: ['inherit', 'inherit', 'pipe'],\n }),\n };\n }\n\n get name() {\n return 'npm';\n }\n\n async installAsync(parameters: string[] = []) {\n await this._runAsync(['install', ...parameters]);\n }\n\n async addGlobalAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n await this._runAsync(['install', '--global', ...names]);\n }\n\n async addWithParametersAsync(names: string[], parameters: string[] = []) {\n if (!names.length) return this.installAsync(parameters);\n\n const { versioned, unversioned } = this._parseSpecs(names);\n if (versioned.length) {\n await this._patchAsync(versioned, 'dependencies');\n await this.installAsync(parameters);\n }\n if (unversioned.length) {\n await this._runAsync([\n 'install',\n '--save',\n ...unversioned.map(spec => spec.raw),\n ...parameters,\n ]);\n }\n }\n\n async addAsync(...names: string[]) {\n await this.addWithParametersAsync(names, []);\n }\n\n async addDevAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n\n const { versioned, unversioned } = this._parseSpecs(names);\n if (versioned.length) {\n await this._patchAsync(versioned, 'devDependencies');\n await this._runAsync(['install']);\n }\n if (unversioned.length) {\n await this._runAsync(['install', '--save-dev', ...unversioned.map(spec => spec.raw)]);\n }\n }\n\n async removeAsync(...names: string[]) {\n await this._runAsync(['uninstall', ...names]);\n }\n\n async versionAsync() {\n const { stdout } = await spawnAsync('npm', ['--version'], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async getConfigAsync(key: string) {\n const { stdout } = await spawnAsync('npm', ['config', 'get', key], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async removeLockfileAsync() {\n if (!this.options.cwd) {\n throw new Error('cwd required for NpmPackageManager.removeLockfileAsync');\n }\n const lockfilePath = path.join(this.options.cwd, 'package-lock.json');\n if (existsSync(lockfilePath)) {\n rimraf.sync(lockfilePath);\n }\n }\n\n async cleanAsync() {\n if (!this.options.cwd) {\n throw new Error('cwd required for NpmPackageManager.cleanAsync');\n }\n const nodeModulesPath = path.join(this.options.cwd, 'node_modules');\n if (existsSync(nodeModulesPath)) {\n rimraf.sync(nodeModulesPath);\n }\n }\n\n // Private\n private async _runAsync(args: string[]) {\n if (!this.options.ignoreStdio) {\n this.log(`> npm ${args.join(' ')}`);\n }\n\n // Have spawnAsync consume stdio but we don't actually do anything with it if it's ignored\n const promise = spawnAsync('npm', [...args], { ...this.options, ignoreStdio: false });\n if (promise.child.stderr && !this.options.ignoreStdio) {\n promise.child.stderr\n .pipe(split(/\\r?\\n/, (line: string) => line + '\\n'))\n .pipe(new NpmStderrTransform())\n .pipe(process.stderr);\n }\n return promise;\n }\n\n private _parseSpecs(names: string[]) {\n const result: {\n versioned: npmPackageArg.Result[];\n unversioned: npmPackageArg.Result[];\n } = { versioned: [], unversioned: [] };\n names\n .map(name => npmPackageArg(name))\n .forEach(spec => {\n if (spec.rawSpec) {\n result.versioned.push(spec);\n } else {\n result.unversioned.push(spec);\n }\n });\n return result;\n }\n\n private async _patchAsync(\n specs: npmPackageArg.Result[],\n packageType: 'dependencies' | 'devDependencies'\n ) {\n const pkgPath = path.join(this.options.cwd || '.', 'package.json');\n const pkg = await JsonFile.readAsync(pkgPath);\n specs.forEach(spec => {\n pkg[packageType] = pkg[packageType] || {};\n // @ts-ignore\n pkg[packageType][spec.name!] = spec.rawSpec;\n });\n await JsonFile.writeAsync(pkgPath, pkg, { json5: false });\n }\n}\n\nexport class YarnPackageManager implements PackageManager {\n options: SpawnOptions;\n private log: Logger;\n\n constructor({ cwd, log, silent }: { cwd: string; log?: Logger; silent?: boolean }) {\n this.log = log || console.log;\n this.options = {\n env: {\n ...process.env,\n ...DISABLE_ADS_ENV,\n },\n cwd,\n ...(silent\n ? { ignoreStdio: true }\n : {\n stdio: ['inherit', 'inherit', 'pipe'],\n }),\n };\n }\n\n get name() {\n return 'Yarn';\n }\n\n private async withOfflineSupportAsync(...args: string[]): Promise<string[]> {\n if (await isYarnOfflineAsync()) {\n args.push('--offline');\n }\n // TODO: Maybe prompt about being offline and using local yarn cache.\n return args;\n }\n\n async installAsync() {\n const args = await this.withOfflineSupportAsync('install');\n await this._runAsync(args);\n }\n\n async addGlobalAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n const args = await this.withOfflineSupportAsync('global', 'add');\n args.push(...names);\n\n await this._runAsync(args);\n }\n\n async addWithParametersAsync(names: string[], parameters: string[] = []) {\n if (!names.length) return this.installAsync();\n const args = await this.withOfflineSupportAsync('add');\n args.push(...names);\n args.push(...parameters);\n\n await this._runAsync(args);\n }\n\n async addAsync(...names: string[]) {\n await this.addWithParametersAsync(names, []);\n }\n\n async addDevAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n const args = await this.withOfflineSupportAsync('add', '--dev');\n args.push(...names);\n await this._runAsync(args);\n }\n\n async removeAsync(...names: string[]) {\n await this._runAsync(['remove', ...names]);\n }\n\n async versionAsync() {\n const { stdout } = await spawnAsync('yarnpkg', ['--version'], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async getConfigAsync(key: string) {\n const { stdout } = await spawnAsync('yarnpkg', ['config', 'get', key], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async removeLockfileAsync() {\n if (!this.options.cwd) {\n throw new Error('cwd required for YarnPackageManager.removeLockfileAsync');\n }\n const lockfilePath = path.join(this.options.cwd, 'yarn-lock.json');\n if (existsSync(lockfilePath)) {\n rimraf.sync(lockfilePath);\n }\n }\n\n async cleanAsync() {\n if (!this.options.cwd) {\n throw new Error('cwd required for YarnPackageManager.cleanAsync');\n }\n const nodeModulesPath = path.join(this.options.cwd, 'node_modules');\n if (existsSync(nodeModulesPath)) {\n rimraf.sync(nodeModulesPath);\n }\n }\n\n // Private\n private async _runAsync(args: string[]) {\n if (!this.options.ignoreStdio) {\n this.log(`> yarn ${args.join(' ')}`);\n }\n\n // Have spawnAsync consume stdio but we don't actually do anything with it if it's ignored\n const promise = spawnAsync('yarnpkg', args, { ...this.options, ignoreStdio: false });\n if (promise.child.stderr && !this.options.ignoreStdio) {\n promise.child.stderr.pipe(new YarnStderrTransform()).pipe(process.stderr);\n }\n return promise;\n }\n}\n\nexport type CreateForProjectOptions = Partial<Record<NodePackageManager, boolean>> & {\n log?: Logger;\n silent?: boolean;\n};\n\nexport function createForProject(\n projectRoot: string,\n options: CreateForProjectOptions = {}\n): NpmPackageManager | YarnPackageManager | PnpmPackageManager {\n let PackageManager;\n if (options.npm) {\n PackageManager = NpmPackageManager;\n } else if (options.yarn) {\n PackageManager = YarnPackageManager;\n } else if (options.pnpm) {\n PackageManager = PnpmPackageManager;\n } else if (isUsingYarn(projectRoot)) {\n PackageManager = YarnPackageManager;\n } else if (resolvePackageManager(projectRoot, 'pnpm')) {\n PackageManager = PnpmPackageManager;\n } else {\n PackageManager = NpmPackageManager;\n }\n\n return new PackageManager({ cwd: projectRoot, log: options.log, silent: options.silent });\n}\n\nexport function getModulesPath(projectRoot: string): string {\n const workspaceRoot = findWorkspaceRoot(path.resolve(projectRoot)); // Absolute path or null\n if (workspaceRoot) {\n return path.resolve(workspaceRoot, 'node_modules');\n }\n\n return path.resolve(projectRoot, 'node_modules');\n}\n"]}
1
+ {"version":3,"file":"NodePackageManagers.js","sourceRoot":"","sources":["../src/NodePackageManagers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SpawnOptions } from '@expo/spawn-async';
2
- export declare type Logger = (...args: any[]) => void;
2
+ export type Logger = (...args: any[]) => void;
3
3
  export interface PackageManager {
4
4
  installAsync(): Promise<void>;
5
5
  addWithParametersAsync(names: string[], parameters: string[]): Promise<void>;
@@ -15,7 +15,7 @@ async function spawnSudoAsync(command, spawnOptions) {
15
15
  // sudo prompt only seems to work on win32 machines.
16
16
  if (process.platform === 'win32') {
17
17
  return new Promise((resolve, reject) => {
18
- sudo_prompt_1.default.exec(command.join(' '), { name: 'pod install' }, error => {
18
+ sudo_prompt_1.default.exec(command.join(' '), { name: 'pod install' }, (error) => {
19
19
  if (error) {
20
20
  reject(error);
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../src/PackageManager.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA6D;AAC7D,2BAAkC;AAClC,8DAA+B;AAe/B,SAAgB,sBAAsB;IACpC,OAAO,IAAA,iBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACrC,CAAC;AAFD,wDAEC;AAEM,KAAK,UAAU,cAAc,CAAC,OAAiB,EAAE,YAA0B;IAChF,oDAAoD;IACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,qBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,CAAC,EAAE;gBAC5D,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,KAAK,CAAC,CAAC;iBACf;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,2DAA2D;QAC3D,iFAAiF;QACjF,OAAO,CAAC,GAAG,CACT,8HAA8H,CAC/H,CAAC;QACF,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;KACjD;AACH,CAAC;AAnBD,wCAmBC","sourcesContent":["import spawnAsync, { SpawnOptions } from '@expo/spawn-async';\nimport { realpathSync } from 'fs';\nimport sudo from 'sudo-prompt';\n\nexport type Logger = (...args: any[]) => void;\n\nexport interface PackageManager {\n installAsync(): Promise<void>;\n addWithParametersAsync(names: string[], parameters: string[]): Promise<void>;\n addAsync(...names: string[]): Promise<void>;\n addDevAsync(...names: string[]): Promise<void>;\n versionAsync(): Promise<string>;\n getConfigAsync(key: string): Promise<string>;\n removeLockfileAsync(): Promise<void>;\n cleanAsync(): Promise<void>;\n}\n\nexport function getPossibleProjectRoot(): string {\n return realpathSync(process.cwd());\n}\n\nexport async function spawnSudoAsync(command: string[], spawnOptions: SpawnOptions): Promise<void> {\n // sudo prompt only seems to work on win32 machines.\n if (process.platform === 'win32') {\n return new Promise((resolve, reject) => {\n sudo.exec(command.join(' '), { name: 'pod install' }, error => {\n if (error) {\n reject(error);\n }\n resolve();\n });\n });\n } else {\n // Attempt to use sudo to run the command on Mac and Linux.\n // TODO(Bacon): Make a v of sudo-prompt that's win32 only for better bundle size.\n console.log(\n 'Your password might be needed to install CocoaPods CLI: https://guides.cocoapods.org/using/getting-started.html#installation'\n );\n await spawnAsync('sudo', command, spawnOptions);\n }\n}\n"]}
1
+ {"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../src/PackageManager.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA6D;AAC7D,2BAAkC;AAClC,8DAA+B;AAe/B,SAAgB,sBAAsB;IACpC,OAAO,IAAA,iBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACrC,CAAC;AAFD,wDAEC;AAEM,KAAK,UAAU,cAAc,CAAC,OAAiB,EAAE,YAA0B;IAChF,oDAAoD;IACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,qBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC9D,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,KAAK,CAAC,CAAC;iBACf;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,2DAA2D;QAC3D,iFAAiF;QACjF,OAAO,CAAC,GAAG,CACT,8HAA8H,CAC/H,CAAC;QACF,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;KACjD;AACH,CAAC;AAnBD,wCAmBC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { SpawnOptions } from '@expo/spawn-async';
3
4
  import { Transform } from 'stream';
4
5
  import { Logger } from './PackageManager';
@@ -89,14 +89,14 @@ class PnpmPackageManager {
89
89
  }
90
90
  async removeLockfileAsync() {
91
91
  (0, assert_1.default)(this.options.cwd, 'cwd required for PnpmPackageManager.removeLockfileAsync');
92
- const lockfilePath = path_1.default.join(this.options.cwd, 'pnpm-lock.yaml');
92
+ const lockfilePath = path_1.default.join(this.options.cwd.toString(), 'pnpm-lock.yaml');
93
93
  if (fs_1.default.existsSync(lockfilePath)) {
94
94
  rimraf_1.default.sync(lockfilePath);
95
95
  }
96
96
  }
97
97
  async cleanAsync() {
98
98
  (0, assert_1.default)(this.options.cwd, 'cwd required for PnpmPackageManager.cleanAsync');
99
- const nodeModulesPath = path_1.default.join(this.options.cwd, 'node_modules');
99
+ const nodeModulesPath = path_1.default.join(this.options.cwd.toString(), 'node_modules');
100
100
  if (fs_1.default.existsSync(nodeModulesPath)) {
101
101
  rimraf_1.default.sync(nodeModulesPath);
102
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PnpmPackageManager.js","sourceRoot":"","sources":["../src/PnpmPackageManager.ts"],"names":[],"mappings":"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","sourcesContent":["import spawnAsync, { SpawnOptions } from '@expo/spawn-async';\nimport ansiRegex from 'ansi-regex';\nimport assert from 'assert';\nimport fs from 'fs';\nimport path from 'path';\nimport rimraf from 'rimraf';\nimport split from 'split';\nimport { Transform } from 'stream';\n\nimport { DISABLE_ADS_ENV } from './NodePackageManagers';\nimport { Logger } from './PackageManager';\n\nconst ansi = `(?:${ansiRegex().source})*`;\nconst startPnpmPeerDependencyWarningPattern = new RegExp(\n `${ansi}WARN${ansi}.*Issues with peer dependencies found`,\n 'g'\n);\n\n/** Exposed for testing */\nexport class PnpmStdoutTransform extends Transform {\n private isPeerDepsWarning = false;\n\n _transform(\n chunk: Buffer,\n encoding: string,\n callback: (error?: Error | null, data?: any) => void\n ) {\n const line = chunk.toString();\n\n if (!this.isPeerDepsWarning && startPnpmPeerDependencyWarningPattern.test(line)) {\n this.isPeerDepsWarning = true;\n } else if (this.isPeerDepsWarning && !line) {\n this.isPeerDepsWarning = false;\n }\n\n if (!this.isPeerDepsWarning) {\n this.push(line);\n }\n\n callback();\n }\n}\n\nexport class PnpmPackageManager {\n options: SpawnOptions;\n private log: Logger;\n\n constructor({ cwd, log, silent }: { cwd: string; log?: Logger; silent?: boolean }) {\n this.log = log || console.log;\n this.options = {\n env: {\n ...process.env,\n ...DISABLE_ADS_ENV,\n },\n cwd,\n ...(silent\n ? { ignoreStdio: true }\n : {\n stdio: ['inherit', 'inherit', 'pipe'],\n }),\n };\n }\n\n get name() {\n return 'pnpm';\n }\n\n async installAsync() {\n await this._runAsync(['install']);\n }\n\n async addWithParametersAsync(names: string[], parameters: string[]) {\n if (!names.length) return this.installAsync();\n await this._runAsync(['add', ...parameters, ...names]);\n }\n\n async addAsync(...names: string[]) {\n await this.addWithParametersAsync(names, []);\n }\n\n async addDevAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n await this._runAsync(['add', '--save-dev', ...names]);\n }\n\n async addGlobalAsync(...names: string[]) {\n if (!names.length) return this.installAsync();\n await this._runAsync(['add', '--global', ...names]);\n }\n\n async removeAsync(...names: string[]) {\n await this._runAsync(['remove', ...names]);\n }\n\n async versionAsync() {\n const { stdout } = await spawnAsync('pnpm', ['--version'], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async getConfigAsync(key: string) {\n const { stdout } = await spawnAsync('pnpm', ['config', 'get', key], { stdio: 'pipe' });\n return stdout.trim();\n }\n\n async removeLockfileAsync() {\n assert(this.options.cwd, 'cwd required for PnpmPackageManager.removeLockfileAsync');\n const lockfilePath = path.join(this.options.cwd, 'pnpm-lock.yaml');\n if (fs.existsSync(lockfilePath)) {\n rimraf.sync(lockfilePath);\n }\n }\n\n async cleanAsync() {\n assert(this.options.cwd, 'cwd required for PnpmPackageManager.cleanAsync');\n const nodeModulesPath = path.join(this.options.cwd, 'node_modules');\n if (fs.existsSync(nodeModulesPath)) {\n rimraf.sync(nodeModulesPath);\n }\n }\n\n // Private\n private async _runAsync(args: string[]) {\n if (!this.options.ignoreStdio) {\n this.log(`> pnpm ${args.join(' ')}`);\n }\n\n // Have spawnAsync consume stdio but we don't actually do anything with it if it's ignored\n const promise = spawnAsync('pnpm', args, { ...this.options, ignoreStdio: false });\n if (promise.child.stdout && !this.options.ignoreStdio) {\n promise.child.stdout\n .pipe(split(/\\r?\\n/, (line: string) => line + '\\n'))\n .pipe(new PnpmStdoutTransform())\n .pipe(process.stdout);\n }\n return promise;\n }\n}\n"]}
1
+ {"version":3,"file":"PnpmPackageManager.js","sourceRoot":"","sources":["../src/PnpmPackageManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,4DAA0C;AAC1C,uDAAiE;AAAxD,+HAAA,OAAO,OAAiB;AACjC,iEAA2E;AAAlE,yIAAA,OAAO,OAAsB;AACtC,yDAAuC","sourcesContent":["export * from './PackageManager';\nexport * from './NodePackageManagers';\nexport { PnpmPackageManager } from './PnpmPackageManager';\nexport * from './CocoaPodsPackageManager';\nexport { default as shouldUseYarn } from './utils/shouldUseYarn';\nexport { default as isYarnOfflineAsync } from './utils/isYarnOfflineAsync';\nexport * from './utils/nodeWorkspaces';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,4DAA0C;AAC1C,uDAAiE;AAAxD,+HAAA,OAAO,OAAiB;AACjC,iEAA2E;AAAlE,yIAAA,OAAO,OAAsB;AACtC,yDAAuC"}
@@ -8,9 +8,8 @@ const child_process_1 = require("child_process");
8
8
  const dns_1 = __importDefault(require("dns"));
9
9
  const url_1 = __importDefault(require("url"));
10
10
  function getNpmProxy() {
11
- var _a;
12
11
  if (process.env.https_proxy) {
13
- return (_a = process.env.https_proxy) !== null && _a !== void 0 ? _a : null;
12
+ return process.env.https_proxy ?? null;
14
13
  }
15
14
  try {
16
15
  const httpsProxy = (0, child_process_1.execSync)('npm config get https-proxy').toString().trim();
@@ -22,8 +21,8 @@ function getNpmProxy() {
22
21
  }
23
22
  exports.getNpmProxy = getNpmProxy;
24
23
  function isUrlAvailableAsync(url) {
25
- return new Promise(resolve => {
26
- dns_1.default.lookup(url, err => {
24
+ return new Promise((resolve) => {
25
+ dns_1.default.lookup(url, (err) => {
27
26
  resolve(!err);
28
27
  });
29
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"isYarnOfflineAsync.js","sourceRoot":"","sources":["../../src/utils/isYarnOfflineAsync.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyC;AACzC,8CAAsB;AACtB,8CAAsB;AAEtB,SAAgB,WAAW;;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;QAC3B,OAAO,MAAA,OAAO,CAAC,GAAG,CAAC,WAAW,mCAAI,IAAI,CAAC;KACxC;IAED,IAAI;QACF,MAAM,UAAU,GAAG,IAAA,wBAAQ,EAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5E,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;KAClD;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAXD,kCAWC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE;QACpC,aAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACY,KAAK,UAAU,kBAAkB;IAC9C,IAAI,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAjBD,qCAiBC","sourcesContent":["import { execSync } from 'child_process';\nimport dns from 'dns';\nimport url from 'url';\n\nexport function getNpmProxy(): string | null {\n if (process.env.https_proxy) {\n return process.env.https_proxy ?? null;\n }\n\n try {\n const httpsProxy = execSync('npm config get https-proxy').toString().trim();\n return httpsProxy !== 'null' ? httpsProxy : null;\n } catch {\n return null;\n }\n}\n\nfunction isUrlAvailableAsync(url: string): Promise<boolean> {\n return new Promise<boolean>(resolve => {\n dns.lookup(url, err => {\n resolve(!err);\n });\n });\n}\n\n/**\n * Determine if you should use yarn offline or not.\n */\nexport default async function isYarnOfflineAsync(): Promise<boolean> {\n if (await isUrlAvailableAsync('registry.yarnpkg.com')) {\n return false;\n }\n\n const proxy = getNpmProxy();\n\n if (!proxy) {\n return true;\n }\n\n const { hostname } = url.parse(proxy);\n if (!hostname) {\n return true;\n }\n\n return !(await isUrlAvailableAsync(hostname));\n}\n"]}
1
+ {"version":3,"file":"isYarnOfflineAsync.js","sourceRoot":"","sources":["../../src/utils/isYarnOfflineAsync.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyC;AACzC,8CAAsB;AACtB,8CAAsB;AAEtB,SAAgB,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;KACxC;IAED,IAAI;QACF,MAAM,UAAU,GAAG,IAAA,wBAAQ,EAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5E,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;KAClD;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAXD,kCAWC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACtC,aAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACY,KAAK,UAAU,kBAAkB;IAC9C,IAAI,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAjBD,qCAiBC"}
@@ -19,9 +19,8 @@ exports.managerResolutionOrder = ['yarn', 'npm', 'pnpm'];
19
19
  * @see https://github.com/pnpm/pnpm/blob/main/packages/find-workspace-dir/src/index.ts
20
20
  */
21
21
  function findPnpmWorkspaceRoot(projectRoot) {
22
- var _a;
23
22
  const workspaceEnvName = 'NPM_CONFIG_WORKSPACE_DIR';
24
- const workspaceEnvValue = (_a = process.env[workspaceEnvName]) !== null && _a !== void 0 ? _a : process.env[workspaceEnvName.toLowerCase()];
23
+ const workspaceEnvValue = process.env[workspaceEnvName] ?? process.env[workspaceEnvName.toLowerCase()];
25
24
  const manifestLocation = workspaceEnvValue
26
25
  ? path_1.default.join(workspaceEnvValue, exports.PNPM_WORKSPACE_FILE)
27
26
  : (0, find_up_1.sync)(exports.PNPM_WORKSPACE_FILE, { cwd: projectRoot });
@@ -58,7 +57,7 @@ function findWorkspaceRoot(projectRoot, packageManager) {
58
57
  if (packageManager) {
59
58
  return strategies[packageManager](projectRoot);
60
59
  }
61
- for (const strategy of exports.managerResolutionOrder.map(name => strategies[name])) {
60
+ for (const strategy of exports.managerResolutionOrder.map((name) => strategies[name])) {
62
61
  const root = strategy(projectRoot);
63
62
  if (root) {
64
63
  return root;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeWorkspaces.js","sourceRoot":"","sources":["../../src/utils/nodeWorkspaces.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA6C;AAC7C,wFAAkE;AAClE,2BAAgC;AAChC,gDAAwB;AAIX,QAAA,aAAa,GAAG,mBAAmB,CAAC;AACpC,QAAA,cAAc,GAAG,WAAW,CAAC;AAC7B,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,sBAAsB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEpF;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,WAAmB;;IAChD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;IAEpD,MAAM,iBAAiB,GACrB,MAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,iBAAiB;QACxC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,2BAAmB,CAAC;QACnD,CAAC,CAAC,IAAA,cAAU,EAAC,2BAAmB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE1D,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,uHAAuH;AACvH,SAAgB,8BAA8B,CAAC,WAAmB;IAChE,IAAI;QACF,OAAO,IAAA,kCAA0B,EAAC,WAAW,CAAC,CAAC;KAChD;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC;SACb;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AATD,wEASC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,WAAmB,EACnB,cAAmC;IAEnC,MAAM,UAAU,GAAuE;QACrF,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,qBAAqB;KAC5B,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;KAChD;IAED,KAAK,MAAM,QAAQ,IAAI,8BAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,8CAsBC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,cAAmC;IAEnC,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC;IACpF,MAAM,aAAa,GAAuC;QACxD,GAAG,EAAE,qBAAa;QAClB,IAAI,EAAE,sBAAc;QACpB,IAAI,EAAE,sBAAc;KACrB,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,cAAc,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;KACb;IAED,KAAK,MAAM,OAAO,IAAI,8BAAsB,EAAE;QAC5C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC;SAChB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA3BD,sDA2BC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAFD,gCAEC","sourcesContent":["import { sync as findUpSync } from 'find-up';\nimport findYarnOrNpmWorkspaceRoot from 'find-yarn-workspace-root';\nimport { existsSync } from 'fs';\nimport path from 'path';\n\nimport type { NodePackageManager } from '../NodePackageManagers';\n\nexport const NPM_LOCK_FILE = 'package-lock.json';\nexport const YARN_LOCK_FILE = 'yarn.lock';\nexport const PNPM_LOCK_FILE = 'pnpm-lock.yaml';\nexport const PNPM_WORKSPACE_FILE = 'pnpm-workspace.yaml';\nexport const managerResolutionOrder: NodePackageManager[] = ['yarn', 'npm', 'pnpm'];\n\n/**\n * Find the `pnpm-workspace.yaml` file that represents the root of the monorepo.\n * This is a synchronous function based on the original async library.\n * @see https://github.com/pnpm/pnpm/blob/main/packages/find-workspace-dir/src/index.ts\n */\nfunction findPnpmWorkspaceRoot(projectRoot: string) {\n const workspaceEnvName = 'NPM_CONFIG_WORKSPACE_DIR';\n\n const workspaceEnvValue =\n process.env[workspaceEnvName] ?? process.env[workspaceEnvName.toLowerCase()];\n const manifestLocation = workspaceEnvValue\n ? path.join(workspaceEnvValue, PNPM_WORKSPACE_FILE)\n : findUpSync(PNPM_WORKSPACE_FILE, { cwd: projectRoot });\n\n return manifestLocation ? path.dirname(manifestLocation) : null;\n}\n\n/** Wraps `findYarnOrNpmWorkspaceRoot` and guards against having an empty `package.json` file in an upper directory. */\nexport function findYarnOrNpmWorkspaceRootSafe(projectRoot: string): string | null {\n try {\n return findYarnOrNpmWorkspaceRoot(projectRoot);\n } catch (error: any) {\n if (error.message.includes('Unexpected end of JSON input')) {\n return null;\n }\n throw error;\n }\n}\n\n/**\n * Resolve the workspace root for a project, if its part of a monorepo.\n * Optionally, provide a specific packager to only resolve that one specifically.\n *\n * By default, this tries to resolve the workspaces in order of:\n * - npm\n * - yarn\n * - pnpm\n */\nexport function findWorkspaceRoot(\n projectRoot: string,\n packageManager?: NodePackageManager\n): string | null {\n const strategies: Record<NodePackageManager, (projectRoot: string) => string | null> = {\n npm: findYarnOrNpmWorkspaceRootSafe,\n yarn: findYarnOrNpmWorkspaceRootSafe,\n pnpm: findPnpmWorkspaceRoot,\n };\n\n if (packageManager) {\n return strategies[packageManager](projectRoot);\n }\n\n for (const strategy of managerResolutionOrder.map(name => strategies[name])) {\n const root = strategy(projectRoot);\n if (root) {\n return root;\n }\n }\n\n return null;\n}\n\n/**\n * Resolve the used node package manager for a project by checking the lockfile.\n * This also tries to resolve the workspace root, if its part of a monorepo.\n * Optionally, provide a specific packager to only resolve that one specifically.\n *\n * By default, this tries to resolve the workspaces in order of:\n * - npm\n * - yarn\n * - pnpm\n */\nexport function resolvePackageManager(\n projectRoot: string,\n packageManager?: NodePackageManager\n): NodePackageManager | null {\n const workspaceRoot = findWorkspaceRoot(projectRoot, packageManager) || projectRoot;\n const lockfileNames: Record<NodePackageManager, string> = {\n npm: NPM_LOCK_FILE,\n yarn: YARN_LOCK_FILE,\n pnpm: PNPM_LOCK_FILE,\n };\n\n if (packageManager) {\n const lockfilePath = path.join(workspaceRoot, lockfileNames[packageManager]);\n if (existsSync(lockfilePath)) {\n return packageManager;\n }\n return null;\n }\n\n for (const manager of managerResolutionOrder) {\n const lockfilePath = path.join(workspaceRoot, lockfileNames[manager]);\n if (existsSync(lockfilePath)) {\n return manager;\n }\n }\n\n return null;\n}\n\n/**\n * Returns true if the project is using yarn, false if the project is using another package manager.\n */\nexport function isUsingYarn(projectRoot: string): boolean {\n return !!resolvePackageManager(projectRoot, 'yarn');\n}\n\n/**\n * Returns true if the project is using npm, false if the project is using another package manager.\n */\nexport function isUsingNpm(projectRoot: string): boolean {\n return !!resolvePackageManager(projectRoot, 'npm');\n}\n"]}
1
+ {"version":3,"file":"nodeWorkspaces.js","sourceRoot":"","sources":["../../src/utils/nodeWorkspaces.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA6C;AAC7C,wFAAkE;AAClE,2BAAgC;AAChC,gDAAwB;AAIX,QAAA,aAAa,GAAG,mBAAmB,CAAC;AACpC,QAAA,cAAc,GAAG,WAAW,CAAC;AAC7B,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,sBAAsB,GAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEpF;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;IAEpD,MAAM,iBAAiB,GACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,iBAAiB;QACxC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,2BAAmB,CAAC;QACnD,CAAC,CAAC,IAAA,cAAU,EAAC,2BAAmB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE1D,OAAO,gBAAgB,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,uHAAuH;AACvH,SAAgB,8BAA8B,CAAC,WAAmB;IAChE,IAAI;QACF,OAAO,IAAA,kCAA0B,EAAC,WAAW,CAAC,CAAC;KAChD;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAC;SACb;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AATD,wEASC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,WAAmB,EACnB,cAAmC;IAEnC,MAAM,UAAU,GAAuE;QACrF,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,qBAAqB;KAC5B,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;KAChD;IAED,KAAK,MAAM,QAAQ,IAAI,8BAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,8CAsBC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,cAAmC;IAEnC,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC;IACpF,MAAM,aAAa,GAAuC;QACxD,GAAG,EAAE,qBAAa;QAClB,IAAI,EAAE,sBAAc;QACpB,IAAI,EAAE,sBAAc;KACrB,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,cAAc,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;KACb;IAED,KAAK,MAAM,OAAO,IAAI,8BAAsB,EAAE;QAC5C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC;SAChB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA3BD,sDA2BC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAFD,gCAEC"}
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const child_process_1 = require("child_process");
4
4
  const nodeWorkspaces_1 = require("./nodeWorkspaces");
5
5
  function shouldUseYarn() {
6
- var _a;
7
- if ((_a = process.env.npm_config_user_agent) === null || _a === void 0 ? void 0 : _a.startsWith('yarn')) {
6
+ if (process.env.npm_config_user_agent?.startsWith('yarn')) {
8
7
  return true;
9
8
  }
10
9
  if ((0, nodeWorkspaces_1.isUsingNpm)(process.cwd())) {
@@ -1 +1 @@
1
- {"version":3,"file":"shouldUseYarn.js","sourceRoot":"","sources":["../../src/utils/shouldUseYarn.ts"],"names":[],"mappings":";;AAAA,iDAAyC;AAEzC,qDAA8C;AAE9C,SAAwB,aAAa;;IACnC,IAAI,MAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,0CAAE,UAAU,CAAC,MAAM,CAAC,EAAE;QACzD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAA,2BAAU,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAfD,gCAeC","sourcesContent":["import { execSync } from 'child_process';\n\nimport { isUsingNpm } from './nodeWorkspaces';\n\nexport default function shouldUseYarn(): boolean {\n if (process.env.npm_config_user_agent?.startsWith('yarn')) {\n return true;\n }\n\n if (isUsingNpm(process.cwd())) {\n return false;\n }\n\n try {\n execSync('yarnpkg --version', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"shouldUseYarn.js","sourceRoot":"","sources":["../../src/utils/shouldUseYarn.ts"],"names":[],"mappings":";;AAAA,iDAAyC;AAEzC,qDAA8C;AAE9C,SAAwB,aAAa;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE;QACzD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAA,2BAAU,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAfD,gCAeC"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@expo/package-manager",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
4
4
  "description": "A library for installing and finding packages in a node project",
5
- "main": "build",
5
+ "main": "build/index.js",
6
+ "types": "build/index.d.ts",
6
7
  "scripts": {
7
8
  "watch": "tsc --watch --preserveWatchOutput",
8
- "build": "tsc",
9
+ "build": "tsc --sourceMap",
9
10
  "prepare": "yarn run clean && yarn build",
10
11
  "clean": "rimraf build ./tsconfig.tsbuildinfo",
11
12
  "lint": "eslint .",
@@ -13,8 +14,8 @@
13
14
  },
14
15
  "repository": {
15
16
  "type": "git",
16
- "url": "https://github.com/expo/expo-cli.git",
17
- "directory": "packages/package-manager"
17
+ "url": "https://github.com/expo/expo.git",
18
+ "directory": "packages/@expo/package-manager"
18
19
  },
19
20
  "keywords": [
20
21
  "react-native",
@@ -27,14 +28,14 @@
27
28
  ],
28
29
  "license": "MIT",
29
30
  "bugs": {
30
- "url": "https://github.com/expo/expo-cli/issues"
31
+ "url": "https://github.com/expo/expo/issues"
31
32
  },
32
- "homepage": "https://github.com/expo/expo-cli/tree/main/packages/package-manager#readme",
33
+ "homepage": "https://github.com/expo/expo/tree/main/packages/@expo/package-manager#readme",
33
34
  "files": [
34
35
  "build"
35
36
  ],
36
37
  "dependencies": {
37
- "@expo/json-file": "8.2.36",
38
+ "@expo/json-file": "^8.2.37",
38
39
  "@expo/spawn-async": "^1.5.0",
39
40
  "ansi-regex": "^5.0.0",
40
41
  "chalk": "^4.0.0",
@@ -52,5 +53,6 @@
52
53
  },
53
54
  "publishConfig": {
54
55
  "access": "public"
55
- }
56
+ },
57
+ "gitHead": "1815e2eaad8c753588c7b1eb74420174a28e01f4"
56
58
  }