- no-direct-socket-io: extend allowlist to cover apps/*/src/**/*.test.ts so the realtime-ping e2e integration test can import socket.io/socket.io-client directly; add two valid test cases to keep the rule's own test suite green - tsconfig.json (root): add root-level tsconfig with experimentalDecorators + emitDecoratorMetadata and no "include" so tsx 4.21.0's createFilesMatcher resolves decorator config for all workspace packages, not just web-next's own source tree - web-next dev script: pass TSX_TSCONFIG_PATH=../../tsconfig.json so the custom Node server uses the root tsconfig for all modules it loads - next.config.mjs: add @repo/core-events and @repo/core-realtime to transpilePackages so Next.js webpack can resolve their workspace source files - server.ts: replace static authContainer import with a dynamic import inside IRealtimeAuthenticator.authenticate so Inversify decorators are applied only after bindAll() has already populated the container All CI gates pass: lint (0 errors), typecheck, 20 tests (incl. realtime-ping e2e), boundaries (0 issues). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
741 B
JavaScript
30 lines
741 B
JavaScript
import { withSentryConfig } from "@sentry/nextjs";
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
transpilePackages: [
|
|
"@repo/auth",
|
|
"@repo/blog",
|
|
"@repo/core-api",
|
|
"@repo/core-cms",
|
|
"@repo/core-events",
|
|
"@repo/core-realtime",
|
|
"@repo/core-shared",
|
|
"@repo/core-trpc",
|
|
"@repo/core-ui",
|
|
"@repo/marketing-pages",
|
|
"@repo/media",
|
|
"@repo/navigation",
|
|
],
|
|
};
|
|
|
|
export default withSentryConfig(nextConfig, {
|
|
// R52 — token is build-time only; CI sets SENTRY_AUTH_TOKEN
|
|
silent: process.env.CI !== "true",
|
|
authToken: process.env.SENTRY_AUTH_TOKEN,
|
|
org: process.env.SENTRY_ORG,
|
|
project: process.env.SENTRY_PROJECT_WEB_NEXT,
|
|
hideSourceMaps: true,
|
|
disableLogger: true,
|
|
});
|