UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 2.55 kB
{"version":3,"file":"package-manager.mjs","sources":["../src/package-manager.ts"],"sourcesContent":["import execa from 'execa';\n\nimport type { Options as ProcessOptions } from 'execa';\nimport { getPreferredPM } from './get-preferred-pm';\n\nconst SUPPORTED_PACKAGE_MANAGERS = ['npm', 'yarn', 'pnpm'] as const;\nconst DEFAULT_PACKAGE_MANAGER = 'npm' as const;\n\ntype SupportedPackageManagerName = (typeof SUPPORTED_PACKAGE_MANAGERS)[number];\n\nexport const getPreferred = async (pkgPath: string): Promise<SupportedPackageManagerName> => {\n const preferredPM = await getPreferredPM();\n const pm = await preferredPM(pkgPath);\n\n if (pm == null) {\n throw new Error(`Couldn't find a package manager in your project.`);\n }\n\n const isPackageManagerSupported = (SUPPORTED_PACKAGE_MANAGERS as readonly string[]).includes(\n pm.name\n );\n if (!isPackageManagerSupported) {\n process.emitWarning(\n `We detected your package manager (${pm.name} v${pm.version}), but it's not officially supported by Strapi yet. Defaulting to npm instead.`\n );\n\n return DEFAULT_PACKAGE_MANAGER;\n }\n\n return pm.name as SupportedPackageManagerName;\n};\n\nexport const installDependencies = (\n path: string,\n packageManager: SupportedPackageManagerName,\n options: ProcessOptions<string> = {}\n) => {\n return execa(packageManager, ['install'], { ...options, cwd: path, stdin: 'ignore' });\n};\n"],"names":["SUPPORTED_PACKAGE_MANAGERS","DEFAULT_PACKAGE_MANAGER","getPreferred","pkgPath","preferredPM","getPreferredPM","pm","Error","isPackageManagerSupported","includes","name","process","emitWarning","version","installDependencies","path","packageManager","options","execa","cwd","stdin"],"mappings":";;;AAKA,MAAMA,0BAAAA,GAA6B;AAAC,IAAA,KAAA;AAAO,IAAA,MAAA;AAAQ,IAAA;AAAO,CAAA;AAC1D,MAAMC,uBAAAA,GAA0B,KAAA;AAIzB,MAAMC,eAAe,OAAOC,OAAAA,GAAAA;AACjC,IAAA,MAAMC,cAAc,MAAMC,cAAAA,EAAAA;IAC1B,MAAMC,EAAAA,GAAK,MAAMF,WAAAA,CAAYD,OAAAA,CAAAA;AAE7B,IAAA,IAAIG,MAAM,IAAA,EAAM;AACd,QAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,gDAAgD,CAAC,CAAA;AACpE,IAAA;AAEA,IAAA,MAAMC,4BAA4B,0BAACR,CAAiDS,QAAQ,CAC1FH,GAAGI,IAAI,CAAA;AAET,IAAA,IAAI,CAACF,yBAAAA,EAA2B;AAC9BG,QAAAA,OAAAA,CAAQC,WAAW,CACjB,CAAC,kCAAkC,EAAEN,EAAAA,CAAGI,IAAI,CAAC,EAAE,EAAEJ,EAAAA,CAAGO,OAAO,CAAC,8EAA8E,CAAC,CAAA;QAG7I,OAAOZ,uBAAAA;AACT,IAAA;AAEA,IAAA,OAAOK,GAAGI,IAAI;AAChB;MAEaI,mBAAAA,GAAsB,CACjCC,MACAC,cAAAA,EACAC,OAAAA,GAAkC,EAAE,GAAA;AAEpC,IAAA,OAAOC,MAAMF,cAAAA,EAAgB;AAAC,QAAA;KAAU,EAAE;AAAE,QAAA,GAAGC,OAAO;QAAEE,GAAAA,EAAKJ,IAAAA;QAAMK,KAAAA,EAAO;AAAS,KAAA,CAAA;AACrF;;;;"}