Use English for repository-facing content, including documentation, code comments, commit messages, and pull request title/body/comments, unless the task explicitly requires another language.
This is a TypeScript GitHub Action for publishing GitHub Pages. Source files live
in src/; src/index.ts is the entry point and delegates to modules such as
get-inputs.ts, git-utils.ts, and set-tokens.ts. Tests live in __tests__/,
with static fixtures under __tests__/fixtures/. Documentation is in README.md
and CHANGELOG.md; screenshots and docs assets are in images/. action.yml
defines action inputs and points to generated lib/index.js.
Use Node >=20.11.0 and npm >=10.2.4.
npm ci: install dependencies frompackage-lock.json.npm run all: run format, lint, and Jest tests.npm run build: bundlesrc/index.tsintolib/withncc.npm run tsc: run the TypeScript compiler checks.npm test: run Jest with coverage and verbose output.npm run lint/npm run lint:fix: check or fix ESLint issues.npm run format:check/npm run format: check or apply Prettier formatting.
When changing src/, build locally if needed for verification, but do not commit
lib/index.js in normal changes. Generated lib/index.js is placed on main
only during releases.
Write strict TypeScript and keep module boundaries small. Use 2-space
indentation, semicolons, single quotes, no trailing commas, and a 100-character
print width, matching .prettierrc.json. Test files use *.test.ts. Prefer
names that match action inputs where relevant, for example publish_branch.
Jest with ts-jest is the test framework. Add focused tests in __tests__/ near
related behavior, and place reusable filesystem samples in __tests__/fixtures/.
Run npm test for coverage, and use npm run all before opening a pull request
that touches TypeScript source or tests.
Recent history follows conventional commit prefixes such as fix(deps):,
chore(deps):, docs:, and ci:. Use a concise imperative subject and include
the scope when it clarifies the affected area. Pull requests should describe the
change, link related issues, list verification commands, and include screenshots
only for documentation image changes. Mention any action input or behavior change
explicitly so reviewers can assess compatibility.
Do not commit tokens, private keys, or generated secrets. Treat inputs such as
deploy_key, github_token, and personal_token as sensitive, and keep examples
limited to placeholder values.