typescript/prefer-string-starts-ends-with Style
What it does
Prefer startsWith and endsWith over manual string boundary checks.
Why is this bad?
Boundary checks written with slice, indexOf, regex anchors, or manual indexing are harder to read and maintain than startsWith/endsWith.
Examples
Examples of incorrect code for this rule:
ts
value.slice(0, 3) === "foo";
value.slice(-3) === "bar";Examples of correct code for this rule:
ts
value.startsWith("foo");
value.endsWith("bar");Configuration
This rule accepts a configuration object with the following properties:
allowSingleElementEquality
type: "always" | "never"
default: "never"
Whether equality checks against the first/last character are allowed.
"always"
Always allow equality checks against the first or last character.
"never"
Never allow equality checks against the first or last character.
How to use
To enable this rule using the config file or in the CLI, you can use:
json
{
"options": {
"typeAware": true
},
"rules": {
"typescript/prefer-string-starts-ends-with": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
options: { typeAware: true },
rules: {
"typescript/prefer-string-starts-ends-with": "error",
},
});bash
oxlint --type-aware --deny typescript/prefer-string-starts-ends-withVersion
This rule was added in v0.0.8.
