computeYarnCacheKey.js 704 B

123456789101112131415161718192021222324
  1. const fs = require("fs");
  2. const crypto = require("crypto");
  3. const path = require("path");
  4. const { dirs } = require('../../vscode/build/npm/dirs');
  5. const ROOT = path.join(__dirname, '../../vscode');
  6. const shasum = crypto.createHash('sha1');
  7. shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
  8. shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
  9. // Add `yarn.lock` files
  10. for (let dir of dirs) {
  11. const yarnLockPath = path.join(ROOT, dir, 'yarn.lock');
  12. shasum.update(fs.readFileSync(yarnLockPath));
  13. }
  14. // Add any other command line arguments
  15. for (let i = 2; i < process.argv.length; i++) {
  16. shasum.update(process.argv[i]);
  17. }
  18. process.stdout.write(shasum.digest('hex'));