Monorepo migration - #78
Conversation
…tion environments
…and command registration details
…ror outcomes, and log duration of requests
…or and info output with detailed event information.
…clarity and consistency in interaction responses
…r code and integrating a new startServer function for improved organization
…h checks, guild retrieval, channel listing, and notification sending
…ng of guild details and text channels for a given guild
…et for authorization
…workspace + gitignore
- New packages/lint-config holds the core app's oxlint base + oxfmt config - web/docs/bot all consume it via extends (oxlint) and --config (oxfmt) - docs disables react/no-unknown-property (react-three-fiber) - bot relaxes type-aware unsafe rules + no-console (discord.js/Bun/logger) - turbo lint/format:check inputs track the shared config for cache correctness - oxfmt ignores markdown so docs prose isn't reflowed
Pull in the four commits landed on main since the migration diverged: botid package removal (config, routes, instrumentation-client) and the atomic map-ingestion / parser row changes. Git rename detection mapped main's edits onto the relocated apps/web/ paths; the botid dependency removal was applied to apps/web/package.json (the monorepo root keeps its turbo scripts), and instrumentation-client.ts was deleted per main.
Run the TS7 (Go) compiler for `tsc --noEmit` across every workspace while keeping TS6 for tools that need the JS compiler API. Each package now aliases `typescript` -> `@typescript/typescript6` (the API slot Next.js and fumadocs import, shipping `tsc6`) and adds `typescript-7` -> `typescript@7.0.1-rc` (the real TS7, shipping `tsc`), so the existing typecheck scripts pick up TS7 with no command changes. Web cold typecheck drops from ~96s to ~5s. Fixes surfaced by the move off TS5: - web: widen ColumnData.value to number | string and drop a stale @ts-expect-error in stats-table.tsx. - bot: add bun-types and "types": ["bun"] so the Bun global resolves under TS6/7 (tsc6 failed identically, so this is not TS7-specific). Remove the @effect/language-service patch prepare step from web: TS7's native compiler can't be patched and the patch no longer applies to the TS6 shim, so build-time Effect diagnostics in tsc are unavailable. Editor diagnostics still work via the tsconfig plugin. Document the dual-compiler setup in AGENTS.md.
Resolve every open Dependabot/audit advisory (132 npm advisories across 36 packages) ahead of going live, preferring real dependency updates over transitive overrides. Direct + parent updates (the bulk of the fixes): - web: @auth/prisma-adapter 1.0.5 -> 2.11.2 (aligns with next-auth v5), next-auth beta.30, next-intl 4.9, @vercel/blob 2.4, @vercel/toolbar 0.2, validator 13.15.22, vitest 3.2.6, postcss 8.5.15, @aws-sdk/* 3.1075, @opentelemetry/* 0.219/2.8, @axiomhq/* 1.7/0.2, @tiptap/* 3.27, @sendgrid/mail 8.1.6, react-scan 0.5. - bot: discord.js 14.26.4, @opentelemetry/* 0.219/2.8. - transactional: react-email / @react-email/ui 6.6.5. Overrides kept only for irreducible transitives whose parents are already at their latest release (or are framework internals) and still pin a vulnerable version: undici (discord.js/cheerio), @opentelemetry/core (@effect), @hono/node-server (prisma), postcss (next), esbuild (build tooling). Unify @types/react on 19.2.17 / @types/react-dom on 19.2.3 so React Three Fiber's JSX augmentation resolves consistently in the docs app. pnpm audit: no known vulnerabilities. typecheck, web tests (1149), and web + docs builds all pass.
Replace next-auth v5-beta and @auth/prisma-adapter with Better Auth across apps/web, preserving every behavior (OAuth, email magic link, sign-in gating, rate limiting, Stripe customer creation, onboarding email, new-user webhooks, ranked-data claim, admin impersonation). - Add src/lib/auth-server.ts: the betterAuth() instance with GitHub/Google/ Discord social providers, the magic-link plugin (existing SES template), and the admin plugin. Lifecycle moved to databaseHooks; gating and rate-limit helpers live in src/lib/auth-gating.ts. - Keep src/lib/auth.ts as a compatibility layer: auth() returns the historical next-auth session shape, so the ~145 call sites and authorization helpers are untouched. Add src/lib/auth-client.ts and move the route handler to [...all]. - Migrate the Prisma auth tables to the Better Auth core schema and add a data-preserving migration for populated environments. - Handle impersonation with the admin plugin's impersonateUser (in-place, revertible) and a Stop Impersonating control in the user nav. - Drop the unused FACEIT OAuth provider. - Update account-table consumers, Session/User type imports, bot Discord lookup, and the impersonation i18n strings.
Remove unused AbilityImpactData local import and the dead env-parse statement from the ambient app.d.ts (TS1036), and convert string concatenations to template literals in the Discord bot commands.
The shared lint-config enables typeAware oxlint rules, which require the tsgolint executable, but only apps/web declared oxlint-tsgolint. The bot, docs, and transactional workspaces relied on pnpm hoisting it locally and failed in CI's isolated install (Failed to find tsgolint executable).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
No description provided.