@zthun/janitor-web 18.0.5 → 18.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/hierarchy.js +1 -0
- package/dist/assets/icons.js +1 -1
- package/dist/assets/icons.svg +1 -1
- package/dist/assets/main.js +5 -5
- package/dist/assets/navigation.js +1 -1
- package/dist/assets/search.js +1 -1
- package/dist/assets/style.css +1405 -1288
- package/dist/classes/{_zthun_lint_janitor.ZConfigExtender.html → _zthun_lint-janitor.ZConfigExtender.html} +8 -9
- package/dist/classes/{_zthun_lint_janitor.ZConfigReaderCosmic.html → _zthun_lint-janitor.ZConfigReaderCosmic.html} +15 -16
- package/dist/classes/{_zthun_lint_janitor.ZConfigReaderNull.html → _zthun_lint-janitor.ZConfigReaderNull.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZConfigReaderPrettier.html → _zthun_lint-janitor.ZConfigReaderPrettier.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZContentLinterHtml.html → _zthun_lint-janitor.ZContentLinterHtml.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZContentLinterJson.html → _zthun_lint-janitor.ZContentLinterJson.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZContentLinterPretty.html → _zthun_lint-janitor.ZContentLinterPretty.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZContentLinterYaml.html → _zthun_lint-janitor.ZContentLinterYaml.html} +5 -6
- package/dist/classes/{_zthun_lint_janitor.ZFileReportLint.html → _zthun_lint-janitor.ZFileReportLint.html} +7 -8
- package/dist/classes/{_zthun_lint_janitor.ZLintJanitor.html → _zthun_lint-janitor.ZLintJanitor.html} +28 -29
- package/dist/classes/{_zthun_lint_janitor.ZLinterEs.html → _zthun_lint-janitor.ZLinterEs.html} +9 -10
- package/dist/classes/{_zthun_lint_janitor.ZLinterFile.html → _zthun_lint-janitor.ZLinterFile.html} +8 -9
- package/dist/classes/{_zthun_lint_janitor.ZLinterMarkdown.html → _zthun_lint-janitor.ZLinterMarkdown.html} +7 -8
- package/dist/classes/{_zthun_lint_janitor.ZLinterSilent.html → _zthun_lint-janitor.ZLinterSilent.html} +6 -7
- package/dist/classes/{_zthun_lint_janitor.ZLinterSpelling.html → _zthun_lint-janitor.ZLinterSpelling.html} +6 -7
- package/dist/classes/{_zthun_lint_janitor.ZLinterStyle.html → _zthun_lint-janitor.ZLinterStyle.html} +6 -7
- package/dist/hierarchy.html +1 -2
- package/dist/index.html +4 -5
- package/dist/interfaces/{_zthun_lint_janitor.IZConfigDiscovery.html → _zthun_lint-janitor.IZConfigDiscovery.html} +4 -5
- package/dist/interfaces/_zthun_lint-janitor.IZConfigExtender.html +5 -0
- package/dist/interfaces/_zthun_lint-janitor.IZConfigReader.html +6 -0
- package/dist/interfaces/_zthun_lint-janitor.IZContentLinter.html +9 -0
- package/dist/interfaces/{_zthun_lint_janitor.IZLintJanitorArgs.html → _zthun_lint-janitor.IZLintJanitorArgs.html} +3 -4
- package/dist/interfaces/_zthun_lint-janitor.IZLintJanitorOptions.html +21 -0
- package/dist/interfaces/_zthun_lint-janitor.IZLinter.html +10 -0
- package/dist/modules/_zthun_eslint-config.html +13 -0
- package/dist/modules/_zthun_htmlhint-config.html +14 -0
- package/dist/modules/_zthun_lint-janitor-config.html +6 -0
- package/dist/modules/{_zthun_lint_janitor.html → _zthun_lint-janitor.html} +43 -67
- package/dist/modules/_zthun_markdownlint-config.html +17 -0
- package/dist/modules/_zthun_prettier-config.html +10 -0
- package/dist/modules/_zthun_stylelint-config-less.html +11 -0
- package/dist/modules/_zthun_stylelint-config-sass.html +11 -0
- package/dist/modules/_zthun_stylelint-config.html +10 -0
- package/dist/modules.html +1 -2
- package/package.json +6 -7
- package/dist/interfaces/_zthun_lint_janitor.IZConfigExtender.html +0 -6
- package/dist/interfaces/_zthun_lint_janitor.IZConfigReader.html +0 -7
- package/dist/interfaces/_zthun_lint_janitor.IZContentLinter.html +0 -10
- package/dist/interfaces/_zthun_lint_janitor.IZLintJanitorOptions.html +0 -22
- package/dist/interfaces/_zthun_lint_janitor.IZLinter.html +0 -11
- package/dist/modules/_zthun_eslint_config.html +0 -14
- package/dist/modules/_zthun_htmlhint_config.html +0 -15
- package/dist/modules/_zthun_lint_janitor_config.html +0 -7
- package/dist/modules/_zthun_markdownlint_config.html +0 -18
- package/dist/modules/_zthun_prettier_config.html +0 -11
- package/dist/modules/_zthun_stylelint_config.html +0 -11
- package/dist/modules/_zthun_stylelint_config_less.html +0 -12
- package/dist/modules/_zthun_stylelint_config_sass.html +0 -12
- /package/dist/{janitor.svg → assets/favicon.svg} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@zthun/lint-janitor | Janitor</title><meta name="description" content="Documentation for Janitor"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><
|
|
2
|
-
</head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Janitor</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Janitor</a></li><li><a href="_zthun_lint_janitor.html">@zthun/lint-janitor</a></li></ul><h1>Module @zthun/lint-janitor</h1></div><section class="tsd-panel tsd-typography"><a id="md:lint-janitor" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Lint Janitor<a href="#md:lint-janitor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Code gets messy. You will find that most places you work at will always have a
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@zthun/lint-janitor | Janitor</title><link rel="icon" href="../assets/favicon.svg" type="image/svg+xml"/><meta name="description" content="Documentation for Janitor"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Janitor</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Janitor</a></li><li><a href="_zthun_lint-janitor.html">@zthun/lint-janitor</a></li></ul><h1>Module @zthun/lint-janitor</h1></div><section class="tsd-panel tsd-typography"><a id="lint-janitor" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Lint Janitor<a href="#lint-janitor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Code gets messy. You will find that most places you work at will always have a
|
|
3
2
|
big long list of tech debt tasks that need to be taken care of and this becomes
|
|
4
3
|
a maintenance nightmare as it becomes very expensive to fix. Companies rarely
|
|
5
4
|
want to let developers fix these issues because they tend to only look at the
|
|
@@ -24,16 +23,16 @@ Having a single application that takes care of ones needs leads to greater
|
|
|
24
23
|
happiness then having to piece meal together tons of tools, each with individual
|
|
25
24
|
needs and maintainability issues. Just let <strong>Lint Janitor</strong> do the heavy lifting
|
|
26
25
|
for you.</p>
|
|
27
|
-
<a id="
|
|
26
|
+
<a id="getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#getting-started" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="sh"><span class="hl-0"># NPM</span><br/><span class="hl-1">npm</span><span class="hl-2"> </span><span class="hl-3">install</span><span class="hl-2"> </span><span class="hl-3">@zthun/lint-janitor</span><span class="hl-2"> </span><span class="hl-4">--save-dev</span><br/><span class="hl-0"># Yarn</span><br/><span class="hl-1">yarn</span><span class="hl-2"> </span><span class="hl-3">add</span><span class="hl-2"> </span><span class="hl-3">@zthun/lint-janitor</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
|
|
28
27
|
</code><button type="button">Copy</button></pre>
|
|
29
28
|
|
|
30
|
-
<a id="
|
|
29
|
+
<a id="configuration" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Configuration<a href="#configuration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Lint Janitor uses an opt-in approach to linting, meaning that it will not lint
|
|
31
30
|
any files that you do not tell it to lint. You will need to add a configuration
|
|
32
31
|
file that describes the list of files to lint and the sub configurations of each
|
|
33
32
|
internal linter. Each linter is described in further detail. In the end, the
|
|
34
33
|
expectation is that you will provide you're own collection of shared
|
|
35
34
|
configurations that you can reuse in all your projects.</p>
|
|
36
|
-
<p>Lint Janitor uses the <a href="https://www.npmjs.com/package/cosmiconfig"
|
|
35
|
+
<p>Lint Janitor uses the <a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a>
|
|
37
36
|
standard for loading its configuration. In short, it will search the current
|
|
38
37
|
working directory for the following files:</p>
|
|
39
38
|
<ol>
|
|
@@ -65,14 +64,14 @@ syntax to import other configurations.</p>
|
|
|
65
64
|
<pre><code class="sh"><span class="hl-0"># NPM</span><br/><span class="hl-1">npm</span><span class="hl-2"> </span><span class="hl-3">run</span><span class="hl-2"> </span><span class="hl-3">lint</span><br/><span class="hl-0"># Yarn</span><br/><span class="hl-1">yarn</span><span class="hl-2"> </span><span class="hl-3">lint</span><br/><span class="hl-0"># NPX</span><br/><span class="hl-1">npx</span><span class="hl-2"> </span><span class="hl-3">lint-janitor</span>
|
|
66
65
|
</code><button type="button">Copy</button></pre>
|
|
67
66
|
|
|
68
|
-
<a id="
|
|
67
|
+
<a id="command-line" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Command Line<a href="#command-line" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><p>You can always run lint-janitor on the command line using npx or if it is
|
|
69
68
|
installed globally, which is not recommended. There are very few command line
|
|
70
69
|
options, as lint-janitor intends to be fully driven by the config file.</p>
|
|
71
70
|
<p><strong>lint-janitor</strong> [options]</p>
|
|
72
71
|
<pre><code class="json"><span class="hl-2">[</span><br/><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">"option"</span><span class="hl-2">: </span><span class="hl-3">"--version"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"description"</span><span class="hl-2">: </span><span class="hl-3">"Show version number"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"type"</span><span class="hl-2">: </span><span class="hl-3">"boolean"</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">"option"</span><span class="hl-2">: </span><span class="hl-3">"--config"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"alias"</span><span class="hl-2">: </span><span class="hl-3">"-c"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"description"</span><span class="hl-2">: </span><span class="hl-3">"Optional config file to use"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"type"</span><span class="hl-2">: </span><span class="hl-3">"string"</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">"option"</span><span class="hl-2">: </span><span class="hl-3">"--help"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"description"</span><span class="hl-2">: </span><span class="hl-3">"Show help"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"type"</span><span class="hl-2">: </span><span class="hl-3">"boolean"</span><br/><span class="hl-2"> }</span><br/><span class="hl-2">]</span>
|
|
73
72
|
</code><button type="button">Copy</button></pre>
|
|
74
73
|
|
|
75
|
-
<a id="
|
|
74
|
+
<a id="linters" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Linters<a href="#linters" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="shared-configurations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Shared Configurations<a href="#shared-configurations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>While you can always recreate individual configurations for each linter, it is
|
|
76
75
|
<strong>HIGHLY</strong> recommended to create a set of shared configurations for your
|
|
77
76
|
organization. Most linters supported by Lint Janitor have some form of support
|
|
78
77
|
for extending configurations and sharing them so you don't need to reinvent the
|
|
@@ -84,20 +83,20 @@ organization.</p>
|
|
|
84
83
|
shared configurations used by zthun scoped projects. You can use them, but it is
|
|
85
84
|
recommended for your organization to create it's own set of configurations that
|
|
86
85
|
meets its needs.</p>
|
|
87
|
-
<a id="
|
|
86
|
+
<a id="json-and-yaml" class="tsd-anchor"></a><h3 class="tsd-anchor-link">JSON and YAML<a href="#json-and-yaml" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>JSON does not use an external tool. It's impossible to have lint errors in JSON
|
|
88
87
|
as if there are, it wouldn't be valid JSON and you won't be able to parse it.
|
|
89
88
|
Thus, when we talk about linting JSON, it's really just a parse check to make
|
|
90
89
|
sure you're JSON is valid.</p>
|
|
91
90
|
<p>For YAML, the same rule applies. It's just a parse check, but since YAML isn't
|
|
92
91
|
supported in JavaScript out of the box, it uses
|
|
93
|
-
<a href="https://www.npmjs.com/package/js-yaml"
|
|
92
|
+
<a href="https://www.npmjs.com/package/js-yaml">js-yaml</a> under the hood to parse and
|
|
94
93
|
check your files.</p>
|
|
95
94
|
<p>Neither of these checks verify schemas so be warned about that.</p>
|
|
96
|
-
<a id="
|
|
95
|
+
<a id="ecmascript" class="tsd-anchor"></a><h3 class="tsd-anchor-link">ECMAScript<a href="#ecmascript" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>The linter of choice for ECMAScript, is <a href="https://eslint.org/">ESLint</a>. ESLint
|
|
97
96
|
has a very large eco system with support for shared configurations and plugins.
|
|
98
97
|
It supports both TypeScript and JavaScript so it covers the entire feature
|
|
99
98
|
spectrum. The configuration file for ESLint uses something similar to a
|
|
100
|
-
<a href="https://www.npmjs.com/package/cosmiconfig"
|
|
99
|
+
<a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a> standard but it's more
|
|
101
100
|
restrictive. Instead, it looks for the following files in the current working
|
|
102
101
|
directory.</p>
|
|
103
102
|
<ol>
|
|
@@ -109,53 +108,53 @@ directory.</p>
|
|
|
109
108
|
<li>package.json</li>
|
|
110
109
|
</ol>
|
|
111
110
|
<p>There is also a
|
|
112
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint"
|
|
111
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">VisualStudio Code plugin</a>
|
|
113
112
|
that will give you highlighting for any linting errors while you type. This
|
|
114
113
|
makes ESLint the go to linter for web based ECMAScript code.</p>
|
|
115
114
|
<p>For the configuration schema, you can find it
|
|
116
|
-
<a href="https://eslint.org/docs/user-guide/configuring/"
|
|
115
|
+
<a href="https://eslint.org/docs/user-guide/configuring/">here</a>. If you create a shared
|
|
117
116
|
configuration, as recommended, you can simply add that to the extends key in the
|
|
118
117
|
ESLint configuration file to share configuration throughout your organization.</p>
|
|
119
118
|
<pre><code class="js"><span class="hl-0">// .eslintrc.js</span><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = </span><span class="hl-1">require</span><span class="hl-2">(</span><span class="hl-3">"@zthun/eslint-config"</span><span class="hl-2">);</span>
|
|
120
119
|
</code><button type="button">Copy</button></pre>
|
|
121
120
|
|
|
122
|
-
<a id="
|
|
121
|
+
<a id="styles-css-less-sass" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Styles (CSS, Less, SASS)<a href="#styles-css-less-sass" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>There are several linters for style based files.</p>
|
|
123
122
|
<ol>
|
|
124
|
-
<li><a href="https://github.com/CSSLint/csslint"
|
|
125
|
-
<li><a href="https://github.com/sasstools/sass-lint"
|
|
126
|
-
<li><a href="https://stylelint.io/"
|
|
123
|
+
<li><a href="https://github.com/CSSLint/csslint">CSSLint</a></li>
|
|
124
|
+
<li><a href="https://github.com/sasstools/sass-lint">SassLint</a></li>
|
|
125
|
+
<li><a href="https://stylelint.io/">StyleLint</a></li>
|
|
127
126
|
</ol>
|
|
128
127
|
<p>CSSLint and SassLint are no longer actively maintained. Thus, for linting style
|
|
129
128
|
based files, Lint Janitor uses StyleLint under the hood.</p>
|
|
130
|
-
<p>StyleLint is similar to <a href="https://eslint.org/"
|
|
129
|
+
<p>StyleLint is similar to <a href="https://eslint.org/">ESLint</a>. It too, has a nice
|
|
131
130
|
ecosystem of plugins and it supports shared configurations. Stylelint, unlike
|
|
132
131
|
ESLint, does support the
|
|
133
|
-
<a href="https://www.npmjs.com/package/cosmiconfig"
|
|
132
|
+
<a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a> standard, but it is
|
|
134
133
|
recommended to use .stylelintrc.json convention. The main reason is that the
|
|
135
134
|
actual
|
|
136
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint"
|
|
135
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint">VisualStudio Code plugin</a>
|
|
137
136
|
specifically looks for this file so you can get lint errors directly in your
|
|
138
137
|
IDE.</p>
|
|
139
138
|
<p>You can find the configuration schema
|
|
140
|
-
<a href="https://stylelint.io/user-guide/configure"
|
|
139
|
+
<a href="https://stylelint.io/user-guide/configure">here</a> and you can use the extends
|
|
141
140
|
key in the configuration to load a shared configuration.</p>
|
|
142
141
|
<pre><code class="jsonc"><span class="hl-0">// .stylelintrc.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">"extends"</span><span class="hl-2">: [</span><span class="hl-3">"@zthun/stylelint-config"</span><span class="hl-2">],</span><br/><span class="hl-2">}</span>
|
|
143
142
|
</code><button type="button">Copy</button></pre>
|
|
144
143
|
|
|
145
144
|
<p>As usual, the list of html rules are
|
|
146
|
-
<a href="https://htmlhint.com/docs/user-guide/list-rules"
|
|
147
|
-
<a id="
|
|
145
|
+
<a href="https://htmlhint.com/docs/user-guide/list-rules">here</a>.</p>
|
|
146
|
+
<a id="html" class="tsd-anchor"></a><h3 class="tsd-anchor-link">HTML<a href="#html" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>There is not a lot of support for HTML linters. There is only really one that is
|
|
148
147
|
used and it is somewhat old and doesn't have a lot of support. A promise of a
|
|
149
148
|
1.0.0 release has been made, but we will have to wait and see what happens. That
|
|
150
|
-
application is <a href="https://github.com/htmlhint/HTMLHint"
|
|
149
|
+
application is <a href="https://github.com/htmlhint/HTMLHint">HTMLHint</a>.</p>
|
|
151
150
|
<p>HTMLHint does NOT support shared configurations at all. To do that,
|
|
152
|
-
<a href="https://github.com/htmlhint/HTMLHint/issues/621"
|
|
151
|
+
<a href="https://github.com/htmlhint/HTMLHint/issues/621">this issue</a> would need to be
|
|
153
152
|
approved and supported. In the meantime, Lint Janitor bridges this gap by
|
|
154
153
|
sending just the content to HTMLHint instead of the file list. This allows Lint
|
|
155
|
-
Janitor to implement a <a href="https://www.npmjs.com/package/cosmiconfig"
|
|
154
|
+
Janitor to implement a <a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a>
|
|
156
155
|
standard for loading and extending the configuration to support shared configs.
|
|
157
156
|
It will be up to you if you want to do this because the
|
|
158
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=mkaufman.HTMLHint"
|
|
157
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=mkaufman.HTMLHint">VisualStudio Code plugin</a>
|
|
159
158
|
does not support this and expects the standard json file to be at the root of
|
|
160
159
|
your project.</p>
|
|
161
160
|
<p>If you do choose to use a shared configuration, you can just use a
|
|
@@ -163,9 +162,9 @@ htmlhint.config.js file at the root of your repository.</p>
|
|
|
163
162
|
<pre><code class="js"><span class="hl-0">//htmlhint.config.js</span><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = </span><span class="hl-1">require</span><span class="hl-2">(</span><span class="hl-3">"@zthun/htmlhint-config"</span><span class="hl-2">);</span>
|
|
164
163
|
</code><button type="button">Copy</button></pre>
|
|
165
164
|
|
|
166
|
-
<a id="
|
|
167
|
-
<a href="https://github.com/DavidAnson/markdownlint"
|
|
168
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint"
|
|
165
|
+
<a id="markdown" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Markdown<a href="#markdown" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Good old markdown has a couple of linters available, but considering that
|
|
166
|
+
<a href="https://github.com/DavidAnson/markdownlint">MarkdownLint</a> has a working
|
|
167
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint">VisualStudio Code plugin</a>,
|
|
169
168
|
that's the one that Lint Janitor uses.</p>
|
|
170
169
|
<p>MarkdownLint searches for the following configuration files at the root of your
|
|
171
170
|
repository.</p>
|
|
@@ -177,7 +176,7 @@ repository.</p>
|
|
|
177
176
|
<p>Strangely enough, if you are using the vscode plugin, then it is recommended to
|
|
178
177
|
just use the .markdownlint.json name because that seems to be the only one that
|
|
179
178
|
the plugin will respect. There's not a lot of rules to markdown. You can find
|
|
180
|
-
the list of rules <a href="https://github.com/DavidAnson/markdownlint"
|
|
179
|
+
the list of rules <a href="https://github.com/DavidAnson/markdownlint">here</a>. While it's
|
|
181
180
|
not documented, MarkdownLint does have support for shared configurations, but
|
|
182
181
|
there is a gotcha with it. The actual shared configuration MUST be in a json
|
|
183
182
|
format. If you are creating a shared configuration for markdown, you will want
|
|
@@ -190,13 +189,13 @@ along with it.</p>
|
|
|
190
189
|
<pre><code class="js"><span class="hl-0">// index.js</span><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = </span><span class="hl-1">require</span><span class="hl-2">(</span><span class="hl-3">"./as-json.json"</span><span class="hl-2">);</span>
|
|
191
190
|
</code><button type="button">Copy</button></pre>
|
|
192
191
|
|
|
193
|
-
<a id="
|
|
192
|
+
<a id="spelling" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Spelling<a href="#spelling" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>This one is pretty optional, but it's useful in that it keeps you honest. With
|
|
194
193
|
spelling, you won't use a shared configuration as this is truly unique across
|
|
195
194
|
all projects. It is not possible to have a be all end all language that knows
|
|
196
195
|
every word in existence so this will look for the
|
|
197
|
-
<a href="https://www.npmjs.com/package/cspell"
|
|
196
|
+
<a href="https://www.npmjs.com/package/cspell">CSpell</a> configuration at the root of the
|
|
198
197
|
repository. If you combine this with the
|
|
199
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker"
|
|
198
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker">VisualStudio Code plugin</a>,
|
|
200
199
|
it's pretty powerful and lets you add words as the repository vocabulary grows.
|
|
201
200
|
When using spelling here, you'll need to decide if there are words you want to
|
|
202
201
|
support, what dictionaries your repository is going to support, and what are
|
|
@@ -208,16 +207,16 @@ have to export a txt file for reuse.</p>
|
|
|
208
207
|
<pre><code class="json"><span class="hl-0">// cspell.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">"version"</span><span class="hl-2">: </span><span class="hl-3">"0.1"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"$schema"</span><span class="hl-2">: </span><span class="hl-3">"https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"language"</span><span class="hl-2">: </span><span class="hl-3">"en"</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">"words"</span><span class="hl-2">: [</span><span class="hl-3">"errored"</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-5">"dictionaries"</span><span class="hl-2">: [</span><span class="hl-3">"typescript"</span><span class="hl-2">, </span><span class="hl-3">"en_US"</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
|
|
209
208
|
</code><button type="button">Copy</button></pre>
|
|
210
209
|
|
|
211
|
-
<a id="
|
|
210
|
+
<a id="formatting" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Formatting<a href="#formatting" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Finally, and possibly most importantly, is code formatting consistency. There
|
|
212
211
|
are generally two tools that are used for this.</p>
|
|
213
212
|
<ol>
|
|
214
|
-
<li><a href="https://editorconfig.org/"
|
|
215
|
-
<li><a href="https://prettier.io/"
|
|
213
|
+
<li><a href="https://editorconfig.org/">EditorConfig</a></li>
|
|
214
|
+
<li><a href="https://prettier.io/">Prettier</a></li>
|
|
216
215
|
</ol>
|
|
217
216
|
<p>For code formatting, Lint Janitor went with Prettier since it supports all the
|
|
218
217
|
features of EditorConfig and a bunch of others. Prettier also supports shared
|
|
219
218
|
configurations and is highly recommended to use them because the
|
|
220
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"
|
|
219
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">VisualStudio Code plugin</a>
|
|
221
220
|
has support to auto format your files when you save them, making sure that your
|
|
222
221
|
teams formatting is completely consistent.</p>
|
|
223
222
|
<p>It's file lookup is similar to that of ESLint, but we recommended using
|
|
@@ -225,14 +224,14 @@ teams formatting is completely consistent.</p>
|
|
|
225
224
|
<pre><code class="js"><span class="hl-0">//.prettierrc.js</span><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = </span><span class="hl-1">require</span><span class="hl-2">(</span><span class="hl-3">"@zthun/prettier-config"</span><span class="hl-2">);</span>
|
|
226
225
|
</code><button type="button">Copy</button></pre>
|
|
227
226
|
|
|
228
|
-
<p>Options are <a href="https://prettier.io/docs/en/options.html"
|
|
229
|
-
lot of them. See <a href="https://prettier.io/docs/en/option-philosophy.html"
|
|
227
|
+
<p>Options are <a href="https://prettier.io/docs/en/options.html">here</a>, and there's not a
|
|
228
|
+
lot of them. See <a href="https://prettier.io/docs/en/option-philosophy.html">why</a>, as
|
|
230
229
|
there's a good reason for this.</p>
|
|
231
230
|
<p>When doing formatting linting, only the formatting is checked and you are
|
|
232
231
|
notified if the files are formatted or unformatted. The best way to prevent
|
|
233
232
|
these issues all together is to just use the Prettier IDE extension and auto
|
|
234
233
|
format as you type.</p>
|
|
235
|
-
<a id="
|
|
234
|
+
<a id="faq" class="tsd-anchor"></a><h3 class="tsd-anchor-link">FAQ<a href="#faq" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Q. Can this support my other favorite linter?</p>
|
|
236
235
|
<p>A. Possibly, but whether or not Lint Janitor will bother at the moment depends
|
|
237
236
|
on a few factors:</p>
|
|
238
237
|
<ol>
|
|
@@ -250,10 +249,10 @@ about what tools to install and what versions to use; it uses transitive
|
|
|
250
249
|
dependencies.</p>
|
|
251
250
|
<p>If the last question is a Yes, then it becomes a question of, is it worth it?
|
|
252
251
|
That'll need to be prioritized. For the most part, using
|
|
253
|
-
<a href="https://prettier.io/"
|
|
252
|
+
<a href="https://prettier.io/">Prettier</a> takes care of almost all linting issues so you
|
|
254
253
|
may not need more than what is available here. If you need the mother of all
|
|
255
254
|
linters, there is the heavy
|
|
256
|
-
<a href="https://github.com/nvuillam/mega-linter"
|
|
255
|
+
<a href="https://github.com/nvuillam/mega-linter">Mega Linter</a> which aggregates every
|
|
257
256
|
linter in existence. Very cool, but a bit overkill for the solution we are
|
|
258
257
|
trying to solve with Lint Janitor.</p>
|
|
259
258
|
<p>Q. Is there an IDE plugin for Lint Janitor?</p>
|
|
@@ -262,27 +261,4 @@ individual linter and would allow you to just have a single
|
|
|
262
261
|
lint-janitor.config.js file at the root of your repository that would handle all
|
|
263
262
|
linting needs. There is one planned, but it still need to be researched and
|
|
264
263
|
scoped out.</p>
|
|
265
|
-
</section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">Classes</h3><div class="tsd-index-list"><a href="../classes/_zthun_lint_janitor.ZConfigExtender.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Extender</span></a>
|
|
266
|
-
<a href="../classes/_zthun_lint_janitor.ZConfigReaderCosmic.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Cosmic</span></a>
|
|
267
|
-
<a href="../classes/_zthun_lint_janitor.ZConfigReaderNull.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Null</span></a>
|
|
268
|
-
<a href="../classes/_zthun_lint_janitor.ZConfigReaderPrettier.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Prettier</span></a>
|
|
269
|
-
<a href="../classes/_zthun_lint_janitor.ZContentLinterHtml.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Html</span></a>
|
|
270
|
-
<a href="../classes/_zthun_lint_janitor.ZContentLinterJson.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Json</span></a>
|
|
271
|
-
<a href="../classes/_zthun_lint_janitor.ZContentLinterPretty.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Pretty</span></a>
|
|
272
|
-
<a href="../classes/_zthun_lint_janitor.ZContentLinterYaml.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Yaml</span></a>
|
|
273
|
-
<a href="../classes/_zthun_lint_janitor.ZFileReportLint.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZFile<wbr/>Report<wbr/>Lint</span></a>
|
|
274
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterEs.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Es</span></a>
|
|
275
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterFile.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>File</span></a>
|
|
276
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterMarkdown.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Markdown</span></a>
|
|
277
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterSilent.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Silent</span></a>
|
|
278
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterSpelling.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Spelling</span></a>
|
|
279
|
-
<a href="../classes/_zthun_lint_janitor.ZLinterStyle.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Style</span></a>
|
|
280
|
-
<a href="../classes/_zthun_lint_janitor.ZLintJanitor.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLint<wbr/>Janitor</span></a>
|
|
281
|
-
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Interfaces</h3><div class="tsd-index-list"><a href="../interfaces/_zthun_lint_janitor.IZConfigDiscovery.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Discovery</span></a>
|
|
282
|
-
<a href="../interfaces/_zthun_lint_janitor.IZConfigExtender.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Extender</span></a>
|
|
283
|
-
<a href="../interfaces/_zthun_lint_janitor.IZConfigReader.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Reader</span></a>
|
|
284
|
-
<a href="../interfaces/_zthun_lint_janitor.IZContentLinter.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZContent<wbr/>Linter</span></a>
|
|
285
|
-
<a href="../interfaces/_zthun_lint_janitor.IZLinter.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLinter</span></a>
|
|
286
|
-
<a href="../interfaces/_zthun_lint_janitor.IZLintJanitorArgs.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLint<wbr/>Janitor<wbr/>Args</span></a>
|
|
287
|
-
<a href="../interfaces/_zthun_lint_janitor.IZLintJanitorOptions.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLint<wbr/>Janitor<wbr/>Options</span></a>
|
|
288
|
-
</div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:lint-janitor"><span>Lint <wbr/>Janitor</span></a><ul><li><a href="#md:getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#md:configuration"><span>Configuration</span></a></li><li><a href="#md:command-line"><span>Command <wbr/>Line</span></a></li><li><a href="#md:linters"><span>Linters</span></a></li><li><ul><li><a href="#md:shared-configurations"><span>Shared <wbr/>Configurations</span></a></li><li><a href="#md:json-and-yaml"><span>JSON and YAML</span></a></li><li><a href="#md:ecmascript"><span>ECMAScript</span></a></li><li><a href="#md:styles-css-less-sass"><span>Styles (CSS, <wbr/>Less, SASS)</span></a></li><li><a href="#md:html"><span>HTML</span></a></li><li><a href="#md:markdown"><span>Markdown</span></a></li><li><a href="#md:spelling"><span>Spelling</span></a></li><li><a href="#md:formatting"><span>Formatting</span></a></li><li><a href="#md:faq"><span>FAQ</span></a></li></ul></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>Janitor</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
264
|
+
</section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Classes"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Classes</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary"><a id="zconfigextender" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZConfigExtender.html">ZConfigExtender</a><a href="#zconfigextender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zconfigreadercosmic" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZConfigReaderCosmic.html">ZConfigReaderCosmic</a><a href="#zconfigreadercosmic" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zconfigreadernull" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZConfigReaderNull.html">ZConfigReaderNull</a><a href="#zconfigreadernull" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zconfigreaderprettier" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZConfigReaderPrettier.html">ZConfigReaderPrettier</a><a href="#zconfigreaderprettier" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zcontentlinterhtml" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZContentLinterHtml.html">ZContentLinterHtml</a><a href="#zcontentlinterhtml" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zcontentlinterjson" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZContentLinterJson.html">ZContentLinterJson</a><a href="#zcontentlinterjson" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zcontentlinterpretty" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZContentLinterPretty.html">ZContentLinterPretty</a><a href="#zcontentlinterpretty" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zcontentlinteryaml" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZContentLinterYaml.html">ZContentLinterYaml</a><a href="#zcontentlinteryaml" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zfilereportlint" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZFileReportLint.html">ZFileReportLint</a><a href="#zfilereportlint" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlinteres" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterEs.html">ZLinterEs</a><a href="#zlinteres" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlinterfile" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterFile.html">ZLinterFile</a><a href="#zlinterfile" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlintermarkdown" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterMarkdown.html">ZLinterMarkdown</a><a href="#zlintermarkdown" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlintersilent" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterSilent.html">ZLinterSilent</a><a href="#zlintersilent" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlinterspelling" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterSpelling.html">ZLinterSpelling</a><a href="#zlinterspelling" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlinterstyle" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLinterStyle.html">ZLinterStyle</a><a href="#zlinterstyle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="zlintjanitor" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><a href="../classes/_zthun_lint-janitor.ZLintJanitor.html">ZLintJanitor</a><a href="#zlintjanitor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Interfaces"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Interfaces</h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary"><a id="izconfigdiscovery" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZConfigDiscovery.html">IZConfigDiscovery</a><a href="#izconfigdiscovery" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izconfigextender" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZConfigExtender.html">IZConfigExtender</a><a href="#izconfigextender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izconfigreader" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZConfigReader.html">IZConfigReader</a><a href="#izconfigreader" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izcontentlinter" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZContentLinter.html">IZContentLinter</a><a href="#izcontentlinter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izlinter" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZLinter.html">IZLinter</a><a href="#izlinter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izlintjanitorargs" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZLintJanitorArgs.html">IZLintJanitorArgs</a><a href="#izlintjanitorargs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary"><a id="izlintjanitoroptions" class="tsd-anchor"></a><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><a href="../interfaces/_zthun_lint-janitor.IZLintJanitorOptions.html">IZLintJanitorOptions</a><a href="#izlintjanitoroptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#lint-janitor"><span>Lint <wbr/>Janitor</span></a><ul><li><a href="#getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#configuration"><span>Configuration</span></a></li><li><a href="#command-line"><span>Command <wbr/>Line</span></a></li><li><a href="#linters"><span>Linters</span></a></li><li><ul><li><a href="#shared-configurations"><span>Shared <wbr/>Configurations</span></a></li><li><a href="#json-and-yaml"><span>JSON and YAML</span></a></li><li><a href="#ecmascript"><span>ECMAScript</span></a></li><li><a href="#styles-css-less-sass"><span>Styles (CSS, <wbr/>Less, SASS)</span></a></li><li><a href="#html"><span>HTML</span></a></li><li><a href="#markdown"><span>Markdown</span></a></li><li><a href="#spelling"><span>Spelling</span></a></li><li><a href="#formatting"><span>Formatting</span></a></li><li><a href="#faq"><span>FAQ</span></a></li></ul></li></ul><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Classes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Classes</summary><div><a href="#zconfigextender" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Extender</span></a><a href="#zconfigreadercosmic" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Cosmic</span></a><a href="#zconfigreadernull" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Null</span></a><a href="#zconfigreaderprettier" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZConfig<wbr/>Reader<wbr/>Prettier</span></a><a href="#zcontentlinterhtml" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Html</span></a><a href="#zcontentlinterjson" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Json</span></a><a href="#zcontentlinterpretty" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Pretty</span></a><a href="#zcontentlinteryaml" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZContent<wbr/>Linter<wbr/>Yaml</span></a><a href="#zfilereportlint" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZFile<wbr/>Report<wbr/>Lint</span></a><a href="#zlinteres" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Es</span></a><a href="#zlinterfile" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>File</span></a><a href="#zlintermarkdown" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Markdown</span></a><a href="#zlintersilent" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Silent</span></a><a href="#zlinterspelling" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Spelling</span></a><a href="#zlinterstyle" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLinter<wbr/>Style</span></a><a href="#zlintjanitor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>ZLint<wbr/>Janitor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Interfaces"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Interfaces</summary><div><a href="#izconfigdiscovery" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Discovery</span></a><a href="#izconfigextender" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Extender</span></a><a href="#izconfigreader" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZConfig<wbr/>Reader</span></a><a href="#izcontentlinter" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZContent<wbr/>Linter</span></a><a href="#izlinter" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLinter</span></a><a href="#izlintjanitorargs" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLint<wbr/>Janitor<wbr/>Args</span></a><a href="#izlintjanitoroptions" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>IZLint<wbr/>Janitor<wbr/>Options</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Janitor</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@zthun/markdownlint-config | Janitor</title><link rel="icon" href="../assets/favicon.svg" type="image/svg+xml"/><meta name="description" content="Documentation for Janitor"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Janitor</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Janitor</a></li><li><a href="_zthun_markdownlint-config.html">@zthun/markdownlint-config</a></li></ul><h1>Module @zthun/markdownlint-config</h1></div><section class="tsd-panel tsd-typography"><a id="markdownlint-config" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Markdownlint Config<a href="#markdownlint-config" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1><p>This is the shared markdownlint configuration for zthun scoped projects.</p>
|
|
2
|
+
<a id="getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#getting-started" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="sh"><span class="hl-0"># NPM</span><br/><span class="hl-1">npm</span><span class="hl-2"> </span><span class="hl-3">install</span><span class="hl-2"> </span><span class="hl-3">@zthun/markdownlint-config</span><span class="hl-2"> </span><span class="hl-4">--save-dev</span><br/><span class="hl-0"># Yarn</span><br/><span class="hl-1">yarn</span><span class="hl-2"> </span><span class="hl-3">add</span><span class="hl-2"> </span><span class="hl-3">@zthun/markdownlint-config</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
|
|
3
|
+
</code><button type="button">Copy</button></pre>
|
|
4
|
+
|
|
5
|
+
<a id="usage" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Usage<a href="#usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><p>In the markdownlint config file, add the following</p>
|
|
6
|
+
<pre><code class="json"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">"extends"</span><span class="hl-2">: [</span><span class="hl-3">"@zthun/markdownlint-config"</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
|
|
7
|
+
</code><button type="button">Copy</button></pre>
|
|
8
|
+
|
|
9
|
+
<p>That's it. You now have the recommended rules for zthun scoped projects when
|
|
10
|
+
using lint-janitor.</p>
|
|
11
|
+
<p>If you are using the Atom or VSCode plugin, it may not recognize the imported js
|
|
12
|
+
configuration style. Instead, you can use the provided as-json.json file.</p>
|
|
13
|
+
<pre><code class="json"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">"extends"</span><span class="hl-2">: </span><span class="hl-3">"@zthun/markdownlint-config/as-json.json"</span><br/><span class="hl-2">}</span>
|
|
14
|
+
</code><button type="button">Copy</button></pre>
|
|
15
|
+
|
|
16
|
+
<p>That works just as well.</p>
|
|
17
|
+
</section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#markdownlint-config"><span>Markdownlint <wbr/>Config</span></a><ul><li><a href="#getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#usage"><span>Usage</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Janitor</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@zthun/prettier-config | Janitor</title><link rel="icon" href="../assets/favicon.svg" type="image/svg+xml"/><meta name="description" content="Documentation for Janitor"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Janitor</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Janitor</a></li><li><a href="_zthun_prettier-config.html">@zthun/prettier-config</a></li></ul><h1>Module @zthun/prettier-config</h1></div><section class="tsd-panel tsd-typography"><a id="prettier-config" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Prettier Config<a href="#prettier-config" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1><p>This is the shared prettier configuration for zthun scoped projects.</p>
|
|
2
|
+
<a id="getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#getting-started" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="sh"><span class="hl-0"># NPM</span><br/><span class="hl-1">npm</span><span class="hl-2"> </span><span class="hl-3">install</span><span class="hl-2"> </span><span class="hl-3">@zthun/prettier-config</span><span class="hl-2"> </span><span class="hl-4">--save-dev</span><br/><span class="hl-0"># Yarn</span><br/><span class="hl-1">yarn</span><span class="hl-2"> </span><span class="hl-3">add</span><span class="hl-2"> </span><span class="hl-3">@zthun/prettier-config</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
|
|
3
|
+
</code><button type="button">Copy</button></pre>
|
|
4
|
+
|
|
5
|
+
<a id="usage" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Usage<a href="#usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Use the prettier shared config convention.</p>
|
|
6
|
+
<pre><code class="js"><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = </span><span class="hl-1">require</span><span class="hl-2">(</span><span class="hl-3">"@zthun/prettier-config"</span><span class="hl-2">);</span>
|
|
7
|
+
</code><button type="button">Copy</button></pre>
|
|
8
|
+
|
|
9
|
+
<p>That's it.</p>
|
|
10
|
+
</section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#prettier-config"><span>Prettier <wbr/>Config</span></a><ul><li><a href="#getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#usage"><span>Usage</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Janitor</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@zthun/stylelint-config-less | Janitor</title><link rel="icon" href="../assets/favicon.svg" type="image/svg+xml"/><meta name="description" content="Documentation for Janitor"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Janitor</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Janitor</a></li><li><a href="_zthun_stylelint-config-less.html">@zthun/stylelint-config-less</a></li></ul><h1>Module @zthun/stylelint-config-less</h1></div><section class="tsd-panel tsd-typography"><a id="stylelint-config" class="tsd-anchor"></a><h1 class="tsd-anchor-link">StyleLint Config<a href="#stylelint-config" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1><p>This is the shared stylelint configuration for zthun scoped projects using sass
|
|
2
|
+
instead of raw css.</p>
|
|
3
|
+
<a id="getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#getting-started" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="sh"><span class="hl-0"># NPM</span><br/><span class="hl-1">npm</span><span class="hl-2"> </span><span class="hl-3">install</span><span class="hl-2"> </span><span class="hl-3">@zthun/stylelint-config-sass</span><span class="hl-2"> </span><span class="hl-4">--save-dev</span><br/><span class="hl-0"># Yarn</span><br/><span class="hl-1">yarn</span><span class="hl-2"> </span><span class="hl-3">add</span><span class="hl-2"> </span><span class="hl-3">@zthun/stylelint-config-sass</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
|
|
4
|
+
</code><button type="button">Copy</button></pre>
|
|
5
|
+
|
|
6
|
+
<a id="usage" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Usage<a href="#usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><p>In the stylelint config file, add the following</p>
|
|
7
|
+
<pre><code class="json"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">"extends"</span><span class="hl-2">: [</span><span class="hl-3">"@zthun/stylelint-config-sass"</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
|
|
8
|
+
</code><button type="button">Copy</button></pre>
|
|
9
|
+
|
|
10
|
+
<p>That's it. You now have the recommended rules for zthun scoped projects.</p>
|
|
11
|
+
</section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#stylelint-config"><span>Style<wbr/>Lint <wbr/>Config</span></a><ul><li><a href="#getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#usage"><span>Usage</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Janitor</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|