nette/neon
Human-friendly configuration format for PHP. NEON is a structured data language similar to YAML/JSON, with neat syntax for arrays and objects, comments, and multiline strings. Includes fast parser and emitter, used across Nette and beyond.
config() helper, Symfony/YAML compatibility). The package’s AST-based parser and strict UTF-8 validation introduce unnecessary complexity for Laravel’s use case.config:cache, service container integration, or dynamic config merging. The package’s focus on human-readable configs conflicts with Laravel’s performance-driven config handling.NeonConfigServiceProvider) to parse NEON files into Laravel’s config structure. No native Laravel integration points exist.config() helper integration..neon files.config:cache command.Neon::decodeFile()) aligns with Laravel’s file-watching systems.NOASSERTION license (despite GitHub’s MIT claim) could introduce legal risks.config:cache, service container binding, or environment-specific config loading.Why NEON over existing formats?
Migration and Maintenance Effort
Compatibility with Laravel’s Ecosystem
config:cache and service container?Static Analysis and Tooling
Failure Modes and Debugging
config() helper.config:cache.NeonConfigServiceProvider to load .neon files into Laravel’s config system.use Nette\Neon\Neon;
use Illuminate\Support\ServiceProvider;
class NeonConfigServiceProvider extends ServiceProvider {
public function boot() {
$neonConfigs = Neon::decodeFile(resource_path('config/app.neon'));
config($neonConfigs);
}
}
config/*.php or config/*.yaml files to NEON format.# config/app.neon
app:
name: Laravel
env: production
debug: false
config/services.neon) while keeping Laravel’s native formats for APIs (config/api.json).config:cache: NEON’s atomic file parsing may conflict with Laravel’s cached config system..env-based dynamic config merging.NeonConfigServiceProvider to test parsing and compatibility.config/app.neon) and test thoroughly.NeonConfigServiceProvider) require continuous updates to match NEON’s breaking changes.NOASSERTION) could introduce legal risks or supply chain concerns.Neon::decodeFile() throws exceptions for invalid UTF-8, which may not align with Laravel’s error handling.Neon::decodeFile()) could increase I/O latency in high-traffic applications.config:cache may not play well with NEON’s dynamic file parsing, requiring custom caching logic.How can I help you explore Laravel packages today?