From ece1a787efb19e3a62cea6f521f3dfa96928c2f1 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Wed, 11 Jun 2025 21:43:56 +0100 Subject: [PATCH 01/48] Sketch of Vale test Workflow: * add test/fixtures/foo.adoc * touch test/fixtures/foo.adoc.expected * npm test * npm run accept # when you're happy with the new output --- ValeStyles/.gitignore | 1 + ValeStyles/.vale.ini | 34 + ValeStyles/package-lock.json | 1176 ++++++++++++++++++ ValeStyles/package.json | 25 + ValeStyles/test/accept | 8 + ValeStyles/test/basic.js | 52 + ValeStyles/test/fixtures/basic.adoc | 4 + ValeStyles/test/fixtures/basic.adoc.expected | 76 ++ 8 files changed, 1376 insertions(+) create mode 100644 ValeStyles/.gitignore create mode 100644 ValeStyles/.vale.ini create mode 100644 ValeStyles/package-lock.json create mode 100644 ValeStyles/package.json create mode 100755 ValeStyles/test/accept create mode 100644 ValeStyles/test/basic.js create mode 100644 ValeStyles/test/fixtures/basic.adoc create mode 100644 ValeStyles/test/fixtures/basic.adoc.expected diff --git a/ValeStyles/.gitignore b/ValeStyles/.gitignore new file mode 100644 index 0000000..890051f --- /dev/null +++ b/ValeStyles/.gitignore @@ -0,0 +1 @@ +**/*.actual diff --git a/ValeStyles/.vale.ini b/ValeStyles/.vale.ini new file mode 100644 index 0000000..fc9ea50 --- /dev/null +++ b/ValeStyles/.vale.ini @@ -0,0 +1,34 @@ +StylesPath = "." +# The MinAlertLevel for the GitHub Action is different from the recommendation for running Vale locally. +MinAlertLevel = warning + +Vocab = Couchbase + +[asciidoctor] +description = YES +docname = YES +doctitle = YES +doctype = YES +docfile = YES +example-caption = YES +figure-caption = YES +important-caption = YES +listing-caption = YES +note-caption = YES +outfile = YES +part-signifier = YES +preface-title = YES +table-caption = YES +tip-caption = YES +toc-title = YES +warning-caption = YES + +experimental = YES + +attribute-missing = drop + +[*.{adoc,md,txt}] +BasedOnStyles = Vale, write-good, proselint, Couchbase, Google + +# Vale.Spelling = NO +# Couchbase.HeadingFormatting = NO diff --git a/ValeStyles/package-lock.json b/ValeStyles/package-lock.json new file mode 100644 index 0000000..5e9e2c9 --- /dev/null +++ b/ValeStyles/package-lock.json @@ -0,0 +1,1176 @@ +{ + "name": "valestyles", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "valestyles", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "mocha": "^11.6.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "license": "ISC" + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mocha": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.6.0.tgz", + "integrity": "sha512-i0JVb+OUBqw63X/1pC3jCyJsqYisgxySBbsQa8TKvefpA1oEnw7JXxXnftfMHRsw7bEEVGRtVlHcDYXBa7FzVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-stdout": "^1.3.1", + "chokidar": "^4.0.1", + "debug": "^4.3.5", + "diff": "^7.0.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^10.4.5", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^9.0.5", + "ms": "^2.1.3", + "picocolors": "^1.1.1", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^9.2.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workerpool": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.2.tgz", + "integrity": "sha512-Xz4Nm9c+LiBHhDR5bDLnNzmj6+5F+cyEAWPMkbs2awq/dYazR/efelZzUAjB/y3kNHL+uzkHvxVVpaOfGCPV7A==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/ValeStyles/package.json b/ValeStyles/package.json new file mode 100644 index 0000000..20b05f0 --- /dev/null +++ b/ValeStyles/package.json @@ -0,0 +1,25 @@ +{ + "name": "valestyles", + "version": "1.0.0", + "description": "Vale styles for Couchbase", + "directories": { + "test": "test" + }, + "scripts": { + "test": "mocha", + "accept": "test/accept" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/couchbaselabs/docs-style-guide.git" + }, + "author": "Couchbase", + "license": "ISC", + "bugs": { + "url": "https://github.com/couchbaselabs/docs-style-guide/issues" + }, + "homepage": "https://github.com/couchbaselabs/docs-style-guide#readme", + "devDependencies": { + "mocha": "^11.6.0" + } +} diff --git a/ValeStyles/test/accept b/ValeStyles/test/accept new file mode 100755 index 0000000..47312b6 --- /dev/null +++ b/ValeStyles/test/accept @@ -0,0 +1,8 @@ +#!/bin/bash + +set -exu -o pipefail + +for actual in test/fixtures/*.actual +do + cp $actual ${actual%.actual}.expected +done diff --git a/ValeStyles/test/basic.js b/ValeStyles/test/basic.js new file mode 100644 index 0000000..ac3d4d5 --- /dev/null +++ b/ValeStyles/test/basic.js @@ -0,0 +1,52 @@ +// this test file is designed to be run with Mocha +const assert = require('assert') +const fs = require('fs') +const ok = specify +const { spawnSync } = require('node:child_process') + +console.log(process.cwd()) + +describe('run vale against test files', function () { + + let vale + try { + vale = spawnSync( + 'vale', + [ + '--output', 'JSON', + 'test/fixtures/' + ] + ) + } + catch (err) { + console.log("Failed to run vale", err) + } + + const output = JSON.parse(vale.stdout) + + for (const [file, actual] of Object.entries(output)) { + ok(`testing ${file}`, function () { + + for (const item of actual) { + delete item.Line + delete item.Span + } + + fs.writeFileSync(`${file}.actual`, JSON.stringify(actual, null, 2), 'utf8') + + try { + const expected = JSON.parse(fs.readFileSync(`${file}.expected`, 'utf8')) + assert.deepEqual(actual, expected) + } + catch (err) { + if (err.code === 'ENOENT') { + assert.fail(`No expected file found for ${file}, skipping comparison.`) + } else { + throw err + } + } + }) + } +}) + + diff --git a/ValeStyles/test/fixtures/basic.adoc b/ValeStyles/test/fixtures/basic.adoc new file mode 100644 index 0000000..c779962 --- /dev/null +++ b/ValeStyles/test/fixtures/basic.adoc @@ -0,0 +1,4 @@ += This is a basic test + +This is a aardvark. He likes couchbase. +You are going to love this! diff --git a/ValeStyles/test/fixtures/basic.adoc.expected b/ValeStyles/test/fixtures/basic.adoc.expected new file mode 100644 index 0000000..b8348db --- /dev/null +++ b/ValeStyles/test/fixtures/basic.adoc.expected @@ -0,0 +1,76 @@ +[ + { + "Action": { + "Name": "", + "Params": null + }, + "Check": "Couchbase.Headings", + "Description": "", + "Link": "", + "Message": "'This is a basic test' should use title-style capitalization.", + "Severity": "warning", + "Match": "This is a basic test" + }, + { + "Action": { + "Name": "", + "Params": null + }, + "Check": "Couchbase.An", + "Description": "", + "Link": "https://docs.couchbase.com/styleguide/articles.html", + "Message": "Use \"an,\" not \"a.\"", + "Severity": "error", + "Match": "a aardvark" + }, + { + "Action": { + "Name": "", + "Params": null + }, + "Check": "Couchbase.VentilatedProse", + "Description": "", + "Link": "", + "Message": "Use ventilated prose. Start every sentence on a new line.", + "Severity": "warning", + "Match": "k. H" + }, + { + "Action": { + "Name": "", + "Params": null + }, + "Check": "Vale.Terms", + "Description": "", + "Link": "", + "Message": "Use 'Couchbase' instead of 'couchbase'.", + "Severity": "error", + "Match": "couchbase" + }, + { + "Action": { + "Name": "replace", + "Params": [ + "you're" + ] + }, + "Check": "Couchbase.Contractions", + "Description": "", + "Link": "https://docs.couchbase.com/styleguide/contractions.html", + "Message": "Use 'you're' instead of 'You are'.", + "Severity": "error", + "Match": "You are" + }, + { + "Action": { + "Name": "", + "Params": null + }, + "Check": "Google.Exclamation", + "Description": "", + "Link": "https://developers.google.com/style/exclamation-points", + "Message": "Don't use exclamation points in text.", + "Severity": "error", + "Match": "s!" + } +] \ No newline at end of file From f596a82fac2c3f5c4a7eef7e88efefbb34291cb2 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Wed, 11 Jun 2025 21:51:17 +0100 Subject: [PATCH 02/48] tweak expected results --- ValeStyles/test/basic.js | 1 + ValeStyles/test/fixtures/basic.adoc.expected | 26 -------------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/ValeStyles/test/basic.js b/ValeStyles/test/basic.js index ac3d4d5..eeebb76 100644 --- a/ValeStyles/test/basic.js +++ b/ValeStyles/test/basic.js @@ -30,6 +30,7 @@ describe('run vale against test files', function () { for (const item of actual) { delete item.Line delete item.Span + delete item.Action } fs.writeFileSync(`${file}.actual`, JSON.stringify(actual, null, 2), 'utf8') diff --git a/ValeStyles/test/fixtures/basic.adoc.expected b/ValeStyles/test/fixtures/basic.adoc.expected index b8348db..7771dd7 100644 --- a/ValeStyles/test/fixtures/basic.adoc.expected +++ b/ValeStyles/test/fixtures/basic.adoc.expected @@ -1,9 +1,5 @@ [ { - "Action": { - "Name": "", - "Params": null - }, "Check": "Couchbase.Headings", "Description": "", "Link": "", @@ -12,10 +8,6 @@ "Match": "This is a basic test" }, { - "Action": { - "Name": "", - "Params": null - }, "Check": "Couchbase.An", "Description": "", "Link": "https://docs.couchbase.com/styleguide/articles.html", @@ -24,10 +16,6 @@ "Match": "a aardvark" }, { - "Action": { - "Name": "", - "Params": null - }, "Check": "Couchbase.VentilatedProse", "Description": "", "Link": "", @@ -36,10 +24,6 @@ "Match": "k. H" }, { - "Action": { - "Name": "", - "Params": null - }, "Check": "Vale.Terms", "Description": "", "Link": "", @@ -48,12 +32,6 @@ "Match": "couchbase" }, { - "Action": { - "Name": "replace", - "Params": [ - "you're" - ] - }, "Check": "Couchbase.Contractions", "Description": "", "Link": "https://docs.couchbase.com/styleguide/contractions.html", @@ -62,10 +40,6 @@ "Match": "You are" }, { - "Action": { - "Name": "", - "Params": null - }, "Check": "Google.Exclamation", "Description": "", "Link": "https://developers.google.com/style/exclamation-points", From d4037e8978a4235789ab5cabfa4620d96bb69b94 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 13 Jun 2025 12:15:59 +0100 Subject: [PATCH 03/48] Style Tests --- ValeStyles/package-lock.json | 1239 ++++++++++++++++++++- ValeStyles/package.json | 4 + ValeStyles/test/adoc/styles.adoc | 49 + ValeStyles/test/adoc/styles.html | 42 + ValeStyles/test/{basic.js => expected.js} | 0 ValeStyles/test/styles.js | 122 ++ 6 files changed, 1436 insertions(+), 20 deletions(-) create mode 100644 ValeStyles/test/adoc/styles.adoc create mode 100644 ValeStyles/test/adoc/styles.html rename ValeStyles/test/{basic.js => expected.js} (100%) create mode 100644 ValeStyles/test/styles.js diff --git a/ValeStyles/package-lock.json b/ValeStyles/package-lock.json index 5e9e2c9..af2f282 100644 --- a/ValeStyles/package-lock.json +++ b/ValeStyles/package-lock.json @@ -8,10 +8,226 @@ "name": "valestyles", "version": "1.0.0", "license": "ISC", + "dependencies": { + "asciidoctor": "^3.0.4", + "lodash": "^4.17.21" + }, "devDependencies": { "mocha": "^11.6.0" } }, + "node_modules/@asciidoctor/cli": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@asciidoctor/cli/-/cli-4.0.0.tgz", + "integrity": "sha512-x2T9gW42921Zd90juEagtbViPZHNP2MWf0+6rJEkOzW7E9m3TGJtz+Guye9J0gwrpZsTMGCpfYMQy1We3X7osg==", + "license": "MIT", + "dependencies": { + "yargs": "17.3.1" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=16", + "npm": ">=8.0.0" + }, + "peerDependencies": { + "@asciidoctor/core": ">=2 <4" + } + }, + "node_modules/@asciidoctor/cli/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@asciidoctor/cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@asciidoctor/cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/@asciidoctor/cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@asciidoctor/cli/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@asciidoctor/cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@asciidoctor/cli/node_modules/yargs": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@asciidoctor/core": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-3.0.4.tgz", + "integrity": "sha512-41SDMi7iRRBViPe0L6VWFTe55bv6HEOJeRqMj5+E5wB1YPdUPuTucL4UAESPZM6OWmn4t/5qM5LusXomFUVwVQ==", + "license": "MIT", + "dependencies": { + "@asciidoctor/opal-runtime": "3.0.1", + "unxhr": "1.2.0" + }, + "engines": { + "node": ">=16", + "npm": ">=8" + } + }, + "node_modules/@asciidoctor/opal-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/opal-runtime/-/opal-runtime-3.0.1.tgz", + "integrity": "sha512-iW7ACahOG0zZft4A/4CqDcc7JX+fWRNjV5tFAVkNCzwZD+EnFolPaUOPYt8jzadc0+Bgd80cQTtRMQnaaV1kkg==", + "license": "MIT", + "dependencies": { + "glob": "8.1.0", + "unxhr": "1.2.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@asciidoctor/opal-runtime/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@asciidoctor/opal-runtime/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -41,6 +257,24 @@ "node": ">=14" } }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", @@ -58,7 +292,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -70,6 +303,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -77,23 +325,166 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/asciidoctor": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/asciidoctor/-/asciidoctor-3.0.4.tgz", + "integrity": "sha512-hIc0Bx73wePxtic+vWBHOIgMfKSNiCmRz7BBfkyykXATrw20YGd5a3CozCHvqEPH+Wxp5qKD4aBsgtokez8nEA==", + "license": "MIT", + "dependencies": { + "@asciidoctor/cli": "4.0.0", + "@asciidoctor/core": "3.0.4", + "ejs": "^3.1.2", + "handlebars": "^4.7.6", + "nunjucks": "^3.2.1", + "pug": "^3.0.0" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=16", + "npm": ">=8" + } + }, + "node_modules/asciidoctor/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/asciidoctor/node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "license": "BSD-2-Clause", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/asciidoctor/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/assert-never": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.4.0.tgz", + "integrity": "sha512-5oJg84os6NMQNl27T9LnZkvvqzvAnHu03ShCnoj6bsJwS7L8AO4lf+C/XjK/nvzEqQB744moC6V128RucQd1jA==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, "license": "MIT" }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -101,6 +492,35 @@ "dev": true, "license": "ISC" }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -118,7 +538,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -135,7 +554,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -144,6 +562,15 @@ "node": ">=8" } }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "license": "MIT", + "dependencies": { + "is-regex": "^1.0.3" + } + }, "node_modules/chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -242,7 +669,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -255,9 +681,33 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, "license": "MIT" }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -314,6 +764,26 @@ "node": ">=0.3.1" } }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==", + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -321,6 +791,21 @@ "dev": true, "license": "MIT" }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -328,11 +813,40 @@ "dev": true, "license": "MIT" }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -351,6 +865,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -395,16 +944,82 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -423,17 +1038,102 @@ "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, "node_modules/he": { @@ -446,16 +1146,107 @@ "he": "bin/he" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -466,6 +1257,30 @@ "node": ">=8" } }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -502,6 +1317,52 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==", + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -515,6 +1376,16 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "license": "MIT", + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -531,6 +1402,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -555,6 +1432,15 @@ "dev": true, "license": "ISC" }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -571,6 +1457,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -624,6 +1519,41 @@ "dev": true, "license": "MIT" }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -683,6 +1613,12 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", @@ -707,6 +1643,153 @@ "dev": true, "license": "ISC" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/pug": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", + "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", + "license": "MIT", + "dependencies": { + "pug-code-gen": "^3.0.3", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", + "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.1.0", + "pug-runtime": "^3.0.1", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.1.0.tgz", + "integrity": "sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==", + "license": "MIT" + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "license": "MIT", + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "license": "MIT" + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "license": "MIT" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -735,12 +1818,31 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -808,6 +1910,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -941,6 +2052,69 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unxhr": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.2.0.tgz", + "integrity": "sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==", + "license": "MIT", + "engines": { + "node": ">=8.11" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -957,6 +2131,27 @@ "node": ">= 8" } }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "license": "MIT" + }, "node_modules/workerpool": { "version": "9.3.2", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.2.tgz", @@ -1059,11 +2254,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -1092,7 +2292,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "license": "ISC", "engines": { "node": ">=12" diff --git a/ValeStyles/package.json b/ValeStyles/package.json index 20b05f0..a7c40b1 100644 --- a/ValeStyles/package.json +++ b/ValeStyles/package.json @@ -21,5 +21,9 @@ "homepage": "https://github.com/couchbaselabs/docs-style-guide#readme", "devDependencies": { "mocha": "^11.6.0" + }, + "dependencies": { + "asciidoctor": "^3.0.4", + "lodash": "^4.17.21" } } diff --git a/ValeStyles/test/adoc/styles.adoc b/ValeStyles/test/adoc/styles.adoc new file mode 100644 index 0000000..aa2d822 --- /dev/null +++ b/ValeStyles/test/adoc/styles.adoc @@ -0,0 +1,49 @@ += Testing Couchbase vale styles + +== Couchbase.An + +=== Flagged examples + +[vale,Couchbase.An] +-- +* This is a example of incorrect usage. +* She wrote a email to the team. +* He found a unusual error in the logs. +* We need a update before release. +* Please submit a application. +-- + +=== Compliant examples + +[vale,Couchbase.An,ok] +-- +* This is an example of correct usage. +* She wrote an email to the team. +* He found an unusual error in the logs. +* We need an update before release. +* Please submit an application. +-- + +== Couchbase.App + +=== Flagged examples + +[vale,Couchbase.App] +-- +* Please open the app to continue. +* The app crashed unexpectedly. +* She downloaded the app from the store. +* He deleted the app by mistake. +* We updated the app yesterday. +-- + +=== Compliant examples + +[vale,Couchbase.App,ok] +-- +* Please open the application to continue. +* The application crashed unexpectedly. +* She downloaded the application from the store. +* He deleted the application by mistake. +* We updated the application yesterday. +-- \ No newline at end of file diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html new file mode 100644 index 0000000..725dc1a --- /dev/null +++ b/ValeStyles/test/adoc/styles.html @@ -0,0 +1,42 @@ +
+

Couchbase.An

+
+
+

Flagged examples

+
  • ✅ This is a example of incorrect usage.
  • +
  • ✅ She wrote a email to the team.
  • +
  • ✅ He found a unusual error in the logs.
  • +
  • ✅ We need a update before release.
  • +
  • ✅ Please submit a application.
  • +
    +
    +

    Compliant examples

    +
  • ✅ This is an example of correct usage.
  • +
  • ✅ She wrote an email to the team.
  • +
  • ✅ He found an unusual error in the logs.
  • +
  • ✅ We need an update before release.
  • +
  • ✅ Please submit an application.
  • +
    +
    +
    +
    +

    Couchbase.App

    +
    +
    +

    Flagged examples

    +
  • ✅ Please open the app to continue.
  • +
  • ✅ The app crashed unexpectedly.
  • +
  • ✅ She downloaded the app from the store.
  • +
  • ✅ He deleted the app by mistake.
  • +
  • ✅ We updated the app yesterday.
  • +
    +
    +

    Compliant examples

    +
  • ✅ Please open the application to continue.
  • +
  • ✅ The application crashed unexpectedly.
  • +
  • ✅ She downloaded the application from the store.
  • +
  • ✅ He deleted the application by mistake.
  • +
  • ✅ We updated the application yesterday.
  • +
    +
    +
    \ No newline at end of file diff --git a/ValeStyles/test/basic.js b/ValeStyles/test/expected.js similarity index 100% rename from ValeStyles/test/basic.js rename to ValeStyles/test/expected.js diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js new file mode 100644 index 0000000..c5c350a --- /dev/null +++ b/ValeStyles/test/styles.js @@ -0,0 +1,122 @@ +// this test file is designed to be run with Mocha +const assert = require('assert') +const fs = require('fs') +const ok = specify +const asciidoctor = require('asciidoctor')() +const { spawnSync } = require('node:child_process') +const { escape } = require('lodash') + +let tests = [] +asciidoctor.Extensions.register(function () { + this.block(function () { + const self = this + self.named('vale') + self.onContext('open') + self.positionalAttributes(['check', 'compliant']) + self.process(function (parent, reader, {check, compliant}) { +['compliant'] || false + if (!check) { + throw new Error('Vale check name is required') + } + console.log(`Running vale check: ${check}`) + + let lines = reader.getLines() + + let vale + try { + vale = spawnSync( + 'vale', + [ + '--output', 'JSON', + '--ext', '.adoc', + ], + { input: lines.join('\n') } + ) + } + catch (err) { + console.log("Failed to run vale", err) + } + + let checks = ( + JSON.parse(vale.stdout) + ['stdin.adoc'] + .filter(item => item.Check === check)) + + // return grouped by line number (now zero-indexed) + checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) + + const output = lines.entries().map(([line, content]) => { + return markupFlagged( + content, + checks[line]?.[0], + compliant) + }).toArray() + + tests.push({ + check, + compliant, + output, + ok: output.every(x => x.ok) + }) + + const html = `
    ${output.map(x => x.html).join('\n')}
    ` + return self.createBlock(parent, 'pass', html ) + }) + }) +}) + +function markupFlagged(content, flagged, compliant) { + // flagged is a struct from Vale, compliant is boolish + // we xor them (first coercing) to + // check that they match + const ok = !!flagged ^ !!compliant + const icon = ok ? '✅' : '❌' + + let html = content + if (flagged) { + let [from, to] = flagged.Span + from-- // Vale Span is weird + + const [pre,marked,post] = [ + escape(content.slice(0, from)), + escape(content.slice(from, to)), + escape(content.slice(to)) + ] + + assert.equal( + marked, + flagged.Match, + `Marked content error: ${marked} !== ${flagged.Match}` + ) + const message = escape(flagged.Message) + + html = `${pre}${marked}${post}` + } + + html = html.replace(/^\*\s*/, '') // remove leading asterisk + html = `
  • ${icon} ${html}
  • ` + + return { + ok, + html, + content, + message: flagged?.Message + } +} + +const text = fs.readFileSync('test/adoc/styles.adoc', 'utf8').toString() + +const html = asciidoctor.convert(text) + +fs.writeFileSync('test/adoc/styles.html', html, 'utf8') + +describe(`Report Vale tests against specific styles file://${process.cwd()}/test/adoc/styles.html`, function () { + + for (const test of tests) { + ok(`testing ${test.check} ${test.compliant ? '(compliant)' : '(flagged)'}`, function () { + assert.ok(test.ok, `Vale check ${test.check} failed: ${test.output.map(x => x.message).join(', ')}`) + }) + } +}) + + From f54f47fbcac14640ba89b99ab730f5ec36a1831a Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 13 Jun 2025 13:58:08 +0100 Subject: [PATCH 04/48] Some more tests (and driveby fixes for review) --- ValeStyles/Couchbase/ButtonMacro.yml | 1 + ValeStyles/Couchbase/Dialogs.yml | 6 +- ValeStyles/Couchbase/Dropdown.yml | 2 +- ValeStyles/test/adoc/styles.adoc | 395 +++++++++++++++++++++++++-- ValeStyles/test/adoc/styles.html | 358 ++++++++++++++++++++++-- ValeStyles/test/styles.js | 21 +- 6 files changed, 732 insertions(+), 51 deletions(-) diff --git a/ValeStyles/Couchbase/ButtonMacro.yml b/ValeStyles/Couchbase/ButtonMacro.yml index f1a1756..5a82450 100644 --- a/ValeStyles/Couchbase/ButtonMacro.yml +++ b/ValeStyles/Couchbase/ButtonMacro.yml @@ -3,6 +3,7 @@ message: Did you follow the guidelines for the button macro? link: https://docs.couchbase.com/styleguide/button-macro.html nonword: true level: suggestion +scope: raw tokens: - btn\:\[.+\] \ No newline at end of file diff --git a/ValeStyles/Couchbase/Dialogs.yml b/ValeStyles/Couchbase/Dialogs.yml index d7725bc..889b1cf 100644 --- a/ValeStyles/Couchbase/Dialogs.yml +++ b/ValeStyles/Couchbase/Dialogs.yml @@ -2,9 +2,9 @@ extends: existence message: Don't bold or capitalize the word "dialog". link: https://docs.couchbase.com/styleguide/dialogs.html level: error -nonword: true scope: raw +nonword: true tokens: - - '\*.+[Dd]ialog\*' - - '\*.+\*\sDialog' \ No newline at end of file + - '\*[^*]*[Dd]ialog[^*]*\*' + - '\bDialog\b' \ No newline at end of file diff --git a/ValeStyles/Couchbase/Dropdown.yml b/ValeStyles/Couchbase/Dropdown.yml index f09b2a6..bd4caa1 100644 --- a/ValeStyles/Couchbase/Dropdown.yml +++ b/ValeStyles/Couchbase/Dropdown.yml @@ -6,4 +6,4 @@ tokens: - dropdown - drop down - dropdowns - - drop downs \ No newline at end of file + - drop downs diff --git a/ValeStyles/test/adoc/styles.adoc b/ValeStyles/test/adoc/styles.adoc index aa2d822..7e98e78 100644 --- a/ValeStyles/test/adoc/styles.adoc +++ b/ValeStyles/test/adoc/styles.adoc @@ -6,22 +6,22 @@ [vale,Couchbase.An] -- -* This is a example of incorrect usage. -* She wrote a email to the team. -* He found a unusual error in the logs. -* We need a update before release. -* Please submit a application. +This is a example of incorrect usage. +She wrote a email to the team. +He found a unusual error in the logs. +We need a update before release. +Please submit a application. -- === Compliant examples [vale,Couchbase.An,ok] -- -* This is an example of correct usage. -* She wrote an email to the team. -* He found an unusual error in the logs. -* We need an update before release. -* Please submit an application. +This is an example of correct usage. +She wrote an email to the team. +He found an unusual error in the logs. +We need an update before release. +Please submit an application. -- == Couchbase.App @@ -30,20 +30,375 @@ [vale,Couchbase.App] -- -* Please open the app to continue. -* The app crashed unexpectedly. -* She downloaded the app from the store. -* He deleted the app by mistake. -* We updated the app yesterday. +Please open the app to continue. +The app crashed unexpectedly. +She downloaded the app from the store. +He deleted the app by mistake. +We updated the app yesterday. -- === Compliant examples [vale,Couchbase.App,ok] -- -* Please open the application to continue. -* The application crashed unexpectedly. -* She downloaded the application from the store. -* He deleted the application by mistake. -* We updated the application yesterday. +Please open the application to continue. +The application crashed unexpectedly. +She downloaded the application from the store. +He deleted the application by mistake. +We updated the application yesterday. +-- + +== Couchbase.Bold + +=== Flagged examples + +[vale,Couchbase.Bold] +-- +This is *bold* text using asterisks. +Please click the *Save* button. +Use *important* for emphasis. +-- + +=== Compliant examples + +[vale,Couchbase.Bold,ok] +-- +This is normal text. +Please click the btn:[Save] button. +Use _important_ for emphasis. +-- + +== Couchbase.ButtonMacro + +=== Flagged examples + +[vale,Couchbase.ButtonMacro] +-- +Click the btn:[Save] button to continue. +Press the btn:[Cancel] button to exit. +Select the btn:[Submit] button to proceed. +-- + +== Couchbase.Checkbox + +=== Flagged examples + +[vale,Couchbase.Checkbox] +-- +Select the checkbox to agree. +Tick the OK check box if you accept. +-- + +=== Compliant examples + +[vale,Couchbase.Checkbox,ok] +-- +Select "OK" to accept. +Check "I agree" to continue. +-- + +== Couchbase.CodeCallouts + +=== Flagged examples + +👎 NOT automatically tested yet. + + +[source,java] +-- +public class Example { // <1> +-- + +<1> This is a code callout example. + +=== Compliant examples + +👍 NOT automatically tested yet. + +[source,java] +-- +public class Example { +-- + +== Couchbase.ComplexContractions + +=== Flagged examples + +[vale,Couchbase.ComplexContractions] +-- +What'll become of the database? +We must've missed the deadline. +We would've liked to help you. +-- + +=== Compliant examples + +[vale,Couchbase.ComplexContractions,ok] +-- +You shouldn't use contractions in formal documentation... but we do. +They can't access the database. +We won't support this feature. +-- + +== Couchbase.Contractions + +=== Flagged examples + +[vale,Couchbase.Contractions] +-- +It is important to follow the guidelines. +How is this feature used? +That is not supported. +They are working on the fix. +We are planning a release. +What is the status? +Where is the documentation? +Who is responsible for this? +You are required to sign in. +You had better check the logs. +You will need to update your client. +-- + +=== Compliant examples + +[vale,Couchbase.Contractions,ok] +-- +It's important to follow the guidelines. +How's this feature used? +That's not supported. +They're working on the fix. +We're planning a release. +What's the status? +Where's the documentation? +Who's responsible for this? +You're required to sign in. +You'd better check the logs. +You'll need to update your client. +-- + +== Couchbase.CouchbaseAutoOp + +=== Flagged examples + +[vale,Couchbase.CouchbaseAutoOp] +-- +* The Operator manages the cluster. +* Upgrade the Operator to the latest version. +* The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator. +-- + +=== Compliant examples + +[vale,Couchbase.CouchbaseAutoOp,ok] +-- +Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster. +-- + +== Couchbase.CouchbaseServerComm + +=== Flagged examples + +[vale,Couchbase.CouchbaseServerComm] +-- +You can download Community Edition from our website. +The Community Edition is free to use. +-- + +=== Compliant examples + +[vale,Couchbase.CouchbaseServerComm,ok] +-- +You can download Couchbase Server Community Edition from our website. +The Couchbase Server Community Edition is free to use. +-- + +== Couchbase.CouchbaseServerWebConsole + +=== Flagged examples + +[vale,Couchbase.CouchbaseServerWebConsole] +-- +You can access the Web Console to manage your cluster. +The Web Console provides a user-friendly interface. +-- + +=== Compliant examples + +[vale,Couchbase.CouchbaseServerWebConsole,ok] +-- +You can access the Couchbase Server Web Console to manage your cluster. +The Couchbase Server Web Console provides a user-friendly interface. +-- + +== Couchbase.DatePicker + +=== Flagged examples + +[vale,Couchbase.DatePicker] +-- +Select the Date Picker to choose a date. +Click the *date picker* field. +-- + +=== Compliant examples + +[vale,Couchbase.DatePicker,ok] +-- +Select the date picker to choose a date. +-- + +== Couchbase.Dialogs + +=== Flagged examples + +[vale,Couchbase.Dialogs] +-- +A Dialog will appear. +Click the *dialog* to continue. +The *dialog box* is displayed. +-- + +=== Compliant examples + +[vale,Couchbase.Dialogs,ok] +-- +A dialog will appear. +-- + +== Couchbase.DirectionalLanguage + +=== Flagged examples + +[vale,Couchbase.DirectionalLanguage] +-- +Click the button on the left. +Scroll down to see more options. +The settings are below the menu. +Move up to the previous section. +The icon is above the text. +-- + +=== Compliant examples + +[vale,Couchbase.DirectionalLanguage,ok] +-- +Click the first button. +Scroll to see more options. +The settings are under the menu. +Return to the previous section. +The icon is near the text. +-- + +== Couchbase.Dropdown + +=== Flagged examples + +[vale,Couchbase.Dropdown] +-- +Select the drop-down to choose an option. +Click the dropdown menu. +Open the dropdowns list. +-- + +=== Compliant examples + +[vale,Couchbase.Dropdown,ok] +-- +Choose the value from the list. +-- + +== Couchbase.FancyQuotes + +=== Flagged examples + +[vale,Couchbase.FancyQuotes] +-- +He said, “This is a test.” +She replied, ‘Indeed it is.’ +The document uses “smart quotes” throughout. +-- + +=== Compliant examples + +[vale,Couchbase.FancyQuotes,ok] +-- +He said, "This is a test." +She replied, 'Indeed it is.' +The document uses "straight quotes" throughout. +-- + +== Couchbase.HeadingFormatting + +=== Flagged examples + +[vale,Couchbase.HeadingFormatting] +-- += This is a *bold* heading. +== This is an _italic_ heading. +-- + +=== Compliant examples + +[vale,Couchbase.HeadingFormatting,ok] +-- += This heading has no formatting. +-- + +== Couchbase.Headings + +=== Flagged examples + +[vale,Couchbase.Headings] +-- += introduction +== This does not use title case +-- + +=== Compliant examples + +[vale,Couchbase.Headings,ok] +-- += Introduction +== Heading With Title Case +-- + +== Couchbase.Italics + +=== Flagged examples + +[vale,Couchbase.Italics] +-- +This is _italic_ text using underscores. +Please click the _Save_ button. +Use _important_ for emphasis. +-- + +=== Compliant examples + +[vale,Couchbase.Italics,ok] +-- +This is normal text. +Please click the btn:[Save] button. +-- + +== Couchbase.LessFewer + +=== Flagged examples + +[vale,Couchbase.LessFewer] +-- +There are less errors in this version. +We need less people on the project. +She has less tasks to complete. +The server has less connections now. +-- + +=== Compliant examples + +[vale,Couchbase.LessFewer,ok] +-- +There are fewer errors in this version. +We need fewer people on the project. +She has fewer tasks to complete. +The server has fewer connections now. -- \ No newline at end of file diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 725dc1a..cd6a37a 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -3,19 +3,19 @@

    Couchbase.An

    Flagged examples

    -
  • ✅ This is a example of incorrect usage.
  • -
  • ✅ She wrote a email to the team.
  • -
  • ✅ He found a unusual error in the logs.
  • -
  • ✅ We need a update before release.
  • -
  • ✅ Please submit a application.
  • +
  • 👎 This is a example of incorrect usage.
  • +
  • 👎 She wrote a email to the team.
  • +
  • 👎 He found a unusual error in the logs.
  • +
  • 👎 We need a update before release.
  • +
  • 👎 Please submit a application.
  • Compliant examples

    -
  • ✅ This is an example of correct usage.
  • -
  • ✅ She wrote an email to the team.
  • -
  • ✅ He found an unusual error in the logs.
  • -
  • ✅ We need an update before release.
  • -
  • ✅ Please submit an application.
  • +
  • 👍 This is an example of correct usage.
  • +
  • 👍 She wrote an email to the team.
  • +
  • 👍 He found an unusual error in the logs.
  • +
  • 👍 We need an update before release.
  • +
  • 👍 Please submit an application.
  • @@ -24,19 +24,337 @@

    Couchbase.App

    Flagged examples

    -
  • ✅ Please open the app to continue.
  • -
  • ✅ The app crashed unexpectedly.
  • -
  • ✅ She downloaded the app from the store.
  • -
  • ✅ He deleted the app by mistake.
  • -
  • ✅ We updated the app yesterday.
  • +
  • 👎 Please open the app to continue.
  • +
  • 👎 The app crashed unexpectedly.
  • +
  • 👎 She downloaded the app from the store.
  • +
  • 👎 He deleted the app by mistake.
  • +
  • 👎 We updated the app yesterday.
  • Compliant examples

    -
  • ✅ Please open the application to continue.
  • -
  • ✅ The application crashed unexpectedly.
  • -
  • ✅ She downloaded the application from the store.
  • -
  • ✅ He deleted the application by mistake.
  • -
  • ✅ We updated the application yesterday.
  • +
  • 👍 Please open the application to continue.
  • +
  • 👍 The application crashed unexpectedly.
  • +
  • 👍 She downloaded the application from the store.
  • +
  • 👍 He deleted the application by mistake.
  • +
  • 👍 We updated the application yesterday.
  • +
    +
    + +
    +

    Couchbase.Bold

    +
    +
    +

    Flagged examples

    +
  • 👎 This is *bold* text using asterisks.
  • +
  • 👎 Please click the *Save* button.
  • +
  • 👎 Use *important* for emphasis.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is normal text.
  • +
  • 👍 Please click the btn:[Save] button.
  • +
  • 👍 Use _important_ for emphasis.
  • +
    +
    +
    +
    +

    Couchbase.ButtonMacro

    +
    +
    +

    Flagged examples

    +
  • 👎 Click the btn:[Save] button to continue.
  • +
  • 👎 Press the btn:[Cancel] button to exit.
  • +
  • 👎 Select the btn:[Submit] button to proceed.
  • +
    +
    +
    +
    +

    Couchbase.Checkbox

    +
    +
    +

    Flagged examples

    +
  • 👎 Select the checkbox to agree.
  • +
  • 👎 Tick the OK check box if you accept.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Select "OK" to accept.
  • +
  • 👍 Check "I agree" to continue.
  • +
    +
    +
    +
    +

    Couchbase.CodeCallouts

    +
    +
    +

    Flagged examples

    +
    +

    👎 NOT automatically tested yet.

    +
    +
    +
    +
    public class Example { // (1)
    +
    +
    +
    +
      +
    1. +

      This is a code callout example.

      +
    2. +
    +
    +
    +
    +

    Compliant examples

    +
    +

    👍 NOT automatically tested yet.

    +
    +
    +
    +
    public class Example {
    +
    +
    +
    +
    +
    +
    +

    Couchbase.ComplexContractions

    +
    +
    +

    Flagged examples

    +
  • 👎 What'll become of the database?
  • +
  • 👎 We must've missed the deadline.
  • +
  • 👎 We would've liked to help you.
  • +
    +
    +

    Compliant examples

    +
  • 👍 You shouldn't use contractions in formal documentation... but we do.
  • +
  • 👍 They can't access the database.
  • +
  • 👍 We won't support this feature.
  • +
    +
    +
    +
    +

    Couchbase.Contractions

    +
    +
    +

    Flagged examples

    +
  • 👎 It is important to follow the guidelines.
  • +
  • 👎 How is this feature used?
  • +
  • 👎 That is not supported.
  • +
  • 👎 They are working on the fix.
  • +
  • 👎 We are planning a release.
  • +
  • 👎 What is the status?
  • +
  • 👎 Where is the documentation?
  • +
  • 👎 Who is responsible for this?
  • +
  • 👎 You are required to sign in.
  • +
  • 👎 You had better check the logs.
  • +
  • 👎 You will need to update your client.
  • +
    +
    +

    Compliant examples

    +
  • 👍 It's important to follow the guidelines.
  • +
  • 👍 How's this feature used?
  • +
  • 👍 That's not supported.
  • +
  • 👍 They're working on the fix.
  • +
  • 👍 We're planning a release.
  • +
  • 👍 What's the status?
  • +
  • 👍 Where's the documentation?
  • +
  • 👍 Who's responsible for this?
  • +
  • 👍 You're required to sign in.
  • +
  • 👍 You'd better check the logs.
  • +
  • 👍 You'll need to update your client.
  • +
    +
    +
    +
    +

    Couchbase.CouchbaseAutoOp

    +
    +
    +

    Flagged examples

    +
  • 👎 The Operator manages the cluster.
  • +
  • 👎 Upgrade the Operator to the latest version.
  • +
  • ❌ The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster.
  • +
    +
    +
    +
    +

    Couchbase.CouchbaseServerComm

    +
    +
    +

    Flagged examples

    +
  • 👎 You can download Community Edition from our website.
  • +
  • 👎 The Community Edition is free to use.
  • +
    +
    +

    Compliant examples

    +
  • 👍 You can download Couchbase Server Community Edition from our website.
  • +
  • 👍 The Couchbase Server Community Edition is free to use.
  • +
    +
    +
    +
    +

    Couchbase.CouchbaseServerWebConsole

    +
    +
    +

    Flagged examples

    +
  • 👎 You can access the Web Console to manage your cluster.
  • +
  • 👎 The Web Console provides a user-friendly interface.
  • +
    +
    +

    Compliant examples

    +
  • 👍 You can access the Couchbase Server Web Console to manage your cluster.
  • +
  • 👍 The Couchbase Server Web Console provides a user-friendly interface.
  • +
    +
    +
    +
    +

    Couchbase.DatePicker

    +
    +
    +

    Flagged examples

    +
  • 👎 Select the Date Picker to choose a date.
  • +
  • 👎 Click the *date picker* field.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Select the date picker to choose a date.
  • +
    +
    +
    +
    +

    Couchbase.Dialogs

    +
    +
    +

    Flagged examples

    +
  • 👎 A Dialog will appear.
  • +
  • 👎 Click the *dialog* to continue.
  • +
  • 👎 The *dialog box* is displayed.
  • +
    +
    +

    Compliant examples

    +
  • 👍 A dialog will appear.
  • +
    +
    +
    +
    +

    Couchbase.DirectionalLanguage

    +
    +
    +

    Flagged examples

    +
  • 👎 Click the button on the left.
  • +
  • 👎 Scroll down to see more options.
  • +
  • 👎 The settings are below the menu.
  • +
  • ❌ Move up to the previous section.
  • +
  • 👎 The icon is above the text.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Click the first button.
  • +
  • 👍 Scroll to see more options.
  • +
  • 👍 The settings are under the menu.
  • +
  • 👍 Return to the previous section.
  • +
  • 👍 The icon is near the text.
  • +
    +
    +
    +
    +

    Couchbase.Dropdown

    +
    +
    +

    Flagged examples

    +
  • 👎 Select the drop-down to choose an option.
  • +
  • 👎 Click the dropdown menu.
  • +
  • ❌ Open the dropdowns list.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Choose the value from the list.
  • +
    +
    +
    +
    +

    Couchbase.FancyQuotes

    +
    +
    +

    Flagged examples

    +
  • 👎 He said, This is a test.”
  • +
  • 👎 She replied, Indeed it is.’
  • +
  • 👎 The document uses smart quotes” throughout.
  • +
    +
    +

    Compliant examples

    +
  • 👍 He said, "This is a test."
  • +
  • 👍 She replied, 'Indeed it is.'
  • +
  • 👍 The document uses "straight quotes" throughout.
  • +
    +
    +
    +
    +

    Couchbase.HeadingFormatting

    +
    +
    +

    Flagged examples

    +
  • 👎 = This is a *bold* heading.
  • +
  • 👎 == This is an _italic_ heading.
  • +
    +
    +

    Compliant examples

    +
  • 👍 = This heading has no formatting.
  • +
    +
    +
    +
    +

    Couchbase.Headings

    +
    +
    +

    Flagged examples

    +
  • 👎 = introduction
  • +
  • ❌ == This does not use title case
  • +
    +
    +

    Compliant examples

    +
  • 👍 = Introduction
  • +
  • 👍 == Heading With Title Case
  • +
    +
    +
    +
    +

    Couchbase.Italics

    +
    +
    +

    Flagged examples

    +
  • ❌ This is _italic_ text using underscores.
  • +
  • ❌ Please click the _Save_ button.
  • +
  • ❌ Use _important_ for emphasis.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is normal text.
  • +
  • 👍 Please click the btn:[Save] button.
  • +
    +
    +
    +
    +

    Couchbase.LessFewer

    +
    +
    +

    Flagged examples

    +
  • 👎 There are less errors in this version.
  • +
  • ❌ We need less people on the project.
  • +
  • 👎 She has less tasks to complete.
  • +
  • 👎 The server has less connections now.
  • +
    +
    +

    Compliant examples

    +
  • 👍 There are fewer errors in this version.
  • +
  • 👍 We need fewer people on the project.
  • +
  • 👍 She has fewer tasks to complete.
  • +
  • 👍 The server has fewer connections now.
  • \ No newline at end of file diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index c5c350a..067358b 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -29,6 +29,7 @@ asciidoctor.Extensions.register(function () { [ '--output', 'JSON', '--ext', '.adoc', + '--minAlertLevel', 'suggestion', ], { input: lines.join('\n') } ) @@ -37,10 +38,12 @@ asciidoctor.Extensions.register(function () { console.log("Failed to run vale", err) } - let checks = ( - JSON.parse(vale.stdout) + let checks = JSON.parse(vale.stdout) ['stdin.adoc'] - .filter(item => item.Check === check)) + || [] + + checks = checks + .filter(item => item.Check === check) // return grouped by line number (now zero-indexed) checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) @@ -70,16 +73,17 @@ function markupFlagged(content, flagged, compliant) { // we xor them (first coercing) to // check that they match const ok = !!flagged ^ !!compliant - const icon = ok ? '✅' : '❌' + let icon let html = content if (flagged) { + icon = ok ? '👎' : '❌' let [from, to] = flagged.Span from-- // Vale Span is weird const [pre,marked,post] = [ escape(content.slice(0, from)), - escape(content.slice(from, to)), + content.slice(from, to), escape(content.slice(to)) ] @@ -90,7 +94,10 @@ function markupFlagged(content, flagged, compliant) { ) const message = escape(flagged.Message) - html = `${pre}${marked}${post}` + html = `${pre}${escape(marked)}${post}` + } + else { + icon = ok ? '👍' : '❌' } html = html.replace(/^\*\s*/, '') // remove leading asterisk @@ -114,7 +121,7 @@ describe(`Report Vale tests against specific styles file://${process.cwd()}/test for (const test of tests) { ok(`testing ${test.check} ${test.compliant ? '(compliant)' : '(flagged)'}`, function () { - assert.ok(test.ok, `Vale check ${test.check} failed: ${test.output.map(x => x.message).join(', ')}`) + assert.ok(test.ok, `Vale check ${test.check} failed}`) }) } }) From 37a148630a7e208700ae926e238e60484f41e28e Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 13 Jun 2025 16:15:37 +0100 Subject: [PATCH 05/48] Stub tests for all Couchbase styles Generated by Copilot, then tweaked manually where obvious what to do. There are some failures. Some things don't test properly because of the assumptions of the current test (that there is an error per line). Others I'm not yet sure how to test / why they don't work. --- ValeStyles/Couchbase/Italics.yml | 9 +- ValeStyles/test/adoc/styles.adoc | 482 ++++++++++++++++++++++++++++++- ValeStyles/test/adoc/styles.html | 433 +++++++++++++++++++++++++-- ValeStyles/test/styles.js | 27 +- 4 files changed, 919 insertions(+), 32 deletions(-) diff --git a/ValeStyles/Couchbase/Italics.yml b/ValeStyles/Couchbase/Italics.yml index d2b806b..9f264f1 100644 --- a/ValeStyles/Couchbase/Italics.yml +++ b/ValeStyles/Couchbase/Italics.yml @@ -1,9 +1,10 @@ extends: existence message: Don't use italics. Find another way to add emphasis. -level: error link: https://docs.couchbase.com/styleguide/italic.html -scope: - - raw +scope: raw +nonword: true +level: error + tokens: - '(? public class Example { -- + == Couchbase.ComplexContractions === Flagged examples @@ -140,6 +147,7 @@ They can't access the database. We won't support this feature. -- + == Couchbase.Contractions === Flagged examples @@ -176,6 +184,7 @@ You'd better check the logs. You'll need to update your client. -- + == Couchbase.CouchbaseAutoOp === Flagged examples @@ -212,6 +221,7 @@ You can download Couchbase Server Community Edition from our website. The Couchbase Server Community Edition is free to use. -- + == Couchbase.CouchbaseServerWebConsole === Flagged examples @@ -230,6 +240,7 @@ You can access the Couchbase Server Web Console to manage your cluster. The Couchbase Server Web Console provides a user-friendly interface. -- + == Couchbase.DatePicker === Flagged examples @@ -247,6 +258,7 @@ Click the *date picker* field. Select the date picker to choose a date. -- + == Couchbase.Dialogs === Flagged examples @@ -265,6 +277,7 @@ The *dialog box* is displayed. A dialog will appear. -- + == Couchbase.DirectionalLanguage === Flagged examples @@ -289,6 +302,7 @@ Return to the previous section. The icon is near the text. -- + == Couchbase.Dropdown === Flagged examples @@ -307,6 +321,7 @@ Open the dropdowns list. Choose the value from the list. -- + == Couchbase.FancyQuotes === Flagged examples @@ -327,6 +342,7 @@ She replied, 'Indeed it is.' The document uses "straight quotes" throughout. -- + == Couchbase.HeadingFormatting === Flagged examples @@ -344,6 +360,7 @@ The document uses "straight quotes" throughout. = This heading has no formatting. -- + == Couchbase.Headings === Flagged examples @@ -362,8 +379,11 @@ The document uses "straight quotes" throughout. == Heading With Title Case -- + == Couchbase.Italics +NOTE: Don't understand why this test doesn't flag the following? + === Flagged examples [vale,Couchbase.Italics] @@ -378,9 +398,9 @@ Use _important_ for emphasis. [vale,Couchbase.Italics,ok] -- This is normal text. -Please click the btn:[Save] button. -- + == Couchbase.LessFewer === Flagged examples @@ -401,4 +421,464 @@ There are fewer errors in this version. We need fewer people on the project. She has fewer tasks to complete. The server has fewer connections now. +-- + + +== Couchbase.Link + +WARNING: this test doesn't work properly yet. + +=== Flagged examples + +[vale,Couchbase.Link] +-- +<> to learn more. +Click <> to learn more. +Click <> for more information. +For more information, see <>. +Visit <> for details. +-- + +=== Compliant examples + +[vale,Couchbase.Link,ok] +-- +Learn more about <>. +For more information, see the <>. +Visit the <> for details. +-- + + +== Couchbase.Monospace + +=== Flagged examples + +NOTE: monospace text is permitted, of course, but this warning is to make sure it is used correctly, see https://docs.couchbase.com/styleguide/monospace-highlight.html + +[vale,Couchbase.Monospace] +-- +This is `monospace` text. +-- + +=== Compliant examples + +[vale,Couchbase.Monospace,ok] +-- +No monospace here. +-- + + +== Couchbase.NegativeContractions + +=== Flagged examples + +[vale,Couchbase.NegativeContractions] +-- +You can't access this feature. +They don't have permission. +We won't support this version. +She isn't available right now. +He hasn't finished the task. +-- + +=== Compliant examples + +[vale,Couchbase.NegativeContractions,ok] +-- +You cannot access this feature. +They do not have permission. +We will not support this version. +She is not available right now. +He has not finished the task. +-- + + +== Couchbase.NoteThat + +=== Flagged examples + +[vale,Couchbase.NoteThat] +-- +Note that you must restart the server. +Note that this feature is experimental. +Note that backups are not automatic. +-- + +=== Compliant examples + +[vale,Couchbase.NoteThat,ok] +-- +You must restart the server. +This feature is experimental. +NOTE: Backups are not automatic. +-- + + +== Couchbase.Please + +=== Flagged examples + +[vale,Couchbase.Please] +-- +Please refer to the documentation for more information. +Please ensure you have saved your work. +Please contact support if you need help. +-- + +=== Compliant examples + +[vale,Couchbase.Please,ok] +-- +Refer to the documentation for more information. +Ensure you have saved your work. +Contact support if you need help. +-- + + +== Couchbase.Quotations + +=== Flagged examples + +[vale,Couchbase.Quotations] +-- +The term "bucket" refers to a data container. +He clicked the "Save" button. +Select the "Settings" option from the menu. +-- + +=== Compliant examples + +[vale,Couchbase.Quotations,ok] +-- +The term ‘bucket’ refers to a data container. +He clicked the btn:[Save] button. +Select the _Settings_ option from the menu. +-- + + +== Couchbase.ReadingLevel + +=== Flagged examples + +[vale,Couchbase.ReadingLevel] +-- +Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.” +-- + +=== Compliant examples + +[vale,Couchbase.ReadingLevel,ok] +-- +The system uses many methods to help different modules work together. +This change means we need to review how things work. +-- + + +== Couchbase.RepeatedSpace + +=== Flagged examples + +[vale,Couchbase.RepeatedSpace] +-- +There are multiple spaces here. +Check for repeated spaces. +-- + +=== Compliant examples + +[vale,Couchbase.RepeatedSpace,ok] +-- +This sentence has one space between words. +Sentences with {attributes} should not be flagged. +-- + + +== Couchbase.RepeatedWord + +=== Flagged examples + +[vale,Couchbase.RepeatedWord] +-- +This is is a repeated word. +Please please check the document. +He said that that it was fine. +-- + +=== Compliant examples + +[vale,Couchbase.RepeatedWord,ok] +-- +This is a sentence without repeated words. +Please check the document. +He said that it was fine. +-- + + +== Couchbase.RunOn + +=== Flagged examples + +[vale,Couchbase.RunOn] +-- +This could be a run on sentence, because it has many commas, so confuses people, don't you think? +-- + +=== Compliant examples + +[vale,Couchbase.RunOn,ok] +-- +Sentences with up to two commas are fine, but no more than that, I beg you. +[cols="1,1,1,2,3"] +-- + + +== Couchbase.See + +=== Flagged examples + +[vale,Couchbase.See] +-- +Refer to http://foo.bar for more details. +Refer to https://foo.bar for more details. +-- + +=== Compliant examples + +[vale,Couchbase.See,ok] +-- +See http://foo.bar for more details. +See https://foo.bar for more details. +-- + + +== Couchbase.Semi-Colons + +=== Flagged examples + +NOTE: Use semi-colons sparingly. + +[vale,Couchbase.Semi-Colons] +-- +This is a sentence; and here is another clause. +-- + +=== Compliant examples + +[vale,Couchbase.Semi-Colons,ok] +-- +This is a sentence, and here is another clause. +-- + + +== Couchbase.SentenceLength + +=== Flagged examples + +[vale,Couchbase.SentenceLength] +-- +This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability. +-- + +=== Compliant examples + +[vale,Couchbase.SentenceLength,ok] +-- +This sentence is clear and concise. +Rewrite long sentences to improve clarity. +-- + + +== Couchbase.Sidebars + +=== Flagged examples + +[vale,Couchbase.Sidebars] +-- +**** +[sidebar] +-- + +=== Compliant examples + +[vale,Couchbase.Sidebars,ok] +-- +This is a regular paragraph, not a sidebar. +Use sidebars only when necessary and keep them concise. +-- + + +== Couchbase.SQL (SQL++ really) + +=== Flagged examples + +[vale,Couchbase.SQL] +-- +This is an SQL++ query. +-- + +=== Compliant examples + +[vale,Couchbase.SQL,ok] +-- +This is a SQL++ query. +-- + + +== Couchbase.StackedHeadings + +INFO: You can't have two headings with no content in between. + +We can't currently test this using this test. + + +== Couchbase.Terminology + +=== Flagged examples + +[vale,Couchbase.Terminology] +-- +This project uses dotnet for development. +Please add the adaptor to your system. +We use the whitelist to control access. +The code base is large. +Refer to the data center documentation. +She used the plugin for integration. +The master node is down. +He prefers to utilize this feature. +-- + +=== Compliant examples + +[vale,Couchbase.Terminology,ok] +-- +This project uses .NET for development. +Please add the adapter to your system. +We use the Allowlist to control access. +The codebase is large. +Refer to the datacenter documentation. +She used the plug-in for integration. +The primary node is down. +He prefers to use this feature. +-- + + +== Couchbase.Textbox + +=== Flagged examples + +[vale,Couchbase.Textbox] +-- +Enter your name in the textbox. +Click the text box to start typing. +-- + +=== Compliant examples + +[vale,Couchbase.Textbox,ok] +-- +Enter your name in the field. +Click the box to start typing. +-- + + +== Couchbase.ThereIs + +=== Flagged examples + +[vale,Couchbase.ThereIs] +-- +There is a problem with the configuration. +There is an error in the logs. +There is a need for more testing. +There is a button you can click. +-- + +=== Compliant examples + +[vale,Couchbase.ThereIs,ok] +-- +A problem exists with the configuration. +An error appears in the logs. +More testing is needed. +You can click the button. +-- + + +== Couchbase.UnexplainedAcronym + +Not sure how to test this one? + +=== Flagged examples + +[vale,Couchbase.UnexplainedAcronym] +-- +The HFE is not responding. +-- + +=== Compliant examples + +[vale,Couchbase.UnexplainedAcronym,ok] +-- +The Hyperspace Frobnication Engine (HFE) is not responding. +-- + + +== Couchbase.VentilatedProse + +=== Flagged examples + +[vale,Couchbase.VentilatedProse] +-- +This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line. +-- + +=== Compliant examples + +[vale,Couchbase.VentilatedProse,ok] +-- +This sentence is on its own line. +So is this one. +Each sentence starts on a new line for clarity. +-- + + +== Couchbase.Versions + +=== Flagged examples + +[vale,Couchbase.Versions] +-- +Use version 6.0 or higher. +Use version 6.0 or newer. +Not available in version 5.0 or lower. +Not available in version 5.0 or older. +-- + +=== Compliant examples + +[vale,Couchbase.Versions,ok] +-- +Use version 6.0 or later. +Not available in version 5.0 or earlier. +-- + + +== Couchbase.Wordy + +=== Flagged examples + +[vale,Couchbase.Wordy] +-- +Combating the issue requires a comprehensive understanding of the underlying architecture. +We will streamline the process to enhance efficiency. +It is ever thus. +-- + +=== Compliant examples + +[vale,Couchbase.Wordy,ok] +-- +We need to understand the architecture to fix the issue. +We will simplify the process to improve efficiency. +It's always like this. -- \ No newline at end of file diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index cd6a37a..730bb89 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -78,8 +78,8 @@

    Flagged examples

    Compliant examples

    -
  • 👍 Select "OK" to accept.
  • -
  • 👍 Check "I agree" to continue.
  • +
  • 👍 Select "OK" to accept.
  • +
  • 👍 Check "I agree" to continue.
  • @@ -128,9 +128,9 @@

    Flagged examples

    Compliant examples

    -
  • 👍 You shouldn't use contractions in formal documentation... but we do.
  • -
  • 👍 They can't access the database.
  • -
  • 👍 We won't support this feature.
  • +
  • 👍 You shouldn't use contractions in formal documentation... but we do.
  • +
  • 👍 They can't access the database.
  • +
  • 👍 We won't support this feature.
  • @@ -153,17 +153,17 @@

    Flagged examples

    Compliant examples

    -
  • 👍 It's important to follow the guidelines.
  • -
  • 👍 How's this feature used?
  • -
  • 👍 That's not supported.
  • -
  • 👍 They're working on the fix.
  • -
  • 👍 We're planning a release.
  • -
  • 👍 What's the status?
  • -
  • 👍 Where's the documentation?
  • -
  • 👍 Who's responsible for this?
  • -
  • 👍 You're required to sign in.
  • -
  • 👍 You'd better check the logs.
  • -
  • 👍 You'll need to update your client.
  • +
  • 👍 It's important to follow the guidelines.
  • +
  • 👍 How's this feature used?
  • +
  • 👍 That's not supported.
  • +
  • 👍 They're working on the fix.
  • +
  • 👍 We're planning a release.
  • +
  • 👍 What's the status?
  • +
  • 👍 Where's the documentation?
  • +
  • 👍 Who's responsible for this?
  • +
  • 👍 You're required to sign in.
  • +
  • 👍 You'd better check the logs.
  • +
  • 👍 You'll need to update your client.
  • @@ -288,9 +288,9 @@

    Flagged examples

    Compliant examples

    -
  • 👍 He said, "This is a test."
  • -
  • 👍 She replied, 'Indeed it is.'
  • -
  • 👍 The document uses "straight quotes" throughout.
  • +
  • 👍 He said, "This is a test."
  • +
  • 👍 She replied, 'Indeed it is.'
  • +
  • 👍 The document uses "straight quotes" throughout.
  • @@ -355,6 +355,401 @@

    Compliant examples

  • 👍 We need fewer people on the project.
  • 👍 She has fewer tasks to complete.
  • 👍 The server has fewer connections now.
  • +
    +
    +
    == Couchbase.Link
    +
    +
    + +
    +

    Flagged examples

    +
  • ❌ <<link,Click the Info link>> to learn more.
  • +
  • ❌ Click <<link,the Info link>> to learn more.
  • +
  • ❌ Click <<link,here>> for more information.
  • +
  • ❌ For more information, see <<link,this link>>.
  • +
  • ❌ Visit <<link,the following link>> for details.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Learn more about <<link,this feature>>.
  • +
  • 👍 For more information, see the <<link,documentation>>.
  • +
  • 👍 Visit the <<link,documentation>> for details.
  • +
    + + +
    +

    Couchbase.Monospace

    +
    +
    +

    Flagged examples

    +
    + + + + + +
    +
    Note
    +
    +monospace text is permitted, of course, but this warning is to make sure it is used correctly, see https://docs.couchbase.com/styleguide/monospace-highlight.html +
    +
    +
  • 👎 This is `monospace` text.
  • +
    +
    +

    Compliant examples

    +
  • 👍 No monospace here.
  • +
    +
    +
    +
    +

    Couchbase.NegativeContractions

    +
    +
    +

    Flagged examples

    +
  • 👎 You can't access this feature.
  • +
  • 👎 They don't have permission.
  • +
  • 👎 We won't support this version.
  • +
  • 👎 She isn't available right now.
  • +
  • 👎 He hasn't finished the task.
  • +
    +
    +

    Compliant examples

    +
  • 👍 You cannot access this feature.
  • +
  • 👍 They do not have permission.
  • +
  • 👍 We will not support this version.
  • +
  • 👍 She is not available right now.
  • +
  • 👍 He has not finished the task.
  • +
    +
    +
    +
    +

    Couchbase.NoteThat

    +
    +
    +

    Flagged examples

    +
  • 👎 Note that you must restart the server.
  • +
  • 👎 Note that this feature is experimental.
  • +
  • 👎 Note that backups are not automatic.
  • +
    +
    +

    Compliant examples

    +
  • 👍 You must restart the server.
  • +
  • 👍 This feature is experimental.
  • +
  • 👍 NOTE: Backups are not automatic.
  • +
    +
    +
    +
    +

    Couchbase.Please

    +
    +
    +

    Flagged examples

    +
  • 👎 Please refer to the documentation for more information.
  • +
  • 👎 Please ensure you have saved your work.
  • +
  • 👎 Please contact support if you need help.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Refer to the documentation for more information.
  • +
  • 👍 Ensure you have saved your work.
  • +
  • 👍 Contact support if you need help.
  • +
    +
    +
    +
    +

    Couchbase.Quotations

    +
    +
    +

    Flagged examples

    +
  • 👎 The term "bucket" refers to a data container.
  • +
  • 👎 He clicked the "Save" button.
  • +
  • 👎 Select the "Settings" option from the menu.
  • +
    +
    +

    Compliant examples

    +
  • 👍 The term ‘bucket’ refers to a data container.
  • +
  • 👍 He clicked the btn:[Save] button.
  • +
  • 👍 Select the _Settings_ option from the menu.
  • +
    +
    +
    +
    +

    Couchbase.ReadingLevel

    +
    +
    +

    Flagged examples

    +
  • 👎 Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.”
  • +
    +
    +

    Compliant examples

    +
  • 👍 The system uses many methods to help different modules work together.
  • +
  • 👍 This change means we need to review how things work.
  • +
    +
    +
    +
    +

    Couchbase.RepeatedSpace

    +
    +
    +

    Flagged examples

    +
  • 👎 There are multiple spaces here.
  • +
  • 👎 Check for repeated spaces.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This sentence has one space between words.
  • +
  • 👍 Sentences with {attributes} should not be flagged.
  • +
    +
    +
    +
    +

    Couchbase.RepeatedWord

    +
    +
    +

    Flagged examples

    +
  • 👎 This is is a repeated word.
  • +
  • ❌ Please please check the document.
  • +
  • 👎 He said that that it was fine.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is a sentence without repeated words.
  • +
  • 👍 Please check the document.
  • +
  • 👍 He said that it was fine.
  • +
    +
    +
    +
    +

    Couchbase.RunOn

    +
    +
    +

    Flagged examples

    +
  • 👎 This could be a run on sentence, because it has many commas, so confuses people, don't you think?
  • +
    +
    +

    Compliant examples

    +
  • 👍 Sentences with up to two commas are fine, but no more than that, I beg you.
  • +
  • 👍 [cols="1,1,1,2,3"]
  • +
    +
    +
    +
    +

    Couchbase.See

    +
    +
    +

    Flagged examples

    +
  • 👎 Refer to http://foo.bar for more details.
  • +
  • 👎 Refer to https://foo.bar for more details.
  • +
    +
    +

    Compliant examples

    +
  • 👍 See http://foo.bar for more details.
  • +
  • 👍 See https://foo.bar for more details.
  • +
    +
    +
    +
    +

    Couchbase.Semi-Colons

    +
    +
    +

    Flagged examples

    +
    + + + + + +
    +
    Note
    +
    +Use semi-colons sparingly. +
    +
    +
  • 👎 This is a sentence; and here is another clause.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is a sentence, and here is another clause.
  • +
    +
    +
    +
    +

    Couchbase.SentenceLength

    +
    +
    +

    Flagged examples

    +
  • 👎 This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This sentence is clear and concise.
  • +
  • 👍 Rewrite long sentences to improve clarity.
  • +
    +
    +
    +
    +

    Couchbase.Sidebars

    +
    +
    +

    Flagged examples

    +
  • 👎 ****
  • +
  • 👎 [sidebar]
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is a regular paragraph, not a sidebar.
  • +
  • 👍 Use sidebars only when necessary and keep them concise.
  • +
    +
    +
    +
    +

    Couchbase.SQL (SQL++ really)

    +
    +
    +

    Flagged examples

    +
  • 👎 This is an SQL++ query.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This is a SQL++ query.
  • +
    +
    +
    +
    +

    Couchbase.StackedHeadings

    +
    +
    +

    INFO: You can’t have two headings with no content in between.

    +
    +
    +

    We can’t currently test this using this test.

    +
    +
    +
    +
    +

    Couchbase.Terminology

    +
    +
    +

    Flagged examples

    +
  • 👎 This project uses dotnet for development.
  • +
  • 👎 Please add the adaptor to your system.
  • +
  • 👎 We use the whitelist to control access.
  • +
  • 👎 The code base is large.
  • +
  • 👎 Refer to the data center documentation.
  • +
  • 👎 She used the plugin for integration.
  • +
  • 👎 The master node is down.
  • +
  • 👎 He prefers to utilize this feature.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This project uses .NET for development.
  • +
  • 👍 Please add the adapter to your system.
  • +
  • 👍 We use the Allowlist to control access.
  • +
  • 👍 The codebase is large.
  • +
  • 👍 Refer to the datacenter documentation.
  • +
  • 👍 She used the plug-in for integration.
  • +
  • 👍 The primary node is down.
  • +
  • 👍 He prefers to use this feature.
  • +
    +
    +
    +
    +

    Couchbase.Textbox

    +
    +
    +

    Flagged examples

    +
  • 👎 Enter your name in the textbox.
  • +
  • 👎 Click the text box to start typing.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Enter your name in the field.
  • +
  • 👍 Click the box to start typing.
  • +
    +
    +
    +
    +

    Couchbase.ThereIs

    +
    +
    +

    Flagged examples

    +
  • 👎 There is a problem with the configuration.
  • +
  • 👎 There is an error in the logs.
  • +
  • 👎 There is a need for more testing.
  • +
  • 👎 There is a button you can click.
  • +
    +
    +

    Compliant examples

    +
  • 👍 A problem exists with the configuration.
  • +
  • 👍 An error appears in the logs.
  • +
  • 👍 More testing is needed.
  • +
  • 👍 You can click the button.
  • +
    +
    +
    +
    +

    Couchbase.UnexplainedAcronym

    +
    +
    +

    Not sure how to test this one?

    +
    +
    +

    Flagged examples

    +
  • ❌ The HFE is not responding.
  • +
    +
    +

    Compliant examples

    +
  • 👍 The Hyperspace Frobnication Engine (HFE) is not responding.
  • +
    +
    +
    +
    +

    Couchbase.VentilatedProse

    +
    +
    +

    Flagged examples

    +
  • 👎 This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
  • +
    +
    +

    Compliant examples

    +
  • 👍 This sentence is on its own line.
  • +
  • 👍 So is this one.
  • +
  • 👍 Each sentence starts on a new line for clarity.
  • +
    +
    +
    +
    +

    Couchbase.Versions

    +
    +
    +

    Flagged examples

    +
  • 👎 Use version 6.0 or higher.
  • +
  • 👎 Use version 6.0 or newer.
  • +
  • 👎 Not available in version 5.0 or lower.
  • +
  • 👎 Not available in version 5.0 or older.
  • +
    +
    +

    Compliant examples

    +
  • 👍 Use version 6.0 or later.
  • +
  • 👍 Not available in version 5.0 or earlier.
  • +
    +
    +
    +
    +

    Couchbase.Wordy

    +
    +
    +

    Flagged examples

    +
  • 👎 Combating the issue requires a comprehensive understanding of the underlying architecture.
  • +
  • 👎 We will streamline the process to enhance efficiency.
  • +
  • 👎 It is ever thus.
  • +
    +
    +

    Compliant examples

    +
  • 👍 We need to understand the architecture to fix the issue.
  • +
  • 👍 We will simplify the process to improve efficiency.
  • +
  • 👍 It's always like this.
  • \ No newline at end of file diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 067358b..895999e 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -75,23 +75,34 @@ function markupFlagged(content, flagged, compliant) { const ok = !!flagged ^ !!compliant let icon - let html = content + let html = escape(content) if (flagged) { icon = ok ? '👎' : '❌' let [from, to] = flagged.Span from-- // Vale Span is weird - const [pre,marked,post] = [ + let [pre,marked,post] = [ escape(content.slice(0, from)), content.slice(from, to), escape(content.slice(to)) ] - - assert.equal( - marked, - flagged.Match, - `Marked content error: ${marked} !== ${flagged.Match}` - ) + if (from === 0 && to === 1) { + // if the flagged content is essentially zero-width, + // then we'll mark the whole content + [pre,marked,post] = [ + '', + content, + '' + ] + } + else { + assert.equal( + marked.trim(), + flagged.Match.trim(), + `Marked content error: ${marked} !== ${flagged.Match}` + ) + } + const message = escape(flagged.Message) html = `${pre}${escape(marked)}${post}` From a51923ee7cd634f6d5c50ebe0b3120a29e9315b8 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Sun, 15 Jun 2025 08:01:59 +0100 Subject: [PATCH 06/48] Split the .adoc file into YAML declarations this will be more flexible for e.g. multiline strings than attempting to parse Asciidoc. --- ValeStyles/test/adoc/Test-Couchbase.An.yml | 12 ++++++++++ ValeStyles/test/adoc/Test-Couchbase.App.yml | 12 ++++++++++ ValeStyles/test/adoc/Test-Couchbase.Bold.yml | 8 +++++++ .../test/adoc/Test-Couchbase.ButtonMacro.yml | 8 +++++++ .../test/adoc/Test-Couchbase.Checkbox.yml | 6 +++++ .../test/adoc/Test-Couchbase.CodeCallouts.yml | 4 ++++ .../Test-Couchbase.ComplexContractions.yml | 8 +++++++ .../test/adoc/Test-Couchbase.Contractions.yml | 24 +++++++++++++++++++ .../adoc/Test-Couchbase.CouchbaseAutoOp.yml | 6 +++++ .../Test-Couchbase.CouchbaseServerComm.yml | 6 +++++ ...st-Couchbase.CouchbaseServerWebConsole.yml | 6 +++++ .../test/adoc/Test-Couchbase.DatePicker.yml | 6 +++++ .../test/adoc/Test-Couchbase.Dialogs.yml | 8 +++++++ .../Test-Couchbase.DirectionalLanguage.yml | 12 ++++++++++ .../test/adoc/Test-Couchbase.Dropdown.yml | 6 +++++ .../test/adoc/Test-Couchbase.FancyQuotes.yml | 8 +++++++ .../adoc/Test-Couchbase.HeadingFormatting.yml | 5 ++++ .../test/adoc/Test-Couchbase.Headings.yml | 6 +++++ .../test/adoc/Test-Couchbase.Italics.yml | 8 +++++++ .../test/adoc/Test-Couchbase.LessFewer.yml | 10 ++++++++ ValeStyles/test/adoc/Test-Couchbase.Link.yml | 10 ++++++++ .../test/adoc/Test-Couchbase.Monospace.yml | 4 ++++ .../Test-Couchbase.NegativeContractions.yml | 12 ++++++++++ .../test/adoc/Test-Couchbase.NoteThat.yml | 8 +++++++ .../test/adoc/Test-Couchbase.Please.yml | 8 +++++++ .../test/adoc/Test-Couchbase.Quotations.yml | 8 +++++++ .../test/adoc/Test-Couchbase.ReadingLevel.yml | 5 ++++ .../adoc/Test-Couchbase.RepeatedSpace.yml | 6 +++++ .../test/adoc/Test-Couchbase.RepeatedWord.yml | 8 +++++++ ValeStyles/test/adoc/Test-Couchbase.RunOn.yml | 4 ++++ ValeStyles/test/adoc/Test-Couchbase.SQL.yml | 4 ++++ ValeStyles/test/adoc/Test-Couchbase.See.yml | 6 +++++ .../test/adoc/Test-Couchbase.Semi-Colons.yml | 4 ++++ .../adoc/Test-Couchbase.SentenceLength.yml | 5 ++++ .../test/adoc/Test-Couchbase.Sidebars.yml | 6 +++++ .../adoc/Test-Couchbase.StackedHeadings.yml | 6 +++++ .../test/adoc/Test-Couchbase.Terminology.yml | 18 ++++++++++++++ .../test/adoc/Test-Couchbase.Textbox.yml | 6 +++++ .../test/adoc/Test-Couchbase.ThereIs.yml | 10 ++++++++ .../Test-Couchbase.UnexplainedAcronym.yml | 4 ++++ .../adoc/Test-Couchbase.VentilatedProse.yml | 6 +++++ .../test/adoc/Test-Couchbase.Versions.yml | 8 +++++++ ValeStyles/test/adoc/Test-Couchbase.Wordy.yml | 8 +++++++ 43 files changed, 333 insertions(+) create mode 100644 ValeStyles/test/adoc/Test-Couchbase.An.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.App.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Bold.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Contractions.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Headings.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Italics.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Link.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Monospace.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Please.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Quotations.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.RunOn.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.SQL.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.See.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Semi-Colons.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.SentenceLength.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Terminology.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Textbox.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.ThereIs.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Versions.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Wordy.yml diff --git a/ValeStyles/test/adoc/Test-Couchbase.An.yml b/ValeStyles/test/adoc/Test-Couchbase.An.yml new file mode 100644 index 0000000..22f3cac --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.An.yml @@ -0,0 +1,12 @@ +flag: + - This is a example of incorrect usage. + - She wrote a email to the team. + - He found a unusual error in the logs. + - We need a update before release. + - Please submit a application. +compliant: + - This is an example of correct usage. + - She wrote an email to the team. + - He found an unusual error in the logs. + - We need an update before release. + - Please submit an application. diff --git a/ValeStyles/test/adoc/Test-Couchbase.App.yml b/ValeStyles/test/adoc/Test-Couchbase.App.yml new file mode 100644 index 0000000..160a148 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.App.yml @@ -0,0 +1,12 @@ +flag: + - Please open the app to continue. + - The app crashed unexpectedly. + - She downloaded the app from the store. + - He deleted the app by mistake. + - We updated the app yesterday. +compliant: + - Please open the application to continue. + - The application crashed unexpectedly. + - She downloaded the application from the store. + - He deleted the application by mistake. + - We updated the application yesterday. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Bold.yml b/ValeStyles/test/adoc/Test-Couchbase.Bold.yml new file mode 100644 index 0000000..3e53cbb --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Bold.yml @@ -0,0 +1,8 @@ +flag: + - This is *bold* text using asterisks. + - Please click the *Save* button. + - Use *important* for emphasis. +compliant: + - This is normal text. + - Please click the btn:[Save] button. + - Use _important_ for emphasis. diff --git a/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml b/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml new file mode 100644 index 0000000..76be185 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml @@ -0,0 +1,8 @@ +flag: + - Click the btn:[Save] button to continue. + - Press the btn:[Cancel] button to exit. + - Select the btn:[Submit] button to proceed. +compliant: + - Click the btn:[Save] button to continue. + - Press the btn:[Cancel] button to exit. + - Select the btn:[Submit] button to proceed. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml b/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml new file mode 100644 index 0000000..114ef3e --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml @@ -0,0 +1,6 @@ +flag: + - Select the checkbox to agree. + - Tick the OK check box if you accept. +compliant: + - Select "OK" to accept. + - Check "I agree" to continue. diff --git a/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml new file mode 100644 index 0000000..0827784 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml @@ -0,0 +1,4 @@ +flag: + - public class Example { // <1> +compliant: + - public class Example { // <1> diff --git a/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml b/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml new file mode 100644 index 0000000..a624256 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml @@ -0,0 +1,8 @@ +flag: + - What'll become of the database? + - We must've missed the deadline. + - We would've liked to help you. +compliant: + - You shouldn't use contractions in formal documentation... but we do. + - They can't access the database. + - We won't support this feature. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml b/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml new file mode 100644 index 0000000..2b9ffd6 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml @@ -0,0 +1,24 @@ +flag: + - It is important to follow the guidelines. + - How is this feature used? + - That is not supported. + - They are working on the fix. + - We are planning a release. + - What is the status? + - Where is the documentation? + - Who is responsible for this? + - You are required to sign in. + - You had better check the logs. + - You will need to update your client. +compliant: + - It's important to follow the guidelines. + - How's this feature used? + - That's not supported. + - They're working on the fix. + - We're planning a release. + - What's the status? + - Where's the documentation? + - Who's responsible for this? + - You're required to sign in. + - You'd better check the logs. + - You'll need to update your client. diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml new file mode 100644 index 0000000..070dca8 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml @@ -0,0 +1,6 @@ +flag: + - The Operator manages the cluster. + - Upgrade the Operator to the latest version. + - The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator. +compliant: + - Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster. diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml new file mode 100644 index 0000000..f854bfe --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml @@ -0,0 +1,6 @@ +flag: + - You can download Community Edition from our website. + - The Community Edition is free to use. +compliant: + - You can download Couchbase Server Community Edition from our website. + - The Couchbase Server Community Edition is free to use. diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml new file mode 100644 index 0000000..9e594c3 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml @@ -0,0 +1,6 @@ +flag: + - You can access the Web Console to manage your cluster. + - The Web Console provides a user-friendly interface. +compliant: + - You can access the Couchbase Server Web Console to manage your cluster. + - The Couchbase Server Web Console provides a user-friendly interface. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml b/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml new file mode 100644 index 0000000..df5dfc2 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml @@ -0,0 +1,6 @@ +flag: + - Select the Date Picker to choose a date. + - Click the *date picker* field. +compliant: + - Select the date picker to choose a date. + - Click the date picker field. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml b/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml new file mode 100644 index 0000000..8b59ec4 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml @@ -0,0 +1,8 @@ +flag: + - A Dialog will appear. + - Click the *dialog* to continue. + - The *dialog box* is displayed. +compliant: + - A dialog will appear. + - Click the dialog to continue. + - The dialog box is displayed. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml b/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml new file mode 100644 index 0000000..f1bdcdb --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml @@ -0,0 +1,12 @@ +flag: + - Click the button on the left. + - Scroll down to see more options. + - The settings are below the menu. + - Move up to the previous section. + - The icon is above the text. +compliant: + - Click the first button. + - Scroll to see more options. + - The settings are under the menu. + - Return to the previous section. + - The icon is near the text. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml b/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml new file mode 100644 index 0000000..2c115d3 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml @@ -0,0 +1,6 @@ +flag: + - Select the drop-down to choose an option. + - Click the dropdown menu. + - Open the dropdowns list. +compliant: + - Choose the value from the list. diff --git a/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml b/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml new file mode 100644 index 0000000..5af0691 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml @@ -0,0 +1,8 @@ +flag: + - He said, “This is a test.” + - She replied, ‘Indeed it is.’ + - The document uses “smart quotes” throughout. +compliant: + - He said, "This is a test." + - She replied, 'Indeed it is.' + - The document uses "straight quotes" throughout. diff --git a/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml b/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml new file mode 100644 index 0000000..b1c5b89 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml @@ -0,0 +1,5 @@ +flag: + - = This is a *bold* heading. + - == This is an _italic_ heading. +compliant: + - = This heading has no formatting. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Headings.yml b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml new file mode 100644 index 0000000..fc5bb19 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml @@ -0,0 +1,6 @@ +flag: + - = introduction + - == This does not use title case +compliant: + - = Introduction + - == Heading With Title Case diff --git a/ValeStyles/test/adoc/Test-Couchbase.Italics.yml b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml new file mode 100644 index 0000000..c7cf6b1 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml @@ -0,0 +1,8 @@ +flag: + - This is _italic_ text using underscores. + - Please click the _Save_ button. + - Use _important_ for emphasis. +compliant: + - This is normal text. + - Please click the btn:[Save] button. + - Use _important_ for emphasis. diff --git a/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml b/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml new file mode 100644 index 0000000..ffa5689 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml @@ -0,0 +1,10 @@ +flag: + - There are less errors in this version. + - We need less people on the project. + - She has less tasks to complete. + - The server has less connections now. +compliant: + - There are fewer errors in this version. + - We need fewer people on the project. + - She has fewer tasks to complete. + - The server has fewer connections now. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Link.yml b/ValeStyles/test/adoc/Test-Couchbase.Link.yml new file mode 100644 index 0000000..94ec241 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Link.yml @@ -0,0 +1,10 @@ +flag: + - <> to learn more. + - Click <> to learn more. + - Click <> for more information. + - For more information, see <>. + - Visit <> for details. +compliant: + - Learn more about <>. + - For more information, see the <>. + - Visit the <> for details. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Monospace.yml b/ValeStyles/test/adoc/Test-Couchbase.Monospace.yml new file mode 100644 index 0000000..b9906e0 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Monospace.yml @@ -0,0 +1,4 @@ +flag: + - This is `monospace` text. +compliant: + - No monospace here. diff --git a/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml b/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml new file mode 100644 index 0000000..291332c --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml @@ -0,0 +1,12 @@ +flag: + - You can't access this feature. + - They don't have permission. + - We won't support this version. + - She isn't available right now. + - He hasn't finished the task. +compliant: + - You cannot access this feature. + - They do not have permission. + - We will not support this version. + - She is not available right now. + - He has not finished the task. diff --git a/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml b/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml new file mode 100644 index 0000000..da63f60 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml @@ -0,0 +1,8 @@ +flag: + - Note that you must restart the server. + - Note that this feature is experimental. + - Note that backups are not automatic. +compliant: + - You must restart the server. + - This feature is experimental. + - NOTE: Backups are not automatic. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Please.yml b/ValeStyles/test/adoc/Test-Couchbase.Please.yml new file mode 100644 index 0000000..11b6384 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Please.yml @@ -0,0 +1,8 @@ +flag: + - Please refer to the documentation for more information. + - Please ensure you have saved your work. + - Please contact support if you need help. +compliant: + - Refer to the documentation for more information. + - Ensure you have saved your work. + - Contact support if you need help. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml b/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml new file mode 100644 index 0000000..2b0afb2 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml @@ -0,0 +1,8 @@ +flag: + - The term "bucket" refers to a data container. + - He clicked the "Save" button. + - Select the "Settings" option from the menu. +compliant: + - The term ‘bucket’ refers to a data container. + - He clicked the btn:[Save] button. + - Select the _Settings_ option from the menu. diff --git a/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml new file mode 100644 index 0000000..b769534 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml @@ -0,0 +1,5 @@ +flag: + - Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules. +compliant: + - The system uses many methods to help different modules work together. + - This change means we need to review how things work. diff --git a/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml b/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml new file mode 100644 index 0000000..3f4d978 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml @@ -0,0 +1,6 @@ +flag: + - There are multiple spaces here. + - Check for repeated spaces. +compliant: + - This sentence has one space between words. + - Sentences with {attributes} should not be flagged. diff --git a/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml b/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml new file mode 100644 index 0000000..4fefd05 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml @@ -0,0 +1,8 @@ +flag: + - This is is a repeated word. + - Please please check the document. + - He said that that it was fine. +compliant: + - This is a sentence without repeated words. + - Please check the document. + - He said that it was fine. diff --git a/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml b/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml new file mode 100644 index 0000000..b307306 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml @@ -0,0 +1,4 @@ +flag: + - This could be a run on sentence, because it has many commas, so confuses people, don't you think? +compliant: + - Sentences with up to two commas are fine, but no more than that, I beg you. diff --git a/ValeStyles/test/adoc/Test-Couchbase.SQL.yml b/ValeStyles/test/adoc/Test-Couchbase.SQL.yml new file mode 100644 index 0000000..f48a01b --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.SQL.yml @@ -0,0 +1,4 @@ +flag: + - This is an SQL++ query. +compliant: + - This is a SQL++ query. diff --git a/ValeStyles/test/adoc/Test-Couchbase.See.yml b/ValeStyles/test/adoc/Test-Couchbase.See.yml new file mode 100644 index 0000000..1048f93 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.See.yml @@ -0,0 +1,6 @@ +flag: + - Refer to http://foo.bar for more details. + - Refer to https://foo.bar for more details. +compliant: + - See http://foo.bar for more details. + - See https://foo.bar for more details. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Semi-Colons.yml b/ValeStyles/test/adoc/Test-Couchbase.Semi-Colons.yml new file mode 100644 index 0000000..aea3078 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Semi-Colons.yml @@ -0,0 +1,4 @@ +flag: + - This is a sentence; and here is another clause. +compliant: + - This is a sentence, and here is another clause. diff --git a/ValeStyles/test/adoc/Test-Couchbase.SentenceLength.yml b/ValeStyles/test/adoc/Test-Couchbase.SentenceLength.yml new file mode 100644 index 0000000..bcd8ac3 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.SentenceLength.yml @@ -0,0 +1,5 @@ +flag: + - This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability. +compliant: + - This sentence is clear and concise. + - Rewrite long sentences to improve clarity. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml new file mode 100644 index 0000000..1f427f5 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml @@ -0,0 +1,6 @@ +flag: + - '****' + - '[sidebar]' +compliant: + - This is a regular paragraph, not a sidebar. + - Use sidebars only when necessary and keep them concise. diff --git a/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml b/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml new file mode 100644 index 0000000..eca3435 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml @@ -0,0 +1,6 @@ +flag: + - = Heading 1 + - == Heading 2 +compliant: + - = Heading 1 + - == Heading 2 diff --git a/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml b/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml new file mode 100644 index 0000000..530f032 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml @@ -0,0 +1,18 @@ +flag: + - This project uses dotnet for development. + - Please add the adaptor to your system. + - We use the whitelist to control access. + - The code base is large. + - Refer to the data center documentation. + - She used the plugin for integration. + - The master node is down. + - He prefers to utilize this feature. +compliant: + - This project uses .NET for development. + - Please add the adapter to your system. + - We use the Allowlist to control access. + - The codebase is large. + - Refer to the datacenter documentation. + - She used the plug-in for integration. + - The primary node is down. + - He prefers to use this feature. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml b/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml new file mode 100644 index 0000000..21572f7 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml @@ -0,0 +1,6 @@ +flag: + - Enter your name in the textbox. + - Click the text box to start typing. +compliant: + - Enter your name in the field. + - Click the box to start typing. diff --git a/ValeStyles/test/adoc/Test-Couchbase.ThereIs.yml b/ValeStyles/test/adoc/Test-Couchbase.ThereIs.yml new file mode 100644 index 0000000..ca246d9 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.ThereIs.yml @@ -0,0 +1,10 @@ +flag: + - There is a problem with the configuration. + - There is an error in the logs. + - There is a need for more testing. + - There is a button you can click. +compliant: + - A problem exists with the configuration. + - An error appears in the logs. + - More testing is needed. + - You can click the button. diff --git a/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml new file mode 100644 index 0000000..e732259 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml @@ -0,0 +1,4 @@ +flag: + - The HFE is not responding. +compliant: + - The Hyperspace Frobnication Engine (HFE) is not responding. diff --git a/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml b/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml new file mode 100644 index 0000000..c2ea23c --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml @@ -0,0 +1,6 @@ +flag: + - This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line. +compliant: + - This sentence is on its own line. + - So is this one. + - Each sentence starts on a new line for clarity. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Versions.yml b/ValeStyles/test/adoc/Test-Couchbase.Versions.yml new file mode 100644 index 0000000..ff13215 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Versions.yml @@ -0,0 +1,8 @@ +flag: + - Use version 6.0 or higher. + - Use version 6.0 or newer. + - Not available in version 5.0 or lower. + - Not available in version 5.0 or older. +compliant: + - Use version 6.0 or later. + - Not available in version 5.0 or earlier. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml b/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml new file mode 100644 index 0000000..08f5569 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml @@ -0,0 +1,8 @@ +flag: + - Combating the issue requires a comprehensive understanding of the underlying architecture. + - We will streamline the process to enhance efficiency. + - It is ever thus. +compliant: + - We need to understand the architecture to fix the issue. + - We will simplify the process to improve efficiency. + - It's always like this. From 2eaa7ab630eabb2b4454bd6271e548de4350370f Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Sun, 15 Jun 2025 10:25:24 +0100 Subject: [PATCH 07/48] Fixed tests for this style --- .../test/adoc/Test-Couchbase.ButtonMacro.yml | 6 +- .../test/adoc/Test-Couchbase.CodeCallouts.yml | 17 ++- .../test/adoc/Test-Couchbase.Headings.yml | 8 +- .../test/adoc/Test-Couchbase.Italics.yml | 1 - .../test/adoc/Test-Couchbase.NoteThat.yml | 2 +- .../test/adoc/Test-Couchbase.Sidebars.yml | 7 +- .../adoc/Test-Couchbase.StackedHeadings.yml | 17 ++- ValeStyles/test/styles.js | 141 +++++++++++++----- 8 files changed, 141 insertions(+), 58 deletions(-) diff --git a/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml b/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml index 76be185..d0ca9b2 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.ButtonMacro.yml @@ -1,8 +1,4 @@ flag: - Click the btn:[Save] button to continue. - Press the btn:[Cancel] button to exit. - - Select the btn:[Submit] button to proceed. -compliant: - - Click the btn:[Save] button to continue. - - Press the btn:[Cancel] button to exit. - - Select the btn:[Submit] button to proceed. + - Select the btn:[Submit] button to proceed. \ No newline at end of file diff --git a/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml index 0827784..323b9ef 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml @@ -1,4 +1,17 @@ flag: - - public class Example { // <1> + - adoc: | + [source,java + -- + public class Example { // <1> + ... + } + -- + <1> This is a code callout. + compliant: - - public class Example { // <1> + - adoc: | + [source,java] + -- + public class Example { + -- + First we declare the class `Example`. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Headings.yml b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml index fc5bb19..ff8fce4 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Headings.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml @@ -1,6 +1,6 @@ flag: - - = introduction - - == This does not use title case + - adoc: = introduction + - adoc: == This does not use title case compliant: - - = Introduction - - == Heading With Title Case + - adoc: = Introduction + - adoc: == Heading With Title Case diff --git a/ValeStyles/test/adoc/Test-Couchbase.Italics.yml b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml index c7cf6b1..3268aaa 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Italics.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml @@ -5,4 +5,3 @@ flag: compliant: - This is normal text. - Please click the btn:[Save] button. - - Use _important_ for emphasis. diff --git a/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml b/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml index da63f60..8dbcef5 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.NoteThat.yml @@ -5,4 +5,4 @@ flag: compliant: - You must restart the server. - This feature is experimental. - - NOTE: Backups are not automatic. + - adoc: "NOTE: Backups are not automatic." diff --git a/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml index 1f427f5..f8ad7ce 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml @@ -1,6 +1,9 @@ flag: - - '****' - - '[sidebar]' + - adoc: | + **** + This is a sidebar. + **** + - adoc: '[sidebar]' compliant: - This is a regular paragraph, not a sidebar. - Use sidebars only when necessary and keep them concise. diff --git a/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml b/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml index eca3435..9d06295 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.StackedHeadings.yml @@ -1,6 +1,15 @@ flag: - - = Heading 1 - - == Heading 2 + - adoc: | + + = Heading 1 + + == Heading 2 + compliant: - - = Heading 1 - - == Heading 2 + - adoc: | + + = Heading 1 + + Some content before the second heading + + == Heading 2 diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 895999e..0ec0844 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -1,52 +1,115 @@ // this test file is designed to be run with Mocha const assert = require('assert') const fs = require('fs') +const os = require('os') const ok = specify -const asciidoctor = require('asciidoctor')() const { spawnSync } = require('node:child_process') const { escape } = require('lodash') +const { before, describe } = require('node:test') +const yaml = require('js-yaml') -let tests = [] -asciidoctor.Extensions.register(function () { - this.block(function () { - const self = this - self.named('vale') - self.onContext('open') - self.positionalAttributes(['check', 'compliant']) - self.process(function (parent, reader, {check, compliant}) { -['compliant'] || false - if (!check) { - throw new Error('Vale check name is required') - } - console.log(`Running vale check: ${check}`) - - let lines = reader.getLines() - - let vale - try { - vale = spawnSync( - 'vale', - [ - '--output', 'JSON', - '--ext', '.adoc', - '--minAlertLevel', 'suggestion', - ], - { input: lines.join('\n') } - ) +describe(`Report Vale tests against specific styles - output to file://${process.cwd()}/test/adoc/styles.html`, function () { + + before(function () { + + const tmp = fs.mkdtempSync(`${os.tmpdir()}/vale-test-`) + + const files = fs.readdirSync('test/adoc') + + const tests = files.flatMap(file => { + const check = file.match(/Test-(.*)\.yml$/)?.[1] + if (!check) { return [] } + + const test = yaml.load( + fs.readFileSync(`test/adoc/${file}`, 'utf8')) + + return [[ + check, [ + ...writeFixtures(check, test, 'flag', tmp), + ...writeFixtures(check, test, 'compliant', tmp) + ] + ]] + }) + + try { + vale = spawnSync( + 'vale', + [ + tmp, + '--output', 'JSON', + '--minAlertLevel', 'suggestion', + ], + ) + } + catch (err) { + console.log("Failed to run vale", err) + } + + let valeout = JSON.parse(vale.stdout) + + for (const [check, fixtures] of tests) { + describe(`Check ${check}`, function () { + for (const fixture of fixtures) { + const matching = valeout[fixture.path]?.filter( + item => item.Check === check + ) + if (fixture.type === 'flag') { + ok(`${check}`, + function () { + matching?.length > 0 || + assert.fail(`Expected to flag ${check}:\n ${fixture.content}`) + } + ) + } + else { + ok(`${check} (compliant)`, + function () { + !matching?.length || + assert.fail( + `Expected compliant for ${check}:\n ${fixture.content}\n but found: ${JSON.stringify(matching, null, 2)}`) + } + ) + } + console.log(fixture, matching) + } + }) + } + }) +}) + +function writeFixtures(check, test, type, tmp) { + return (test[type] || []).entries().map( + function ([idx, fixture]) { + let ext = 'txt' + let content = fixture + if (typeof fixture === 'object') { + [ext, content] = Object.entries(fixture)[0] } - catch (err) { - console.log("Failed to run vale", err) + + const path = `${tmp}/${check}-${type}-${idx}.${ext}` + + fs.writeFileSync(path, content, 'utf8') + + return { + check, + type, + idx, + path, + content, + path, } + } + ).toArray() +} + +/* - let checks = JSON.parse(vale.stdout) - ['stdin.adoc'] - || [] - checks = checks - .filter(item => item.Check === check) +checks = checks + .filter(item => item.Check === check) - // return grouped by line number (now zero-indexed) - checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) +// return grouped by line number (now zero-indexed) +checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) const output = lines.entries().map(([line, content]) => { return markupFlagged( @@ -111,7 +174,7 @@ function markupFlagged(content, flagged, compliant) { icon = ok ? '👍' : '❌' } - html = html.replace(/^\*\s*/, '') // remove leading asterisk + html = html.replace(/^\*\s*XXX/, '') // remove leading asterisk html = `
  • ${icon} ${html}
  • ` return { @@ -137,4 +200,4 @@ describe(`Report Vale tests against specific styles file://${process.cwd()}/test } }) - +*/ From 7e6b290054ccaf484add322446b5ef569cda503a Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Sun, 15 Jun 2025 13:59:24 +0100 Subject: [PATCH 08/48] intermediate datastructure --- .../test/adoc/Test-Couchbase.Headings.yml | 2 +- ValeStyles/test/styles.js | 120 ++++++++++++------ 2 files changed, 79 insertions(+), 43 deletions(-) diff --git a/ValeStyles/test/adoc/Test-Couchbase.Headings.yml b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml index ff8fce4..a89288b 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Headings.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Headings.yml @@ -3,4 +3,4 @@ flag: - adoc: == This does not use title case compliant: - adoc: = Introduction - - adoc: == Heading With Title Case + - adoc: == Heading in Title Case diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 0ec0844..6a1dbe2 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -20,13 +20,16 @@ describe(`Report Vale tests against specific styles - output to file://${process const check = file.match(/Test-(.*)\.yml$/)?.[1] if (!check) { return [] } - const test = yaml.load( + let test = yaml.load( fs.readFileSync(`test/adoc/${file}`, 'utf8')) + let {flag, compliant, ...config} = test return [[ - check, [ - ...writeFixtures(check, test, 'flag', tmp), - ...writeFixtures(check, test, 'compliant', tmp) + check, + config, + [ + ...writeFixtures(check, flag, false, tmp), + ...writeFixtures(check, compliant, true, tmp) ] ]] }) @@ -47,38 +50,37 @@ describe(`Report Vale tests against specific styles - output to file://${process let valeout = JSON.parse(vale.stdout) - for (const [check, fixtures] of tests) { - describe(`Check ${check}`, function () { - for (const fixture of fixtures) { - const matching = valeout[fixture.path]?.filter( - item => item.Check === check - ) - if (fixture.type === 'flag') { - ok(`${check}`, - function () { - matching?.length > 0 || - assert.fail(`Expected to flag ${check}:\n ${fixture.content}`) - } - ) - } - else { - ok(`${check} (compliant)`, - function () { - !matching?.length || - assert.fail( - `Expected compliant for ${check}:\n ${fixture.content}\n but found: ${JSON.stringify(matching, null, 2)}`) - } - ) - } - console.log(fixture, matching) + const results = tests.map( + function([check, config, fixtures]) { + const checkresults = fixtures.map((fixture) => { + const matching = + valeout[fixture.path]?.filter( + item => item.Check === check) || [] + + const compliant = matching.length == 0 + + // xor the compliant flag with the matching results + // to determine if there is an error + const error = compliant != fixture.compliant + + return {...fixture, matching, error} + }) + return { + check, + config, + checkresults, } - }) - } + } + ) + console.dir(results, {depth: null}) + }) }) -function writeFixtures(check, test, type, tmp) { - return (test[type] || []).entries().map( + + +function writeFixtures(check, tests, compliant, tmp) { + return (tests || []).entries().map( function ([idx, fixture]) { let ext = 'txt' let content = fixture @@ -86,18 +88,21 @@ function writeFixtures(check, test, type, tmp) { [ext, content] = Object.entries(fixture)[0] } + const type = compliant ? 'compliant' : 'flag' + const path = `${tmp}/${check}-${type}-${idx}.${ext}` fs.writeFileSync(path, content, 'utf8') - return { + const ret = { check, - type, + compliant, idx, path, content, - path, } + console.log(ret) + return ret } ).toArray() } @@ -113,8 +118,8 @@ checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) const output = lines.entries().map(([line, content]) => { return markupFlagged( - content, - checks[line]?.[0], + content, + checks[line]?.[0], compliant) }).toArray() @@ -133,7 +138,7 @@ checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) function markupFlagged(content, flagged, compliant) { // flagged is a struct from Vale, compliant is boolish - // we xor them (first coercing) to + // we xor them (first coercing) to // check that they match const ok = !!flagged ^ !!compliant let icon @@ -160,12 +165,12 @@ function markupFlagged(content, flagged, compliant) { } else { assert.equal( - marked.trim(), - flagged.Match.trim(), + marked.trim(), + flagged.Match.trim(), `Marked content error: ${marked} !== ${flagged.Match}` ) } - + const message = escape(flagged.Message) html = `${pre}${escape(marked)}${post}` @@ -195,9 +200,40 @@ describe(`Report Vale tests against specific styles file://${process.cwd()}/test for (const test of tests) { ok(`testing ${test.check} ${test.compliant ? '(compliant)' : '(flagged)'}`, function () { - assert.ok(test.ok, `Vale check ${test.check} failed}`) + assert.ok(test.ok, `Vale check ${test.check} failed}`) }) } }) */ + +/* + describe(`Check ${check}`, function () { + for (const fixture of fixtures) { + const matching = + ) + if (fixture.compliant) { + ok(`${check} (compliant)`, + function () { + !matching?.length || + assert.fail( + `Expected compliant for ${check}:\n ${fixture.content}\n but found: ${JSON.stringify(matching, null, 2)}`) + } + ) + } + else { + ok(`${check}`, + function () { + matching?.length > 0 || + assert.fail(`Expected to flag ${check}:\n ${fixture.content}`) + } + ) + } + console.log(fixture, matching) + } + }) + + } + }) +}) +*/ From 6feeb4bad2310e47c6887496282b1d908ec78c05 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Sun, 15 Jun 2025 18:04:51 +0100 Subject: [PATCH 09/48] reinstate tests --- ValeStyles/test/styles.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 6a1dbe2..4f80826 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -72,8 +72,34 @@ describe(`Report Vale tests against specific styles - output to file://${process } } ) - console.dir(results, {depth: null}) + for (const result of results) { + const {check, config, checkresults} = result + + describe(`Check ${check}`, function () { + for (const fixture of checkresults) { + const {compliant, matching, path, content, error} = fixture + if (compliant) { + ok(`${check} (compliant)`, + function () { + !error || + assert.fail( + `Expected compliant for ${check}:\n ${content}\n but found: ${JSON.stringify(matching, null, 2)}\n in file: ${path}`) + } + ) + } + else { + ok(`${check}`, + function () { + !error || + assert.fail(`Expected to flag ${check}:\n ${content}\n in file: ${path}`) + } + ) + } + console.log(fixture, matching) + } + }) + } }) }) From cfa23bc07c7b2996f1df95fde7b85d58ecf1caa3 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Sun, 15 Jun 2025 20:52:53 +0100 Subject: [PATCH 10/48] remove debugging --- ValeStyles/test/styles.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 4f80826..b6c4ab0 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -96,7 +96,6 @@ describe(`Report Vale tests against specific styles - output to file://${process } ) } - console.log(fixture, matching) } }) } @@ -127,7 +126,6 @@ function writeFixtures(check, tests, compliant, tmp) { path, content, } - console.log(ret) return ret } ).toArray() From ae70f058f6b0e89ab797fa8d9c725b5f054f79ef Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 13:39:12 +0100 Subject: [PATCH 11/48] highlight.js + test --- ValeStyles/test/highlight.js | 34 +++++++++++++ ValeStyles/test/lib/highlight.js | 86 ++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 ValeStyles/test/highlight.js create mode 100644 ValeStyles/test/lib/highlight.js diff --git a/ValeStyles/test/highlight.js b/ValeStyles/test/highlight.js new file mode 100644 index 0000000..4ddeae4 --- /dev/null +++ b/ValeStyles/test/highlight.js @@ -0,0 +1,34 @@ +const {highlight} = require('./lib/highlight.js') +const assert = require('assert') + +text = +`This is a test for highlighting. +With some words that should be highlighted. +And some that aren't.` + +const checks = [ + { + Line: 1, + Span: [11,15] + }, + { + Line: 2, + Span: [11,16] + }, + { + Line: 2, + Span: [22,28] + }, + { + Line: 3, + Span: [5,9] + } +] +it(`should highlight words correctly`, function () { + assert.deepEqual( + highlight(text, checks), + 'This is a test for highlighting.\n' + + 'With some words that should be highlighted.\n' + + 'And some that aren't.' + ); +}) \ No newline at end of file diff --git a/ValeStyles/test/lib/highlight.js b/ValeStyles/test/lib/highlight.js new file mode 100644 index 0000000..a46a419 --- /dev/null +++ b/ValeStyles/test/lib/highlight.js @@ -0,0 +1,86 @@ +const {range, zip, escape} = require('lodash'); + +module.exports = { highlight } + +function highlight(text, checks) { + + // convert the text into an array of indexed lines, in the form: + // [ + // [[1,1], 'This is a test for highlighting.'], + // [[2,1], 'With some words that should be highlighted.'], + // [[3,1], 'And some that aren\'t.'] + // ] + // (With 1-based line and column numbers as per Vale's output) + + const lines = text.match(/^.*?(\n|$)/gm) + const len = lines.length + const lineNumbers = range(1, len + 1) + const colNumbers = Array(len).fill(1) + const zipped = + zip(zip(lineNumbers, colNumbers), + lines) + + // Now we have the lines indexed, we can highlight the checks + const highlights = _highlight(zipped, checks, []) + return highlights.map(({text, highlighted}) => { + const html = escape(text) + return highlighted ? `${html}` : html + }).join('') +} + +function _highlight(lines, checks, highlights) { + + // Terminating case: if there are no checks or lines left, + // return the highlights + if (checks.length === 0) { + // in this case also return the remaining lines as unhighlighted text + return [...highlights, ...lines.map(([_, text]) => ({ text }))]; + } + + if (lines.length === 0) { return highlights } + + const [check, ...restChecks] = checks + const [[[line, col], text], ...rest] = lines + + if (line == check.Line) { + let {Span: [start, end]} = check + + // Adjust start and end to be relative to the line's text + start -= col + end -= col + + if (start < 0 || end > text.length) { + // If the adjusted span is out of bounds, skip this check + // (e.g. in case Vale allows overlapping spans?) + // If that isn't an edge case, we could simply + // throw an error here instead. + return _highlight(rest, checks, highlights) + } + + if (end > 1) { + highlights.push({ + text: text.slice(0, start) + }) + } + + highlights.push({ + text: text.slice(start, end), + highlighted: true + }) + if (end < text.length) { + // If there is text after the highlighted span, + // return it to the `rest` array for further processing + rest.unshift([ + [line, col + end], + text.slice(end) + ]) + } + + return _highlight(rest, restChecks, highlights) + } + else { + highlights.push({ text }) + return _highlight(rest, checks, highlights) + + } +} \ No newline at end of file From 529dedb3c0822afed3c6b0714e8e2c7f5690a4a3 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 13:39:32 +0100 Subject: [PATCH 12/48] remove commented code --- ValeStyles/test/styles.js | 130 -------------------------------------- 1 file changed, 130 deletions(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index b6c4ab0..dc21e9d 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -131,133 +131,3 @@ function writeFixtures(check, tests, compliant, tmp) { ).toArray() } -/* - - -checks = checks - .filter(item => item.Check === check) - -// return grouped by line number (now zero-indexed) -checks = Object.groupBy(checks, item => parseInt(item.Line - 1)) - - const output = lines.entries().map(([line, content]) => { - return markupFlagged( - content, - checks[line]?.[0], - compliant) - }).toArray() - - tests.push({ - check, - compliant, - output, - ok: output.every(x => x.ok) - }) - - const html = `
    ${output.map(x => x.html).join('\n')}
    ` - return self.createBlock(parent, 'pass', html ) - }) - }) -}) - -function markupFlagged(content, flagged, compliant) { - // flagged is a struct from Vale, compliant is boolish - // we xor them (first coercing) to - // check that they match - const ok = !!flagged ^ !!compliant - let icon - - let html = escape(content) - if (flagged) { - icon = ok ? '👎' : '❌' - let [from, to] = flagged.Span - from-- // Vale Span is weird - - let [pre,marked,post] = [ - escape(content.slice(0, from)), - content.slice(from, to), - escape(content.slice(to)) - ] - if (from === 0 && to === 1) { - // if the flagged content is essentially zero-width, - // then we'll mark the whole content - [pre,marked,post] = [ - '', - content, - '' - ] - } - else { - assert.equal( - marked.trim(), - flagged.Match.trim(), - `Marked content error: ${marked} !== ${flagged.Match}` - ) - } - - const message = escape(flagged.Message) - - html = `${pre}${escape(marked)}${post}` - } - else { - icon = ok ? '👍' : '❌' - } - - html = html.replace(/^\*\s*XXX/, '') // remove leading asterisk - html = `
  • ${icon} ${html}
  • ` - - return { - ok, - html, - content, - message: flagged?.Message - } -} - -const text = fs.readFileSync('test/adoc/styles.adoc', 'utf8').toString() - -const html = asciidoctor.convert(text) - -fs.writeFileSync('test/adoc/styles.html', html, 'utf8') - -describe(`Report Vale tests against specific styles file://${process.cwd()}/test/adoc/styles.html`, function () { - - for (const test of tests) { - ok(`testing ${test.check} ${test.compliant ? '(compliant)' : '(flagged)'}`, function () { - assert.ok(test.ok, `Vale check ${test.check} failed}`) - }) - } -}) - -*/ - -/* - describe(`Check ${check}`, function () { - for (const fixture of fixtures) { - const matching = - ) - if (fixture.compliant) { - ok(`${check} (compliant)`, - function () { - !matching?.length || - assert.fail( - `Expected compliant for ${check}:\n ${fixture.content}\n but found: ${JSON.stringify(matching, null, 2)}`) - } - ) - } - else { - ok(`${check}`, - function () { - matching?.length > 0 || - assert.fail(`Expected to flag ${check}:\n ${fixture.content}`) - } - ) - } - console.log(fixture, matching) - } - }) - - } - }) -}) -*/ From 603d747142d6b9fc98702f26eba0dab9dcdd7cdb Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 15:56:20 +0100 Subject: [PATCH 13/48] Highlight the style infractions The new highlighter: * works on text of multiple lines * marks multiple infractions --- ValeStyles/test/adoc/styles.hbs | 45 + ValeStyles/test/adoc/styles.html | 3191 +++++++++++++++++++++++------- ValeStyles/test/highlight.js | 8 +- ValeStyles/test/lib/highlight.js | 6 +- ValeStyles/test/styles.js | 18 +- 5 files changed, 2505 insertions(+), 763 deletions(-) create mode 100644 ValeStyles/test/adoc/styles.hbs diff --git a/ValeStyles/test/adoc/styles.hbs b/ValeStyles/test/adoc/styles.hbs new file mode 100644 index 0000000..12c2f70 --- /dev/null +++ b/ValeStyles/test/adoc/styles.hbs @@ -0,0 +1,45 @@ + + + + + Vale Style Test Results + + + +

    Vale Style Test Results

    +
    +
    OS: {{os}}
    +
    Node.js version: {{version}}
    +
    + {{#each results}} +
    +

    Check: {{check}}

    + +

    Fixtures

    + {{#each checkresults}} +
    +
    + {{#if compliant}}Compliant{{else}}Flagged{{/if}} + {{#if error}}❌ Error{{/if}} +
    +
    +
    {{{html}}}
    +
    +
    + {{/each}} +
    + {{/each}} + + \ No newline at end of file diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 730bb89..c09cf4a 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -1,755 +1,2436 @@ -
    -

    Couchbase.An

    -
    -
    -

    Flagged examples

    -
  • 👎 This is a example of incorrect usage.
  • -
  • 👎 She wrote a email to the team.
  • -
  • 👎 He found a unusual error in the logs.
  • -
  • 👎 We need a update before release.
  • -
  • 👎 Please submit a application.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is an example of correct usage.
  • -
  • 👍 She wrote an email to the team.
  • -
  • 👍 He found an unusual error in the logs.
  • -
  • 👍 We need an update before release.
  • -
  • 👍 Please submit an application.
  • -
    -
    -
    -
    -

    Couchbase.App

    -
    -
    -

    Flagged examples

    -
  • 👎 Please open the app to continue.
  • -
  • 👎 The app crashed unexpectedly.
  • -
  • 👎 She downloaded the app from the store.
  • -
  • 👎 He deleted the app by mistake.
  • -
  • 👎 We updated the app yesterday.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Please open the application to continue.
  • -
  • 👍 The application crashed unexpectedly.
  • -
  • 👍 She downloaded the application from the store.
  • -
  • 👍 He deleted the application by mistake.
  • -
  • 👍 We updated the application yesterday.
  • -
    -
    -
    -
    -

    Couchbase.Bold

    -
    -
    -

    Flagged examples

    -
  • 👎 This is *bold* text using asterisks.
  • -
  • 👎 Please click the *Save* button.
  • -
  • 👎 Use *important* for emphasis.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is normal text.
  • -
  • 👍 Please click the btn:[Save] button.
  • -
  • 👍 Use _important_ for emphasis.
  • -
    -
    -
    -
    -

    Couchbase.ButtonMacro

    -
    -
    -

    Flagged examples

    -
  • 👎 Click the btn:[Save] button to continue.
  • -
  • 👎 Press the btn:[Cancel] button to exit.
  • -
  • 👎 Select the btn:[Submit] button to proceed.
  • -
    -
    -
    -
    -

    Couchbase.Checkbox

    -
    -
    -

    Flagged examples

    -
  • 👎 Select the checkbox to agree.
  • -
  • 👎 Tick the OK check box if you accept.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Select "OK" to accept.
  • -
  • 👍 Check "I agree" to continue.
  • -
    -
    -
    -
    -

    Couchbase.CodeCallouts

    -
    -
    -

    Flagged examples

    -
    -

    👎 NOT automatically tested yet.

    -
    -
    -
    -
    public class Example { // (1)
    -
    -
    -
    -
      -
    1. -

      This is a code callout example.

      -
    2. -
    -
    -
    -
    -

    Compliant examples

    -
    -

    👍 NOT automatically tested yet.

    -
    -
    -
    -
    public class Example {
    -
    -
    -
    -
    -
    -
    -

    Couchbase.ComplexContractions

    -
    -
    -

    Flagged examples

    -
  • 👎 What'll become of the database?
  • -
  • 👎 We must've missed the deadline.
  • -
  • 👎 We would've liked to help you.
  • -
    -
    -

    Compliant examples

    -
  • 👍 You shouldn't use contractions in formal documentation... but we do.
  • -
  • 👍 They can't access the database.
  • -
  • 👍 We won't support this feature.
  • -
    -
    -
    -
    -

    Couchbase.Contractions

    -
    -
    -

    Flagged examples

    -
  • 👎 It is important to follow the guidelines.
  • -
  • 👎 How is this feature used?
  • -
  • 👎 That is not supported.
  • -
  • 👎 They are working on the fix.
  • -
  • 👎 We are planning a release.
  • -
  • 👎 What is the status?
  • -
  • 👎 Where is the documentation?
  • -
  • 👎 Who is responsible for this?
  • -
  • 👎 You are required to sign in.
  • -
  • 👎 You had better check the logs.
  • -
  • 👎 You will need to update your client.
  • -
    -
    -

    Compliant examples

    -
  • 👍 It's important to follow the guidelines.
  • -
  • 👍 How's this feature used?
  • -
  • 👍 That's not supported.
  • -
  • 👍 They're working on the fix.
  • -
  • 👍 We're planning a release.
  • -
  • 👍 What's the status?
  • -
  • 👍 Where's the documentation?
  • -
  • 👍 Who's responsible for this?
  • -
  • 👍 You're required to sign in.
  • -
  • 👍 You'd better check the logs.
  • -
  • 👍 You'll need to update your client.
  • -
    -
    -
    -
    -

    Couchbase.CouchbaseAutoOp

    -
    -
    -

    Flagged examples

    -
  • 👎 The Operator manages the cluster.
  • -
  • 👎 Upgrade the Operator to the latest version.
  • -
  • ❌ The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster.
  • -
    -
    -
    -
    -

    Couchbase.CouchbaseServerComm

    -
    -
    -

    Flagged examples

    -
  • 👎 You can download Community Edition from our website.
  • -
  • 👎 The Community Edition is free to use.
  • -
    -
    -

    Compliant examples

    -
  • 👍 You can download Couchbase Server Community Edition from our website.
  • -
  • 👍 The Couchbase Server Community Edition is free to use.
  • -
    -
    -
    -
    -

    Couchbase.CouchbaseServerWebConsole

    -
    -
    -

    Flagged examples

    -
  • 👎 You can access the Web Console to manage your cluster.
  • -
  • 👎 The Web Console provides a user-friendly interface.
  • -
    -
    -

    Compliant examples

    -
  • 👍 You can access the Couchbase Server Web Console to manage your cluster.
  • -
  • 👍 The Couchbase Server Web Console provides a user-friendly interface.
  • -
    -
    -
    -
    -

    Couchbase.DatePicker

    -
    -
    -

    Flagged examples

    -
  • 👎 Select the Date Picker to choose a date.
  • -
  • 👎 Click the *date picker* field.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Select the date picker to choose a date.
  • -
    -
    -
    -
    -

    Couchbase.Dialogs

    -
    -
    -

    Flagged examples

    -
  • 👎 A Dialog will appear.
  • -
  • 👎 Click the *dialog* to continue.
  • -
  • 👎 The *dialog box* is displayed.
  • -
    -
    -

    Compliant examples

    -
  • 👍 A dialog will appear.
  • -
    -
    -
    -
    -

    Couchbase.DirectionalLanguage

    -
    -
    -

    Flagged examples

    -
  • 👎 Click the button on the left.
  • -
  • 👎 Scroll down to see more options.
  • -
  • 👎 The settings are below the menu.
  • -
  • ❌ Move up to the previous section.
  • -
  • 👎 The icon is above the text.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Click the first button.
  • -
  • 👍 Scroll to see more options.
  • -
  • 👍 The settings are under the menu.
  • -
  • 👍 Return to the previous section.
  • -
  • 👍 The icon is near the text.
  • -
    -
    -
    -
    -

    Couchbase.Dropdown

    -
    -
    -

    Flagged examples

    -
  • 👎 Select the drop-down to choose an option.
  • -
  • 👎 Click the dropdown menu.
  • -
  • ❌ Open the dropdowns list.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Choose the value from the list.
  • -
    -
    -
    -
    -

    Couchbase.FancyQuotes

    -
    -
    -

    Flagged examples

    -
  • 👎 He said, This is a test.”
  • -
  • 👎 She replied, Indeed it is.’
  • -
  • 👎 The document uses smart quotes” throughout.
  • -
    -
    -

    Compliant examples

    -
  • 👍 He said, "This is a test."
  • -
  • 👍 She replied, 'Indeed it is.'
  • -
  • 👍 The document uses "straight quotes" throughout.
  • -
    -
    -
    -
    -

    Couchbase.HeadingFormatting

    -
    -
    -

    Flagged examples

    -
  • 👎 = This is a *bold* heading.
  • -
  • 👎 == This is an _italic_ heading.
  • -
    -
    -

    Compliant examples

    -
  • 👍 = This heading has no formatting.
  • -
    -
    -
    -
    -

    Couchbase.Headings

    -
    -
    -

    Flagged examples

    -
  • 👎 = introduction
  • -
  • ❌ == This does not use title case
  • -
    -
    -

    Compliant examples

    -
  • 👍 = Introduction
  • -
  • 👍 == Heading With Title Case
  • -
    -
    -
    -
    -

    Couchbase.Italics

    -
    -
    -

    Flagged examples

    -
  • ❌ This is _italic_ text using underscores.
  • -
  • ❌ Please click the _Save_ button.
  • -
  • ❌ Use _important_ for emphasis.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is normal text.
  • -
  • 👍 Please click the btn:[Save] button.
  • -
    -
    -
    -
    -

    Couchbase.LessFewer

    -
    -
    -

    Flagged examples

    -
  • 👎 There are less errors in this version.
  • -
  • ❌ We need less people on the project.
  • -
  • 👎 She has less tasks to complete.
  • -
  • 👎 The server has less connections now.
  • -
    -
    -

    Compliant examples

    -
  • 👍 There are fewer errors in this version.
  • -
  • 👍 We need fewer people on the project.
  • -
  • 👍 She has fewer tasks to complete.
  • -
  • 👍 The server has fewer connections now.
  • -
    -
    -
    == Couchbase.Link
    -
    -
    -
    -
    -

    Flagged examples

    -
  • ❌ <<link,Click the Info link>> to learn more.
  • -
  • ❌ Click <<link,the Info link>> to learn more.
  • -
  • ❌ Click <<link,here>> for more information.
  • -
  • ❌ For more information, see <<link,this link>>.
  • -
  • ❌ Visit <<link,the following link>> for details.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Learn more about <<link,this feature>>.
  • -
  • 👍 For more information, see the <<link,documentation>>.
  • -
  • 👍 Visit the <<link,documentation>> for details.
  • -
    -
    -
    -
    -

    Couchbase.Monospace

    -
    -
    -

    Flagged examples

    -
    - - - - - -
    -
    Note
    -
    -monospace text is permitted, of course, but this warning is to make sure it is used correctly, see https://docs.couchbase.com/styleguide/monospace-highlight.html -
    -
    -
  • 👎 This is `monospace` text.
  • -
    -
    -

    Compliant examples

    -
  • 👍 No monospace here.
  • -
    -
    -
    -
    -

    Couchbase.NegativeContractions

    -
    -
    -

    Flagged examples

    -
  • 👎 You can't access this feature.
  • -
  • 👎 They don't have permission.
  • -
  • 👎 We won't support this version.
  • -
  • 👎 She isn't available right now.
  • -
  • 👎 He hasn't finished the task.
  • -
    -
    -

    Compliant examples

    -
  • 👍 You cannot access this feature.
  • -
  • 👍 They do not have permission.
  • -
  • 👍 We will not support this version.
  • -
  • 👍 She is not available right now.
  • -
  • 👍 He has not finished the task.
  • -
    -
    -
    -
    -

    Couchbase.NoteThat

    -
    -
    -

    Flagged examples

    -
  • 👎 Note that you must restart the server.
  • -
  • 👎 Note that this feature is experimental.
  • -
  • 👎 Note that backups are not automatic.
  • -
    -
    -

    Compliant examples

    -
  • 👍 You must restart the server.
  • -
  • 👍 This feature is experimental.
  • -
  • 👍 NOTE: Backups are not automatic.
  • -
    -
    -
    -
    -

    Couchbase.Please

    -
    -
    -

    Flagged examples

    -
  • 👎 Please refer to the documentation for more information.
  • -
  • 👎 Please ensure you have saved your work.
  • -
  • 👎 Please contact support if you need help.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Refer to the documentation for more information.
  • -
  • 👍 Ensure you have saved your work.
  • -
  • 👍 Contact support if you need help.
  • -
    -
    -
    -
    -

    Couchbase.Quotations

    -
    -
    -

    Flagged examples

    -
  • 👎 The term "bucket" refers to a data container.
  • -
  • 👎 He clicked the "Save" button.
  • -
  • 👎 Select the "Settings" option from the menu.
  • -
    -
    -

    Compliant examples

    -
  • 👍 The term ‘bucket’ refers to a data container.
  • -
  • 👍 He clicked the btn:[Save] button.
  • -
  • 👍 Select the _Settings_ option from the menu.
  • -
    -
    -
    -
    -

    Couchbase.ReadingLevel

    -
    -
    -

    Flagged examples

    -
  • 👎 Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.”
  • -
    -
    -

    Compliant examples

    -
  • 👍 The system uses many methods to help different modules work together.
  • -
  • 👍 This change means we need to review how things work.
  • -
    -
    -
    -
    -

    Couchbase.RepeatedSpace

    -
    -
    -

    Flagged examples

    -
  • 👎 There are multiple spaces here.
  • -
  • 👎 Check for repeated spaces.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This sentence has one space between words.
  • -
  • 👍 Sentences with {attributes} should not be flagged.
  • -
    -
    -
    -
    -

    Couchbase.RepeatedWord

    -
    -
    -

    Flagged examples

    -
  • 👎 This is is a repeated word.
  • -
  • ❌ Please please check the document.
  • -
  • 👎 He said that that it was fine.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is a sentence without repeated words.
  • -
  • 👍 Please check the document.
  • -
  • 👍 He said that it was fine.
  • -
    -
    -
    -
    -

    Couchbase.RunOn

    -
    -
    -

    Flagged examples

    -
  • 👎 This could be a run on sentence, because it has many commas, so confuses people, don't you think?
  • -
    -
    -

    Compliant examples

    -
  • 👍 Sentences with up to two commas are fine, but no more than that, I beg you.
  • -
  • 👍 [cols="1,1,1,2,3"]
  • -
    -
    -
    -
    -

    Couchbase.See

    -
    -
    -

    Flagged examples

    -
  • 👎 Refer to http://foo.bar for more details.
  • -
  • 👎 Refer to https://foo.bar for more details.
  • -
    -
    -

    Compliant examples

    -
  • 👍 See http://foo.bar for more details.
  • -
  • 👍 See https://foo.bar for more details.
  • -
    -
    -
    -
    -

    Couchbase.Semi-Colons

    -
    -
    -

    Flagged examples

    -
    - - - - - -
    -
    Note
    -
    -Use semi-colons sparingly. -
    -
    -
  • 👎 This is a sentence; and here is another clause.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is a sentence, and here is another clause.
  • -
    -
    -
    -
    -

    Couchbase.SentenceLength

    -
    -
    -

    Flagged examples

    -
  • 👎 This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This sentence is clear and concise.
  • -
  • 👍 Rewrite long sentences to improve clarity.
  • -
    -
    -
    -
    -

    Couchbase.Sidebars

    -
    -
    -

    Flagged examples

    -
  • 👎 ****
  • -
  • 👎 [sidebar]
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is a regular paragraph, not a sidebar.
  • -
  • 👍 Use sidebars only when necessary and keep them concise.
  • -
    -
    -
    -
    -

    Couchbase.SQL (SQL++ really)

    -
    -
    -

    Flagged examples

    -
  • 👎 This is an SQL++ query.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This is a SQL++ query.
  • -
    -
    -
    -
    -

    Couchbase.StackedHeadings

    -
    -
    -

    INFO: You can’t have two headings with no content in between.

    -
    -
    -

    We can’t currently test this using this test.

    -
    -
    -
    -
    -

    Couchbase.Terminology

    -
    -
    -

    Flagged examples

    -
  • 👎 This project uses dotnet for development.
  • -
  • 👎 Please add the adaptor to your system.
  • -
  • 👎 We use the whitelist to control access.
  • -
  • 👎 The code base is large.
  • -
  • 👎 Refer to the data center documentation.
  • -
  • 👎 She used the plugin for integration.
  • -
  • 👎 The master node is down.
  • -
  • 👎 He prefers to utilize this feature.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This project uses .NET for development.
  • -
  • 👍 Please add the adapter to your system.
  • -
  • 👍 We use the Allowlist to control access.
  • -
  • 👍 The codebase is large.
  • -
  • 👍 Refer to the datacenter documentation.
  • -
  • 👍 She used the plug-in for integration.
  • -
  • 👍 The primary node is down.
  • -
  • 👍 He prefers to use this feature.
  • -
    -
    -
    -
    -

    Couchbase.Textbox

    -
    -
    -

    Flagged examples

    -
  • 👎 Enter your name in the textbox.
  • -
  • 👎 Click the text box to start typing.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Enter your name in the field.
  • -
  • 👍 Click the box to start typing.
  • -
    -
    -
    -
    -

    Couchbase.ThereIs

    -
    -
    -

    Flagged examples

    -
  • 👎 There is a problem with the configuration.
  • -
  • 👎 There is an error in the logs.
  • -
  • 👎 There is a need for more testing.
  • -
  • 👎 There is a button you can click.
  • -
    -
    -

    Compliant examples

    -
  • 👍 A problem exists with the configuration.
  • -
  • 👍 An error appears in the logs.
  • -
  • 👍 More testing is needed.
  • -
  • 👍 You can click the button.
  • -
    -
    -
    -
    -

    Couchbase.UnexplainedAcronym

    -
    -
    -

    Not sure how to test this one?

    -
    -
    -

    Flagged examples

    -
  • ❌ The HFE is not responding.
  • -
    -
    -

    Compliant examples

    -
  • 👍 The Hyperspace Frobnication Engine (HFE) is not responding.
  • -
    -
    -
    -
    -

    Couchbase.VentilatedProse

    -
    -
    -

    Flagged examples

    -
  • 👎 This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
  • -
    -
    -

    Compliant examples

    -
  • 👍 This sentence is on its own line.
  • -
  • 👍 So is this one.
  • -
  • 👍 Each sentence starts on a new line for clarity.
  • -
    -
    -
    -
    -

    Couchbase.Versions

    -
    -
    -

    Flagged examples

    -
  • 👎 Use version 6.0 or higher.
  • -
  • 👎 Use version 6.0 or newer.
  • -
  • 👎 Not available in version 5.0 or lower.
  • -
  • 👎 Not available in version 5.0 or older.
  • -
    -
    -

    Compliant examples

    -
  • 👍 Use version 6.0 or later.
  • -
  • 👍 Not available in version 5.0 or earlier.
  • -
    -
    -
    -
    -

    Couchbase.Wordy

    -
    -
    -

    Flagged examples

    -
  • 👎 Combating the issue requires a comprehensive understanding of the underlying architecture.
  • -
  • 👎 We will streamline the process to enhance efficiency.
  • -
  • 👎 It is ever thus.
  • -
    -
    -

    Compliant examples

    -
  • 👍 We need to understand the architecture to fix the issue.
  • -
  • 👍 We will simplify the process to improve efficiency.
  • -
  • 👍 It's always like this.
  • -
    -
    -
    \ No newline at end of file + + + + + Vale Style Test Results + + + +

    Vale Style Test Results

    +
    +
    OS: darwin
    +
    Node.js version: 22.16.0
    +
    +
    +

    Check: Couchbase.An

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is a example of incorrect usage.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She wrote a email to the team.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He found a unusual error in the logs.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We need a update before release.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Please submit a application.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is an example of correct usage.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She wrote an email to the team.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He found an unusual error in the logs.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We need an update before release.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please submit an application.
    +
    +
    +
    +
    +

    Check: Couchbase.App

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Please open the app to continue.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The app crashed unexpectedly.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She downloaded the app from the store.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He deleted the app by mistake.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We updated the app yesterday.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please open the application to continue.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The application crashed unexpectedly.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She downloaded the application from the store.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He deleted the application by mistake.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We updated the application yesterday.
    +
    +
    +
    +
    +

    Check: Couchbase.Bold

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is *bold* text using asterisks.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Please click the *Save* button.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Use *important* for emphasis.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is normal text.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please click the btn:[Save] button.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Use _important_ for emphasis.
    +
    +
    +
    +
    +

    Check: Couchbase.ButtonMacro

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Click the btn:[Save] button to continue.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Press the btn:[Cancel] button to exit.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Select the btn:[Submit] button to proceed.
    +
    +
    +
    +
    +

    Check: Couchbase.Checkbox

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Select the checkbox to agree.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Tick the OK check box if you accept.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Select "OK" to accept.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Check "I agree" to continue.
    +
    +
    +
    +
    +

    Check: Couchbase.CodeCallouts

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    [source,java
    +--
    +public class Example { // <1>
    +  ...
    +}
    +--
    +<1> This is a code callout.
    +
    +
    +
    +
    +
    + Compliant + +
    +
    +
    [source,java]
    +--
    +public class Example {
    +--
    +First we declare the class `Example`.
    +
    +
    +
    +
    +
    +

    Check: Couchbase.ComplexContractions

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    What'll become of the database?
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We must've missed the deadline.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We would've liked to help you.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You shouldn't use contractions in formal documentation... but we do.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    They can't access the database.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We won't support this feature.
    +
    +
    +
    +
    +

    Check: Couchbase.Contractions

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    It is important to follow the guidelines.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    How is this feature used?
    +
    +
    +
    +
    + Flagged + +
    +
    +
    That is not supported.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    They are working on the fix.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We are planning a release.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    What is the status?
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Where is the documentation?
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Who is responsible for this?
    +
    +
    +
    +
    + Flagged + +
    +
    +
    You are required to sign in.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    You had better check the logs.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    You will need to update your client.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    It's important to follow the guidelines.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    How's this feature used?
    +
    +
    +
    +
    + Compliant + +
    +
    +
    That's not supported.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    They're working on the fix.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We're planning a release.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    What's the status?
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Where's the documentation?
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Who's responsible for this?
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You're required to sign in.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You'd better check the logs.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You'll need to update your client.
    +
    +
    +
    +
    +

    Check: Couchbase.CouchbaseAutoOp

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    The Operator manages the cluster.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Upgrade the Operator to the latest version.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster.
    +
    +
    +
    +
    +

    Check: Couchbase.CouchbaseServerComm

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    You can download Community Edition from our website.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The Community Edition is free to use.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You can download Couchbase Server Community Edition from our website.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The Couchbase Server Community Edition is free to use.
    +
    +
    +
    +
    +

    Check: Couchbase.CouchbaseServerWebConsole

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    You can access the Web Console to manage your cluster.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The Web Console provides a user-friendly interface.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You can access the Couchbase Server Web Console to manage your cluster.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The Couchbase Server Web Console provides a user-friendly interface.
    +
    +
    +
    +
    +

    Check: Couchbase.DatePicker

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Select the Date Picker to choose a date.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Click the *date picker* field.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Select the date picker to choose a date.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Click the date picker field.
    +
    +
    +
    +
    +

    Check: Couchbase.Dialogs

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    A Dialog will appear.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Click the *dialog* to continue.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The *dialog box* is displayed.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    A dialog will appear.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Click the dialog to continue.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The dialog box is displayed.
    +
    +
    +
    +
    +

    Check: Couchbase.DirectionalLanguage

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Click the button on the left.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Scroll down to see more options.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The settings are below the menu.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Move up to the previous section.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The icon is above the text.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Click the first button.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Scroll to see more options.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The settings are under the menu.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Return to the previous section.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The icon is near the text.
    +
    +
    +
    +
    +

    Check: Couchbase.Dropdown

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Select the drop-down to choose an option.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Click the dropdown menu.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Open the dropdowns list.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Choose the value from the list.
    +
    +
    +
    +
    +

    Check: Couchbase.FancyQuotes

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    He said, This is a test.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She replied, Indeed it is.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The document uses smart quotes throughout.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He said, "This is a test."
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She replied, 'Indeed it is.'
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The document uses "straight quotes" throughout.
    +
    +
    +
    +
    +

    Check: Couchbase.HeadingFormatting

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    = This is a *bold* heading.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    == This is an _italic_ heading.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    = This heading has no formatting.
    +
    +
    +
    +
    +

    Check: Couchbase.Headings

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    = introduction
    +
    +
    +
    +
    + Flagged + +
    +
    +
    == This does not use title case
    +
    +
    +
    +
    + Compliant + +
    +
    +
    = Introduction
    +
    +
    +
    +
    + Compliant + +
    +
    +
    == Heading in Title Case
    +
    +
    +
    +
    +

    Check: Couchbase.Italics

    + +

    Fixtures

    +
    +
    + Flagged + ❌ Error +
    +
    +
    This is _italic_ text using underscores.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Please click the _Save_ button.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Use _important_ for emphasis.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is normal text.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please click the btn:[Save] button.
    +
    +
    +
    +
    +

    Check: Couchbase.LessFewer

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    There are less errors in this version.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    We need less people on the project.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She has less tasks to complete.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The server has less connections now.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    There are fewer errors in this version.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We need fewer people on the project.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She has fewer tasks to complete.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The server has fewer connections now.
    +
    +
    +
    +
    +

    Check: Couchbase.Link

    + +

    Fixtures

    +
    +
    + Flagged + ❌ Error +
    +
    +
    <<link,Click the Info link>> to learn more.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Click <<link,the Info link>> to learn more.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Click <<link,here>> for more information.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    For more information, see <<link,this link>>.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Visit <<link,the following link>> for details.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Learn more about <<link,this feature>>.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    For more information, see the <<link,documentation>>.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Visit the <<link,documentation>> for details.
    +
    +
    +
    +
    +

    Check: Couchbase.Monospace

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is `monospace` text.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    No monospace here.
    +
    +
    +
    +
    +

    Check: Couchbase.NegativeContractions

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    You can't access this feature.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    They don't have permission.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We won't support this version.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She isn't available right now.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He hasn't finished the task.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You cannot access this feature.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    They do not have permission.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We will not support this version.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She is not available right now.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He has not finished the task.
    +
    +
    +
    +
    +

    Check: Couchbase.NoteThat

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Note that you must restart the server.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Note that this feature is experimental.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Note that backups are not automatic.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You must restart the server.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This feature is experimental.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    NOTE: Backups are not automatic.
    +
    +
    +
    +
    +

    Check: Couchbase.Please

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Please refer to the documentation for more information.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Please ensure you have saved your work.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Please contact support if you need help.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Refer to the documentation for more information.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Ensure you have saved your work.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Contact support if you need help.
    +
    +
    +
    +
    +

    Check: Couchbase.Quotations

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    The term "bucket" refers to a data container.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He clicked the "Save" button.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Select the "Settings" option from the menu.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The term ‘bucket’ refers to a data container.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He clicked the btn:[Save] button.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Select the _Settings_ option from the menu.
    +
    +
    +
    +
    +

    Check: Couchbase.ReadingLevel

    + +

    Fixtures

    +
    +
    + Flagged + ❌ Error +
    +
    +
    Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The system uses many methods to help different modules work together.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This change means we need to review how things work.
    +
    +
    +
    +
    +

    Check: Couchbase.RepeatedSpace

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    There   are   multiple   spaces   here.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Check  for  repeated  spaces.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This sentence has one space between words.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Sentences with {attributes} should not be flagged.
    +
    +
    +
    +
    +

    Check: Couchbase.RepeatedWord

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is is a repeated word.
    +
    +
    +
    +
    + Flagged + ❌ Error +
    +
    +
    Please please check the document.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He said that that it was fine.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is a sentence without repeated words.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please check the document.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He said that it was fine.
    +
    +
    +
    +
    +

    Check: Couchbase.RunOn

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Sentences with up to two commas are fine, but no more than that, I beg you.
    +
    +
    +
    +
    +

    Check: Couchbase.SQL

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is an SQL++ query.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is a SQL++ query.
    +
    +
    +
    +
    +

    Check: Couchbase.See

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Refer to http://foo.bar for more details.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Refer to https://foo.bar for more details.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    See http://foo.bar for more details.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    See https://foo.bar for more details.
    +
    +
    +
    +
    +

    Check: Couchbase.Semi-Colons

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This is a sentence; and here is another clause.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is a sentence, and here is another clause.
    +
    +
    +
    +
    +

    Check: Couchbase.SentenceLength

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This sentence is clear and concise.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Rewrite long sentences to improve clarity.
    +
    +
    +
    +
    +

    Check: Couchbase.Sidebars

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    ****
    +This is a sidebar.
    +****
    +
    +
    +
    +
    +
    + Flagged + +
    +
    +
    [sidebar]
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This is a regular paragraph, not a sidebar.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Use sidebars only when necessary and keep them concise.
    +
    +
    +
    +
    +

    Check: Couchbase.StackedHeadings

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    += Heading 1
    +
    +== Heading 2
    +
    +
    +
    +
    +
    + Compliant + +
    +
    +
    += Heading 1
    +
    +Some content before the second heading
    +
    +== Heading 2
    +
    +
    +
    +
    +
    +

    Check: Couchbase.Terminology

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This project uses dotnet for development.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Please add the adaptor to your system.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We use the whitelist to control access.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The code base is large.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Refer to the data center documentation.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    She used the plugin for integration.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    The master node is down.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    He prefers to utilize this feature.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This project uses .NET for development.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Please add the adapter to your system.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We use the Allowlist to control access.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The codebase is large.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Refer to the datacenter documentation.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    She used the plug-in for integration.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The primary node is down.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    He prefers to use this feature.
    +
    +
    +
    +
    +

    Check: Couchbase.Textbox

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Enter your name in the textbox.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Click the text box to start typing.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Enter your name in the field.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Click the box to start typing.
    +
    +
    +
    +
    +

    Check: Couchbase.ThereIs

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    There is a problem with the configuration.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    There is an error in the logs.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    There is a need for more testing.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    There is a button you can click.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    A problem exists with the configuration.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    An error appears in the logs.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    More testing is needed.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    You can click the button.
    +
    +
    +
    +
    +

    Check: Couchbase.UnexplainedAcronym

    + +

    Fixtures

    +
    +
    + Flagged + ❌ Error +
    +
    +
    The HFE is not responding.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    The Hyperspace Frobnication Engine (HFE) is not responding.
    +
    +
    +
    +
    +

    Check: Couchbase.VentilatedProse

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    This sentence is on its own line.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    So is this one.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Each sentence starts on a new line for clarity.
    +
    +
    +
    +
    +

    Check: Couchbase.Versions

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Use version 6.0 or higher.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Use version 6.0 or newer.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Not available in version 5.0 or lower.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    Not available in version 5.0 or older.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Use version 6.0 or later.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    Not available in version 5.0 or earlier.
    +
    +
    +
    +
    +

    Check: Couchbase.Wordy

    + +

    Fixtures

    +
    +
    + Flagged + +
    +
    +
    Combating the issue requires a comprehensive understanding of the underlying architecture.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    We will streamline the process to enhance efficiency.
    +
    +
    +
    +
    + Flagged + +
    +
    +
    It is ever thus.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We need to understand the architecture to fix the issue.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    We will simplify the process to improve efficiency.
    +
    +
    +
    +
    + Compliant + +
    +
    +
    It's always like this.
    +
    +
    +
    + + \ No newline at end of file diff --git a/ValeStyles/test/highlight.js b/ValeStyles/test/highlight.js index 4ddeae4..91e5e3f 100644 --- a/ValeStyles/test/highlight.js +++ b/ValeStyles/test/highlight.js @@ -9,19 +9,19 @@ And some that aren't.` const checks = [ { Line: 1, - Span: [11,15] + Span: [11,14] }, { Line: 2, - Span: [11,16] + Span: [11,15] }, { Line: 2, - Span: [22,28] + Span: [22,27] }, { Line: 3, - Span: [5,9] + Span: [5,8] } ] it(`should highlight words correctly`, function () { diff --git a/ValeStyles/test/lib/highlight.js b/ValeStyles/test/lib/highlight.js index a46a419..b818353 100644 --- a/ValeStyles/test/lib/highlight.js +++ b/ValeStyles/test/lib/highlight.js @@ -64,15 +64,15 @@ function _highlight(lines, checks, highlights) { } highlights.push({ - text: text.slice(start, end), + text: text.slice(start, end + 1), highlighted: true }) if (end < text.length) { // If there is text after the highlighted span, // return it to the `rest` array for further processing rest.unshift([ - [line, col + end], - text.slice(end) + [line, col + end + 1], + text.slice(end + 1) ]) } diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index dc21e9d..e324f74 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -7,6 +7,8 @@ const { spawnSync } = require('node:child_process') const { escape } = require('lodash') const { before, describe } = require('node:test') const yaml = require('js-yaml') +const handlebars = require('handlebars') +const { highlight } = require('./lib/highlight.js') describe(`Report Vale tests against specific styles - output to file://${process.cwd()}/test/adoc/styles.html`, function () { @@ -59,11 +61,13 @@ describe(`Report Vale tests against specific styles - output to file://${process const compliant = matching.length == 0 + const html = highlight(fixture.content, matching) + // xor the compliant flag with the matching results // to determine if there is an error const error = compliant != fixture.compliant - return {...fixture, matching, error} + return {...fixture, matching, error, html} }) return { check, @@ -73,6 +77,18 @@ describe(`Report Vale tests against specific styles - output to file://${process } ) + const template = handlebars.compile( + fs.readFileSync('test/adoc/styles.hbs', 'utf8')) + const html = template({ + results, + cwd: process.cwd(), + os: os.platform(), + version: process.versions.node, + }) + fs.writeFileSync( + 'test/adoc/styles.html', html, 'utf8') + + for (const result of results) { const {check, config, checkresults} = result From 520090544212962158467242cd98eafa493d7669 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 16:07:30 +0100 Subject: [PATCH 14/48] better VentilatedProse test. --- .../adoc/Test-Couchbase.VentilatedProse.yml | 7 +++--- ValeStyles/test/adoc/styles.html | 23 ++++--------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml b/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml index c2ea23c..61f366a 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.VentilatedProse.yml @@ -1,6 +1,7 @@ flag: - This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line. compliant: - - This sentence is on its own line. - - So is this one. - - Each sentence starts on a new line for clarity. + - | + This sentence is on its own line. + So is this one. + Each sentence starts on a new line for clarity. diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index c09cf4a..b9eccf3 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -2292,25 +2292,10 @@

    Fixtures

    -
    This sentence is on its own line.
    -
    - -
    -
    - Compliant - -
    -
    -
    So is this one.
    -
    -
    -
    -
    - Compliant - -
    -
    -
    Each sentence starts on a new line for clarity.
    +
    This sentence is on its own line.
    +So is this one.
    +Each sentence starts on a new line for clarity.
    +
    From 28f3b0d6b593db0bbd0ce5f7fd8d8774c71f2fa3 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 16:34:00 +0100 Subject: [PATCH 15/48] Updated format of output --- ValeStyles/test/adoc/styles.adoc | 884 -------------------- ValeStyles/test/adoc/styles.hbs | 19 +- ValeStyles/test/adoc/styles.html | 1323 +++++++++++++++++++++++++++--- 3 files changed, 1232 insertions(+), 994 deletions(-) delete mode 100644 ValeStyles/test/adoc/styles.adoc diff --git a/ValeStyles/test/adoc/styles.adoc b/ValeStyles/test/adoc/styles.adoc deleted file mode 100644 index 8368d42..0000000 --- a/ValeStyles/test/adoc/styles.adoc +++ /dev/null @@ -1,884 +0,0 @@ -= Testing Couchbase vale styles - - -== Couchbase.An - -=== Flagged examples - -[vale,Couchbase.An] --- -This is a example of incorrect usage. -She wrote a email to the team. -He found a unusual error in the logs. -We need a update before release. -Please submit a application. --- - -=== Compliant examples - -[vale,Couchbase.An,ok] --- -This is an example of correct usage. -She wrote an email to the team. -He found an unusual error in the logs. -We need an update before release. -Please submit an application. --- - - -== Couchbase.App - -=== Flagged examples - -[vale,Couchbase.App] --- -Please open the app to continue. -The app crashed unexpectedly. -She downloaded the app from the store. -He deleted the app by mistake. -We updated the app yesterday. --- - -=== Compliant examples - -[vale,Couchbase.App,ok] --- -Please open the application to continue. -The application crashed unexpectedly. -She downloaded the application from the store. -He deleted the application by mistake. -We updated the application yesterday. --- - - -== Couchbase.Bold - -=== Flagged examples - -[vale,Couchbase.Bold] --- -This is *bold* text using asterisks. -Please click the *Save* button. -Use *important* for emphasis. --- - -=== Compliant examples - -[vale,Couchbase.Bold,ok] --- -This is normal text. -Please click the btn:[Save] button. -Use _important_ for emphasis. --- - - -== Couchbase.ButtonMacro - -=== Flagged examples - -[vale,Couchbase.ButtonMacro] --- -Click the btn:[Save] button to continue. -Press the btn:[Cancel] button to exit. -Select the btn:[Submit] button to proceed. --- - - -== Couchbase.Checkbox - -=== Flagged examples - -[vale,Couchbase.Checkbox] --- -Select the checkbox to agree. -Tick the OK check box if you accept. --- - -=== Compliant examples - -[vale,Couchbase.Checkbox,ok] --- -Select "OK" to accept. -Check "I agree" to continue. --- - - -== Couchbase.CodeCallouts - -=== Flagged examples - -👎 NOT automatically tested yet. - - -[source,java] --- -public class Example { // <1> --- - -<1> This is a code callout example. - -=== Compliant examples - -👍 NOT automatically tested yet. - -[source,java] --- -public class Example { --- - - -== Couchbase.ComplexContractions - -=== Flagged examples - -[vale,Couchbase.ComplexContractions] --- -What'll become of the database? -We must've missed the deadline. -We would've liked to help you. --- - -=== Compliant examples - -[vale,Couchbase.ComplexContractions,ok] --- -You shouldn't use contractions in formal documentation... but we do. -They can't access the database. -We won't support this feature. --- - - -== Couchbase.Contractions - -=== Flagged examples - -[vale,Couchbase.Contractions] --- -It is important to follow the guidelines. -How is this feature used? -That is not supported. -They are working on the fix. -We are planning a release. -What is the status? -Where is the documentation? -Who is responsible for this? -You are required to sign in. -You had better check the logs. -You will need to update your client. --- - -=== Compliant examples - -[vale,Couchbase.Contractions,ok] --- -It's important to follow the guidelines. -How's this feature used? -That's not supported. -They're working on the fix. -We're planning a release. -What's the status? -Where's the documentation? -Who's responsible for this? -You're required to sign in. -You'd better check the logs. -You'll need to update your client. --- - - -== Couchbase.CouchbaseAutoOp - -=== Flagged examples - -[vale,Couchbase.CouchbaseAutoOp] --- -* The Operator manages the cluster. -* Upgrade the Operator to the latest version. -* The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator. --- - -=== Compliant examples - -[vale,Couchbase.CouchbaseAutoOp,ok] --- -Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster. --- - -== Couchbase.CouchbaseServerComm - -=== Flagged examples - -[vale,Couchbase.CouchbaseServerComm] --- -You can download Community Edition from our website. -The Community Edition is free to use. --- - -=== Compliant examples - -[vale,Couchbase.CouchbaseServerComm,ok] --- -You can download Couchbase Server Community Edition from our website. -The Couchbase Server Community Edition is free to use. --- - - -== Couchbase.CouchbaseServerWebConsole - -=== Flagged examples - -[vale,Couchbase.CouchbaseServerWebConsole] --- -You can access the Web Console to manage your cluster. -The Web Console provides a user-friendly interface. --- - -=== Compliant examples - -[vale,Couchbase.CouchbaseServerWebConsole,ok] --- -You can access the Couchbase Server Web Console to manage your cluster. -The Couchbase Server Web Console provides a user-friendly interface. --- - - -== Couchbase.DatePicker - -=== Flagged examples - -[vale,Couchbase.DatePicker] --- -Select the Date Picker to choose a date. -Click the *date picker* field. --- - -=== Compliant examples - -[vale,Couchbase.DatePicker,ok] --- -Select the date picker to choose a date. --- - - -== Couchbase.Dialogs - -=== Flagged examples - -[vale,Couchbase.Dialogs] --- -A Dialog will appear. -Click the *dialog* to continue. -The *dialog box* is displayed. --- - -=== Compliant examples - -[vale,Couchbase.Dialogs,ok] --- -A dialog will appear. --- - - -== Couchbase.DirectionalLanguage - -=== Flagged examples - -[vale,Couchbase.DirectionalLanguage] --- -Click the button on the left. -Scroll down to see more options. -The settings are below the menu. -Move up to the previous section. -The icon is above the text. --- - -=== Compliant examples - -[vale,Couchbase.DirectionalLanguage,ok] --- -Click the first button. -Scroll to see more options. -The settings are under the menu. -Return to the previous section. -The icon is near the text. --- - - -== Couchbase.Dropdown - -=== Flagged examples - -[vale,Couchbase.Dropdown] --- -Select the drop-down to choose an option. -Click the dropdown menu. -Open the dropdowns list. --- - -=== Compliant examples - -[vale,Couchbase.Dropdown,ok] --- -Choose the value from the list. --- - - -== Couchbase.FancyQuotes - -=== Flagged examples - -[vale,Couchbase.FancyQuotes] --- -He said, “This is a test.” -She replied, ‘Indeed it is.’ -The document uses “smart quotes” throughout. --- - -=== Compliant examples - -[vale,Couchbase.FancyQuotes,ok] --- -He said, "This is a test." -She replied, 'Indeed it is.' -The document uses "straight quotes" throughout. --- - - -== Couchbase.HeadingFormatting - -=== Flagged examples - -[vale,Couchbase.HeadingFormatting] --- -= This is a *bold* heading. -== This is an _italic_ heading. --- - -=== Compliant examples - -[vale,Couchbase.HeadingFormatting,ok] --- -= This heading has no formatting. --- - - -== Couchbase.Headings - -=== Flagged examples - -[vale,Couchbase.Headings] --- -= introduction -== This does not use title case --- - -=== Compliant examples - -[vale,Couchbase.Headings,ok] --- -= Introduction -== Heading With Title Case --- - - -== Couchbase.Italics - -NOTE: Don't understand why this test doesn't flag the following? - -=== Flagged examples - -[vale,Couchbase.Italics] --- -This is _italic_ text using underscores. -Please click the _Save_ button. -Use _important_ for emphasis. --- - -=== Compliant examples - -[vale,Couchbase.Italics,ok] --- -This is normal text. --- - - -== Couchbase.LessFewer - -=== Flagged examples - -[vale,Couchbase.LessFewer] --- -There are less errors in this version. -We need less people on the project. -She has less tasks to complete. -The server has less connections now. --- - -=== Compliant examples - -[vale,Couchbase.LessFewer,ok] --- -There are fewer errors in this version. -We need fewer people on the project. -She has fewer tasks to complete. -The server has fewer connections now. --- - - -== Couchbase.Link - -WARNING: this test doesn't work properly yet. - -=== Flagged examples - -[vale,Couchbase.Link] --- -<> to learn more. -Click <> to learn more. -Click <> for more information. -For more information, see <>. -Visit <> for details. --- - -=== Compliant examples - -[vale,Couchbase.Link,ok] --- -Learn more about <>. -For more information, see the <>. -Visit the <> for details. --- - - -== Couchbase.Monospace - -=== Flagged examples - -NOTE: monospace text is permitted, of course, but this warning is to make sure it is used correctly, see https://docs.couchbase.com/styleguide/monospace-highlight.html - -[vale,Couchbase.Monospace] --- -This is `monospace` text. --- - -=== Compliant examples - -[vale,Couchbase.Monospace,ok] --- -No monospace here. --- - - -== Couchbase.NegativeContractions - -=== Flagged examples - -[vale,Couchbase.NegativeContractions] --- -You can't access this feature. -They don't have permission. -We won't support this version. -She isn't available right now. -He hasn't finished the task. --- - -=== Compliant examples - -[vale,Couchbase.NegativeContractions,ok] --- -You cannot access this feature. -They do not have permission. -We will not support this version. -She is not available right now. -He has not finished the task. --- - - -== Couchbase.NoteThat - -=== Flagged examples - -[vale,Couchbase.NoteThat] --- -Note that you must restart the server. -Note that this feature is experimental. -Note that backups are not automatic. --- - -=== Compliant examples - -[vale,Couchbase.NoteThat,ok] --- -You must restart the server. -This feature is experimental. -NOTE: Backups are not automatic. --- - - -== Couchbase.Please - -=== Flagged examples - -[vale,Couchbase.Please] --- -Please refer to the documentation for more information. -Please ensure you have saved your work. -Please contact support if you need help. --- - -=== Compliant examples - -[vale,Couchbase.Please,ok] --- -Refer to the documentation for more information. -Ensure you have saved your work. -Contact support if you need help. --- - - -== Couchbase.Quotations - -=== Flagged examples - -[vale,Couchbase.Quotations] --- -The term "bucket" refers to a data container. -He clicked the "Save" button. -Select the "Settings" option from the menu. --- - -=== Compliant examples - -[vale,Couchbase.Quotations,ok] --- -The term ‘bucket’ refers to a data container. -He clicked the btn:[Save] button. -Select the _Settings_ option from the menu. --- - - -== Couchbase.ReadingLevel - -=== Flagged examples - -[vale,Couchbase.ReadingLevel] --- -Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.” --- - -=== Compliant examples - -[vale,Couchbase.ReadingLevel,ok] --- -The system uses many methods to help different modules work together. -This change means we need to review how things work. --- - - -== Couchbase.RepeatedSpace - -=== Flagged examples - -[vale,Couchbase.RepeatedSpace] --- -There are multiple spaces here. -Check for repeated spaces. --- - -=== Compliant examples - -[vale,Couchbase.RepeatedSpace,ok] --- -This sentence has one space between words. -Sentences with {attributes} should not be flagged. --- - - -== Couchbase.RepeatedWord - -=== Flagged examples - -[vale,Couchbase.RepeatedWord] --- -This is is a repeated word. -Please please check the document. -He said that that it was fine. --- - -=== Compliant examples - -[vale,Couchbase.RepeatedWord,ok] --- -This is a sentence without repeated words. -Please check the document. -He said that it was fine. --- - - -== Couchbase.RunOn - -=== Flagged examples - -[vale,Couchbase.RunOn] --- -This could be a run on sentence, because it has many commas, so confuses people, don't you think? --- - -=== Compliant examples - -[vale,Couchbase.RunOn,ok] --- -Sentences with up to two commas are fine, but no more than that, I beg you. -[cols="1,1,1,2,3"] --- - - -== Couchbase.See - -=== Flagged examples - -[vale,Couchbase.See] --- -Refer to http://foo.bar for more details. -Refer to https://foo.bar for more details. --- - -=== Compliant examples - -[vale,Couchbase.See,ok] --- -See http://foo.bar for more details. -See https://foo.bar for more details. --- - - -== Couchbase.Semi-Colons - -=== Flagged examples - -NOTE: Use semi-colons sparingly. - -[vale,Couchbase.Semi-Colons] --- -This is a sentence; and here is another clause. --- - -=== Compliant examples - -[vale,Couchbase.Semi-Colons,ok] --- -This is a sentence, and here is another clause. --- - - -== Couchbase.SentenceLength - -=== Flagged examples - -[vale,Couchbase.SentenceLength] --- -This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability. --- - -=== Compliant examples - -[vale,Couchbase.SentenceLength,ok] --- -This sentence is clear and concise. -Rewrite long sentences to improve clarity. --- - - -== Couchbase.Sidebars - -=== Flagged examples - -[vale,Couchbase.Sidebars] --- -**** -[sidebar] --- - -=== Compliant examples - -[vale,Couchbase.Sidebars,ok] --- -This is a regular paragraph, not a sidebar. -Use sidebars only when necessary and keep them concise. --- - - -== Couchbase.SQL (SQL++ really) - -=== Flagged examples - -[vale,Couchbase.SQL] --- -This is an SQL++ query. --- - -=== Compliant examples - -[vale,Couchbase.SQL,ok] --- -This is a SQL++ query. --- - - -== Couchbase.StackedHeadings - -INFO: You can't have two headings with no content in between. - -We can't currently test this using this test. - - -== Couchbase.Terminology - -=== Flagged examples - -[vale,Couchbase.Terminology] --- -This project uses dotnet for development. -Please add the adaptor to your system. -We use the whitelist to control access. -The code base is large. -Refer to the data center documentation. -She used the plugin for integration. -The master node is down. -He prefers to utilize this feature. --- - -=== Compliant examples - -[vale,Couchbase.Terminology,ok] --- -This project uses .NET for development. -Please add the adapter to your system. -We use the Allowlist to control access. -The codebase is large. -Refer to the datacenter documentation. -She used the plug-in for integration. -The primary node is down. -He prefers to use this feature. --- - - -== Couchbase.Textbox - -=== Flagged examples - -[vale,Couchbase.Textbox] --- -Enter your name in the textbox. -Click the text box to start typing. --- - -=== Compliant examples - -[vale,Couchbase.Textbox,ok] --- -Enter your name in the field. -Click the box to start typing. --- - - -== Couchbase.ThereIs - -=== Flagged examples - -[vale,Couchbase.ThereIs] --- -There is a problem with the configuration. -There is an error in the logs. -There is a need for more testing. -There is a button you can click. --- - -=== Compliant examples - -[vale,Couchbase.ThereIs,ok] --- -A problem exists with the configuration. -An error appears in the logs. -More testing is needed. -You can click the button. --- - - -== Couchbase.UnexplainedAcronym - -Not sure how to test this one? - -=== Flagged examples - -[vale,Couchbase.UnexplainedAcronym] --- -The HFE is not responding. --- - -=== Compliant examples - -[vale,Couchbase.UnexplainedAcronym,ok] --- -The Hyperspace Frobnication Engine (HFE) is not responding. --- - - -== Couchbase.VentilatedProse - -=== Flagged examples - -[vale,Couchbase.VentilatedProse] --- -This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line. --- - -=== Compliant examples - -[vale,Couchbase.VentilatedProse,ok] --- -This sentence is on its own line. -So is this one. -Each sentence starts on a new line for clarity. --- - - -== Couchbase.Versions - -=== Flagged examples - -[vale,Couchbase.Versions] --- -Use version 6.0 or higher. -Use version 6.0 or newer. -Not available in version 5.0 or lower. -Not available in version 5.0 or older. --- - -=== Compliant examples - -[vale,Couchbase.Versions,ok] --- -Use version 6.0 or later. -Not available in version 5.0 or earlier. --- - - -== Couchbase.Wordy - -=== Flagged examples - -[vale,Couchbase.Wordy] --- -Combating the issue requires a comprehensive understanding of the underlying architecture. -We will streamline the process to enhance efficiency. -It is ever thus. --- - -=== Compliant examples - -[vale,Couchbase.Wordy,ok] --- -We need to understand the architecture to fix the issue. -We will simplify the process to improve efficiency. -It's always like this. --- \ No newline at end of file diff --git a/ValeStyles/test/adoc/styles.hbs b/ValeStyles/test/adoc/styles.hbs index 12c2f70..46fdb0c 100644 --- a/ValeStyles/test/adoc/styles.hbs +++ b/ValeStyles/test/adoc/styles.hbs @@ -11,9 +11,10 @@ .fixture { border: 1px solid #ccc; padding: 1em; margin: 1em 0; border-radius: 5px; } .compliant { background: #e8f5e9; } .flagged { background: #ffebee; } - .error { border-color: #e53935; } - pre { background: #f4f4f4; padding: 1em; border-radius: 3px; overflow-x: auto; } - .matching { color: #e53935; font-weight: bold; } + div.error { border-color: #e53935; + border-width: 5px } + span.error { color: #e53935; font-weight: bold;} + pre { padding: 1em; border-radius: 3px; overflow-x: auto; } .meta { color: #888; font-size: 0.9em; } @@ -25,18 +26,24 @@ {{#each results}}
    -

    Check: {{check}}

    +

    {{check}}

    -

    Fixtures

    {{#each checkresults}}
    {{#if compliant}}Compliant{{else}}Flagged{{/if}} - {{#if error}}❌ Error{{/if}} + {{#if error}}❌ Error{{/if}}
    {{{html}}}
    + + {{#with matching.[0]}}
    + ({{#with Link}}{{/with}}{{Severity}}{{#if Link}}{{/if}}) + {{Message}} + {{Description}} +
    {{/with}} +
    {{/each}}
    diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index b9eccf3..be00015 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -11,9 +11,10 @@ .fixture { border: 1px solid #ccc; padding: 1em; margin: 1em 0; border-radius: 5px; } .compliant { background: #e8f5e9; } .flagged { background: #ffebee; } - .error { border-color: #e53935; } - pre { background: #f4f4f4; padding: 1em; border-radius: 3px; overflow-x: auto; } - .matching { color: #e53935; font-weight: bold; } + div.error { border-color: #e53935; + border-width: 5px } + span.error { color: #e53935; font-weight: bold;} + pre { padding: 1em; border-radius: 3px; overflow-x: auto; } .meta { color: #888; font-size: 0.9em; } @@ -24,9 +25,8 @@

    Vale Style Test Results

    Node.js version: 22.16.0
    -

    Check: Couchbase.An

    +

    Couchbase.An

    -

    Fixtures

    Flagged @@ -35,6 +35,13 @@

    Fixtures

    This is a example of incorrect usage.
    + +
    + (error) + Use "an," not "a." + +
    +
    @@ -44,6 +51,13 @@

    Fixtures

    She wrote a email to the team.
    + +
    + (error) + Use "an," not "a." + +
    +
    @@ -53,6 +67,13 @@

    Fixtures

    He found a unusual error in the logs.
    + +
    + (error) + Use "an," not "a." + +
    +
    @@ -62,6 +83,13 @@

    Fixtures

    We need a update before release.
    + +
    + (error) + Use "an," not "a." + +
    +
    @@ -71,6 +99,13 @@

    Fixtures

    Please submit a application.
    + +
    + (error) + Use "an," not "a." + +
    +
    @@ -80,6 +115,9 @@

    Fixtures

    This is an example of correct usage.
    + + +
    @@ -89,6 +127,9 @@

    Fixtures

    She wrote an email to the team.
    + + +
    @@ -98,6 +139,9 @@

    Fixtures

    He found an unusual error in the logs.
    + + +
    @@ -107,6 +151,9 @@

    Fixtures

    We need an update before release.
    + + +
    @@ -116,12 +163,14 @@

    Fixtures

    Please submit an application.
    + + +
    -

    Check: Couchbase.App

    +

    Couchbase.App

    -

    Fixtures

    Flagged @@ -130,6 +179,13 @@

    Fixtures

    Please open the app to continue.
    + +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    +
    @@ -139,6 +195,13 @@

    Fixtures

    The app crashed unexpectedly.
    + +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    +
    @@ -148,6 +211,13 @@

    Fixtures

    She downloaded the app from the store.
    + +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    +
    @@ -157,6 +227,13 @@

    Fixtures

    He deleted the app by mistake.
    + +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    +
    @@ -166,6 +243,13 @@

    Fixtures

    We updated the app yesterday.
    + +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    +
    @@ -175,6 +259,9 @@

    Fixtures

    Please open the application to continue.
    + + +
    @@ -184,6 +271,9 @@

    Fixtures

    The application crashed unexpectedly.
    + + +
    @@ -193,6 +283,9 @@

    Fixtures

    She downloaded the application from the store.
    + + +
    @@ -202,6 +295,9 @@

    Fixtures

    He deleted the application by mistake.
    + + +
    @@ -211,12 +307,14 @@

    Fixtures

    We updated the application yesterday.
    + + +
    -

    Check: Couchbase.Bold

    +

    Couchbase.Bold

    -

    Fixtures

    Flagged @@ -225,6 +323,13 @@

    Fixtures

    This is *bold* text using asterisks.
    + +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    +
    @@ -234,6 +339,13 @@

    Fixtures

    Please click the *Save* button.
    + +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    +
    @@ -243,6 +355,13 @@

    Fixtures

    Use *important* for emphasis.
    + +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    +
    @@ -252,6 +371,9 @@

    Fixtures

    This is normal text.
    + + +
    @@ -261,6 +383,9 @@

    Fixtures

    Please click the btn:[Save] button.
    + + +
    @@ -270,12 +395,14 @@

    Fixtures

    Use _important_ for emphasis.
    + + +
    -

    Check: Couchbase.ButtonMacro

    +

    Couchbase.ButtonMacro

    -

    Fixtures

    Flagged @@ -284,6 +411,13 @@

    Fixtures

    Click the btn:[Save] button to continue.
    + +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    +
    @@ -293,6 +427,13 @@

    Fixtures

    Press the btn:[Cancel] button to exit.
    + +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    +
    @@ -302,12 +443,18 @@

    Fixtures

    Select the btn:[Submit] button to proceed.
    + +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    +
    -

    Check: Couchbase.Checkbox

    +

    Couchbase.Checkbox

    -

    Fixtures

    Flagged @@ -316,6 +463,13 @@

    Fixtures

    Select the checkbox to agree.
    + +
    + (error) + Don't use 'checkbox'. Just use the label from the UI. Add 'click' or 'clear' as needed. + +
    +
    @@ -325,6 +479,13 @@

    Fixtures

    Tick the OK check box if you accept.
    + +
    + (error) + Don't use 'check box'. Just use the label from the UI. Add 'click' or 'clear' as needed. + +
    +
    @@ -334,6 +495,9 @@

    Fixtures

    Select "OK" to accept.
    + + +
    @@ -343,12 +507,14 @@

    Fixtures

    Check "I agree" to continue.
    + + +
    -

    Check: Couchbase.CodeCallouts

    +

    Couchbase.CodeCallouts

    -

    Fixtures

    Flagged @@ -364,6 +530,13 @@

    Fixtures

    <1> This is a code callout.
    + +
    + (error) + Don't use code callouts. Break up your code samples or use code comments, instead. + +
    +
    @@ -378,12 +551,14 @@

    Fixtures

    First we declare the class `Example`.
    + + +
    -

    Check: Couchbase.ComplexContractions

    +

    Couchbase.ComplexContractions

    -

    Fixtures

    Flagged @@ -392,6 +567,13 @@

    Fixtures

    What'll become of the database?
    + +
    + (error) + Do not use complex contractions like 'What'll'. + +
    +
    @@ -401,6 +583,13 @@

    Fixtures

    We must've missed the deadline.
    + +
    + (error) + Do not use complex contractions like 'must've'. + +
    +
    @@ -410,6 +599,13 @@

    Fixtures

    We would've liked to help you.
    + +
    + (error) + Do not use complex contractions like 'would've'. + +
    +
    @@ -419,6 +615,9 @@

    Fixtures

    You shouldn't use contractions in formal documentation... but we do.
    + + +
    @@ -428,6 +627,9 @@

    Fixtures

    They can't access the database.
    + + +
    @@ -437,12 +639,14 @@

    Fixtures

    We won't support this feature.
    + + +
    -

    Check: Couchbase.Contractions

    +

    Couchbase.Contractions

    -

    Fixtures

    Flagged @@ -451,6 +655,13 @@

    Fixtures

    It is important to follow the guidelines.
    + +
    + (error) + Use 'it's' instead of 'It is'. + +
    +
    @@ -460,6 +671,13 @@

    Fixtures

    How is this feature used?
    + +
    + (error) + Use 'how's' instead of 'How is'. + +
    +
    @@ -469,6 +687,13 @@

    Fixtures

    That is not supported.
    + +
    + (error) + Use 'that's' instead of 'That is'. + +
    +
    @@ -478,6 +703,13 @@

    Fixtures

    They are working on the fix.
    + +
    + (error) + Use 'they're' instead of 'They are'. + +
    +
    @@ -487,6 +719,13 @@

    Fixtures

    We are planning a release.
    + +
    + (error) + Use 'we're' instead of 'We are'. + +
    +
    @@ -496,6 +735,13 @@

    Fixtures

    What is the status?
    + +
    + (error) + Use 'what's' instead of 'What is'. + +
    +
    @@ -505,6 +751,13 @@

    Fixtures

    Where is the documentation?
    + +
    + (error) + Use 'where's' instead of 'Where is'. + +
    +
    @@ -514,6 +767,13 @@

    Fixtures

    Who is responsible for this?
    + +
    + (error) + Use 'who's' instead of 'Who is'. + +
    +
    @@ -523,6 +783,13 @@

    Fixtures

    You are required to sign in.
    + +
    + (error) + Use 'you're' instead of 'You are'. + +
    +
    @@ -532,6 +799,13 @@

    Fixtures

    You had better check the logs.
    + +
    + (error) + Use 'you'd' instead of 'You had'. + +
    +
    @@ -541,6 +815,13 @@

    Fixtures

    You will need to update your client.
    + +
    + (error) + Use 'you'll' instead of 'You will'. + +
    +
    @@ -550,6 +831,9 @@

    Fixtures

    It's important to follow the guidelines.
    + + +
    @@ -559,6 +843,9 @@

    Fixtures

    How's this feature used?
    + + +
    @@ -568,6 +855,9 @@

    Fixtures

    That's not supported.
    + + +
    @@ -577,6 +867,9 @@

    Fixtures

    They're working on the fix.
    + + +
    @@ -586,6 +879,9 @@

    Fixtures

    We're planning a release.
    + + +
    @@ -595,6 +891,9 @@

    Fixtures

    What's the status?
    + + +
    @@ -604,6 +903,9 @@

    Fixtures

    Where's the documentation?
    + + +
    @@ -613,6 +915,9 @@

    Fixtures

    Who's responsible for this?
    + + +
    @@ -622,6 +927,9 @@

    Fixtures

    You're required to sign in.
    + + +
    @@ -631,6 +939,9 @@

    Fixtures

    You'd better check the logs.
    + + +
    @@ -640,12 +951,14 @@

    Fixtures

    You'll need to update your client.
    + + +
    -

    Check: Couchbase.CouchbaseAutoOp

    +

    Couchbase.CouchbaseAutoOp

    -

    Fixtures

    Flagged @@ -654,6 +967,13 @@

    Fixtures

    The Operator manages the cluster.
    + +
    + (error) + Use the full product name (Couchbase Autonomous Operator) first. + +
    +
    @@ -663,15 +983,25 @@

    Fixtures

    Upgrade the Operator to the latest version.
    + +
    + (error) + Use the full product name (Couchbase Autonomous Operator) first. + +
    +
    Flagged - ❌ Error + ❌ Error
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    + + +
    @@ -681,12 +1011,14 @@

    Fixtures

    Couchbase Autonomous Operator does everything. For example, the Operator manages the cluster.
    + + +
    -

    Check: Couchbase.CouchbaseServerComm

    +

    Couchbase.CouchbaseServerComm

    -

    Fixtures

    Flagged @@ -695,6 +1027,13 @@

    Fixtures

    You can download Community Edition from our website.
    + +
    + (error) + Use the full product name (Couchbase Server Community Edition) first. + +
    +
    @@ -704,6 +1043,13 @@

    Fixtures

    The Community Edition is free to use.
    + +
    + (error) + Use the full product name (Couchbase Server Community Edition) first. + +
    +
    @@ -713,6 +1059,9 @@

    Fixtures

    You can download Couchbase Server Community Edition from our website.
    + + +
    @@ -722,12 +1071,14 @@

    Fixtures

    The Couchbase Server Community Edition is free to use.
    + + +
    -

    Check: Couchbase.CouchbaseServerWebConsole

    +

    Couchbase.CouchbaseServerWebConsole

    -

    Fixtures

    Flagged @@ -736,6 +1087,13 @@

    Fixtures

    You can access the Web Console to manage your cluster.
    + +
    + (error) + Use the full product name (Couchbase Server Web Console) first. + +
    +
    @@ -745,6 +1103,13 @@

    Fixtures

    The Web Console provides a user-friendly interface.
    + +
    + (error) + Use the full product name (Couchbase Server Web Console) first. + +
    +
    @@ -754,6 +1119,9 @@

    Fixtures

    You can access the Couchbase Server Web Console to manage your cluster.
    + + +
    @@ -763,12 +1131,14 @@

    Fixtures

    The Couchbase Server Web Console provides a user-friendly interface.
    + + +
    -

    Check: Couchbase.DatePicker

    +

    Couchbase.DatePicker

    -

    Fixtures

    Flagged @@ -777,6 +1147,13 @@

    Fixtures

    Select the Date Picker to choose a date.
    + +
    + (error) + Don't bold or capitalize "date picker." + +
    +
    @@ -786,6 +1163,13 @@

    Fixtures

    Click the *date picker* field.
    + +
    + (error) + Don't bold or capitalize "date picker." + +
    +
    @@ -795,6 +1179,9 @@

    Fixtures

    Select the date picker to choose a date.
    + + +
    @@ -804,12 +1191,14 @@

    Fixtures

    Click the date picker field.
    + + +
    -

    Check: Couchbase.Dialogs

    +

    Couchbase.Dialogs

    -

    Fixtures

    Flagged @@ -818,6 +1207,13 @@

    Fixtures

    A Dialog will appear.
    + +
    + (error) + Don't bold or capitalize the word "dialog". + +
    +
    @@ -827,6 +1223,13 @@

    Fixtures

    Click the *dialog* to continue.
    + +
    + (error) + Don't bold or capitalize the word "dialog". + +
    +
    @@ -836,6 +1239,13 @@

    Fixtures

    The *dialog box* is displayed.
    + +
    + (error) + Don't bold or capitalize the word "dialog". + +
    +
    @@ -845,6 +1255,9 @@

    Fixtures

    A dialog will appear.
    + + +
    @@ -854,6 +1267,9 @@

    Fixtures

    Click the dialog to continue.
    + + +
    @@ -863,12 +1279,14 @@

    Fixtures

    The dialog box is displayed.
    + + +
    -

    Check: Couchbase.DirectionalLanguage

    +

    Couchbase.DirectionalLanguage

    -

    Fixtures

    Flagged @@ -877,6 +1295,13 @@

    Fixtures

    Click the button on the left.
    + +
    + (warning) + Avoid directional language like 'left'. + +
    +
    @@ -886,6 +1311,13 @@

    Fixtures

    Scroll down to see more options.
    + +
    + (warning) + Avoid directional language like 'down'. + +
    +
    @@ -895,15 +1327,25 @@

    Fixtures

    The settings are below the menu.
    + +
    + (warning) + Avoid directional language like 'below'. + +
    +
    Flagged - ❌ Error + ❌ Error
    Move up to the previous section.
    + + +
    @@ -913,6 +1355,13 @@

    Fixtures

    The icon is above the text.
    + +
    + (warning) + Avoid directional language like 'above'. + +
    +
    @@ -922,6 +1371,9 @@

    Fixtures

    Click the first button.
    + + +
    @@ -931,6 +1383,9 @@

    Fixtures

    Scroll to see more options.
    + + +
    @@ -940,6 +1395,9 @@

    Fixtures

    The settings are under the menu.
    + + +
    @@ -949,6 +1407,9 @@

    Fixtures

    Return to the previous section.
    + + +
    @@ -958,12 +1419,14 @@

    Fixtures

    The icon is near the text.
    + + +
    -

    Check: Couchbase.Dropdown

    +

    Couchbase.Dropdown

    -

    Fixtures

    Flagged @@ -972,6 +1435,13 @@

    Fixtures

    Select the drop-down to choose an option.
    + +
    + (error) + Don't use "dropdown", use "list". + +
    +
    @@ -981,15 +1451,25 @@

    Fixtures

    Click the dropdown menu.
    + +
    + (error) + Don't use "dropdown", use "list". + +
    +
    Flagged - ❌ Error + ❌ Error
    Open the dropdowns list.
    + + +
    @@ -999,12 +1479,14 @@

    Fixtures

    Choose the value from the list.
    + + +
    -

    Check: Couchbase.FancyQuotes

    +

    Couchbase.FancyQuotes

    -

    Fixtures

    Flagged @@ -1013,6 +1495,13 @@

    Fixtures

    He said, This is a test.
    + +
    + (error) + Do not use '“'. Replace with regular quotes/apostrophes. + +
    +
    @@ -1022,6 +1511,13 @@

    Fixtures

    She replied, Indeed it is.
    + +
    + (error) + Do not use '‘'. Replace with regular quotes/apostrophes. + +
    +
    @@ -1031,6 +1527,13 @@

    Fixtures

    The document uses smart quotes throughout.
    + +
    + (error) + Do not use '“'. Replace with regular quotes/apostrophes. + +
    +
    @@ -1040,6 +1543,9 @@

    Fixtures

    He said, "This is a test."
    + + +
    @@ -1049,6 +1555,9 @@

    Fixtures

    She replied, 'Indeed it is.'
    + + +
    @@ -1058,12 +1567,14 @@

    Fixtures

    The document uses "straight quotes" throughout.
    + + +
    -

    Check: Couchbase.HeadingFormatting

    +

    Couchbase.HeadingFormatting

    -

    Fixtures

    Flagged @@ -1072,6 +1583,13 @@

    Fixtures

    = This is a *bold* heading.
    + +
    + (error) + Don't add formatting to headings. + +
    +
    @@ -1081,6 +1599,13 @@

    Fixtures

    == This is an _italic_ heading.
    + +
    + (error) + Don't add formatting to headings. + +
    +
    @@ -1090,12 +1615,14 @@

    Fixtures

    = This heading has no formatting.
    + + +
    -

    Check: Couchbase.Headings

    +

    Couchbase.Headings

    -

    Fixtures

    Flagged @@ -1104,6 +1631,13 @@

    Fixtures

    = introduction
    + +
    + (warning) + 'introduction' should use title-style capitalization. + +
    +
    @@ -1113,6 +1647,13 @@

    Fixtures

    == This does not use title case
    + +
    + (warning) + 'This does not use title case' should use title-style capitalization. + +
    +
    @@ -1122,6 +1663,9 @@

    Fixtures

    = Introduction
    + + +
    @@ -1131,38 +1675,49 @@

    Fixtures

    == Heading in Title Case
    + + +
    -

    Check: Couchbase.Italics

    +

    Couchbase.Italics

    -

    Fixtures

    Flagged - ❌ Error + ❌ Error
    This is _italic_ text using underscores.
    + + +
    Flagged - ❌ Error + ❌ Error
    Please click the _Save_ button.
    + + +
    Flagged - ❌ Error + ❌ Error
    Use _important_ for emphasis.
    + + +
    @@ -1172,6 +1727,9 @@

    Fixtures

    This is normal text.
    + + +
    @@ -1181,12 +1739,14 @@

    Fixtures

    Please click the btn:[Save] button.
    + + +
    -

    Check: Couchbase.LessFewer

    +

    Couchbase.LessFewer

    -

    Fixtures

    Flagged @@ -1195,15 +1755,25 @@

    Fixtures

    There are less errors in this version.
    + +
    + (warning) + Did you mean less or should this be fewer? + +
    +
    Flagged - ❌ Error + ❌ Error
    We need less people on the project.
    + + +
    @@ -1213,6 +1783,13 @@

    Fixtures

    She has less tasks to complete.
    + +
    + (warning) + Did you mean less or should this be fewer? + +
    +
    @@ -1222,6 +1799,13 @@

    Fixtures

    The server has less connections now.
    + +
    + (warning) + Did you mean less or should this be fewer? + +
    +
    @@ -1231,6 +1815,9 @@

    Fixtures

    There are fewer errors in this version.
    + + +
    @@ -1240,6 +1827,9 @@

    Fixtures

    We need fewer people on the project.
    + + +
    @@ -1249,6 +1839,9 @@

    Fixtures

    She has fewer tasks to complete.
    + + +
    @@ -1258,56 +1851,73 @@

    Fixtures

    The server has fewer connections now.
    + + +
    -

    Check: Couchbase.Link

    +

    Couchbase.Link

    -

    Fixtures

    Flagged - ❌ Error + ❌ Error
    <<link,Click the Info link>> to learn more.
    + + +
    Flagged - ❌ Error + ❌ Error
    Click <<link,the Info link>> to learn more.
    + + +
    Flagged - ❌ Error + ❌ Error
    Click <<link,here>> for more information.
    + + +
    Flagged - ❌ Error + ❌ Error
    For more information, see <<link,this link>>.
    + + +
    Flagged - ❌ Error + ❌ Error
    Visit <<link,the following link>> for details.
    + + +
    @@ -1317,6 +1927,9 @@

    Fixtures

    Learn more about <<link,this feature>>.
    + + +
    @@ -1326,6 +1939,9 @@

    Fixtures

    For more information, see the <<link,documentation>>.
    + + +
    @@ -1335,12 +1951,14 @@

    Fixtures

    Visit the <<link,documentation>> for details.
    + + +
    -

    Check: Couchbase.Monospace

    +

    Couchbase.Monospace

    -

    Fixtures

    Flagged @@ -1349,6 +1967,13 @@

    Fixtures

    This is `monospace` text.
    + +
    + (suggestion) + Did you follow the guidelines for monospace font? + +
    +
    @@ -1358,12 +1983,14 @@

    Fixtures

    No monospace here.
    + + +
    -

    Check: Couchbase.NegativeContractions

    +

    Couchbase.NegativeContractions

    -

    Fixtures

    Flagged @@ -1372,6 +1999,13 @@

    Fixtures

    You can't access this feature.
    + +
    + (error) + Use 'cannot' instead of 'can't'. + +
    +
    @@ -1381,6 +2015,13 @@

    Fixtures

    They don't have permission.
    + +
    + (error) + Use 'do not' instead of 'don't'. + +
    +
    @@ -1390,6 +2031,13 @@

    Fixtures

    We won't support this version.
    + +
    + (error) + Use 'will not' instead of 'won't'. + +
    +
    @@ -1399,6 +2047,13 @@

    Fixtures

    She isn't available right now.
    + +
    + (error) + Use 'is not' instead of 'isn't'. + +
    +
    @@ -1408,6 +2063,13 @@

    Fixtures

    He hasn't finished the task.
    + +
    + (error) + Use 'has not' instead of 'hasn't'. + +
    +
    @@ -1417,6 +2079,9 @@

    Fixtures

    You cannot access this feature.
    + + +
    @@ -1426,6 +2091,9 @@

    Fixtures

    They do not have permission.
    + + +
    @@ -1435,6 +2103,9 @@

    Fixtures

    We will not support this version.
    + + +
    @@ -1444,6 +2115,9 @@

    Fixtures

    She is not available right now.
    + + +
    @@ -1453,12 +2127,14 @@

    Fixtures

    He has not finished the task.
    + + +
    -

    Check: Couchbase.NoteThat

    +

    Couchbase.NoteThat

    -

    Fixtures

    Flagged @@ -1467,6 +2143,13 @@

    Fixtures

    Note that you must restart the server.
    + +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    +
    @@ -1476,6 +2159,13 @@

    Fixtures

    Note that this feature is experimental.
    + +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    +
    @@ -1485,6 +2175,13 @@

    Fixtures

    Note that backups are not automatic.
    + +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    +
    @@ -1494,6 +2191,9 @@

    Fixtures

    You must restart the server.
    + + +
    @@ -1503,6 +2203,9 @@

    Fixtures

    This feature is experimental.
    + + +
    @@ -1512,12 +2215,14 @@

    Fixtures

    NOTE: Backups are not automatic.
    + + +
    -

    Check: Couchbase.Please

    +

    Couchbase.Please

    -

    Fixtures

    Flagged @@ -1526,6 +2231,13 @@

    Fixtures

    Please refer to the documentation for more information.
    + +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    +
    @@ -1535,6 +2247,13 @@

    Fixtures

    Please ensure you have saved your work.
    + +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    +
    @@ -1544,6 +2263,13 @@

    Fixtures

    Please contact support if you need help.
    + +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    +
    @@ -1553,6 +2279,9 @@

    Fixtures

    Refer to the documentation for more information.
    + + +
    @@ -1562,6 +2291,9 @@

    Fixtures

    Ensure you have saved your work.
    + + +
    @@ -1571,12 +2303,14 @@

    Fixtures

    Contact support if you need help.
    + + +
    -

    Check: Couchbase.Quotations

    +

    Couchbase.Quotations

    -

    Fixtures

    Flagged @@ -1585,6 +2319,13 @@

    Fixtures

    The term "bucket" refers to a data container.
    + +
    + (error) + Don't use quotation marks to add emphasis. + +
    +
    @@ -1594,6 +2335,13 @@

    Fixtures

    He clicked the "Save" button.
    + +
    + (error) + Don't use quotation marks to add emphasis. + +
    +
    @@ -1603,6 +2351,13 @@

    Fixtures

    Select the "Settings" option from the menu.
    + +
    + (error) + Don't use quotation marks to add emphasis. + +
    +
    @@ -1612,6 +2367,9 @@

    Fixtures

    The term ‘bucket’ refers to a data container.
    + + +
    @@ -1621,6 +2379,9 @@

    Fixtures

    He clicked the btn:[Save] button.
    + + +
    @@ -1630,20 +2391,25 @@

    Fixtures

    Select the _Settings_ option from the menu.
    + + +
    -

    Check: Couchbase.ReadingLevel

    +

    Couchbase.ReadingLevel

    -

    Fixtures

    Flagged - ❌ Error + ❌ Error
    Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.
    + + +
    @@ -1653,6 +2419,9 @@

    Fixtures

    The system uses many methods to help different modules work together.
    + + +
    @@ -1662,12 +2431,14 @@

    Fixtures

    This change means we need to review how things work.
    + + +
    -

    Check: Couchbase.RepeatedSpace

    +

    Couchbase.RepeatedSpace

    -

    Fixtures

    Flagged @@ -1676,6 +2447,13 @@

    Fixtures

    There   are   multiple   spaces   here.
    + +
    + (error) + Did you mean to add extra spaces? + +
    +
    @@ -1685,6 +2463,13 @@

    Fixtures

    Check  for  repeated  spaces.
    + +
    + (error) + Did you mean to add extra spaces? + +
    +
    @@ -1694,6 +2479,9 @@

    Fixtures

    This sentence has one space between words.
    + + +
    @@ -1703,12 +2491,14 @@

    Fixtures

    Sentences with {attributes} should not be flagged.
    + + +
    -

    Check: Couchbase.RepeatedWord

    +

    Couchbase.RepeatedWord

    -

    Fixtures

    Flagged @@ -1717,15 +2507,25 @@

    Fixtures

    This is is a repeated word.
    + +
    + (error) + 'is' is repeated! + +
    +
    Flagged - ❌ Error + ❌ Error
    Please please check the document.
    + + +
    @@ -1735,6 +2535,13 @@

    Fixtures

    He said that that it was fine.
    + +
    + (error) + 'that' is repeated! + +
    +
    @@ -1744,6 +2551,9 @@

    Fixtures

    This is a sentence without repeated words.
    + + +
    @@ -1753,6 +2563,9 @@

    Fixtures

    Please check the document.
    + + +
    @@ -1762,12 +2575,14 @@

    Fixtures

    He said that it was fine.
    + + +
    -

    Check: Couchbase.RunOn

    +

    Couchbase.RunOn

    -

    Fixtures

    Flagged @@ -1776,6 +2591,13 @@

    Fixtures

    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    + +
    + (warning) + This might be a run-on sentence (more than 2 commas). + +
    +
    @@ -1785,12 +2607,14 @@

    Fixtures

    Sentences with up to two commas are fine, but no more than that, I beg you.
    + + +
    -

    Check: Couchbase.SQL

    +

    Couchbase.SQL

    -

    Fixtures

    Flagged @@ -1799,6 +2623,13 @@

    Fixtures

    This is an SQL++ query.
    + +
    + (error) + Use "a SQL++," not "an SQL++" + +
    +
    @@ -1808,12 +2639,14 @@

    Fixtures

    This is a SQL++ query.
    + + +
    -

    Check: Couchbase.See

    +

    Couchbase.See

    -

    Fixtures

    Flagged @@ -1822,6 +2655,13 @@

    Fixtures

    Refer to http://foo.bar for more details.
    + +
    + (warning) + Use "see" for links. + +
    +
    @@ -1831,6 +2671,13 @@

    Fixtures

    Refer to https://foo.bar for more details.
    + +
    + (warning) + Use "see" for links. + +
    +
    @@ -1840,6 +2687,9 @@

    Fixtures

    See http://foo.bar for more details.
    + + +
    @@ -1849,12 +2699,14 @@

    Fixtures

    See https://foo.bar for more details.
    + + +
    -

    Check: Couchbase.Semi-Colons

    +

    Couchbase.Semi-Colons

    -

    Fixtures

    Flagged @@ -1863,6 +2715,13 @@

    Fixtures

    This is a sentence; and here is another clause.
    + +
    + (warning) + Try to avoid using a semi-colon. Follow the style guide guidance. + +
    +
    @@ -1872,12 +2731,14 @@

    Fixtures

    This is a sentence, and here is another clause.
    + + +
    -

    Check: Couchbase.SentenceLength

    +

    Couchbase.SentenceLength

    -

    Fixtures

    Flagged @@ -1886,6 +2747,13 @@

    Fixtures

    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    + +
    + (suggestion) + Try to keep sentences under 25 words. + +
    +
    @@ -1895,6 +2763,9 @@

    Fixtures

    This sentence is clear and concise.
    + + +
    @@ -1904,12 +2775,14 @@

    Fixtures

    Rewrite long sentences to improve clarity.
    + + +
    -

    Check: Couchbase.Sidebars

    +

    Couchbase.Sidebars

    -

    Fixtures

    Flagged @@ -1921,6 +2794,13 @@

    Fixtures

    ****
    + +
    + (error) + Don't use sidebars. + +
    +
    @@ -1930,6 +2810,13 @@

    Fixtures

    [sidebar]
    + +
    + (error) + Don't use sidebars. + +
    +
    @@ -1939,6 +2826,9 @@

    Fixtures

    This is a regular paragraph, not a sidebar.
    + + +
    @@ -1948,12 +2838,14 @@

    Fixtures

    Use sidebars only when necessary and keep them concise.
    + + +
    -

    Check: Couchbase.StackedHeadings

    +

    Couchbase.StackedHeadings

    -

    Fixtures

    Flagged @@ -1966,6 +2858,13 @@

    Fixtures

    == Heading 2
    + +
    + (error) + You can't have two headings with no content in between. + +
    +
    @@ -1981,12 +2880,14 @@

    Fixtures

    == Heading 2
    + + +
    -

    Check: Couchbase.Terminology

    +

    Couchbase.Terminology

    -

    Fixtures

    Flagged @@ -1995,6 +2896,13 @@

    Fixtures

    This project uses dotnet for development.
    + +
    + (warning) + Use '.NET', not 'dotnet' + +
    +
    @@ -2004,6 +2912,13 @@

    Fixtures

    Please add the adaptor to your system.
    + +
    + (warning) + Use 'adapter', not 'adaptor' + +
    +
    @@ -2013,6 +2928,13 @@

    Fixtures

    We use the whitelist to control access.
    + +
    + (warning) + Use 'Allowlist', not 'whitelist' + +
    +
    @@ -2022,6 +2944,13 @@

    Fixtures

    The code base is large.
    + +
    + (warning) + Use 'codebase', not 'code base' + +
    +
    @@ -2031,6 +2960,13 @@

    Fixtures

    Refer to the data center documentation.
    + +
    + (warning) + Use 'datacenter', not 'data center' + +
    +
    @@ -2040,6 +2976,13 @@

    Fixtures

    She used the plugin for integration.
    + +
    + (warning) + Use 'plug-in', not 'plugin' + +
    +
    @@ -2049,6 +2992,13 @@

    Fixtures

    The master node is down.
    + +
    + (warning) + Use 'primary', not 'master' + +
    +
    @@ -2058,6 +3008,13 @@

    Fixtures

    He prefers to utilize this feature.
    + +
    + (warning) + Use 'use|using', not 'utilize' + +
    +
    @@ -2067,6 +3024,9 @@

    Fixtures

    This project uses .NET for development.
    + + +
    @@ -2076,6 +3036,9 @@

    Fixtures

    Please add the adapter to your system.
    + + +
    @@ -2085,6 +3048,9 @@

    Fixtures

    We use the Allowlist to control access.
    + + +
    @@ -2094,6 +3060,9 @@

    Fixtures

    The codebase is large.
    + + +
    @@ -2103,6 +3072,9 @@

    Fixtures

    Refer to the datacenter documentation.
    + + +
    @@ -2112,6 +3084,9 @@

    Fixtures

    She used the plug-in for integration.
    + + +
    @@ -2121,6 +3096,9 @@

    Fixtures

    The primary node is down.
    + + +
    @@ -2130,12 +3108,14 @@

    Fixtures

    He prefers to use this feature.
    + + +
    -

    Check: Couchbase.Textbox

    +

    Couchbase.Textbox

    -

    Fixtures

    Flagged @@ -2144,6 +3124,13 @@

    Fixtures

    Enter your name in the textbox.
    + +
    + (error) + Don't use "textbox", use "field". If the user can make a selection in the field, use "box". + +
    +
    @@ -2153,6 +3140,13 @@

    Fixtures

    Click the text box to start typing.
    + +
    + (error) + Don't use "textbox", use "field". If the user can make a selection in the field, use "box". + +
    +
    @@ -2162,6 +3156,9 @@

    Fixtures

    Enter your name in the field.
    + + +
    @@ -2171,12 +3168,14 @@

    Fixtures

    Click the box to start typing.
    + + +
    -

    Check: Couchbase.ThereIs

    +

    Couchbase.ThereIs

    -

    Fixtures

    Flagged @@ -2185,6 +3184,13 @@

    Fixtures

    There is a problem with the configuration.
    + +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    +
    @@ -2194,6 +3200,13 @@

    Fixtures

    There is an error in the logs.
    + +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    +
    @@ -2203,6 +3216,13 @@

    Fixtures

    There is a need for more testing.
    + +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    +
    @@ -2212,6 +3232,13 @@

    Fixtures

    There is a button you can click.
    + +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    +
    @@ -2221,6 +3248,9 @@

    Fixtures

    A problem exists with the configuration.
    + + +
    @@ -2230,6 +3260,9 @@

    Fixtures

    An error appears in the logs.
    + + +
    @@ -2239,6 +3272,9 @@

    Fixtures

    More testing is needed.
    + + +
    @@ -2248,20 +3284,25 @@

    Fixtures

    You can click the button.
    + + +
    -

    Check: Couchbase.UnexplainedAcronym

    +

    Couchbase.UnexplainedAcronym

    -

    Fixtures

    Flagged - ❌ Error + ❌ Error
    The HFE is not responding.
    + + +
    @@ -2271,12 +3312,14 @@

    Fixtures

    The Hyperspace Frobnication Engine (HFE) is not responding.
    + + +
    -

    Check: Couchbase.VentilatedProse

    +

    Couchbase.VentilatedProse

    -

    Fixtures

    Flagged @@ -2285,6 +3328,13 @@

    Fixtures

    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    + +
    + (warning) + Use ventilated prose. Start every sentence on a new line. + +
    +
    @@ -2297,12 +3347,14 @@

    Fixtures

    Each sentence starts on a new line for clarity.
    + + +
    -

    Check: Couchbase.Versions

    +

    Couchbase.Versions

    -

    Fixtures

    Flagged @@ -2311,6 +3363,13 @@

    Fixtures

    Use version 6.0 or higher.
    + +
    + (warning) + Use 'later', not 'higher', when talking about versions. + +
    +
    @@ -2320,6 +3379,13 @@

    Fixtures

    Use version 6.0 or newer.
    + +
    + (warning) + Use 'later', not 'newer', when talking about versions. + +
    +
    @@ -2329,6 +3395,13 @@

    Fixtures

    Not available in version 5.0 or lower.
    + +
    + (warning) + Use 'earlier', not 'lower', when talking about versions. + +
    +
    @@ -2338,6 +3411,13 @@

    Fixtures

    Not available in version 5.0 or older.
    + +
    + (warning) + Use 'earlier', not 'older', when talking about versions. + +
    +
    @@ -2347,6 +3427,9 @@

    Fixtures

    Use version 6.0 or later.
    + + +
    @@ -2356,12 +3439,14 @@

    Fixtures

    Not available in version 5.0 or earlier.
    + + +
    -

    Check: Couchbase.Wordy

    +

    Couchbase.Wordy

    -

    Fixtures

    Flagged @@ -2370,6 +3455,13 @@

    Fixtures

    Combating the issue requires a comprehensive understanding of the underlying architecture.
    + +
    + (error) + Use plain language. 'Combating' is too wordy. + +
    +
    @@ -2379,6 +3471,13 @@

    Fixtures

    We will streamline the process to enhance efficiency.
    + +
    + (error) + Use plain language. 'streamline' is too wordy. + +
    +
    @@ -2388,6 +3487,13 @@

    Fixtures

    It is ever thus.
    + +
    + (error) + Use plain language. 'thus' is too wordy. + +
    +
    @@ -2397,6 +3503,9 @@

    Fixtures

    We need to understand the architecture to fix the issue.
    + + +
    @@ -2406,6 +3515,9 @@

    Fixtures

    We will simplify the process to improve efficiency.
    + + +
    @@ -2415,6 +3527,9 @@

    Fixtures

    It's always like this.
    + + +
    From 302a4c7795100eeb340976004d6a5a1d2527fbb6 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 16:36:33 +0100 Subject: [PATCH 16/48] Tweak repeated space test --- ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml | 2 +- ValeStyles/test/adoc/styles.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml b/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml index 3f4d978..a3ad1fa 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.RepeatedSpace.yml @@ -1,6 +1,6 @@ flag: - There are multiple spaces here. - - Check for repeated spaces. + - Check for a single repeated space. compliant: - This sentence has one space between words. - Sentences with {attributes} should not be flagged. diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index be00015..e8e1ad4 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -2461,7 +2461,7 @@

    Couchbase.RepeatedSpace

    -
    Check  for  repeated  spaces.
    +
    Check  for a single repeated space.
    From 4ac17f5b857ec7ee356455f5b7eaf2e99671528f Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 16 Jun 2025 16:40:45 +0100 Subject: [PATCH 17/48] more style tweaks --- ValeStyles/test/adoc/styles.hbs | 8 +++++++- ValeStyles/test/adoc/styles.html | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ValeStyles/test/adoc/styles.hbs b/ValeStyles/test/adoc/styles.hbs index 46fdb0c..db3e213 100644 --- a/ValeStyles/test/adoc/styles.hbs +++ b/ValeStyles/test/adoc/styles.hbs @@ -14,8 +14,14 @@ div.error { border-color: #e53935; border-width: 5px } span.error { color: #e53935; font-weight: bold;} - pre { padding: 1em; border-radius: 3px; overflow-x: auto; } + pre { + background-color: cornsilk; + padding: 1em; + margin: 1em; + border-radius: 6px; + overflow-x: auto; } .meta { color: #888; font-size: 0.9em; } + mark { font-weight: bold; } diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index e8e1ad4..ff0004a 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -14,8 +14,14 @@ div.error { border-color: #e53935; border-width: 5px } span.error { color: #e53935; font-weight: bold;} - pre { padding: 1em; border-radius: 3px; overflow-x: auto; } + pre { + background-color: cornsilk; + padding: 1em; + margin: 1em; + border-radius: 6px; + overflow-x: auto; } .meta { color: #888; font-size: 0.9em; } + mark { font-weight: bold; } From cf7c30e0ee78fc0649a3d220ecd067d4601eca42 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Tue, 17 Jun 2025 15:27:56 +0100 Subject: [PATCH 18/48] delete RepeatedWord test and update html --- .../test/adoc/Test-Couchbase.RepeatedWord.yml | 8 -- ValeStyles/test/adoc/styles.html | 132 ++++-------------- 2 files changed, 28 insertions(+), 112 deletions(-) delete mode 100644 ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml diff --git a/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml b/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml deleted file mode 100644 index 4fefd05..0000000 --- a/ValeStyles/test/adoc/Test-Couchbase.RepeatedWord.yml +++ /dev/null @@ -1,8 +0,0 @@ -flag: - - This is is a repeated word. - - Please please check the document. - - He said that that it was fine. -compliant: - - This is a sentence without repeated words. - - Please check the document. - - He said that it was fine. diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index ff0004a..2e34c46 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -1433,20 +1433,16 @@

    Couchbase.DirectionalLanguage

    Couchbase.Dropdown

    -
    +
    Flagged - + ❌ Error
    -
    Select the drop-down to choose an option.
    +
    Select the drop-down to choose an option.
    -
    - (error) - Don't use "dropdown", use "list". - -
    +
    @@ -1465,16 +1461,20 @@

    Couchbase.Dropdown

    -
    +
    Flagged - ❌ Error +
    -
    Open the dropdowns list.
    +
    Open the dropdowns list.
    - +
    + (error) + Don't use "dropdown", use "list". + +
    @@ -1769,16 +1769,20 @@

    Couchbase.LessFewer

    -
    +
    Flagged - ❌ Error +
    -
    We need less people on the project.
    +
    We need less people on the project.
    - +
    + (warning) + Did you mean less or should this be fewer? + +
    @@ -1865,16 +1869,20 @@

    Couchbase.LessFewer

    Couchbase.Link

    -
    +
    Flagged - ❌ Error +
    -
    <<link,Click the Info link>> to learn more.
    +
    <<link,Click the Info link>> to learn more.
    - +
    + (error) + Don't describe a UI element as a "link." + +
    @@ -2500,90 +2508,6 @@

    Couchbase.RepeatedSpace

    -
    -
    -
    -

    Couchbase.RepeatedWord

    - -
    -
    - Flagged - -
    -
    -
    This is is a repeated word.
    -
    - -
    - (error) - 'is' is repeated! - -
    - -
    -
    -
    - Flagged - ❌ Error -
    -
    -
    Please please check the document.
    -
    - - - -
    -
    -
    - Flagged - -
    -
    -
    He said that that it was fine.
    -
    - -
    - (error) - 'that' is repeated! - -
    - -
    -
    -
    - Compliant - -
    -
    -
    This is a sentence without repeated words.
    -
    - - - -
    -
    -
    - Compliant - -
    -
    -
    Please check the document.
    -
    - - - -
    -
    -
    - Compliant - -
    -
    -
    He said that it was fine.
    -
    - - -
    From d44c17b11213061cfe2da7f88408ab5307469425 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 13:52:07 +0100 Subject: [PATCH 19/48] Update tests and HTML --- ValeStyles/Couchbase/DirectionalLanguage.yml | 1 + ValeStyles/Couchbase/Dropdown.yml | 1 + ValeStyles/Couchbase/Link.yml | 2 +- .../adoc/Test-Couchbase.CouchbaseAutoOp.yml | 1 + ValeStyles/test/adoc/Test-Couchbase.Link.yml | 10 +- .../test/adoc/Test-Couchbase.ReadingLevel.yml | 6 +- .../Test-Couchbase.UnexplainedAcronym.yml | 1 + ValeStyles/test/adoc/styles.hbs | 8 +- ValeStyles/test/adoc/styles.html | 634 +++++++++--------- ValeStyles/test/styles.js | 8 +- 10 files changed, 343 insertions(+), 329 deletions(-) diff --git a/ValeStyles/Couchbase/DirectionalLanguage.yml b/ValeStyles/Couchbase/DirectionalLanguage.yml index 100d2c9..650c136 100644 --- a/ValeStyles/Couchbase/DirectionalLanguage.yml +++ b/ValeStyles/Couchbase/DirectionalLanguage.yml @@ -2,6 +2,7 @@ extends: existence message: Avoid directional language like '%s'. level: warning link: https://docs.couchbase.com/styleguide/directional-language.html +ignorecase: true tokens: - left diff --git a/ValeStyles/Couchbase/Dropdown.yml b/ValeStyles/Couchbase/Dropdown.yml index bd4caa1..da43106 100644 --- a/ValeStyles/Couchbase/Dropdown.yml +++ b/ValeStyles/Couchbase/Dropdown.yml @@ -5,5 +5,6 @@ level: error tokens: - dropdown - drop down + - drop-down - dropdowns - drop downs diff --git a/ValeStyles/Couchbase/Link.yml b/ValeStyles/Couchbase/Link.yml index 8e193bf..36b9998 100644 --- a/ValeStyles/Couchbase/Link.yml +++ b/ValeStyles/Couchbase/Link.yml @@ -4,4 +4,4 @@ level: error link: https://docs.couchbase.com/styleguide/ui-links.html tokens: - - '(?i)\bclick the(?: \*?[\w-]+\*?)* link\b' \ No newline at end of file + - '(?i)\bclick the(?: \*?[\w-]+\*?)* link\b' diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml index 070dca8..7c1e85d 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseAutoOp.yml @@ -1,3 +1,4 @@ +todo: We don't understand how the Vale conditional test works. flag: - The Operator manages the cluster. - Upgrade the Operator to the latest version. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Link.yml b/ValeStyles/test/adoc/Test-Couchbase.Link.yml index 94ec241..3076165 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Link.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Link.yml @@ -1,10 +1,4 @@ flag: - - <> to learn more. - - Click <> to learn more. - - Click <> for more information. - - For more information, see <>. - - Visit <> for details. + - Click the link to continue. compliant: - - Learn more about <>. - - For more information, see the <>. - - Visit the <> for details. + - Click "continue". diff --git a/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml index b769534..01ede8a 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml @@ -1,5 +1,9 @@ +todo: This needs some work. flag: - - Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules. + - | + Utilizing multifaceted methodologies, the system orchestrates a plethora of + functionalities to facilitate seamless interoperability among disparate + modules. compliant: - The system uses many methods to help different modules work together. - This change means we need to review how things work. diff --git a/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml index e732259..ecd84d1 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml @@ -1,3 +1,4 @@ +todo: We don't understand how the Vale conditional test works. flag: - The HFE is not responding. compliant: diff --git a/ValeStyles/test/adoc/styles.hbs b/ValeStyles/test/adoc/styles.hbs index db3e213..032cbcc 100644 --- a/ValeStyles/test/adoc/styles.hbs +++ b/ValeStyles/test/adoc/styles.hbs @@ -9,6 +9,7 @@ h1, h2, h3 { color: #2c3e50; } .check { margin-bottom: 2em; } .fixture { border: 1px solid #ccc; padding: 1em; margin: 1em 0; border-radius: 5px; } + .todo { background: #fff3e0; border: 1px solid #ff9800; padding: 1em; border-radius: 5px; } .compliant { background: #e8f5e9; } .flagged { background: #ffebee; } div.error { border-color: #e53935; @@ -34,8 +35,12 @@

    {{check}}

    + {{#with config.todo}} +
    +
    TODO: {{.}}
    + {{/with}} {{#each checkresults}} -
    +
    {{#if compliant}}Compliant{{else}}Flagged{{/if}} {{#if error}}❌ Error{{/if}} @@ -52,6 +57,7 @@
    {{/each}} + {{#if config.todo}}
    {{/if}}
    {{/each}} diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 2e34c46..8f6960a 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -9,6 +9,7 @@ h1, h2, h3 { color: #2c3e50; } .check { margin-bottom: 2em; } .fixture { border: 1px solid #ccc; padding: 1em; margin: 1em 0; border-radius: 5px; } + .todo { background: #fff3e0; border: 1px solid #ff9800; padding: 1em; border-radius: 5px; } .compliant { background: #e8f5e9; } .flagged { background: #ffebee; } div.error { border-color: #e53935; @@ -33,7 +34,7 @@

    Vale Style Test Results

    Couchbase.An

    -
    +
    Flagged @@ -49,7 +50,7 @@

    Couchbase.An

    -
    +
    Flagged @@ -65,7 +66,7 @@

    Couchbase.An

    -
    +
    Flagged @@ -81,7 +82,7 @@

    Couchbase.An

    -
    +
    Flagged @@ -97,7 +98,7 @@

    Couchbase.An

    -
    +
    Flagged @@ -113,7 +114,7 @@

    Couchbase.An

    -
    +
    Compliant @@ -125,7 +126,7 @@

    Couchbase.An

    -
    +
    Compliant @@ -137,7 +138,7 @@

    Couchbase.An

    -
    +
    Compliant @@ -149,7 +150,7 @@

    Couchbase.An

    -
    +
    Compliant @@ -161,7 +162,7 @@

    Couchbase.An

    -
    +
    Compliant @@ -173,11 +174,12 @@

    Couchbase.An

    +

    Couchbase.App

    -
    +
    Flagged @@ -193,7 +195,7 @@

    Couchbase.App

    -
    +
    Flagged @@ -209,7 +211,7 @@

    Couchbase.App

    -
    +
    Flagged @@ -225,7 +227,7 @@

    Couchbase.App

    -
    +
    Flagged @@ -241,7 +243,7 @@

    Couchbase.App

    -
    +
    Flagged @@ -257,7 +259,7 @@

    Couchbase.App

    -
    +
    Compliant @@ -269,7 +271,7 @@

    Couchbase.App

    -
    +
    Compliant @@ -281,7 +283,7 @@

    Couchbase.App

    -
    +
    Compliant @@ -293,7 +295,7 @@

    Couchbase.App

    -
    +
    Compliant @@ -305,7 +307,7 @@

    Couchbase.App

    -
    +
    Compliant @@ -317,11 +319,12 @@

    Couchbase.App

    +

    Couchbase.Bold

    -
    +
    Flagged @@ -337,7 +340,7 @@

    Couchbase.Bold

    -
    +
    Flagged @@ -353,7 +356,7 @@

    Couchbase.Bold

    -
    +
    Flagged @@ -369,7 +372,7 @@

    Couchbase.Bold

    -
    +
    Compliant @@ -381,7 +384,7 @@

    Couchbase.Bold

    -
    +
    Compliant @@ -393,7 +396,7 @@

    Couchbase.Bold

    -
    +
    Compliant @@ -405,11 +408,12 @@

    Couchbase.Bold

    +

    Couchbase.ButtonMacro

    -
    +
    Flagged @@ -425,7 +429,7 @@

    Couchbase.ButtonMacro

    -
    +
    Flagged @@ -441,7 +445,7 @@

    Couchbase.ButtonMacro

    -
    +
    Flagged @@ -457,11 +461,12 @@

    Couchbase.ButtonMacro

    +

    Couchbase.Checkbox

    -
    +
    Flagged @@ -477,7 +482,7 @@

    Couchbase.Checkbox

    -
    +
    Flagged @@ -493,7 +498,7 @@

    Couchbase.Checkbox

    -
    +
    Compliant @@ -505,7 +510,7 @@

    Couchbase.Checkbox

    -
    +
    Compliant @@ -517,11 +522,12 @@

    Couchbase.Checkbox

    +

    Couchbase.CodeCallouts

    -
    +
    Flagged @@ -544,7 +550,7 @@

    Couchbase.CodeCallouts

    -
    +
    Compliant @@ -561,11 +567,12 @@

    Couchbase.CodeCallouts

    +

    Couchbase.ComplexContractions

    -
    +
    Flagged @@ -581,7 +588,7 @@

    Couchbase.ComplexContractions

    -
    +
    Flagged @@ -597,7 +604,7 @@

    Couchbase.ComplexContractions

    -
    +
    Flagged @@ -613,7 +620,7 @@

    Couchbase.ComplexContractions

    -
    +
    Compliant @@ -625,7 +632,7 @@

    Couchbase.ComplexContractions

    -
    +
    Compliant @@ -637,7 +644,7 @@

    Couchbase.ComplexContractions

    -
    +
    Compliant @@ -649,11 +656,12 @@

    Couchbase.ComplexContractions

    +

    Couchbase.Contractions

    -
    +
    Flagged @@ -669,7 +677,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -685,7 +693,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -701,7 +709,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -717,7 +725,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -733,7 +741,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -749,7 +757,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -765,7 +773,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -781,7 +789,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -797,7 +805,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -813,7 +821,7 @@

    Couchbase.Contractions

    -
    +
    Flagged @@ -829,7 +837,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -841,7 +849,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -853,7 +861,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -865,7 +873,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -877,7 +885,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -889,7 +897,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -901,7 +909,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -913,7 +921,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -925,7 +933,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -937,7 +945,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -949,7 +957,7 @@

    Couchbase.Contractions

    -
    +
    Compliant @@ -961,11 +969,14 @@

    Couchbase.Contractions

    +

    Couchbase.CouchbaseAutoOp

    -
    +
    +
    TODO: We don't understand how the Vale conditional test works.
    +
    Flagged @@ -981,7 +992,7 @@

    Couchbase.CouchbaseAutoOp

    -
    +
    Flagged @@ -997,7 +1008,7 @@

    Couchbase.CouchbaseAutoOp

    -
    +
    Flagged ❌ Error @@ -1009,7 +1020,7 @@

    Couchbase.CouchbaseAutoOp

    -
    +
    Compliant @@ -1021,11 +1032,12 @@

    Couchbase.CouchbaseAutoOp

    +

    Couchbase.CouchbaseServerComm

    -
    +
    Flagged @@ -1041,7 +1053,7 @@

    Couchbase.CouchbaseServerComm

    -
    +
    Flagged @@ -1057,7 +1069,7 @@

    Couchbase.CouchbaseServerComm

    -
    +
    Compliant @@ -1069,7 +1081,7 @@

    Couchbase.CouchbaseServerComm

    -
    +
    Compliant @@ -1081,11 +1093,12 @@

    Couchbase.CouchbaseServerComm

    +

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Flagged @@ -1101,7 +1114,7 @@

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Flagged @@ -1117,7 +1130,7 @@

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Compliant @@ -1129,7 +1142,7 @@

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Compliant @@ -1141,11 +1154,12 @@

    Couchbase.CouchbaseServerWebConsole

    +

    Couchbase.DatePicker

    -
    +
    Flagged @@ -1161,7 +1175,7 @@

    Couchbase.DatePicker

    -
    +
    Flagged @@ -1177,7 +1191,7 @@

    Couchbase.DatePicker

    -
    +
    Compliant @@ -1189,7 +1203,7 @@

    Couchbase.DatePicker

    -
    +
    Compliant @@ -1201,11 +1215,12 @@

    Couchbase.DatePicker

    +

    Couchbase.Dialogs

    -
    +
    Flagged @@ -1221,7 +1236,7 @@

    Couchbase.Dialogs

    -
    +
    Flagged @@ -1237,7 +1252,7 @@

    Couchbase.Dialogs

    -
    +
    Flagged @@ -1253,7 +1268,7 @@

    Couchbase.Dialogs

    -
    +
    Compliant @@ -1265,7 +1280,7 @@

    Couchbase.Dialogs

    -
    +
    Compliant @@ -1277,7 +1292,7 @@

    Couchbase.Dialogs

    -
    +
    Compliant @@ -1289,11 +1304,12 @@

    Couchbase.Dialogs

    +

    Couchbase.DirectionalLanguage

    -
    +
    Flagged @@ -1309,7 +1325,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Flagged @@ -1325,7 +1341,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Flagged @@ -1341,19 +1357,23 @@

    Couchbase.DirectionalLanguage

    -
    +
    Flagged - ❌ Error +
    -
    Move up to the previous section.
    +
    Move up to the previous section.
    - +
    + (warning) + Avoid directional language like 'up'. + +
    -
    +
    Flagged @@ -1369,7 +1389,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Compliant @@ -1381,7 +1401,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Compliant @@ -1393,7 +1413,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Compliant @@ -1405,7 +1425,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Compliant @@ -1417,7 +1437,7 @@

    Couchbase.DirectionalLanguage

    -
    +
    Compliant @@ -1429,23 +1449,28 @@

    Couchbase.DirectionalLanguage

    +

    Couchbase.Dropdown

    -
    +
    Flagged - ❌ Error +
    -
    Select the drop-down to choose an option.
    +
    Select the drop-down to choose an option.
    - +
    + (error) + Don't use "dropdown", use "list". + +
    -
    +
    Flagged @@ -1461,7 +1486,7 @@

    Couchbase.Dropdown

    -
    +
    Flagged @@ -1477,7 +1502,7 @@

    Couchbase.Dropdown

    -
    +
    Compliant @@ -1489,11 +1514,12 @@

    Couchbase.Dropdown

    +

    Couchbase.FancyQuotes

    -
    +
    Flagged @@ -1509,7 +1535,7 @@

    Couchbase.FancyQuotes

    -
    +
    Flagged @@ -1525,7 +1551,7 @@

    Couchbase.FancyQuotes

    -
    +
    Flagged @@ -1541,7 +1567,7 @@

    Couchbase.FancyQuotes

    -
    +
    Compliant @@ -1553,7 +1579,7 @@

    Couchbase.FancyQuotes

    -
    +
    Compliant @@ -1565,7 +1591,7 @@

    Couchbase.FancyQuotes

    -
    +
    Compliant @@ -1577,11 +1603,12 @@

    Couchbase.FancyQuotes

    +

    Couchbase.HeadingFormatting

    -
    +
    Flagged @@ -1597,7 +1624,7 @@

    Couchbase.HeadingFormatting

    -
    +
    Flagged @@ -1613,7 +1640,7 @@

    Couchbase.HeadingFormatting

    -
    +
    Compliant @@ -1625,11 +1652,12 @@

    Couchbase.HeadingFormatting

    +

    Couchbase.Headings

    -
    +
    Flagged @@ -1645,7 +1673,7 @@

    Couchbase.Headings

    -
    +
    Flagged @@ -1661,7 +1689,7 @@

    Couchbase.Headings

    -
    +
    Compliant @@ -1673,7 +1701,7 @@

    Couchbase.Headings

    -
    +
    Compliant @@ -1685,47 +1713,60 @@

    Couchbase.Headings

    +

    Couchbase.Italics

    -
    +
    Flagged - ❌ Error +
    -
    This is _italic_ text using underscores.
    +
    This is _italic_ text using underscores.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    Please click the _Save_ button.
    +
    Please click the _Save_ button.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    Use _important_ for emphasis.
    +
    Use _important_ for emphasis.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    -
    +
    Compliant @@ -1737,7 +1778,7 @@

    Couchbase.Italics

    -
    +
    Compliant @@ -1749,11 +1790,12 @@

    Couchbase.Italics

    +

    Couchbase.LessFewer

    -
    +
    Flagged @@ -1769,7 +1811,7 @@

    Couchbase.LessFewer

    -
    +
    Flagged @@ -1785,7 +1827,7 @@

    Couchbase.LessFewer

    -
    +
    Flagged @@ -1801,7 +1843,7 @@

    Couchbase.LessFewer

    -
    +
    Flagged @@ -1817,7 +1859,7 @@

    Couchbase.LessFewer

    -
    +
    Compliant @@ -1829,7 +1871,7 @@

    Couchbase.LessFewer

    -
    +
    Compliant @@ -1841,7 +1883,7 @@

    Couchbase.LessFewer

    -
    +
    Compliant @@ -1853,7 +1895,7 @@

    Couchbase.LessFewer

    -
    +
    Compliant @@ -1865,17 +1907,18 @@

    Couchbase.LessFewer

    +

    Couchbase.Link

    -
    +
    Flagged
    -
    <<link,Click the Info link>> to learn more.
    +
    Click the link to continue.
    @@ -1885,95 +1928,24 @@

    Couchbase.Link

    -
    -
    - Flagged - ❌ Error -
    -
    -
    Click <<link,the Info link>> to learn more.
    -
    - - - -
    -
    -
    - Flagged - ❌ Error -
    -
    -
    Click <<link,here>> for more information.
    -
    - - - -
    -
    -
    - Flagged - ❌ Error -
    -
    -
    For more information, see <<link,this link>>.
    -
    - - - -
    -
    -
    - Flagged - ❌ Error -
    -
    -
    Visit <<link,the following link>> for details.
    -
    - - - -
    -
    -
    - Compliant - -
    -
    -
    Learn more about <<link,this feature>>.
    -
    - - - -
    -
    +
    Compliant
    -
    For more information, see the <<link,documentation>>.
    -
    - - - -
    -
    -
    - Compliant - -
    -
    -
    Visit the <<link,documentation>> for details.
    +
    Click "continue".
    +

    Couchbase.Monospace

    -
    +
    Flagged @@ -1989,7 +1961,7 @@

    Couchbase.Monospace

    -
    +
    Compliant @@ -2001,11 +1973,12 @@

    Couchbase.Monospace

    +

    Couchbase.NegativeContractions

    -
    +
    Flagged @@ -2021,7 +1994,7 @@

    Couchbase.NegativeContractions

    -
    +
    Flagged @@ -2037,7 +2010,7 @@

    Couchbase.NegativeContractions

    -
    +
    Flagged @@ -2053,7 +2026,7 @@

    Couchbase.NegativeContractions

    -
    +
    Flagged @@ -2069,7 +2042,7 @@

    Couchbase.NegativeContractions

    -
    +
    Flagged @@ -2085,7 +2058,7 @@

    Couchbase.NegativeContractions

    -
    +
    Compliant @@ -2097,7 +2070,7 @@

    Couchbase.NegativeContractions

    -
    +
    Compliant @@ -2109,7 +2082,7 @@

    Couchbase.NegativeContractions

    -
    +
    Compliant @@ -2121,7 +2094,7 @@

    Couchbase.NegativeContractions

    -
    +
    Compliant @@ -2133,7 +2106,7 @@

    Couchbase.NegativeContractions

    -
    +
    Compliant @@ -2145,11 +2118,12 @@

    Couchbase.NegativeContractions

    +

    Couchbase.NoteThat

    -
    +
    Flagged @@ -2165,7 +2139,7 @@

    Couchbase.NoteThat

    -
    +
    Flagged @@ -2181,7 +2155,7 @@

    Couchbase.NoteThat

    -
    +
    Flagged @@ -2197,7 +2171,7 @@

    Couchbase.NoteThat

    -
    +
    Compliant @@ -2209,7 +2183,7 @@

    Couchbase.NoteThat

    -
    +
    Compliant @@ -2221,7 +2195,7 @@

    Couchbase.NoteThat

    -
    +
    Compliant @@ -2233,11 +2207,12 @@

    Couchbase.NoteThat

    +

    Couchbase.Please

    -
    +
    Flagged @@ -2253,7 +2228,7 @@

    Couchbase.Please

    -
    +
    Flagged @@ -2269,7 +2244,7 @@

    Couchbase.Please

    -
    +
    Flagged @@ -2285,7 +2260,7 @@

    Couchbase.Please

    -
    +
    Compliant @@ -2297,7 +2272,7 @@

    Couchbase.Please

    -
    +
    Compliant @@ -2309,7 +2284,7 @@

    Couchbase.Please

    -
    +
    Compliant @@ -2321,11 +2296,12 @@

    Couchbase.Please

    +

    Couchbase.Quotations

    -
    +
    Flagged @@ -2341,7 +2317,7 @@

    Couchbase.Quotations

    -
    +
    Flagged @@ -2357,7 +2333,7 @@

    Couchbase.Quotations

    -
    +
    Flagged @@ -2373,7 +2349,7 @@

    Couchbase.Quotations

    -
    +
    Compliant @@ -2385,7 +2361,7 @@

    Couchbase.Quotations

    -
    +
    Compliant @@ -2397,7 +2373,7 @@

    Couchbase.Quotations

    -
    +
    Compliant @@ -2409,23 +2385,29 @@

    Couchbase.Quotations

    +

    Couchbase.ReadingLevel

    -
    +
    +
    TODO: This needs some work.
    +
    Flagged ❌ Error
    -
    Utilizing multifaceted methodologies, the system orchestrates a plethora of functionalities to facilitate seamless interoperability among disparate modules.
    +
    Utilizing multifaceted methodologies, the system orchestrates a plethora of
    +functionalities to facilitate seamless interoperability among disparate
    +modules.
    +
    -
    +
    Compliant @@ -2437,7 +2419,7 @@

    Couchbase.ReadingLevel

    -
    +
    Compliant @@ -2449,11 +2431,12 @@

    Couchbase.ReadingLevel

    +

    Couchbase.RepeatedSpace

    -
    +
    Flagged @@ -2469,7 +2452,7 @@

    Couchbase.RepeatedSpace

    -
    +
    Flagged @@ -2485,7 +2468,7 @@

    Couchbase.RepeatedSpace

    -
    +
    Compliant @@ -2497,7 +2480,7 @@

    Couchbase.RepeatedSpace

    -
    +
    Compliant @@ -2509,11 +2492,12 @@

    Couchbase.RepeatedSpace

    +

    Couchbase.RunOn

    -
    +
    Flagged @@ -2529,7 +2513,7 @@

    Couchbase.RunOn

    -
    +
    Compliant @@ -2541,11 +2525,12 @@

    Couchbase.RunOn

    +

    Couchbase.SQL

    -
    +
    Flagged @@ -2561,7 +2546,7 @@

    Couchbase.SQL

    -
    +
    Compliant @@ -2573,11 +2558,12 @@

    Couchbase.SQL

    +

    Couchbase.See

    -
    +
    Flagged @@ -2593,7 +2579,7 @@

    Couchbase.See

    -
    +
    Flagged @@ -2609,7 +2595,7 @@

    Couchbase.See

    -
    +
    Compliant @@ -2621,7 +2607,7 @@

    Couchbase.See

    -
    +
    Compliant @@ -2633,11 +2619,12 @@

    Couchbase.See

    +

    Couchbase.Semi-Colons

    -
    +
    Flagged @@ -2653,7 +2640,7 @@

    Couchbase.Semi-Colons

    -
    +
    Compliant @@ -2665,11 +2652,12 @@

    Couchbase.Semi-Colons

    +

    Couchbase.SentenceLength

    -
    +
    Flagged @@ -2685,7 +2673,7 @@

    Couchbase.SentenceLength

    -
    +
    Compliant @@ -2697,7 +2685,7 @@

    Couchbase.SentenceLength

    -
    +
    Compliant @@ -2709,11 +2697,12 @@

    Couchbase.SentenceLength

    +

    Couchbase.Sidebars

    -
    +
    Flagged @@ -2732,7 +2721,7 @@

    Couchbase.Sidebars

    -
    +
    Flagged @@ -2748,7 +2737,7 @@

    Couchbase.Sidebars

    -
    +
    Compliant @@ -2760,7 +2749,7 @@

    Couchbase.Sidebars

    -
    +
    Compliant @@ -2772,11 +2761,12 @@

    Couchbase.Sidebars

    +

    Couchbase.StackedHeadings

    -
    +
    Flagged @@ -2796,7 +2786,7 @@

    Couchbase.StackedHeadings

    -
    +
    Compliant @@ -2814,11 +2804,12 @@

    Couchbase.StackedHeadings

    +

    Couchbase.Terminology

    -
    +
    Flagged @@ -2834,7 +2825,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2850,7 +2841,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2866,7 +2857,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2882,7 +2873,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2898,7 +2889,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2914,7 +2905,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2930,7 +2921,7 @@

    Couchbase.Terminology

    -
    +
    Flagged @@ -2946,7 +2937,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -2958,7 +2949,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -2970,7 +2961,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -2982,7 +2973,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -2994,7 +2985,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -3006,7 +2997,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -3018,7 +3009,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -3030,7 +3021,7 @@

    Couchbase.Terminology

    -
    +
    Compliant @@ -3042,11 +3033,12 @@

    Couchbase.Terminology

    +

    Couchbase.Textbox

    -
    +
    Flagged @@ -3062,7 +3054,7 @@

    Couchbase.Textbox

    -
    +
    Flagged @@ -3078,7 +3070,7 @@

    Couchbase.Textbox

    -
    +
    Compliant @@ -3090,7 +3082,7 @@

    Couchbase.Textbox

    -
    +
    Compliant @@ -3102,11 +3094,12 @@

    Couchbase.Textbox

    +

    Couchbase.ThereIs

    -
    +
    Flagged @@ -3122,7 +3115,7 @@

    Couchbase.ThereIs

    -
    +
    Flagged @@ -3138,7 +3131,7 @@

    Couchbase.ThereIs

    -
    +
    Flagged @@ -3154,7 +3147,7 @@

    Couchbase.ThereIs

    -
    +
    Flagged @@ -3170,7 +3163,7 @@

    Couchbase.ThereIs

    -
    +
    Compliant @@ -3182,7 +3175,7 @@

    Couchbase.ThereIs

    -
    +
    Compliant @@ -3194,7 +3187,7 @@

    Couchbase.ThereIs

    -
    +
    Compliant @@ -3206,7 +3199,7 @@

    Couchbase.ThereIs

    -
    +
    Compliant @@ -3218,11 +3211,14 @@

    Couchbase.ThereIs

    +

    Couchbase.UnexplainedAcronym

    -
    +
    +
    TODO: We don't understand how the Vale conditional test works.
    +
    Flagged ❌ Error @@ -3234,7 +3230,7 @@

    Couchbase.UnexplainedAcronym

    -
    +
    Compliant @@ -3246,11 +3242,12 @@

    Couchbase.UnexplainedAcronym

    +

    Couchbase.VentilatedProse

    -
    +
    Flagged @@ -3266,7 +3263,7 @@

    Couchbase.VentilatedProse

    -
    +
    Compliant @@ -3281,11 +3278,12 @@

    Couchbase.VentilatedProse

    +

    Couchbase.Versions

    -
    +
    Flagged @@ -3301,7 +3299,7 @@

    Couchbase.Versions

    -
    +
    Flagged @@ -3317,7 +3315,7 @@

    Couchbase.Versions

    -
    +
    Flagged @@ -3333,7 +3331,7 @@

    Couchbase.Versions

    -
    +
    Flagged @@ -3349,7 +3347,7 @@

    Couchbase.Versions

    -
    +
    Compliant @@ -3361,7 +3359,7 @@

    Couchbase.Versions

    -
    +
    Compliant @@ -3373,11 +3371,12 @@

    Couchbase.Versions

    +

    Couchbase.Wordy

    -
    +
    Flagged @@ -3393,7 +3392,7 @@

    Couchbase.Wordy

    -
    +
    Flagged @@ -3409,7 +3408,7 @@

    Couchbase.Wordy

    -
    +
    Flagged @@ -3425,7 +3424,7 @@

    Couchbase.Wordy

    -
    +
    Compliant @@ -3437,7 +3436,7 @@

    Couchbase.Wordy

    -
    +
    Compliant @@ -3449,7 +3448,7 @@

    Couchbase.Wordy

    -
    +
    Compliant @@ -3461,6 +3460,7 @@

    Couchbase.Wordy

    +
    \ No newline at end of file diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index e324f74..eb80f2b 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -67,7 +67,7 @@ describe(`Report Vale tests against specific styles - output to file://${process // to determine if there is an error const error = compliant != fixture.compliant - return {...fixture, matching, error, html} + return {...config, ...fixture, matching, error, html} }) return { check, @@ -93,8 +93,14 @@ describe(`Report Vale tests against specific styles - output to file://${process const {check, config, checkresults} = result describe(`Check ${check}`, function () { + + if (config.todo) { + this.skip(`TODO: ${todo}`) + } + for (const fixture of checkresults) { const {compliant, matching, path, content, error} = fixture + if (compliant) { ok(`${check} (compliant)`, function () { From 3e284c193ed235be6292abf627ca2bc9b26f2f60 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:00:02 +0100 Subject: [PATCH 20/48] diagnostics --- .github/workflows/test-vale-styles.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index 568e5ad..9cb24a6 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -20,4 +20,6 @@ jobs: working-directory: ./ValeStyles run: | npm ci + pwd + ls npm test From 27e77ddc36469c8259d26780a9f73813c3dc5dab Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:06:30 +0100 Subject: [PATCH 21/48] install vale --- .github/workflows/test-vale-styles.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index 9cb24a6..c2f2280 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -9,6 +9,14 @@ jobs: npm-test: runs-on: ubuntu-latest steps: + - name: install asciidoctor + run: | + sudo apt-get install -y asciidoctor + + - name: install vale + run: | + sudo snap install vale + - name: checkout repo uses: actions/checkout@v4 From bbeb9e13269dd427b017e5ba0f30101e34d66b00 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:11:33 +0100 Subject: [PATCH 22/48] add .vale.ini --- ValeStyles/.vale.ini | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ValeStyles/.vale.ini b/ValeStyles/.vale.ini index fc9ea50..6f0f62f 100644 --- a/ValeStyles/.vale.ini +++ b/ValeStyles/.vale.ini @@ -1,6 +1,5 @@ StylesPath = "." -# The MinAlertLevel for the GitHub Action is different from the recommendation for running Vale locally. -MinAlertLevel = warning +MinAlertLevel = suggestion Vocab = Couchbase @@ -28,7 +27,6 @@ experimental = YES attribute-missing = drop [*.{adoc,md,txt}] -BasedOnStyles = Vale, write-good, proselint, Couchbase, Google +BasedOnStyles = Couchbase -# Vale.Spelling = NO -# Couchbase.HeadingFormatting = NO +Vale.Spelling = NO From 40f6ea6c799da3023df7281c42dc940b964cdc07 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:13:02 +0100 Subject: [PATCH 23/48] reset to all used in actual config --- ValeStyles/.vale.ini | 2 +- ValeStyles/test/adoc/styles.html | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ValeStyles/.vale.ini b/ValeStyles/.vale.ini index 6f0f62f..80279fb 100644 --- a/ValeStyles/.vale.ini +++ b/ValeStyles/.vale.ini @@ -27,6 +27,6 @@ experimental = YES attribute-missing = drop [*.{adoc,md,txt}] -BasedOnStyles = Couchbase +BasedOnStyles = Vale, write-good, proselint, Couchbase, Google Vale.Spelling = NO diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 8f6960a..02cde92 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -1008,16 +1008,20 @@

    Couchbase.CouchbaseAutoOp

    -
    +
    Flagged - ❌ Error +
    -
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    +
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    - +
    + (error) + Use the full product name (Couchbase Autonomous Operator) first. + +
    From e597f6a45e52f6e07f79401feaa2938ce3057726 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:45:29 +0100 Subject: [PATCH 24/48] diagnostics --- ValeStyles/test/adoc/styles.html | 12 ++++-------- ValeStyles/test/styles.js | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 02cde92..8f6960a 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -1008,20 +1008,16 @@

    Couchbase.CouchbaseAutoOp

    -
    +
    Flagged - + ❌ Error
    -
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    +
    The Operator supports rolling upgrades. We call it the Couchbase Autonomous Operator.
    -
    - (error) - Use the full product name (Couchbase Autonomous Operator) first. - -
    +
    diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index eb80f2b..d613bac 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -51,6 +51,7 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) + console.log(valeout, tmp) const results = tests.map( function([check, config, fixtures]) { From 102bcbfd035c609cc89505ea7a4adbb584dc4591 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:49:32 +0100 Subject: [PATCH 25/48] diagnostics --- .github/workflows/test-vale-styles.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index c2f2280..f13e68a 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -24,6 +24,13 @@ jobs: with: node-version: 22 + - name: diagnose Vale + run: | + vale -v + vale ls-dirs + vale ls-config + vale ls-vars + - name: npm test working-directory: ./ValeStyles run: | From f63c3523abd05a7058e7cfc22cebd966fbe9d6ab Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 14:51:38 +0100 Subject: [PATCH 26/48] working-directory --- .github/workflows/test-vale-styles.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index f13e68a..c5908b5 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -25,6 +25,7 @@ jobs: node-version: 22 - name: diagnose Vale + working-directory: ./ValeStyles run: | vale -v vale ls-dirs From 3c1c3225eb7564660a8834dfdbe055134f4759d4 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 15:10:09 +0100 Subject: [PATCH 27/48] readdir diagnostics --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index d613bac..4f05fdf 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -51,7 +51,7 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) - console.log(valeout, tmp) + console.log(valeout, tmp, fs.readdirSync(tmp)) const results = tests.map( function([check, config, fixtures]) { From 72070955ff7917c334a4091ad7d622348cb46f28 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 15:57:27 +0100 Subject: [PATCH 28/48] more diag --- ValeStyles/test/styles.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 4f05fdf..af3b976 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -51,7 +51,13 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) - console.log(valeout, tmp, fs.readdirSync(tmp)) + console.log(valeout, tmp, fs.readdirSync(tmp), + fs.readFileSync(`${tmp}/Couchbase.An-compliant-0.txt`, 'utf8')) + + const diag = spawnSync( + 'vale', ['ls-config']) + console.log(diag.stdout) + const results = tests.map( function([check, config, fixtures]) { From 901d7ba4b7ba4dad5894c5ec9a331cbf5469a23f Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Fri, 20 Jun 2025 16:00:09 +0100 Subject: [PATCH 29/48] toString --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index af3b976..6110db8 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -56,7 +56,7 @@ describe(`Report Vale tests against specific styles - output to file://${process const diag = spawnSync( 'vale', ['ls-config']) - console.log(diag.stdout) + console.log(diag.stdout.toString()) const results = tests.map( From b63fc9fcb0507e8444a14d0c9d449bb8c8a0e51b Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 23 Jun 2025 12:09:36 +0100 Subject: [PATCH 30/48] more diagnostics --- ValeStyles/test/styles.js | 1 + 1 file changed, 1 insertion(+) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 6110db8..427dc04 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -51,6 +51,7 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) + console.log(vale.stderr.toString()) console.log(valeout, tmp, fs.readdirSync(tmp), fs.readFileSync(`${tmp}/Couchbase.An-compliant-0.txt`, 'utf8')) From 4795a30de457e3bf16f31ccb787d464cc70add6d Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 23 Jun 2025 12:12:23 +0100 Subject: [PATCH 31/48] more diagnostics --- ValeStyles/test/styles.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 427dc04..1d92684 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -36,6 +36,10 @@ describe(`Report Vale tests against specific styles - output to file://${process ]] }) + vv = spawnSync( + 'vale', [ '-v' ]) + console.log(`Vale version: ${vv.stdout.toString()}`) + try { vale = spawnSync( 'vale', From dfefb68491c99db6362019d177b0c0549cb1e2c9 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 23 Jun 2025 12:15:37 +0100 Subject: [PATCH 32/48] more diag --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 1d92684..362db04 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -55,7 +55,7 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) - console.log(vale.stderr.toString()) + console.log(vale.stderr.toString(), vale.stdout.toString()) console.log(valeout, tmp, fs.readdirSync(tmp), fs.readFileSync(`${tmp}/Couchbase.An-compliant-0.txt`, 'utf8')) From 983ce62e765257eee72bd0945fcde527127de59b Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 23 Jun 2025 15:41:13 +0100 Subject: [PATCH 33/48] Fixed UnexplainedAcronym rule after much wailing and lamentation. --- ValeStyles/Couchbase/UnexplainedAcronym.yml | 6 ++-- .../Test-Couchbase.UnexplainedAcronym.yml | 4 ++- ValeStyles/test/adoc/styles.html | 32 ++++++++++++++----- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/ValeStyles/Couchbase/UnexplainedAcronym.yml b/ValeStyles/Couchbase/UnexplainedAcronym.yml index 1abb056..5c24715 100644 --- a/ValeStyles/Couchbase/UnexplainedAcronym.yml +++ b/ValeStyles/Couchbase/UnexplainedAcronym.yml @@ -2,7 +2,7 @@ extends: conditional message: "'%s' hasn't been defined. Spell it out if it's unfamiliar to the audience." link: 'https://developers.google.com/style/abbreviations' level: error -scope: text +# scope: text ignorecase: false # Ensures that the existence of 'first' implies the existence of 'second'. first: '\b([A-Z]{3,5})\b' @@ -94,7 +94,7 @@ exceptions: - NEST - NOT - NOTE - - NULL + - "NULL" # because YAML - NULLS - NVDA - ORDER @@ -167,4 +167,4 @@ exceptions: - XOR - XSS - YAML - - ZIP \ No newline at end of file + - ZIP diff --git a/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml index ecd84d1..887a361 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.UnexplainedAcronym.yml @@ -1,5 +1,7 @@ -todo: We don't understand how the Vale conditional test works. flag: - The HFE is not responding. compliant: - The Hyperspace Frobnication Engine (HFE) is not responding. + - | + Let us look at the Hyperspace Frobnication Engine (HFE). + The HFE is responsible for frobnicating the unobtanium in the engine. diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 8f6960a..250dc7d 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -3216,21 +3216,23 @@

    Couchbase.ThereIs

    Couchbase.UnexplainedAcronym

    -
    -
    TODO: We don't understand how the Vale conditional test works.
    -
    +
    Flagged - ❌ Error +
    -
    The HFE is not responding.
    +
    The HFE is not responding.
    - +
    + (error) + 'HFE' hasn't been defined. Spell it out if it's unfamiliar to the audience. + +
    -
    +
    Compliant @@ -3242,7 +3244,21 @@

    Couchbase.UnexplainedAcronym

    -
    +
    +
    + Compliant + +
    +
    +
    Let us look at the Hyperspace Frobnication Engine (HFE).
    +The HFE is responsible for frobnicating the unobtanium in the engine.
    +
    +
    + + + +
    +

    Couchbase.VentilatedProse

    From 3e84afc5e700afac9f47f6ac01503d6aa2a6b4e3 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:32:06 +0100 Subject: [PATCH 34/48] diagnostics --- ValeStyles/test/styles.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 362db04..f735da8 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -55,14 +55,15 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) - console.log(vale.stderr.toString(), vale.stdout.toString()) + console.log("DIAG", vale.stderr.toString(), vale.stdout.toString()) console.log(valeout, tmp, fs.readdirSync(tmp), fs.readFileSync(`${tmp}/Couchbase.An-compliant-0.txt`, 'utf8')) const diag = spawnSync( 'vale', ['ls-config']) - console.log(diag.stdout.toString()) + console.log("DIAG", diag.stdout.toString()) + console.log("PWD", process.cwd()) const results = tests.map( function([check, config, fixtures]) { From 484bfa12bf5403363ffc90481be8c3be09b6f990 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:35:10 +0100 Subject: [PATCH 35/48] explicit config location --- ValeStyles/test/styles.js | 1 + 1 file changed, 1 insertion(+) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index f735da8..893e4d3 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -45,6 +45,7 @@ describe(`Report Vale tests against specific styles - output to file://${process 'vale', [ tmp, + '--config', `${process.cwd()}/.vale.ini`, '--output', 'JSON', '--minAlertLevel', 'suggestion', ], From 7917d60448d7e4477b8b58fbd11e4192de5cc30c Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:37:52 +0100 Subject: [PATCH 36/48] no-global ? --- ValeStyles/test/styles.js | 1 + 1 file changed, 1 insertion(+) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 893e4d3..2eae830 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -46,6 +46,7 @@ describe(`Report Vale tests against specific styles - output to file://${process [ tmp, '--config', `${process.cwd()}/.vale.ini`, + '--no-global', '--output', 'JSON', '--minAlertLevel', 'suggestion', ], From 459f6bc7448a7affbe02a9c35ad9f7c92bde5116 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:44:14 +0100 Subject: [PATCH 37/48] VALE_STYLES_PATH --- ValeStyles/test/styles.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 2eae830..115815c 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -40,6 +40,8 @@ describe(`Report Vale tests against specific styles - output to file://${process 'vale', [ '-v' ]) console.log(`Vale version: ${vv.stdout.toString()}`) + os.env.VALE_STYLES_PATH = ${process.cwd()} + try { vale = spawnSync( 'vale', From 3b2d0bff78de491e30fe2720b5020628e5230d47 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:45:59 +0100 Subject: [PATCH 38/48] fix --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 115815c..dfaac54 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -40,7 +40,7 @@ describe(`Report Vale tests against specific styles - output to file://${process 'vale', [ '-v' ]) console.log(`Vale version: ${vv.stdout.toString()}`) - os.env.VALE_STYLES_PATH = ${process.cwd()} + os.env.VALE_STYLES_PATH = process.cwd() try { vale = spawnSync( From 3d0407368bf8b55ee9b815155aca6efb37a29c75 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 11:49:40 +0100 Subject: [PATCH 39/48] fix --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index dfaac54..173dfac 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -40,7 +40,7 @@ describe(`Report Vale tests against specific styles - output to file://${process 'vale', [ '-v' ]) console.log(`Vale version: ${vv.stdout.toString()}`) - os.env.VALE_STYLES_PATH = process.cwd() + process.env['VALE_STYLES_PATH'] = process.cwd() try { vale = spawnSync( From 573295c09abe32122c38dad798760e7a63a82019 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:00:53 +0100 Subject: [PATCH 40/48] tweak --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 173dfac..a584678 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -46,7 +46,7 @@ describe(`Report Vale tests against specific styles - output to file://${process vale = spawnSync( 'vale', [ - tmp, + `${tmp}/`, '--config', `${process.cwd()}/.vale.ini`, '--no-global', '--output', 'JSON', From 7779d4a35026743cdf7b957c707989d0781c1b8f Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:03:11 +0100 Subject: [PATCH 41/48] experiment hardcode single fixture Please enter the commit message for your changes. Lines starting --- ValeStyles/test/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index a584678..8d06874 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -46,7 +46,7 @@ describe(`Report Vale tests against specific styles - output to file://${process vale = spawnSync( 'vale', [ - `${tmp}/`, + `${tmp}/Couchbase.An-flag-0.txt`, '--config', `${process.cwd()}/.vale.ini`, '--no-global', '--output', 'JSON', From 479eeb20f96e1dc4317c1a3875ae83fc05cb11cb Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:22:05 +0100 Subject: [PATCH 42/48] use Github Actions $RUNNER_TEMP variable --- ValeStyles/test/adoc/styles.html | 1388 ++++++++++-------------------- ValeStyles/test/styles.js | 3 +- 2 files changed, 466 insertions(+), 925 deletions(-) diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 250dc7d..9dee967 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -50,68 +50,52 @@

    Couchbase.An

    -
    +
    Flagged - + ❌ Error
    -
    She wrote a email to the team.
    +
    She wrote a email to the team.
    -
    - (error) - Use "an," not "a." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    He found a unusual error in the logs.
    +
    He found a unusual error in the logs.
    -
    - (error) - Use "an," not "a." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We need a update before release.
    +
    We need a update before release.
    -
    - (error) - Use "an," not "a." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please submit a application.
    +
    Please submit a application.
    -
    - (error) - Use "an," not "a." - -
    +
    @@ -179,84 +163,64 @@

    Couchbase.An

    Couchbase.App

    -
    +
    Flagged - + ❌ Error
    -
    Please open the app to continue.
    +
    Please open the app to continue.
    -
    - (warning) - Use application, not app, unless you're working on Mobile documentation. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The app crashed unexpectedly.
    +
    The app crashed unexpectedly.
    -
    - (warning) - Use application, not app, unless you're working on Mobile documentation. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    She downloaded the app from the store.
    +
    She downloaded the app from the store.
    -
    - (warning) - Use application, not app, unless you're working on Mobile documentation. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    He deleted the app by mistake.
    +
    He deleted the app by mistake.
    -
    - (warning) - Use application, not app, unless you're working on Mobile documentation. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We updated the app yesterday.
    +
    We updated the app yesterday.
    -
    - (warning) - Use application, not app, unless you're working on Mobile documentation. - -
    +
    @@ -324,52 +288,40 @@

    Couchbase.App

    Couchbase.Bold

    -
    +
    Flagged - + ❌ Error
    -
    This is *bold* text using asterisks.
    +
    This is *bold* text using asterisks.
    -
    - (suggestion) - Did you follow the guidelines for bold font? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please click the *Save* button.
    +
    Please click the *Save* button.
    -
    - (suggestion) - Did you follow the guidelines for bold font? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Use *important* for emphasis.
    +
    Use *important* for emphasis.
    -
    - (suggestion) - Did you follow the guidelines for bold font? - -
    +
    @@ -413,52 +365,40 @@

    Couchbase.Bold

    Couchbase.ButtonMacro

    -
    +
    Flagged - + ❌ Error
    -
    Click the btn:[Save] button to continue.
    +
    Click the btn:[Save] button to continue.
    -
    - (suggestion) - Did you follow the guidelines for the button macro? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Press the btn:[Cancel] button to exit.
    +
    Press the btn:[Cancel] button to exit.
    -
    - (suggestion) - Did you follow the guidelines for the button macro? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Select the btn:[Submit] button to proceed.
    +
    Select the btn:[Submit] button to proceed.
    -
    - (suggestion) - Did you follow the guidelines for the button macro? - -
    +
    @@ -466,36 +406,28 @@

    Couchbase.ButtonMacro

    Couchbase.Checkbox

    -
    +
    Flagged - + ❌ Error
    -
    Select the checkbox to agree.
    +
    Select the checkbox to agree.
    -
    - (error) - Don't use 'checkbox'. Just use the label from the UI. Add 'click' or 'clear' as needed. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Tick the OK check box if you accept.
    +
    Tick the OK check box if you accept.
    -
    - (error) - Don't use 'check box'. Just use the label from the UI. Add 'click' or 'clear' as needed. - -
    +
    @@ -527,10 +459,10 @@

    Couchbase.Checkbox

    Couchbase.CodeCallouts

    -
    +
    Flagged - + ❌ Error
    [source,java
    @@ -539,15 +471,11 @@ 

    Couchbase.CodeCallouts

    ... } -- -<1> This is a code callout. +<1> This is a code callout.
    -
    - (error) - Don't use code callouts. Break up your code samples or use code comments, instead. - -
    +
    @@ -572,52 +500,40 @@

    Couchbase.CodeCallouts

    Couchbase.ComplexContractions

    -
    +
    Flagged - + ❌ Error
    -
    What'll become of the database?
    +
    What'll become of the database?
    -
    - (error) - Do not use complex contractions like 'What'll'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We must've missed the deadline.
    +
    We must've missed the deadline.
    -
    - (error) - Do not use complex contractions like 'must've'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We would've liked to help you.
    +
    We would've liked to help you.
    -
    - (error) - Do not use complex contractions like 'would've'. - -
    +
    @@ -661,180 +577,136 @@

    Couchbase.ComplexContractions

    Couchbase.Contractions

    -
    +
    Flagged - + ❌ Error
    -
    It is important to follow the guidelines.
    +
    It is important to follow the guidelines.
    -
    - (error) - Use 'it's' instead of 'It is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    How is this feature used?
    +
    How is this feature used?
    -
    - (error) - Use 'how's' instead of 'How is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    That is not supported.
    +
    That is not supported.
    -
    - (error) - Use 'that's' instead of 'That is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    They are working on the fix.
    +
    They are working on the fix.
    -
    - (error) - Use 'they're' instead of 'They are'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We are planning a release.
    +
    We are planning a release.
    -
    - (error) - Use 'we're' instead of 'We are'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    What is the status?
    +
    What is the status?
    -
    - (error) - Use 'what's' instead of 'What is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Where is the documentation?
    +
    Where is the documentation?
    -
    - (error) - Use 'where's' instead of 'Where is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Who is responsible for this?
    +
    Who is responsible for this?
    -
    - (error) - Use 'who's' instead of 'Who is'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    You are required to sign in.
    +
    You are required to sign in.
    -
    - (error) - Use 'you're' instead of 'You are'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    You had better check the logs.
    +
    You had better check the logs.
    -
    - (error) - Use 'you'd' instead of 'You had'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    You will need to update your client.
    +
    You will need to update your client.
    -
    - (error) - Use 'you'll' instead of 'You will'. - -
    +
    @@ -976,36 +848,28 @@

    Couchbase.CouchbaseAutoOp

    TODO: We don't understand how the Vale conditional test works.
    -
    +
    Flagged - + ❌ Error
    -
    The Operator manages the cluster.
    +
    The Operator manages the cluster.
    -
    - (error) - Use the full product name (Couchbase Autonomous Operator) first. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Upgrade the Operator to the latest version.
    +
    Upgrade the Operator to the latest version.
    -
    - (error) - Use the full product name (Couchbase Autonomous Operator) first. - -
    +
    @@ -1037,36 +901,28 @@

    Couchbase.CouchbaseAutoOp

    Couchbase.CouchbaseServerComm

    -
    +
    Flagged - + ❌ Error
    -
    You can download Community Edition from our website.
    +
    You can download Community Edition from our website.
    -
    - (error) - Use the full product name (Couchbase Server Community Edition) first. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The Community Edition is free to use.
    +
    The Community Edition is free to use.
    -
    - (error) - Use the full product name (Couchbase Server Community Edition) first. - -
    +
    @@ -1098,36 +954,28 @@

    Couchbase.CouchbaseServerComm

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Flagged - + ❌ Error
    -
    You can access the Web Console to manage your cluster.
    +
    You can access the Web Console to manage your cluster.
    -
    - (error) - Use the full product name (Couchbase Server Web Console) first. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The Web Console provides a user-friendly interface.
    +
    The Web Console provides a user-friendly interface.
    -
    - (error) - Use the full product name (Couchbase Server Web Console) first. - -
    +
    @@ -1159,36 +1007,28 @@

    Couchbase.CouchbaseServerWebConsole

    Couchbase.DatePicker

    -
    +
    Flagged - + ❌ Error
    -
    Select the Date Picker to choose a date.
    +
    Select the Date Picker to choose a date.
    -
    - (error) - Don't bold or capitalize "date picker." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Click the *date picker* field.
    +
    Click the *date picker* field.
    -
    - (error) - Don't bold or capitalize "date picker." - -
    +
    @@ -1220,52 +1060,40 @@

    Couchbase.DatePicker

    Couchbase.Dialogs

    -
    +
    Flagged - + ❌ Error
    -
    A Dialog will appear.
    +
    A Dialog will appear.
    -
    - (error) - Don't bold or capitalize the word "dialog". - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Click the *dialog* to continue.
    +
    Click the *dialog* to continue.
    -
    - (error) - Don't bold or capitalize the word "dialog". - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The *dialog box* is displayed.
    +
    The *dialog box* is displayed.
    -
    - (error) - Don't bold or capitalize the word "dialog". - -
    +
    @@ -1309,84 +1137,64 @@

    Couchbase.Dialogs

    Couchbase.DirectionalLanguage

    -
    +
    Flagged - + ❌ Error
    -
    Click the button on the left.
    +
    Click the button on the left.
    -
    - (warning) - Avoid directional language like 'left'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Scroll down to see more options.
    +
    Scroll down to see more options.
    -
    - (warning) - Avoid directional language like 'down'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The settings are below the menu.
    +
    The settings are below the menu.
    -
    - (warning) - Avoid directional language like 'below'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Move up to the previous section.
    +
    Move up to the previous section.
    -
    - (warning) - Avoid directional language like 'up'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The icon is above the text.
    +
    The icon is above the text.
    -
    - (warning) - Avoid directional language like 'above'. - -
    +
    @@ -1454,52 +1262,40 @@

    Couchbase.DirectionalLanguage

    Couchbase.Dropdown

    -
    +
    Flagged - + ❌ Error
    -
    Select the drop-down to choose an option.
    +
    Select the drop-down to choose an option.
    -
    - (error) - Don't use "dropdown", use "list". - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Click the dropdown menu.
    +
    Click the dropdown menu.
    -
    - (error) - Don't use "dropdown", use "list". - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Open the dropdowns list.
    +
    Open the dropdowns list.
    -
    - (error) - Don't use "dropdown", use "list". - -
    +
    @@ -1519,52 +1315,40 @@

    Couchbase.Dropdown

    Couchbase.FancyQuotes

    -
    +
    Flagged - + ❌ Error
    -
    He said, This is a test.
    +
    He said, “This is a test.”
    -
    - (error) - Do not use '“'. Replace with regular quotes/apostrophes. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    She replied, Indeed it is.
    +
    She replied, ‘Indeed it is.’
    -
    - (error) - Do not use '‘'. Replace with regular quotes/apostrophes. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The document uses smart quotes throughout.
    +
    The document uses “smart quotes” throughout.
    -
    - (error) - Do not use '“'. Replace with regular quotes/apostrophes. - -
    +
    @@ -1608,36 +1392,28 @@

    Couchbase.FancyQuotes

    Couchbase.HeadingFormatting

    -
    +
    Flagged - + ❌ Error
    -
    = This is a *bold* heading.
    +
    = This is a *bold* heading.
    -
    - (error) - Don't add formatting to headings. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    == This is an _italic_ heading.
    +
    == This is an _italic_ heading.
    -
    - (error) - Don't add formatting to headings. - -
    +
    @@ -1657,36 +1433,28 @@

    Couchbase.HeadingFormatting

    Couchbase.Headings

    -
    +
    Flagged - + ❌ Error
    -
    = introduction
    +
    = introduction
    -
    - (warning) - 'introduction' should use title-style capitalization. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    == This does not use title case
    +
    == This does not use title case
    -
    - (warning) - 'This does not use title case' should use title-style capitalization. - -
    +
    @@ -1718,52 +1486,40 @@

    Couchbase.Headings

    Couchbase.Italics

    -
    +
    Flagged - + ❌ Error
    -
    This is _italic_ text using underscores.
    +
    This is _italic_ text using underscores.
    -
    - (error) - Don't use italics. Find another way to add emphasis. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please click the _Save_ button.
    +
    Please click the _Save_ button.
    -
    - (error) - Don't use italics. Find another way to add emphasis. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Use _important_ for emphasis.
    +
    Use _important_ for emphasis.
    -
    - (error) - Don't use italics. Find another way to add emphasis. - -
    +
    @@ -1795,68 +1551,52 @@

    Couchbase.Italics

    Couchbase.LessFewer

    -
    +
    Flagged - + ❌ Error
    -
    There are less errors in this version.
    +
    There are less errors in this version.
    -
    - (warning) - Did you mean less or should this be fewer? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We need less people on the project.
    +
    We need less people on the project.
    -
    - (warning) - Did you mean less or should this be fewer? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    She has less tasks to complete.
    +
    She has less tasks to complete.
    -
    - (warning) - Did you mean less or should this be fewer? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The server has less connections now.
    +
    The server has less connections now.
    -
    - (warning) - Did you mean less or should this be fewer? - -
    +
    @@ -1912,20 +1652,16 @@

    Couchbase.LessFewer

    Couchbase.Link

    -
    +
    Flagged - + ❌ Error
    -
    Click the link to continue.
    +
    Click the link to continue.
    -
    - (error) - Don't describe a UI element as a "link." - -
    +
    @@ -1945,20 +1681,16 @@

    Couchbase.Link

    Couchbase.Monospace

    -
    +
    Flagged - + ❌ Error
    -
    This is `monospace` text.
    +
    This is `monospace` text.
    -
    - (suggestion) - Did you follow the guidelines for monospace font? - -
    +
    @@ -1978,84 +1710,64 @@

    Couchbase.Monospace

    Couchbase.NegativeContractions

    -
    +
    Flagged - + ❌ Error
    -
    You can't access this feature.
    +
    You can't access this feature.
    -
    - (error) - Use 'cannot' instead of 'can't'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    They don't have permission.
    +
    They don't have permission.
    -
    - (error) - Use 'do not' instead of 'don't'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We won't support this version.
    +
    We won't support this version.
    -
    - (error) - Use 'will not' instead of 'won't'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    She isn't available right now.
    +
    She isn't available right now.
    -
    - (error) - Use 'is not' instead of 'isn't'. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    He hasn't finished the task.
    +
    He hasn't finished the task.
    -
    - (error) - Use 'has not' instead of 'hasn't'. - -
    +
    @@ -2123,52 +1835,40 @@

    Couchbase.NegativeContractions

    Couchbase.NoteThat

    -
    +
    Flagged - + ❌ Error
    -
    Note that you must restart the server.
    +
    Note that you must restart the server.
    -
    - (error) - Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Note that this feature is experimental.
    +
    Note that this feature is experimental.
    -
    - (error) - Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Note that backups are not automatic.
    +
    Note that backups are not automatic.
    -
    - (error) - Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. - -
    +
    @@ -2212,52 +1912,40 @@

    Couchbase.NoteThat

    Couchbase.Please

    -
    +
    Flagged - + ❌ Error
    -
    Please refer to the documentation for more information.
    +
    Please refer to the documentation for more information.
    -
    - (error) - Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please ensure you have saved your work.
    +
    Please ensure you have saved your work.
    -
    - (error) - Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please contact support if you need help.
    +
    Please contact support if you need help.
    -
    - (error) - Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. - -
    +
    @@ -2301,52 +1989,40 @@

    Couchbase.Please

    Couchbase.Quotations

    -
    +
    Flagged - + ❌ Error
    -
    The term "bucket" refers to a data container.
    +
    The term "bucket" refers to a data container.
    -
    - (error) - Don't use quotation marks to add emphasis. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    He clicked the "Save" button.
    +
    He clicked the "Save" button.
    -
    - (error) - Don't use quotation marks to add emphasis. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Select the "Settings" option from the menu.
    +
    Select the "Settings" option from the menu.
    -
    - (error) - Don't use quotation marks to add emphasis. - -
    +
    @@ -2436,36 +2112,28 @@

    Couchbase.ReadingLevel

    Couchbase.RepeatedSpace

    -
    +
    Flagged - + ❌ Error
    -
    There   are   multiple   spaces   here.
    +
    There   are   multiple   spaces   here.
    -
    - (error) - Did you mean to add extra spaces? - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Check  for a single repeated space.
    +
    Check  for a single repeated space.
    -
    - (error) - Did you mean to add extra spaces? - -
    +
    @@ -2497,20 +2165,16 @@

    Couchbase.RepeatedSpace

    Couchbase.RunOn

    -
    +
    Flagged - + ❌ Error
    -
    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    +
    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    -
    - (warning) - This might be a run-on sentence (more than 2 commas). - -
    +
    @@ -2530,20 +2194,16 @@

    Couchbase.RunOn

    Couchbase.SQL

    -
    +
    Flagged - + ❌ Error
    -
    This is an SQL++ query.
    +
    This is an SQL++ query.
    -
    - (error) - Use "a SQL++," not "an SQL++" - -
    +
    @@ -2563,36 +2223,28 @@

    Couchbase.SQL

    Couchbase.See

    -
    +
    Flagged - + ❌ Error
    -
    Refer to http://foo.bar for more details.
    +
    Refer to http://foo.bar for more details.
    -
    - (warning) - Use "see" for links. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Refer to https://foo.bar for more details.
    +
    Refer to https://foo.bar for more details.
    -
    - (warning) - Use "see" for links. - -
    +
    @@ -2624,20 +2276,16 @@

    Couchbase.See

    Couchbase.Semi-Colons

    -
    +
    Flagged - + ❌ Error
    -
    This is a sentence; and here is another clause.
    +
    This is a sentence; and here is another clause.
    -
    - (warning) - Try to avoid using a semi-colon. Follow the style guide guidance. - -
    +
    @@ -2657,20 +2305,16 @@

    Couchbase.Semi-Colons

    Couchbase.SentenceLength

    -
    +
    Flagged - + ❌ Error
    -
    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    +
    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    -
    - (suggestion) - Try to keep sentences under 25 words. - -
    +
    @@ -2702,39 +2346,31 @@

    Couchbase.SentenceLength

    Couchbase.Sidebars

    -
    +
    Flagged - + ❌ Error
    -
    ****
    -This is a sidebar.
    -****
    -
    +
    ****
    +This is a sidebar.
    +****
    +
    -
    - (error) - Don't use sidebars. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    [sidebar]
    +
    [sidebar]
    -
    - (error) - Don't use sidebars. - -
    +
    @@ -2766,24 +2402,20 @@

    Couchbase.Sidebars

    Couchbase.StackedHeadings

    -
    +
    Flagged - + ❌ Error
    -= Heading 1
    -
    += Heading 1
    +
     == Heading 2
     
    -
    - (error) - You can't have two headings with no content in between. - -
    +
    @@ -2809,132 +2441,100 @@

    Couchbase.StackedHeadings

    Couchbase.Terminology

    -
    +
    Flagged - + ❌ Error
    -
    This project uses dotnet for development.
    +
    This project uses dotnet for development.
    -
    - (warning) - Use '.NET', not 'dotnet' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Please add the adaptor to your system.
    +
    Please add the adaptor to your system.
    -
    - (warning) - Use 'adapter', not 'adaptor' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We use the whitelist to control access.
    +
    We use the whitelist to control access.
    -
    - (warning) - Use 'Allowlist', not 'whitelist' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The code base is large.
    +
    The code base is large.
    -
    - (warning) - Use 'codebase', not 'code base' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Refer to the data center documentation.
    +
    Refer to the data center documentation.
    -
    - (warning) - Use 'datacenter', not 'data center' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    She used the plugin for integration.
    +
    She used the plugin for integration.
    -
    - (warning) - Use 'plug-in', not 'plugin' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    The master node is down.
    +
    The master node is down.
    -
    - (warning) - Use 'primary', not 'master' - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    He prefers to utilize this feature.
    +
    He prefers to utilize this feature.
    -
    - (warning) - Use 'use|using', not 'utilize' - -
    +
    @@ -3038,36 +2638,28 @@

    Couchbase.Terminology

    Couchbase.Textbox

    -
    +
    Flagged - + ❌ Error
    -
    Enter your name in the textbox.
    +
    Enter your name in the textbox.
    -
    - (error) - Don't use "textbox", use "field". If the user can make a selection in the field, use "box". - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Click the text box to start typing.
    +
    Click the text box to start typing.
    -
    - (error) - Don't use "textbox", use "field". If the user can make a selection in the field, use "box". - -
    +
    @@ -3099,68 +2691,52 @@

    Couchbase.Textbox

    Couchbase.ThereIs

    -
    +
    Flagged - + ❌ Error
    -
    There is a problem with the configuration.
    +
    There is a problem with the configuration.
    -
    - (error) - Don't start a sentence with "there" + a form of "to be." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    There is an error in the logs.
    +
    There is an error in the logs.
    -
    - (error) - Don't start a sentence with "there" + a form of "to be." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    There is a need for more testing.
    +
    There is a need for more testing.
    -
    - (error) - Don't start a sentence with "there" + a form of "to be." - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    There is a button you can click.
    +
    There is a button you can click.
    -
    - (error) - Don't start a sentence with "there" + a form of "to be." - -
    +
    @@ -3216,20 +2792,16 @@

    Couchbase.ThereIs

    Couchbase.UnexplainedAcronym

    -
    +
    Flagged - + ❌ Error
    -
    The HFE is not responding.
    +
    The HFE is not responding.
    -
    - (error) - 'HFE' hasn't been defined. Spell it out if it's unfamiliar to the audience. - -
    +
    @@ -3263,20 +2835,16 @@

    Couchbase.UnexplainedAcronym

    Couchbase.VentilatedProse

    -
    +
    Flagged - + ❌ Error
    -
    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    +
    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    -
    - (warning) - Use ventilated prose. Start every sentence on a new line. - -
    +
    @@ -3299,68 +2867,52 @@

    Couchbase.VentilatedProse

    Couchbase.Versions

    -
    +
    Flagged - + ❌ Error
    -
    Use version 6.0 or higher.
    +
    Use version 6.0 or higher.
    -
    - (warning) - Use 'later', not 'higher', when talking about versions. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Use version 6.0 or newer.
    +
    Use version 6.0 or newer.
    -
    - (warning) - Use 'later', not 'newer', when talking about versions. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Not available in version 5.0 or lower.
    +
    Not available in version 5.0 or lower.
    -
    - (warning) - Use 'earlier', not 'lower', when talking about versions. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    Not available in version 5.0 or older.
    +
    Not available in version 5.0 or older.
    -
    - (warning) - Use 'earlier', not 'older', when talking about versions. - -
    +
    @@ -3392,52 +2944,40 @@

    Couchbase.Versions

    Couchbase.Wordy

    -
    +
    Flagged - + ❌ Error
    -
    Combating the issue requires a comprehensive understanding of the underlying architecture.
    +
    Combating the issue requires a comprehensive understanding of the underlying architecture.
    -
    - (error) - Use plain language. 'Combating' is too wordy. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    We will streamline the process to enhance efficiency.
    +
    We will streamline the process to enhance efficiency.
    -
    - (error) - Use plain language. 'streamline' is too wordy. - -
    +
    -
    +
    Flagged - + ❌ Error
    -
    It is ever thus.
    +
    It is ever thus.
    -
    - (error) - Use plain language. 'thus' is too wordy. - -
    +
    diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 8d06874..2da0cb0 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -14,7 +14,8 @@ describe(`Report Vale tests against specific styles - output to file://${process before(function () { - const tmp = fs.mkdtempSync(`${os.tmpdir()}/vale-test-`) + const tmp = process.env['RUNNER_TEMP'] || + fs.mkdtempSync(`${os.tmpdir()}/vale-test-`) const files = fs.readdirSync('test/adoc') From 4cd7b7db1d41eb3ebd921b846190a3d3745d6d3f Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:27:36 +0100 Subject: [PATCH 43/48] revert tweaks --- ValeStyles/test/styles.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index 2da0cb0..ddd7769 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -14,6 +14,10 @@ describe(`Report Vale tests against specific styles - output to file://${process before(function () { + // On a Github hosted runner, the `mkdtempSync` directory is, bizarrely, + // created, writeable, and even readable, but somehow things Still Do + // Not Work. So we use the `RUNNER_TEMP` environment variable, which is + // Github's own temp directory, automatically created and managed for us. const tmp = process.env['RUNNER_TEMP'] || fs.mkdtempSync(`${os.tmpdir()}/vale-test-`) @@ -41,15 +45,11 @@ describe(`Report Vale tests against specific styles - output to file://${process 'vale', [ '-v' ]) console.log(`Vale version: ${vv.stdout.toString()}`) - process.env['VALE_STYLES_PATH'] = process.cwd() - try { vale = spawnSync( 'vale', [ - `${tmp}/Couchbase.An-flag-0.txt`, - '--config', `${process.cwd()}/.vale.ini`, - '--no-global', + tmp, '--output', 'JSON', '--minAlertLevel', 'suggestion', ], From 80b722d9eb7fccec71c5746eb82edf398c506b0e Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:38:30 +0100 Subject: [PATCH 44/48] explain workaround, back out diagnostics. PHEW! --- ValeStyles/test/adoc/styles.html | 1388 ++++++++++++++++++++---------- ValeStyles/test/styles.js | 19 +- 2 files changed, 930 insertions(+), 477 deletions(-) diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 9dee967..250dc7d 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -50,52 +50,68 @@

    Couchbase.An

    -
    +
    Flagged - ❌ Error +
    -
    She wrote a email to the team.
    +
    She wrote a email to the team.
    - +
    + (error) + Use "an," not "a." + +
    -
    +
    Flagged - ❌ Error +
    -
    He found a unusual error in the logs.
    +
    He found a unusual error in the logs.
    - +
    + (error) + Use "an," not "a." + +
    -
    +
    Flagged - ❌ Error +
    -
    We need a update before release.
    +
    We need a update before release.
    - +
    + (error) + Use "an," not "a." + +
    -
    +
    Flagged - ❌ Error +
    -
    Please submit a application.
    +
    Please submit a application.
    - +
    + (error) + Use "an," not "a." + +
    @@ -163,64 +179,84 @@

    Couchbase.An

    Couchbase.App

    -
    +
    Flagged - ❌ Error +
    -
    Please open the app to continue.
    +
    Please open the app to continue.
    - +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    -
    +
    Flagged - ❌ Error +
    -
    The app crashed unexpectedly.
    +
    The app crashed unexpectedly.
    - +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    -
    +
    Flagged - ❌ Error +
    -
    She downloaded the app from the store.
    +
    She downloaded the app from the store.
    - +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    -
    +
    Flagged - ❌ Error +
    -
    He deleted the app by mistake.
    +
    He deleted the app by mistake.
    - +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    -
    +
    Flagged - ❌ Error +
    -
    We updated the app yesterday.
    +
    We updated the app yesterday.
    - +
    + (warning) + Use application, not app, unless you're working on Mobile documentation. + +
    @@ -288,40 +324,52 @@

    Couchbase.App

    Couchbase.Bold

    -
    +
    Flagged - ❌ Error +
    -
    This is *bold* text using asterisks.
    +
    This is *bold* text using asterisks.
    - +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    -
    +
    Flagged - ❌ Error +
    -
    Please click the *Save* button.
    +
    Please click the *Save* button.
    - +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    -
    +
    Flagged - ❌ Error +
    -
    Use *important* for emphasis.
    +
    Use *important* for emphasis.
    - +
    + (suggestion) + Did you follow the guidelines for bold font? + +
    @@ -365,40 +413,52 @@

    Couchbase.Bold

    Couchbase.ButtonMacro

    -
    +
    Flagged - ❌ Error +
    -
    Click the btn:[Save] button to continue.
    +
    Click the btn:[Save] button to continue.
    - +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    -
    +
    Flagged - ❌ Error +
    -
    Press the btn:[Cancel] button to exit.
    +
    Press the btn:[Cancel] button to exit.
    - +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    -
    +
    Flagged - ❌ Error +
    -
    Select the btn:[Submit] button to proceed.
    +
    Select the btn:[Submit] button to proceed.
    - +
    + (suggestion) + Did you follow the guidelines for the button macro? + +
    @@ -406,28 +466,36 @@

    Couchbase.ButtonMacro

    Couchbase.Checkbox

    -
    +
    Flagged - ❌ Error +
    -
    Select the checkbox to agree.
    +
    Select the checkbox to agree.
    - +
    + (error) + Don't use 'checkbox'. Just use the label from the UI. Add 'click' or 'clear' as needed. + +
    -
    +
    Flagged - ❌ Error +
    -
    Tick the OK check box if you accept.
    +
    Tick the OK check box if you accept.
    - +
    + (error) + Don't use 'check box'. Just use the label from the UI. Add 'click' or 'clear' as needed. + +
    @@ -459,10 +527,10 @@

    Couchbase.Checkbox

    Couchbase.CodeCallouts

    -
    +
    Flagged - ❌ Error +
    [source,java
    @@ -471,11 +539,15 @@ 

    Couchbase.CodeCallouts

    ... } -- -<1> This is a code callout. +<1> This is a code callout.
    - +
    + (error) + Don't use code callouts. Break up your code samples or use code comments, instead. + +
    @@ -500,40 +572,52 @@

    Couchbase.CodeCallouts

    Couchbase.ComplexContractions

    -
    +
    Flagged - ❌ Error +
    -
    What'll become of the database?
    +
    What'll become of the database?
    - +
    + (error) + Do not use complex contractions like 'What'll'. + +
    -
    +
    Flagged - ❌ Error +
    -
    We must've missed the deadline.
    +
    We must've missed the deadline.
    - +
    + (error) + Do not use complex contractions like 'must've'. + +
    -
    +
    Flagged - ❌ Error +
    -
    We would've liked to help you.
    +
    We would've liked to help you.
    - +
    + (error) + Do not use complex contractions like 'would've'. + +
    @@ -577,136 +661,180 @@

    Couchbase.ComplexContractions

    Couchbase.Contractions

    -
    +
    Flagged - ❌ Error +
    -
    It is important to follow the guidelines.
    +
    It is important to follow the guidelines.
    - +
    + (error) + Use 'it's' instead of 'It is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    How is this feature used?
    +
    How is this feature used?
    - +
    + (error) + Use 'how's' instead of 'How is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    That is not supported.
    +
    That is not supported.
    - +
    + (error) + Use 'that's' instead of 'That is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    They are working on the fix.
    +
    They are working on the fix.
    - +
    + (error) + Use 'they're' instead of 'They are'. + +
    -
    +
    Flagged - ❌ Error +
    -
    We are planning a release.
    +
    We are planning a release.
    - +
    + (error) + Use 'we're' instead of 'We are'. + +
    -
    +
    Flagged - ❌ Error +
    -
    What is the status?
    +
    What is the status?
    - +
    + (error) + Use 'what's' instead of 'What is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    Where is the documentation?
    +
    Where is the documentation?
    - +
    + (error) + Use 'where's' instead of 'Where is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    Who is responsible for this?
    +
    Who is responsible for this?
    - +
    + (error) + Use 'who's' instead of 'Who is'. + +
    -
    +
    Flagged - ❌ Error +
    -
    You are required to sign in.
    +
    You are required to sign in.
    - +
    + (error) + Use 'you're' instead of 'You are'. + +
    -
    +
    Flagged - ❌ Error +
    -
    You had better check the logs.
    +
    You had better check the logs.
    - +
    + (error) + Use 'you'd' instead of 'You had'. + +
    -
    +
    Flagged - ❌ Error +
    -
    You will need to update your client.
    +
    You will need to update your client.
    - +
    + (error) + Use 'you'll' instead of 'You will'. + +
    @@ -848,28 +976,36 @@

    Couchbase.CouchbaseAutoOp

    TODO: We don't understand how the Vale conditional test works.
    -
    +
    Flagged - ❌ Error +
    -
    The Operator manages the cluster.
    +
    The Operator manages the cluster.
    - +
    + (error) + Use the full product name (Couchbase Autonomous Operator) first. + +
    -
    +
    Flagged - ❌ Error +
    -
    Upgrade the Operator to the latest version.
    +
    Upgrade the Operator to the latest version.
    - +
    + (error) + Use the full product name (Couchbase Autonomous Operator) first. + +
    @@ -901,28 +1037,36 @@

    Couchbase.CouchbaseAutoOp

    Couchbase.CouchbaseServerComm

    -
    +
    Flagged - ❌ Error +
    -
    You can download Community Edition from our website.
    +
    You can download Community Edition from our website.
    - +
    + (error) + Use the full product name (Couchbase Server Community Edition) first. + +
    -
    +
    Flagged - ❌ Error +
    -
    The Community Edition is free to use.
    +
    The Community Edition is free to use.
    - +
    + (error) + Use the full product name (Couchbase Server Community Edition) first. + +
    @@ -954,28 +1098,36 @@

    Couchbase.CouchbaseServerComm

    Couchbase.CouchbaseServerWebConsole

    -
    +
    Flagged - ❌ Error +
    -
    You can access the Web Console to manage your cluster.
    +
    You can access the Web Console to manage your cluster.
    - +
    + (error) + Use the full product name (Couchbase Server Web Console) first. + +
    -
    +
    Flagged - ❌ Error +
    -
    The Web Console provides a user-friendly interface.
    +
    The Web Console provides a user-friendly interface.
    - +
    + (error) + Use the full product name (Couchbase Server Web Console) first. + +
    @@ -1007,28 +1159,36 @@

    Couchbase.CouchbaseServerWebConsole

    Couchbase.DatePicker

    -
    +
    Flagged - ❌ Error +
    -
    Select the Date Picker to choose a date.
    +
    Select the Date Picker to choose a date.
    - +
    + (error) + Don't bold or capitalize "date picker." + +
    -
    +
    Flagged - ❌ Error +
    -
    Click the *date picker* field.
    +
    Click the *date picker* field.
    - +
    + (error) + Don't bold or capitalize "date picker." + +
    @@ -1060,40 +1220,52 @@

    Couchbase.DatePicker

    Couchbase.Dialogs

    -
    +
    Flagged - ❌ Error +
    -
    A Dialog will appear.
    +
    A Dialog will appear.
    - +
    + (error) + Don't bold or capitalize the word "dialog". + +
    -
    +
    Flagged - ❌ Error +
    -
    Click the *dialog* to continue.
    +
    Click the *dialog* to continue.
    - +
    + (error) + Don't bold or capitalize the word "dialog". + +
    -
    +
    Flagged - ❌ Error +
    -
    The *dialog box* is displayed.
    +
    The *dialog box* is displayed.
    - +
    + (error) + Don't bold or capitalize the word "dialog". + +
    @@ -1137,64 +1309,84 @@

    Couchbase.Dialogs

    Couchbase.DirectionalLanguage

    -
    +
    Flagged - ❌ Error +
    -
    Click the button on the left.
    +
    Click the button on the left.
    - +
    + (warning) + Avoid directional language like 'left'. + +
    -
    +
    Flagged - ❌ Error +
    -
    Scroll down to see more options.
    +
    Scroll down to see more options.
    - +
    + (warning) + Avoid directional language like 'down'. + +
    -
    +
    Flagged - ❌ Error +
    -
    The settings are below the menu.
    +
    The settings are below the menu.
    - +
    + (warning) + Avoid directional language like 'below'. + +
    -
    +
    Flagged - ❌ Error +
    -
    Move up to the previous section.
    +
    Move up to the previous section.
    - +
    + (warning) + Avoid directional language like 'up'. + +
    -
    +
    Flagged - ❌ Error +
    -
    The icon is above the text.
    +
    The icon is above the text.
    - +
    + (warning) + Avoid directional language like 'above'. + +
    @@ -1262,40 +1454,52 @@

    Couchbase.DirectionalLanguage

    Couchbase.Dropdown

    -
    +
    Flagged - ❌ Error +
    -
    Select the drop-down to choose an option.
    +
    Select the drop-down to choose an option.
    - +
    + (error) + Don't use "dropdown", use "list". + +
    -
    +
    Flagged - ❌ Error +
    -
    Click the dropdown menu.
    +
    Click the dropdown menu.
    - +
    + (error) + Don't use "dropdown", use "list". + +
    -
    +
    Flagged - ❌ Error +
    -
    Open the dropdowns list.
    +
    Open the dropdowns list.
    - +
    + (error) + Don't use "dropdown", use "list". + +
    @@ -1315,40 +1519,52 @@

    Couchbase.Dropdown

    Couchbase.FancyQuotes

    -
    +
    Flagged - ❌ Error +
    -
    He said, “This is a test.”
    +
    He said, This is a test.
    - +
    + (error) + Do not use '“'. Replace with regular quotes/apostrophes. + +
    -
    +
    Flagged - ❌ Error +
    -
    She replied, ‘Indeed it is.’
    +
    She replied, Indeed it is.
    - +
    + (error) + Do not use '‘'. Replace with regular quotes/apostrophes. + +
    -
    +
    Flagged - ❌ Error +
    -
    The document uses “smart quotes” throughout.
    +
    The document uses smart quotes throughout.
    - +
    + (error) + Do not use '“'. Replace with regular quotes/apostrophes. + +
    @@ -1392,28 +1608,36 @@

    Couchbase.FancyQuotes

    Couchbase.HeadingFormatting

    -
    +
    Flagged - ❌ Error +
    -
    = This is a *bold* heading.
    +
    = This is a *bold* heading.
    - +
    + (error) + Don't add formatting to headings. + +
    -
    +
    Flagged - ❌ Error +
    -
    == This is an _italic_ heading.
    +
    == This is an _italic_ heading.
    - +
    + (error) + Don't add formatting to headings. + +
    @@ -1433,28 +1657,36 @@

    Couchbase.HeadingFormatting

    Couchbase.Headings

    -
    +
    Flagged - ❌ Error +
    -
    = introduction
    +
    = introduction
    - +
    + (warning) + 'introduction' should use title-style capitalization. + +
    -
    +
    Flagged - ❌ Error +
    -
    == This does not use title case
    +
    == This does not use title case
    - +
    + (warning) + 'This does not use title case' should use title-style capitalization. + +
    @@ -1486,40 +1718,52 @@

    Couchbase.Headings

    Couchbase.Italics

    -
    +
    Flagged - ❌ Error +
    -
    This is _italic_ text using underscores.
    +
    This is _italic_ text using underscores.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    Please click the _Save_ button.
    +
    Please click the _Save_ button.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    Use _important_ for emphasis.
    +
    Use _important_ for emphasis.
    - +
    + (error) + Don't use italics. Find another way to add emphasis. + +
    @@ -1551,52 +1795,68 @@

    Couchbase.Italics

    Couchbase.LessFewer

    -
    +
    Flagged - ❌ Error +
    -
    There are less errors in this version.
    +
    There are less errors in this version.
    - +
    + (warning) + Did you mean less or should this be fewer? + +
    -
    +
    Flagged - ❌ Error +
    -
    We need less people on the project.
    +
    We need less people on the project.
    - +
    + (warning) + Did you mean less or should this be fewer? + +
    -
    +
    Flagged - ❌ Error +
    -
    She has less tasks to complete.
    +
    She has less tasks to complete.
    - +
    + (warning) + Did you mean less or should this be fewer? + +
    -
    +
    Flagged - ❌ Error +
    -
    The server has less connections now.
    +
    The server has less connections now.
    - +
    + (warning) + Did you mean less or should this be fewer? + +
    @@ -1652,16 +1912,20 @@

    Couchbase.LessFewer

    Couchbase.Link

    -
    +
    Flagged - ❌ Error +
    -
    Click the link to continue.
    +
    Click the link to continue.
    - +
    + (error) + Don't describe a UI element as a "link." + +
    @@ -1681,16 +1945,20 @@

    Couchbase.Link

    Couchbase.Monospace

    -
    +
    Flagged - ❌ Error +
    -
    This is `monospace` text.
    +
    This is `monospace` text.
    - +
    + (suggestion) + Did you follow the guidelines for monospace font? + +
    @@ -1710,64 +1978,84 @@

    Couchbase.Monospace

    Couchbase.NegativeContractions

    -
    +
    Flagged - ❌ Error +
    -
    You can't access this feature.
    +
    You can't access this feature.
    - +
    + (error) + Use 'cannot' instead of 'can't'. + +
    -
    +
    Flagged - ❌ Error +
    -
    They don't have permission.
    +
    They don't have permission.
    - +
    + (error) + Use 'do not' instead of 'don't'. + +
    -
    +
    Flagged - ❌ Error +
    -
    We won't support this version.
    +
    We won't support this version.
    - +
    + (error) + Use 'will not' instead of 'won't'. + +
    -
    +
    Flagged - ❌ Error +
    -
    She isn't available right now.
    +
    She isn't available right now.
    - +
    + (error) + Use 'is not' instead of 'isn't'. + +
    -
    +
    Flagged - ❌ Error +
    -
    He hasn't finished the task.
    +
    He hasn't finished the task.
    - +
    + (error) + Use 'has not' instead of 'hasn't'. + +
    @@ -1835,40 +2123,52 @@

    Couchbase.NegativeContractions

    Couchbase.NoteThat

    -
    +
    Flagged - ❌ Error +
    -
    Note that you must restart the server.
    +
    Note that you must restart the server.
    - +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    -
    +
    Flagged - ❌ Error +
    -
    Note that this feature is experimental.
    +
    Note that this feature is experimental.
    - +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    -
    +
    Flagged - ❌ Error +
    -
    Note that backups are not automatic.
    +
    Note that backups are not automatic.
    - +
    + (error) + Don't use 'note that.' Convert to an actual NOTE, or don't use it at all. + +
    @@ -1912,40 +2212,52 @@

    Couchbase.NoteThat

    Couchbase.Please

    -
    +
    Flagged - ❌ Error +
    -
    Please refer to the documentation for more information.
    +
    Please refer to the documentation for more information.
    - +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    -
    +
    Flagged - ❌ Error +
    -
    Please ensure you have saved your work.
    +
    Please ensure you have saved your work.
    - +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    -
    +
    Flagged - ❌ Error +
    -
    Please contact support if you need help.
    +
    Please contact support if you need help.
    - +
    + (error) + Avoid using "Please" as much as possible. Only use it when asking for something that inconveniences the user. + +
    @@ -1989,40 +2301,52 @@

    Couchbase.Please

    Couchbase.Quotations

    -
    +
    Flagged - ❌ Error +
    -
    The term "bucket" refers to a data container.
    +
    The term "bucket" refers to a data container.
    - +
    + (error) + Don't use quotation marks to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    He clicked the "Save" button.
    +
    He clicked the "Save" button.
    - +
    + (error) + Don't use quotation marks to add emphasis. + +
    -
    +
    Flagged - ❌ Error +
    -
    Select the "Settings" option from the menu.
    +
    Select the "Settings" option from the menu.
    - +
    + (error) + Don't use quotation marks to add emphasis. + +
    @@ -2112,28 +2436,36 @@

    Couchbase.ReadingLevel

    Couchbase.RepeatedSpace

    -
    +
    Flagged - ❌ Error +
    -
    There   are   multiple   spaces   here.
    +
    There   are   multiple   spaces   here.
    - +
    + (error) + Did you mean to add extra spaces? + +
    -
    +
    Flagged - ❌ Error +
    -
    Check  for a single repeated space.
    +
    Check  for a single repeated space.
    - +
    + (error) + Did you mean to add extra spaces? + +
    @@ -2165,16 +2497,20 @@

    Couchbase.RepeatedSpace

    Couchbase.RunOn

    -
    +
    Flagged - ❌ Error +
    -
    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    +
    This could be a run on sentence, because it has many commas, so confuses people, don't you think?
    - +
    + (warning) + This might be a run-on sentence (more than 2 commas). + +
    @@ -2194,16 +2530,20 @@

    Couchbase.RunOn

    Couchbase.SQL

    -
    +
    Flagged - ❌ Error +
    -
    This is an SQL++ query.
    +
    This is an SQL++ query.
    - +
    + (error) + Use "a SQL++," not "an SQL++" + +
    @@ -2223,28 +2563,36 @@

    Couchbase.SQL

    Couchbase.See

    -
    +
    Flagged - ❌ Error +
    -
    Refer to http://foo.bar for more details.
    +
    Refer to http://foo.bar for more details.
    - +
    + (warning) + Use "see" for links. + +
    -
    +
    Flagged - ❌ Error +
    -
    Refer to https://foo.bar for more details.
    +
    Refer to https://foo.bar for more details.
    - +
    + (warning) + Use "see" for links. + +
    @@ -2276,16 +2624,20 @@

    Couchbase.See

    Couchbase.Semi-Colons

    -
    +
    Flagged - ❌ Error +
    -
    This is a sentence; and here is another clause.
    +
    This is a sentence; and here is another clause.
    - +
    + (warning) + Try to avoid using a semi-colon. Follow the style guide guidance. + +
    @@ -2305,16 +2657,20 @@

    Couchbase.Semi-Colons

    Couchbase.SentenceLength

    -
    +
    Flagged - ❌ Error +
    -
    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    +
    This sentence is far too long because it contains many clauses, making it difficult for readers to follow the main point, and therefore it should be rewritten to improve clarity and readability.
    - +
    + (suggestion) + Try to keep sentences under 25 words. + +
    @@ -2346,31 +2702,39 @@

    Couchbase.SentenceLength

    Couchbase.Sidebars

    -
    +
    Flagged - ❌ Error +
    -
    ****
    -This is a sidebar.
    -****
    -
    +
    ****
    +This is a sidebar.
    +****
    +
    - +
    + (error) + Don't use sidebars. + +
    -
    +
    Flagged - ❌ Error +
    -
    [sidebar]
    +
    [sidebar]
    - +
    + (error) + Don't use sidebars. + +
    @@ -2402,20 +2766,24 @@

    Couchbase.Sidebars

    Couchbase.StackedHeadings

    -
    +
    Flagged - ❌ Error +
    -= Heading 1
    -
    += Heading 1
    +
     == Heading 2
     
    - +
    + (error) + You can't have two headings with no content in between. + +
    @@ -2441,100 +2809,132 @@

    Couchbase.StackedHeadings

    Couchbase.Terminology

    -
    +
    Flagged - ❌ Error +
    -
    This project uses dotnet for development.
    +
    This project uses dotnet for development.
    - +
    + (warning) + Use '.NET', not 'dotnet' + +
    -
    +
    Flagged - ❌ Error +
    -
    Please add the adaptor to your system.
    +
    Please add the adaptor to your system.
    - +
    + (warning) + Use 'adapter', not 'adaptor' + +
    -
    +
    Flagged - ❌ Error +
    -
    We use the whitelist to control access.
    +
    We use the whitelist to control access.
    - +
    + (warning) + Use 'Allowlist', not 'whitelist' + +
    -
    +
    Flagged - ❌ Error +
    -
    The code base is large.
    +
    The code base is large.
    - +
    + (warning) + Use 'codebase', not 'code base' + +
    -
    +
    Flagged - ❌ Error +
    -
    Refer to the data center documentation.
    +
    Refer to the data center documentation.
    - +
    + (warning) + Use 'datacenter', not 'data center' + +
    -
    +
    Flagged - ❌ Error +
    -
    She used the plugin for integration.
    +
    She used the plugin for integration.
    - +
    + (warning) + Use 'plug-in', not 'plugin' + +
    -
    +
    Flagged - ❌ Error +
    -
    The master node is down.
    +
    The master node is down.
    - +
    + (warning) + Use 'primary', not 'master' + +
    -
    +
    Flagged - ❌ Error +
    -
    He prefers to utilize this feature.
    +
    He prefers to utilize this feature.
    - +
    + (warning) + Use 'use|using', not 'utilize' + +
    @@ -2638,28 +3038,36 @@

    Couchbase.Terminology

    Couchbase.Textbox

    -
    +
    Flagged - ❌ Error +
    -
    Enter your name in the textbox.
    +
    Enter your name in the textbox.
    - +
    + (error) + Don't use "textbox", use "field". If the user can make a selection in the field, use "box". + +
    -
    +
    Flagged - ❌ Error +
    -
    Click the text box to start typing.
    +
    Click the text box to start typing.
    - +
    + (error) + Don't use "textbox", use "field". If the user can make a selection in the field, use "box". + +
    @@ -2691,52 +3099,68 @@

    Couchbase.Textbox

    Couchbase.ThereIs

    -
    +
    Flagged - ❌ Error +
    -
    There is a problem with the configuration.
    +
    There is a problem with the configuration.
    - +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    -
    +
    Flagged - ❌ Error +
    -
    There is an error in the logs.
    +
    There is an error in the logs.
    - +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    -
    +
    Flagged - ❌ Error +
    -
    There is a need for more testing.
    +
    There is a need for more testing.
    - +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    -
    +
    Flagged - ❌ Error +
    -
    There is a button you can click.
    +
    There is a button you can click.
    - +
    + (error) + Don't start a sentence with "there" + a form of "to be." + +
    @@ -2792,16 +3216,20 @@

    Couchbase.ThereIs

    Couchbase.UnexplainedAcronym

    -
    +
    Flagged - ❌ Error +
    -
    The HFE is not responding.
    +
    The HFE is not responding.
    - +
    + (error) + 'HFE' hasn't been defined. Spell it out if it's unfamiliar to the audience. + +
    @@ -2835,16 +3263,20 @@

    Couchbase.UnexplainedAcronym

    Couchbase.VentilatedProse

    -
    +
    Flagged - ❌ Error +
    -
    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    +
    This paragraph contains multiple sentences without any line breaks. It makes the text harder to read and maintain, especially in documentation where each sentence should start on a new line.
    - +
    + (warning) + Use ventilated prose. Start every sentence on a new line. + +
    @@ -2867,52 +3299,68 @@

    Couchbase.VentilatedProse

    Couchbase.Versions

    -
    +
    Flagged - ❌ Error +
    -
    Use version 6.0 or higher.
    +
    Use version 6.0 or higher.
    - +
    + (warning) + Use 'later', not 'higher', when talking about versions. + +
    -
    +
    Flagged - ❌ Error +
    -
    Use version 6.0 or newer.
    +
    Use version 6.0 or newer.
    - +
    + (warning) + Use 'later', not 'newer', when talking about versions. + +
    -
    +
    Flagged - ❌ Error +
    -
    Not available in version 5.0 or lower.
    +
    Not available in version 5.0 or lower.
    - +
    + (warning) + Use 'earlier', not 'lower', when talking about versions. + +
    -
    +
    Flagged - ❌ Error +
    -
    Not available in version 5.0 or older.
    +
    Not available in version 5.0 or older.
    - +
    + (warning) + Use 'earlier', not 'older', when talking about versions. + +
    @@ -2944,40 +3392,52 @@

    Couchbase.Versions

    Couchbase.Wordy

    -
    +
    Flagged - ❌ Error +
    -
    Combating the issue requires a comprehensive understanding of the underlying architecture.
    +
    Combating the issue requires a comprehensive understanding of the underlying architecture.
    - +
    + (error) + Use plain language. 'Combating' is too wordy. + +
    -
    +
    Flagged - ❌ Error +
    -
    We will streamline the process to enhance efficiency.
    +
    We will streamline the process to enhance efficiency.
    - +
    + (error) + Use plain language. 'streamline' is too wordy. + +
    -
    +
    Flagged - ❌ Error +
    -
    It is ever thus.
    +
    It is ever thus.
    - +
    + (error) + Use plain language. 'thus' is too wordy. + +
    diff --git a/ValeStyles/test/styles.js b/ValeStyles/test/styles.js index ddd7769..f0aba42 100644 --- a/ValeStyles/test/styles.js +++ b/ValeStyles/test/styles.js @@ -14,10 +14,12 @@ describe(`Report Vale tests against specific styles - output to file://${process before(function () { - // On a Github hosted runner, the `mkdtempSync` directory is, bizarrely, - // created, writeable, and even readable, but somehow things Still Do - // Not Work. So we use the `RUNNER_TEMP` environment variable, which is - // Github's own temp directory, automatically created and managed for us. + // On a Github hosted runner, we can't use the OS created temp + // directory, because we installed Vale as a Snap package. + // Snap packages are not allowed to read the OS temp directory. + // + // Handily, Github Actions provides a temp directory + // by default, so we can use that. const tmp = process.env['RUNNER_TEMP'] || fs.mkdtempSync(`${os.tmpdir()}/vale-test-`) @@ -60,15 +62,6 @@ describe(`Report Vale tests against specific styles - output to file://${process } let valeout = JSON.parse(vale.stdout) - console.log("DIAG", vale.stderr.toString(), vale.stdout.toString()) - console.log(valeout, tmp, fs.readdirSync(tmp), - fs.readFileSync(`${tmp}/Couchbase.An-compliant-0.txt`, 'utf8')) - - const diag = spawnSync( - 'vale', ['ls-config']) - console.log("DIAG", diag.stdout.toString()) - - console.log("PWD", process.cwd()) const results = tests.map( function([check, config, fixtures]) { From c121f6dc93284b17192ca29cae6b1d01f6554763 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:53:17 +0100 Subject: [PATCH 45/48] remove final diagnostics --- .github/workflows/test-vale-styles.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index c5908b5..22d0bd1 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -36,6 +36,4 @@ jobs: working-directory: ./ValeStyles run: | npm ci - pwd - ls npm test From c265aa2dfdf36f6be5769e84d1c5a78d1d2acf84 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Mon, 30 Jun 2025 12:57:55 +0100 Subject: [PATCH 46/48] upload styles.html as artifact --- .github/workflows/test-vale-styles.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/test-vale-styles.yml b/.github/workflows/test-vale-styles.yml index 22d0bd1..bea8a73 100644 --- a/.github/workflows/test-vale-styles.yml +++ b/.github/workflows/test-vale-styles.yml @@ -37,3 +37,10 @@ jobs: run: | npm ci npm test + + - name: Upload Vale HTML test + uses: actions/upload-artifact@v4 + with: + name: Vale HTML test results + path: ValeStyles/test/adoc/styles.html + if-no-files-found: error From 6b73cb89e57c9145afc60202b792dfd9e0869496 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Wed, 3 Sep 2025 17:41:49 +0100 Subject: [PATCH 47/48] Update PR against main --- ValeStyles/Couchbase/Button.yml | 3 +- ValeStyles/Couchbase/Values.yml | 4 +- .../test/adoc/Test-Couchbase.Button.yml | 7 + ...st-Couchbase.CouchbaseServerWebConsole.yml | 6 - .../test/adoc/Test-Couchbase.DialogOpens.yml | 5 + .../test/adoc/Test-Couchbase.Numbers.yml | 8 + .../test/adoc/Test-Couchbase.ReferTo.yml | 5 + .../test/adoc/Test-Couchbase.Values.yml | 6 + ValeStyles/test/adoc/styles.html | 348 +++++++++++++++--- 9 files changed, 342 insertions(+), 50 deletions(-) create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Button.yml delete mode 100644 ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Numbers.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.ReferTo.yml create mode 100644 ValeStyles/test/adoc/Test-Couchbase.Values.yml diff --git a/ValeStyles/Couchbase/Button.yml b/ValeStyles/Couchbase/Button.yml index b7a3f58..dc1ea51 100644 --- a/ValeStyles/Couchbase/Button.yml +++ b/ValeStyles/Couchbase/Button.yml @@ -2,6 +2,7 @@ extends: existence message: "Do not refer to a UI element with the word 'button', as in 'Click the Edit button'. Make sure to use the button macro (btn:[])." level: error link: https://docs.couchbase.com/styleguide/button-macro.html +scope: raw tokens: - - '(?i)\bclick the(?: \*?[\w-]+\*?)* button\b' \ No newline at end of file + - '(?i)\bclick the \*?[\w -]+\*? button\b' diff --git a/ValeStyles/Couchbase/Values.yml b/ValeStyles/Couchbase/Values.yml index 7afbf58..3cf2880 100644 --- a/ValeStyles/Couchbase/Values.yml +++ b/ValeStyles/Couchbase/Values.yml @@ -2,7 +2,9 @@ extends: existence message: When comparing or describing a value, use 'greater' or 'less'. level: warning link: https://docs.couchbase.com/styleguide/values.html +scope: + - raw # nothing is flagged if this is set to 'text'??? tokens: - '\b(?:above|below|higher|lower)\b\s+\d+(?:\.\d+)?' - - '\b(?:above|below|higher|lower)\b(?:\s+the|\s+than)?(?:\s+\w+){0,5}?\s+(?:limit|threshold|maximum|minimum|cap|ceiling|floor|boundary|cutoff)\b' \ No newline at end of file + - '\b(?:above|below|higher|lower)\b(?:\s+the|\s+than)?(?:\s+\w+){0,5}?\s+(?:limit|threshold|maximum|minimum|cap|ceiling|floor|boundary|cutoff)\b' diff --git a/ValeStyles/test/adoc/Test-Couchbase.Button.yml b/ValeStyles/test/adoc/Test-Couchbase.Button.yml new file mode 100644 index 0000000..e2755a7 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Button.yml @@ -0,0 +1,7 @@ +flag: + - click the cancel button + - click the *cancel* button + - click the Stay Alert button + - click the *Stay Alert* button +compliant: + - click btn:[Cancel] diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml deleted file mode 100644 index 9e594c3..0000000 --- a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerWebConsole.yml +++ /dev/null @@ -1,6 +0,0 @@ -flag: - - You can access the Web Console to manage your cluster. - - The Web Console provides a user-friendly interface. -compliant: - - You can access the Couchbase Server Web Console to manage your cluster. - - The Couchbase Server Web Console provides a user-friendly interface. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml b/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml new file mode 100644 index 0000000..7084f56 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml @@ -0,0 +1,5 @@ +flag: + - The *Add Page* dialog opens. + - Suddenly the Shopkeeper appears. +compliant: + - Open the *Add Page* dialog. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Numbers.yml b/ValeStyles/test/adoc/Test-Couchbase.Numbers.yml new file mode 100644 index 0000000..c873475 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Numbers.yml @@ -0,0 +1,8 @@ +flag: + - one fish + - two fish +compliant: + - red fish + - blue fish + - 1 fish + - 2 fish diff --git a/ValeStyles/test/adoc/Test-Couchbase.ReferTo.yml b/ValeStyles/test/adoc/Test-Couchbase.ReferTo.yml new file mode 100644 index 0000000..ed19d2e --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.ReferTo.yml @@ -0,0 +1,5 @@ +flag: + - For more details, see <> + - Refer to <> +compliant: + - For more information, see <> diff --git a/ValeStyles/test/adoc/Test-Couchbase.Values.yml b/ValeStyles/test/adoc/Test-Couchbase.Values.yml new file mode 100644 index 0000000..9abaea6 --- /dev/null +++ b/ValeStyles/test/adoc/Test-Couchbase.Values.yml @@ -0,0 +1,6 @@ +flag: + - above 1000 + - higher than the blood sugar limit +compliant: + - greater than 1000 + - less than the limit diff --git a/ValeStyles/test/adoc/styles.html b/ValeStyles/test/adoc/styles.html index 250dc7d..fad666b 100644 --- a/ValeStyles/test/adoc/styles.html +++ b/ValeStyles/test/adoc/styles.html @@ -407,6 +407,87 @@

    Couchbase.Bold

    +
    + +
    +
    +

    Couchbase.Button

    + +
    +
    + Flagged + +
    +
    +
    click the cancel button
    +
    + +
    + (error) + Do not refer to a UI element with the word 'button', as in 'Click the Edit button'. Make sure to use the button macro (btn:[]). + +
    + +
    +
    +
    + Flagged + +
    +
    +
    click the *cancel* button
    +
    + +
    + (error) + Do not refer to a UI element with the word 'button', as in 'Click the Edit button'. Make sure to use the button macro (btn:[]). + +
    + +
    +
    +
    + Flagged + +
    +
    +
    click the Stay Alert button
    +
    + +
    + (error) + Do not refer to a UI element with the word 'button', as in 'Click the Edit button'. Make sure to use the button macro (btn:[]). + +
    + +
    +
    +
    + Flagged + +
    +
    +
    click the *Stay Alert* button
    +
    + +
    + (error) + Do not refer to a UI element with the word 'button', as in 'Click the Edit button'. Make sure to use the button macro (btn:[]). + +
    + +
    +
    +
    + Compliant + +
    +
    +
    click btn:[Cancel]
    +
    + + +
    @@ -1096,7 +1177,7 @@

    Couchbase.CouchbaseServerComm

    -

    Couchbase.CouchbaseServerWebConsole

    +

    Couchbase.DatePicker

    @@ -1104,12 +1185,12 @@

    Couchbase.CouchbaseServerWebConsole

    -
    You can access the Web Console to manage your cluster.
    +
    Select the Date Picker to choose a date.
    (error) - Use the full product name (Couchbase Server Web Console) first. + Don't bold or capitalize "date picker."
    @@ -1120,12 +1201,12 @@

    Couchbase.CouchbaseServerWebConsole

    -
    The Web Console provides a user-friendly interface.
    +
    Click the *date picker* field.
    (error) - Use the full product name (Couchbase Server Web Console) first. + Don't bold or capitalize "date picker."
    @@ -1136,7 +1217,7 @@

    Couchbase.CouchbaseServerWebConsole

    -
    You can access the Couchbase Server Web Console to manage your cluster.
    +
    Select the date picker to choose a date.
    @@ -1148,7 +1229,7 @@

    Couchbase.CouchbaseServerWebConsole

    -
    The Couchbase Server Web Console provides a user-friendly interface.
    +
    Click the date picker field.
    @@ -1157,7 +1238,7 @@

    Couchbase.CouchbaseServerWebConsole

    -

    Couchbase.DatePicker

    +

    Couchbase.DialogOpens

    @@ -1165,12 +1246,12 @@

    Couchbase.DatePicker

    -
    Select the Date Picker to choose a date.
    +
    The *Add Page* dialog opens.
    - (error) - Don't bold or capitalize "date picker." + (error) + Do not add empty phrases like "The *Add Page* dialog opens". Delete this sentence from your docs.
    @@ -1181,12 +1262,12 @@

    Couchbase.DatePicker

    -
    Click the *date picker* field.
    +
    Suddenly the Shopkeeper appears.
    - (error) - Don't bold or capitalize "date picker." + (error) + Do not add empty phrases like "The *Add Page* dialog opens". Delete this sentence from your docs.
    @@ -1197,19 +1278,7 @@

    Couchbase.DatePicker

    -
    Select the date picker to choose a date.
    -
    - - - -
    -
    -
    - Compliant - -
    -
    -
    Click the date picker field.
    +
    Open the *Add Page* dialog.
    @@ -1347,12 +1416,12 @@

    Couchbase.DirectionalLanguage

    -
    The settings are below the menu.
    +
    The settings are below the menu.
    (warning) - Avoid directional language like 'below'. + Avoid directional language like 'below the'.
    @@ -1379,12 +1448,12 @@

    Couchbase.DirectionalLanguage

    -
    The icon is above the text.
    +
    The icon is above the text.
    (warning) - Avoid directional language like 'above'. + Avoid directional language like 'is above'.
    @@ -2206,6 +2275,91 @@

    Couchbase.NoteThat

    +
    + +
    +
    +

    Couchbase.Numbers

    + +
    +
    + Flagged + +
    +
    +
    one fish
    +
    + +
    + (error) + Write all numbers as numerals. + +
    + +
    +
    +
    + Flagged + +
    +
    +
    two fish
    +
    + +
    + (error) + Write all numbers as numerals. + +
    + +
    +
    +
    + Compliant + +
    +
    +
    red fish
    +
    + + + +
    +
    +
    + Compliant + +
    +
    +
    blue fish
    +
    + + + +
    +
    +
    + Compliant + +
    +
    +
    1 fish
    +
    + + + +
    +
    +
    + Compliant + +
    +
    +
    2 fish
    +
    + + +
    @@ -2433,6 +2587,55 @@

    Couchbase.ReadingLevel

    +
    +

    Couchbase.ReferTo

    + +
    +
    + Flagged + +
    +
    +
    For more details, see <<xref>>
    +
    + +
    + (error) + Introduce links with 'For more information, see {link}'. + +
    + +
    +
    +
    + Flagged + +
    +
    +
    Refer to <<xref>>
    +
    + +
    + (error) + Introduce links with 'For more information, see {link}'. + +
    + +
    +
    +
    + Compliant + +
    +
    +
    For more information, see <<xref>>
    +
    + + + +
    + +

    Couchbase.RepeatedSpace

    @@ -2442,7 +2645,7 @@

    Couchbase.RepeatedSpace

    -
    There   are   multiple   spaces   here.
    +
    There   are   multiple   spaces   here.
    @@ -2458,7 +2661,7 @@

    Couchbase.RepeatedSpace

    -
    Check  for a single repeated space.
    +
    Check  for a single repeated space.
    @@ -2508,7 +2711,7 @@

    Couchbase.RunOn

    (warning) - This might be a run-on sentence (more than 2 commas). + This might be a run-on sentence (more than 2 commas). Would a bulleted list work better?
    @@ -3257,6 +3460,67 @@

    Couchbase.UnexplainedAcronym

    +
    + +
    +
    +

    Couchbase.Values

    + +
    +
    + Flagged + +
    +
    +
    above 1000
    +
    + +
    + (warning) + When comparing or describing a value, use 'greater' or 'less'. + +
    + +
    +
    +
    + Flagged + +
    +
    +
    higher than the blood sugar limit
    +
    + +
    + (warning) + When comparing or describing a value, use 'greater' or 'less'. + +
    + +
    +
    +
    + Compliant + +
    +
    +
    greater than 1000
    +
    + + + +
    +
    +
    + Compliant + +
    +
    +
    less than the limit
    +
    + + +
    @@ -3305,12 +3569,12 @@

    Couchbase.Versions

    -
    Use version 6.0 or higher.
    +
    Use version 6.0 or higher.
    (warning) - Use 'later', not 'higher', when talking about versions. + Use 'later' or 'earlier', when talking about versions.
    @@ -3321,12 +3585,12 @@

    Couchbase.Versions

    -
    Use version 6.0 or newer.
    +
    Use version 6.0 or newer.
    (warning) - Use 'later', not 'newer', when talking about versions. + Use 'later' or 'earlier', when talking about versions.
    @@ -3337,12 +3601,12 @@

    Couchbase.Versions

    -
    Not available in version 5.0 or lower.
    +
    Not available in version 5.0 or lower.
    (warning) - Use 'earlier', not 'lower', when talking about versions. + Use 'later' or 'earlier', when talking about versions.
    @@ -3353,12 +3617,12 @@

    Couchbase.Versions

    -
    Not available in version 5.0 or older.
    +
    Not available in version 5.0 or older.
    (warning) - Use 'earlier', not 'older', when talking about versions. + Use 'later' or 'earlier', when talking about versions.
    From c7485355117cbc0fcdd9ff1b1f397568af3e7958 Mon Sep 17 00:00:00 2001 From: Sarah Emmett Date: Fri, 26 Sep 2025 10:43:04 -0400 Subject: [PATCH 48/48] Removing contradictory 'we are' contraction from Contractions.yml. First pass on testing files to make sure compliant sentences don't violate other style rules --- ValeStyles/Couchbase/Contractions.yml | 1 - ValeStyles/test/adoc/Test-Couchbase.An.yml | 8 ++++---- ValeStyles/test/adoc/Test-Couchbase.App.yml | 12 ++++++------ ValeStyles/test/adoc/Test-Couchbase.Bold.yml | 6 +++--- ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml | 5 +++-- ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml | 5 ++++- .../test/adoc/Test-Couchbase.ComplexContractions.yml | 10 +++++----- ValeStyles/test/adoc/Test-Couchbase.Contractions.yml | 2 -- .../test/adoc/Test-Couchbase.CouchbaseServerComm.yml | 1 + ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml | 6 +++--- ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml | 3 ++- ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml | 11 +++++------ .../test/adoc/Test-Couchbase.DirectionalLanguage.yml | 6 +++--- ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml | 8 +++++--- .../test/adoc/Test-Couchbase.HeadingFormatting.yml | 6 +++--- ValeStyles/test/adoc/Test-Couchbase.Italics.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml | 4 ++-- ValeStyles/test/adoc/Test-Couchbase.Link.yml | 4 ++-- .../adoc/Test-Couchbase.NegativeContractions.yml | 4 ++-- ValeStyles/test/adoc/Test-Couchbase.Please.yml | 4 ++-- ValeStyles/test/adoc/Test-Couchbase.Quotations.yml | 6 +++--- ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.RunOn.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.Terminology.yml | 12 ++++++------ ValeStyles/test/adoc/Test-Couchbase.Textbox.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.Values.yml | 2 +- ValeStyles/test/adoc/Test-Couchbase.Wordy.yml | 4 ++-- 29 files changed, 73 insertions(+), 69 deletions(-) diff --git a/ValeStyles/Couchbase/Contractions.yml b/ValeStyles/Couchbase/Contractions.yml index 234b303..1a9693b 100644 --- a/ValeStyles/Couchbase/Contractions.yml +++ b/ValeStyles/Couchbase/Contractions.yml @@ -10,7 +10,6 @@ swap: how is: how's that is: that's they are: they're - we are: we're what is: what's where is: where's who is: who's diff --git a/ValeStyles/test/adoc/Test-Couchbase.An.yml b/ValeStyles/test/adoc/Test-Couchbase.An.yml index 22f3cac..e13ddb1 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.An.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.An.yml @@ -2,11 +2,11 @@ flag: - This is a example of incorrect usage. - She wrote a email to the team. - He found a unusual error in the logs. - - We need a update before release. - - Please submit a application. + - The system needs a update before release. + - Submit a application. compliant: - This is an example of correct usage. - She wrote an email to the team. - He found an unusual error in the logs. - - We need an update before release. - - Please submit an application. + - The system needs an update before release. + - Submit an application. diff --git a/ValeStyles/test/adoc/Test-Couchbase.App.yml b/ValeStyles/test/adoc/Test-Couchbase.App.yml index 160a148..66866b4 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.App.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.App.yml @@ -1,12 +1,12 @@ flag: - - Please open the app to continue. + - Open the app to continue. - The app crashed unexpectedly. - - She downloaded the app from the store. + - She downloaded the app from the webpage. - He deleted the app by mistake. - - We updated the app yesterday. + - You can update the app manually or automatically. compliant: - - Please open the application to continue. + - Open the application to continue. - The application crashed unexpectedly. - - She downloaded the application from the store. + - She downloaded the application from the webpage. - He deleted the application by mistake. - - We updated the application yesterday. + - You can update the application manually or automatically. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Bold.yml b/ValeStyles/test/adoc/Test-Couchbase.Bold.yml index 3e53cbb..e073580 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Bold.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Bold.yml @@ -1,8 +1,8 @@ flag: - This is *bold* text using asterisks. - - Please click the *Save* button. + - Click the *Save* button. - Use *important* for emphasis. compliant: - This is normal text. - - Please click the btn:[Save] button. - - Use _important_ for emphasis. + - Click btn:[Save]. + - Use `important` for emphasis. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml b/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml index 114ef3e..0ea818c 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Checkbox.yml @@ -1,6 +1,7 @@ flag: - Select the checkbox to agree. - Tick the OK check box if you accept. + - Click the checkboxes to select your options. compliant: - - Select "OK" to accept. - - Check "I agree" to continue. + - To accept the terms, click *OK*. + - To continue, select *I agree*. diff --git a/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml index 323b9ef..5df2308 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.CodeCallouts.yml @@ -10,8 +10,11 @@ flag: compliant: - adoc: | + First, declare the `Example` class: + [source,java] -- public class Example { + ... + } -- - First we declare the class `Example`. diff --git a/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml b/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml index a624256..8bfce0e 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.ComplexContractions.yml @@ -1,8 +1,8 @@ flag: - What'll become of the database? - - We must've missed the deadline. - - We would've liked to help you. + - You must've missed the deadline. + - They would've liked to help you. compliant: - - You shouldn't use contractions in formal documentation... but we do. - - They can't access the database. - - We won't support this feature. + - You shouldn't click btn:[Cancel]. + - The service displays a warning if it can't failover. + - Couchbase won't develop this anymore. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml b/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml index 2b9ffd6..456d9e9 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Contractions.yml @@ -3,7 +3,6 @@ flag: - How is this feature used? - That is not supported. - They are working on the fix. - - We are planning a release. - What is the status? - Where is the documentation? - Who is responsible for this? @@ -15,7 +14,6 @@ compliant: - How's this feature used? - That's not supported. - They're working on the fix. - - We're planning a release. - What's the status? - Where's the documentation? - Who's responsible for this? diff --git a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml index f854bfe..d9376e4 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.CouchbaseServerComm.yml @@ -1,3 +1,4 @@ +todo: We don't understand how the Vale conditional test works. flag: - You can download Community Edition from our website. - The Community Edition is free to use. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml b/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml index df5dfc2..db36318 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.DatePicker.yml @@ -1,6 +1,6 @@ flag: - - Select the Date Picker to choose a date. + - Select the Date Picker. - Click the *date picker* field. compliant: - - Select the date picker to choose a date. - - Click the date picker field. + - Select the date picker. + - To choose a date range, click the date picker. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml b/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml index 7084f56..3da6043 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.DialogOpens.yml @@ -1,5 +1,6 @@ flag: - The *Add Page* dialog opens. - Suddenly the Shopkeeper appears. + - Click *Add Page*. The *Add Page* dialog appears. compliant: - - Open the *Add Page* dialog. + - Click *Add Page*. Then, in the *Page Name* field, enter a page name. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml b/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml index 8b59ec4..476c6e3 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Dialogs.yml @@ -1,8 +1,7 @@ flag: - - A Dialog will appear. - - Click the *dialog* to continue. - - The *dialog box* is displayed. + - Use the Dialog. + - Click *OK* in the *dialog* to continue. + - Capella displays the *dialog box*. compliant: - - A dialog will appear. - - Click the dialog to continue. - - The dialog box is displayed. + - In the confirmation dialog, click *OK* to continue. + - Capella displays a confirmation dialog. diff --git a/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml b/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml index f1bdcdb..6adc121 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.DirectionalLanguage.yml @@ -5,8 +5,8 @@ flag: - Move up to the previous section. - The icon is above the text. compliant: - - Click the first button. + - Click btn:[Next]. - Scroll to see more options. - - The settings are under the menu. + - To view more options, open the menu. - Return to the previous section. - - The icon is near the text. + - Locate the *X* icon. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml b/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml index 2c115d3..30b0a84 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Dropdown.yml @@ -3,4 +3,4 @@ flag: - Click the dropdown menu. - Open the dropdowns list. compliant: - - Choose the value from the list. + - In the *Tools* list, select your tools. diff --git a/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml b/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml index 5af0691..63ca671 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.FancyQuotes.yml @@ -3,6 +3,8 @@ flag: - She replied, ‘Indeed it is.’ - The document uses “smart quotes” throughout. compliant: - - He said, "This is a test." - - She replied, 'Indeed it is.' - - The document uses "straight quotes" throughout. + - adoc: | + [source,json] + -- + "key": "value" + -- diff --git a/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml b/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml index b1c5b89..d5d101b 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.HeadingFormatting.yml @@ -1,5 +1,5 @@ flag: - - = This is a *bold* heading. - - == This is an _italic_ heading. + - = *Bolded* Heading + - == *Italicized* Heading compliant: - - = This heading has no formatting. + - = Non-Formatted Heading diff --git a/ValeStyles/test/adoc/Test-Couchbase.Italics.yml b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml index 3268aaa..c73f542 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Italics.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Italics.yml @@ -4,4 +4,4 @@ flag: - Use _important_ for emphasis. compliant: - This is normal text. - - Please click the btn:[Save] button. + - Click btn:[Save]. diff --git a/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml b/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml index ffa5689..d1f6573 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.LessFewer.yml @@ -1,10 +1,10 @@ flag: - There are less errors in this version. - - We need less people on the project. + - You need less people on the project. - She has less tasks to complete. - The server has less connections now. compliant: - There are fewer errors in this version. - - We need fewer people on the project. + - You need fewer people on the project. - She has fewer tasks to complete. - The server has fewer connections now. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Link.yml b/ValeStyles/test/adoc/Test-Couchbase.Link.yml index 3076165..ed2d42e 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Link.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Link.yml @@ -1,4 +1,4 @@ flag: - - Click the link to continue. + - Click the *Learn More* link. compliant: - - Click "continue". + - Click *Learn More*. diff --git a/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml b/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml index 291332c..27d0784 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.NegativeContractions.yml @@ -1,12 +1,12 @@ flag: - You can't access this feature. - They don't have permission. - - We won't support this version. + - Couchbase won't support this version. - She isn't available right now. - He hasn't finished the task. compliant: - You cannot access this feature. - They do not have permission. - - We will not support this version. + - Couchbase will not support this version. - She is not available right now. - He has not finished the task. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Please.yml b/ValeStyles/test/adoc/Test-Couchbase.Please.yml index 11b6384..0c623a1 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Please.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Please.yml @@ -3,6 +3,6 @@ flag: - Please ensure you have saved your work. - Please contact support if you need help. compliant: - - Refer to the documentation for more information. - - Ensure you have saved your work. + - For more information, see the documentation. + - Make sure you have saved your work. - Contact support if you need help. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml b/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml index 2b0afb2..a6dc733 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Quotations.yml @@ -3,6 +3,6 @@ flag: - He clicked the "Save" button. - Select the "Settings" option from the menu. compliant: - - The term ‘bucket’ refers to a data container. - - He clicked the btn:[Save] button. - - Select the _Settings_ option from the menu. + - The term `bucket` refers to a data container. + - He clicked btn:[Save]. + - Click *Settings* from the menu. diff --git a/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml index 01ede8a..4d4e772 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.ReadingLevel.yml @@ -6,4 +6,4 @@ flag: modules. compliant: - The system uses many methods to help different modules work together. - - This change means we need to review how things work. + - This change means you need to review how things work. diff --git a/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml b/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml index b307306..f70efbd 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.RunOn.yml @@ -1,4 +1,4 @@ flag: - This could be a run on sentence, because it has many commas, so confuses people, don't you think? compliant: - - Sentences with up to two commas are fine, but no more than that, I beg you. + - Sentences with up to two commas are fine, but no more than that, or you'll get in trouble. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml index f8ad7ce..20ccef3 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Sidebars.yml @@ -6,4 +6,4 @@ flag: - adoc: '[sidebar]' compliant: - This is a regular paragraph, not a sidebar. - - Use sidebars only when necessary and keep them concise. + - Do not use the sidebar formatting. Use admonitions, instead. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml b/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml index 530f032..40e3d2a 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Terminology.yml @@ -1,18 +1,18 @@ flag: - This project uses dotnet for development. - - Please add the adaptor to your system. - - We use the whitelist to control access. + - Add the adaptor to your system. + - Couchbase uses the whitelist to control access. - The code base is large. - - Refer to the data center documentation. + - See the data center documentation. - She used the plugin for integration. - The master node is down. - He prefers to utilize this feature. compliant: - This project uses .NET for development. - - Please add the adapter to your system. - - We use the Allowlist to control access. + - Add the adapter to your system. + - Couchbase uses the Allowlist to control access. - The codebase is large. - - Refer to the datacenter documentation. + - See the datacenter documentation. - She used the plug-in for integration. - The primary node is down. - He prefers to use this feature. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml b/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml index 21572f7..ddf4d85 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Textbox.yml @@ -3,4 +3,4 @@ flag: - Click the text box to start typing. compliant: - Enter your name in the field. - - Click the box to start typing. + - Click the field to start typing. diff --git a/ValeStyles/test/adoc/Test-Couchbase.Values.yml b/ValeStyles/test/adoc/Test-Couchbase.Values.yml index 9abaea6..d3e749c 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Values.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Values.yml @@ -1,6 +1,6 @@ flag: - above 1000 - - higher than the blood sugar limit + - lower than the limit compliant: - greater than 1000 - less than the limit diff --git a/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml b/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml index 08f5569..c71d861 100644 --- a/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml +++ b/ValeStyles/test/adoc/Test-Couchbase.Wordy.yml @@ -1,8 +1,8 @@ flag: - Combating the issue requires a comprehensive understanding of the underlying architecture. - - We will streamline the process to enhance efficiency. + - Couchbase will streamline the process to enhance efficiency. - It is ever thus. compliant: - We need to understand the architecture to fix the issue. - - We will simplify the process to improve efficiency. + - Couchbase will simplify the process to improve efficiency. - It's always like this.