From b6411b75c54d25b4063373211ec0e0f5cefda52a Mon Sep 17 00:00:00 2001 From: Radoslaw Szwajkowski Date: Tue, 24 Sep 2024 20:32:24 +0200 Subject: [PATCH] move to npm ci Signed-off-by: Radoslaw Szwajkowski --- .github/workflows/ci-repo.yml | 7 ++-- scripts/verify_lock.mjs | 66 ----------------------------------- 2 files changed, 2 insertions(+), 71 deletions(-) delete mode 100755 scripts/verify_lock.mjs diff --git a/.github/workflows/ci-repo.yml b/.github/workflows/ci-repo.yml index 09a5c5a3..e5ee7a1b 100644 --- a/.github/workflows/ci-repo.yml +++ b/.github/workflows/ci-repo.yml @@ -38,14 +38,11 @@ jobs: path: vscode/node_modules key: ${{ runner.os }}-node-${{ hashFiles('vscode/package-lock.json') }} - - name: Verify package-lock.json - run: ./scripts/verify_lock.mjs - - name: Install dependencies run: | cd vscode npm version - npm install + npm ci - name: Lint sources run: | @@ -77,6 +74,6 @@ jobs: - run: | cd vscode - npm run install + npm run ci - run: xvfb-run -a npm run test \ No newline at end of file diff --git a/scripts/verify_lock.mjs b/scripts/verify_lock.mjs deleted file mode 100755 index 99ffdec3..00000000 --- a/scripts/verify_lock.mjs +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env node - -import process from "node:process"; -import path from "node:path"; -import { readFileSync } from "node:fs"; - -// set the working directory to project root -// fs.accessSync("./package-lock.json") -const getProjectRoot = () => path.resolve(path.dirname(process.argv[1]), "../"); -process.chdir(getProjectRoot()); - -// load the lock file -const lockFilePath = path.resolve(process.cwd(), "package-lock.json"); -const lockFile = JSON.parse(readFileSync(lockFilePath)); - -const toLog = { - name: lockFile.name, - version: lockFile.version, - lockfileVersion: lockFile.lockfileVersion, -}; - -// check the packages packages -const removeUndefined = (obj) => - Object.fromEntries(Object.entries(obj).filter((e) => e[1] !== undefined)); - -const results = { - project: [], - resolved: [], - unresolved: [], -}; -Object.entries(lockFile.packages).forEach(([name, p]) => { - const bucket = p.name?.startsWith("@konveyor-ui") - ? results.project - : p.resolved - ? results.resolved - : results.unresolved; - - bucket.push( - removeUndefined({ - name, - version: p.version, - resolved: p.resolved, - packageName: p.name, - }) - ); -}); - -// log findings -toLog.packages = results.project; -toLog.dependencies = { - countResolved: results.resolved.length, - countUnresolved: results.unresolved.length, - unresolved: results.unresolved, -}; - -console.log(`package-lock.json (${lockFilePath}) status:`); -console.dir(toLog, { depth: 3 }); -console.log(); -if (results.unresolved.length === 0) { - console.log("\u{1f600} lock file is ok!"); -} else { - console.log("\u{1f621} lock file contains unresolved dependencies!"); -} - -// exit the script with an appropriate error code -process.exit(results.unresolved.length === 0 ? 0 : 1);