Skip to content

A Symfony Bundle to download Biome.js in your Symfony applications, to lint your front assets without needing Node.js., lint your front assets without Node.js

License

Notifications You must be signed in to change notification settings

Kocal/BiomeJsBundle

Repository files navigation

BiomeJsBundle

.github/workflows/ci.yaml Packagist Version

A Symfony Bundle to easily download and use Biome.js in your Symfony applications, to lint your front assets without needing Node.js (ex: when using Symfony AssetMapper).

Tip

If you prefer to use Oxlint instead, check Kocal/OxlintBundle!


Note

This documentation is for version ^2.0. You can check the previous documentation for ^1.0 here.

Installation

Install the bundle with Composer:

composer require kocal/biome-js-bundle --dev

If you use Symfony Flex, everything must be configured automatically. If that's not the case, please follow the next steps:

Manual installation steps
  1. Register the bundle in your config/bundles.php file:
return [
    // ...
    Kocal\BiomeJsBundle\KocalBiomeJsBundle::class => ['dev' => true],
];
  1. Create the configuration file config/packages/kocal_biome_js.yaml:
when@dev:
    kocal_biome_js:
        # The Biome.js CLI version to use, that you can find at https://github.com/biomejs/biome/tags:
        # - for >=2.0.0 versions, the git tag follows the pattern "@biomejs/biome@<binary_version>"
        # - for <2.0.0 versions, the git tag follows the pattern "cli/v<binary_version>"
        binary_version: '2.0.0'
  1. Create the recommended biome.json file at the root of your project:
{
    "files": {
        "includes": [
            "**",
            "!assets/vendor/*",
            "!assets/controllers.json",
            "!public/assets/*",
            "!public/bundles/*",
            "!var/*",
            "!vendor/*",
            "!composer.json",
            "!package.json"
        ]
    }
}

In you use Biome.js <2.0.0, you can use the following configuration instead:

{
    "files": {
        "ignore": [
            "assets/vendor/*",
            "assets/controllers.json",
            "public/assets/*",
            "public/bundles/*",
            "var/*",
            "vendor/*",
            "composer.json",
            "package.json"
        ]
    }
}

Configuration

The bundle is configured in the config/packages/kocal_biome_js.yaml file:

when@dev:
    kocal_biome_js:
        
        # The Biome.js CLI version to use, that you can find at https://github.com/biomejs/biome/tags:
        # - for >=2.0.0 versions, the git tag follows the pattern "@biomejs/biome@VERSION"
        # - for <2.0.0 versions, the git tag follows the pattern "cli/VERSION"
        binary_version: '2.0.0' # required

Usage

biomejs:download

Download the Biome.js CLI binary for your configured version, and for your platform (Linux, macOS, Windows).

By default, the command will download the binary in the bin/ directory of your project.

php bin/console biomejs:download
bin/biome --version

# or, with a custom destination directory
php bin/console biomejs:download path/to/bin
path/to/bin/biome --version

Inspirations

About

A Symfony Bundle to download Biome.js in your Symfony applications, to lint your front assets without needing Node.js., lint your front assets without Node.js

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 4

  •  
  •  
  •  
  •