Skip to content

Commit 1370e7f

Browse files
authored
refactor: fix types (#295)
* feat: improve types * refactor: fix types * fix format * Update types.d.ts * fix types * fix types * Update html-ast.d.ts * fix prettier * add tests * Update parser.js
1 parent 2493a6a commit 1370e7f

File tree

88 files changed

+809
-603
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+809
-603
lines changed

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,4 @@ packages/**/.yarn
2121
!.yarn/versions
2222
.DS_Store
2323

24-
# generated types
25-
packages/**/types
26-
!packages/**/lib/types
27-
2824
integration-test-projects/**/*.yarn

.prettierignore

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,11 @@
44
lerna.json
55
packages/website/
66
packages/web-linter/out
7-
.next
87
dist
98
**/dist
109
.yarn/releases
1110
yarn.lock
1211
.turbo
1312

14-
# generated types
15-
packages/**/types
16-
!packages/**/lib/types
17-
1813
packages/eslint-plugin/tests/e2e/**/*.html
1914
integration-test-projects

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@
2424
"author": "yeonjuan",
2525
"license": "MIT",
2626
"devDependencies": {
27+
"@types/jest": "^29.5.14",
2728
"cspell": "^8.0.0",
2829
"eslint": "^9.19.0",
2930
"eslint-plugin-jest": "^28.11.0",
3031
"eslint-plugin-n": "^17.15.1",
3132
"husky": "^9.1.4",
3233
"jest": "^29.7.0",
3334
"lerna": "^8.1.9",
34-
"prettier": "^2.4.1",
35+
"prettier": "^3.5.2",
3536
"svgo": "^3",
3637
"turbo": "^2.0.11",
3738
"typescript": "^5.7.2"

packages/cli/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
"homepage": "https://github.com/yeonjuan/html-eslint#readme",
77
"license": "ISC",
88
"main": "lib/cli.js",
9-
"directories": {
10-
"lib": "lib",
11-
"test": "__tests__"
12-
},
139
"bin": {
1410
"html-eslint": "./lib/cli.js"
1511
},

packages/eslint-plugin/lib/rules/element-newline.js

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
/**
22
* @typedef { import("../types").RuleModule } RuleModule
3-
* @typedef { import("../types").Tag } Tag
4-
* @typedef { import("../types").Comment } Comment
5-
* @typedef { import("../types").Doctype } Doctype
6-
* @typedef { import("../types").ScriptTag } ScriptTag
7-
* @typedef { import("../types").StyleTag } StyleTag
8-
* @typedef { import("../types").Text } Text
9-
* @typedef { import("../types").AnyNode } AnyNode
10-
* @typedef { import("../types").OpenTagEnd } OpenTagEnd
11-
* @typedef { import("../types").CloseTag } CloseTag
3+
* @typedef { import("@html-eslint/types").Tag } Tag
4+
* @typedef { import("@html-eslint/types").Comment } Comment
5+
* @typedef { import("@html-eslint/types").Doctype } Doctype
6+
* @typedef { import("@html-eslint/types").ScriptTag } ScriptTag
7+
* @typedef { import("@html-eslint/types").StyleTag } StyleTag
8+
* @typedef { import("@html-eslint/types").Text } Text
9+
* @typedef { import("@html-eslint/types").AnyNode } AnyNode
10+
* @typedef { import("@html-eslint/types").OpenTagEnd } OpenTagEnd
11+
* @typedef { import("@html-eslint/types").CloseTag } CloseTag
12+
* @typedef { import("../types").Line } Line
13+
* @typedef { AnyNode | Line } AnyNodeOrLine
1214
*/
1315

1416
const { RULE_CATEGORY } = require("../constants");
@@ -115,12 +117,12 @@ module.exports = {
115117
const inlineTags = optionsOrPresets(option.inline || []);
116118

117119
/**
118-
* @param {AnyNode[]} children
119-
* @returns {Exclude<AnyNode, Text>[]}
120+
* @param {AnyNodeOrLine[]} children
121+
* @returns {Exclude<AnyNodeOrLine, Text>[]}
120122
*/
121123
function getChildrenToCheck(children) {
122124
/**
123-
* @type {Exclude<AnyNode, Text>[]}
125+
* @type {Exclude<AnyNodeOrLine, Text>[]}
124126
*/
125127
const childrenToCheck = [];
126128

@@ -136,8 +138,8 @@ module.exports = {
136138
}
137139

138140
/**
139-
* @param {AnyNode} before
140-
* @param {AnyNode} after
141+
* @param {AnyNodeOrLine} before
142+
* @param {AnyNodeOrLine} after
141143
* @returns {boolean}
142144
*/
143145
function isOnTheSameLine(before, after) {
@@ -156,7 +158,7 @@ module.exports = {
156158
}
157159

158160
/**
159-
* @param {AnyNode} node
161+
* @param {AnyNodeOrLine} node
160162
* @returns {boolean}
161163
*/
162164
function isInline(node) {
@@ -250,7 +252,7 @@ module.exports = {
250252
}
251253

252254
/**
253-
* @param {AnyNode} node
255+
* @param {AnyNodeOrLine} node
254256
* @returns {boolean}
255257
*/
256258
function isEmptyText(node) {
@@ -261,7 +263,7 @@ module.exports = {
261263
}
262264

263265
/**
264-
* @param {AnyNode} node
266+
* @param {AnyNodeOrLine} node
265267
* @param {{ isClose?: boolean }} options
266268
*/
267269
function getName(node, options = {}) {

packages/eslint-plugin/lib/rules/id-naming-convention.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/**
22
* @typedef { import("../types").RuleModule } RuleModule
3-
* @typedef { import("../types").Tag } Tag
4-
* @typedef { import("../types").ScriptTag } ScriptTag
5-
* @typedef { import("../types").StyleTag } StyleTag
3+
* @typedef { import("@html-eslint/types").Tag } Tag
4+
* @typedef { import("@html-eslint/types").ScriptTag } ScriptTag
5+
* @typedef { import("@html-eslint/types").StyleTag } StyleTag
66
*/
77

88
const { RULE_CATEGORY } = require("../constants");

packages/eslint-plugin/lib/rules/indent/indent-level.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @typedef {import("../../types").AnyNode} AnyNode
2+
* @typedef {import("@html-eslint/types").AnyNode} AnyNode
33
* @typedef {{ [key in AnyNode['type']]?: number}} IncLevelOptions
44
* @typedef {(node: AnyNode) => number} GetIncreasingLevel
55
*/

packages/eslint-plugin/lib/rules/indent/indent.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
/**
22
* @typedef { import("../../types").RuleModule } RuleModule
3-
* @typedef { import("../../types").AnyNode } AnyNode
3+
* @typedef { import("@html-eslint/types").AnyNode } AnyNode
44
* @typedef { import("../../types").Line } Line
5-
* @typedef { import("../../types").Tag } Tag
5+
* @typedef { import("@html-eslint/types").Tag } Tag
66
* @typedef { import("../../types").RuleListener } RuleListener
77
* @typedef { import("../../types").Context } Context
8-
* @typedef { import("../../types").TemplateText } TemplateText
8+
* @typedef { import("@html-eslint/types").TemplateText } TemplateText
99
* @typedef { import("eslint").AST.Token } Token
1010
* @typedef { import("eslint").SourceCode } SourceCode
1111
* @typedef { import("eslint").AST.Range } Range
1212
* @typedef { import("eslint").AST.SourceLocation } SourceLocation
13-
* @typedef { import("../../types").TemplateLiteral } TemplateLiteral
14-
* @typedef { import("../../types").OpenTemplate } OpenTemplate
15-
* @typedef { import("../../types").CloseTemplate } CloseTemplate
16-
*
13+
* @typedef { import("@html-eslint/types").TemplateLiteral } TemplateLiteral
14+
* @typedef { import("@html-eslint/types").OpenTemplate } OpenTemplate
15+
* @typedef { import("@html-eslint/types").CloseTemplate } CloseTemplate
1716
*
17+
* @typedef {AnyNode | Line} AnyNodeOrLine
1818
* @typedef {Object} IndentType
1919
* @property {"tab"} TAB
2020
* @property {"space"} SPACE
@@ -398,7 +398,7 @@ module.exports = {
398398
};
399399

400400
/**
401-
* @param {AnyNode | Line | TemplateText | OpenTemplate | CloseTemplate} node
401+
* @param {AnyNodeOrLine | TemplateText | OpenTemplate | CloseTemplate} node
402402
* @param {string} actualIndent
403403
* @return {{range: Range; loc: SourceLocation}}
404404
*/

packages/eslint-plugin/lib/rules/lowercase.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/**
22
* @typedef { import("../types").RuleModule } RuleModule
3-
* @typedef { import("../types").Tag } Tag
4-
* @typedef { import("../types").StyleTag } StyleTag
5-
* @typedef { import("../types").ScriptTag } ScriptTag
3+
* @typedef { import("@html-eslint/types").Tag } Tag
4+
* @typedef { import("@html-eslint/types").StyleTag } StyleTag
5+
* @typedef { import("@html-eslint/types").ScriptTag } ScriptTag
66
*/
77

88
const { NODE_TYPES } = require("@html-eslint/parser");

packages/eslint-plugin/lib/rules/max-element-depth.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/**
22
* @typedef { import("../types").RuleModule } RuleModule
3-
* @typedef { import("../types").Tag } Tag
4-
* @typedef { import("../types").StyleTag } StyleTag
5-
* @typedef { import("../types").ScriptTag } ScriptTag
3+
* @typedef { import("@html-eslint/types").Tag } Tag
4+
* @typedef { import("@html-eslint/types").StyleTag } StyleTag
5+
* @typedef { import("@html-eslint/types").ScriptTag } ScriptTag
66
*/
77

88
const { RULE_CATEGORY } = require("../constants");

0 commit comments

Comments
 (0)