Files
compiler-explorer/biome.json
Matt Godbolt 03d20c5fde Move assert.ts and rison.ts to shared/ directory (#8246)
## Summary
Moves `static/assert.ts` and `static/rison.ts` to `shared/` directory to
make them available to both frontend and backend code without browser
dependencies. Updates all import paths across the codebase (~47 files).

## Motivation
This refactoring eliminates browser dependencies in these utilities,
allowing them to be imported by Node.js contexts (like Cypress test
files) without causing module load failures. This is a prerequisite for
upcoming Cypress test improvements.

## Changes
- Move `static/assert.ts` → `shared/assert.ts`
- Move `static/rison.ts` → `shared/rison.ts`  
- Update `biome.json` to allow `hasOwnProperty` in `shared/` directory
- Update all imports across `static/`, `lib/`, and `test/` directories
(47 files changed)

## Benefits
- No functional changes, purely a code reorganization
- Makes these utilities accessible to both frontend and backend without
circular dependencies
- Enables future Cypress improvements that require these utilities in
Node.js context
- All tests pass ✓ (699 tests)

## Test Plan
- [x] TypeScript compilation passes
- [x] Linting passes
- [x] All unit tests pass (699 tests)
- [x] Pre-commit hooks pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-04 10:58:11 -06:00

90 lines
2.0 KiB
JSON

{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"files": {
"includes": [
"cypress/**",
"docs/**",
"lib/**",
"public/**",
"shared/**",
"static/**",
"test/**",
"types/**",
"views/**",
"!static/policies/*.html",
"!lib/storage/data/**/*",
"!lib/asm-docs/generated/**/*",
"!test/**/*.json"
]
},
"overrides": [
{
"includes": ["static/**", "shared/**"],
"linter": {
"rules": {
"suspicious": {
"noPrototypeBuiltins": "off"
}
}
}
}
],
"linter": {
"rules": {
"suspicious": {
"noExplicitAny": "off",
"noImplicitAnyLet": "off",
"noAssignInExpressions": "off",
"noControlCharactersInRegex": "off",
"noFallthroughSwitchClause": "off",
"noDoubleEquals": "off"
},
"style": {
"noParameterAssign": "off",
"noNonNullAssertion": "off",
"useImportType": "off",
"useTemplate": "off"
},
"correctness": {
"noUnsafeOptionalChaining": "off",
"noUnusedImports": "error",
"noUnusedFunctionParameters": "off"
},
"performance": {
"noAccumulatingSpread": "off",
"noDelete": "off"
},
"complexity": {
"noStaticOnlyClass": "off",
"noForEach": "off",
"useLiteralKeys": "off",
"noThisInStatic": "off"
}
}
},
"formatter": {
"enabled": true,
"attributePosition": "auto",
"indentStyle": "space",
"indentWidth": 4,
"lineWidth": 120,
"lineEnding": "lf"
},
"javascript": {
"formatter": {
"arrowParentheses": "asNeeded",
"bracketSameLine": false,
"bracketSpacing": false,
"quoteProperties": "asNeeded",
"semicolons": "always",
"trailingCommas": "all",
"quoteStyle": "single"
}
},
"json": {
"formatter": {
"indentWidth": 2
}
}
}