diff --git a/biome.json b/biome.json index 5e4b9777..6e55f10c 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "$schema": "https://biomejs.dev/schemas/2.1.2/schema.json", "vcs": { "enabled": true, "clientKind": "git", @@ -8,31 +8,34 @@ }, "files": { "ignoreUnknown": false, - "ignore": [ - "tsconfig.base.json", - "tsconfig*.json", - "*.compact", - "artifacts/*", - "coverage/*", - "dist/*", - "reports/*" + "includes": [ + "**", + "!**/tsconfig.base.json", + "!**/tsconfig*.json", + "!**/*.compact", + "!**/artifacts/**/*", + "!**/coverage/**/*", + "!**/dist/**/*", + "!**/reports/**/*" ] }, "formatter": { "enabled": true, "indentStyle": "space", - "ignore": ["package.json"] + "includes": ["**"] }, - "organizeImports": { - "enabled": true + "assist": { + "actions": { + "source": { + "organizeImports": "on" + } + } }, "linter": { "enabled": true, "rules": { "recommended": true, - "a11y": { - "all": false - }, + "a11y": {}, "correctness": { "noUnusedVariables": "error", "noUnusedImports": "error", @@ -56,12 +59,26 @@ }, "style": { "noNonNullAssertion": "off", - "useShorthandArrayType": "error" + "noParameterAssign": "error", + "useAsConstAssertion": "error", + "useDefaultParameterLast": "error", + "useEnumInitializers": "error", + "useSelfClosingElements": "error", + "useSingleVarDeclarator": "error", + "noUnusedTemplateLiteral": "error", + "useNumberNamespace": "error", + "noInferrableTypes": "error", + "noUselessElse": "error", + "useConsistentArrayType": { + "level": "error", + "options": { + "syntax": "shorthand" + } + } }, "suspicious": { "noArrayIndexKey": "off", "noConfusingVoidType": "off", - "noConsoleLog": "error", "noExplicitAny": "off", "noCommentText": "off", "noDuplicateAtImportRules": "off", @@ -72,7 +89,13 @@ "noImportantInKeyframe": "off", "noShorthandPropertyOverrides": "off", "noSuspiciousSemicolonInJsx": "off", - "useErrorMessage": "error" + "useErrorMessage": "error", + "noConsole": { + "level": "error", + "options": { + "allow": ["log"] + } + } }, "security": { "noDangerouslySetInnerHtml": "off", diff --git a/compact/src/Builder.ts b/compact/src/Builder.ts index 48130070..b01455e2 100755 --- a/compact/src/Builder.ts +++ b/compact/src/Builder.ts @@ -132,8 +132,10 @@ export class CompactBuilder { if (isPromisifiedChildProcessError(error)) { this.printOutput(error.stdout, chalk.cyan); this.printOutput(error.stderr, chalk.red); + // biome-ignore lint/suspicious/noConsole: Needed to display build failure reason console.error(chalk.red('[BUILD] ❌ Build failed:', error.message)); } else if (error instanceof Error) { + // biome-ignore lint/suspicious/noConsole: Needed to display build failure reason console.error(chalk.red('[BUILD] ❌ Build failed:', error.message)); } @@ -153,7 +155,6 @@ export class CompactBuilder { .split('\n') .filter((line: string): boolean => line.trim() !== '') .map((line: string): string => ` ${line}`); - // biome-ignore lint/suspicious/noConsoleLog: needed for debugging console.log(colorFn(lines.join('\n'))); } } diff --git a/compact/src/Compiler.ts b/compact/src/Compiler.ts index f58da606..31d1481a 100755 --- a/compact/src/Compiler.ts +++ b/compact/src/Compiler.ts @@ -127,6 +127,7 @@ export class CompactCompiler { } return []; } catch (err) { + // biome-ignore lint/suspicious/noConsole: Displays file path that failed to parse console.warn(`Error accessing ${fullPath}:`, err); return []; } @@ -135,6 +136,7 @@ export class CompactCompiler { const results = await Promise.all(filePromises); return results.flat(); } catch (err) { + // biome-ignore lint/suspicious/noConsole: Displays which directory failed to be read console.error(`Failed to read dir: ${dir}`, err); return []; } @@ -193,7 +195,6 @@ export class CompactCompiler { .split('\n') .filter((line: string): boolean => line.trim() !== '') .map((line: string): string => ` ${line}`); - // biome-ignore lint/suspicious/noConsoleLog: needed for debugging console.log(colorFn(lines.join('\n'))); } } diff --git a/contracts/archive/src/test/simulators/ShieldedTokenSimulator.ts b/contracts/archive/src/test/simulators/ShieldedTokenSimulator.ts index 126cb662..22353ba5 100644 --- a/contracts/archive/src/test/simulators/ShieldedTokenSimulator.ts +++ b/contracts/archive/src/test/simulators/ShieldedTokenSimulator.ts @@ -3,9 +3,9 @@ import { type CircuitResults, type CoinPublicKey, type ContractState, - QueryContext, constructorContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { @@ -13,10 +13,10 @@ import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockShielded, type SendResult, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockShieldedToken/contract/index.cjs'; // Combined imports import { type ShieldedTokenPrivateState, diff --git a/contracts/archive/src/test/utils/test.ts b/contracts/archive/src/test/utils/test.ts index d467e572..31009893 100644 --- a/contracts/archive/src/test/utils/test.ts +++ b/contracts/archive/src/test/utils/test.ts @@ -3,8 +3,8 @@ import { type CoinPublicKey, type ContractAddress, type ContractState, - QueryContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import type { IContractSimulator } from '../types/test'; diff --git a/contracts/fungibleToken/src/test/simulators/FungibleTokenSimulator.ts b/contracts/fungibleToken/src/test/simulators/FungibleTokenSimulator.ts index feba3e79..d0177857 100644 --- a/contracts/fungibleToken/src/test/simulators/FungibleTokenSimulator.ts +++ b/contracts/fungibleToken/src/test/simulators/FungibleTokenSimulator.ts @@ -2,18 +2,18 @@ import { type CircuitContext, type CoinPublicKey, type ContractState, - QueryContext, constructorContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockFungibleToken, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockFungibleToken/contract/index.cjs'; // Combined imports import { type FungibleTokenPrivateState, diff --git a/contracts/fungibleToken/src/test/utils/test.ts b/contracts/fungibleToken/src/test/utils/test.ts index 9fd2d4f6..2fd5a504 100644 --- a/contracts/fungibleToken/src/test/utils/test.ts +++ b/contracts/fungibleToken/src/test/utils/test.ts @@ -3,8 +3,8 @@ import { type CoinPublicKey, type ContractAddress, type ContractState, - QueryContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import type { IContractSimulator } from '../types/test.js'; diff --git a/contracts/multiToken/src/test/simulators/MultiTokenSimulator.ts b/contracts/multiToken/src/test/simulators/MultiTokenSimulator.ts index 07fb53bb..824aa109 100644 --- a/contracts/multiToken/src/test/simulators/MultiTokenSimulator.ts +++ b/contracts/multiToken/src/test/simulators/MultiTokenSimulator.ts @@ -2,18 +2,18 @@ import { type CircuitContext, type CoinPublicKey, type ContractState, - QueryContext, constructorContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockMultiToken, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockMultiToken/contract/index.cjs'; // Combined imports import { type MultiTokenPrivateState, diff --git a/contracts/multiToken/src/test/utils/test.ts b/contracts/multiToken/src/test/utils/test.ts index d467e572..31009893 100644 --- a/contracts/multiToken/src/test/utils/test.ts +++ b/contracts/multiToken/src/test/utils/test.ts @@ -3,8 +3,8 @@ import { type CoinPublicKey, type ContractAddress, type ContractState, - QueryContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import type { IContractSimulator } from '../types/test'; diff --git a/contracts/nonFungibleToken/src/test/nonFungibleToken.test.ts b/contracts/nonFungibleToken/src/test/nonFungibleToken.test.ts index 8fc5e6e9..d58ca060 100644 --- a/contracts/nonFungibleToken/src/test/nonFungibleToken.test.ts +++ b/contracts/nonFungibleToken/src/test/nonFungibleToken.test.ts @@ -2,11 +2,11 @@ import type { CoinPublicKey } from '@midnight-ntwrk/compact-runtime'; import { beforeEach, describe, expect, it } from 'vitest'; import { NonFungibleTokenSimulator } from './simulators/NonFungibleTokenSimulator.js'; import { - ZERO_ADDRESS, - ZERO_KEY, createEitherTestContractAddress, createEitherTestUser, toHexPadded, + ZERO_ADDRESS, + ZERO_KEY, } from './utils/address.js'; // Contract Metadata diff --git a/contracts/nonFungibleToken/src/test/simulators/NonFungibleTokenSimulator.ts b/contracts/nonFungibleToken/src/test/simulators/NonFungibleTokenSimulator.ts index 9d8a1109..82a227ee 100644 --- a/contracts/nonFungibleToken/src/test/simulators/NonFungibleTokenSimulator.ts +++ b/contracts/nonFungibleToken/src/test/simulators/NonFungibleTokenSimulator.ts @@ -2,18 +2,18 @@ import { type CircuitContext, type CoinPublicKey, type ContractState, - QueryContext, constructorContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockNonFungibleToken, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockNonFungibleToken/contract/index.cjs'; // Combined imports import { type NonFungibleTokenPrivateState, diff --git a/contracts/ownable/src/test/simulators/OwnableSimulator.ts b/contracts/ownable/src/test/simulators/OwnableSimulator.ts index 09d74f57..31e18127 100644 --- a/contracts/ownable/src/test/simulators/OwnableSimulator.ts +++ b/contracts/ownable/src/test/simulators/OwnableSimulator.ts @@ -2,18 +2,18 @@ import { type CircuitContext, type CoinPublicKey, type ContractState, - QueryContext, constructorContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockOwnable, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockOwnable/contract/index.cjs'; // Combined imports import { type OwnablePrivateState, diff --git a/contracts/ownable/src/test/utils/test.ts b/contracts/ownable/src/test/utils/test.ts index 9fd2d4f6..2fd5a504 100644 --- a/contracts/ownable/src/test/utils/test.ts +++ b/contracts/ownable/src/test/utils/test.ts @@ -3,8 +3,8 @@ import { type CoinPublicKey, type ContractAddress, type ContractState, - QueryContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import type { IContractSimulator } from '../types/test.js'; diff --git a/contracts/utils/src/test/simulators/InitializableSimulator.ts b/contracts/utils/src/test/simulators/InitializableSimulator.ts index 7061cf45..3546a244 100644 --- a/contracts/utils/src/test/simulators/InitializableSimulator.ts +++ b/contracts/utils/src/test/simulators/InitializableSimulator.ts @@ -1,14 +1,14 @@ import { type CircuitContext, type ContractState, - QueryContext, constructorContext, + QueryContext, sampleContractAddress, } from '@midnight-ntwrk/compact-runtime'; import { type Ledger, - Contract as MockInitializable, ledger, + Contract as MockInitializable, } from '../../artifacts/MockInitializable/contract/index.cjs'; import { type InitializablePrivateState, diff --git a/contracts/utils/src/test/simulators/PausableSimulator.ts b/contracts/utils/src/test/simulators/PausableSimulator.ts index e6a56099..f6fca581 100644 --- a/contracts/utils/src/test/simulators/PausableSimulator.ts +++ b/contracts/utils/src/test/simulators/PausableSimulator.ts @@ -1,14 +1,14 @@ import { type CircuitContext, type ContractState, - QueryContext, constructorContext, + QueryContext, sampleContractAddress, } from '@midnight-ntwrk/compact-runtime'; import { type Ledger, - Contract as MockPausable, ledger, + Contract as MockPausable, } from '../../artifacts/MockPausable/contract/index.cjs'; import { type PausablePrivateState, diff --git a/contracts/utils/src/test/simulators/UtilsSimulator.ts b/contracts/utils/src/test/simulators/UtilsSimulator.ts index 4a607c7a..fbf20c6a 100644 --- a/contracts/utils/src/test/simulators/UtilsSimulator.ts +++ b/contracts/utils/src/test/simulators/UtilsSimulator.ts @@ -1,17 +1,17 @@ import { type CircuitContext, type ContractState, - QueryContext, constructorContext, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import { sampleContractAddress } from '@midnight-ntwrk/zswap'; import { type ContractAddress, type Either, type Ledger, + ledger, Contract as MockUtils, type ZswapCoinPublicKey, - ledger, } from '../../artifacts/MockUtils/contract/index.cjs'; // Combined imports import { type UtilsPrivateState, diff --git a/contracts/utils/src/test/utils/test.ts b/contracts/utils/src/test/utils/test.ts index 9fd2d4f6..2fd5a504 100644 --- a/contracts/utils/src/test/utils/test.ts +++ b/contracts/utils/src/test/utils/test.ts @@ -3,8 +3,8 @@ import { type CoinPublicKey, type ContractAddress, type ContractState, - QueryContext, emptyZswapLocalState, + QueryContext, } from '@midnight-ntwrk/compact-runtime'; import type { IContractSimulator } from '../types/test.js'; diff --git a/package.json b/package.json index cd23552c..0a293a35 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@midnight-ntwrk/compact-runtime": "^0.8.1" }, "devDependencies": { - "@biomejs/biome": "1.9.4", + "@biomejs/biome": "2.1.2", "@midnight-ntwrk/ledger": "^4.0.0", "@midnight-ntwrk/zswap": "^4.0.0", "@types/node": "^22", diff --git a/yarn.lock b/yarn.lock index 2f6d8e73..68bfe065 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,18 +5,18 @@ __metadata: version: 8 cacheKey: 10 -"@biomejs/biome@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/biome@npm:1.9.4" - dependencies: - "@biomejs/cli-darwin-arm64": "npm:1.9.4" - "@biomejs/cli-darwin-x64": "npm:1.9.4" - "@biomejs/cli-linux-arm64": "npm:1.9.4" - "@biomejs/cli-linux-arm64-musl": "npm:1.9.4" - "@biomejs/cli-linux-x64": "npm:1.9.4" - "@biomejs/cli-linux-x64-musl": "npm:1.9.4" - "@biomejs/cli-win32-arm64": "npm:1.9.4" - "@biomejs/cli-win32-x64": "npm:1.9.4" +"@biomejs/biome@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/biome@npm:2.1.2" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:2.1.2" + "@biomejs/cli-darwin-x64": "npm:2.1.2" + "@biomejs/cli-linux-arm64": "npm:2.1.2" + "@biomejs/cli-linux-arm64-musl": "npm:2.1.2" + "@biomejs/cli-linux-x64": "npm:2.1.2" + "@biomejs/cli-linux-x64-musl": "npm:2.1.2" + "@biomejs/cli-win32-arm64": "npm:2.1.2" + "@biomejs/cli-win32-x64": "npm:2.1.2" dependenciesMeta: "@biomejs/cli-darwin-arm64": optional: true @@ -36,62 +36,62 @@ __metadata: optional: true bin: biome: bin/biome - checksum: 10/bd8ff8fb4dc0581bd60a9b9ac28d0cd03ba17c6a1de2ab6228b7fda582079594ceee774f47e41aac2fc6d35de1637def2e32ef2e58fa24e22d1b24ef9ee5cefa + checksum: 10/80aae8ffe580e3e508251bf54628c98ec5d88703cbec6978ee8f668a82efd30591bcc326b69caa89b314dba80fa3ddc706b7613e8942381f36ac3e70191636a5 languageName: node linkType: hard -"@biomejs/cli-darwin-arm64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-darwin-arm64@npm:1.9.4" +"@biomejs/cli-darwin-arm64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-darwin-arm64@npm:2.1.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-darwin-x64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-darwin-x64@npm:1.9.4" +"@biomejs/cli-darwin-x64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-darwin-x64@npm:2.1.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@biomejs/cli-linux-arm64-musl@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.4" +"@biomejs/cli-linux-arm64-musl@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-linux-arm64-musl@npm:2.1.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-arm64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-linux-arm64@npm:1.9.4" +"@biomejs/cli-linux-arm64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-linux-arm64@npm:2.1.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-linux-x64-musl@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.4" +"@biomejs/cli-linux-x64-musl@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-linux-x64-musl@npm:2.1.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-x64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-linux-x64@npm:1.9.4" +"@biomejs/cli-linux-x64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-linux-x64@npm:2.1.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-win32-arm64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-win32-arm64@npm:1.9.4" +"@biomejs/cli-win32-arm64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-win32-arm64@npm:2.1.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-win32-x64@npm:1.9.4": - version: 1.9.4 - resolution: "@biomejs/cli-win32-x64@npm:1.9.4" +"@biomejs/cli-win32-x64@npm:2.1.2": + version: 2.1.2 + resolution: "@biomejs/cli-win32-x64@npm:2.1.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1860,7 +1860,7 @@ __metadata: version: 0.0.0-use.local resolution: "openzeppelin-compact@workspace:." dependencies: - "@biomejs/biome": "npm:1.9.4" + "@biomejs/biome": "npm:2.1.2" "@midnight-ntwrk/compact-runtime": "npm:^0.8.1" "@midnight-ntwrk/ledger": "npm:^4.0.0" "@midnight-ntwrk/zswap": "npm:^4.0.0"