From 1881a6e5658cbd7bca87a9fbeafafa0a0bf5ff84 Mon Sep 17 00:00:00 2001 From: Le Cong Date: Tue, 13 May 2025 17:56:44 -0400 Subject: [PATCH 1/2] replace hard-coded package json sections with the ones from the target package --- package-lock.json | 4 ++-- package.json | 2 +- .../validate-npm-package.spec.ts | 11 +++++++++++ src/validate-npm-package/validate-npm-package.ts | 13 +++++-------- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 61d508f..896379d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@checkdigit/github-actions", - "version": "2.3.0", + "version": "2.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@checkdigit/github-actions", - "version": "2.3.0", + "version": "2.4.0", "license": "MIT", "dependencies": { "@actions/core": "^1.10.1", diff --git a/package.json b/package.json index a62850b..f063ed9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@checkdigit/github-actions", - "version": "2.3.0", + "version": "2.4.0", "description": " Provides supporting operations for github action builds.", "author": "Check Digit, LLC", "license": "MIT", diff --git a/src/validate-npm-package/validate-npm-package.spec.ts b/src/validate-npm-package/validate-npm-package.spec.ts index 3171784..f8568cd 100644 --- a/src/validate-npm-package/validate-npm-package.spec.ts +++ b/src/validate-npm-package/validate-npm-package.spec.ts @@ -25,6 +25,17 @@ describe('validate-npm-package', () => { await verifyNpmPackage(); }, 300_000); + it('successfully verify good beta npm package with the latest standards', async () => { + actionsCoreSpy.mockImplementationOnce((name) => { + if (name === 'betaPackage') { + return '@checkdigit/test-checkdigit@3.4.1-PR.134-31bc'; + } + return ''; + }); + + await verifyNpmPackage(); + }, 300_000); + // Test uses a bad version of approval package // and requires skipLibCheck: false in tsconfig.json // we set it manually in validate npm package as diff --git a/src/validate-npm-package/validate-npm-package.ts b/src/validate-npm-package/validate-npm-package.ts index 09c49e1..bb8feb2 100644 --- a/src/validate-npm-package/validate-npm-package.ts +++ b/src/validate-npm-package/validate-npm-package.ts @@ -15,7 +15,9 @@ import { addNPMRCFile } from '../publish-beta/publish'; interface PackageJson { name: string; version: string; + engine?: Record; devDependencies?: Record; + overrides?: Record; } const exec = util.promisify(childProcess.exec); @@ -42,18 +44,13 @@ async function generateProject(workFolder: string, packageJson: PackageJson): Pr name: 'test', version: '0.0.1', description: 'test project for validating a target library or service npm package', - engines: { - node: '>=20.11', - }, + ...(packageJson.engine === undefined ? {} : { engine: packageJson.engine }), type: 'module', dependencies: { [packageJson.name]: packageJson.version, }, - devDependencies: { - // including the devDependencies from the target package is necessary for resolving the typing references including but not limited to the types from its service dependencies - ...packageJson.devDependencies, - '@checkdigit/typescript-config': '^7.0.1', - }, + devDependencies: packageJson.devDependencies, + ...(packageJson.overrides === undefined ? {} : { overrides: packageJson.overrides }), scripts: { compile: 'tsc --noEmit', }, From 69cd33e6063e191ff527d626c6c0a03a5f5d8960 Mon Sep 17 00:00:00 2001 From: Le Cong Date: Tue, 13 May 2025 18:01:42 -0400 Subject: [PATCH 2/2] update coverage reporter action to use main branch --- .github/workflows/coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 3b983b6..6754648 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -34,7 +34,7 @@ jobs: env: NPM_TOKEN: ${{ secrets.NPM_TOKEN_PUBLISH }} - name: Post Coverage Report - uses: checkdigit/github-actions/coverage-reporter@coverage-folder-handling-conflict + uses: checkdigit/github-actions/coverage-reporter@main with: coverage-results-folder-pr: 'coverage-pr' coverage-results-folder-base: 'coverage'