PHPackages                             efabrica/neon-checker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. efabrica/neon-checker

ActiveLibrary[Testing &amp; Quality](/categories/testing)

efabrica/neon-checker
=====================

Finds all neons in selected paths and try them decode

0.3.1(3y ago)12.7k↓100%MITPHPPHP &gt;= 7.1.0

Since Jun 26Pushed 3y ago3 watchersCompare

[ Source](https://github.com/efabrica-team/neon-checker)[ Packagist](https://packagist.org/packages/efabrica/neon-checker)[ RSS](/packages/efabrica-neon-checker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

Neon checker
============

[](#neon-checker)

This library helps to find errors in neon files, it can be used in CI tools.

Installation
------------

[](#installation)

Neon checker requires PHP 7.1.0 or newer. You can install it via Composer. This project is not meant to be run as a dependency, so install it globally:

`composer global require efabrica/neon-checker`

or as stand alone project

```
mkdir /var/www/neon-checker
cd /var/www/neon-checker
composer require efabrica/neon-checker

```

Usage
-----

[](#usage)

This library contains two commands. For both commands return code is count of errors found, so you can use them in CI tools.

```
echo $?
1

```

### validate

[](#validate)

```
neon-checker validate ...
```

Note: For more information, run `neon-checker validate --help`

The result of command looks like this:

```
Errors found: 1

```

With verbose output you will get:

```
Errors found: 1

Error: Unexpected ',' on line 23, column 10.
File: neons/subdir/test2.neon:23

```

And with very verbose there will be also part of file content with error.

```
Content:
18: 							b:
19: 								c:
20: 									d"
21:
22: aaa:
23: 	bbb: ccc, ddd
24:
25: 	a:
26: 		b:
27: 			c:
28: 				d"

```

### disallowed

[](#disallowed)

```
neon-checker disallowed [--disallowed-keys DISALLOWED-KEYS] [--disallowed-values DISALLOWED-VALUES] [--] ...
```

With this command, you can disallow some keys and / or values in neon configs.

For example:

To disallow key `http:frames` e.g.

```
http:
    frames: someValue
```

```
neon-checker disallowed app/config/ --disallowed-keys="http:frames"
```

To disallow concrete value for this key e.g.

```
http:
    frames: yes
```

you can run command with option --disallowed-values

```
neon-checker disallowed app/config/ --disallowed-values="http:frames:yes"
```

At least one of options `--disallowed-keys` and `--disallowed-values` has to be set, they can be used multiple times and can be combined. For example:

```
neon-checker disallowed app/config/ --disallowed-keys="session:expiration" --disallowed-keys="php:date.timezone" --disallowed-values="http:frames:yes"
```

Output of command is simple:

```
Errors found: 4

```

Or more descriptive with verbose (`-v`) option:

```
Errors found: 4

File app/config/config.neon
contains these disallowed keys:
- session:expiration
- php:date.timezone
contains these disallowed values:
- http:frames:yes

File app/config/config.local.neon
contains these disallowed keys:
- php:date.timezone

```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~342 days

Total

4

Last Release

1118d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/25289c62a88df1c404543693ba52e44748dbce486bcfab91fc8c5931a6bb38e1?d=identicon)[dev-efabrica](/maintainers/dev-efabrica)

---

Top Contributors

[![lulco](https://avatars.githubusercontent.com/u/9377319?v=4)](https://github.com/lulco "lulco (4 commits)")

---

Tags

testneonsyntaxci

### Embed Badge

![Health badge](/badges/efabrica-neon-checker/health.svg)

```
[![Health](https://phpackages.com/badges/efabrica-neon-checker/health.svg)](https://phpackages.com/packages/efabrica-neon-checker)
```

###  Alternatives

[php-coveralls/php-coveralls

PHP client library for Coveralls API

51413.7M3.4k](/packages/php-coveralls-php-coveralls)[overtrue/phplint

`phplint` is a tool that can speed up linting of php files by running several lint processes at once.

1.0k13.2M726](/packages/overtrue-phplint)[acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

32902.4k](/packages/acquia-orca)[moodlehq/moodle-plugin-ci

Helps running Moodle plugins analysis checks and tests under various CI environments.

612.6M](/packages/moodlehq-moodle-plugin-ci)[atoum/atoum-bundle

Bundle around atoum unit testing framework

44360.9k10](/packages/atoum-atoum-bundle)[trappar/alice-generator-bundle

Symfony bundle for generating Alice fixtures from Doctrine entities

45169.6k1](/packages/trappar-alice-generator-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
