From ee0527f7a1fcd276bf73ed7c98230821217d74e2 Mon Sep 17 00:00:00 2001 From: Yuri Sulyma Date: Mon, 2 Feb 2026 19:20:01 +0100 Subject: [PATCH 1/3] install biome --- package-lock.json | 236 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 237 insertions(+) diff --git a/package-lock.json b/package-lock.json index 22fbb4b6..d5d4cf4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "vue-router": "^4.5.0" }, "devDependencies": { + "@biomejs/biome": "2.3.13", "@eslint/js": "^9.10.0", "@playwright/browser-chromium": "^1.46.1", "@playwright/browser-firefox": "^1.46.1", @@ -115,6 +116,169 @@ "node": ">=6.9.0" } }, + "node_modules/@biomejs/biome": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.13.tgz", + "integrity": "sha512-Fw7UsV0UAtWIBIm0M7g5CRerpu1eKyKAXIazzxhbXYUyMkwNrkX/KLkGI7b+uVDQ5cLUMfOC9vR60q9IDYDstA==", + "dev": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "2.3.13", + "@biomejs/cli-darwin-x64": "2.3.13", + "@biomejs/cli-linux-arm64": "2.3.13", + "@biomejs/cli-linux-arm64-musl": "2.3.13", + "@biomejs/cli-linux-x64": "2.3.13", + "@biomejs/cli-linux-x64-musl": "2.3.13", + "@biomejs/cli-win32-arm64": "2.3.13", + "@biomejs/cli-win32-x64": "2.3.13" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.13.tgz", + "integrity": "sha512-0OCwP0/BoKzyJHnFdaTk/i7hIP9JHH9oJJq6hrSCPmJPo8JWcJhprK4gQlhFzrwdTBAW4Bjt/RmCf3ZZe59gwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.13.tgz", + "integrity": "sha512-AGr8OoemT/ejynbIu56qeil2+F2WLkIjn2d8jGK1JkchxnMUhYOfnqc9sVzcRxpG9Ycvw4weQ5sprRvtb7Yhcw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.13.tgz", + "integrity": "sha512-xvOiFkrDNu607MPMBUQ6huHmBG1PZLOrqhtK6pXJW3GjfVqJg0Z/qpTdhXfcqWdSZHcT+Nct2fOgewZvytESkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.13.tgz", + "integrity": "sha512-TUdDCSY+Eo/EHjhJz7P2GnWwfqet+lFxBZzGHldrvULr59AgahamLs/N85SC4+bdF86EhqDuuw9rYLvLFWWlXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.13.tgz", + "integrity": "sha512-s+YsZlgiXNq8XkgHs6xdvKDFOj/bwTEevqEY6rC2I3cBHbxXYU1LOZstH3Ffw9hE5tE1sqT7U23C00MzkXztMw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.13.tgz", + "integrity": "sha512-0bdwFVSbbM//Sds6OjtnmQGp4eUjOTt6kHvR/1P0ieR9GcTUAlPNvPC3DiavTqq302W34Ae2T6u5VVNGuQtGlQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.13.tgz", + "integrity": "sha512-QweDxY89fq0VvrxME+wS/BXKmqMrOTZlN9SqQ79kQSIc3FrEwvW/PvUegQF6XIVaekncDykB5dzPqjbwSKs9DA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.13.tgz", + "integrity": "sha512-trDw2ogdM2lyav9WFQsdsfdVy1dvZALymRpgmWsvSez0BJzBjulhOT/t+wyKeh3pZWvwP3VMs1SoOKwO3wecMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", @@ -6053,6 +6217,78 @@ "@babel/helper-validator-identifier": "^7.28.5" } }, + "@biomejs/biome": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.13.tgz", + "integrity": "sha512-Fw7UsV0UAtWIBIm0M7g5CRerpu1eKyKAXIazzxhbXYUyMkwNrkX/KLkGI7b+uVDQ5cLUMfOC9vR60q9IDYDstA==", + "dev": true, + "requires": { + "@biomejs/cli-darwin-arm64": "2.3.13", + "@biomejs/cli-darwin-x64": "2.3.13", + "@biomejs/cli-linux-arm64": "2.3.13", + "@biomejs/cli-linux-arm64-musl": "2.3.13", + "@biomejs/cli-linux-x64": "2.3.13", + "@biomejs/cli-linux-x64-musl": "2.3.13", + "@biomejs/cli-win32-arm64": "2.3.13", + "@biomejs/cli-win32-x64": "2.3.13" + } + }, + "@biomejs/cli-darwin-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.13.tgz", + "integrity": "sha512-0OCwP0/BoKzyJHnFdaTk/i7hIP9JHH9oJJq6hrSCPmJPo8JWcJhprK4gQlhFzrwdTBAW4Bjt/RmCf3ZZe59gwQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-darwin-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.13.tgz", + "integrity": "sha512-AGr8OoemT/ejynbIu56qeil2+F2WLkIjn2d8jGK1JkchxnMUhYOfnqc9sVzcRxpG9Ycvw4weQ5sprRvtb7Yhcw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.13.tgz", + "integrity": "sha512-xvOiFkrDNu607MPMBUQ6huHmBG1PZLOrqhtK6pXJW3GjfVqJg0Z/qpTdhXfcqWdSZHcT+Nct2fOgewZvytESkw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64-musl": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.13.tgz", + "integrity": "sha512-TUdDCSY+Eo/EHjhJz7P2GnWwfqet+lFxBZzGHldrvULr59AgahamLs/N85SC4+bdF86EhqDuuw9rYLvLFWWlXA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.13.tgz", + "integrity": "sha512-s+YsZlgiXNq8XkgHs6xdvKDFOj/bwTEevqEY6rC2I3cBHbxXYU1LOZstH3Ffw9hE5tE1sqT7U23C00MzkXztMw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64-musl": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.13.tgz", + "integrity": "sha512-0bdwFVSbbM//Sds6OjtnmQGp4eUjOTt6kHvR/1P0ieR9GcTUAlPNvPC3DiavTqq302W34Ae2T6u5VVNGuQtGlQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-arm64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.13.tgz", + "integrity": "sha512-QweDxY89fq0VvrxME+wS/BXKmqMrOTZlN9SqQ79kQSIc3FrEwvW/PvUegQF6XIVaekncDykB5dzPqjbwSKs9DA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-x64": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.13.tgz", + "integrity": "sha512-trDw2ogdM2lyav9WFQsdsfdVy1dvZALymRpgmWsvSez0BJzBjulhOT/t+wyKeh3pZWvwP3VMs1SoOKwO3wecMQ==", + "dev": true, + "optional": true + }, "@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", diff --git a/package.json b/package.json index 4a4010d8..e1ae456f 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "vue-router": "^4.5.0" }, "devDependencies": { + "@biomejs/biome": "2.3.13", "@eslint/js": "^9.10.0", "@playwright/browser-chromium": "^1.46.1", "@playwright/browser-firefox": "^1.46.1", From 6c83da5077acb2804b2e296cf302935385f85a85 Mon Sep 17 00:00:00 2001 From: Yuri Sulyma Date: Mon, 2 Feb 2026 19:31:10 +0100 Subject: [PATCH 2/3] add biome-ignore comments --- biome.json | 70 +++++++++++++++++++++++++++++++++++ src/sequences/simpleFactor.ts | 1 + src/shared/ParamType.ts | 1 + 3 files changed, 72 insertions(+) create mode 100644 biome.json diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..f426bcf5 --- /dev/null +++ b/biome.json @@ -0,0 +1,70 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.3.13/schema.json", + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "files": { "ignoreUnknown": false }, + "formatter": { + "enabled": true, + "formatWithErrors": false, + "indentStyle": "space", + "indentWidth": 4, + "lineEnding": "lf", + "lineWidth": 78, + "attributePosition": "auto", + "bracketSameLine": false, + "bracketSpacing": true, + "expand": "auto", + "useEditorconfig": true, + "includes": [ + "**", + "!**/*.el", + "!**/*.ico", + "!**/*.jpg", + "!**/*.png", + "!**/*.svg", + "!**/*.ttf", + "!**/*.txt", + "!**/*.generator", + "!**/*.local", + "!**/*~", + "!**/.env", + "!**/.env.*", + "!.github/workflows", + "!**/.gitignore", + "!**/.husky", + "!**/.prettierignore", + "!**/.vscode", + "!**/coverage", + "!**/dist", + "!**/index.html", + "!**/node_modules", + "!**/package-lock.json", + "!e2e/*-snapshots", + "!e2e/results", + "!**/site" + ] + }, + "linter": { "enabled": false }, + "javascript": { + "formatter": { + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "es5", + "semicolons": "asNeeded", + "arrowParentheses": "asNeeded", + "bracketSameLine": false, + "quoteStyle": "single", + "attributePosition": "auto", + "bracketSpacing": false + } + }, + "html": { + "formatter": { + "indentScriptAndStyle": true, + "selfCloseVoidElements": "always" + } + }, + "assist": { + "enabled": true, + "actions": { "source": { "organizeImports": "off" } } + } +} diff --git a/src/sequences/simpleFactor.ts b/src/sequences/simpleFactor.ts index 22b28f13..aa4ca74c 100644 --- a/src/sequences/simpleFactor.ts +++ b/src/sequences/simpleFactor.ts @@ -12,6 +12,7 @@ import type {Factorization} from './SequenceInterface' // up to a million. (Since otherwise prettier insists on just one bigint // per line, we mark the list as follows:) // prettier-ignore +// biome-ignore format: don't make a zillion lines const smallPrimes = [ 2n, 3n, 5n, 7n, 11n, 13n, 17n, 19n, 23n, 29n, 31n, 37n, 41n, 43n, 47n, 53n, 59n, 61n, 67n, 71n, 73n, 79n, 83n, 89n, 97n, 101n, 103n, 107n, 109n, diff --git a/src/shared/ParamType.ts b/src/shared/ParamType.ts index fc0248de..4fef2ca9 100644 --- a/src/shared/ParamType.ts +++ b/src/shared/ParamType.ts @@ -16,6 +16,7 @@ import {ValidationStatus} from './ValidationStatus' */ // prettier-ignore +// biome-ignore format: otherwise the brace position is awkward export enum ParamType { /** table header to extract: | ParamType | Associated TypeScript type | Rendering in UI | Comments | | --------- | -------------------------- | --------------- | -------- | */ From 5259599da2bae9e869d958d91269ea98558f3efb Mon Sep 17 00:00:00 2001 From: Yuri Sulyma Date: Mon, 2 Feb 2026 19:35:16 +0100 Subject: [PATCH 3/3] run biome --- biome.json | 55 ++++++++++++++++--------------- src/visualizers-workbench/Grid.ts | 4 +-- 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/biome.json b/biome.json index f426bcf5..c3139bc9 100644 --- a/biome.json +++ b/biome.json @@ -1,19 +1,19 @@ { "$schema": "https://biomejs.dev/schemas/2.3.13/schema.json", - "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "assist": { + "actions": { + "source": { "organizeImports": "off" } + }, + "enabled": true + }, "files": { "ignoreUnknown": false }, "formatter": { - "enabled": true, - "formatWithErrors": false, - "indentStyle": "space", - "indentWidth": 4, - "lineEnding": "lf", - "lineWidth": 78, "attributePosition": "auto", "bracketSameLine": false, "bracketSpacing": true, + "enabled": true, "expand": "auto", - "useEditorconfig": true, + "formatWithErrors": false, "includes": [ "**", "!**/*.el", @@ -41,30 +41,33 @@ "!e2e/*-snapshots", "!e2e/results", "!**/site" - ] + ], + "indentStyle": "space", + "indentWidth": 4, + "lineEnding": "lf", + "lineWidth": 78, + "useEditorconfig": true + }, + "html": { + "formatter": { + "indentScriptAndStyle": true, + "selfCloseVoidElements": "always" + } }, - "linter": { "enabled": false }, "javascript": { "formatter": { - "jsxQuoteStyle": "double", - "quoteProperties": "asNeeded", - "trailingCommas": "es5", - "semicolons": "asNeeded", "arrowParentheses": "asNeeded", + "attributePosition": "auto", "bracketSameLine": false, + "bracketSpacing": false, + "jsxQuoteStyle": "double", + "operatorLinebreak": "before", + "quoteProperties": "asNeeded", "quoteStyle": "single", - "attributePosition": "auto", - "bracketSpacing": false - } - }, - "html": { - "formatter": { - "indentScriptAndStyle": true, - "selfCloseVoidElements": "always" + "semicolons": "asNeeded", + "trailingCommas": "es5" } }, - "assist": { - "enabled": true, - "actions": { "source": { "organizeImports": "off" } } - } + "linter": { "enabled": false }, + "vcs": { "clientKind": "git", "enabled": true, "useIgnoreFile": true } } diff --git a/src/visualizers-workbench/Grid.ts b/src/visualizers-workbench/Grid.ts index 4e1b552e..f4f86c3f 100644 --- a/src/visualizers-workbench/Grid.ts +++ b/src/visualizers-workbench/Grid.ts @@ -859,8 +859,8 @@ earlier ones that use the _same_ style.) if (this.pathType === PathType.Spiral) { // Turn at the numberToTurn at which increases every other turn if (iteration === this.numberToTurnAtForSpiral) { - this.numberToTurnAtForSpiral - += this.incrementForNumberToTurnAt + this.numberToTurnAtForSpiral += + this.incrementForNumberToTurnAt if (this.whetherIncrementShouldIncrement) { this.incrementForNumberToTurnAt += 1 this.whetherIncrementShouldIncrement = false