cache-apt-pkgs-action/package.json
awalsh128 cb75fec07d ci: guard against shipping a locally linked ts-apt
Add scripts/ops/check_tsapt_pin.sh, which fails when node_modules/ts-apt
is a symlink, package.json does not pin ts-apt to a full commit SHA, or
package-lock.json resolves ts-apt to a link or a different SHA.

Run it from a .githooks/pre-push hook (installed by the npm prepare
script via core.hooksPath) and from the CI action-deps-pinned job, and
document the rule in AGENTS.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 12:45:34 -08:00

123 lines
4.8 KiB
JSON

{
"name": "cache-apt-pkgs-action",
"version": "0.0.0-semantically-released",
"description": "Install APT based packages and cache them for future runs",
"author": "Andrew Walsh",
"license": "Apache-2.0",
"keywords": [
"apt",
"apt-cache",
"apt-get",
"apt-fast"
],
"funding": {
"type": "github",
"url": "https://github.com/sponsors/awalsh128"
},
"repository": {
"type": "git",
"url": "https://github.com/awalsh128/cache-apt-pkgs-action.git"
},
"files": [
"dist/src",
"!dist/test",
"scripts",
"LICENSE",
"README.md"
],
"type": "module",
"main": "dist/src/index.js",
"types": "dist/src/types.d.ts",
"exports": {
".": {
"import": {
"types": "./dist/src/index.d.ts",
"default": "./dist/src/index.js"
},
"require": {
"types": "./dist/src/index.d.cts",
"default": "./dist/src/index.cjs"
}
}
},
"engines": {
"node": ">=24"
},
"scripts": {
"runall": "node ./node_modules/npm-run-all/bin/npm-run-all/index.js",
"build:lib": "tsc -p tsconfig.build.json",
"build:scripts": "tsc -p tsconfig.scripts.json --noEmit",
"bundle": "rollup -c rollup.config.mjs",
"build": "npm run -s runall -- build:lib bundle build:scripts",
"clean": "rm -rf dist coverage",
"prepare": "git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true",
"check:latest-action-pin": "node --experimental-strip-types ./scripts/ops/check_latest_action_pin.mts",
"check:latest-action-pins": "node --experimental-strip-types ./scripts/ops/check_latest_action_pin.mts --scan",
"check:pr": "node --experimental-strip-types ./scripts/ops/pr_checks.mts",
"check:configs": "node --experimental-strip-types ./scripts/ops/check_configs.mts",
"check:tsapt-pin": "./scripts/ops/check_tsapt_pin.sh",
"check": "npm run -s runall -- check:latest-action-pins check:pr check:configs check:tsapt-pin",
"dev:tsapt:link": "npm link ../ts-apt --no-save; echo \"NOTE: npm run dev:tsapt:unlink when you are finished.\"",
"dev:tsapt:unlink": "npm unlink ts-apt --no-save && npm ci",
"gh:auth": "gh auth status >/dev/null 2>&1 || gh auth login --web && gh auth setup-git",
"setup:dev": "node --experimental-strip-types ./scripts/dev/setup_devenv.mts",
"repo:sync": "node --experimental-strip-types ./scripts/dev/gh_sync.mts",
"repo:rulesets:download": "npm run repo::sync -- download --target rulesets",
"repo:rulesets:upload": "npm run repo::sync -- upload --target rulesets",
"repo:settings:download": "npm run repo::sync -- download --target settings",
"repo:settings:upload": "npm run repo::sync -- upload --target settings",
"repo:vars:download": "npm run repo::sync -- download --target vars",
"repo:vars:upload": "npm run repo::sync -- upload --target vars",
"repo:tags:download": "npm run repo::sync -- download --target tags",
"repo:tags:upload": "npm run repo::sync -- upload --target tags",
"repo:all:download": "npm run repo::sync -- download --target all",
"repo:all:upload": "npm run repo::sync -- upload --target all",
"docs:api": "typedoc --options typedoc.json",
"release": "semantic-release",
"release:dry-run": "semantic-release --dry-run",
"lint": "eslint src test scripts --ext .ts,.mts",
"typecheck:lib": "tsc -p tsconfig.json --noEmit",
"typecheck:scripts": "tsc -p tsconfig.scripts.json --noEmit",
"typecheck": "npm run -s runall -- typecheck:lib typecheck:scripts",
"test": "vitest run --coverage"
},
"dependencies": {
"@actions/artifact": "^6.2.1",
"@actions/cache": "^6.1.0",
"@actions/core": "^3.0.1",
"class-transformer": "^0.5.1",
"rollup": "^4.62.2",
"tar": "^7.4.3",
"ts-apt": "git+https://github.com/awalsh128/ts-apt.git#342c7d0f453dcf1a69da83d7d195f9df2611a351",
"winston": "^3.19.0"
},
"devDependencies": {
"@devcontainers/cli": "^0.87.0",
"@robingenz/zli": "^0.2.0",
"@rollup/plugin-commonjs": "^29.0.3",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^16.0.3",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.6",
"@semantic-release/npm": "^13.1.5",
"@semantic-release/release-notes-generator": "^14.1.1",
"@types/node": "^24.1.0",
"@types/tar": "^6.1.13",
"@typescript-eslint/eslint-plugin": "^8.62.1",
"@typescript-eslint/parser": "^8.62.1",
"@vitest/coverage-v8": "^4.1.9",
"eslint": "^10.6.0",
"internet-message": "^1.0.0",
"npm-run-all": "^4.1.5",
"semantic-release": "^25.0.5",
"type-coverage": "^2.29.7",
"typedoc": "^0.28.19",
"typedoc-plugin-markdown": "^4.12.0",
"typescript": "^6.0.3",
"vitest": "^4.1.10",
"zod": "^4.4.3"
}
}