{ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "vcs": { "enabled": true, "clientKind": "git", "root": ".", "useIgnoreFile": true, "defaultBranch": "main" }, "files": { "ignoreUnknown": true, "ignore": [ // Build output "**/dist/*", "**/lib/*", "**/*.done.build.log", // test collateral "**/_package.json", "**/fluid-runner/src/test/localOdspSnapshots/**", "**/fluid-runner/src/test/telemetryExpectedOutputs/**", "**/snapshots/*.json", // Generated files "**/src/**/test/types/*.generated.ts", "**/src/packageVersion.ts", // Dependencies "**/node_modules/*", // Used by API-Extractor "**/_api-extractor-temp/*", "**/api-report/*", "**/*.api.md", // Templates ".changeset/templates/", "*.hbs", // Test json "build-tools/packages/build-tools/src/test/data/**", "experimental/dds/tree/src/test/documents/**", "packages/dds/map/src/test/mocha/snapshots/**/*.json", "packages/dds/matrix/src/test/results/**/*.json", "packages/dds/merge-tree/src/test/literature/*.txt", "packages/dds/merge-tree/src/test/results/*.json", "packages/dds/sequence/src/test/snapshots/**/*.json", "packages/dds/sequence/src/test/results/**/*.json", "packages/dds/sequence/src/test/fuzz/**/*.json", "packages/dds/tree/src/test/snapshots/**/*.json", "packages/dds/tree/src/test/shared-tree/fuzz/failures/**/*.json", "packages/drivers/odsp-driver/src/test/**/*.json", "packages/framework/attributor/src/test/attribution/documents/**/*.json", "packages/test/snapshots/content/**", "packages/tools/fluid-runner/src/test/localOdspSnapshots/**", "packages/tools/fluid-runner/src/test/telemetryExpectedOutputs/**", "tools/api-markdown-documenter/src/test/snapshots/**", // Generated type-tests "**/*.generated.ts", // Generated bundle analysis files "**/bundleAnalysis/**", // Generated oclif manifest files "**/oclif.manifest.json", // es5 build output "packages/framework/data-object-base/es5", // Test coverage reports "**/coverage/*", "**/nyc/*", // Git configuration file ".git-blame-ignore-revs", // Generated by policy-check "**/assertionShortCodesMap.ts", // This is a test file "tools/markdown-magic/test/include.md", // Autogenerated file ".github/fabricbot.json", // These are actually templates, not pure YAML files "**/templates/*.yaml", // These files are auto-generated according to the comments in the files "**/charts/**/Chart.yaml", // Reports generated by dependency-cruiser "**/.dependency-cruiser-known-violations.json", // Paths below are outside the client release group and aren't configured for biome. "common/build/**", "common/lib/**", "docs/**", "server/**", "tools/api-markdown-documenter/**", "tools/benchmark/**", "tools/changelog-generator-wrapper/**", "tools/getkeys/**", "tools/markdown-magic/**", "tools/pipelines/**", "tools/telemetry-generator/**", "tools/test-tools/**" ], "maxSize": 2097152 }, "organizeImports": { "enabled": false }, "linter": { "enabled": false, "rules": { "recommended": true } }, "formatter": { "enabled": true, "ignore": ["**/dist/**", "**/lib/**"], "formatWithErrors": true, "indentStyle": "tab", "lineWidth": 95, "lineEnding": "lf" }, "javascript": { "formatter": { "arrowParentheses": "always", "jsxQuoteStyle": "double", "semicolons": "always", "trailingComma": "all", "quoteProperties": "preserve", "quoteStyle": "double", "bracketSpacing": true } }, "json": { "formatter": { "indentStyle": "tab" } }, "overrides": [ { // @fluid-experimental/tree FORMATTING // This configuration is used to format the @fluid-experimental/tree package, which uses different settings than // most projects. This override is needed to ensure that the formatter is applied correctly when run from the root // of the repo. // // This configuration should be kept up-to-date with the settings in `experimental/dds/tree/biome.jsonc`. "include": ["experimental/dds/tree/**"], "formatter": { "lineWidth": 120 }, "javascript": { "formatter": { "jsxQuoteStyle": "single", "trailingComma": "es5", "quoteStyle": "single" } } }, { // JSONC WITHOUT TRAILING COMMAS JSONC is not a standard, and support for trailing commas is not universal. For // simplicity and safety, we parse most JSONC files in a liberal way -- allowing comments and trailing commas, but // format them conservatively without trailing commas. // // See also: https://github.com/microsoft/vscode/issues/102061 "include": [ "**/*.jsonc", // Tools reading api-extractor config files do not consistently support trailing commas. "**/api-extractor*.json", // Tools reading tsdoc config files do not consistently support trailing commas. "**/tsdoc*.json" ], "json": { "parser": { "allowComments": true, "allowTrailingCommas": true }, "formatter": { "trailingCommas": "none" } } }, { // JSONC WITH TRAILING COMMAS // These JSONC files are known to support trailing commas. "include": [ // vscode config files all support trailing commas. "**/.vscode/*.json", // tsconfig files support trailing commas. "**/tsconfig*.json" ], "json": { "parser": { "allowComments": true, "allowTrailingCommas": true }, "formatter": { "trailingCommas": "all" } } }, { // PACKAGE.JSON // These settings are used to format package.json files in the way npm itself does, with the exception of using // tabs instead of spaces. "include": ["**/package.json"], "json": { "formatter": { "lineWidth": 1 } } } ] }