Skip to content

Commit

Permalink
Switch to pnpm store path command
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobwgillespie committed Jul 15, 2021
1 parent f452812 commit 3af302a
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 45 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,20 @@ steps:
- run: npm test
```

**Caching pnpm dependencies:**
**Caching pnpm (v6.10+) dependencies:**
```yaml
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# NOTE: pnpm caching support requires pnpm version >= 6.10.0
steps:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@646cdf48217256a3d0b80361c5a50727664284f2
with:
version: 6.9.0
version: 6.10.0
- uses: actions/setup-node@v2
with:
node-version: '14'
Expand Down
17 changes: 2 additions & 15 deletions dist/cache-save/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4282,23 +4282,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(__webpack_require__(470));
const exec = __importStar(__webpack_require__(986));
const os_1 = __importDefault(__webpack_require__(87));
const path_1 = __importDefault(__webpack_require__(622));
exports.supportedPackageManagers = {
npm: {
lockFilePatterns: ['package-lock.json', 'yarn.lock'],
getCacheFolderCommand: 'npm config get cache'
},
pnpm: {
lockFilePatterns: ['pnpm-lock.yaml'],
getCacheFolderCommand: 'pnpm get store',
defaultCacheFolder: path_1.default.join(os_1.default.homedir(), '.pnpm-store')
getCacheFolderCommand: 'pnpm store path'
},
yarn1: {
lockFilePatterns: ['yarn.lock'],
Expand Down Expand Up @@ -4345,14 +4339,7 @@ exports.getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, vo
}
});
exports.getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
let stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
// pnpm returns 'undefined' if no custom store path is set
if (stdOut === 'undefined') {
stdOut = '';
}
if (!stdOut && packageManagerInfo.defaultCacheFolder) {
stdOut = packageManagerInfo.defaultCacheFolder;
}
const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
if (!stdOut) {
throw new Error(`Could not get cache folder path for ${packageManager}`);
}
Expand Down
17 changes: 2 additions & 15 deletions dist/setup/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51580,23 +51580,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(__webpack_require__(470));
const exec = __importStar(__webpack_require__(986));
const os_1 = __importDefault(__webpack_require__(87));
const path_1 = __importDefault(__webpack_require__(622));
exports.supportedPackageManagers = {
npm: {
lockFilePatterns: ['package-lock.json', 'yarn.lock'],
getCacheFolderCommand: 'npm config get cache'
},
pnpm: {
lockFilePatterns: ['pnpm-lock.yaml'],
getCacheFolderCommand: 'pnpm get store',
defaultCacheFolder: path_1.default.join(os_1.default.homedir(), '.pnpm-store')
getCacheFolderCommand: 'pnpm store path'
},
yarn1: {
lockFilePatterns: ['yarn.lock'],
Expand Down Expand Up @@ -51643,14 +51637,7 @@ exports.getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, vo
}
});
exports.getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
let stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
// pnpm returns 'undefined' if no custom store path is set
if (stdOut === 'undefined') {
stdOut = '';
}
if (!stdOut && packageManagerInfo.defaultCacheFolder) {
stdOut = packageManagerInfo.defaultCacheFolder;
}
const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
if (!stdOut) {
throw new Error(`Could not get cache folder path for ${packageManager}`);
}
Expand Down
17 changes: 4 additions & 13 deletions src/cache-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ type SupportedPackageManagers = {
export interface PackageManagerInfo {
lockFilePatterns: Array<string>;
getCacheFolderCommand: string;
defaultCacheFolder?: string;
}

export const supportedPackageManagers: SupportedPackageManagers = {
Expand All @@ -20,8 +19,7 @@ export const supportedPackageManagers: SupportedPackageManagers = {
},
pnpm: {
lockFilePatterns: ['pnpm-lock.yaml'],
getCacheFolderCommand: 'pnpm get store',
defaultCacheFolder: path.join(os.homedir(), '.pnpm-store')
getCacheFolderCommand: 'pnpm store path'
},
yarn1: {
lockFilePatterns: ['yarn.lock'],
Expand Down Expand Up @@ -80,16 +78,9 @@ export const getCacheDirectoryPath = async (
packageManagerInfo: PackageManagerInfo,
packageManager: string
) => {
let stdOut = await getCommandOutput(packageManagerInfo.getCacheFolderCommand);

// pnpm returns 'undefined' if no custom store path is set
if (stdOut === 'undefined') {
stdOut = '';
}

if (!stdOut && packageManagerInfo.defaultCacheFolder) {
stdOut = packageManagerInfo.defaultCacheFolder;
}
const stdOut = await getCommandOutput(
packageManagerInfo.getCacheFolderCommand
);

if (!stdOut) {
throw new Error(`Could not get cache folder path for ${packageManager}`);
Expand Down

0 comments on commit 3af302a

Please sign in to comment.