next.js/packages/next/src/trace/report/to-json-build.ts
to-json-build.ts31 lines792 B
import { traceGlobals } from '../shared'
import { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'
import { createJsonReporter } from './to-json'

const allowlistedEvents = new Set([
  'next-build',
  'run-turbopack',
  'run-webpack',
  'run-typescript',
  'run-eslint',
  'static-check',
  'collect-build-traces',
  'static-generation',
  'output-export-full-static-export',
  'adapter-handle-build-complete',
  'output-standalone',
  'telemetry-flush',
  'turbopack-build-events',
  'turbopack-persistence',
  'turbopack-compaction',
])

export default createJsonReporter({
  filename: 'trace-build',
  sizeLimit: Infinity,
  filter: (event) => {
    const phase = traceGlobals.get('phase')
    return phase === PHASE_PRODUCTION_BUILD && allowlistedEvents.has(event.name)
  },
})
Quest for Codev2.0.0
/
SIGN IN