Repository navigation
chore(lint): adopt node-lint (biome + markdownlint) - #9
Merged
Merged
Conversation
Closes galactic-config#6. The repo had a markdownlint-only `lint` script and no `biome.json`, so it did not meet the `node-lint` skill and the JS was never linted or formatted. - Copy `biome.json` and `.markdownlint-cli2.jsonc` from the skill's `references/` (MD013 drops 120 -> 100 to match biome's lineWidth). - `lint` / `lint:fix` run biome then markdownlint, matching the skill's scripts. `check` is unchanged (lint + test) — no typecheck step on a plain-JS repo. - Add `@biomejs/biome` as a devDependency and to the release guard's inert list: it is a linter, it is not in `files`, so neither it nor its bumps can change what a consumer installs. - Fixes biome reported: a trailing comma in index.js, organised imports in the test file, and a missing semicolon in the README hook sample (a code block, so biome does not reach it — changed for consistency with the formatter). No behaviour change; the 7 existing tests still pass. - `.nvmrc` pins 24 (CI's version) and README Requirements notes that the dev tooling needs Node >= 22 while the plugin itself runs on 18+. CI already ran `npm run lint`, so the workflow only needed the inert-list entry. This changes published files (index.js, README.md), so the guard publishes a patch on merge — correct, and not what the lint wiring alone would have done.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes
nabheet/galactic-config#6.Problem
lintwasmarkdownlint-cli2 "**/*.md"and there was nobiome.json, so the JS was never linted or formatted and the repo did not meet thenode-lintskill. §12 said CI files come from the reference repo but never said the reference is not a lint reference, so copying it inherited the gap.Change
biome.jsonand.markdownlint-cli2.jsonccopied withcpfrom the skill'sreferences/. MD013 moves 120 → 100 to match biome'slineWidth;biome migrate --writefixed the schema URL to the installed CLI.lint/lint:fixrun biome then markdownlint (skill's scripts verbatim).checkstayslint && test— plain-JS repo, no typecheck step.@biomejs/biomeadded as a devDependency and to the release guard's inert list: a linter is not infiles, so neither it nor its bumps can change what a consumer installs.index.js, import order intest/rewrite.test.mjs, and a missing semicolon in the README hook sample (a code block, so biome does not reach it — changed for consistency)..nvmrcpins 24 to match CI, and README Requirements notes the dev tooling needs Node ≥ 22 (markdownlint-cli2does) while the plugin runs on 18+.Docs (separate repo,
galactic-config0b69056)node-lintSKILL.md §5: the same split from the skill side.Verification (run locally)
CI's
testjob runsnpm run lintbeforenpm test, and bothpublishandprereleasedepend on it, so a lint failure blocks a release.This publishes a patch on merge. It touches
index.jsandREADME.md, which are published files; the guard reportschanged=trueand is right to. The lint wiring alone (configs, scripts,.github) would have been non-shipping.