Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions .rumdl.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# rumdl configuration file

[global]
# disable = ["MD013", "MD033"]

# List of rules to enable exclusively (replaces defaults; only these rules will run)
# enable = ["MD001", "MD003", "MD004"]

# Additional rules to enable on top of defaults (additive, does not replace)
extend-enable = ["MD060", "MD063", "MD070", "MD073"]

# Additional rules to disable on top of the disable list (additive)
# extend-disable = ["MD041"]

# List of file/directory patterns to include for linting (if provided, only these will be linted)
# include = [
# "docs/*.md",
# "src/**/*.md",
# "README.md"
# ]

# List of file/directory patterns to exclude from linting
exclude = [
".git",
".github",
"CHANGELOG.md",
"documentation",
"examples",
"shared",
"text-runner-cli",
"text-runner-engine",
"text-runner-features",
"textrun-action",
"textrun-extension",
"textrun-javascript",
"textrun-make",
"textrun-npm",
"textrun-repo",
"textrun-shell",
"textrun-workspace"
]

# Respect .gitignore files when scanning directories (default: true)
respect-gitignore = true

# Markdown flavor/dialect (uncomment to enable)
# Options: standard (default), gfm, commonmark, mkdocs, mdx, quarto
flavor = "gfm"

# Rule-specific configurations (uncomment and modify as needed)

# text-wrap
[MD013]
line-length = 80
reflow = true # Enable automatic text reflow/wrapping
reflow-mode = "semantic-line-breaks" # Reflow mode: "default", "normalize", "sentence-per-line", or "semantic-line-breaks" (default: "default")
length-mode = "visual" # How to count line length: "visual", "chars", or "bytes" (default: "visual")
code-blocks = false # Exclude code blocks from line length check
tables = false # Exclude tables from line length check
# headings = true # Include headings in line length check

[MD044]
names = ["rumdl", "Markdown"] # Proper names that should be capitalized correctly
# code-blocks = false # Check code blocks for proper names (default: false, skips code blocks)

# format tables
[MD060]
enabled = true
style = "aligned-no-space"

# Case style for headings
[MD063]
enabled = true
style = "sentence-case"
ignore-words = ["iPhone", "macOS", "GitHub", "JavaScript", "TypeScript"]
preserve-cased-words = true
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Please read the [Developers Guide](documentation/DEVELOPMENT.md) and other files
in [documentation/](documentation/).
Please read the [Developers Guide](documentation/DEVELOPMENT.md)
and other files in [documentation/](documentation/).

When you are done, please execute these tasks in the root folder:

Expand Down
13 changes: 8 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# Contributing to Text-Runner

First and foremost, thank you! We appreciate every contribution no matter how
big or small. Your time is valuable and your support means a lot to us.
First and foremost, thank you!
We appreciate every contribution no matter how big or small.
Your time is valuable and your support means a lot to us.

If you have a question, want to share an idea, or report a problem please
[open an issue](https://github.com/kevgo/text-runner/issues/new). To get started
coding, please see our [developer guide](documentation/DEVELOPMENT.md).
If you have a question, want to share an idea,
or report a problem please
[open an issue](https://github.com/kevgo/text-runner/issues/new).
To get started coding, please see our
[developer guide](documentation/DEVELOPMENT.md).
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ doc: # runs the documentation tests
env $(YARN_ARGS) yarn exec --silent -- turbo run doc $(TURBO_ARGS)

fix: tools/rta@${RUN_THAT_APP_VERSION} # runs all auto-fixes
yarn exec --silent -- dprint fmt
yarn exec --silent -- rumdl fmt .
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Root-level YAML formatting lost after replacing dprint command

Medium Severity

The fix target replaced dprint fmt entirely with rumdl fmt ., but dprint fmt was responsible for both Markdown and YAML formatting. Now only Markdown formatting runs via rumdl. The root dprint.json still contains the YAML plugin and config, but dprint fmt is never invoked from the root Makefile, so YAML files (e.g., under .github/workflows/) silently stop being formatted. A dprint fmt call likely needs to remain alongside rumdl fmt ..

Additional Locations (1)
Fix in Cursor Fix in Web

yarn exec --silent -- sort-package-json --quiet
env $(YARN_ARGS) yarn exec --silent -- turbo run fix $(TURBO_ARGS)
tools/rta ghokin fmt replace text-runner-features
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@

</div>

Text-Runner is a test framework for technical documentation. It helps keep
documentation up to date. An example is the text you are reading right now.
Text-Runner is a test framework for technical documentation.
It helps keep documentation up to date.
An example is the text you are reading right now.
TextRunner verifies it for technical correctness.

As a fully programmable test framework, TextRunner can read and understand any
form of Markdown-formatted text in any human language as well as complex data in
tables, bullet point lists, and even images!
As a fully programmable test framework,
TextRunner can read and understand any form of Markdown-formatted text in any
human language as well as complex data in tables, bullet point lists, and even
images!

### For users

Expand All @@ -33,9 +35,9 @@ tables, bullet point lists, and even images!

### Plugins

This monorepo contains a number of Text-Runner plugins that provide more
domain-specific functionality. You can think of these plugins as the "standard
library" of Text-Runner.
This monorepo contains a number of Text-Runner plugins
that provide more domain-specific functionality.
You can think of these plugins as the "standard library" of Text-Runner.

- [repo](textrun-repo/): verify source code files
- [workspace](textrun-workspace/): modify/verify workspace files
Expand Down
9 changes: 1 addition & 8 deletions dprint.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@
"text-runner-features",
"tools"
],
"markdown": {
"lineWidth": 80,
"textWrap": "always"
},
"plugins": [
"https://plugins.dprint.dev/markdown-0.18.0.wasm",
"https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.0.wasm"
],
"plugins": ["https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.0.wasm"],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sub-package markdown formatting lost after plugin removal

Medium Severity

Removing the markdown plugin from dprint.json breaks markdown formatting and linting in all sub-packages (textrun-action, textrun-extension, textrun-javascript, textrun-make, textrun-npm, textrun-repo, textrun-shell, textrun-workspace, text-runner-engine) that still call dprint fmt/dprint check in their fix/lint scripts. These packages also appear in .rumdl.toml's exclude list, so rumdl fmt . doesn't cover them either. Markdown in these sub-packages is now silently unformatted and unchecked by any tool.

Additional Locations (1)
Fix in Cursor Fix in Web

"yaml": {}
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
"depcheck": "1.4.7",
"dprint": "0.51.1",
"lerna": "9.0.3",
"rumdl": "0.1.57",
"sort-package-json": "3.6.0",
"ts-json-schema-generator": "2.4.0",
"turbo": "2.7.2",
Expand Down
11 changes: 6 additions & 5 deletions test/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
This folder contains workspaces for end-to-end tests. The current ESM
implementation requires `text-runner` and `typescript` installed into a
`node_modules` folder. Since it takes too much time to `yarn install` this for
every end-to-end test, the workspaces in which tests happen are now part of the
Yarn multi-workspace setup in this monorepo.
This folder contains workspaces for end-to-end tests.
The current ESM implementation requires `text-runner`
and `typescript` installed into a `node_modules` folder.
Since it takes too much time to `yarn install` this for every end-to-end test,
the workspaces in which tests happen are now part of the Yarn multi-workspace
setup in this monorepo.
48 changes: 48 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1241,6 +1241,41 @@
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==

"@rumdl/cli-darwin-arm64@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-darwin-arm64/-/cli-darwin-arm64-0.1.57.tgz#cf619e913f8d98861ae5225c7d2756582bbf4fad"
integrity sha512-rpOU6odsCfJneakLGBthVwKDWhc/ZQmhNqmoXlv1uPFXNDR0Q5TVwLnBmjuBR+929tSD9pzoX0PxbpnXVKHvMQ==

"@rumdl/cli-darwin-x64@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-darwin-x64/-/cli-darwin-x64-0.1.57.tgz#ce97b95a2850be3fa8ab5cde451bd8ff7cdc97e2"
integrity sha512-YQRYLP0PoDsTQiymmSTLhvubr+AlNCNNAbhDmoRVh63pNMaaatJ8y2JDqt7qfe72+2CX5TWTuhHFoL+wPNrfEg==

"@rumdl/cli-linux-arm64-musl@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-linux-arm64-musl/-/cli-linux-arm64-musl-0.1.57.tgz#9a80a6d046ea534a9662611191b48f75bcf18909"
integrity sha512-V8CmARw6kXKaji6w577xvbJ4taulhyLAc6X0sKL3aAGW2I8wOx9mBV/JwT7K8YbmePCmKNMppc+15qCeFUfDyw==

"@rumdl/cli-linux-arm64@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-linux-arm64/-/cli-linux-arm64-0.1.57.tgz#36e81d0f52cfdb1acdafe1c475c395673b0f6a47"
integrity sha512-dgPK6W10r1cMvy6o0BrH5BiX/wM92Drh1TfVbxHTjBt98FlxR1POeWg9n71YTJD5hu0VlsWi0b6Xg8EwwqsUFQ==

"@rumdl/cli-linux-x64-musl@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-linux-x64-musl/-/cli-linux-x64-musl-0.1.57.tgz#11ad73007aaad97feaea657faaf37ea9ef5857bd"
integrity sha512-LfKzDtfu+zvK2Bvm+nR+1TgitC1MVJpQf/qcDoTiMgmwNMmV8X9cpiqIFKIcAANh/ax2io2qn1VTHzP7zarH2Q==

"@rumdl/cli-linux-x64@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-linux-x64/-/cli-linux-x64-0.1.57.tgz#212af46b7b90efbcb3a7ffc5ebfeacb23ac0b436"
integrity sha512-8751VJMPxCuujE+dkH8p6SOb0uve06umMXDqpsWfbRTXAQkqeJJIAdM/XYTx3miF0S/y2q5TrdBgBkBtG+dOlw==

"@rumdl/cli-win32-x64@0.1.57":
version "0.1.57"
resolved "https://registry.yarnpkg.com/@rumdl/cli-win32-x64/-/cli-win32-x64-0.1.57.tgz#b58c4da7c2391a864c2b3ff814beef5f8e9afd88"
integrity sha512-3y/WtjVDdqOWq+1NyC+c0/PUg8YSCzkcrbFz4d2PwpOA4dbEFKKzLvLI33+gJ6Jjc/UZ9Afj6HXmuktsu9Uwig==

"@sec-ant/readable-stream@^0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c"
Expand Down Expand Up @@ -5219,6 +5254,19 @@ rimraf@^4.4.1:
dependencies:
glob "^9.2.0"

rumdl@^0.1.57:
version "0.1.57"
resolved "https://registry.yarnpkg.com/rumdl/-/rumdl-0.1.57.tgz#f89b0d2c8c599a8c2608280ebc98b210e7fca35f"
integrity sha512-LWgghsq88oV1kIn6BcXNFZRAtC7ALBy6HL3oV98RPV8tRUxLLoMWcVK8FAGyrKvbXAmXIpGdhn/6p1D/97UR+g==
optionalDependencies:
"@rumdl/cli-darwin-arm64" "0.1.57"
"@rumdl/cli-darwin-x64" "0.1.57"
"@rumdl/cli-linux-arm64" "0.1.57"
"@rumdl/cli-linux-arm64-musl" "0.1.57"
"@rumdl/cli-linux-x64" "0.1.57"
"@rumdl/cli-linux-x64-musl" "0.1.57"
"@rumdl/cli-win32-x64" "0.1.57"

run-async@^4.0.5:
version "4.0.6"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-4.0.6.tgz#d53b86acb71f42650fe23de2b3c1b6b6b34b9294"
Expand Down
Loading