diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 90eab7135..000000000 --- a/.prettierignore +++ /dev/null @@ -1,8 +0,0 @@ -# From .gitignore -node_modules/ -dist/ -pnpm-lock.yaml - -# Specific to prettier -package.json -CHANGELOG.md diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 7041ea263..000000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all", - "semi": false, - "arrowParens": "avoid" -} diff --git a/biome.json b/biome.json new file mode 100644 index 000000000..3376bef5c --- /dev/null +++ b/biome.json @@ -0,0 +1,67 @@ +{ + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "organizeImports": { "enabled": false }, + "linter": { "enabled": false }, + "vcs": { + "clientKind": "git", + "useIgnoreFile": true + }, + "formatter": { + "enabled": true, + "formatWithErrors": false, + "indentStyle": "space", + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 80, + "attributePosition": "auto", + "ignore": [ + ".next/", + "coverage/", + "**/node_modules/", + "**/storybook-static", + "**/dist/", + "**/pnpm-lock.yaml", + "**/package.json", + "**/CHANGELOG.md", + "*.snap", + "**/__snapshots__/" + ] + }, + "javascript": { + "formatter": { + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "all", + "semicolons": "asNeeded", + "arrowParentheses": "asNeeded", + "bracketSpacing": true, + "bracketSameLine": false, + "quoteStyle": "single", + "attributePosition": "auto" + } + }, + "json": { + "formatter": { + "enabled": true + }, + "parser": { + "allowComments": true + }, + "linter": { + "enabled": true + } + }, + "css": { + "formatter": { + "enabled": true, + "quoteStyle": "single" + }, + "linter": { + "enabled": true + }, + "parser": { + "allowWrongLineComments": false, + "cssModules": true + } + } +} diff --git a/package.json b/package.json index f3cc89574..6fb4aa309 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "packageManager": "pnpm@9.2.0", "engines": { "node": ">=20.x", - "pnpm": ">=8.x" + "pnpm": ">=9.x" }, "dependencies": { "@babel/core": "7.24.7", @@ -17,6 +17,7 @@ "@babel/preset-env": "7.24.7", "@babel/preset-react": "7.24.7", "@babel/preset-typescript": "7.24.7", + "@biomejs/biome": "1.8.0", "@changesets/changelog-github": "0.5.0", "@changesets/cli": "2.27.5", "@commitlint/cli": "19.3.0", @@ -40,7 +41,6 @@ "husky": "9.0.11", "lint-staged": "15.2.5", "mockdate": "3.0.5", - "prettier": "3.3.0", "read-pkg": "9.0.1", "shx": "0.3.4", "tstyche": "1.1.0 ", @@ -55,7 +55,7 @@ "lint:fix": "pnpm run lint --fix", "build": "pnpm recursive run build", "commit": "npx git-cz -a", - "format": "prettier --write '**/*.{ts,tsx,js,json,md,mdx}'", + "format": "biome format --write .", "test": "pnpm recursive run test:unit", "test:coverage": "pnpm run test --coverage", "test:types": "tstyche", @@ -78,14 +78,14 @@ }, "lint-staged": { "*.(j|t)s?(x)": [ - "prettier --write", + "biome format --write .", "eslint --fix" ], "*.json": [ - "prettier --write" + "biome format --write ." ], "*.mdx": [ - "prettier --write" + "biome format --write ." ] }, "config": { diff --git a/packages/random-name/.eslintrc.cjs b/packages/random-name/.eslintrc.cjs index f4bd0a419..a2dbbe3d7 100644 --- a/packages/random-name/.eslintrc.cjs +++ b/packages/random-name/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } - ] - } -}; + { packageDir: [__dirname, join(__dirname, '../../')] }, + ], + }, +} diff --git a/packages/use-dataloader/.eslintrc.cjs b/packages/use-dataloader/.eslintrc.cjs index 8e30513c1..a2dbbe3d7 100644 --- a/packages/use-dataloader/.eslintrc.cjs +++ b/packages/use-dataloader/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } + { packageDir: [__dirname, join(__dirname, '../../')] }, ], - } -}; + }, +} diff --git a/packages/use-i18n/.eslintrc.cjs b/packages/use-i18n/.eslintrc.cjs index 8e30513c1..a2dbbe3d7 100644 --- a/packages/use-i18n/.eslintrc.cjs +++ b/packages/use-i18n/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } + { packageDir: [__dirname, join(__dirname, '../../')] }, ], - } -}; + }, +} diff --git a/packages/use-query-params/.eslintrc.cjs b/packages/use-query-params/.eslintrc.cjs index 8e30513c1..a2dbbe3d7 100644 --- a/packages/use-query-params/.eslintrc.cjs +++ b/packages/use-query-params/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } + { packageDir: [__dirname, join(__dirname, '../../')] }, ], - } -}; + }, +} diff --git a/packages/use-random-name/.eslintrc.cjs b/packages/use-random-name/.eslintrc.cjs index f4bd0a419..a2dbbe3d7 100644 --- a/packages/use-random-name/.eslintrc.cjs +++ b/packages/use-random-name/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } - ] - } -}; + { packageDir: [__dirname, join(__dirname, '../../')] }, + ], + }, +} diff --git a/packages/use-storage/.eslintrc.cjs b/packages/use-storage/.eslintrc.cjs index f4bd0a419..a2dbbe3d7 100644 --- a/packages/use-storage/.eslintrc.cjs +++ b/packages/use-storage/.eslintrc.cjs @@ -1,10 +1,10 @@ -const { join } = require('path'); +const { join } = require('path') module.exports = { rules: { 'import/no-extraneous-dependencies': [ 'error', - { packageDir: [__dirname, join(__dirname, '../../')] } - ] - } -}; + { packageDir: [__dirname, join(__dirname, '../../')] }, + ], + }, +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f453d438d..375b8711e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,6 +26,9 @@ importers: '@babel/preset-typescript': specifier: 7.24.7 version: 7.24.7(@babel/core@7.24.7) + '@biomejs/biome': + specifier: 1.8.0 + version: 1.8.0 '@changesets/changelog-github': specifier: 0.5.0 version: 0.5.0 @@ -95,9 +98,6 @@ importers: mockdate: specifier: 3.0.5 version: 3.0.5 - prettier: - specifier: 3.3.0 - version: 3.3.0 read-pkg: specifier: 9.0.1 version: 9.0.1 @@ -477,10 +477,6 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.6': - resolution: {integrity: sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} @@ -1039,6 +1035,59 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@biomejs/biome@1.8.0': + resolution: {integrity: sha512-34xcE2z8GWrIz1sCFEmlHT/+4d+SN7YOqqvzlAKXKvaWPRJ2/NUwxPbRsP01P9QODkQ5bvGvc9rpBihmP+7RJQ==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@1.8.0': + resolution: {integrity: sha512-dBAYzfIJ1JmWigKlWourT3sJ3I60LZPjqNwwlsyFjiv5AV7vPeWlHVVIImV2BpINwNjZQhpXnwDfVnGS4vr7AA==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@1.8.0': + resolution: {integrity: sha512-ZTTSD0bP0nn9UpRDGQrQNTILcYSj+IkxTYr3CAV64DWBDtQBomlk2oVKWzDaA1LOhpAsTh0giLCbPJaVk2jfMQ==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@1.8.0': + resolution: {integrity: sha512-+ee/pZWsvhDv6eRI00krRNSgAg8DKSxzOv3LUsCjto6N1VzqatTASeQv2HRfG1nitf79rRKM75LkMJbqEfiKww==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-arm64@1.8.0': + resolution: {integrity: sha512-cx725jTlJS6dskvJJwwCQaaMRBKE2Qss7ukzmx27Rn/DXRxz6tnnBix4FUGPf1uZfwrERkiJlbWM05JWzpvvXg==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-x64-musl@1.8.0': + resolution: {integrity: sha512-VPA4ocrAOak50VYl8gOAVnjuFFDpIUolShntc/aWM0pZfSIMbRucxnrfUfp44EVwayxjK6ruJTR5xEWj93WvDA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-linux-x64@1.8.0': + resolution: {integrity: sha512-cmgmhlD4QUxMhL1VdaNqnB81xBHb3R7huVNyYnPYzP+AykZ7XqJbPd1KcWAszNjUk2AHdx0aLKEBwCOWemxb2g==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-win32-arm64@1.8.0': + resolution: {integrity: sha512-J31spvlh39FfRHQacYXxJX9PvTCH/a8+2Jx9D1lxw+LSF0JybqZcw/4JrlFUWUl4kF3yv8AuYUK0sENScc3g9w==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@1.8.0': + resolution: {integrity: sha512-uPHHvu76JC1zYe9zZDcOU9PAg+1MZmPuNgWkb5jljaDeATvzLFPB+0nuJTilf603LXL+E8IdPQAO61Wy2VuEJA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@changesets/apply-release-plan@7.0.3': resolution: {integrity: sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==} @@ -4576,11 +4625,6 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.3.0: - resolution: {integrity: sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==} - engines: {node: '>=14'} - hasBin: true - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5534,7 +5578,7 @@ snapshots: '@babel/helper-compilation-targets@7.24.6': dependencies: '@babel/compat-data': 7.24.6 - '@babel/helper-validator-option': 7.24.6 + '@babel/helper-validator-option': 7.24.7 browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -5677,8 +5721,6 @@ snapshots: '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.6': {} - '@babel/helper-validator-option@7.24.7': {} '@babel/helper-wrap-function@7.24.7': @@ -6397,6 +6439,41 @@ snapshots: '@bcoe/v8-coverage@0.2.3': optional: true + '@biomejs/biome@1.8.0': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.8.0 + '@biomejs/cli-darwin-x64': 1.8.0 + '@biomejs/cli-linux-arm64': 1.8.0 + '@biomejs/cli-linux-arm64-musl': 1.8.0 + '@biomejs/cli-linux-x64': 1.8.0 + '@biomejs/cli-linux-x64-musl': 1.8.0 + '@biomejs/cli-win32-arm64': 1.8.0 + '@biomejs/cli-win32-x64': 1.8.0 + + '@biomejs/cli-darwin-arm64@1.8.0': + optional: true + + '@biomejs/cli-darwin-x64@1.8.0': + optional: true + + '@biomejs/cli-linux-arm64-musl@1.8.0': + optional: true + + '@biomejs/cli-linux-arm64@1.8.0': + optional: true + + '@biomejs/cli-linux-x64-musl@1.8.0': + optional: true + + '@biomejs/cli-linux-x64@1.8.0': + optional: true + + '@biomejs/cli-win32-arm64@1.8.0': + optional: true + + '@biomejs/cli-win32-x64@1.8.0': + optional: true + '@changesets/apply-release-plan@7.0.3': dependencies: '@babel/runtime': 7.24.4 @@ -10729,8 +10806,6 @@ snapshots: prettier@2.8.8: {} - prettier@3.3.0: {} - pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1