/** * Binaries we need are normally in `node_modules/.bin` of the root project * unless a sibling dependency has caused a different version to be hoisted * so check our local node_modules folder first, then fall back to the main * project node_modules folder, then fall back to the environment or fail. * * Happens quite often when old versions of typescript are in the dependency * tree. * * @param {string} bin * @returns {string} */ export function findBinary(bin: string): string; /** * @typedef {object} Project * @property {any} manifest * @property {string} dir * @property {string[]} siblingDependencies * @property {string[]} dependencies */ /** * @param {string} projectDir * @param {(project: Project) => Promise} fn * @param {object} [opts] * @param {number} [opts.concurrency] */ export function everyMonorepoProject(projectDir: string, fn: (project: Project) => Promise, opts?: { concurrency?: number | undefined; }): Promise; /** * * @param {string} projectDir * @param {string[]} workspaces */ export function parseProjects(projectDir: string, workspaces: string[]): Record; /** * Pipe subprocess output to stdio * * @param {import('execa').Subprocess} subprocess * @param {string} prefix * @param {boolean} [shouldPrefix] */ export function pipeOutput(subprocess: import("execa").Subprocess, prefix: string, shouldPrefix?: boolean): void; export const repoDirectory: string; export function fromRoot(...p: string[]): string; export function hasFile(...p: string[]): boolean; export function fromAegir(...p: string[]): string; export const hasTsconfig: boolean; export namespace paths { export let dist: string; export let src: string; export let test: string; export { pkgPath as package }; } export function parseJson(contents: string): any; export function readJson(filePath: string | number | Buffer | import("url").URL): any; export function getListrConfig(): { renderer: "verbose"; }; export function exec(command: string, args: string[] | undefined, options?: any): import("execa").ResultPromise; export function getElectron(): Promise; export function brotliSize(path: fs.PathLike): Promise; export function gzipSize(path: fs.PathLike): Promise; export function otp(): Promise; export const isESM: boolean; export const isCJS: boolean; export const hasTypes: boolean; export const hasMain: boolean; export const hasIndexTs: boolean; export const hasIndexJs: boolean; export const isMonorepoParent: boolean; export const hasDocs: boolean; export const hasDocCheck: boolean; export const isTypescript: boolean; export const isTypedESM: boolean; export const isTypedCJS: boolean; export const isUntypedCJS: boolean; export function isMonorepoProject(dir?: string): boolean; export function isMonorepoRoot(dir?: string): boolean; export function usesReleasePlease(dir?: string): boolean; export function usesSemanticReleaseMonorepo(dir?: string): boolean; export function getSubProjectDirectories(projectDir: string, workspaces: string[]): string[]; export function formatError(error: Error): string; export function formatCode(code: string, errorLines: number[]): string; export type Project = { manifest: any; dir: string; siblingDependencies: string[]; dependencies: string[]; }; export const pkg: import("read-pkg-up").NormalizedPackageJson; declare const pkgPath: string; import fs from 'fs-extra'; export {}; //# sourceMappingURL=utils.d.ts.map