Repository navigation
build: add JSON and YAML linting via ESLint - #10975
Draft
Planeshifter wants to merge 3 commits into
Draft
Planeshifter wants to merge 3 commits into
Planeshifter wants to merge 3 commits into
Conversation
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
Planeshifter
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
August 20, 2026 05:57
d3fe5ed to
74e217c
Compare
Planeshifter
force-pushed
the
philipp/gh55-json-yaml-linting
branch
2 times, most recently
from
August 20, 2026 06:25
944a540 to
76a5bb2
Compare
kgryte
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
August 21, 2026 10:06
76a5bb2 to
b840b47
Compare
kgryte
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
August 21, 2026 10:14
b840b47 to
be8ab80
Compare
Planeshifter
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
August 25, 2026 03:49
be8ab80 to
082f8bf
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Contributor
Coverage ReportNo coverage information available. |
kgryte
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
August 26, 2026 01:17
082f8bf to
abcc30f
Compare
Planeshifter
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
October 28, 2026 06:24
abcc30f to
18706b2
Compare
kgryte
force-pushed
the
philipp/gh55-json-yaml-linting
branch
2 times, most recently
from
October 29, 2026 02:10
9ab8cc9 to
ee9921f
Compare
Member
|
@Planeshifter I believe this PR needs to be updated before review. |
Ref: stdlib-js/metr-issue-tracker#55 - Add `eslint-plugin-jsonc` and `eslint-plugin-yml` as devDependencies - Create `etc/eslint/rules/json.js` with 10 rules enforcing JSON spec compliance (indent, no-dupe-keys, comma-dangle, etc.) - Create `etc/eslint/rules/yaml.js` with 12 rules for YAML formatting and best practices (indent, block-mapping, quotes as warn, etc.) - Add 5 config blocks to `eslint.config.js`: base JSON, cli_opts.json tab override, package.json key ordering (canonical stdlib order), base YAML, and GitHub Actions workflow key ordering - Un-ignore `.github/` and `.codecov.yml` in global ESLint ignores - Create custom `stdlib/yaml-license-header` rule enforcing Apache-2.0 license header at the start of YAML files - Register the new rule in the stdlib ESLint plugin - Add `lint-json` and `lint-yaml` Make targets with `--cache` - Wire new targets into the top-level `lint` prerequisite --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
Planeshifter
force-pushed
the
philipp/gh55-json-yaml-linting
branch
from
October 29, 2026 06:35
ee9921f to
de63e9e
Compare
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.
Resolves stdlib-js/metr-issue-tracker#55.
Description
This pull request adds JSON and YAML linting to the default
make linttarget.cli_opts.json, and the canonical root key order forpackage.json.data/, alongside shared build/dependency ignores.stdlib/yaml-license-header, validating the complete Apache-2.0 header, a four-digit copyright year, and the Stdlib author attribution.The branch targets develop directly. The existing package.json schema validator remains complementary to ESLint.
Validation
make lint-json lint-yaml: 9,479 JSON files and 86 YAML files; zero errors.git diff --checkpass.Related Issues
Other
YAML quote style remains a warning. See
etc/eslint/README.mdfor commands and scope exclusions.Checklist
AI Assistance
AI assistance was used for:
Disclosure
The original implementation was written primarily by Claude Code.