mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 14:18:04 +08:00
Restore ESLint and Prettier auto-formatting and CI linting (#1457)
* Restore ESLint and Prettier autoformatting * Fix formatting and lints in web files * Hacky fix to eslint crash * Fix remaining lints * Add lint-fix script --------- Co-authored-by: 0hypercube <0hypercube@gmail.com>
This commit is contained in:
@@ -52,7 +52,6 @@ module.exports = {
|
||||
"@typescript-eslint/camelcase": "off",
|
||||
"@typescript-eslint/no-use-before-define": "off",
|
||||
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_", ignoreRestSiblings: true }],
|
||||
"@typescript-eslint/explicit-function-return-type": ["error"],
|
||||
|
||||
// Import plugin config (used to intelligently validate module import statements)
|
||||
"import/prefer-default-export": "off",
|
||||
|
||||
@@ -37,7 +37,7 @@ class BezierDemo extends HTMLElement implements Demo {
|
||||
|
||||
sliderUnits!: Record<string, string | string[]>;
|
||||
|
||||
async connectedCallback(): Promise<void> {
|
||||
async connectedCallback() {
|
||||
this.title = this.getAttribute("title") || "";
|
||||
this.points = JSON.parse(this.getAttribute("points") || "[]");
|
||||
this.key = this.getAttribute("key") as BezierFeatureKey;
|
||||
@@ -59,15 +59,15 @@ class BezierDemo extends HTMLElement implements Demo {
|
||||
this.drawDemo(figure);
|
||||
}
|
||||
|
||||
render(): void {
|
||||
render() {
|
||||
renderDemo(this);
|
||||
}
|
||||
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]): void {
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]) {
|
||||
figure.innerHTML = this.callback(this.bezier, this.sliderData, mouseLocation);
|
||||
}
|
||||
|
||||
onMouseDown(event: MouseEvent): void {
|
||||
onMouseDown(event: MouseEvent) {
|
||||
const mx = event.offsetX;
|
||||
const my = event.offsetY;
|
||||
for (let pointIndex = 0; pointIndex < this.points.length; pointIndex += 1) {
|
||||
@@ -79,11 +79,11 @@ class BezierDemo extends HTMLElement implements Demo {
|
||||
}
|
||||
}
|
||||
|
||||
onMouseUp(): void {
|
||||
onMouseUp() {
|
||||
this.activeIndex = undefined;
|
||||
}
|
||||
|
||||
onMouseMove(event: MouseEvent): void {
|
||||
onMouseMove(event: MouseEvent) {
|
||||
const mx = event.offsetX;
|
||||
const my = event.offsetY;
|
||||
const figure = event.currentTarget as HTMLElement;
|
||||
|
||||
@@ -41,7 +41,7 @@ class BezierDemoPane extends HTMLElement implements DemoPane {
|
||||
|
||||
id!: string;
|
||||
|
||||
connectedCallback(): void {
|
||||
connectedCallback() {
|
||||
this.key = (this.getAttribute("name") || "") as BezierFeatureKey;
|
||||
this.id = `bezier/${this.key}`;
|
||||
this.name = bezierFeatures[this.key].name;
|
||||
@@ -62,7 +62,7 @@ class BezierDemoPane extends HTMLElement implements DemoPane {
|
||||
this.render();
|
||||
}
|
||||
|
||||
render(): void {
|
||||
render() {
|
||||
renderDemoPane(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ class SubpathDemo extends HTMLElement {
|
||||
|
||||
sliderUnits!: Record<string, string | string[]>;
|
||||
|
||||
async connectedCallback(): Promise<void> {
|
||||
async connectedCallback() {
|
||||
this.title = this.getAttribute("title") || "";
|
||||
this.triples = JSON.parse(this.getAttribute("triples") || "[]");
|
||||
this.key = this.getAttribute("key") as SubpathFeatureKey;
|
||||
@@ -53,15 +53,15 @@ class SubpathDemo extends HTMLElement {
|
||||
this.drawDemo(figure);
|
||||
}
|
||||
|
||||
render(): void {
|
||||
render() {
|
||||
renderDemo(this);
|
||||
}
|
||||
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]): void {
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]) {
|
||||
figure.innerHTML = this.callback(this.subpath, this.sliderData, mouseLocation);
|
||||
}
|
||||
|
||||
onMouseDown(event: MouseEvent): void {
|
||||
onMouseDown(event: MouseEvent) {
|
||||
const mx = event.offsetX;
|
||||
const my = event.offsetY;
|
||||
for (let controllerIndex = 0; controllerIndex < this.triples.length; controllerIndex += 1) {
|
||||
@@ -75,11 +75,11 @@ class SubpathDemo extends HTMLElement {
|
||||
}
|
||||
}
|
||||
|
||||
onMouseUp(): void {
|
||||
onMouseUp() {
|
||||
this.activeIndex = undefined;
|
||||
}
|
||||
|
||||
onMouseMove(event: MouseEvent): void {
|
||||
onMouseMove(event: MouseEvent) {
|
||||
const mx = event.offsetX;
|
||||
const my = event.offsetY;
|
||||
const figure = event.currentTarget as HTMLElement;
|
||||
|
||||
@@ -17,7 +17,7 @@ class SubpathDemoPane extends HTMLElement implements DemoPane {
|
||||
|
||||
id!: string;
|
||||
|
||||
connectedCallback(): void {
|
||||
connectedCallback() {
|
||||
this.demos = [
|
||||
{
|
||||
title: "Open Subpath",
|
||||
@@ -52,7 +52,7 @@ class SubpathDemoPane extends HTMLElement implements DemoPane {
|
||||
this.render();
|
||||
}
|
||||
|
||||
render(): void {
|
||||
render() {
|
||||
renderDemoPane(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ window.customElements.define("bezier-demo-pane", BezierDemoPane);
|
||||
window.customElements.define("subpath-demo", SubpathDemo);
|
||||
window.customElements.define("subpath-demo-pane", SubpathDemoPane);
|
||||
|
||||
function renderBezierPane(featureName: BezierFeatureKey, container: HTMLElement | null): void {
|
||||
function renderBezierPane(featureName: BezierFeatureKey, container: HTMLElement | null) {
|
||||
const feature = bezierFeatures[featureName];
|
||||
const demo = document.createElement("bezier-demo-pane");
|
||||
|
||||
@@ -30,7 +30,7 @@ function renderBezierPane(featureName: BezierFeatureKey, container: HTMLElement
|
||||
container?.append(demo);
|
||||
}
|
||||
|
||||
function renderSubpathPane(featureName: SubpathFeatureKey, container: HTMLElement | null): void {
|
||||
function renderSubpathPane(featureName: SubpathFeatureKey, container: HTMLElement | null) {
|
||||
const feature = subpathFeatures[featureName];
|
||||
const demo = document.createElement("subpath-demo-pane");
|
||||
|
||||
@@ -46,7 +46,7 @@ function isUrlSolo(url: string): boolean {
|
||||
return splitHash?.length === 3 && splitHash?.[2] === "solo";
|
||||
}
|
||||
|
||||
window.addEventListener("hashchange", (e: Event): void => {
|
||||
window.addEventListener("hashchange", (e: Event) => {
|
||||
const hashChangeEvent = e as HashChangeEvent;
|
||||
const isOldHashSolo = isUrlSolo(hashChangeEvent.oldURL);
|
||||
const isNewHashSolo = isUrlSolo(hashChangeEvent.newURL);
|
||||
@@ -57,7 +57,7 @@ window.addEventListener("hashchange", (e: Event): void => {
|
||||
}
|
||||
});
|
||||
|
||||
function renderExamples(): void {
|
||||
function renderExamples() {
|
||||
const hash = window.location.hash;
|
||||
const splitHash = hash.split("/");
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Demo, DemoPane, InputOption } from "@/utils/types";
|
||||
|
||||
export function renderDemo(demo: Demo): void {
|
||||
export function renderDemo(demo: Demo) {
|
||||
const header = document.createElement("h4");
|
||||
header.className = "demo-header";
|
||||
header.innerText = demo.title;
|
||||
@@ -47,7 +47,7 @@ export function renderDemo(demo: Demo): void {
|
||||
selectInput.disabled = true;
|
||||
}
|
||||
|
||||
selectInput.addEventListener("change", (event: Event): void => {
|
||||
selectInput.addEventListener("change", (event: Event) => {
|
||||
demo.sliderData[inputOption.variable] = Number((event.target as HTMLInputElement).value);
|
||||
demo.drawDemo(figure);
|
||||
});
|
||||
@@ -65,7 +65,7 @@ export function renderDemo(demo: Demo): void {
|
||||
const ratio = (Number(inputOption.default) - Number(inputOption.min)) / range;
|
||||
sliderInput.style.setProperty("--range-ratio", String(ratio));
|
||||
|
||||
sliderInput.addEventListener("input", (event: Event): void => {
|
||||
sliderInput.addEventListener("input", (event: Event) => {
|
||||
const target = event.target as HTMLInputElement;
|
||||
demo.sliderData[inputOption.variable] = Number(target.value);
|
||||
const data = demo.sliderData[inputOption.variable];
|
||||
@@ -86,7 +86,7 @@ export function renderDemo(demo: Demo): void {
|
||||
demo.append(parentSliderContainer);
|
||||
}
|
||||
|
||||
export function renderDemoPane(demoPane: DemoPane): void {
|
||||
export function renderDemoPane(demoPane: DemoPane) {
|
||||
const container = document.createElement("div");
|
||||
container.className = "demo-pane-container";
|
||||
|
||||
|
||||
@@ -79,10 +79,10 @@ export interface Demo extends HTMLElement {
|
||||
sliderData: Record<string, number>;
|
||||
sliderUnits: Record<string, string | string[]>;
|
||||
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]): void;
|
||||
onMouseDown(event: MouseEvent): void;
|
||||
onMouseUp(): void;
|
||||
onMouseMove(event: MouseEvent): void;
|
||||
drawDemo(figure: HTMLElement, mouseLocation?: [number, number]);
|
||||
onMouseDown(event: MouseEvent);
|
||||
onMouseUp();
|
||||
onMouseMove(event: MouseEvent);
|
||||
getSliderUnit(sliderValue: number, variable: string): string;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user