Skip to content

[#2875] Quoted the 'content/**/*.mdx' lint and spellcheck globs so every documentation page is checked. - #2876

Merged
AlexSkrypnyk merged 4 commits into
mainfrom
feature/2875-docs-lint-globs
Jul 31, 2026
Merged

[#2875] Quoted the 'content/**/*.mdx' lint and spellcheck globs so every documentation page is checked.#2876
AlexSkrypnyk merged 4 commits into
mainfrom
feature/2875-docs-lint-globs

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Jul 31, 2026

Copy link
Copy Markdown
Member

Closes #2875

Summary

.vortex/docs/package.json passed content/**/*.mdx unquoted to markdownlint-cli2 and cspell. Yarn runs package scripts through sh, which has no globstar, so the shell expanded ** to a single * before either tool ever saw the argument, silently limiting both to one directory below content/. On main this left markdownlint-cli2 linting 60 of 73 pages and cspell checking 68 of 73, and both tools still exited 0 with a plausible-looking file count, so the gap was invisible. This PR quotes the globs so each tool expands them itself, fixes the style and spelling issues the newly-covered pages surfaced, and adds a Jest test that fails if a glob argument ever becomes unquoted or stops covering every .mdx page under content/.

Changes

  • Quoted the lint and spellcheck globs (.vortex/docs/package.json) - wrapped content/**/*.mdx in double quotes for the spellcheck, lint-docs, and lint-docs-fix scripts so cspell and markdownlint-cli2 expand the glob themselves instead of sh. Confirmed the quoted content/**/*.mdx also matches the top-level content/*.mdx pages under both tools' glob implementations, so the separate content/*.mdx argument in spellcheck was no longer needed and was dropped.
  • Fixed style and spelling issues in the newly-covered pages:
    • content/contributing/maintenance/release.mdx - indented the renovate fence into its ordered-list item and labelled it shell, so the list numbering no longer restarts at the fence (MD029) and the block declares a language (MD040).
    • content/contributing/maintenance/template.mdx - un-indented a paragraph inside a :::note admonition that was being parsed as an indented code block (MD046), plus the list and fence blank-line fixes lint-docs-fix applied automatically.
    • content/support.mdx - removed the front-matter title: Support that duplicated the body's # Support heading (MD025), and promoted two bold pseudo-headings to #### Slack Community / #### GitHub Discussions (MD036).
    • cspell.json - added three words the newly-checked pages introduced: alexskrypnyk, didi, downloaders.
  • Fixed an early exist -> early exit typo in the script-authoring requirements (content/contributing/maintenance/template.mdx).
  • Added a Jest guard test (tests/unit/lint-globs.test.js) that asserts every glob argument in the spellcheck, lint-docs, and lint-docs-fix scripts is quoted, and that the configured globs collectively match every .mdx file under content/. Quoting is only observable in the raw script string - expanding the pattern in Node matches the same files either way - so checking for the quotes is the only way to detect the regression; the test was verified to fail when the bug is reintroduced.

Verified with ahoy --file .vortex/.ahoy.yml lint-docs and test-docs: both tools now report 73 of 73 pages, and the docs site still builds.

Before / After

BEFORE
──────
package.json:  markdownlint-cli2 content/**/*.mdx
               cspell content/*.mdx content/**/*.mdx
                    │
                    ▼   yarn runs scripts through sh (no globstar)
               **  →  *   (glob silently collapses one level)
                    │
                    ▼
               markdownlint-cli2   60 / 73 pages checked   exit 0
               cspell              68 / 73 pages checked   exit 0
                    │
                    ▼
               8 top-level pages + 5 nested "maintenance" pages
               never linted or spellchecked - nothing reports the gap

AFTER
─────
package.json:  markdownlint-cli2 "content/**/*.mdx"
               cspell "content/**/*.mdx"
                    │
                    ▼   quotes protect ** until the tool itself parses it
               markdownlint-cli2 / cspell expand the glob internally
                    │
                    ▼
               markdownlint-cli2   73 / 73 pages checked   exit 0
               cspell              73 / 73 pages checked   exit 0
                    │
                    ▼
               tests/unit/lint-globs.test.js fails if a glob argument
               is ever unquoted or stops covering all of content/

Summary by CodeRabbit

  • Documentation

    • Improved formatting and readability across release, maintenance, and support documentation.
    • Corrected a terminology error and clarified Markdown headings and spacing.
    • Expanded the documentation spellcheck dictionary.
  • Tests

    • Added coverage to verify documentation lint scripts use correctly quoted patterns and include all MDX pages.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The PR reformats maintenance and support documentation. It updates spelling and Markdown lint configuration, then adds tests that verify quoted recursive MDX globs cover all documentation pages.

Changes

Documentation and lint maintenance

Layer / File(s) Summary
Documentation formatting updates
.vortex/docs/content/contributing/maintenance/*.mdx, .vortex/docs/content/support.mdx
The documentation receives spacing, heading, frontmatter, and code-block formatting updates.
Lint glob configuration and validation
.vortex/docs/package.json, .vortex/docs/cspell.json, .vortex/docs/tests/unit/lint-globs.test.js
Lint scripts quote recursive MDX globs. The spelling dictionary includes three terms. Unit tests verify glob quoting and coverage of all MDX pages.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • drevops/vortex#2875 — The changes quote documentation lint and spellcheck globs and add tests for recursive MDX coverage.

Suggested labels: Needs review

Poem

I hop through docs with careful cheer,
Quoted globs now scan each page clear.
Spelling words join the bright array,
Lint tests guard the path each day.
Squeak, format, and merge away!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: quoting documentation lint and spellcheck globs so every documentation page is checked.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/2875-docs-lint-globs

Comment @coderabbitai help to get the list of available commands.

@AlexSkrypnyk AlexSkrypnyk added the A1 Board worker 1 label Jul 31, 2026
@github-actions

Copy link
Copy Markdown

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.55% (204/207)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

Copy link
Copy Markdown
Member Author

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.55% (204/207)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.38%. Comparing base (d4e6245) to head (9f63d02).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2876      +/-   ##
==========================================
- Coverage   86.81%   86.38%   -0.43%     
==========================================
  Files         100       93       -7     
  Lines        4846     4687     -159     
  Branches       47        3      -44     
==========================================
- Hits         4207     4049     -158     
+ Misses        639      638       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown

📖 Documentation preview for this pull request has been deployed to Netlify:

https://6a6c2a676ddf79ec5fa85ec4--vortex-docs.netlify.app

This preview is rebuilt on every commit and is not the production documentation site.

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jul 31, 2026
@AlexSkrypnyk
AlexSkrypnyk merged commit 8bd16d3 into main Jul 31, 2026
34 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/2875-docs-lint-globs branch July 31, 2026 05:09
@github-project-automation github-project-automation Bot moved this from BACKLOG to Release queue in Vortex 1.x Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A1 Board worker 1 Needs review Pull request needs a review from assigned developers

Projects

Status: Release queue

Development

Successfully merging this pull request may close these issues.

Lint and spellcheck documentation pages nested more than one level deep

1 participant