]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add cSpell custom dictionary and docs-spellcheck script (#34940)
authorChristian Oliff <christianoliff@pm.me>
Tue, 5 Oct 2021 15:00:48 +0000 (00:00 +0900)
committerGitHub <noreply@github.com>
Tue, 5 Oct 2021 15:00:48 +0000 (18:00 +0300)
.cspell.json [new file with mode: 0644]
package-lock.json
package.json

diff --git a/.cspell.json b/.cspell.json
new file mode 100644 (file)
index 0000000..3a649ab
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "version": "0.2",
+  "words": [
+    "affordance",
+    "allowfullscreen",
+    "autohide",
+    "autohiding",
+    "autoplay",
+    "autoplays",
+    "blazingly",
+    "Blockquotes",
+    "Bootstrappers",
+    "borderless",
+    "browserslist",
+    "browserslistrc",
+    "btncheck",
+    "btnradio",
+    "callout",
+    "callouts",
+    "clearfix",
+    "Codesniffer",
+    "colorspace",
+    "combinator",
+    "Contentful",
+    "Cpath",
+    "Crossfade",
+    "cssgrid",
+    "Csvg",
+    "Datalists",
+    "Deque",
+    "discoverability",
+    "docsearch",
+    "docsref",
+    "dropend",
+    "dropleft",
+    "dropright",
+    "dropstart",
+    "dropup",
+    "errorf",
+    "favicon",
+    "favicons",
+    "fieldsets",
+    "flexbox",
+    "fullscreen",
+    "fusv",
+    "getbootstrap",
+    "globby",
+    "Grayscale",
+    "Hoverable",
+    "hreflang",
+    "hstack",
+    "jsdelivr",
+    "Jumpstart",
+    "keyframes",
+    "libera",
+    "Libsass",
+    "lightboxes",
+    "Lowercased",
+    "markdownify",
+    "mediaqueries",
+    "minifiers",
+    "monospace",
+    "mouseleave",
+    "navbars",
+    "navs",
+    "Neue",
+    "noindex",
+    "Noto",
+    "offcanvas",
+    "offcanvases",
+    "popperjs",
+    "prebuild",
+    "precompiled",
+    "prefersreducedmotion",
+    "prepended",
+    "printf",
+    "rects",
+    "relref",
+    "rgba",
+    "roboto",
+    "RTLCSS",
+    "ruleset",
+    "screenreaders",
+    "scrollbars",
+    "scrollspy",
+    "Segoe",
+    "sirv",
+    "srcset",
+    "stickied",
+    "Stylelint",
+    "subnav",
+    "svgo",
+    "tabbable",
+    "textareas",
+    "toggleable",
+    "topbar",
+    "touchend",
+    "twbs",
+    "unitless",
+    "Unported",
+    "unstylable",
+    "unstyled",
+    "Uppercased",
+    "urlize",
+    "vbtn",
+    "viewports",
+    "vstack",
+    "walkthroughs",
+    "WCAG",
+    "webfont",
+    "Woohoo",
+    "zindex",
+    "بالعالم",
+    "مرحبا"
+  ],
+  "language": "en,en-US",
+  "ignorePaths": [
+    ".cspell.json",
+    ".min."
+  ]
+}
index 54b1de20d16e49698f4830a02a3196d7a8522e84..0d68da36b71d00ab41bd93ce55e2029ad3d50966 100644 (file)
         "to-fast-properties": "^2.0.0"
       }
     },
+    "@cspell/cspell-bundled-dicts": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.12.0.tgz",
+      "integrity": "sha512-oY8CqTRM6bCFpLQARPn5iVAMaWiAhCknTE/OHk3rNw7ONZebuKYiK7MWbiflQ4wMQKa71suqomp4G7H+VspLKA==",
+      "dev": true,
+      "requires": {
+        "@cspell/dict-ada": "^1.1.2",
+        "@cspell/dict-aws": "^1.0.14",
+        "@cspell/dict-bash": "^1.0.15",
+        "@cspell/dict-companies": "^1.0.40",
+        "@cspell/dict-cpp": "^1.1.40",
+        "@cspell/dict-cryptocurrencies": "^1.0.10",
+        "@cspell/dict-csharp": "^1.0.11",
+        "@cspell/dict-css": "^1.0.12",
+        "@cspell/dict-django": "^1.0.26",
+        "@cspell/dict-dotnet": "^1.0.31",
+        "@cspell/dict-elixir": "^1.0.25",
+        "@cspell/dict-en-gb": "^1.1.33",
+        "@cspell/dict-en_us": "^2.1.1",
+        "@cspell/dict-filetypes": "^1.1.8",
+        "@cspell/dict-fonts": "^1.0.14",
+        "@cspell/dict-fullstack": "^1.0.38",
+        "@cspell/dict-golang": "^1.1.24",
+        "@cspell/dict-haskell": "^1.0.13",
+        "@cspell/dict-html": "^1.1.9",
+        "@cspell/dict-html-symbol-entities": "^1.0.23",
+        "@cspell/dict-java": "^1.0.23",
+        "@cspell/dict-latex": "^1.0.25",
+        "@cspell/dict-lorem-ipsum": "^1.0.22",
+        "@cspell/dict-lua": "^1.0.16",
+        "@cspell/dict-node": "^1.0.12",
+        "@cspell/dict-npm": "^1.0.16",
+        "@cspell/dict-php": "^1.0.24",
+        "@cspell/dict-powershell": "^1.0.18",
+        "@cspell/dict-public-licenses": "^1.0.3",
+        "@cspell/dict-python": "^2.0.3",
+        "@cspell/dict-ruby": "^1.0.14",
+        "@cspell/dict-rust": "^1.0.23",
+        "@cspell/dict-scala": "^1.0.21",
+        "@cspell/dict-software-terms": "^1.0.46",
+        "@cspell/dict-typescript": "^1.0.19"
+      }
+    },
+    "@cspell/cspell-types": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.12.0.tgz",
+      "integrity": "sha512-32DUOLgK61i+pDzGhqpKC/QxJXcPohEKfU8adiUGV6nBOuWm1HC9hf/4+1cgMvbjnsZUVNmhPeESIuj4BeqpRw==",
+      "dev": true
+    },
+    "@cspell/dict-ada": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-1.1.2.tgz",
+      "integrity": "sha512-UDrcYcKIVyXDz5mInJabRNQpJoehjBFvja5W+GQyu9pGcx3BS3cAU8mWENstGR0Qc/iFTxB010qwF8F3cHA/aA==",
+      "dev": true
+    },
+    "@cspell/dict-aws": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-1.0.14.tgz",
+      "integrity": "sha512-K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w==",
+      "dev": true
+    },
+    "@cspell/dict-bash": {
+      "version": "1.0.15",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-1.0.15.tgz",
+      "integrity": "sha512-rY5Bq4RWTgJTioG8vqFbCmnalc/UEM+iBuAZBYvBfT3nU/6SN00Zjyvlh823ir2ODkUryT29CwRYwXcPnuM04w==",
+      "dev": true
+    },
+    "@cspell/dict-companies": {
+      "version": "1.0.40",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-1.0.40.tgz",
+      "integrity": "sha512-Aw07qiTroqSST2P5joSrC4uOA05zTXzI2wMb+me3q4Davv1D9sCkzXY0TGoC2vzhNv5ooemRi9KATGaBSdU1sw==",
+      "dev": true
+    },
+    "@cspell/dict-cpp": {
+      "version": "1.1.40",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-1.1.40.tgz",
+      "integrity": "sha512-sscfB3woNDNj60/yGXAdwNtIRWZ89y35xnIaJVDMk5TPMMpaDvuk0a34iOPIq0g4V+Y8e3RyAg71SH6ADwSjGw==",
+      "dev": true
+    },
+    "@cspell/dict-cryptocurrencies": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-1.0.10.tgz",
+      "integrity": "sha512-47ABvDJOkaST/rXipNMfNvneHUzASvmL6K/CbOFpYKfsd0x23Jc9k1yaOC7JAm82XSC/8a7+3Yu+Fk2jVJNnsA==",
+      "dev": true
+    },
+    "@cspell/dict-csharp": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-1.0.11.tgz",
+      "integrity": "sha512-nub+ZCiTgmT87O+swI+FIAzNwaZPWUGckJU4GN402wBq420V+F4ZFqNV7dVALJrGaWH7LvADRtJxi6cZVHJKeA==",
+      "dev": true
+    },
+    "@cspell/dict-css": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-1.0.12.tgz",
+      "integrity": "sha512-K6yuxej7n454O7dwKG6lHacHrAOMZ0PhMEbmV6qH2JH0U4TtWXfBASYugHvXZCDDx1UObpiJP+3tQJiBqfGpHA==",
+      "dev": true
+    },
+    "@cspell/dict-django": {
+      "version": "1.0.26",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-1.0.26.tgz",
+      "integrity": "sha512-mn9bd7Et1L2zuibc08GVHTiD2Go3/hdjyX5KLukXDklBkq06r+tb0OtKtf1zKodtFDTIaYekGADhNhA6AnKLkg==",
+      "dev": true
+    },
+    "@cspell/dict-dotnet": {
+      "version": "1.0.31",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-1.0.31.tgz",
+      "integrity": "sha512-65yZTMcEdYkNx9sNs18OxcE0zfbZ5VsAZ0KgDvl/1YCkTomxr9vmtnrzFz4+vxfjV4eSuaL1SPRMZODaM7SSTg==",
+      "dev": true
+    },
+    "@cspell/dict-elixir": {
+      "version": "1.0.25",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-1.0.25.tgz",
+      "integrity": "sha512-ZmawoBYjM5k+8fNudRMkK+PpHjhyAFAZt2rUu1EGj2rbCvE3Fn2lhRbDjbreN7nWRvcLRTW+xuPXtKP11X0ahQ==",
+      "dev": true
+    },
+    "@cspell/dict-en-gb": {
+      "version": "1.1.33",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz",
+      "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==",
+      "dev": true
+    },
+    "@cspell/dict-en_us": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.1.1.tgz",
+      "integrity": "sha512-7kHOqve9DVFsb1e/wKME3CZhj48zOqvXNaA1Cd82ZkaHf3aL7pUBx3cxI7Xopj/dcK1ZkhUKh+2nBxPIWIibNg==",
+      "dev": true
+    },
+    "@cspell/dict-filetypes": {
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-1.1.8.tgz",
+      "integrity": "sha512-EllahNkhzvLWo0ptwu0l3oEeAJOQSUpZnDfnKRIh6mJVehuSovNHwA9vrdZ8jBUjuqcfaN2e7c32zN0D/qvWJQ==",
+      "dev": true
+    },
+    "@cspell/dict-fonts": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-1.0.14.tgz",
+      "integrity": "sha512-VhIX+FVYAnqQrOuoFEtya6+H72J82cIicz9QddgknsTqZQ3dvgp6lmVnsQXPM3EnzA8n1peTGpLDwHzT7ociLA==",
+      "dev": true
+    },
+    "@cspell/dict-fullstack": {
+      "version": "1.0.38",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-1.0.38.tgz",
+      "integrity": "sha512-4reajWiUxwWrSyZaWm9e15kaWzjYcZbzlB+CVcxE1+0NqdIoqlEESDhbnrAjKPSq+jspKtes7nQ1CdZEOj1gCA==",
+      "dev": true
+    },
+    "@cspell/dict-golang": {
+      "version": "1.1.24",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-1.1.24.tgz",
+      "integrity": "sha512-qq3Cjnx2U1jpeWAGJL1GL0ylEhUMqyaR36Xij6Y6Aq4bViCRp+HRRqk0x5/IHHbOrti45h3yy7ii1itRFo+Xkg==",
+      "dev": true
+    },
+    "@cspell/dict-haskell": {
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-1.0.13.tgz",
+      "integrity": "sha512-kvl8T84cnYRPpND/P3D86P6WRSqebsbk0FnMfy27zo15L5MLAb3d3MOiT1kW3vEWfQgzUD7uddX/vUiuroQ8TA==",
+      "dev": true
+    },
+    "@cspell/dict-html": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-1.1.9.tgz",
+      "integrity": "sha512-vvnYia0tyIS5Fdoz+gEQm77MGZZE66kOJjuNpIYyRHCXFAhWdYz3SmkRm6YKJSWSvuO+WBJYTKDvkOxSh3Fx/w==",
+      "dev": true
+    },
+    "@cspell/dict-html-symbol-entities": {
+      "version": "1.0.23",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-1.0.23.tgz",
+      "integrity": "sha512-PV0UBgcBFbBLf/m1wfkVMM8w96kvfHoiCGLWO6BR3Q9v70IXoE4ae0+T+f0CkxcEkacMqEQk/I7vuE9MzrjaNw==",
+      "dev": true
+    },
+    "@cspell/dict-java": {
+      "version": "1.0.23",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-1.0.23.tgz",
+      "integrity": "sha512-LcOg9srYLDoNGd8n3kbfDBlZD+LOC9IVcnFCdua1b/luCHNVmlgBx7e677qPu7olpMYOD5TQIVW2OmM1+/6MFA==",
+      "dev": true
+    },
+    "@cspell/dict-latex": {
+      "version": "1.0.25",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-1.0.25.tgz",
+      "integrity": "sha512-cEgg91Migqcp1SdVV7dUeMxbPDhxdNo6Fgq2eygAXQjIOFK520FFvh/qxyBvW90qdZbIRoU2AJpchyHfGuwZFA==",
+      "dev": true
+    },
+    "@cspell/dict-lorem-ipsum": {
+      "version": "1.0.22",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-1.0.22.tgz",
+      "integrity": "sha512-yqzspR+2ADeAGUxLTfZ4pXvPl7FmkENMRcGDECmddkOiuEwBCWMZdMP5fng9B0Q6j91hQ8w9CLvJKBz10TqNYg==",
+      "dev": true
+    },
+    "@cspell/dict-lua": {
+      "version": "1.0.16",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-1.0.16.tgz",
+      "integrity": "sha512-YiHDt8kmHJ8nSBy0tHzaxiuitYp+oJ66ffCYuFWTNB3//Y0SI4OGHU3omLsQVeXIfCeVrO4DrVvRDoCls9B5zQ==",
+      "dev": true
+    },
+    "@cspell/dict-node": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-1.0.12.tgz",
+      "integrity": "sha512-RPNn/7CSkflAWk0sbSoOkg0ORrgBARUjOW3QjB11KwV1gSu8f5W/ij/S50uIXtlrfoBLqd4OyE04jyON+g/Xfg==",
+      "dev": true
+    },
+    "@cspell/dict-npm": {
+      "version": "1.0.16",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-1.0.16.tgz",
+      "integrity": "sha512-RwkuZGcYBxL3Yux3cSG/IOWGlQ1e9HLCpHeyMtTVGYKAIkFAVUnGrz20l16/Q7zUG7IEktBz5O42kAozrEnqMQ==",
+      "dev": true
+    },
+    "@cspell/dict-php": {
+      "version": "1.0.24",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-1.0.24.tgz",
+      "integrity": "sha512-vHCqETX1idT9tN1plkxUFnXMIHjbbrNOINZh1PYSvVlBrOdahSaL/g6dOJZC5QTaaidoU4WXUlgnNb/7JN4Plg==",
+      "dev": true
+    },
+    "@cspell/dict-powershell": {
+      "version": "1.0.18",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-1.0.18.tgz",
+      "integrity": "sha512-LAfCJBy1hga8/KI/IpAg/GrnoP+b4SbNGdiXiXrejeZ7ZTVfj4qYsTCkZ2p7eYUu92FLyJT4jGex0fGZn/PtVw==",
+      "dev": true
+    },
+    "@cspell/dict-public-licenses": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-1.0.3.tgz",
+      "integrity": "sha512-sXjxOHJ9Q4rZvE1UbwpwJQ8EXO3fadKBjJIWmz0z+dZAbvTrmz5Ln1Ef9ruJvLPfwAps8m3TCV6Diz60RAQqHg==",
+      "dev": true
+    },
+    "@cspell/dict-python": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-2.0.3.tgz",
+      "integrity": "sha512-b15Dk/nDzeB5mbTSXx4RGKgmM9AW5BpaHyZoUZNUOdPfQbcd02hVblro/MXMw45SvQ3Wr/VFJx32skwuRkvFPg==",
+      "dev": true
+    },
+    "@cspell/dict-ruby": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-1.0.14.tgz",
+      "integrity": "sha512-XHBGN4U1y9rjRuqrCA+3yIm2TCdhwwHXpOEcWkNeyXm8K03yPnIrKFS+kap8GTTrLpfNDuFsrmkkQTa7ssXLRA==",
+      "dev": true
+    },
+    "@cspell/dict-rust": {
+      "version": "1.0.23",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-1.0.23.tgz",
+      "integrity": "sha512-lR4boDzs79YD6+30mmiSGAMMdwh7HTBAPUFSB0obR3Kidibfc3GZ+MHWZXay5dxZ4nBKM06vyjtanF9VJ8q1Iw==",
+      "dev": true
+    },
+    "@cspell/dict-scala": {
+      "version": "1.0.21",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-1.0.21.tgz",
+      "integrity": "sha512-5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA==",
+      "dev": true
+    },
+    "@cspell/dict-software-terms": {
+      "version": "1.0.46",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-1.0.46.tgz",
+      "integrity": "sha512-W4Lf0AmWo7V/tS0kXKsTUW/edfYOQ7QTVisuuQM7bnttrykhlNuNrmcSSYNg5xn46H6MlaZvk3+oz4tHH30nbg==",
+      "dev": true
+    },
+    "@cspell/dict-typescript": {
+      "version": "1.0.19",
+      "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-1.0.19.tgz",
+      "integrity": "sha512-qmJApzoVskDeJnLZzZMaafEDGbEg5Elt4c3Mpg49SWzIHm1N4VXCp5CcFfHsOinJ30dGrs3ARAJGJZIw56kK6A==",
+      "dev": true
+    },
     "@eslint/eslintrc": {
       "version": "0.4.3",
       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
         "is-string": "^1.0.5"
       }
     },
+    "array-timsort": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz",
+      "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==",
+      "dev": true
+    },
     "array-union": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
         "escape-string-regexp": "^1.0.5"
       }
     },
+    "clear-module": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.1.tgz",
+      "integrity": "sha512-ng0E7LeODcT3QkazOckzZqbca+JByQy/Q2Z6qO24YsTp+pLxCfohGz2gJYJqZS0CWTX3LEUiHOqe5KlYeUbEMw==",
+      "dev": true,
+      "requires": {
+        "parent-module": "^2.0.0",
+        "resolve-from": "^5.0.0"
+      },
+      "dependencies": {
+        "parent-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz",
+          "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==",
+          "dev": true,
+          "requires": {
+            "callsites": "^3.1.0"
+          }
+        },
+        "resolve-from": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+          "dev": true
+        }
+      }
+    },
     "cli-boxes": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
       "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
       "dev": true
     },
+    "comment-json": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.1.1.tgz",
+      "integrity": "sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA==",
+      "dev": true,
+      "requires": {
+        "array-timsort": "^1.0.3",
+        "core-util-is": "^1.0.2",
+        "esprima": "^4.0.1",
+        "has-own-prop": "^2.0.0",
+        "repeat-string": "^1.6.1"
+      }
+    },
     "commondir": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
       "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
       "dev": true
     },
+    "cspell": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell/-/cspell-5.12.0.tgz",
+      "integrity": "sha512-Up74oWkR5mUy5MIrVv9EY7eFG2qoAoWO4oXdetj4PznJ7u0PavyrhSEbvUBxDroGihXNCX3ut7CrDnR8D/6g7A==",
+      "dev": true,
+      "requires": {
+        "chalk": "^4.1.2",
+        "commander": "^8.2.0",
+        "comment-json": "^4.1.1",
+        "cspell-gitignore": "^5.12.0",
+        "cspell-glob": "^5.12.0",
+        "cspell-lib": "^5.12.0",
+        "fast-json-stable-stringify": "^2.1.0",
+        "file-entry-cache": "^6.0.1",
+        "fs-extra": "^10.0.0",
+        "get-stdin": "^8.0.0",
+        "glob": "^7.2.0",
+        "imurmurhash": "^0.1.4",
+        "strip-ansi": "^6.0.1",
+        "vscode-uri": "^3.0.2"
+      },
+      "dependencies": {
+        "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,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "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,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "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
+        },
+        "commander": {
+          "version": "8.2.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz",
+          "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==",
+          "dev": true
+        },
+        "fs-extra": {
+          "version": "10.0.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
+          "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "get-stdin": {
+          "version": "8.0.0",
+          "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+          "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+          "dev": true
+        },
+        "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
+        },
+        "jsonfile": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^2.0.0"
+          }
+        },
+        "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,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "universalify": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true
+        }
+      }
+    },
+    "cspell-gitignore": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.12.0.tgz",
+      "integrity": "sha512-lOJqw5ySBMkIhDDFskRYWtBXVTTEKazhfoK0D1AgrDYcrr9h9V4iAsMJoVO36LR/Rs1mOKtCUntLo9UfUYAfvQ==",
+      "dev": true,
+      "requires": {
+        "cspell-glob": "^5.12.0",
+        "find-up": "^5.0.0"
+      },
+      "dependencies": {
+        "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,
+          "requires": {
+            "locate-path": "^6.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "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,
+          "requires": {
+            "p-locate": "^5.0.0"
+          }
+        },
+        "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,
+          "requires": {
+            "yocto-queue": "^0.1.0"
+          }
+        },
+        "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,
+          "requires": {
+            "p-limit": "^3.0.2"
+          }
+        }
+      }
+    },
+    "cspell-glob": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.12.0.tgz",
+      "integrity": "sha512-TTN9p4Fxi1uVQ/LKR26BHbhOXj90h9coQOmOBAjEivSZvVTY/kKH9YlvCxHok/PN9wDwQtd7XRBqwCpGvSaYUA==",
+      "dev": true,
+      "requires": {
+        "micromatch": "^4.0.4"
+      }
+    },
+    "cspell-io": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-5.12.0.tgz",
+      "integrity": "sha512-XNOQgxy3/fx3Rv7w0NO1jMgxVT+ZliJ6L2HI+BCCIBQSkDmKpjXZyOR2mURyS9G4y6wJ44wO0MWtpC7FGBk7TA==",
+      "dev": true
+    },
+    "cspell-lib": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.12.0.tgz",
+      "integrity": "sha512-KfYF2STiNG6NRj/bTOBHKwqsB0tOXrjJWQXfbrpOMxu4yhnSy1gz27jsUSVFJoNE2SxWY91tJBBfCuU6pqSMiw==",
+      "dev": true,
+      "requires": {
+        "@cspell/cspell-bundled-dicts": "^5.12.0",
+        "@cspell/cspell-types": "^5.12.0",
+        "clear-module": "^4.1.1",
+        "comment-json": "^4.1.1",
+        "configstore": "^5.0.1",
+        "cosmiconfig": "^7.0.1",
+        "cspell-glob": "^5.12.0",
+        "cspell-io": "^5.12.0",
+        "cspell-trie-lib": "^5.12.0",
+        "find-up": "^5.0.0",
+        "fs-extra": "^10.0.0",
+        "gensequence": "^3.1.1",
+        "import-fresh": "^3.3.0",
+        "resolve-from": "^5.0.0",
+        "resolve-global": "^1.0.0",
+        "vscode-uri": "^3.0.2"
+      },
+      "dependencies": {
+        "cosmiconfig": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+          "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+          "dev": true,
+          "requires": {
+            "@types/parse-json": "^4.0.0",
+            "import-fresh": "^3.2.1",
+            "parse-json": "^5.0.0",
+            "path-type": "^4.0.0",
+            "yaml": "^1.10.0"
+          }
+        },
+        "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,
+          "requires": {
+            "locate-path": "^6.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "fs-extra": {
+          "version": "10.0.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
+          "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^2.0.0"
+          }
+        },
+        "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,
+          "requires": {
+            "p-locate": "^5.0.0"
+          }
+        },
+        "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,
+          "requires": {
+            "yocto-queue": "^0.1.0"
+          }
+        },
+        "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,
+          "requires": {
+            "p-limit": "^3.0.2"
+          }
+        },
+        "path-type": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+          "dev": true
+        },
+        "resolve-from": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+          "dev": true
+        },
+        "universalify": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true
+        }
+      }
+    },
+    "cspell-trie-lib": {
+      "version": "5.12.0",
+      "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.12.0.tgz",
+      "integrity": "sha512-Dd+umsqnAz6gLfQWAoMqW9slqT6+PgXzNvAskziS5BIngvPF4VzkR/46eiDPvMp32JwbzE392Zfho8Wf/ph+vw==",
+      "dev": true,
+      "requires": {
+        "fs-extra": "^10.0.0",
+        "gensequence": "^3.1.1"
+      },
+      "dependencies": {
+        "fs-extra": {
+          "version": "10.0.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
+          "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^2.0.0"
+          }
+        },
+        "universalify": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true
+        }
+      }
+    },
     "css-select": {
       "version": "4.1.3",
       "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
         }
       }
     },
+    "gensequence": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-3.1.1.tgz",
+      "integrity": "sha512-ys3h0hiteRwmY6BsvSttPmkhC0vEQHPJduANBRtH/dlDPZ0UBIb/dXy80IcckXyuQ6LKg+PloRqvGER9IS7F7g==",
+      "dev": true
+    },
     "gensync": {
       "version": "1.0.0-beta.2",
       "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
       "dev": true
     },
+    "has-own-prop": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz",
+      "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==",
+      "dev": true
+    },
     "has-symbol-support-x": {
       "version": "1.4.2",
       "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
       "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
       "dev": true
     },
+    "resolve-global": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
+      "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
+      "dev": true,
+      "requires": {
+        "global-dirs": "^0.1.1"
+      },
+      "dependencies": {
+        "global-dirs": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+          "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+          "dev": true,
+          "requires": {
+            "ini": "^1.3.4"
+          }
+        }
+      }
+    },
     "responselike": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
       "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
       "dev": true
     },
+    "vscode-uri": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz",
+      "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==",
+      "dev": true
+    },
     "webidl-conversions": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
index ab718804f112cd45071eb7b70bfbc924c4fd19c5..c3e4060cdd10bb385b2fb17208511e2d19861506 100644 (file)
@@ -58,8 +58,9 @@
     "docs-build": "hugo --cleanDestinationDir",
     "docs-compile": "npm run docs-build",
     "docs-linkinator": "linkinator _site --recurse --skip \"^(?!http://localhost)\" --verbosity error",
+    "docs-spellcheck": "cspell \"site/**/*.md\" --no-progress",
     "docs-vnu": "node build/vnu-jar.js",
-    "docs-lint": "npm-run-all --aggregate-output --parallel docs-vnu docs-linkinator",
+    "docs-lint": "npm-run-all --aggregate-output --parallel docs-vnu docs-linkinator docs-spellcheck",
     "docs-serve": "hugo server --port 9001 --disableFastRender",
     "docs-serve-only": "npx sirv-cli _site --port 9001",
     "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
     "bundlewatch": "^0.3.2",
     "clean-css-cli": "^5.4.1",
     "cross-env": "^7.0.3",
+    "cspell": "^5.12.0",
     "eslint": "^7.32.0",
     "eslint-config-xo": "^0.39.0",
     "eslint-plugin-import": "^2.24.2",