@zthun/janitor-web 16.1.0 → 16.1.1

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.
Files changed (45) hide show
  1. package/{LICENSE → LICENSE.md} +1 -1
  2. package/dist/assets/icons.js +17 -14
  3. package/dist/assets/icons.svg +1 -1
  4. package/dist/assets/main.js +5 -4
  5. package/dist/assets/search.js +1 -1
  6. package/dist/assets/style.css +67 -31
  7. package/dist/classes/_zthun_lint_janitor.ZConfigExtender.html +7 -11
  8. package/dist/classes/_zthun_lint_janitor.ZConfigReaderCosmic.html +15 -15
  9. package/dist/classes/_zthun_lint_janitor.ZConfigReaderNull.html +4 -4
  10. package/dist/classes/_zthun_lint_janitor.ZConfigReaderPrettier.html +5 -5
  11. package/dist/classes/_zthun_lint_janitor.ZContentLinterHtml.html +5 -6
  12. package/dist/classes/_zthun_lint_janitor.ZContentLinterJson.html +4 -4
  13. package/dist/classes/_zthun_lint_janitor.ZContentLinterPretty.html +5 -5
  14. package/dist/classes/_zthun_lint_janitor.ZContentLinterYaml.html +4 -4
  15. package/dist/classes/_zthun_lint_janitor.ZFileReportLint.html +7 -13
  16. package/dist/classes/_zthun_lint_janitor.ZLintJanitor.html +19 -21
  17. package/dist/classes/_zthun_lint_janitor.ZLinterEs.html +10 -12
  18. package/dist/classes/_zthun_lint_janitor.ZLinterFile.html +8 -20
  19. package/dist/classes/_zthun_lint_janitor.ZLinterMarkdown.html +5 -9
  20. package/dist/classes/_zthun_lint_janitor.ZLinterSilent.html +5 -7
  21. package/dist/classes/_zthun_lint_janitor.ZLinterSpelling.html +9 -11
  22. package/dist/classes/_zthun_lint_janitor.ZLinterStyle.html +7 -9
  23. package/dist/hierarchy.html +2 -2
  24. package/dist/index.html +5 -5
  25. package/dist/interfaces/_zthun_lint_janitor.IZConfigDiscovery.html +5 -5
  26. package/dist/interfaces/_zthun_lint_janitor.IZConfigExtender.html +4 -4
  27. package/dist/interfaces/_zthun_lint_janitor.IZConfigReader.html +4 -4
  28. package/dist/interfaces/_zthun_lint_janitor.IZContentLinter.html +4 -4
  29. package/dist/interfaces/_zthun_lint_janitor.IZLintJanitorArgs.html +4 -4
  30. package/dist/interfaces/_zthun_lint_janitor.IZLintJanitorOptions.html +3 -3
  31. package/dist/interfaces/_zthun_lint_janitor.IZLinter.html +8 -8
  32. package/dist/media/CODE_OF_CONDUCT.md +102 -0
  33. package/dist/media/CONTRIBUTING.md +66 -0
  34. package/dist/media/LICENSE.md +16 -0
  35. package/dist/modules/_zthun_eslint_config.html +11 -9
  36. package/dist/modules/_zthun_eslint_react_config.html +11 -9
  37. package/dist/modules/_zthun_htmlhint_config.html +12 -10
  38. package/dist/modules/_zthun_lint_janitor.html +75 -62
  39. package/dist/modules/_zthun_lint_janitor_config.html +6 -5
  40. package/dist/modules/_zthun_markdownlint_config.html +14 -11
  41. package/dist/modules/_zthun_prettier_config.html +11 -9
  42. package/dist/modules/_zthun_stylelint_config.html +11 -9
  43. package/dist/modules/_zthun_stylelint_config_less.html +11 -9
  44. package/dist/modules/_zthun_stylelint_config_sass.html +11 -9
  45. package/package.json +7 -7
@@ -1,26 +1,27 @@
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><link rel="icon" href="../janitor.svg" />
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="../index.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><a href="#md:lint-janitor">Lint Janitor</a></h1><p>Code gets messy. You will find that most places you work at will always have a big long list of tech debt tasks that
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><link rel="icon" href="../janitor.svg" />
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="../index.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 big long list of tech debt tasks that
3
3
  need to be taken care of and this becomes a maintenance nightmare as it becomes very expensive to fix. Companies rarely
4
- want to let developers fix these issues because they tend to only look at the short term ROI, which isn&#39;t high for this
4
+ want to let developers fix these issues because they tend to only look at the short term ROI, which isn't high for this
5
5
  kind of task. What then happens is that more functional, but messy, code gets introduced and the software begins to rot.</p>
6
6
  <p>One way to fix something like this is to start with linters. Linters will scour through your code base and notify you
7
7
  that you have various issues. In a good development pipeline, they will prevent developers from generating a messy room
8
- and will force them to write clean consistent code with the rest of the development team. They aren&#39;t a silver bullet,
8
+ and will force them to write clean consistent code with the rest of the development team. They aren't a silver bullet,
9
9
  and messy solutions can still crop up, but linters take care of most of the inconsistent and formatting errors that can
10
10
  develop in a code base. Good developers love them - it keeps the entire team consistent in their code structure.</p>
11
- <p>Of course, linters are not without their issues as well. There&#39;s an outrageous amount of them out there and you have to
11
+ <p>Of course, linters are not without their issues as well. There's an outrageous amount of them out there and you have to
12
12
  be well versed in each one of them in order to set each one of them up and run them in your pipeline to verify all of
13
- the different code files you have. There&#39;s linters for code, applications, spelling, and formatting; it&#39;s easy to get
13
+ the different code files you have. There's linters for code, applications, spelling, and formatting; it's easy to get
14
14
  overwhelmed.</p>
15
15
  <p><strong>Lint Janitor</strong> was created under the guise that there is beauty in simplicity. Having a single application that takes
16
16
  care of ones needs leads to greater happiness then having to piece meal together tons of tools, each with individual
17
17
  needs and maintainability issues. Just let <strong>Lint Janitor</strong> do the heavy lifting for you.</p>
18
- <a id="md:getting-started" class="tsd-anchor"></a><h2><a href="#md:getting-started">Getting Started</a></h2><pre><code class="language-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>
19
- </code><button>Copy</button></pre>
20
- <a id="md:configuration" class="tsd-anchor"></a><h2><a href="#md:configuration">Configuration</a></h2><p>Lint Janitor uses an opt-in approach to linting, meaning that it will not lint any files that you do not tell it to
18
+ <a id="md:getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#md: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>
19
+ </code><button type="button">Copy</button></pre>
20
+
21
+ <a id="md:configuration" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Configuration<a href="#md: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 any files that you do not tell it to
21
22
  lint. You will need to add a configuration file that describes the list of files to lint and the sub configurations of
22
23
  each internal linter. Each linter is described in further detail. In the end, the expectation is that you will provide
23
- you&#39;re own collection of shared configurations that you can reuse in all your projects.</p>
24
+ you're own collection of shared configurations that you can reuse in all your projects.</p>
24
25
  <p>Lint Janitor uses the <a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a> standard for loading its configuration.
25
26
  In short, it will search the current working directory for the following files:</p>
26
27
  <ol>
@@ -36,40 +37,45 @@ config.js offers the most flexible way to configure an application and also natu
36
37
  syntax to import other configurations.</p>
37
38
  </blockquote>
38
39
  <p>The configuration file uses the following schema.</p>
39
- <pre><code class="language-ts"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for ECMAScript based linting.</span><br/><span class="hl-2"> </span><span class="hl-6">esConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for CSS, Less, and Sass based linting.</span><br/><span class="hl-2"> </span><span class="hl-6">styleConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for HTML linting.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for Markdown based linting</span><br/><span class="hl-2"> </span><span class="hl-6">markdownConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for Spelling checks</span><br/><span class="hl-2"> </span><span class="hl-6">spellingConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for formatting checks</span><br/><span class="hl-2"> </span><span class="hl-6">prettyConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><br/><span class="hl-2"> </span><span class="hl-0">// The white list of ECMAScript globs to lint. This should include JavaScript and TypeScript based files</span><br/><span class="hl-2"> </span><span class="hl-0">// Note that eslint supports excludes directly in the config file so there is no exclude support for it here.</span><br/><span class="hl-2"> </span><span class="hl-6">esFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of CSS, Less, and Sass globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-0">// Note that stylelint supports excludes directly in the config file so there is no</span><br/><span class="hl-2"> </span><span class="hl-0">// exclude support for it here.</span><br/><span class="hl-2"> </span><span class="hl-6">styleFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of HTML globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of HTML globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of Markdown globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of Markdown globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of JSON globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of JSON globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of YAML globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">yamlFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of YAML globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">yamlFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of globs to check for spelling errors.</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of globs to exclude from spell checking.</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of globs to check for code formatting.</span><br/><span class="hl-2"> </span><span class="hl-6">prettyFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of globs to exclude from code formatting.</span><br/><span class="hl-2"> </span><span class="hl-6">prettyFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2">}</span>
40
- </code><button>Copy</button></pre>
40
+ <pre><code class="ts"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for ECMAScript based linting.</span><br/><span class="hl-2"> </span><span class="hl-6">esConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for CSS, Less, and Sass based linting.</span><br/><span class="hl-2"> </span><span class="hl-6">styleConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for HTML linting.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for Markdown based linting</span><br/><span class="hl-2"> </span><span class="hl-6">markdownConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for Spelling checks</span><br/><span class="hl-2"> </span><span class="hl-6">spellingConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// The configuration file or module for formatting checks</span><br/><span class="hl-2"> </span><span class="hl-6">prettyConfig</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">;</span><br/><br/><span class="hl-2"> </span><span class="hl-0">// The white list of ECMAScript globs to lint. This should include JavaScript and TypeScript based files</span><br/><span class="hl-2"> </span><span class="hl-0">// Note that eslint supports excludes directly in the config file so there is no exclude support for it here.</span><br/><span class="hl-2"> </span><span class="hl-6">esFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of CSS, Less, and Sass globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-0">// Note that stylelint supports excludes directly in the config file so there is no</span><br/><span class="hl-2"> </span><span class="hl-0">// exclude support for it here.</span><br/><span class="hl-2"> </span><span class="hl-6">styleFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of HTML globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of HTML globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of Markdown globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of Markdown globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of JSON globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of JSON globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of YAML globs to lint.</span><br/><span class="hl-2"> </span><span class="hl-6">yamlFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of YAML globs to exclude from linting.</span><br/><span class="hl-2"> </span><span class="hl-6">yamlFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of globs to check for spelling errors.</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of globs to exclude from spell checking.</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The white list of globs to check for code formatting.</span><br/><span class="hl-2"> </span><span class="hl-6">prettyFiles</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2"> </span><span class="hl-0">// The black list of globs to exclude from code formatting.</span><br/><span class="hl-2"> </span><span class="hl-6">prettyFilesExclude</span><span class="hl-2">?: </span><span class="hl-6">string</span><span class="hl-2">[];</span><br/><span class="hl-2">}</span>
41
+ </code><button type="button">Copy</button></pre>
42
+
41
43
  <p>The following is an example configuration that lint-janitor will read.</p>
42
- <pre><code class="language-js"><span class="hl-0">// lint-janitor.config.js</span><br/><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = {</span><br/><span class="hl-2"> </span><span class="hl-0">// Configurations are generally optional and will load using the</span><br/><span class="hl-2"> </span><span class="hl-0">// default rules of the application if not specified. However, you</span><br/><span class="hl-2"> </span><span class="hl-0">// can always override the configurations in this file.</span><br/><span class="hl-2"> </span><span class="hl-6">esConfig:</span><span class="hl-2"> </span><span class="hl-3">&#39;configs/.eslintrc&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-0">// Using globs to find files</span><br/><span class="hl-2"> </span><span class="hl-6">esFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/src/**/*.ts&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// The configurations can also be shared configuration modules</span><br/><span class="hl-2"> </span><span class="hl-0">// found in node_modules if you&#39;re not using IDE extensions.</span><br/><span class="hl-2"> </span><span class="hl-6">styleConfig:</span><span class="hl-2"> </span><span class="hl-3">&#39;@zthun/stylelint-config&#39;</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// Globs are relative to the current working directory.</span><br/><span class="hl-2"> </span><span class="hl-6">styleFiles</span><span class="hl-2">: [</span><span class="hl-3">&#39;packages/**/src/**/*.less&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// See notes on html below</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/src/**/*.html&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can have as many globs as you want.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/*.md&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;*.md&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can also exclude files from the include list. These are normally</span><br/><span class="hl-2"> </span><span class="hl-0">// used for code generated files and should not be linted.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFilesExclude:</span><span class="hl-2"> [</span><span class="hl-3">&#39;**/CHANGELOG.md&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can also specify specific files - json and yaml have no</span><br/><span class="hl-2"> </span><span class="hl-0">// configurations as they are very specific formats.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;package.json&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// Removes the linter</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFiles:</span><span class="hl-2"> </span><span class="hl-4">null</span><br/><span class="hl-2">};</span>
43
- </code><button>Copy</button></pre>
44
+ <pre><code class="js"><span class="hl-0">// lint-janitor.config.js</span><br/><br/><span class="hl-7">module</span><span class="hl-2">.</span><span class="hl-7">exports</span><span class="hl-2"> = {</span><br/><span class="hl-2"> </span><span class="hl-0">// Configurations are generally optional and will load using the</span><br/><span class="hl-2"> </span><span class="hl-0">// default rules of the application if not specified. However, you</span><br/><span class="hl-2"> </span><span class="hl-0">// can always override the configurations in this file.</span><br/><span class="hl-2"> </span><span class="hl-6">esConfig:</span><span class="hl-2"> </span><span class="hl-3">&#39;configs/.eslintrc&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-0">// Using globs to find files</span><br/><span class="hl-2"> </span><span class="hl-6">esFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/src/**/*.ts&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// The configurations can also be shared configuration modules</span><br/><span class="hl-2"> </span><span class="hl-0">// found in node_modules if you&#39;re not using IDE extensions.</span><br/><span class="hl-2"> </span><span class="hl-6">styleConfig:</span><span class="hl-2"> </span><span class="hl-3">&#39;@zthun/stylelint-config&#39;</span><span class="hl-2">;</span><br/><span class="hl-2"> </span><span class="hl-0">// Globs are relative to the current working directory.</span><br/><span class="hl-2"> </span><span class="hl-6">styleFiles</span><span class="hl-2">: [</span><span class="hl-3">&#39;packages/**/src/**/*.less&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// See notes on html below</span><br/><span class="hl-2"> </span><span class="hl-6">htmlFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/src/**/*.html&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can have as many globs as you want.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;packages/**/*.md&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;*.md&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can also exclude files from the include list. These are normally</span><br/><span class="hl-2"> </span><span class="hl-0">// used for code generated files and should not be linted.</span><br/><span class="hl-2"> </span><span class="hl-6">markdownFilesExclude:</span><span class="hl-2"> [</span><span class="hl-3">&#39;**/CHANGELOG.md&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// You can also specify specific files - json and yaml have no</span><br/><span class="hl-2"> </span><span class="hl-0">// configurations as they are very specific formats.</span><br/><span class="hl-2"> </span><span class="hl-6">jsonFiles:</span><span class="hl-2"> [</span><span class="hl-3">&#39;package.json&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-0">// Removes the linter</span><br/><span class="hl-2"> </span><span class="hl-6">spellingFiles:</span><span class="hl-2"> </span><span class="hl-4">null</span><br/><span class="hl-2">};</span>
45
+ </code><button type="button">Copy</button></pre>
46
+
44
47
  <p>In your package json, add the following</p>
45
- <pre><code class="language-sh"><span class="hl-1">&quot;scripts&quot;</span><span class="hl-1">:</span><span class="hl-2"> </span><span class="hl-3">{</span><br/><span class="hl-2"> </span><span class="hl-1">&quot;lint&quot;</span><span class="hl-1">:</span><span class="hl-2"> </span><span class="hl-3">&quot;lint-janitor&quot;</span><br/><span class="hl-2">}</span>
46
- </code><button>Copy</button></pre>
48
+ <pre><code class="sh"><span class="hl-1">&quot;scripts&quot;</span><span class="hl-1">:</span><span class="hl-2"> </span><span class="hl-3">{</span><br/><span class="hl-2"> </span><span class="hl-1">&quot;lint&quot;</span><span class="hl-1">:</span><span class="hl-2"> </span><span class="hl-3">&quot;lint-janitor&quot;</span><br/><span class="hl-2">}</span>
49
+ </code><button type="button">Copy</button></pre>
50
+
47
51
  <p>Now you can lint everything with a single command.</p>
48
- <pre><code class="language-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>
49
- </code><button>Copy</button></pre>
50
- <a id="md:command-line" class="tsd-anchor"></a><h2><a href="#md:command-line">Command Line</a></h2><p>You can always run lint-janitor on the command line using npx or if it is installed globally, which is not recommended.
52
+ <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>
53
+ </code><button type="button">Copy</button></pre>
54
+
55
+ <a id="md:command-line" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Command Line<a href="#md: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 installed globally, which is not recommended.
51
56
  There are very few command line options, as lint-janitor intends to be fully driven by the config file.</p>
52
57
  <p><strong>lint-janitor</strong> [options]</p>
53
- <pre><code class="language-json"><span class="hl-2">[</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--version&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Show version number&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;boolean&quot;</span><span class="hl-2"> }</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--config&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;alias&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;-c&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Optional config file to use&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;string&quot;</span><span class="hl-2"> },</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--help&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Show help&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;boolean&quot;</span><span class="hl-2"> }</span><br/><span class="hl-2">]</span>
54
- </code><button>Copy</button></pre>
55
- <a id="md:linters" class="tsd-anchor"></a><h2><a href="#md:linters">Linters</a></h2><a id="md:shared-configurations" class="tsd-anchor"></a><h3><a href="#md:shared-configurations">Shared Configurations</a></h3><p>While you can always recreate individual configurations for each linter, it is <strong>HIGHLY</strong> recommended to create a set of
58
+ <pre><code class="json"><span class="hl-2">[</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--version&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Show version number&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;boolean&quot;</span><span class="hl-2"> }</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--config&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;alias&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;-c&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Optional config file to use&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;string&quot;</span><span class="hl-2"> },</span><br/><span class="hl-2"> { </span><span class="hl-5">&quot;option&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;--help&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;description&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;Show help&quot;</span><span class="hl-2">, </span><span class="hl-5">&quot;type&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;boolean&quot;</span><span class="hl-2"> }</span><br/><span class="hl-2">]</span>
59
+ </code><button type="button">Copy</button></pre>
60
+
61
+ <a id="md:linters" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Linters<a href="#md: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="md:shared-configurations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Shared Configurations<a href="#md: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 <strong>HIGHLY</strong> recommended to create a set of
56
62
  shared configurations for your organization. Most linters supported by Lint Janitor have some form of support for
57
- extending configurations and sharing them so you don&#39;t need to reinvent the wheel. In the place that such extensions are
63
+ extending configurations and sharing them so you don't need to reinvent the wheel. In the place that such extensions are
58
64
  missing, Lint Janitor attempts to bridge this gap but it will not add support for IDE based tooling and extensions.
59
- You&#39;ll have to decide what&#39;s best for your project and your organization.</p>
65
+ You'll have to decide what's best for your project and your organization.</p>
60
66
  <p>One note is that the housing repository for lint-janitor contains multiple shared configurations used by zthun scoped
61
- projects. You can use them, but it is recommended for your organization to create it&#39;s own set of configurations that
67
+ projects. You can use them, but it is recommended for your organization to create it's own set of configurations that
62
68
  meets its needs.</p>
63
- <a id="md:json-and-yaml" class="tsd-anchor"></a><h3><a href="#md:json-and-yaml">JSON and YAML</a></h3><p>JSON does not use an external tool. It&#39;s impossible to have lint errors in JSON as if there are, it wouldn&#39;t be valid
64
- JSON and you won&#39;t be able to parse it. Thus, when we talk about linting JSON, it&#39;s really just a parse check to make
65
- sure you&#39;re JSON is valid.</p>
66
- <p>For YAML, the same rule applies. It&#39;s just a parse check, but since YAML isn&#39;t supported in JavaScript out of the box,
69
+ <a id="md:json-and-yaml" class="tsd-anchor"></a><h3 class="tsd-anchor-link">JSON and YAML<a href="#md: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 as if there are, it wouldn't be valid
70
+ JSON and you won't be able to parse it. Thus, when we talk about linting JSON, it's really just a parse check to make
71
+ sure you're JSON is valid.</p>
72
+ <p>For YAML, the same rule applies. It's just a parse check, but since YAML isn't supported in JavaScript out of the box,
67
73
  it uses <a href="https://www.npmjs.com/package/js-yaml">js-yaml</a> under the hood to parse and check your files.</p>
68
74
  <p>Neither of these checks verify schemas so be warned about that.</p>
69
- <a id="md:ecmascript" class="tsd-anchor"></a><h3><a href="#md:ecmascript">ECMAScript</a></h3><p>The linter of choice for ECMAScript, is <a href="https://eslint.org/">ESLint</a>. ESLint has a very large eco system with support
75
+ <a id="md:ecmascript" class="tsd-anchor"></a><h3 class="tsd-anchor-link">ECMAScript<a href="#md: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 has a very large eco system with support
70
76
  for shared configurations and plugins. It supports both TypeScript and JavaScript so it covers the entire feature
71
77
  spectrum. The configuration file for ESLint uses something similar to a
72
- <a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a> standard but it&#39;s more restrictive. Instead, it looks for the
78
+ <a href="https://www.npmjs.com/package/cosmiconfig">cosmiconfig</a> standard but it's more restrictive. Instead, it looks for the
73
79
  following files in the current working directory.</p>
74
80
  <ol>
75
81
  <li>.eslintrc.js</li>
@@ -85,9 +91,10 @@ ECMAScript code.</p>
85
91
  <p>For the configuration schema, you can find it <a href="https://eslint.org/docs/user-guide/configuring/">here</a>. If you create a
86
92
  shared configuration, as recommended, you can simply add that to the extends key in the ESLint configuration file to
87
93
  share configuration throughout your organization.</p>
88
- <pre><code class="language-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">&#39;@zthun/eslint-config&#39;</span><span class="hl-2">);</span>
89
- </code><button>Copy</button></pre>
90
- <a id="md:styles-css-less-sass" class="tsd-anchor"></a><h3><a href="#md:styles-css-less-sass">Styles (CSS, Less, SASS)</a></h3><p>There are several linters for style based files.</p>
94
+ <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">&#39;@zthun/eslint-config&#39;</span><span class="hl-2">);</span>
95
+ </code><button type="button">Copy</button></pre>
96
+
97
+ <a id="md:styles-css-less-sass" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Styles (CSS, Less, SASS)<a href="#md: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>
91
98
  <ol>
92
99
  <li><a href="https://github.com/CSSLint/csslint">CSSLint</a></li>
93
100
  <li><a href="https://github.com/sasstools/sass-lint">SassLint</a></li>
@@ -102,10 +109,11 @@ standard, but it is recommended to use .stylelintrc.json convention. The main re
102
109
  looks for this file so you can get lint errors directly in your IDE.</p>
103
110
  <p>You can find the configuration schema <a href="https://stylelint.io/user-guide/configure">here</a> and you can use the extends key
104
111
  in the configuration to load a shared configuration.</p>
105
- <pre><code class="language-jsonc"><span class="hl-0">// .stylelintrc.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;extends&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;@zthun/stylelint-config&quot;</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
106
- </code><button>Copy</button></pre>
112
+ <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">&quot;extends&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;@zthun/stylelint-config&quot;</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
113
+ </code><button type="button">Copy</button></pre>
114
+
107
115
  <p>As usual, the list of html rules are <a href="https://htmlhint.com/docs/user-guide/list-rules">here</a>.</p>
108
- <a id="md:html" class="tsd-anchor"></a><h3><a href="#md:html">HTML</a></h3><p>There is not a lot of support for HTML linters. There is only really one that is used and it is somewhat old and doesn&#39;t
116
+ <a id="md:html" class="tsd-anchor"></a><h3 class="tsd-anchor-link">HTML<a href="#md: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 used and it is somewhat old and doesn't
109
117
  have a lot of support. A promise of a 1.0.0 release has been made, but we will have to wait and see what happens. That
110
118
  application is <a href="https://github.com/htmlhint/HTMLHint">HTMLHint</a>.</p>
111
119
  <p>HTMLHint does NOT support shared configurations at all. To do that,
@@ -117,11 +125,12 @@ configuration to support shared configs. It will be up to you if you want to do
117
125
  and expects the standard json file to be at the root of your project.</p>
118
126
  <p>If you do choose to use a shared configuration, you can just use a htmlhint.config.js file at the root of your
119
127
  repository.</p>
120
- <pre><code class="language-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">&#39;@zthun/htmlhint-config&#39;</span><span class="hl-2">);</span>
121
- </code><button>Copy</button></pre>
122
- <a id="md:markdown" class="tsd-anchor"></a><h3><a href="#md:markdown">Markdown</a></h3><p>Good old markdown has a couple of linters available, but considering that
128
+ <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">&#39;@zthun/htmlhint-config&#39;</span><span class="hl-2">);</span>
129
+ </code><button type="button">Copy</button></pre>
130
+
131
+ <a id="md:markdown" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Markdown<a href="#md: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
123
132
  <a href="https://github.com/DavidAnson/markdownlint">MarkdownLint</a> has a working
124
- <a href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint">VisualStudio Code plugin</a>, that&#39;s
133
+ <a href="https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint">VisualStudio Code plugin</a>, that's
125
134
  the one that Lint Janitor uses.</p>
126
135
  <p>MarkdownLint searches for the following configuration files at the root of your repository.</p>
127
136
  <ol>
@@ -130,29 +139,32 @@ the one that Lint Janitor uses.</p>
130
139
  <li>.markdownlintrc</li>
131
140
  </ol>
132
141
  <p>Strangely enough, if you are using the vscode plugin, then it is recommended to just use the .markdownlint.json name
133
- because that seems to be the only one that the plugin will respect. There&#39;s not a lot of rules to markdown. You can find
134
- the list of rules <a href="https://github.com/DavidAnson/markdownlint">here</a>. While it&#39;s not documented, MarkdownLint does have
142
+ because that seems to be the only one that the plugin will respect. There's not a lot of rules to markdown. You can find
143
+ the list of rules <a href="https://github.com/DavidAnson/markdownlint">here</a>. While it's not documented, MarkdownLint does have
135
144
  support for shared configurations, but there is a gotcha with it. The actual shared configuration MUST be in a json
136
145
  format. If you are creating a shared configuration for markdown, you will want to export a module of it and also have an
137
146
  actual json formatted file that comes along with it.</p>
138
- <pre><code class="language-json"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;extends&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;@zthun/markdownlint-config/as-json&quot;</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// node_modules/@zthun/markdownlint-config/as-json.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;line-length&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;no-inline-html&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;no-duplicate-heading&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><br/><span class="hl-2">}</span>
139
- </code><button>Copy</button></pre>
147
+ <pre><code class="json"><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;extends&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;@zthun/markdownlint-config/as-json&quot;</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// node_modules/@zthun/markdownlint-config/as-json.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;line-length&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;no-inline-html&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;no-duplicate-heading&quot;</span><span class="hl-2">: </span><span class="hl-4">false</span><br/><span class="hl-2">}</span>
148
+ </code><button type="button">Copy</button></pre>
149
+
140
150
  <p>You can still export a node module that has your shared configuration.</p>
141
- <pre><code class="language-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">&#39;./as-json.json&#39;</span><span class="hl-2">);</span>
142
- </code><button>Copy</button></pre>
143
- <a id="md:spelling" class="tsd-anchor"></a><h3><a href="#md:spelling">Spelling</a></h3><p>This one is pretty optional, but it&#39;s useful in that it keeps you honest. With spelling, you won&#39;t use a shared
151
+ <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">&#39;./as-json.json&#39;</span><span class="hl-2">);</span>
152
+ </code><button type="button">Copy</button></pre>
153
+
154
+ <a id="md:spelling" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Spelling<a href="#md: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 spelling, you won't use a shared
144
155
  configuration as this is truly unique across all projects. It is not possible to have a be all end all language that
145
156
  knows every word in existence so this will look for the <a href="https://www.npmjs.com/package/cspell">CSpell</a> configuration at
146
157
  the root of the repository. If you combine this with the
147
158
  <a href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker">VisualStudio Code plugin</a>,
148
- it&#39;s pretty powerful and lets you add words as the repository vocabulary grows. When using spelling here, you&#39;ll need to
159
+ it's pretty powerful and lets you add words as the repository vocabulary grows. When using spelling here, you'll need to
149
160
  decide if there are words you want to support, what dictionaries your repository is going to support, and what are your
150
161
  forbidden words and phrases. There are no rules here, just lists of allowed words and dictionaries.</p>
151
162
  <p>You may want to consider having a shared dictionary for your organizations custom lingo. You can do this through the
152
- dictionaryDefinitions key, but you&#39;ll have to export a txt file for reuse.</p>
153
- <pre><code class="language-json"><span class="hl-0">// cspell.json</span><br/><span class="hl-2">{</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;version&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;0.1&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;$schema&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;language&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;en&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;words&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;errored&quot;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;dictionaries&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;typescript&quot;</span><span class="hl-2">, </span><span class="hl-3">&quot;en_US&quot;</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
154
- </code><button>Copy</button></pre>
155
- <a id="md:formatting" class="tsd-anchor"></a><h3><a href="#md:formatting">Formatting</a></h3><p>Finally, and possibly most importantly, is code formatting consistency. There are generally two tools that are used for
163
+ dictionaryDefinitions key, but you'll have to export a txt file for reuse.</p>
164
+ <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">&quot;version&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;0.1&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;$schema&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;language&quot;</span><span class="hl-2">: </span><span class="hl-3">&quot;en&quot;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;words&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;errored&quot;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-5">&quot;dictionaries&quot;</span><span class="hl-2">: [</span><span class="hl-3">&quot;typescript&quot;</span><span class="hl-2">, </span><span class="hl-3">&quot;en_US&quot;</span><span class="hl-2">]</span><br/><span class="hl-2">}</span>
165
+ </code><button type="button">Copy</button></pre>
166
+
167
+ <a id="md:formatting" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Formatting<a href="#md: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 are generally two tools that are used for
156
168
  this.</p>
157
169
  <ol>
158
170
  <li><a href="https://editorconfig.org/">EditorConfig</a></li>
@@ -162,19 +174,20 @@ this.</p>
162
174
  others. Prettier also supports shared configurations and is highly recommended to use them because the
163
175
  <a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">VisualStudio Code plugin</a> has support to
164
176
  auto format your files when you save them, making sure that your teams formatting is completely consistent.</p>
165
- <p>It&#39;s file lookup is similar to that of ESLint, but we recommended using .prettierrc.js to enable support for shared
177
+ <p>It's file lookup is similar to that of ESLint, but we recommended using .prettierrc.js to enable support for shared
166
178
  configurations.</p>
167
- <pre><code class="language-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">&#39;@zthun/prettier-config&#39;</span><span class="hl-2">);</span>
168
- </code><button>Copy</button></pre>
169
- <p>Options are <a href="https://prettier.io/docs/en/options.html">here</a>, and there&#39;s not a lot of them. See
170
- <a href="https://prettier.io/docs/en/option-philosophy.html">why</a>, as there&#39;s a good reason for this.</p>
179
+ <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">&#39;@zthun/prettier-config&#39;</span><span class="hl-2">);</span>
180
+ </code><button type="button">Copy</button></pre>
181
+
182
+ <p>Options are <a href="https://prettier.io/docs/en/options.html">here</a>, and there's not a lot of them. See
183
+ <a href="https://prettier.io/docs/en/option-philosophy.html">why</a>, as there's a good reason for this.</p>
171
184
  <p>When doing formatting linting, only the formatting is checked and you are notified if the files are formatted or
172
185
  unformatted. The best way to prevent these issues all together is to just use the Prettier IDE extension and auto format
173
186
  as you type.</p>
174
- <a id="md:faq" class="tsd-anchor"></a><h3><a href="#md:faq">FAQ</a></h3><p>Q. Can this support my other favorite linter?</p>
187
+ <a id="md:faq" class="tsd-anchor"></a><h3 class="tsd-anchor-link">FAQ<a href="#md: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>
175
188
  <p>A. Possibly, but whether or not Lint Janitor will bother at the moment depends on a few factors:</p>
176
189
  <ol>
177
- <li>Is there an IDE plugin that makes it so you can validate, lint, and cleanup while you go along so you&#39;re not left
190
+ <li>Is there an IDE plugin that makes it so you can validate, lint, and cleanup while you go along so you're not left
178
191
  with a lot of surprises at the end?</li>
179
192
  <li>Does the linter support shared configuration to not reinvent the wheel everywhere? Does Lint Janitor have to bridge
180
193
  that gap?</li>
@@ -184,7 +197,7 @@ that gap?</li>
184
197
  <p>If you answered No to the last question, then the answer is No. Lint Janitor does not invoke external command lines of
185
198
  linters and instead calls into their node API directly. This is how Lint Janitor succeeds in not having you worry about
186
199
  what tools to install and what versions to use; it uses transitive dependencies.</p>
187
- <p>If the last question is a Yes, then it becomes a question of, is it worth it? That&#39;ll need to be prioritized. For the
200
+ <p>If the last question is a Yes, then it becomes a question of, is it worth it? That'll need to be prioritized. For the
188
201
  most part, using <a href="https://prettier.io/">Prettier</a> takes care of almost all linting issues so you may not need more than
189
202
  what is available here. If you need the mother of all linters, there is the heavy
190
203
  <a href="https://github.com/nvuillam/mega-linter">Mega Linter</a> which aggregates every linter in existence. Very cool, but a bit
@@ -216,4 +229,4 @@ one planned, but it still need to be researched and scoped out.</p>
216
229
  <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>
217
230
  <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>
218
231
  <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>
219
- </div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-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"><h4 class="uppercase">Member Visibility</h4><form><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-private" name="private"/><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>Private</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></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><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-index-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="../index.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>
232
+ </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="../index.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>
@@ -1,5 +1,6 @@
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-config | 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><link rel="icon" href="../janitor.svg" />
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="../index.html">Janitor</a></li><li><a href="_zthun_lint_janitor_config.html">@zthun/lint-janitor-config</a></li></ul><h1>Module @zthun/lint-janitor-config</h1></div><section class="tsd-panel tsd-typography"><a id="md:lint-janitor-config" class="tsd-anchor"></a><h1><a href="#md:lint-janitor-config">Lint Janitor Config</a></h1><p>This is a shared configuration for lint-janitor that contains all of the zthun scoped shared configurations.</p>
3
- <a id="md:getting-started" class="tsd-anchor"></a><h2><a href="#md:getting-started">Getting Started</a></h2><pre><code class="language-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-3">@zthun/lint-janitor-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/lint-janitor</span><span class="hl-2"> </span><span class="hl-3">@zthun/lint-janitor-config</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
4
- </code><button>Copy</button></pre>
5
- </section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-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"><h4 class="uppercase">Member Visibility</h4><form><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-private" name="private"/><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>Private</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></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><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-index-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-config"><span>Lint <wbr/>Janitor <wbr/>Config</span></a><ul><li><a href="#md:getting-started"><span>Getting <wbr/>Started</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.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>
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-config | 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><link rel="icon" href="../janitor.svg" />
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="../index.html">Janitor</a></li><li><a href="_zthun_lint_janitor_config.html">@zthun/lint-janitor-config</a></li></ul><h1>Module @zthun/lint-janitor-config</h1></div><section class="tsd-panel tsd-typography"><a id="md:lint-janitor-config" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Lint Janitor Config<a href="#md:lint-janitor-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 a shared configuration for lint-janitor that contains all of the zthun scoped shared configurations.</p>
3
+ <a id="md:getting-started" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Getting Started<a href="#md: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-3">@zthun/lint-janitor-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/lint-janitor</span><span class="hl-2"> </span><span class="hl-3">@zthun/lint-janitor-config</span><span class="hl-2"> </span><span class="hl-4">--dev</span>
4
+ </code><button type="button">Copy</button></pre>
5
+
6
+ </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-config"><span>Lint <wbr/>Janitor <wbr/>Config</span></a><ul><li><a href="#md:getting-started"><span>Getting <wbr/>Started</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.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>