quasarframework/quasar · error

No icongenie-*.json files detected in "${folder}" folder!

Error message

No icongenie-*.json files detected in "${folder}" folder!

What it means

parseFolder globs the given folder for icongenie-*.json profile files and, when it finds zero, warns and exits the process with code 1. icongenie's batch/profile mode requires at least one JSON profile file to know which icons to generate.

Source

Thrown at icongenie/lib/utils/get-profile-files.js:17

import { basename } from 'node:path'
import { globSync } from 'tinyglobby'
import { lstatSync } from 'node:fs'

import { warn } from '../utils/logger.js'

function parseFolder(folder) {
  const profileFiles = globSync(`icongenie-*.json`, {
    cwd: folder,
    deep: 1,
    absolute: true
  })

  const numberOfFiles = profileFiles.length

  if (numberOfFiles === 0) {
    warn(`No icongenie-*.json files detected in "${folder}" folder!`)
    process.exit(1)
  }

  console.log(` Detected ${numberOfFiles} JSON profile file(s):\n`)
  console.log(` * ${folder}`)

  profileFiles.forEach((file, index) => {
    const prefix = index + 1 < profileFiles.length ? `├──` : `└──`

    console.log(` ${prefix} ${basename(file)}`)
  })

  console.log()

  return profileFiles
}

export function getProfileFiles(profileParam) {

View on GitHub (pinned to 4841521b5f)

Solutions

  1. Place at least one JSON profile named with the icongenie- prefix (e.g. icongenie-all.json) in the folder passed via -f/--filter
  2. Check the folder path passed with -f is correct and is the direct folder containing the profiles
  3. Rename existing profile JSON files to match the icongenie-*.json glob pattern

Example fix

// before
quasar icongenie g -f ./assets/profiles  // holds icon-profiles.json
// after
// rename to assets/profiles/icongenie-icon.json (or move profiles to the folder root)
quasar icongenie g -f ./assets/profiles
Defensive patterns

Strategy: validation

Validate before calling

import { readdirSync } from 'node:fs'
const profiles = readdirSync(profileFolder).filter(f => /^icongenie-.*\.json$/.test(f))
if (profiles.length === 0) {
  throw new Error(`No icongenie-*.json profiles in ${profileFolder}`)
}

Type guard

const hasProfileFiles = (dir) => readdirSync(dir).some(f => f.startsWith('icongenie-') && f.endsWith('.json'))

Prevention

When it happens

Trigger: Running `icongenie g --mode all -f <folder>` (or default profile discovery) against a folder containing no files matching icongenie-*.json.

Common situations: Profile files misnamed (e.g. my-icons.json or icon.profile.json instead of icongenie-*.json), profile files placed in a subfolder of the one passed with -f, or a typo in the -f path.

Related errors


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