Repository navigation
Conversation
- /req/rules/recommended applies to the ruleset being linted; inherited rules follow their extends mode, so it no longer contradicts mode-all, mode-off and shorthands. - /req/result/range says where a block mapping or sequence value starts (just after its key's colon), matching the worked example and OpenLint. - ECMA-402 links to ECMA-402 12.0, not the ECMA-262 site. - The minimatch glob dialect, the /regex/flags form of pattern, and ignoring extends elements after the mode are now in requirements (new /req/extends/extra-elements). - New tests: /conf/result/range-nested, /conf/message/placeholder-value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Findings from a read-through of the working draft. Every change is checked against OpenLint 1.0.0:
tools/build.py --checkpasses, and 238 of 238 tests pass. The only failing test is the existing proposed-requirement test/conf/ruleset/document-two-yaml-documents, which isn't counted.Contradictions
/req/rules/recommendedvs theextendsmodes. As written, it applied to every ruleset in the chain and allowed only a shorthand to enable arecommended: falserule. That contradicted/req/extends/mode-all(and/conf/extends/mode-all),/req/extends/mode-offand/req/shorthands/false. It now applies to the ruleset being linted and defers to the mode requirements for inherited rules./req/result/rangevs the worked example. The requirement saidstartis the value's first character, but the example (and OpenLint) put a block mapping's start just afterget:. The requirement now says so. The new/conf/result/range-nestedpins both a mapping and a scalar, start and end.262.ecma-international.org, a different standard (ECMA-262). It now points to https://402.ecma-international.org/12.0/, which matches the cited title.Normative behaviour that was only in informative text
/req/overrides/scopenow says globs match as minimatch 3.1.5 does./req/functions/patternnow allows both the bare form and the/…/flagsform./req/extends/extra-elements: elements after the mode are ignored./conf/extends/mode-all-extra-elementwas filed againstmode-all, whose text didn't say this. It now points at the new requirement.Tests
/conf/message/placeholder-value.{{error}}is still untested. Core function messages aren't specified, so a linter-core test can't pin the text, and a custom-function test would put a requirement from two classes in one test. A call on how to test it is welcome.Open to rewording any of it. These are suggestions for the draft, not decisions.
🤖 Generated with Claude Code