mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-08-29 02:45:39 -04:00
Migrate the entire monorepo from Biome 2.4.7 to oxlint 1.56.0 (linter) and oxfmt 0.41.0 (formatter) for faster lint/format and broader rule coverage. - Add `.oxlintrc.json` with React, TypeScript, unicorn, import plugins and correctness/suspicious categories - Add `.oxfmtrc.json` with 2-space indent, import sorting, and Tailwind class sorting (all 30+ custom className attributes migrated) - Add `docs/.oxlintrc.json` and `docs/.oxfmtrc.json` with Next.js plugin - Update all 12 workspace package.json scripts: `oxlint`, `oxfmt`, `oxfmt --check` - Add `format:check` turbo task and CI step - Update VS Code settings/extensions to use `oxc.oxc-vscode` - Update CI path triggers from `biome.json` to new config files - Remove all `biome-ignore` comments and fix shadowed variables - Delete `biome.json` and `docs/biome.json` - Reformat entire codebase with oxfmt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { getOidcProviderName, isOidcConfigured, isPasswordLoginDisabled } from "@sofa/auth/config";
|
|
import { getInstanceId, getUserCount, isRegistrationOpen } from "@sofa/core/settings";
|
|
import { isTmdbConfigured } from "@sofa/tmdb/config";
|
|
import { tmdbImageUrl } from "@sofa/tmdb/image";
|
|
|
|
import { os } from "../context";
|
|
|
|
// Well-known TMDB poster paths for the background collage
|
|
const posterPaths = [
|
|
"/qJ2tW6WMUDux911r6m7haRef0WH.jpg",
|
|
"/gEU2QniE6E77NI6lCU6MxlNBvIx.jpg",
|
|
"/rCzpDGLbOoPwLjy3OAm5NUPOTrC.jpg",
|
|
"/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg",
|
|
"/d5NXSklXo0qyIYkgV94XAgMIckC.jpg",
|
|
"/ztkUQFLlC19CCMYHW9o1zWhJRNq.jpg",
|
|
"/7DJKHzAi83BmQrWLrYYOqcoKfhR.jpg",
|
|
"/u3bZgnGQ9T01sWNhyveQz0wH0Hl.jpg",
|
|
"/ggFHVNu6YYI5L9pCfOacjizRGt.jpg",
|
|
"/q6y0Go1tsGEsmtFryDOJo3dEmqu.jpg",
|
|
"/pIkRyD18kl4FhoCNQuWxWu5cBLM.jpg",
|
|
"/saHP97rTPS5eLmrLQEcANmKrsFl.jpg",
|
|
];
|
|
|
|
export const publicInfo = os.system.publicInfo.handler(async () => {
|
|
const posterUrls = posterPaths
|
|
.map((p) => tmdbImageUrl(p, "posters", "w300"))
|
|
.filter(Boolean) as string[];
|
|
|
|
return {
|
|
instanceId: getInstanceId(),
|
|
tmdbConfigured: isTmdbConfigured(),
|
|
userCount: getUserCount(),
|
|
registrationOpen: isRegistrationOpen(),
|
|
posterUrls,
|
|
};
|
|
});
|
|
|
|
export const authConfig = os.system.authConfig.handler(async () => {
|
|
const oidcEnabled = isOidcConfigured();
|
|
return {
|
|
oidcEnabled,
|
|
oidcProviderName: oidcEnabled ? getOidcProviderName() : null,
|
|
passwordLoginDisabled: isPasswordLoginDisabled(),
|
|
registrationOpen: isRegistrationOpen(),
|
|
userCount: getUserCount(),
|
|
};
|
|
});
|