Path: blob/main/build/azure-pipelines/common/computeNodeModulesCacheKey.js
3520 views
"use strict";1var __importDefault = (this && this.__importDefault) || function (mod) {2return (mod && mod.__esModule) ? mod : { "default": mod };3};4Object.defineProperty(exports, "__esModule", { value: true });5/*---------------------------------------------------------------------------------------------6* Copyright (c) Microsoft Corporation. All rights reserved.7* Licensed under the MIT License. See License.txt in the project root for license information.8*--------------------------------------------------------------------------------------------*/9const fs_1 = __importDefault(require("fs"));10const path_1 = __importDefault(require("path"));11const crypto_1 = __importDefault(require("crypto"));12const { dirs } = require('../../npm/dirs');13const ROOT = path_1.default.join(__dirname, '../../../');14const shasum = crypto_1.default.createHash('sha256');15shasum.update(fs_1.default.readFileSync(path_1.default.join(ROOT, 'build/.cachesalt')));16shasum.update(fs_1.default.readFileSync(path_1.default.join(ROOT, '.npmrc')));17shasum.update(fs_1.default.readFileSync(path_1.default.join(ROOT, 'build', '.npmrc')));18shasum.update(fs_1.default.readFileSync(path_1.default.join(ROOT, 'remote', '.npmrc')));19// Add `package.json` and `package-lock.json` files20for (const dir of dirs) {21const packageJsonPath = path_1.default.join(ROOT, dir, 'package.json');22const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath).toString());23const relevantPackageJsonSections = {24dependencies: packageJson.dependencies,25devDependencies: packageJson.devDependencies,26optionalDependencies: packageJson.optionalDependencies,27resolutions: packageJson.resolutions,28distro: packageJson.distro29};30shasum.update(JSON.stringify(relevantPackageJsonSections));31const packageLockPath = path_1.default.join(ROOT, dir, 'package-lock.json');32shasum.update(fs_1.default.readFileSync(packageLockPath));33}34// Add any other command line arguments35for (let i = 2; i < process.argv.length; i++) {36shasum.update(process.argv[i]);37}38process.stdout.write(shasum.digest('hex'));39//# sourceMappingURL=computeNodeModulesCacheKey.js.map4041