Replace the stagnant Pf2eTools bestiary with Foundry VTT PF2e system data (github.com/foundryvtt/pf2e, v13-dev branch). This gives us 4,355 remaster-era creatures across 49 sources including Monster Core 1+2 and all adventure paths. Changes: - Rewrite index generation script to walk Foundry pack directories - Rewrite PF2e normalization adapter for Foundry JSON shape (system.* fields, items[] for attacks/abilities/spells) - Add stripFoundryTags utility for Foundry HTML + enrichment syntax - Implement multi-file source fetching (one request per creature file) - Add spellcasting section to PF2e stat block (ranked spells + cantrips) - Add saveConditional and hpDetails to PF2e domain type and stat block - Add size and rarity to PF2e trait tags - Filter redundant glossary abilities (healing when in hp.details, spell mechanic reminders, allSaves duplicates) - Add PF2e stat block component tests (22 tests) - Bump IndexedDB cache version to 5 for clean migration Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
133 lines
3.1 KiB
JSON
133 lines
3.1 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
"files": {
|
|
"includes": [
|
|
"**",
|
|
"!**/dist",
|
|
"!.claude",
|
|
"!.specify",
|
|
"!specs",
|
|
"!coverage",
|
|
"!.pnpm-store",
|
|
"!.rodney",
|
|
"!.agent-tests",
|
|
"!data"
|
|
]
|
|
},
|
|
"assist": {
|
|
"enabled": true,
|
|
"actions": {
|
|
"source": {
|
|
"organizeImports": {
|
|
"level": "on"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"css": {
|
|
"parser": {
|
|
"cssModules": false,
|
|
"tailwindDirectives": true
|
|
}
|
|
},
|
|
"formatter": {
|
|
"enabled": true,
|
|
"indentStyle": "tab",
|
|
"lineWidth": 80
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"recommended": true,
|
|
"a11y": {
|
|
"noNoninteractiveElementInteractions": "error"
|
|
},
|
|
"complexity": {
|
|
"noExcessiveCognitiveComplexity": {
|
|
"level": "error",
|
|
"options": {
|
|
"maxAllowedComplexity": 15
|
|
}
|
|
},
|
|
"noUselessStringConcat": "error"
|
|
},
|
|
"correctness": {
|
|
"noNestedComponentDefinitions": "error",
|
|
"noReactPropAssignments": "error"
|
|
},
|
|
"nursery": {
|
|
"noConditionalExpect": "error",
|
|
"noDuplicatedSpreadProps": "error",
|
|
"noFloatingPromises": "error",
|
|
"noLeakedRender": "error",
|
|
"noMisusedPromises": "error",
|
|
"noNestedPromises": "error",
|
|
"noReturnAssign": "error",
|
|
"noScriptUrl": "error",
|
|
"noShadow": "error",
|
|
"noUnnecessaryConditions": "error",
|
|
"noUselessReturn": "error",
|
|
"useArraySome": "error",
|
|
"useArraySortCompare": "error",
|
|
"useAwaitThenable": "error",
|
|
"useErrorCause": "error",
|
|
"useExhaustiveSwitchCases": "error",
|
|
"useFind": "error",
|
|
"useGlobalThis": "error",
|
|
"useNullishCoalescing": "error",
|
|
"useRegexpExec": "error",
|
|
"useSortedClasses": "error",
|
|
"useSpread": "error"
|
|
},
|
|
"performance": {
|
|
"noAwaitInLoops": "error",
|
|
"useTopLevelRegex": "error"
|
|
},
|
|
"style": {
|
|
"noCommonJs": "error",
|
|
"noDoneCallback": "error",
|
|
"noExportedImports": "error",
|
|
"noInferrableTypes": "error",
|
|
"noNamespace": "error",
|
|
"noNegationElse": "error",
|
|
"noNestedTernary": "error",
|
|
"noParameterAssign": "error",
|
|
"noSubstr": "error",
|
|
"noUnusedTemplateLiteral": "error",
|
|
"noUselessElse": "error",
|
|
"noYodaExpression": "error",
|
|
"useAsConstAssertion": "error",
|
|
"useAtIndex": "error",
|
|
"useCollapsedElseIf": "error",
|
|
"useCollapsedIf": "error",
|
|
"useConsistentBuiltinInstantiation": "error",
|
|
"useDefaultParameterLast": "error",
|
|
"useExplicitLengthCheck": "error",
|
|
"useForOf": "error",
|
|
"useFragmentSyntax": "error",
|
|
"useNumberNamespace": "error",
|
|
"useSelfClosingElements": "error",
|
|
"useShorthandAssign": "error",
|
|
"useThrowNewError": "error",
|
|
"useThrowOnlyError": "error",
|
|
"useTrimStartEnd": "error"
|
|
},
|
|
"suspicious": {
|
|
"noAlert": "error",
|
|
"noConstantBinaryExpressions": "error",
|
|
"noDeprecatedImports": "error",
|
|
"noEvolvingTypes": "error",
|
|
"noImportCycles": "error",
|
|
"noReactForwardRef": "error",
|
|
"noSkippedTests": "error",
|
|
"noTemplateCurlyInString": "error",
|
|
"noTsIgnore": "error",
|
|
"noUnusedExpressions": "error",
|
|
"noVar": "error",
|
|
"useAwait": "error",
|
|
"useErrorMessage": "error"
|
|
}
|
|
}
|
|
}
|
|
}
|