quasarframework/quasar · critical

The quasar.config file has runtime errors. Please check the

Error message

The quasar.config file has runtime errors. Please check the Node.js stack above against the temporarily created ${basename(this.#tempFile)} file then DELETE it ("quasar clean --qconf" can be used). Please fix the errors in the original file.

What it means

After quasar.config compiles, QuasarConfigFile executes the bundled output from a temporary file (#computeConfig) to produce the runtime configuration object. If evaluating that file throws, the config is invalid at runtime; the tool tells you the exact temp file (e.g. .quasar/quasar.config.tmp.js) to inspect against the Node.js stack, and instructs you to delete it (or run `quasar clean --qconf`) because it is a generated artifact.

Source

Thrown at app-vite/lib/quasar-config-file.js:781

    }

    let userCfg

    try {
      userCfg = await quasarConfigFn(this.#ctx)
    } catch (err) {
      console.log()
      console.error(err)

      const msg =
        'The quasar.config file has runtime errors.' +
        ' Please check the Node.js stack above against the' +
        ` temporarily created ${basename(this.#tempFile)} file` +
        ' then DELETE it ("quasar clean --qconf" can be used).'

      if (this.#shouldFail) fatal(msg, 'FAIL')

      warn(msg + ' Please fix the errors in the original file.\n')
      return
    }

    fse.removeSync(this.#tempFile)

    if (Object(userCfg) !== userCfg) {
      const msg = 'The quasar.config file does not default exports an Object.'

      if (this.#shouldFail) fatal(msg, 'FAIL')

      warn(msg + ' Please fix it.\n')
      return
    }

    const { appPaths } = this.#ctx

    let rawQuasarConf = merge(
      {

View on GitHub (pinned to 4841521b5f)

Solutions

  1. Read the Node.js stack printed above the warning and compare it against the temporarily created file it names to locate the throwing line
  2. Fix the error in your original quasar.config file (remember the temp bundle executes with different relative paths)
  3. Delete the leftover temp file or run `quasar clean --qconf`
  4. Re-run `quasar dev` / `quasar build` to confirm the config computes cleanly

Example fix

// before (quasar.config.js)
const secret = require('../../outside/secrets.json') // wrong relative path from temp file -> throws
// after
const path = require('node:path')
const secret = require(path.resolve(__dirname, 'secrets.json'))
Defensive patterns

Strategy: validation

Validate before calling

// smoke-run the config logic before invoking quasar
class Ctx {}
const cfg = require('./quasar.config.js')
try {
  typeof cfg === 'function'
    ? cfg(function () { return {} })
    : cfg
  console.log('quasar.config evaluates OK')
} catch (err) {
  console.error('quasar.config throws at evaluation time:', err)
}

Prevention

When it happens

Trigger: Code inside quasar.config that throws when evaluated: calling undefined functions, accessing files/env that don't exist, requiring a module that throws on import, or invalid return values from the configure callback — hit whenever the config is computed (quasarConf) during `quasar dev`/`quasar build`.

Common situations: `ctx.dev`/`ctx.prod` used where ctx is undefined due to a broken configure signature; requiring a JSON/env file with a wrong relative path (paths resolve from the temp file location, not the original); a plugin or custom extension throwing at import time; stale temp config left behind by a previous crashed run.

Related errors


AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30). Data as JSON: /api/errors/2282fd465c6d64db. Report an issue: GitHub.