From 875b787b90f5d170e3992ee7f705d930dd530182 Mon Sep 17 00:00:00 2001 From: powerivq Date: Tue, 24 Jun 2025 15:41:25 -0700 Subject: [PATCH] Fix various linter errors, ignore third_party --- .github/workflows/lint.yml | 18 ++++++++++++++++++ package.json | 2 +- src/worker-thread/AnimationFrame.ts | 6 +++--- src/worker-thread/dom/elementSibling.ts | 8 ++++---- src/worker-thread/index.nodom.amp.ts | 10 +++++----- 5 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..aba4f6c1e --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,18 @@ +name: Lint + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [18.x] + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: yarn install + - run: yarn lint \ No newline at end of file diff --git a/package.json b/package.json index 9565f393c..63666e94d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "test": "ava -v", "pre~rollup": "npm-run-all --parallel tsc:worker tsc:main", "~rollup": "rollup --config config/rollup.config.mjs", - "lint:worker": "tslint -c config/tslint.json -p src/worker-thread/", + "lint:worker": "tslint -c config/tslint.json -p src/worker-thread/ -e '**/third_party/**'", "lint:main": "tslint -c config/tslint.json -p src/main-thread/", "lint": "npm-run-all --parallel lint:*", "predemo": "cross-env DEBUG_BUNDLE=true npm-run-all ~rollup", diff --git a/src/worker-thread/AnimationFrame.ts b/src/worker-thread/AnimationFrame.ts index 94f63e3d7..159804070 100644 --- a/src/worker-thread/AnimationFrame.ts +++ b/src/worker-thread/AnimationFrame.ts @@ -7,7 +7,7 @@ interface Queued { const frameDuration = 1000 / 60; let last: number = 0; let id: number = 0; -let queue: Array = []; +const queue: Array = []; /** * Schedules the accumulated callbacks to be fired 16ms after the last round. @@ -18,12 +18,12 @@ function scheduleNext() { last = now + next; setTimeout(function () { - var cp = queue.slice(0); + const cp = queue.slice(0); // Clear queue here to prevent // callbacks from appending listeners // to the current frame's queue queue.length = 0; - for (var i = 0; i < cp.length; i++) { + for (let i = 0; i < cp.length; i++) { if (cp[i].cancelled) { continue; } diff --git a/src/worker-thread/dom/elementSibling.ts b/src/worker-thread/dom/elementSibling.ts index 52fb07a1b..941be718c 100644 --- a/src/worker-thread/dom/elementSibling.ts +++ b/src/worker-thread/dom/elementSibling.ts @@ -3,13 +3,13 @@ import { Element } from './Element.js'; import { Node } from './Node.js'; export function getPreviousElementSibling(node: Node): Element | null { - let parentNodes = node.parentNode && node.parentNode.childNodes; + const parentNodes = node.parentNode && node.parentNode.childNodes; if (!parentNodes) { return null; } for (let i = parentNodes.indexOf(node) - 1; i >= 0; i--) { - let node = parentNodes[i]; + const node = parentNodes[i]; if (node.nodeType === NodeType.ELEMENT_NODE) { return node as Element; } @@ -18,13 +18,13 @@ export function getPreviousElementSibling(node: Node): Element | null { } export function getNextElementSibling(node: Node): Element | null { - let parentNodes = node.parentNode && node.parentNode.childNodes; + const parentNodes = node.parentNode && node.parentNode.childNodes; if (!parentNodes) { return null; } for (let i = parentNodes.indexOf(node) + 1; i < parentNodes.length; i++) { - let node = parentNodes[i]; + const node = parentNodes[i]; if (node.nodeType === NodeType.ELEMENT_NODE) { return node as Element; } diff --git a/src/worker-thread/index.nodom.amp.ts b/src/worker-thread/index.nodom.amp.ts index 9be786ca9..8925734ef 100644 --- a/src/worker-thread/index.nodom.amp.ts +++ b/src/worker-thread/index.nodom.amp.ts @@ -31,11 +31,11 @@ addEventListener('message', (evt: MessageEvent) => callFunctionMessageHandler(ev export const hydrate: HydrateFunction = ( document: DocumentStub, - strings: Object, - hydrateableNode: Object, - cssKeys: Object, - globalEventHandlerKeys: Object, - size: Object, + strings: {}, + hydrateableNode: {}, + cssKeys: {}, + globalEventHandlerKeys: {}, + size: {}, localStorageInit: WorkerStorageInit, sessionStorageInit: WorkerStorageInit, ) => {