build: ensure consistent lock files across multiple machines (#17955)
* build: ensure consistent package-lock across multiple machines * build: fix linting errors and use npm ci instead of npm install * build: use a yarn.lock and yarn instead of package-lock and npm * chore: replace package-lock.json files with yarn.lock * chore: replace last instance of `npm install`
This commit is contained in:
parent
8d83518f9a
commit
98c51dd660
18 changed files with 9970 additions and 15506 deletions
|
@ -25,6 +25,9 @@ const utils = require('./lib/utils')
|
|||
|
||||
const BASE = path.resolve(__dirname, '../..')
|
||||
const NPM_CMD = process.platform === 'win32' ? 'npm.cmd' : 'npm'
|
||||
const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx'
|
||||
// KEEP IN SYNC WITH DEPS FILE
|
||||
const YARN_VERSION = '1.15.2'
|
||||
|
||||
const specHashPath = path.resolve(__dirname, '../spec/.hash')
|
||||
|
||||
|
@ -143,7 +146,7 @@ async function installSpecModules () {
|
|||
npm_config_nodedir: nodeDir,
|
||||
npm_config_msvs_version: '2017'
|
||||
})
|
||||
const { status } = childProcess.spawnSync(NPM_CMD, ['install'], {
|
||||
const { status } = childProcess.spawnSync(NPX_CMD, [`yarn@${YARN_VERSION}`, 'install', '--frozen-lockfile'], {
|
||||
env,
|
||||
cwd: path.resolve(__dirname, '../spec'),
|
||||
stdio: 'inherit'
|
||||
|
@ -158,7 +161,7 @@ function getSpecHash () {
|
|||
(async () => {
|
||||
const hasher = crypto.createHash('SHA256')
|
||||
hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec/package.json')))
|
||||
hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec/package-lock.json')))
|
||||
hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec/yarn.lock')))
|
||||
return hasher.digest('hex')
|
||||
})(),
|
||||
(async () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue