@nestjsforge/echarts

Configuration (forRoot)

Configure EChartsModule with forRoot for synchronous setup.

Use EChartsModule.forRoot(options) for synchronous configuration at the root or feature level.

app.module.ts
EChartsModule.forRoot({
  poolSize: 2,           // Number of concurrent Puppeteer browser instances
  timeout: 15_000,       // Render timeout in ms (default: 10000)
  defaultTheme: 'dark',  // Default ECharts theme name
  defaultWidth: 800,     // Default chart width in px
  defaultHeight: 600,    // Default chart height in px
  puppeteerOptions: {
    headless: true,
    args: ['--no-sandbox', '--disable-setuid-sandbox'],
    executablePath: process.env.CHROME_PATH,
  },
  themes: [
    { name: 'corporate', theme: require('./themes/corporate.json') },
  ],
})

Configuration Options

OptionTypeDefaultDescription
poolSizenumber2Number of Puppeteer browser instances to maintain
timeoutnumber10000Render timeout in milliseconds
defaultThemestringundefinedDefault ECharts theme name to apply to all renders
defaultWidthnumber800Default chart width in pixels
defaultHeightnumber600Default chart height in pixels
puppeteerOptionsPuppeteerLaunchOptions{}Options passed directly to puppeteer.launch()
themesThemeDefinition[][]Array of named ECharts themes to pre-register
maxConcurrentRendersnumberpoolSizeMax simultaneous render operations
gracefulShutdownTimeoutnumber5000Max ms to wait for in-flight renders on shutdown