@enormora/eslint-config-base 0.0.35 → 0.0.36

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/package.json CHANGED
@@ -62,5 +62,5 @@
62
62
  "./rule-sets/restricted-syntax.js"
63
63
  ],
64
64
  "type": "module",
65
- "version": "0.0.35"
65
+ "version": "0.0.36"
66
66
  }
@@ -0,0 +1,98 @@
1
+ import markdownPlugin from '@eslint/markdown';
2
+ import markdownLinksPlugin from 'eslint-plugin-markdown-links';
3
+ import markdownPreferencesPlugin from 'eslint-plugin-markdown-preferences';
4
+
5
+ export const markdownLintPlugins = {
6
+ markdown: markdownPlugin,
7
+ 'markdown-links': markdownLinksPlugin,
8
+ 'markdown-preferences': markdownPreferencesPlugin
9
+ };
10
+
11
+ export const markdownLintRules = {
12
+ 'markdown/fenced-code-language': 'error',
13
+ 'markdown/fenced-code-meta': 'off',
14
+ 'markdown/heading-increment': 'error',
15
+ 'markdown/no-bare-urls': 'error',
16
+ 'markdown/no-duplicate-definitions': 'error',
17
+ 'markdown/no-duplicate-headings': 'error',
18
+ 'markdown/no-empty-definitions': 'error',
19
+ 'markdown/no-empty-images': 'error',
20
+ 'markdown/no-empty-links': 'error',
21
+ 'markdown/no-html': 'error',
22
+ 'markdown/no-invalid-label-refs': 'error',
23
+ 'markdown/no-missing-atx-heading-space': 'error',
24
+ 'markdown/no-missing-label-refs': 'error',
25
+ 'markdown/no-missing-link-fragments': 'error',
26
+ 'markdown/no-multiple-h1': 'error',
27
+ 'markdown/no-reference-like-urls': 'error',
28
+ 'markdown/no-reversed-media-syntax': 'error',
29
+ 'markdown/no-space-in-emphasis': 'error',
30
+ 'markdown/no-unused-definitions': 'error',
31
+ 'markdown/require-alt-text': 'error',
32
+ 'markdown/table-column-count': 'error',
33
+
34
+ // markdown-links: external network check is opt-in to keep CI deterministic;
35
+ // local-path and fragment checks are pure wins.
36
+ 'markdown-links/no-dead-urls': 'off',
37
+ 'markdown-links/no-missing-fragments': 'error',
38
+ 'markdown-links/no-missing-path': 'error',
39
+ 'markdown-links/no-self-destination': 'error',
40
+
41
+ // markdown-preferences: many rules overlap with the active markdown formatter (dprint or
42
+ // prettier, depending on which base preset is used). We enable only the 8 rules from this
43
+ // plugin's `recommended` config (none of which fight either formatter) and explicitly turn
44
+ // the other 45 off. Override individually if a stricter style is desired.
45
+ 'markdown-preferences/atx-heading-closing-sequence': 'off',
46
+ 'markdown-preferences/atx-heading-closing-sequence-length': 'off',
47
+ 'markdown-preferences/blockquote-marker-alignment': 'error',
48
+ 'markdown-preferences/bullet-list-marker-style': 'off',
49
+ 'markdown-preferences/canonical-code-block-language': 'off',
50
+ 'markdown-preferences/code-fence-length': 'off',
51
+ 'markdown-preferences/code-fence-spacing': 'off',
52
+ 'markdown-preferences/code-fence-style': 'off',
53
+ 'markdown-preferences/custom-container-marker-spacing': 'off',
54
+ 'markdown-preferences/definitions-last': 'off',
55
+ 'markdown-preferences/emoji-notation': 'off',
56
+ 'markdown-preferences/emphasis-delimiters-style': 'off',
57
+ 'markdown-preferences/hard-linebreak-style': 'error',
58
+ 'markdown-preferences/heading-casing': 'off',
59
+ 'markdown-preferences/indent': 'off',
60
+ 'markdown-preferences/level1-heading-style': 'off',
61
+ 'markdown-preferences/level2-heading-style': 'off',
62
+ 'markdown-preferences/link-bracket-newline': 'off',
63
+ 'markdown-preferences/link-bracket-spacing': 'off',
64
+ 'markdown-preferences/link-destination-style': 'off',
65
+ 'markdown-preferences/link-paren-newline': 'off',
66
+ 'markdown-preferences/link-paren-spacing': 'off',
67
+ 'markdown-preferences/link-title-style': 'off',
68
+ 'markdown-preferences/list-marker-alignment': 'error',
69
+ 'markdown-preferences/max-len': 'off',
70
+ 'markdown-preferences/no-heading-trailing-punctuation': 'off',
71
+ 'markdown-preferences/no-implicit-block-closing': 'error',
72
+ 'markdown-preferences/no-laziness-blockquotes': 'error',
73
+ 'markdown-preferences/no-multi-spaces': 'off',
74
+ 'markdown-preferences/no-multiple-empty-lines': 'off',
75
+ 'markdown-preferences/no-tabs': 'off',
76
+ 'markdown-preferences/no-text-backslash-linebreak': 'error',
77
+ 'markdown-preferences/no-trailing-spaces': 'off',
78
+ 'markdown-preferences/ordered-list-marker-sequence': 'off',
79
+ 'markdown-preferences/ordered-list-marker-start': 'off',
80
+ 'markdown-preferences/ordered-list-marker-style': 'off',
81
+ 'markdown-preferences/padded-custom-containers': 'off',
82
+ 'markdown-preferences/padding-line-between-blocks': 'off',
83
+ 'markdown-preferences/prefer-autolinks': 'error',
84
+ 'markdown-preferences/prefer-fenced-code-blocks': 'error',
85
+ 'markdown-preferences/prefer-inline-code-words': 'off',
86
+ 'markdown-preferences/prefer-link-reference-definitions': 'off',
87
+ 'markdown-preferences/prefer-linked-words': 'off',
88
+ 'markdown-preferences/setext-heading-underline-length': 'off',
89
+ 'markdown-preferences/sort-definitions': 'off',
90
+ 'markdown-preferences/strikethrough-delimiters-style': 'off',
91
+ 'markdown-preferences/table-header-casing': 'off',
92
+ 'markdown-preferences/table-leading-trailing-pipes': 'off',
93
+ 'markdown-preferences/table-pipe-alignment': 'off',
94
+ 'markdown-preferences/table-pipe-spacing': 'off',
95
+ 'markdown-preferences/thematic-break-character-style': 'off',
96
+ 'markdown-preferences/thematic-break-length': 'off',
97
+ 'markdown-preferences/thematic-break-sequence-pattern': 'off'
98
+ };
@@ -1,7 +1,4 @@
1
1
  import dprintPlugin from '@ben_12/eslint-plugin-dprint';
2
- import markdownPlugin from '@eslint/markdown';
3
- import markdownLinksPlugin from 'eslint-plugin-markdown-links';
4
- import markdownPreferencesPlugin from 'eslint-plugin-markdown-preferences';
5
2
  import {
6
3
  jsonDprintConfig,
7
4
  markdownDprintConfig,
@@ -10,6 +7,7 @@ import {
10
7
  yamlDprintConfig
11
8
  } from './dprint-config.js';
12
9
  import { dprintSettings } from './dprint-formatters.js';
10
+ import { markdownLintPlugins, markdownLintRules } from './markdown-lint-rules.js';
13
11
 
14
12
  // `@eslint/markdown` declares `language: 'markdown/commonmark'` for .md files, which makes ESLint
15
13
  // parse them into an mdast tree (root node `type: 'root'`). The stock `dprint/markdown` rule listens
@@ -32,9 +30,7 @@ const dprintMarkdownLanguageAdapter = {
32
30
  export const markdownConfig = {
33
31
  files: [ '**/*.md' ],
34
32
  plugins: {
35
- markdown: markdownPlugin,
36
- 'markdown-links': markdownLinksPlugin,
37
- 'markdown-preferences': markdownPreferencesPlugin,
33
+ ...markdownLintPlugins,
38
34
  'dprint-markdown': dprintMarkdownLanguageAdapter
39
35
  },
40
36
  // Pinned to commonmark because @eslint/markdown@8.0.2's MarkdownSourceCode does not implement
@@ -58,90 +54,6 @@ export const markdownConfig = {
58
54
  }
59
55
  ],
60
56
 
61
- 'markdown/fenced-code-language': 'error',
62
- 'markdown/fenced-code-meta': 'off',
63
- 'markdown/heading-increment': 'error',
64
- 'markdown/no-bare-urls': 'error',
65
- 'markdown/no-duplicate-definitions': 'error',
66
- 'markdown/no-duplicate-headings': 'error',
67
- 'markdown/no-empty-definitions': 'error',
68
- 'markdown/no-empty-images': 'error',
69
- 'markdown/no-empty-links': 'error',
70
- 'markdown/no-html': 'error',
71
- 'markdown/no-invalid-label-refs': 'error',
72
- 'markdown/no-missing-atx-heading-space': 'error',
73
- 'markdown/no-missing-label-refs': 'error',
74
- 'markdown/no-missing-link-fragments': 'error',
75
- 'markdown/no-multiple-h1': 'error',
76
- 'markdown/no-reference-like-urls': 'error',
77
- 'markdown/no-reversed-media-syntax': 'error',
78
- 'markdown/no-space-in-emphasis': 'error',
79
- 'markdown/no-unused-definitions': 'error',
80
- 'markdown/require-alt-text': 'error',
81
- 'markdown/table-column-count': 'error',
82
-
83
- // markdown-links: external network check is opt-in to keep CI deterministic;
84
- // local-path and fragment checks are pure wins.
85
- 'markdown-links/no-dead-urls': 'off',
86
- 'markdown-links/no-missing-fragments': 'error',
87
- 'markdown-links/no-missing-path': 'error',
88
- 'markdown-links/no-self-destination': 'error',
89
-
90
- // markdown-preferences: many rules overlap with dprint/markdown formatting. We enable only
91
- // the 8 rules from this plugin's `recommended` config (none of which fight dprint) and
92
- // explicitly turn the other 45 off. Override individually if a stricter style is desired.
93
- 'markdown-preferences/atx-heading-closing-sequence': 'off',
94
- 'markdown-preferences/atx-heading-closing-sequence-length': 'off',
95
- 'markdown-preferences/blockquote-marker-alignment': 'error',
96
- 'markdown-preferences/bullet-list-marker-style': 'off',
97
- 'markdown-preferences/canonical-code-block-language': 'off',
98
- 'markdown-preferences/code-fence-length': 'off',
99
- 'markdown-preferences/code-fence-spacing': 'off',
100
- 'markdown-preferences/code-fence-style': 'off',
101
- 'markdown-preferences/custom-container-marker-spacing': 'off',
102
- 'markdown-preferences/definitions-last': 'off',
103
- 'markdown-preferences/emoji-notation': 'off',
104
- 'markdown-preferences/emphasis-delimiters-style': 'off',
105
- 'markdown-preferences/hard-linebreak-style': 'error',
106
- 'markdown-preferences/heading-casing': 'off',
107
- 'markdown-preferences/indent': 'off',
108
- 'markdown-preferences/level1-heading-style': 'off',
109
- 'markdown-preferences/level2-heading-style': 'off',
110
- 'markdown-preferences/link-bracket-newline': 'off',
111
- 'markdown-preferences/link-bracket-spacing': 'off',
112
- 'markdown-preferences/link-destination-style': 'off',
113
- 'markdown-preferences/link-paren-newline': 'off',
114
- 'markdown-preferences/link-paren-spacing': 'off',
115
- 'markdown-preferences/link-title-style': 'off',
116
- 'markdown-preferences/list-marker-alignment': 'error',
117
- 'markdown-preferences/max-len': 'off',
118
- 'markdown-preferences/no-heading-trailing-punctuation': 'off',
119
- 'markdown-preferences/no-implicit-block-closing': 'error',
120
- 'markdown-preferences/no-laziness-blockquotes': 'error',
121
- 'markdown-preferences/no-multi-spaces': 'off',
122
- 'markdown-preferences/no-multiple-empty-lines': 'off',
123
- 'markdown-preferences/no-tabs': 'off',
124
- 'markdown-preferences/no-text-backslash-linebreak': 'error',
125
- 'markdown-preferences/no-trailing-spaces': 'off',
126
- 'markdown-preferences/ordered-list-marker-sequence': 'off',
127
- 'markdown-preferences/ordered-list-marker-start': 'off',
128
- 'markdown-preferences/ordered-list-marker-style': 'off',
129
- 'markdown-preferences/padded-custom-containers': 'off',
130
- 'markdown-preferences/padding-line-between-blocks': 'off',
131
- 'markdown-preferences/prefer-autolinks': 'error',
132
- 'markdown-preferences/prefer-fenced-code-blocks': 'error',
133
- 'markdown-preferences/prefer-inline-code-words': 'off',
134
- 'markdown-preferences/prefer-link-reference-definitions': 'off',
135
- 'markdown-preferences/prefer-linked-words': 'off',
136
- 'markdown-preferences/setext-heading-underline-length': 'off',
137
- 'markdown-preferences/sort-definitions': 'off',
138
- 'markdown-preferences/strikethrough-delimiters-style': 'off',
139
- 'markdown-preferences/table-header-casing': 'off',
140
- 'markdown-preferences/table-leading-trailing-pipes': 'off',
141
- 'markdown-preferences/table-pipe-alignment': 'off',
142
- 'markdown-preferences/table-pipe-spacing': 'off',
143
- 'markdown-preferences/thematic-break-character-style': 'off',
144
- 'markdown-preferences/thematic-break-length': 'off',
145
- 'markdown-preferences/thematic-break-sequence-pattern': 'off'
57
+ ...markdownLintRules
146
58
  }
147
59
  };
package/sbom.cdx.json CHANGED
@@ -16,9 +16,9 @@
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@enormora/eslint-config-base",
19
- "version": "0.0.35",
20
- "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.35",
21
- "purl": "pkg:npm/@enormora/eslint-config-base@0.0.35"
19
+ "version": "0.0.36",
20
+ "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.36",
21
+ "purl": "pkg:npm/@enormora/eslint-config-base@0.0.36"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -332,7 +332,7 @@
332
332
  "ref": "pkg:npm/@dprint/typescript@0.96.1"
333
333
  },
334
334
  {
335
- "ref": "pkg:npm/@enormora/eslint-config-base@0.0.35",
335
+ "ref": "pkg:npm/@enormora/eslint-config-base@0.0.36",
336
336
  "dependsOn": [
337
337
  "pkg:npm/@ben_12/eslint-plugin-dprint@1.21.0",
338
338
  "pkg:npm/@ben_12/eslint-simple-parser@0.1.0",