496a7ac4eb
AVA stores snapshots in a binary format (`.snap`), which produces no
meaningful diffs and bloats Git history. This replaces AVA with the
built-in `node:test` module, whose snapshot support generates
human-readable text files that are easy to diff and review in pull
requests.
The migration also replaces `@sinonjs/fake-timers` and `execa` with
Node.js built-ins (`node:test` mock timers and `node:child_process`),
removing three dev dependencies total.
- **`tests/index.js`**: Rewritten to use `node:test` with a custom
snapshot serializer that renders strings with actual newlines. Uses
subtests for labeled `stderr`/`stdout` snapshots, and only snapshots
non-empty output.
- **`tests/main-repo-skew.test.js`**: Replace `@sinonjs/fake-timers`
with `mock.timers.enable()` from `node:test`.
- **`tests/README.md`**: Updated documentation to reflect `node --test`
and the new snapshot file.
- **`package.json`**: Remove `ava`, `@sinonjs/fake-timers`, and `execa`
from devDependencies. Update test script to `c8 --100 node --test
tests/index.js`.
- **`tests/index.js.snapshot`**: New text-based snapshot file replacing
binary `tests/snapshots/index.js.snap`.
- **`tests/snapshots/`**: Deleted.
All 22 test scenarios (66 subtests) pass with 100% code coverage.
Closes #344
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit f863ba5554)
62 lines
1.6 KiB
JSON
62 lines
1.6 KiB
JSON
{
|
|
"name": "create-github-app-token",
|
|
"private": true,
|
|
"type": "module",
|
|
"version": "2.2.2",
|
|
"description": "GitHub Action for creating a GitHub App Installation Access Token",
|
|
"engines": {
|
|
"node": ">=24.4.0"
|
|
},
|
|
"packageManager": "npm@10.9.4",
|
|
"scripts": {
|
|
"build": "esbuild main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --packages=bundle",
|
|
"test": "c8 --100 node --test tests/index.js",
|
|
"coverage": "c8 report --reporter html",
|
|
"postcoverage": "open-cli coverage/index.html"
|
|
},
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@actions/core": "^3.0.0",
|
|
"@octokit/auth-app": "^8.2.0",
|
|
"@octokit/request": "^10.0.8",
|
|
"p-retry": "^7.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@octokit/openapi": "^21.0.0",
|
|
"c8": "^10.1.3",
|
|
"dotenv": "^17.3.1",
|
|
"esbuild": "^0.27.3",
|
|
"open-cli": "^8.0.0",
|
|
"undici": "^7.24.1",
|
|
"yaml": "^2.8.2"
|
|
},
|
|
"release": {
|
|
"branches": [
|
|
"+([0-9]).x",
|
|
"main",
|
|
{
|
|
"name": "beta",
|
|
"prerelease": true
|
|
}
|
|
],
|
|
"plugins": [
|
|
"@semantic-release/commit-analyzer",
|
|
"@semantic-release/release-notes-generator",
|
|
"@semantic-release/github",
|
|
"@semantic-release/npm",
|
|
"semantic-release-plugin-github-breaking-version-tag",
|
|
[
|
|
"@semantic-release/git",
|
|
{
|
|
"assets": [
|
|
"package.json",
|
|
"package-lock.json",
|
|
"dist/*"
|
|
],
|
|
"message": "build(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
}
|
|
]
|
|
]
|
|
}
|
|
}
|