UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 2.47 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'];\nconst DEFAULT_PACKAGE_MANAGER = 'npm' as const;\n\ntype SupportedPackageManagerName = 'npm' | 'yarn';\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.includes(pm.name);\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,0BAA6B,GAAA;AAAC,IAAA,KAAA;AAAO,IAAA;AAAO,CAAA;AAClD,MAAMC,uBAA0B,GAAA,KAAA;AAIzB,MAAMC,eAAe,OAAOC,OAAAA,GAAAA;IACjC,MAAMC,EAAAA,GAAK,MAAMC,WAAYF,CAAAA,OAAAA,CAAAA;AAE7B,IAAA,MAAMG,oBAAoBF,EAAOG,KAAAA,SAAAA;AACjC,IAAA,IAAI,CAACD,iBAAmB,EAAA;AACtB,QAAA,MAAM,IAAIE,KAAAA,CAAM,CAAC,gDAAgD,CAAC,CAAA;AACpE;AAEA,IAAA,MAAMC,yBAA4BT,GAAAA,0BAAAA,CAA2BU,QAAQ,CAACN,GAAGO,IAAI,CAAA;AAC7E,IAAA,IAAI,CAACF,yBAA2B,EAAA;AAC9BG,QAAAA,OAAAA,CAAQC,WAAW,CACjB,CAAC,kCAAkC,EAAET,EAAGO,CAAAA,IAAI,CAAC,EAAE,EAAEP,EAAAA,CAAGU,OAAO,CAAC,8EAA8E,CAAC,CAAA;QAG7I,OAAOb,uBAAAA;AACT;AAEA,IAAA,OAAOG,GAAGO,IAAI;AAChB;MAEaI,mBAAsB,GAAA,CACjCC,MACAC,cACAC,EAAAA,OAAAA,GAAkC,EAAE,GAAA;AAEpC,IAAA,OAAOC,MAAMF,cAAgB,EAAA;AAAC,QAAA;KAAU,EAAE;AAAE,QAAA,GAAGC,OAAO;QAAEE,GAAKJ,EAAAA,IAAAA;QAAMK,KAAO,EAAA;AAAS,KAAA,CAAA;AACrF;;;;"}