Skip to content

Commit f6f1fa4

Browse files
committed
chore(lint): Use shared eslint config
1 parent bfd12a4 commit f6f1fa4

12 files changed

Lines changed: 5447 additions & 5206 deletions

File tree

package-lock.json

Lines changed: 5387 additions & 5205 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"devDependencies": {
4747
"@biomejs/biome": "^2.4.4",
4848
"@eslint/compat": "^2.0.2",
49-
"@feedic/eslint-config": "^0.1.0",
49+
"@feedic/eslint-config": "^0.2.2",
5050
"@types/boolbase": "^1.0.3",
5151
"@types/node": "^25.3.0",
5252
"@vitest/coverage-v8": "^3.2.4",

src/compile.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ function absolutize<Node, ElementNode extends Node>(
5959
}
6060
}
6161

62+
/**
63+
* Compile a parsed selector token into an executable query function.
64+
*/
6265
export function compileToken<Node, ElementNode extends Node>(
6366
token: InternalSelector[][],
6467
options: InternalOptions<Node, ElementNode>,

src/general.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ import {
1313
* All available rules
1414
*/
1515

16+
/**
17+
* Compile a single selector token.
18+
*/
1619
export function compileGeneralSelector<Node, ElementNode extends Node>(
1720
next: CompiledQuery<ElementNode>,
1821
selector: InternalSelector,

src/helpers/querying.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ export function findOne<Node, ElementNode extends Node>(
123123
}
124124
}
125125

126+
/**
127+
* Get all element siblings after the provided node.
128+
*/
126129
export function getNextSiblings<Node, ElementNode extends Node>(
127130
elem: Node,
128131
adapter: Adapter<Node, ElementNode>,
@@ -138,6 +141,9 @@ export function getNextSiblings<Node, ElementNode extends Node>(
138141
return siblings.slice(elemIndex + 1).filter(adapter.isTag);
139142
}
140143

144+
/**
145+
* Get the parent element of a node.
146+
*/
141147
export function getElementParent<Node, ElementNode extends Node>(
142148
node: ElementNode,
143149
adapter: Adapter<Node, ElementNode>,

src/helpers/selectors.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import {
77
} from "css-what";
88
import { type InternalSelector } from "../types.js";
99

10+
/**
11+
* Check whether a selector token performs traversal.
12+
*/
1013
export function isTraversal(token: InternalSelector): token is Traversal {
1114
return token.type === "_flexibleDescendant" || isTraversalBase(token);
1215
}
@@ -116,6 +119,9 @@ export function getQuality(token: InternalSelector): number {
116119
}
117120
}
118121

122+
/**
123+
* Check whether a token or nested token includes `:scope`.
124+
*/
119125
export function includesScopePseudo(t: InternalSelector): boolean {
120126
return (
121127
t.type === SelectorType.Pseudo &&

src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ function getSelectorFunc<Node, ElementNode extends Node, T>(
118118
};
119119
}
120120

121+
/**
122+
* Normalize a query context and optionally include next siblings.
123+
*/
121124
export function prepareContext<Node, ElementNode extends Node>(
122125
elems: Node | Node[],
123126
adapter: Adapter<Node, ElementNode>,

src/pseudo-selectors/filters.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ type Filter = <Node, ElementNode extends Node>(
1111
context?: Node[],
1212
) => CompiledQuery<ElementNode>;
1313

14+
/**
15+
* Pre-compiled pseudo filters.
16+
*/
1417
export const filters: Record<string, Filter> = {
1518
contains(next, text, options) {
1619
const { getText } = options.adapter;

src/pseudo-selectors/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ import { subselects } from "./subselects.js";
2626

2727
export { filters, pseudos, aliases };
2828

29+
/**
30+
* Compile a pseudo selector into an executable query function.
31+
*/
2932
export function compilePseudoSelector<Node, ElementNode extends Node>(
3033
next: CompiledQuery<ElementNode>,
3134
selector: PseudoSelector,

src/pseudo-selectors/pseudos.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ type Pseudo = <Node, ElementNode extends Node>(
1717
const isDocumentWhiteSpace = /^[ \t\r\n]*$/;
1818

1919
// While filters are precompiled, pseudos get called when they are needed
20+
/** Runtime pseudo selector implementations. */
2021
export const pseudos: Record<string, Pseudo> = {
2122
empty(elem, { adapter }) {
2223
const children = adapter.getChildren(elem);
@@ -114,6 +115,9 @@ export const pseudos: Record<string, Pseudo> = {
114115
},
115116
};
116117

118+
/**
119+
* Validate pseudo selector argument arity.
120+
*/
117121
export function verifyPseudoArgs<T extends Array<unknown>>(
118122
func: (...args: T) => boolean,
119123
name: string,

0 commit comments

Comments
 (0)