@expo/package-manager 0.0.60 → 1.0.1
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 +3 -3
- package/build/PackageManager.d.ts +41 -9
- package/build/PackageManager.js +0 -31
- package/build/PackageManager.js.map +1 -1
- package/build/index.d.ts +6 -5
- package/build/index.js +8 -12
- package/build/index.js.map +1 -1
- package/build/{CocoaPodsPackageManager.d.ts → ios/CocoaPodsPackageManager.d.ts} +9 -6
- package/build/{CocoaPodsPackageManager.js → ios/CocoaPodsPackageManager.js} +18 -6
- package/build/ios/CocoaPodsPackageManager.js.map +1 -0
- package/build/node/BasePackageManager.d.ts +32 -0
- package/build/node/BasePackageManager.js +61 -0
- package/build/node/BasePackageManager.js.map +1 -0
- package/build/node/NpmPackageManager.d.ts +24 -0
- package/build/node/NpmPackageManager.js +115 -0
- package/build/node/NpmPackageManager.js.map +1 -0
- package/build/node/PnpmPackageManager.d.ts +14 -0
- package/build/node/PnpmPackageManager.js +64 -0
- package/build/node/PnpmPackageManager.js.map +1 -0
- package/build/node/YarnPackageManager.d.ts +16 -0
- package/build/node/YarnPackageManager.js +63 -0
- package/build/node/YarnPackageManager.js.map +1 -0
- package/build/utils/env.d.ts +6 -0
- package/build/utils/env.js +12 -0
- package/build/utils/env.js.map +1 -0
- package/build/utils/nodeManagers.d.ts +25 -0
- package/build/utils/nodeManagers.js +90 -0
- package/build/utils/nodeManagers.js.map +1 -0
- package/build/utils/nodeWorkspaces.d.ts +6 -31
- package/build/utils/nodeWorkspaces.js +29 -84
- package/build/utils/nodeWorkspaces.js.map +1 -1
- package/build/utils/spawn.d.ts +21 -0
- package/build/utils/spawn.js +57 -0
- package/build/utils/spawn.js.map +1 -0
- package/build/utils/yarn.d.ts +4 -0
- package/build/utils/{isYarnOfflineAsync.js → yarn.js} +19 -20
- package/build/utils/yarn.js.map +1 -0
- package/package.json +9 -6
- package/build/CocoaPodsPackageManager.js.map +0 -1
- package/build/NodePackageManagers.d.ts +0 -63
- package/build/NodePackageManagers.js +0 -297
- package/build/NodePackageManagers.js.map +0 -1
- package/build/PnpmPackageManager.d.ts +0 -31
- package/build/PnpmPackageManager.js +0 -121
- package/build/PnpmPackageManager.js.map +0 -1
- package/build/utils/isYarnOfflineAsync.d.ts +0 -5
- package/build/utils/isYarnOfflineAsync.js.map +0 -1
- package/build/utils/shouldUseYarn.d.ts +0 -1
- package/build/utils/shouldUseYarn.js +0 -21
- package/build/utils/shouldUseYarn.js.map +0 -1
package/README.md
CHANGED
|
@@ -32,10 +32,10 @@ yarn add @expo/package-manager
|
|
|
32
32
|
```ts
|
|
33
33
|
import * as PackageManager from '@expo/package-manager';
|
|
34
34
|
|
|
35
|
-
const manager =
|
|
35
|
+
const manager = PackageManager.createForProject(projectRoot);
|
|
36
36
|
|
|
37
37
|
await Promise.all([
|
|
38
|
-
manager.addDevAsync('@expo/webpack-config'),
|
|
39
|
-
manager.addAsync('expo', 'expo-camera'),
|
|
38
|
+
manager.addDevAsync(['@expo/webpack-config']),
|
|
39
|
+
manager.addAsync(['expo', 'expo-camera']),
|
|
40
40
|
]);
|
|
41
41
|
```
|
|
@@ -1,14 +1,46 @@
|
|
|
1
|
-
import { SpawnOptions } from '@expo/spawn-async';
|
|
2
|
-
|
|
1
|
+
import { SpawnOptions, SpawnPromise, SpawnResult } from '@expo/spawn-async';
|
|
2
|
+
import { PendingSpawnPromise } from './utils/spawn';
|
|
3
|
+
export interface PackageManagerOptions extends SpawnOptions {
|
|
4
|
+
/**
|
|
5
|
+
* If the package manager should run in silent mode.
|
|
6
|
+
* Note, this will hide possible error output from executed commands.
|
|
7
|
+
* When running in silent mode, make sure you handle them properly.
|
|
8
|
+
*/
|
|
9
|
+
silent?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The logging method used to communicate the command which is executed.
|
|
12
|
+
* Without `silent`, this defaults to `console.log`.
|
|
13
|
+
* When `silent` is set to `true`, this defaults to a no-op.
|
|
14
|
+
*/
|
|
15
|
+
log?: (...args: any[]) => void;
|
|
16
|
+
}
|
|
3
17
|
export interface PackageManager {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
18
|
+
/** The options for this package manager */
|
|
19
|
+
readonly options: PackageManagerOptions;
|
|
20
|
+
/** Run any command using the package manager */
|
|
21
|
+
runAsync(command: string[]): SpawnPromise<SpawnResult>;
|
|
22
|
+
/** Get the version of the used package manager */
|
|
8
23
|
versionAsync(): Promise<string>;
|
|
24
|
+
/** Get a single configuration property from the package manager */
|
|
9
25
|
getConfigAsync(key: string): Promise<string>;
|
|
26
|
+
/** Remove the lock file within the project, if any */
|
|
10
27
|
removeLockfileAsync(): Promise<void>;
|
|
11
|
-
|
|
28
|
+
/** Get the workspace root package manager, if this project is within a workspace/monorepo */
|
|
29
|
+
workspaceRoot(): PackageManager | null;
|
|
30
|
+
/** Install all current dependencies using the package manager */
|
|
31
|
+
installAsync(): Promise<SpawnResult> | SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
32
|
+
/** Uninstall all current dependencies by removing the folder containing the packages */
|
|
33
|
+
uninstallAsync(): Promise<void>;
|
|
34
|
+
/** Add a normal dependency to the project */
|
|
35
|
+
addAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
36
|
+
/** Add a development dependency to the project */
|
|
37
|
+
addDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
38
|
+
/** Add a global dependency to the environment */
|
|
39
|
+
addGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
40
|
+
/** Remove a normal dependency from the project */
|
|
41
|
+
removeAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
42
|
+
/** Remove a development dependency from the project */
|
|
43
|
+
removeDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
44
|
+
/** Remove a global dependency from the environments */
|
|
45
|
+
removeGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
12
46
|
}
|
|
13
|
-
export declare function getPossibleProjectRoot(): string;
|
|
14
|
-
export declare function spawnSudoAsync(command: string[], spawnOptions: SpawnOptions): Promise<void>;
|
package/build/PackageManager.js
CHANGED
|
@@ -1,34 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.spawnSudoAsync = exports.getPossibleProjectRoot = void 0;
|
|
7
|
-
const spawn_async_1 = __importDefault(require("@expo/spawn-async"));
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const sudo_prompt_1 = __importDefault(require("sudo-prompt"));
|
|
10
|
-
function getPossibleProjectRoot() {
|
|
11
|
-
return (0, fs_1.realpathSync)(process.cwd());
|
|
12
|
-
}
|
|
13
|
-
exports.getPossibleProjectRoot = getPossibleProjectRoot;
|
|
14
|
-
async function spawnSudoAsync(command, spawnOptions) {
|
|
15
|
-
// sudo prompt only seems to work on win32 machines.
|
|
16
|
-
if (process.platform === 'win32') {
|
|
17
|
-
return new Promise((resolve, reject) => {
|
|
18
|
-
sudo_prompt_1.default.exec(command.join(' '), { name: 'pod install' }, (error) => {
|
|
19
|
-
if (error) {
|
|
20
|
-
reject(error);
|
|
21
|
-
}
|
|
22
|
-
resolve();
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// Attempt to use sudo to run the command on Mac and Linux.
|
|
28
|
-
// TODO(Bacon): Make a v of sudo-prompt that's win32 only for better bundle size.
|
|
29
|
-
console.log('Your password might be needed to install CocoaPods CLI: https://guides.cocoapods.org/using/getting-started.html#installation');
|
|
30
|
-
await (0, spawn_async_1.default)('sudo', command, spawnOptions);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.spawnSudoAsync = spawnSudoAsync;
|
|
34
3
|
//# sourceMappingURL=PackageManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../src/PackageManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../src/PackageManager.ts"],"names":[],"mappings":""}
|
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './PackageManager';
|
|
2
|
-
export * from './
|
|
3
|
-
export
|
|
4
|
-
export * from './
|
|
5
|
-
export
|
|
6
|
-
export
|
|
2
|
+
export * from './ios/CocoaPodsPackageManager';
|
|
3
|
+
export * from './node/NpmPackageManager';
|
|
4
|
+
export * from './node/PnpmPackageManager';
|
|
5
|
+
export * from './node/YarnPackageManager';
|
|
6
|
+
export * from './utils/nodeManagers';
|
|
7
7
|
export * from './utils/nodeWorkspaces';
|
|
8
|
+
export { isYarnOfflineAsync } from './utils/yarn';
|
package/build/index.js
CHANGED
|
@@ -13,19 +13,15 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.isYarnOfflineAsync =
|
|
17
|
+
exports.isYarnOfflineAsync = void 0;
|
|
21
18
|
__exportStar(require("./PackageManager"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
__exportStar(require("./
|
|
26
|
-
|
|
27
|
-
Object.defineProperty(exports, "shouldUseYarn", { enumerable: true, get: function () { return __importDefault(shouldUseYarn_1).default; } });
|
|
28
|
-
var isYarnOfflineAsync_1 = require("./utils/isYarnOfflineAsync");
|
|
29
|
-
Object.defineProperty(exports, "isYarnOfflineAsync", { enumerable: true, get: function () { return __importDefault(isYarnOfflineAsync_1).default; } });
|
|
19
|
+
__exportStar(require("./ios/CocoaPodsPackageManager"), exports);
|
|
20
|
+
__exportStar(require("./node/NpmPackageManager"), exports);
|
|
21
|
+
__exportStar(require("./node/PnpmPackageManager"), exports);
|
|
22
|
+
__exportStar(require("./node/YarnPackageManager"), exports);
|
|
23
|
+
__exportStar(require("./utils/nodeManagers"), exports);
|
|
30
24
|
__exportStar(require("./utils/nodeWorkspaces"), exports);
|
|
25
|
+
var yarn_1 = require("./utils/yarn");
|
|
26
|
+
Object.defineProperty(exports, "isYarnOfflineAsync", { enumerable: true, get: function () { return yarn_1.isYarnOfflineAsync; } });
|
|
31
27
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AAEjC,gEAA8C;AAE9C,2DAAyC;AACzC,4DAA0C;AAC1C,4DAA0C;AAE1C,uDAAqC;AACrC,yDAAuC;AACvC,qCAAkD;AAAzC,0GAAA,kBAAkB,OAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SpawnOptions, SpawnResult } from '@expo/spawn-async';
|
|
2
2
|
import { Ora } from 'ora';
|
|
3
|
-
import { PackageManager } from './PackageManager';
|
|
4
3
|
export type CocoaPodsErrorCode = 'NON_INTERACTIVE' | 'NO_CLI' | 'COMMAND_FAILED';
|
|
5
4
|
export declare class CocoaPodsError extends Error {
|
|
6
5
|
code: CocoaPodsErrorCode;
|
|
@@ -10,7 +9,7 @@ export declare class CocoaPodsError extends Error {
|
|
|
10
9
|
constructor(message: string, code: CocoaPodsErrorCode, cause?: Error | undefined);
|
|
11
10
|
}
|
|
12
11
|
export declare function extractMissingDependencyError(errorOutput: string): [string, string] | null;
|
|
13
|
-
export declare class CocoaPodsPackageManager
|
|
12
|
+
export declare class CocoaPodsPackageManager {
|
|
14
13
|
options: SpawnOptions;
|
|
15
14
|
private silent;
|
|
16
15
|
static getPodProjectRoot(projectRoot: string): string | null;
|
|
@@ -44,12 +43,16 @@ export declare class CocoaPodsPackageManager implements PackageManager {
|
|
|
44
43
|
private _installAsync;
|
|
45
44
|
private runInstallTypeCommandAsync;
|
|
46
45
|
addWithParametersAsync(names: string[], parameters: string[]): Promise<void>;
|
|
47
|
-
addAsync(
|
|
48
|
-
addDevAsync(
|
|
46
|
+
addAsync(names?: string[]): void;
|
|
47
|
+
addDevAsync(names?: string[]): void;
|
|
48
|
+
addGlobalAsync(names?: string[]): void;
|
|
49
|
+
removeAsync(names?: string[]): void;
|
|
50
|
+
removeDevAsync(names?: string[]): void;
|
|
51
|
+
removeGlobalAsync(names?: string[]): void;
|
|
49
52
|
versionAsync(): Promise<string>;
|
|
50
|
-
|
|
53
|
+
configAsync(key: string): Promise<string>;
|
|
51
54
|
removeLockfileAsync(): Promise<void>;
|
|
52
|
-
|
|
55
|
+
uninstallAsync(): Promise<void>;
|
|
53
56
|
private podRepoUpdateAsync;
|
|
54
57
|
_runAsync(args: string[]): Promise<SpawnResult>;
|
|
55
58
|
}
|
|
@@ -9,7 +9,7 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
9
9
|
const fs_1 = require("fs");
|
|
10
10
|
const os_1 = __importDefault(require("os"));
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const
|
|
12
|
+
const spawn_1 = require("../utils/spawn");
|
|
13
13
|
class CocoaPodsError extends Error {
|
|
14
14
|
constructor(message, code, cause) {
|
|
15
15
|
super(cause ? `${message}\n└─ Cause: ${cause.message}` : message);
|
|
@@ -55,7 +55,7 @@ class CocoaPodsPackageManager {
|
|
|
55
55
|
throw new CocoaPodsError('Failed to install CocoaPods CLI with gem (recommended)', 'COMMAND_FAILED', error);
|
|
56
56
|
}
|
|
57
57
|
// If the user doesn't have permission then we can prompt them to use sudo.
|
|
58
|
-
await (0,
|
|
58
|
+
await (0, spawn_1.spawnSudoAsync)(['gem', ...options], spawnOptions);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
static async brewLinkCLIAsync(spawnOptions = { stdio: 'inherit' }) {
|
|
@@ -227,23 +227,35 @@ class CocoaPodsPackageManager {
|
|
|
227
227
|
async addWithParametersAsync(names, parameters) {
|
|
228
228
|
throw new Error('Unimplemented');
|
|
229
229
|
}
|
|
230
|
-
|
|
230
|
+
addAsync(names = []) {
|
|
231
231
|
throw new Error('Unimplemented');
|
|
232
232
|
}
|
|
233
|
-
|
|
233
|
+
addDevAsync(names = []) {
|
|
234
|
+
throw new Error('Unimplemented');
|
|
235
|
+
}
|
|
236
|
+
addGlobalAsync(names = []) {
|
|
237
|
+
throw new Error('Unimplemented');
|
|
238
|
+
}
|
|
239
|
+
removeAsync(names = []) {
|
|
240
|
+
throw new Error('Unimplemented');
|
|
241
|
+
}
|
|
242
|
+
removeDevAsync(names = []) {
|
|
243
|
+
throw new Error('Unimplemented');
|
|
244
|
+
}
|
|
245
|
+
removeGlobalAsync(names = []) {
|
|
234
246
|
throw new Error('Unimplemented');
|
|
235
247
|
}
|
|
236
248
|
async versionAsync() {
|
|
237
249
|
const { stdout } = await (0, spawn_async_1.default)('pod', ['--version'], this.options);
|
|
238
250
|
return stdout.trim();
|
|
239
251
|
}
|
|
240
|
-
async
|
|
252
|
+
async configAsync(key) {
|
|
241
253
|
throw new Error('Unimplemented');
|
|
242
254
|
}
|
|
243
255
|
async removeLockfileAsync() {
|
|
244
256
|
throw new Error('Unimplemented');
|
|
245
257
|
}
|
|
246
|
-
async
|
|
258
|
+
async uninstallAsync() {
|
|
247
259
|
throw new Error('Unimplemented');
|
|
248
260
|
}
|
|
249
261
|
// Private
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CocoaPodsPackageManager.js","sourceRoot":"","sources":["../../src/ios/CocoaPodsPackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SpawnPromise, SpawnResult } from '@expo/spawn-async';
|
|
2
|
+
import { PackageManager, PackageManagerOptions } from '../PackageManager';
|
|
3
|
+
import { PendingSpawnPromise } from '../utils/spawn';
|
|
4
|
+
export declare abstract class BasePackageManager implements PackageManager {
|
|
5
|
+
readonly silent: boolean;
|
|
6
|
+
readonly log?: (...args: any) => void;
|
|
7
|
+
readonly options: PackageManagerOptions;
|
|
8
|
+
constructor({ silent, log, env, ...options }?: PackageManagerOptions);
|
|
9
|
+
/** Get the name of the package manager */
|
|
10
|
+
abstract readonly name: string;
|
|
11
|
+
/** Get the executable binary of the package manager */
|
|
12
|
+
abstract readonly bin: string;
|
|
13
|
+
/** Get the lockfile for this package manager */
|
|
14
|
+
abstract readonly lockFile: string;
|
|
15
|
+
/** Get the default environment variables used when running the package manager. */
|
|
16
|
+
protected getDefaultEnvironment(): Record<string, string>;
|
|
17
|
+
abstract addAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
18
|
+
abstract addDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
19
|
+
abstract addGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
20
|
+
abstract removeAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
21
|
+
abstract removeDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
22
|
+
abstract removeGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
23
|
+
abstract workspaceRoot(): PackageManager | null;
|
|
24
|
+
/** Ensure the CWD is set to a non-empty string */
|
|
25
|
+
protected ensureCwdDefined(method?: string): string;
|
|
26
|
+
runAsync(command: string[]): SpawnPromise<SpawnResult>;
|
|
27
|
+
versionAsync(): Promise<string>;
|
|
28
|
+
getConfigAsync(key: string): Promise<string>;
|
|
29
|
+
removeLockfileAsync(): Promise<void>;
|
|
30
|
+
installAsync(flags?: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>;
|
|
31
|
+
uninstallAsync(): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BasePackageManager = void 0;
|
|
7
|
+
const spawn_async_1 = __importDefault(require("@expo/spawn-async"));
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
class BasePackageManager {
|
|
12
|
+
constructor({ silent, log, env = process.env, ...options } = {}) {
|
|
13
|
+
this.silent = !!silent;
|
|
14
|
+
this.log = log ?? (!silent ? console.log : undefined);
|
|
15
|
+
this.options = {
|
|
16
|
+
stdio: silent ? undefined : 'inherit',
|
|
17
|
+
...options,
|
|
18
|
+
env: { ...this.getDefaultEnvironment(), ...env },
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Get the default environment variables used when running the package manager. */
|
|
22
|
+
getDefaultEnvironment() {
|
|
23
|
+
return {
|
|
24
|
+
ADBLOCK: '1',
|
|
25
|
+
DISABLE_OPENCOLLECTIVE: '1',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Ensure the CWD is set to a non-empty string */
|
|
29
|
+
ensureCwdDefined(method) {
|
|
30
|
+
const cwd = this.options.cwd?.toString();
|
|
31
|
+
const className = this.constructor.name;
|
|
32
|
+
const methodName = method ? `.${method}` : '';
|
|
33
|
+
(0, assert_1.default)(cwd, `cwd is required for ${className}${methodName}`);
|
|
34
|
+
return cwd;
|
|
35
|
+
}
|
|
36
|
+
runAsync(command) {
|
|
37
|
+
this.log?.(`> ${this.name} ${command.join(' ')}`);
|
|
38
|
+
return (0, spawn_async_1.default)(this.bin, command, this.options);
|
|
39
|
+
}
|
|
40
|
+
async versionAsync() {
|
|
41
|
+
return await this.runAsync(['--version']).then(({ stdout }) => stdout.trim());
|
|
42
|
+
}
|
|
43
|
+
async getConfigAsync(key) {
|
|
44
|
+
return await this.runAsync(['config', 'get', key]).then(({ stdout }) => stdout.trim());
|
|
45
|
+
}
|
|
46
|
+
async removeLockfileAsync() {
|
|
47
|
+
const cwd = this.ensureCwdDefined('removeLockFile');
|
|
48
|
+
const filePath = path_1.default.join(cwd, this.lockFile);
|
|
49
|
+
await fs_1.default.promises.rm(filePath, { force: true });
|
|
50
|
+
}
|
|
51
|
+
installAsync(flags = []) {
|
|
52
|
+
return this.runAsync(['install', ...flags]);
|
|
53
|
+
}
|
|
54
|
+
async uninstallAsync() {
|
|
55
|
+
const cwd = this.ensureCwdDefined('uninstallAsync');
|
|
56
|
+
const modulesPath = path_1.default.join(cwd, 'node_modules');
|
|
57
|
+
await fs_1.default.promises.rm(modulesPath, { force: true, recursive: true });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.BasePackageManager = BasePackageManager;
|
|
61
|
+
//# sourceMappingURL=BasePackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePackageManager.js","sourceRoot":"","sources":["../../src/node/BasePackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BasePackageManager } from './BasePackageManager';
|
|
2
|
+
export declare class NpmPackageManager extends BasePackageManager {
|
|
3
|
+
readonly name = "npm";
|
|
4
|
+
readonly bin = "npm";
|
|
5
|
+
readonly lockFile = "package-lock.json";
|
|
6
|
+
workspaceRoot(): NpmPackageManager | null;
|
|
7
|
+
addAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
8
|
+
addDevAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
9
|
+
addGlobalAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
10
|
+
removeAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
11
|
+
removeDevAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
12
|
+
removeGlobalAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Parse all package specifications from the names or flag list.
|
|
15
|
+
* The result from this method can be used for `.updatePackageFileAsync`.
|
|
16
|
+
*/
|
|
17
|
+
private parsePackageSpecs;
|
|
18
|
+
/**
|
|
19
|
+
* Older npm versions have issues with mismatched nested dependencies when adding exact versions.
|
|
20
|
+
* This propagates as issues like mismatched `@expo/config-pugins` versions.
|
|
21
|
+
* As a workaround, we update the `package.json` directly and run `npm install`.
|
|
22
|
+
*/
|
|
23
|
+
private updatePackageFileAsync;
|
|
24
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NpmPackageManager = void 0;
|
|
7
|
+
const json_file_1 = __importDefault(require("@expo/json-file"));
|
|
8
|
+
const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const nodeWorkspaces_1 = require("../utils/nodeWorkspaces");
|
|
11
|
+
const spawn_1 = require("../utils/spawn");
|
|
12
|
+
const BasePackageManager_1 = require("./BasePackageManager");
|
|
13
|
+
class NpmPackageManager extends BasePackageManager_1.BasePackageManager {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.name = 'npm';
|
|
17
|
+
this.bin = 'npm';
|
|
18
|
+
this.lockFile = nodeWorkspaces_1.NPM_LOCK_FILE;
|
|
19
|
+
}
|
|
20
|
+
workspaceRoot() {
|
|
21
|
+
const root = (0, nodeWorkspaces_1.findYarnOrNpmWorkspaceRoot)(this.ensureCwdDefined('workspaceRoot'));
|
|
22
|
+
if (root) {
|
|
23
|
+
return new NpmPackageManager({
|
|
24
|
+
...this.options,
|
|
25
|
+
silent: this.silent,
|
|
26
|
+
log: this.log,
|
|
27
|
+
cwd: root,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
addAsync(namesOrFlags = []) {
|
|
33
|
+
if (!namesOrFlags.length) {
|
|
34
|
+
return this.installAsync();
|
|
35
|
+
}
|
|
36
|
+
const { flags, versioned, unversioned } = this.parsePackageSpecs(namesOrFlags);
|
|
37
|
+
return (0, spawn_1.createPendingSpawnAsync)(() => this.updatePackageFileAsync(versioned, 'dependencies'), () => !unversioned.length
|
|
38
|
+
? this.runAsync(['install', ...flags])
|
|
39
|
+
: this.runAsync(['install', '--save', ...flags, ...unversioned.map((spec) => spec.raw)]));
|
|
40
|
+
}
|
|
41
|
+
addDevAsync(namesOrFlags = []) {
|
|
42
|
+
if (!namesOrFlags.length) {
|
|
43
|
+
return this.installAsync();
|
|
44
|
+
}
|
|
45
|
+
const { flags, versioned, unversioned } = this.parsePackageSpecs(namesOrFlags);
|
|
46
|
+
return (0, spawn_1.createPendingSpawnAsync)(() => this.updatePackageFileAsync(versioned, 'devDependencies'), () => !unversioned.length
|
|
47
|
+
? this.runAsync(['install', ...flags])
|
|
48
|
+
: this.runAsync([
|
|
49
|
+
'install',
|
|
50
|
+
'--save-dev',
|
|
51
|
+
...flags,
|
|
52
|
+
...unversioned.map((spec) => spec.raw),
|
|
53
|
+
]));
|
|
54
|
+
}
|
|
55
|
+
addGlobalAsync(namesOrFlags = []) {
|
|
56
|
+
if (!namesOrFlags.length) {
|
|
57
|
+
return this.installAsync();
|
|
58
|
+
}
|
|
59
|
+
return this.runAsync(['install', '--global', ...namesOrFlags]);
|
|
60
|
+
}
|
|
61
|
+
removeAsync(namesOrFlags) {
|
|
62
|
+
return this.runAsync(['uninstall', ...namesOrFlags]);
|
|
63
|
+
}
|
|
64
|
+
removeDevAsync(namesOrFlags) {
|
|
65
|
+
return this.runAsync(['uninstall', '--save-dev', ...namesOrFlags]);
|
|
66
|
+
}
|
|
67
|
+
removeGlobalAsync(namesOrFlags) {
|
|
68
|
+
return this.runAsync(['uninstall', '--global', ...namesOrFlags]);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Parse all package specifications from the names or flag list.
|
|
72
|
+
* The result from this method can be used for `.updatePackageFileAsync`.
|
|
73
|
+
*/
|
|
74
|
+
parsePackageSpecs(namesOrFlags) {
|
|
75
|
+
const result = { flags: [], versioned: [], unversioned: [] };
|
|
76
|
+
namesOrFlags
|
|
77
|
+
.map((name) => {
|
|
78
|
+
if (name.trim().startsWith('-')) {
|
|
79
|
+
result.flags.push(name);
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return (0, npm_package_arg_1.default)(name);
|
|
83
|
+
})
|
|
84
|
+
.forEach((spec) => {
|
|
85
|
+
// When using a dist-tag version of a library, we need to consider it as "unversioned".
|
|
86
|
+
// Doing so will install that version with `npm install --save(-dev)`, and resolve the dist-tag properly.
|
|
87
|
+
if (spec && spec.rawSpec && spec.type !== 'tag') {
|
|
88
|
+
result.versioned.push(spec);
|
|
89
|
+
}
|
|
90
|
+
else if (spec) {
|
|
91
|
+
result.unversioned.push(spec);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Older npm versions have issues with mismatched nested dependencies when adding exact versions.
|
|
98
|
+
* This propagates as issues like mismatched `@expo/config-pugins` versions.
|
|
99
|
+
* As a workaround, we update the `package.json` directly and run `npm install`.
|
|
100
|
+
*/
|
|
101
|
+
async updatePackageFileAsync(packageSpecs, packageType) {
|
|
102
|
+
if (!packageSpecs.length) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const pkgPath = path_1.default.join(this.options.cwd?.toString() || '.', 'package.json');
|
|
106
|
+
const pkg = await json_file_1.default.readAsync(pkgPath);
|
|
107
|
+
packageSpecs.forEach((spec) => {
|
|
108
|
+
pkg[packageType] = pkg[packageType] || {};
|
|
109
|
+
pkg[packageType][spec.name] = spec.rawSpec;
|
|
110
|
+
});
|
|
111
|
+
await json_file_1.default.writeAsync(pkgPath, pkg, { json5: false });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.NpmPackageManager = NpmPackageManager;
|
|
115
|
+
//# sourceMappingURL=NpmPackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NpmPackageManager.js","sourceRoot":"","sources":["../../src/node/NpmPackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BasePackageManager } from './BasePackageManager';
|
|
2
|
+
export declare class PnpmPackageManager extends BasePackageManager {
|
|
3
|
+
readonly name = "pnpm";
|
|
4
|
+
readonly bin = "pnpm";
|
|
5
|
+
readonly lockFile = "pnpm-lock.yaml";
|
|
6
|
+
workspaceRoot(): PnpmPackageManager | null;
|
|
7
|
+
installAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
8
|
+
addAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
9
|
+
addDevAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
10
|
+
addGlobalAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
11
|
+
removeAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
12
|
+
removeDevAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
13
|
+
removeGlobalAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PnpmPackageManager = void 0;
|
|
7
|
+
const env_1 = __importDefault(require("../utils/env"));
|
|
8
|
+
const nodeWorkspaces_1 = require("../utils/nodeWorkspaces");
|
|
9
|
+
const BasePackageManager_1 = require("./BasePackageManager");
|
|
10
|
+
class PnpmPackageManager extends BasePackageManager_1.BasePackageManager {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.name = 'pnpm';
|
|
14
|
+
this.bin = 'pnpm';
|
|
15
|
+
this.lockFile = nodeWorkspaces_1.PNPM_LOCK_FILE;
|
|
16
|
+
}
|
|
17
|
+
workspaceRoot() {
|
|
18
|
+
const root = (0, nodeWorkspaces_1.findPnpmWorkspaceRoot)(this.ensureCwdDefined('workspaceRoot'));
|
|
19
|
+
if (root) {
|
|
20
|
+
return new PnpmPackageManager({
|
|
21
|
+
...this.options,
|
|
22
|
+
silent: this.silent,
|
|
23
|
+
log: this.log,
|
|
24
|
+
cwd: root,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
installAsync(namesOrFlags = []) {
|
|
30
|
+
if (env_1.default.CI && !namesOrFlags.join(' ').includes('frozen-lockfile')) {
|
|
31
|
+
namesOrFlags.unshift('--no-frozen-lockfile');
|
|
32
|
+
}
|
|
33
|
+
return this.runAsync(['install', ...namesOrFlags]);
|
|
34
|
+
}
|
|
35
|
+
addAsync(namesOrFlags = []) {
|
|
36
|
+
if (!namesOrFlags.length) {
|
|
37
|
+
return this.installAsync();
|
|
38
|
+
}
|
|
39
|
+
return this.runAsync(['add', ...namesOrFlags]);
|
|
40
|
+
}
|
|
41
|
+
addDevAsync(namesOrFlags = []) {
|
|
42
|
+
if (!namesOrFlags.length) {
|
|
43
|
+
return this.installAsync();
|
|
44
|
+
}
|
|
45
|
+
return this.runAsync(['add', '--save-dev', ...namesOrFlags]);
|
|
46
|
+
}
|
|
47
|
+
addGlobalAsync(namesOrFlags = []) {
|
|
48
|
+
if (!namesOrFlags.length) {
|
|
49
|
+
return this.installAsync();
|
|
50
|
+
}
|
|
51
|
+
return this.runAsync(['add', '--global', ...namesOrFlags]);
|
|
52
|
+
}
|
|
53
|
+
removeAsync(namesOrFlags) {
|
|
54
|
+
return this.runAsync(['remove', ...namesOrFlags]);
|
|
55
|
+
}
|
|
56
|
+
removeDevAsync(namesOrFlags) {
|
|
57
|
+
return this.runAsync(['remove', '--save-dev', ...namesOrFlags]);
|
|
58
|
+
}
|
|
59
|
+
removeGlobalAsync(namesOrFlags) {
|
|
60
|
+
return this.runAsync(['remove', '--global', ...namesOrFlags]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.PnpmPackageManager = PnpmPackageManager;
|
|
64
|
+
//# sourceMappingURL=PnpmPackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnpmPackageManager.js","sourceRoot":"","sources":["../../src/node/PnpmPackageManager.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAC/B,4DAAgF;AAChF,6DAA0D;AAE1D,MAAa,kBAAmB,SAAQ,uCAAkB;IAA1D;;QACW,SAAI,GAAG,MAAM,CAAC;QACd,QAAG,GAAG,MAAM,CAAC;QACb,aAAQ,GAAG,+BAAc,CAAC;IA2DrC,CAAC;IAzDC,aAAa;QACX,MAAM,IAAI,GAAG,IAAA,sCAAqB,EAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,kBAAkB,CAAC;gBAC5B,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI;aACV,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,eAAyB,EAAE;QACtC,IAAI,aAAG,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACjE,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,eAAyB,EAAE;QAClC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,eAAyB,EAAE;QACrC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc,CAAC,eAAyB,EAAE;QACxC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,YAAsB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,YAAsB;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB,CAAC,YAAsB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC;CACF;AA9DD,gDA8DC"}
|