0d3cb498a3
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Waiting to run
Test and Publish Multi-arch Docker Image / test (push) Waiting to run
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Blocked by required conditions
Validate Renovate Config / Validate Renovate Configuration (push) Waiting to run
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
376 lines
9.4 KiB
JSON
376 lines
9.4 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
|
|
"vcs": {
|
|
"enabled": true,
|
|
"clientKind": "git",
|
|
"useIgnoreFile": true
|
|
},
|
|
"files": {
|
|
"ignoreUnknown": false,
|
|
"includes": [
|
|
"**/*.js",
|
|
"**/*.jsx",
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.json",
|
|
"**/*.jsonc",
|
|
"**/*.grit",
|
|
"**/*.mjs",
|
|
"**/*.cjs",
|
|
"!!.codex",
|
|
"!!drizzle",
|
|
"!!src/app/src/polyfills",
|
|
"!!**/node_modules",
|
|
"!!**/dist",
|
|
"!!**/build",
|
|
"!!**/public",
|
|
"!!examples/config-multi-turn/prompt.json",
|
|
"!!examples/openai-chat-history/prompt.json",
|
|
"!!test/fixtures/rubric-json-template/**/*.json",
|
|
// Excluded due to stack overflow crash in biome - see https://github.com/biomejs/biome/issues/8783
|
|
"!!src/redteam/shared/runtimeTransform.ts",
|
|
"!!plugins/promptfoo/skills/promptfoo-provider-setup/scripts/openapi-operation-to-config.mjs",
|
|
"!!plugins/promptfoo/skills/promptfoo-redteam-setup/scripts/openapi-operation-to-redteam-config.mjs"
|
|
]
|
|
},
|
|
"formatter": {
|
|
"enabled": true,
|
|
"formatWithErrors": false,
|
|
"indentStyle": "space",
|
|
"indentWidth": 2,
|
|
"lineWidth": 100,
|
|
"lineEnding": "lf"
|
|
},
|
|
"assist": {
|
|
"actions": {
|
|
"source": {
|
|
"noDuplicateClasses": "on",
|
|
"organizeImports": {
|
|
"level": "on",
|
|
"options": {
|
|
"groups": [
|
|
{
|
|
"type": false,
|
|
"source": ["react", "react-dom", "react/**", "react-dom/**"]
|
|
},
|
|
["react", "react-dom", "react/**", "react-dom/**"],
|
|
":BLANK_LINE:",
|
|
{
|
|
"type": false,
|
|
"source": [":NODE:", ":BUN:"]
|
|
},
|
|
[":NODE:", ":BUN:"],
|
|
":BLANK_LINE:",
|
|
{
|
|
"type": false,
|
|
"source": ["**"]
|
|
},
|
|
[
|
|
"**",
|
|
"!./**",
|
|
"!../**",
|
|
"!src/**",
|
|
"!test/**",
|
|
"!examples/**",
|
|
"!react",
|
|
"!react-dom",
|
|
"!react/**",
|
|
"!react-dom/**"
|
|
],
|
|
":BLANK_LINE:",
|
|
{
|
|
"type": false,
|
|
"source": ["src/**", "test/**", "examples/**"]
|
|
},
|
|
["src/**", "test/**", "examples/**"],
|
|
":BLANK_LINE:",
|
|
{
|
|
"type": false,
|
|
"source": ["./**", "../**"]
|
|
},
|
|
["./**", "../**"]
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"preset": "none",
|
|
"complexity": {
|
|
"noUselessConstructor": "error",
|
|
"noUselessRename": "error",
|
|
"noUselessTernary": "error",
|
|
"noUselessFragments": "error",
|
|
"useOptionalChain": "off",
|
|
"noExcessiveCognitiveComplexity": {
|
|
"level": "warn",
|
|
"options": {
|
|
"maxAllowedComplexity": 30
|
|
}
|
|
}
|
|
},
|
|
"correctness": {
|
|
"noUnusedVariables": "error",
|
|
"noUnusedImports": "error",
|
|
"useExhaustiveDependencies": "error",
|
|
"noUnusedFunctionParameters": "error",
|
|
"useJsxKeyInIterable": "error",
|
|
"useIsNan": "error"
|
|
},
|
|
"style": {
|
|
"noEnum": "error",
|
|
"noNegationElse": "error",
|
|
"useConst": "error",
|
|
"useBlockStatements": "error",
|
|
"useShorthandAssign": "off",
|
|
"useShorthandFunctionType": "off",
|
|
"useTemplate": "off",
|
|
"useNumberNamespace": "off",
|
|
"useSingleVarDeclarator": "off",
|
|
"useImportType": "off",
|
|
"useNodejsImportProtocol": "off",
|
|
"noNonNullAssertion": "off",
|
|
"noRestrictedGlobals": {
|
|
"level": "error",
|
|
"options": {
|
|
"deniedGlobals": {
|
|
"fetch": "Use fetchWithProxy() instead of global fetch()."
|
|
}
|
|
}
|
|
},
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"paths": {
|
|
"node-fetch": "Use fetchWithProxy() (do not import node-fetch directly).",
|
|
"undici": {
|
|
"importNames": ["fetch", "default"],
|
|
"message": "Use fetchWithProxy() instead of undici.fetch."
|
|
},
|
|
"cross-fetch": "Use fetchWithProxy() instead."
|
|
},
|
|
"patterns": [{ "group": ["whatwg-fetch", "isomorphic-fetch"] }]
|
|
}
|
|
}
|
|
},
|
|
"suspicious": {
|
|
"noAsyncPromiseExecutor": "error",
|
|
"noDebugger": "error",
|
|
"noExplicitAny": "error",
|
|
"noArrayIndexKey": "off",
|
|
"noCommentText": "off",
|
|
"noConfusingVoidType": "error",
|
|
"noDuplicateCase": "error",
|
|
"noDuplicateClassMembers": "error",
|
|
"noDuplicateElseIf": "error",
|
|
"noDuplicateJsxProps": "error",
|
|
"noDuplicateObjectKeys": "error",
|
|
"noDuplicateParameters": "error",
|
|
"noDuplicateTestHooks": "error",
|
|
"noFocusedTests": "error",
|
|
"noSkippedTests": "error",
|
|
"noRedundantUseStrict": "error",
|
|
"noThenProperty": "error",
|
|
"useErrorMessage": "warn",
|
|
"useIterableCallbackReturn": "off",
|
|
"noSelfCompare": "error"
|
|
},
|
|
"performance": {
|
|
"noDelete": "off",
|
|
"noBarrelFile": "off",
|
|
"noReExportAll": "off"
|
|
},
|
|
"a11y": {
|
|
"preset": "none",
|
|
"useButtonType": "off"
|
|
},
|
|
"nursery": {
|
|
"noFloatingPromises": "error",
|
|
"noMisusedPromises": "error",
|
|
"noUselessTypeConversion": "error",
|
|
"noIdenticalTestTitle": "error",
|
|
"useReduceTypeParameter": "warn"
|
|
}
|
|
}
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"enabled": true,
|
|
"quoteStyle": "single",
|
|
"jsxQuoteStyle": "double",
|
|
"trailingCommas": "all",
|
|
"semicolons": "always",
|
|
"arrowParentheses": "always",
|
|
"bracketSpacing": true,
|
|
"bracketSameLine": false,
|
|
"quoteProperties": "asNeeded",
|
|
"attributePosition": "auto"
|
|
},
|
|
"parser": {
|
|
"unsafeParameterDecoratorsEnabled": true
|
|
},
|
|
"globals": [
|
|
"process",
|
|
"Buffer",
|
|
"__dirname",
|
|
"__filename",
|
|
"console",
|
|
"global",
|
|
"require",
|
|
"module",
|
|
"exports"
|
|
]
|
|
},
|
|
"css": {
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"includes": [
|
|
"examples/config-multi-turn/prompt.json",
|
|
"examples/openai-chat-history/prompt.json"
|
|
],
|
|
"linter": {
|
|
"enabled": false
|
|
},
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
{
|
|
"includes": ["examples/provider-custom/basic/vercelAiSdkExample.js"],
|
|
"linter": {
|
|
"enabled": false
|
|
},
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
{
|
|
"includes": [".jest/**/*.js"],
|
|
"linter": {
|
|
"enabled": false
|
|
},
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
{
|
|
"includes": ["*.mdc"],
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
{
|
|
"includes": ["*.j2"],
|
|
"formatter": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
{
|
|
"includes": ["test/**/*", "**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],
|
|
"linter": {
|
|
"rules": {
|
|
"correctness": {
|
|
"noUnusedVariables": "error"
|
|
},
|
|
"style": {
|
|
"noRestrictedGlobals": "off"
|
|
},
|
|
"suspicious": {
|
|
"noExplicitAny": "off"
|
|
},
|
|
"nursery": {
|
|
"noFloatingPromises": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": [
|
|
"*.js",
|
|
"*.jsx",
|
|
"*.ts",
|
|
"*.tsx",
|
|
"*.mjs",
|
|
"*.cjs",
|
|
"**/*.js",
|
|
"**/*.jsx",
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.mjs",
|
|
"**/*.cjs"
|
|
],
|
|
"plugins": ["./tools/biome/no-direct-process-env-mutation.grit"]
|
|
},
|
|
{
|
|
"includes": ["src/app/**/*"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedGlobals": "off"
|
|
},
|
|
"performance": {
|
|
"noBarrelFile": "off",
|
|
"noReExportAll": "off"
|
|
},
|
|
"nursery": {
|
|
"noFloatingPromises": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": [
|
|
"src/providers/**/*",
|
|
"src/redteam/**/*",
|
|
"src/util/**/*",
|
|
"src/commands/**/*",
|
|
"src/node/doEval.ts",
|
|
"src/contracts/**/*",
|
|
"src/types/**/*",
|
|
"src/tracing/**/*"
|
|
],
|
|
"linter": {
|
|
"rules": {
|
|
"suspicious": {
|
|
"noExplicitAny": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["examples/**/*", "site/**/*"],
|
|
"linter": {
|
|
"rules": {
|
|
"preset": "none",
|
|
"correctness": {
|
|
"noUnusedImports": "off",
|
|
"noUnusedVariables": "off",
|
|
"noUnusedFunctionParameters": "off"
|
|
},
|
|
"style": {
|
|
"noRestrictedGlobals": "off",
|
|
"useBlockStatements": "off"
|
|
},
|
|
"suspicious": {
|
|
"noExplicitAny": "off"
|
|
},
|
|
"performance": {
|
|
"noBarrelFile": "off",
|
|
"noReExportAll": "off"
|
|
},
|
|
"nursery": {
|
|
"noFloatingPromises": "off"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|