From be316c5d0bda13855ceffbf3a422a6ce35c9928d Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Fri, 5 Aug 2022 18:13:59 +0200 Subject: [PATCH] feat(manager/npm): full npm buildpack support (#16976) * feat(manager/npm): full npm buildpack support * chore: fix test --- lib/modules/manager/npm/post-update/npm.spec.ts | 11 +++++++---- lib/modules/manager/npm/post-update/npm.ts | 13 ++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/modules/manager/npm/post-update/npm.spec.ts b/lib/modules/manager/npm/post-update/npm.spec.ts index 6bdb012a7b..7a8ae8a90b 100644 --- a/lib/modules/manager/npm/post-update/npm.spec.ts +++ b/lib/modules/manager/npm/post-update/npm.spec.ts @@ -258,16 +258,18 @@ describe('modules/manager/npm/post-update/npm', () => { expect(fs.readLocalFile).toHaveBeenCalledTimes(1); expect(res.lockFile).toBe('package-lock-contents'); expect(execSnapshots).toMatchObject([ - { cmd: 'docker pull renovate/node' }, - { cmd: 'docker ps --filter name=renovate_node -aq' }, + { cmd: 'docker pull renovate/sidecar' }, + { cmd: 'docker ps --filter name=renovate_sidecar -aq' }, { cmd: - 'docker run --rm --name=renovate_node --label=renovate_child ' + + 'docker run --rm --name=renovate_sidecar --label=renovate_child ' + '-v "/tmp":"/tmp" ' + '-e BUILDPACK_CACHE_DIR ' + '-w "some-dir" ' + - 'renovate/node ' + + 'renovate/sidecar ' + 'bash -l -c "' + + 'install-tool node 16.16.0 ' + + '&& ' + 'install-tool npm 6.0.0 ' + '&& ' + 'hash -d npm 2>/dev/null || true ' + @@ -296,6 +298,7 @@ describe('modules/manager/npm/post-update/npm', () => { expect(fs.readLocalFile).toHaveBeenCalledTimes(1); expect(res.lockFile).toBe('package-lock-contents'); expect(execSnapshots).toMatchObject([ + { cmd: 'install-tool node 16.16.0' }, { cmd: 'install-tool npm 6.0.0' }, { cmd: 'hash -d npm 2>/dev/null || true' }, { diff --git a/lib/modules/manager/npm/post-update/npm.ts b/lib/modules/manager/npm/post-update/npm.ts index b757111cde..7cf39a57ea 100644 --- a/lib/modules/manager/npm/post-update/npm.ts +++ b/lib/modules/manager/npm/post-update/npm.ts @@ -19,7 +19,7 @@ import { } from '../../../../util/fs'; import type { PostUpdateConfig, Upgrade } from '../../types'; import { composeLockFile, parseLockFile } from '../utils'; -import { getNodeConstraint, getNodeUpdate } from './node-version'; +import { getNodeToolConstraint } from './node-version'; import type { GenerateLockFileResult } from './types'; export async function generateLockFile( @@ -55,8 +55,6 @@ export async function generateLockFile( cmdOptions += ' --ignore-scripts'; } - const tagConstraint = - getNodeUpdate(upgrades) ?? (await getNodeConstraint(config)); const extraEnv: ExtraEnv = { NPM_CONFIG_CACHE: env.NPM_CONFIG_CACHE, npm_config_store: env.npm_config_store, @@ -64,11 +62,12 @@ export async function generateLockFile( const execOptions: ExecOptions = { cwdFile: lockFileName, extraEnv, - toolConstraints: [npmToolConstraint], + toolConstraints: [ + await getNodeToolConstraint(config, upgrades), + npmToolConstraint, + ], docker: { - image: 'node', - tagScheme: 'node', - tagConstraint, + image: 'sidecar', }, }; // istanbul ignore if -- GitLab