first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
declare class Env {
/** Determine if the package manager is running in a CI environment. */
get CI(): boolean;
}
declare const _default: Env;
export default _default;

12
node_modules/@expo/package-manager/build/utils/env.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class Env {
/** Determine if the package manager is running in a CI environment. */
get CI() {
// See: https://github.com/ctavan/node-getenv/blob/5b02feebde5d8edd56fff7d81c4b43403a20aff8/index.js#L63-L74
const { CI } = process.env;
return CI?.toLowerCase() === 'true' || CI === '1';
}
}
exports.default = new Env();
//# sourceMappingURL=env.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;AAAA,MAAM,GAAG;IACP,uEAAuE;IACvE,IAAI,EAAE;QACJ,4GAA4G;QAC5G,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3B,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC;IACpD,CAAC;CACF;AAED,kBAAe,IAAI,GAAG,EAAE,CAAC"}

View File

@@ -0,0 +1,27 @@
import { PackageManagerOptions } from '../PackageManager';
import { BunPackageManager } from '../node/BunPackageManager';
import { NpmPackageManager } from '../node/NpmPackageManager';
import { PnpmPackageManager } from '../node/PnpmPackageManager';
import { YarnPackageManager } from '../node/YarnPackageManager';
export { resolveWorkspaceRoot } from 'resolve-workspace-root';
export type NodePackageManager = NpmPackageManager | PnpmPackageManager | YarnPackageManager | BunPackageManager;
export type NodePackageManagerForProject = PackageManagerOptions & Partial<Record<NodePackageManager['name'], boolean>>;
export declare const NPM_LOCK_FILE = "package-lock.json";
export declare const YARN_LOCK_FILE = "yarn.lock";
export declare const PNPM_LOCK_FILE = "pnpm-lock.yaml";
export declare const BUN_LOCK_FILE = "bun.lockb";
export declare const BUN_TEXT_LOCK_FILE = "bun.lock";
/** The order of the package managers to use when resolving automatically */
export declare const RESOLUTION_ORDER: NodePackageManager['name'][];
/**
* Resolve the used node package manager for a project by checking the lockfile.
* This also tries to resolve the workspace root, if its part of a monorepo.
* Optionally, provide a preferred packager to only resolve that one specifically.
*/
export declare function resolvePackageManager(projectRoot: string, preferredManager?: NodePackageManager['name']): NodePackageManager['name'] | null;
/**
* This creates a Node package manager from the provided options.
* If these options are not provided, it will infer the package manager from lockfiles.
* When no package manager is found, it falls back to npm.
*/
export declare function createForProject(projectRoot: string, options?: NodePackageManagerForProject): NodePackageManager;

View File

@@ -0,0 +1,80 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RESOLUTION_ORDER = exports.BUN_TEXT_LOCK_FILE = exports.BUN_LOCK_FILE = exports.PNPM_LOCK_FILE = exports.YARN_LOCK_FILE = exports.NPM_LOCK_FILE = exports.resolveWorkspaceRoot = void 0;
exports.resolvePackageManager = resolvePackageManager;
exports.createForProject = createForProject;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const resolve_workspace_root_1 = require("resolve-workspace-root");
const BunPackageManager_1 = require("../node/BunPackageManager");
const NpmPackageManager_1 = require("../node/NpmPackageManager");
const PnpmPackageManager_1 = require("../node/PnpmPackageManager");
const YarnPackageManager_1 = require("../node/YarnPackageManager");
var resolve_workspace_root_2 = require("resolve-workspace-root");
Object.defineProperty(exports, "resolveWorkspaceRoot", { enumerable: true, get: function () { return resolve_workspace_root_2.resolveWorkspaceRoot; } });
exports.NPM_LOCK_FILE = 'package-lock.json';
exports.YARN_LOCK_FILE = 'yarn.lock';
exports.PNPM_LOCK_FILE = 'pnpm-lock.yaml';
exports.BUN_LOCK_FILE = 'bun.lockb';
exports.BUN_TEXT_LOCK_FILE = 'bun.lock';
/** The order of the package managers to use when resolving automatically */
exports.RESOLUTION_ORDER = ['bun', 'yarn', 'npm', 'pnpm'];
/**
* Resolve the used node package manager for a project by checking the lockfile.
* This also tries to resolve the workspace root, if its part of a monorepo.
* Optionally, provide a preferred packager to only resolve that one specifically.
*/
function resolvePackageManager(projectRoot, preferredManager) {
const root = (0, resolve_workspace_root_1.resolveWorkspaceRoot)(projectRoot) ?? projectRoot;
const lockFiles = {
npm: [exports.NPM_LOCK_FILE],
pnpm: [exports.PNPM_LOCK_FILE],
yarn: [exports.YARN_LOCK_FILE],
bun: [exports.BUN_TEXT_LOCK_FILE, exports.BUN_LOCK_FILE],
};
if (preferredManager) {
return lockFiles[preferredManager].some((file) => fs_1.default.existsSync(path_1.default.join(root, file)))
? preferredManager
: null;
}
for (const managerName of exports.RESOLUTION_ORDER) {
if (lockFiles[managerName].some((file) => fs_1.default.existsSync(path_1.default.join(root, file)))) {
return managerName;
}
}
return null;
}
/**
* This creates a Node package manager from the provided options.
* If these options are not provided, it will infer the package manager from lockfiles.
* When no package manager is found, it falls back to npm.
*/
function createForProject(projectRoot, options = {}) {
if (options.npm) {
return new NpmPackageManager_1.NpmPackageManager({ cwd: projectRoot, ...options });
}
else if (options.yarn) {
return new YarnPackageManager_1.YarnPackageManager({ cwd: projectRoot, ...options });
}
else if (options.pnpm) {
return new PnpmPackageManager_1.PnpmPackageManager({ cwd: projectRoot, ...options });
}
else if (options.bun) {
return new BunPackageManager_1.BunPackageManager({ cwd: projectRoot, ...options });
}
switch (resolvePackageManager(projectRoot)) {
case 'pnpm':
return new PnpmPackageManager_1.PnpmPackageManager({ cwd: projectRoot, ...options });
case 'yarn':
return new YarnPackageManager_1.YarnPackageManager({ cwd: projectRoot, ...options });
case 'bun':
return new BunPackageManager_1.BunPackageManager({ cwd: projectRoot, ...options });
case 'npm':
default:
return new NpmPackageManager_1.NpmPackageManager({ cwd: projectRoot, ...options });
}
}
//# sourceMappingURL=nodeManagers.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"nodeManagers.js","sourceRoot":"","sources":["../../src/utils/nodeManagers.ts"],"names":[],"mappings":";;;;;;AAmCA,sDAyBC;AAOD,4CAyBC;AA5FD,4CAAoB;AACpB,gDAAwB;AACxB,mEAA8D;AAG9D,iEAA8D;AAC9D,iEAA8D;AAC9D,mEAAgE;AAChE,mEAAgE;AAEhE,iEAA8D;AAArD,8HAAA,oBAAoB,OAAA;AAWhB,QAAA,aAAa,GAAG,mBAAmB,CAAC;AACpC,QAAA,cAAc,GAAG,WAAW,CAAC;AAC7B,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,aAAa,GAAG,WAAW,CAAC;AAC5B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAE7C,4EAA4E;AAC/D,QAAA,gBAAgB,GAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAE7F;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,gBAA6C;IAE7C,MAAM,IAAI,GAAG,IAAA,6CAAoB,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IAC9D,MAAM,SAAS,GAAiD;QAC9D,GAAG,EAAE,CAAC,qBAAa,CAAC;QACpB,IAAI,EAAE,CAAC,sBAAc,CAAC;QACtB,IAAI,EAAE,CAAC,sBAAc,CAAC;QACtB,GAAG,EAAE,CAAC,0BAAkB,EAAE,qBAAa,CAAC;KACzC,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACrF,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,wBAAgB,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAC9B,WAAmB,EACnB,UAAwC,EAAE;IAE1C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,qCAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,uCAAkB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,uCAAkB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,qCAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM;YACT,OAAO,IAAI,uCAAkB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM;YACT,OAAO,IAAI,uCAAkB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAClE,KAAK,KAAK;YACR,OAAO,IAAI,qCAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACjE,KAAK,KAAK,CAAC;QACX;YACE,OAAO,IAAI,qCAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,15 @@
import { SpawnPromise } from '@expo/spawn-async';
/**
* The pending spawn promise is similar to the spawn promise from `@expo/spawn-async`.
* Instead of the `child` process being available immediately, the `child` is behind another promise.
* We need this to perform async tasks before running the actual spawn promise.
* Use it like: `await manager.installAsync().child`
*/
export interface PendingSpawnPromise<T> extends Promise<T> {
/**
* The child process from the delayed spawn.
* This is `null` whenever the promise before the spawn promise is rejected.
*/
child: Promise<SpawnPromise<T>['child'] | null>;
}
export declare function createPendingSpawnAsync<V, T>(actionAsync: () => Promise<V>, spawnAsync: (result: V) => SpawnPromise<T>): PendingSpawnPromise<T>;

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPendingSpawnAsync = createPendingSpawnAsync;
function createPendingSpawnAsync(actionAsync, spawnAsync) {
// Manually rsolve the child promise whenever the prepending async action is resolved.
// Avoid `childReject` to prevent "unhandled promise rejection" for one of the two promises.
let childResolve;
const child = new Promise((resolve, reject) => {
childResolve = resolve;
});
const pendingPromise = new Promise((spawnResolve, spawnReject) => {
actionAsync()
.then((result) => {
const spawnPromise = spawnAsync(result);
childResolve(spawnPromise.child);
spawnPromise.then(spawnResolve).catch(spawnReject);
})
.catch((error) => {
childResolve(null);
spawnReject(error);
});
});
pendingPromise.child = child;
return pendingPromise;
}
//# sourceMappingURL=spawn.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/utils/spawn.ts"],"names":[],"mappings":";;AAgBA,0DA0BC;AA1BD,SAAgB,uBAAuB,CACrC,WAA6B,EAC7B,UAA0C;IAE1C,sFAAsF;IACtF,4FAA4F;IAC5F,IAAI,YAA8D,CAAC;IACnE,MAAM,KAAK,GAA6C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtF,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QAClE,WAAW,EAAE;aACV,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEF,cAAyC,CAAC,KAAK,GAAG,KAAK,CAAC;IACzD,OAAO,cAAwC,CAAC;AAClD,CAAC"}

View File

@@ -0,0 +1,4 @@
/** Determine if you should use yarn offline or not */
export declare function isYarnOfflineAsync(): Promise<boolean>;
/** Exposed for testing */
export declare function getNpmProxy(): string | null;

46
node_modules/@expo/package-manager/build/utils/yarn.js generated vendored Normal file
View File

@@ -0,0 +1,46 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isYarnOfflineAsync = isYarnOfflineAsync;
exports.getNpmProxy = getNpmProxy;
const child_process_1 = require("child_process");
const dns_1 = __importDefault(require("dns"));
const url_1 = __importDefault(require("url"));
/** Determine if you should use yarn offline or not */
async function isYarnOfflineAsync() {
if (await isUrlAvailableAsync('registry.yarnpkg.com')) {
return false;
}
const proxy = getNpmProxy();
if (!proxy) {
return true;
}
const { hostname } = url_1.default.parse(proxy);
if (!hostname) {
return true;
}
return !(await isUrlAvailableAsync(hostname));
}
/** Exposed for testing */
function getNpmProxy() {
if (process.env.https_proxy) {
return process.env.https_proxy ?? null;
}
try {
const httpsProxy = (0, child_process_1.execSync)('npm config get https-proxy').toString().trim();
return httpsProxy !== 'null' ? httpsProxy : null;
}
catch {
return null;
}
}
function isUrlAvailableAsync(url) {
return new Promise((resolve) => {
dns_1.default.lookup(url, (err) => {
resolve(!err);
});
});
}
//# sourceMappingURL=yarn.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/utils/yarn.ts"],"names":[],"mappings":";;;;;AAKA,gDAiBC;AAGD,kCAWC;AApCD,iDAAyC;AACzC,8CAAsB;AACtB,8CAAsB;AAEtB,sDAAsD;AAC/C,KAAK,UAAU,kBAAkB;IACtC,IAAI,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,0BAA0B;AAC1B,SAAgB,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACH,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;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;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"}