|
1 |
| -import path from 'path'; |
2 | 1 | import { getInput, setFailed, startGroup, endGroup, debug } from '@actions/core';
|
3 | 2 | import { context, getOctokit } from '@actions/github';
|
4 | 3 | import { exec } from '@actions/exec';
|
5 | 4 | import SizePlugin from 'size-plugin-core';
|
6 |
| -import { fileExists, diffTable, toBool, stripHash } from './utils.js'; |
| 5 | +import { getPackageManagerAndInstallScript, diffTable, toBool, stripHash } from './utils.js'; |
7 | 6 |
|
8 | 7 | /**
|
9 | 8 | * @typedef {ReturnType<typeof import("@actions/github").getOctokit>} Octokit
|
@@ -50,26 +49,7 @@ async function run(octokit, context, token) {
|
50 | 49 | const buildScript = getInput('build-script') || 'build';
|
51 | 50 | const cwd = process.cwd();
|
52 | 51 |
|
53 |
| - let yarnLock = await fileExists(path.resolve(cwd, 'yarn.lock')); |
54 |
| - let pnpmLock = await fileExists(path.resolve(cwd, 'pnpm-lock.yaml')); |
55 |
| - let bunLock = await fileExists(path.resolve(cwd, 'bun.lockb')); |
56 |
| - let packageLock = await fileExists(path.resolve(cwd, 'package-lock.json')); |
57 |
| - |
58 |
| - let packageManager = 'npm'; |
59 |
| - let installScript = 'npm install'; |
60 |
| - if (yarnLock) { |
61 |
| - installScript = 'yarn --frozen-lockfile'; |
62 |
| - packageManager = 'yarn'; |
63 |
| - } else if (pnpmLock) { |
64 |
| - installScript = 'pnpm install --frozen-lockfile'; |
65 |
| - packageManager = 'pnpm'; |
66 |
| - } else if (bunLock) { |
67 |
| - installScript = 'bun install --frozen-lockfile'; |
68 |
| - packageManager = 'bun'; |
69 |
| - } else if (packageLock) { |
70 |
| - installScript = 'npm ci'; |
71 |
| - } |
72 |
| - |
| 52 | + let { packageManager, installScript } = await getPackageManagerAndInstallScript(cwd); |
73 | 53 | if (getInput('install-script')) {
|
74 | 54 | installScript = getInput('install-script');
|
75 | 55 | }
|
@@ -127,26 +107,8 @@ async function run(octokit, context, token) {
|
127 | 107 |
|
128 | 108 | startGroup(`[base] Install Dependencies`);
|
129 | 109 |
|
130 |
| - yarnLock = await fileExists(path.resolve(cwd, 'yarn.lock')); |
131 |
| - pnpmLock = await fileExists(path.resolve(cwd, 'pnpm-lock.yaml')); |
132 |
| - bunLock = await fileExists(path.resolve(cwd, 'bun.lockb')); |
133 |
| - packageLock = await fileExists(path.resolve(cwd, 'package-lock.json')); |
134 |
| - |
135 |
| - packageManager = 'npm'; |
136 |
| - installScript = 'npm install'; |
137 |
| - if (yarnLock) { |
138 |
| - installScript = `yarn --frozen-lockfile`; |
139 |
| - packageManager = `yarn`; |
140 |
| - } else if (pnpmLock) { |
141 |
| - installScript = `pnpm install --frozen-lockfile`; |
142 |
| - packageManager = `pnpm`; |
143 |
| - } else if (bunLock) { |
144 |
| - installScript = `bun install --frozen-lockfile`; |
145 |
| - packageManager = `bun`; |
146 |
| - } else if (packageLock) { |
147 |
| - installScript = `npm ci`; |
148 |
| - } |
149 | 110 |
|
| 111 | + ({ packageManager, installScript } = await getPackageManagerAndInstallScript(cwd)); |
150 | 112 | if (getInput('install-script')) {
|
151 | 113 | installScript = getInput('install-script');
|
152 | 114 | }
|
|
0 commit comments