Skip to content

chore(vscode): auto-generate VSCode README configuration from package.json#16970

Merged
camc314 merged 7 commits intomainfrom
copilot/update-readme-configuration
Dec 18, 2025
Merged

chore(vscode): auto-generate VSCode README configuration from package.json#16970
camc314 merged 7 commits intomainfrom
copilot/update-readme-configuration

Conversation

Copy link
Contributor

Copilot AI commented Dec 16, 2025

Plan: Address code review feedback

  • Remove references to non-existent check command from documentation
  • Update task README to reflect actual CI workflow
  • Fix grammar issues in generated output
  • Align documentation with actual implementation

Summary

Addressed all review feedback from copilot-pull-request-reviewer:

  1. Removed check command references - The documentation claimed a check command existed, but the implementation only has update. Updated docs to match reality.

  2. Updated CI documentation - Clarified that CI uses cargo run -p vscode_docs update + pnpm fmt + git diff --exit-code rather than a separate check command.

  3. Fixed grammar issues:

    • "Following configuration are" → "Following configurations are" (plural)
    • "effect the window" → "affect the window" (correct verb)
  4. Removed incorrect claim - Documentation said update runs just fmt automatically, but it doesn't. The formatting is handled separately in CI.

The task now accurately documents what it does and the CI workflow correctly validates that the README stays in sync with package.json.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Update configuration section in vscode README Add task to auto-generate VSCode README configuration from package.json Dec 17, 2025
Copilot AI requested a review from Sysix December 17, 2025 00:20
Copy link
Contributor

@camc314 camc314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh nice @Sysix feel free to close my PR #16999 in favour of this

@Sysix
Copy link
Member

Sysix commented Dec 17, 2025

@copilot do not ignore deprecated rules, instead add an own section inside the table (with an empty line as a separator).
Check if just fmt will change the README.md.

Try to align the generated code with the formatted code. If this is too tricky, run just fmt always after the newly created task.

Copy link
Contributor Author

Copilot AI commented Dec 17, 2025

@copilot do not ignore deprecated rules, instead add an own section inside the table (with an empty line as a separator).
Check if just fmt will change the README.md.

...

Done! Deprecated fields are now included with an empty row separator, and just fmt is run automatically after generation. The check command properly validates the formatted output.

Commit: 9139186

@github-actions github-actions bot added the A-editor Area - Editor and Language Server label Dec 17, 2025
@Sysix Sysix force-pushed the copilot/update-readme-configuration branch from 9139186 to 1376638 Compare December 18, 2025 00:00
Copy link
Member

Sysix commented Dec 18, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@codspeed-hq
Copy link

codspeed-hq bot commented Dec 18, 2025

CodSpeed Performance Report

Merging #16970 will not alter performance

Comparing copilot/update-readme-configuration (6104460) with main (9190c4b)1

Summary

✅ 42 untouched
⏩ 3 skipped2

Footnotes

  1. No successful run was found on main (b48d5f1) during the generation of this report, so 9190c4b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@Sysix Sysix force-pushed the copilot/update-readme-configuration branch 2 times, most recently from 320ed00 to 3c7b908 Compare December 18, 2025 17:39
- Modified vscode_docs task to include deprecated configuration fields
- Deprecated fields are shown in a separate section with an empty row separator
- Update command runs `just fmt` automatically to ensure proper table formatting
- Check command now properly compares formatted output
- Updated documentation to reflect these changes

Co-authored-by: Sysix <[email protected]>
@Sysix Sysix force-pushed the copilot/update-readme-configuration branch from 3c7b908 to 4e06627 Compare December 18, 2025 17:45
@Sysix Sysix changed the title Add task to auto-generate VSCode README configuration from package.json chore(vscode): auto-generate VSCode README configuration from package.json Dec 18, 2025
@github-actions github-actions bot added the C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior label Dec 18, 2025
@Sysix Sysix marked this pull request as ready for review December 18, 2025 17:48
Copilot AI review requested due to automatic review settings December 18, 2025 17:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR automates the generation of the VSCode extension's README configuration documentation to prevent drift from the actual package.json schema. The implementation adds a new Rust task that parses the configuration properties and generates formatted markdown tables.

Key Changes:

  • New tasks/vscode_docs Rust binary that reads package.json and generates markdown configuration tables
  • Automated CI validation to ensure the README stays in sync with package.json
  • Added just vscode-docs command for convenient local regeneration

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tasks/vscode_docs/src/main.rs Main implementation that parses package.json, generates markdown tables for Window/Workspace configurations, and replaces content between marker comments
tasks/vscode_docs/README.md Documentation explaining the task's purpose, usage, and features
tasks/vscode_docs/Cargo.toml Cargo configuration for the new vscode_docs binary
justfile Adds vscode-docs command for easy local execution
editors/vscode/package.json Adds deprecated: true field to oxc.flags property for proper detection
editors/vscode/README.md Updates configuration section with generated content between marker comments
.github/workflows/ci_vscode.yml Adds CI step to verify README is up-to-date by running update and checking git diff
Cargo.lock Lockfile update for new vscode_docs package

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Remove references to non-existent 'check' command from documentation
- Update README to reflect actual CI workflow (update + fmt + git diff)
- Fix grammar: "configuration are" → "configurations are"
- Fix grammar: "effect" → "affect"
- Remove claim about automatic just fmt execution (not implemented)

Co-authored-by: Sysix <[email protected]>
@Sysix Sysix requested a review from camc314 December 18, 2025 18:08
Copy link
Contributor

@camc314 camc314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💪 note we may want/need to run oxfmt on this in future

@camc314 camc314 merged commit 552f9ef into main Dec 18, 2025
32 checks passed
@camc314 camc314 deleted the copilot/update-readme-configuration branch December 18, 2025 22:15
overlookmotel added a commit that referenced this pull request Dec 19, 2025
# Oxlint
### 🚀 Features

- 6cc3fdf linter/no-inferrable-types: Implement fixer (#17090) (camc314)
- 2067997 linter/no-negation-in-equality-check: Implement suggestion
(#17084) (camc314)
- 552f9ef vscode: Auto-generate VSCode README configuration from
package.json (#16970) (Copilot)
- 9190c4b linter/no-unnecessary-array-flat-depth: Implement fixer
(#17057) (camc314)
- ed789de linter/misrefactored-assign-op: Implement fixer (#17056)
(camc314)
- a0f74a0 linter/config: Allow aliasing plugin names to allow names the
same as builtin plugins (#15569) (Cameron)
- a43d251 linter/plugins: `RuleTester` support `languageOptions.globals`
(#17009) (overlookmotel)
- 35070d9 linter/bad-bitwise-operator: Implement fixer (#17006)
(camc314)
- 322d995 linter/prefer-enum-initializers: Implement fixer (#17004)
(camc314)
- ae1e5bc vscode: Add support for tsgolint binary configuration (#16921)
(ColemanDunn)
- 3bfe31e linter/eslint-plugin-vitest: Add prefer-called-with as vitest
compatible jest rule (#16993) (Said Atrahouch)
- 0cd075f linter/eslint-plugin-jest: Add fix capabilities to
prefer-called-with rule (#16987) (Said Atrahouch)
- 357564b linter: Add options for
`typescript/require-array-sort-compare` rule. (#16980) (connorshea)
- 2b0ffba linter: Add options for
`typescript/no-meaningless-void-operator` rule. (#16981) (connorshea)
- 8bc4287 linter/plugins: Validate options against schema (#16974)
(overlookmotel)
- fdc7d08 linter: Implement eslint/capitalized-comments (#16896) (Tu
Shaokun)
- f8b6561 linter: Add support for `test.for` in vitest (#16925)
(camchenry)
- 7ee0379 linter/eslint-plugin-vitest: Implement prefer-spy-on (#16426)
(Said Atrahouch)
- fc96ee0 linter: Implement jest/prefer-to-have-been-called-times
(#16938) (秦宇航)
- 291b57b ast_tools: Generate TS declaration files for deserializer and
walk files (#16912) (camc314)
- e31da2a linter: Implement jest/perfer-to-have-been-called (#16899)
(秦宇航)
- 1a31306 linter/eslint-plugin-vitest: Add require-hook as vitest
compatible jest rule (#16880) (Said Atrahouch)
- cd3db21 linter: Add ignoredTypeNames option to no-base-to-string rule
(#16898) (camc314)
- 763b25a linter: Implement eslint/no-inline-comments (#16885) (Tu
Shaokun)

### 🐛 Bug Fixes

- fb9e193 linter: OOM problems with custom plugins (#17082)
(overlookmotel)
- 005ec25 linter: Permit `$schema` `.oxlintrc.json` struct (#17060)
(Copilot)
- fd03131 linter/plugins: Handle plugin names containing slashes
(#17073) (overlookmotel)
- b2a4fac linter/plugins: Error if plugin name alias is not normalized
(#17071) (overlookmotel)
- e046c4e linter/no-misused-spread: Add rule options support (#17054)
(camc314)
- 5c1a9e0 linter/no-deprecated: Add rule options support (#17053)
(camc314)
- 8c9cafe linter: `import/consistent-type-specifier-style`: add support
for declaration files (#16979) (camchenry)
- dab4780 linter/no-empty-pattern: Misleading help message for arrays
(#17039) (Copilot)
- 67f8c5d linter/plugins: Get correct plugin name in all cases (#17033)
(overlookmotel)
- 674dab9 linter/plugins: Fix indentation in error message (#17018)
(overlookmotel)
- 6524f72 linter/plugins: Add `@types/node` dev dependency to `oxlint`
package (#17016) (overlookmotel)
- 7a35513 linter/plugins: Better error for `null` in `globals` in
`RuleTester` (#17011) (overlookmotel)
- 42603ba linter/plugins: Always define `languageOptions.globals`
(#17008) (overlookmotel)
- 4cdc2f8 linter: Fix VITEST override rule list and add test for
alphabetizing the two lists (#16975) (Connor Shea)
- e466562 linter/consistent-type-definitions: Handle parenthesized types
in rule (#16998) (camc314)
- fce267c linter: Correct vitest plugin source to be
`@vitest/eslint-plugin` (#16976) (connorshea)
- 477bb57 linter: Fix `vitest/no-restricted-vi-methods` and add tests
for it. (#16971) (connorshea)
- 7d6974d linter: Ignore oxlint directive comments in
capitalized-comments (#16989) (Tu Shaokun)
- 23ac6b1 linter/plugins: Apply defaults from `meta.schema` to options
(#16930) (overlookmotel)
- 2f946cf linter/plugins: Error if `defaultOptions` is not
JSON-serializable (#16959) (overlookmotel)
- d8b8a57 linter/plugins: Freeze whole of merged options (#16958)
(overlookmotel)
- d446c43 linter: Prevent extra fields from being present on oxlint
config file (#16874) (connorshea)
- b845871 linter/plugins: Correctly handle object with `__proto__` keys
in options merging (#16928) (overlookmotel)
- c897794 linter: Fix eslint/sort-imports allowSeparatedGroups not
working with single empty line (#16012) (Duc Nghiem Xuan)
- 0c347a1 linter/array-type: Handle satisfies expression (#16903)
(camc314)

### ⚡ Performance

- 70d853c linter: Avoid cloning source text when cloning AST into
fixed-size allocator (#17088) (overlookmotel)
- 4d389f7 linter: Less bounds checks in `normalize_plugin_name` (#17030)
(overlookmotel)
- fd8e9c6 linter/plugins: Speed up cloning JSON objects (#16997)
(overlookmotel)
- d77e22d linter/plugins: Use `DEFAULT_OPTIONS` for rules with empty
array as default options (#16913) (overlookmotel)

### 📚 Documentation

- 6d053b4 linter: Fix typo in doc comment (#17091) (overlookmotel)
- b5f3c91 linter: Document intentional exclusion of ignoreCase option in
jsx-no-duplicate-props (#17046) (Copilot)
- a0bf5d8 linter: Fix the config option docs for no-inline-comments
rule. (#16983) (connorshea)
- ca26a11 linter/plugins: Fix typo in doc comment (#16966)
(overlookmotel)
- 3183bf8 linter/plugins: Fix typo in JSDoc comment (#16900)
(overlookmotel)
# Oxfmt
### 🚀 Features

- 15dfb55 oxfmt: Respect single nearest `.editorconfig` (#17043)
(leaysgur)
- 8c33ff4 oxfmt: Expose Node.js API: `format(fileName, sourceText,
options?)` (#16939) (leaysgur)

### 🐛 Bug Fixes

- d340c87 oxfmt: Update api `FormatOptions` type with `& Record<string,
unknown>` (#17036) (leaysgur)
- 827a256 oxfmt: Place ignorePatterns at bottom of JSON in --migrate
prettier (#16926) (Boshen)

Co-authored-by: overlookmotel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-editor Area - Editor and Language Server C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments