UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 2.57 kB
{"version":3,"file":"package-manager.mjs","sources":["../src/package-manager.ts"],"sourcesContent":["import execa from 'execa';\nimport preferredPM from 'preferred-pm';\n\nimport type { Options as ProcessOptions } from 'execa';\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 pm = await preferredPM(pkgPath);\n\n const hasPackageManager = pm !== undefined;\n if (!hasPackageManager) {\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","pm","preferredPM","hasPackageManager","undefined","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;IACjC,MAAMC,EAAAA,GAAK,MAAMC,WAAAA,CAAYF,OAAAA,CAAAA;AAE7B,IAAA,MAAMG,oBAAoBF,EAAAA,KAAOG,SAAAA;AACjC,IAAA,IAAI,CAACD,iBAAAA,EAAmB;AACtB,QAAA,MAAM,IAAIE,KAAAA,CAAM,CAAC,gDAAgD,CAAC,CAAA;AACpE,IAAA;AAEA,IAAA,MAAMC,4BAA4B,0BAACT,CAAiDU,QAAQ,CAC1FN,GAAGO,IAAI,CAAA;AAET,IAAA,IAAI,CAACF,yBAAAA,EAA2B;AAC9BG,QAAAA,OAAAA,CAAQC,WAAW,CACjB,CAAC,kCAAkC,EAAET,EAAAA,CAAGO,IAAI,CAAC,EAAE,EAAEP,EAAAA,CAAGU,OAAO,CAAC,8EAA8E,CAAC,CAAA;QAG7I,OAAOb,uBAAAA;AACT,IAAA;AAEA,IAAA,OAAOG,GAAGO,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;;;;"}