diff --git a/.eslintrc.json b/.eslintrc.json index 87173102a0f9..5e7a61e610c7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -5,7 +5,7 @@ "es2020": true, "node": true }, - "extends": "@apify/eslint-config-ts", + "extends": ["@apify/eslint-config-ts", "prettier"], "parserOptions": { "project": "./tsconfig.eslint.json", "ecmaVersion": 2022 diff --git a/biome.json b/biome.json new file mode 100644 index 000000000000..254f02fd6a4c --- /dev/null +++ b/biome.json @@ -0,0 +1,15 @@ +{ + "formatter": { + "ignore": ["website/**", "packages/*/dist/**"] + }, + "javascript": { + "formatter": { + "quoteStyle": "single", + "semicolons": "always", + "trailingComma": "all", + "lineWidth": 120, + "indentStyle": "space", + "indentWidth": 4 + } + } +} diff --git a/package.json b/package.json index be04e85926a7..dd4cd0e862e2 100644 --- a/package.json +++ b/package.json @@ -48,12 +48,15 @@ "release:prod": "yarn build && yarn publish:prod", "release:pin-versions": "turbo run copy -- -- --pin-versions", "lint": "eslint \"packages/**/*.ts\" \"test/**/*.ts\"", - "lint:fix": "eslint \"packages/**/*.ts\" \"test/**/*.ts\" --fix" + "lint:fix": "eslint \"packages/**/*.ts\" \"test/**/*.ts\" --fix", + "format": "biome format --write .", + "format:check": "biome format ." }, "devDependencies": { "@apify/eslint-config-ts": "^0.4.0", "@apify/log": "^2.4.0", "@apify/tsconfig": "^0.1.0", + "@biomejs/biome": "^1.5.3", "@commitlint/config-conventional": "^18.0.0", "@playwright/browser-chromium": "1.41.2", "@playwright/browser-firefox": "1.41.2", @@ -88,6 +91,7 @@ "cross-env": "^7.0.3", "deep-equal": "^2.0.5", "eslint": "^8.52.0", + "eslint-config-prettier": "^9.1.0", "express": "^4.18.1", "fs-extra": "^11.0.0", "gen-esm-wrapper": "^1.1.3", diff --git a/yarn.lock b/yarn.lock index 84746c6e4953..1ed6e4767500 100644 --- a/yarn.lock +++ b/yarn.lock @@ -93,6 +93,16 @@ __metadata: languageName: node linkType: hard +"@apify/log@npm:^2.4.9": + version: 2.4.9 + resolution: "@apify/log@npm:2.4.9" + dependencies: + "@apify/consts": "npm:^2.26.0" + ansi-colors: "npm:^4.1.1" + checksum: 10c0/2cc8ac30bcf540f6e3729701e8965941a6fb02eee2965237a2c53380efac64015a57a2017f3ca6380e8b7352b21bc8ee4ce3adcf565b069c0598d07b5feba9f0 + languageName: node + linkType: hard + "@apify/ps-tree@npm:^1.2.0": version: 1.2.0 resolution: "@apify/ps-tree@npm:1.2.0" @@ -128,7 +138,7 @@ __metadata: languageName: node linkType: hard -"@apify/utilities@npm:^2.10.0, @apify/utilities@npm:^2.7.10, @apify/utilities@npm:^2.9.3": +"@apify/utilities@npm:^2.10.0": version: 2.10.0 resolution: "@apify/utilities@npm:2.10.0" dependencies: @@ -138,6 +148,16 @@ __metadata: languageName: node linkType: hard +"@apify/utilities@npm:^2.7.10, @apify/utilities@npm:^2.9.3": + version: 2.9.9 + resolution: "@apify/utilities@npm:2.9.9" + dependencies: + "@apify/consts": "npm:^2.26.0" + "@apify/log": "npm:^2.4.9" + checksum: 10c0/7c31ca9b8bb85e7eaa5026b9e39a059bd8536f37a837c1410ca08730d9ddcc33fd895d1f599f47c3d1bc7019f2c1169ee57de6d9c628256e35c1ef3c0cf0e233 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" @@ -209,6 +229,97 @@ __metadata: languageName: node linkType: hard +"@biomejs/biome@npm:^1.5.3": + version: 1.5.3 + resolution: "@biomejs/biome@npm:1.5.3" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:1.5.3" + "@biomejs/cli-darwin-x64": "npm:1.5.3" + "@biomejs/cli-linux-arm64": "npm:1.5.3" + "@biomejs/cli-linux-arm64-musl": "npm:1.5.3" + "@biomejs/cli-linux-x64": "npm:1.5.3" + "@biomejs/cli-linux-x64-musl": "npm:1.5.3" + "@biomejs/cli-win32-arm64": "npm:1.5.3" + "@biomejs/cli-win32-x64": "npm:1.5.3" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 10c0/470d0707fda5f029380648049e9eafdec4579d96b199a6f92401f67524b6739c136f139898db77f3fc2633ba5f56bdfb1d5193dacde31aff9811924d0ac32ddc + languageName: node + linkType: hard + +"@biomejs/cli-darwin-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-darwin-arm64@npm:1.5.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-darwin-x64@npm:1.5.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64-musl@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-arm64-musl@npm:1.5.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-arm64@npm:1.5.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64-musl@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-x64-musl@npm:1.5.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-x64@npm:1.5.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-win32-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-win32-arm64@npm:1.5.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-win32-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-win32-x64@npm:1.5.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@commitlint/cli@npm:^18.6.1": version: 18.6.1 resolution: "@commitlint/cli@npm:18.6.1" @@ -654,6 +765,7 @@ __metadata: "@apify/eslint-config-ts": "npm:^0.4.0" "@apify/log": "npm:^2.4.0" "@apify/tsconfig": "npm:^0.1.0" + "@biomejs/biome": "npm:^1.5.3" "@commitlint/config-conventional": "npm:^18.0.0" "@playwright/browser-chromium": "npm:1.41.2" "@playwright/browser-firefox": "npm:1.41.2" @@ -688,6 +800,7 @@ __metadata: cross-env: "npm:^7.0.3" deep-equal: "npm:^2.0.5" eslint: "npm:^8.52.0" + eslint-config-prettier: "npm:^9.1.0" express: "npm:^4.18.1" fs-extra: "npm:^11.0.0" gen-esm-wrapper: "npm:^1.1.3" @@ -4980,6 +5093,17 @@ __metadata: languageName: node linkType: hard +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + "eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" @@ -10958,7 +11082,7 @@ __metadata: languageName: node linkType: hard -"streamx@npm:^2.13.0, streamx@npm:^2.15.0": +"streamx@npm:^2.13.0": version: 2.16.1 resolution: "streamx@npm:2.16.1" dependencies: @@ -10972,6 +11096,16 @@ __metadata: languageName: node linkType: hard +"streamx@npm:^2.15.0": + version: 2.15.6 + resolution: "streamx@npm:2.15.6" + dependencies: + fast-fifo: "npm:^1.1.0" + queue-tick: "npm:^1.0.1" + checksum: 10c0/3a763cbd96d335de7f28e211f080273fa7f077999284ad82884bdf331d5fcf240be33414b0eedecaa78a39ad10d833403c82c162f556f166bc8292447e84ef66 + languageName: node + linkType: hard + "string-argv@npm:0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2"