A Symfony Bundle to easily download and use Oxlint and Oxfmt (from the Oxc project) in your Symfony applications, to lint your front assets without needing Node.js (ex: when using Symfony AssetMapper).
Tip
If you prefer to use Biome.js instead, check Kocal/BiomeJsBundle!
Install the bundle with Composer:
composer require kocal/oxc-bundle --devIf you use Symfony Flex, everything must be configured automatically. If that's not the case, please follow the next steps:
Manual installation steps
- Register the bundle in your
config/bundles.phpfile:
return [
// ...
Kocal\OxcBundle\KocalOxcBundle::class => ['dev' => true],
];- Create the configuration file
config/packages/kocal_oxc.yaml:
when@dev:
kocal_oxc:
# The Oxc apps version to use, that you can find at https://github.com/oxc-project/oxc/tags,
# it follows the pattern "apps_v<apps_version>"
apps_version: '1.43.0'
- Create the recommended
.oxlintrc.jsonfile at the root of your project:
{
"plugins": null,
"categories": {},
"rules": {},
"env": {
"builtin": true
},
"globals": {},
"ignorePatterns": [
"assets/vendor/**",
"assets/controllers.json",
"public/assets/**",
"public/bundles/**",
"tests/**",
"var/**",
"vendor/**",
"composer.json",
"package.json"
]
}- Create the recommended
.oxfmtrc.jsonfile at the root of your project:
{
"ignorePatterns": [
"assets/vendor/**",
"assets/controllers.json",
"public/assets/**",
"public/bundles/**",
"tests/**",
"var/**",
"vendor/**",
"composer.json",
"package.json"
]
}The bundle is configured in the config/packages/kocal_oxc.yaml file:
when@dev:
kocal_oxc:
# The Oxc apps version to use, that you can find at https://github.com/oxc-project/oxc/tags,
# it follows the pattern "apps_v<apps_version>"
apps_version: '1.43.0'
Download Oxlint for your configured version and for your platform.
By default, the command will download the binary in the bin/ directory of your project.
php bin/console oxc:download:oxlint
bin/oxlint --version
# or, with a custom destination directory
php bin/console oxc:download:oxlint path/to/bin
path/to/bin/oxlint --versionDownload Oxfmt for your configured version and for your platform.
By default, the command will download the binary in the bin/ directory of your project.
php bin/console oxc:download:oxfmt
bin/oxfmt --version
# or, with a custom destination directory
php bin/console oxc:download:oxfmt path/to/bin
path/to/bin/oxfmt --version