Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ijq Processor

Purpose

Checks that JSON files parse. Native (in-process, using serde_json; no external tools required). It is the in-process counterpart of jq, but it only parses: no jq filter is evaluated.

How It Works

Each file is read and parsed as JSON. A file that does not parse fails its product with an Invalid JSON: message giving the position.

The check is identical to ijsonlint; use whichever name reads better in your config. Duplicate keys are accepted (the last value wins).

Source Files

  • Input: .json files under src_dirs
  • Output: none (checker)

The default src_dirs is empty, so a stanza with no src_dirs or src_files checks nothing: name the directories ([""] for the whole project) or files to check.

Configuration

[processor.checker.ijq]
src_dirs = ["data"]
KeyTypeDefaultDescription
src_dirsstring[][]Directories to scan
src_extensionsstring[][".json"]File extensions to check
dep_inputsstring[][]Extra files whose changes trigger rebuilds

Batch support

Files are checked individually within a batch, so one bad file fails only its own product.

Clean behavior

This processor is a Checker — rsconstruct clean outputs is a no-op for it (checkers produce no outputs). See Clean behavior and rsconstruct clean.