From 601b9fc1e291e19c1f7cc2c3b07f2e03e985004d Mon Sep 17 00:00:00 2001 From: Tomasz Jakut Date: Sat, 29 Jul 2023 00:43:47 +0200 Subject: [PATCH 1/4] chore(package): add `publint` as dev dependency --- package-lock.json | 114 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 115 insertions(+) diff --git a/package-lock.json b/package-lock.json index 07e94cd..666d400 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "eslint": "^8.46.0", "husky": "^8.0.3", "mock-fs": "^5.2.0", + "publint": "^0.2.0", "tslib": "^2.6.1", "tsx": "^3.12.7", "typescript": "^5.1.6" @@ -5671,6 +5672,39 @@ "node": ">=10 <11 || >=12 <13 || >=14" } }, + "node_modules/ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -6605,6 +6639,15 @@ "node": ">=12.0.0" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -6653,6 +6696,45 @@ "node": ">=0.10.0" } }, + "node_modules/npm-bundled": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz", + "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz", + "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/npm-run-path": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", @@ -7215,6 +7297,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/publint": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/publint/-/publint-0.2.0.tgz", + "integrity": "sha512-h8lxdjhQjpDw+A4BgY4sE7Z4CU3x5tCGGpERVdKGDQmWMtr1P7kvptJS2P10HhmNnS7Yeny37zfQE5+xRZ6nig==", + "dev": true, + "dependencies": { + "npm-packlist": "^5.1.3", + "picocolors": "^1.0.0", + "sade": "^1.8.1" + }, + "bin": { + "publint": "lib/cli.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://bjornlu.com/sponsor" + } + }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -7678,6 +7780,18 @@ "tslib": "^2.1.0" } }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", diff --git a/package.json b/package.json index 718078d..271717b 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "eslint": "^8.46.0", "husky": "^8.0.3", "mock-fs": "^5.2.0", + "publint": "^0.2.0", "tslib": "^2.6.1", "tsx": "^3.12.7", "typescript": "^5.1.6" From c5ebb52f3307e8d7cdd89b95da04e5e6a0359666 Mon Sep 17 00:00:00 2001 From: Tomasz Jakut Date: Sat, 29 Jul 2023 00:45:50 +0200 Subject: [PATCH 2/4] chore(package): add publint as release step --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 271717b..3a43883 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,12 @@ "engineStrict": true, "scripts": { "lint": "eslint \"src/\" \"tests/\"", + "lint-package": "publint", "pretest": "npm run build", "test": "c8 ava", "build": "rlb", - "version": "npm test && npm run build && git add -f dist/", - "postversion": "git rm -r --cached dist/ && git commit -m \"chore(dist): clean after release [ci skip]\" && git push origin && git push origin --tags", + "version": "npm test && npm run build && npm run lint-package && git add -f bin/ dist/", + "postversion": "git rm -r --cached bin/ dist/ && git commit -m \"chore(dist): clean after release [ci skip]\" && git push origin && git push origin --tags", "prepare": "husky install" }, "repository": { From e5b86b8c1394865fe586c51b49e6264808998cab Mon Sep 17 00:00:00 2001 From: Tomasz Jakut Date: Sat, 29 Jul 2023 00:46:04 +0200 Subject: [PATCH 3/4] ci(gha): add publint to CI workflow --- .github/workflows/ci.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02e0336..f0f5dcd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,11 +19,21 @@ jobs: node: [ '16', '18', '20' ] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - name: Git checkout + uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - - run: npm ci - - run: npm test - - uses: codecov/codecov-action@v3 + - name: Install dependencies + run: npm ci + - name: Lint code + run: npm run lint + - name: Run tests + run: npm test + - name: Upload coverage data to Codecov + uses: codecov/codecov-action@v3 + - name: Build package + run: npm run build + - name: Lint package + run: npm run lint-package From c55bbe1fa2609b1b711aaf1bc8dff5d52057897f Mon Sep 17 00:00:00 2001 From: Tomasz Jakut Date: Sat, 29 Jul 2023 00:46:34 +0200 Subject: [PATCH 4/4] chore(package): remove unnecessary `files` entry --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 3a43883..69eb0ee 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,7 @@ }, "files": [ "bin", - "dist", - "esm-loader-manager.d.ts" + "dist" ], "engines": { "node": ">=16.12.0"