Direct answer
No. As of current repository state, Devicon does not publish an official machine-readable JSON or TypeScript manifest that enumerates supported variants per technology. There is no widely used community-maintained manifest either in the main repository or in the official releases.
The SVG sprite can be programmatically queried at build time, but it requires downloading the distribution asset. The release build pipeline does not emit a manifest automatically; it generates the sprite, CSS and font files only.
Confirmed facts
- The Devicon repository root and releases contain no devicon.json / icons.json manifest listing technology-variant pairs.
- The distribution artifact devicon.min.svg contains <symbol> elements with id attributes that encode technology and variant, e.g. devicon-html5-plain, devicon-html5-original, devicon-html5-line.
- The build pipeline uses gulp/webpack tasks to produce sprite, CSS and font outputs. No task writes a JSON manifest as part of the standard release process.
Likely explanation vs uncertainty
Plain is explicitly not guaranteed for every icon, and coverage is revealed only via symbol IDs or CSS class lists. The gap is therefore by design: consumers are expected to infer availability from the shipped assets. Repo structure and file names may change in future releases, so absence today does not guarantee permanent absence.
Parsing the CDN-hosted CSS or a subsetted font is unreliable. The CDN may serve a subsetted font that omits glyphs for less common technologies. Use the source repo or the official distribution tarball for build-time validation.
Minimal build-time validation steps for this case
- Pin a distribution source. Prefer the npm package tarball or a release archive over CDN for reproducibility.
- Download devicon.min.svg from the pinned release and extract symbol ids:
grep -o 'id="[^"]*"' devicon.min.svg | sort -u
- Derive the matrix by splitting ids on '-' and grouping by technology base. This yields the set of variants actually shipped for each technology.
- Optionally emit your own JSON manifest in your build and fail the build if a required technology-variant pair is missing.
Verification you can run locally: clone the official Devicon GitHub repository, inspect the root for JSON files, run the build, and confirm only sprite, CSS and font files are produced. No manifest file is emitted.
One diagnostic detail that changes the recommendation: are you consuming Devicon via the npm package / source tarball or via CDN CSS/font? CDN usage requires a full asset download and is prone to subsetting, while npm source allows deterministic parsing of the sprite at build time.