mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Dev Toolsevaluationupdated 30 Aug 2026

confetti review

Confetti is a VS Code extension that detects, highlights, and formats more than 16 kinds of configuration files, including Nginx, dotenv, TOML, SSH, hosts, and crontab. It gives mixed repositories one local extension for files that would otherwise need several narrow extensions or fall back to plain text.

+3 / 2dstars / 7d
Verdict

Our Confetti run installed 496 packages, built in 14 seconds, and passed all 299 tests, so the code earns a trial for VS Code users juggling mixed configuration files. Its local operation and cautious detection are sensible, while the three-day public history and missing CI workflow leave maintenance quality unproven. Use dedicated YAML or TOML tooling when validation and completion matter more than having one extension cover many formats.

We ran it

Lab card: what happened when we ran confettiScreenshot of confetti (github.com/rhevorn/confetti)
Install✓ · 28s496 packages · 233 MB
Build✓ · 14s
Tests✓ · 11s299 passed · 0 failed of 299 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo127 files~4,652 lines of source · 0.5 MB · 0 CI workflows · tests dir

Answers from our run

Does confetti build from source?

Dependencies installed in 28 seconds (496 packages), and the build succeeded in 14 seconds. We cloned commit 12dc517 into a clean Debian container with 3 CPUs and no project-specific setup.

Do confetti's tests pass?

Yes: 299 of 299 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does confetti have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use confetti?

Developers who need schema validation, completion, or diagnostics for YAML: the README says Confetti preserves VS Code's YAML mode so dedicated language tooling can provide those features.

What are the alternatives to confetti?

YAML, Taplo, Prettier. Our Confetti run installed 496 packages, built in 14 seconds, and passed all 299 tests, so the code earns a trial for VS Code users juggling mixed configuration files.

Setup4/528-second source install; Marketplace use needs only VS Code 1.90
Docs5/5Clear format matrix, limits, commands, settings, and troubleshooting
Community2/5160 stars, but only three days of public history and no issue activity
Maturity2/5299 tests pass, but v1.2.0 is days old and CI is absent

Who it’s for

VS Code users who regularly edit several kinds of configuration files in one repository.
Developers who want ambiguous .conf files identified from both their path and contents.
Teams that want local highlighting and on-demand formatting without accounts, telemetry, or a network service.
Operators who want one formatter for Nginx, SSH, dotenv, TOML, hosts, fstab, and crontab files.

Who it’s NOT for

Developers who need schema validation, completion, or diagnostics for YAML: the README says Confetti preserves VS Code's YAML mode so dedicated language tooling can provide those features.
Teams that expect every detected format to be formatted: YAML, ignore files, and tool-version files are deliberately highlight-only.
Editors outside VS Code, or installations older than VS Code 1.90: the package manifest targets that editor and minimum version.
Organizations that require a long public maintenance record or visible CI before adoption: the repository was created on August 27, 2026, has no workflow files, and had no open issues or PRs to show maintainer response.

Setup reality

Our sandbox installed 496 npm packages in 28 seconds and used 233 MB on disk. The build passed in 14 seconds, then all 299 Vitest tests passed in 11 seconds. Npm audit reported 0 known vulnerabilities across critical, high, moderate, and low severities.

Marketplace users only need VS Code 1.90 or later. Confetti runs locally and requires no account, API credential, cloud service, or network connection for detection and formatting.

The source checkout is just 0.5 MB with 127 files and about 4,652 source lines, but its development dependency tree is much larger. The repository has tests, yet it has no CI workflow file or Dockerfile, so the public tree does not show an automated check running on each change.

One extension covers more than 16 configuration types

Confetti gives VS Code syntax highlighting and content-aware detection for more than 16 configuration types. The list spans .env, .npmrc, TOML, and YAML, plus Nginx, SSH, hosts, fstab, and crontab. A repository with deployment files, dotfiles, and service configuration can use one extension instead of assembling several narrow ones. All processing stays inside the editor, with no account, telemetry client, or hosted service.

Our checkout contained 127 files, about 4,652 lines of source, and occupied 0.5 MB before dependencies. Its code is split into detectors, TextMate grammars, tokenizers, formatters, and a VS Code integration layer. Confetti checks documents when they open, become active, are saved, or receive an explicit detection command. It does not scan every keystroke, a sensible boundary for configuration files that may contain secrets.

Version 1.2.0 leaves uncertain files alone

Confetti 1.2.0 combines filenames, paths, extensions, and document contents when choosing a language. An obvious nginx.conf can be classified by name, while an ambiguous production.conf gets a content check. Detection must reach the built-in confidence threshold before the extension changes the language mode. If the evidence is weak, the file stays as it was. Applying the wrong grammar or formatter to a configuration file can be worse than leaving it as plain text.

For YAML, INI, and Java Properties, Confetti keeps VS Code's canonical language mode when one is already active. A dedicated extension can continue supplying validation or completion while Confetti handles detection and highlighting. This defines the product's limit: it is not a schema engine, linter, or language server. Teams expecting errors for invalid Kubernetes YAML or completions from a JSON Schema still need a specialist extension.

Formatting covers 14 listed formats, with three explicit omissions

The README's support table marks formatting for 14 of its 17 rows. Nginx, dotenv, INI, Java Properties, TOML, Git Config, npmrc, classic Yarn config, Git Attributes, Browserslist, SSH, hosts, fstab, and crontab have dedicated formatters. The changelog says their tokenizer and state-aware rules preserve comments, quoted content, escaped spaces, continuation lines, and TOML multiline strings. A second formatting run should produce no further edit.

YAML is left to formatters such as Prettier. Ignore files retain their original bytes and ordering because both can affect meaning, while tool-version files gain little from structural rewriting. Confetti still detects and highlights all three. Users can invoke Format Document, select Confetti when several formatters are registered, or call its direct formatting command.

What happened when we ran it

Our sandbox installed 496 npm packages in 28 seconds, consuming 233 MB on disk. The build completed successfully in 14 seconds. Those numbers describe the development checkout at commit 12dc517, not the published extension alone. The repository itself was 0.5 MB, so nearly all of the source setup footprint came from development tooling used for TypeScript, linting, coverage, packaging, and tests.

Vitest passed all 299 tests in 11 seconds, with 0 failures. Npm audit found 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low. The checkout had a tests directory, but our scan found 0 CI workflow files and no Dockerfile. Without visible CI configuration, a contributor cannot confirm that the same checks automatically guard every pull request.

A 233 MB source install is separate from everyday editor use

The package manifest declares development dependencies but no runtime npm dependencies. The README describes a local VS Code extension without a language server, background index, Webview, or network client. Marketplace installation requires VS Code 1.90 or newer. There are no API keys, databases, containers, or external services to configure, even though building from source pulls a sizable toolchain.

Four commands cover detection, direct formatting, detection details, and formatter output. The output records which trigger ran, which format was detected, whether an edit was produced, elapsed time, and the file path. When Format Document appears to do nothing, that log can distinguish a disabled Confetti formatter from another extension winning VS Code's formatter selection.

Three days of public history cannot prove maintenance

GitHub says the repository was created on August 27, 2026, and pushed again on August 30. It had 160 stars and 0 open issues or pull requests when fetched. Three days is too short to show how the maintainer handles bug reports, formatter conflicts, VS Code API changes, or unusual syntax. A zero-item queue provides no response-time evidence.

GitHub's latest-release endpoint has no entry. The repository does have v1.0.0, v1.1.0, and v1.2.0 tags, all documented on August 27, plus unreleased work for broader ignore-file detection and classic .yarnrc support. Teams with strict extension approval rules should wait for issue history, automated CI, and a few routine releases before treating Confetti as established infrastructure.

The 299-test pass earns a trial while maintenance remains unproven

Confetti suits developers who touch Nginx, dotfiles, and service configuration in the same VS Code workspace. Our 299 passing tests and clean audit make version 1.2.0 reasonable to try, and low-confidence detection reduces the chance of taking over an unrelated .conf file. Choose Red Hat's YAML extension or Taplo when one format needs schema-aware depth, and keep the young public history in mind before making Confetti a team default.

Alternatives

ProjectWhat it isPick it when
YAMLA dedicated VS Code YAML language service with schema-aware editing.pick this instead when YAML validation, completion, and schema support matter more than coverage across many config formats.
TaploA TOML toolkit with an editor extension, formatter, and language server.pick this instead when TOML is the main format and you want deeper TOML-specific tooling.
Prettier gh↗A widely used formatter for supported web and data formats, including YAML.pick this instead when standardized formatting across application code and YAML matters more than Confetti's system-config detection.

What people are saying

  1. [velocity-scout] rhevorn/confetti

Sources

  1. Confetti README
  2. Confetti repository metadata
  3. Confetti changelog
  4. Confetti package manifest

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →