shyim/php-lightningcss

Lightning CSS for PHP via FFI (downloads prebuilt shyim/lightningcss-ffi binaries)

Maintainers

Package info

github.com/shyim/php-lightningcss

pkg:composer/shyim/php-lightningcss

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-02 08:33 UTC

This package is auto-updated.

Last update: 2026-08-03 04:26:03 UTC


README

PHP bindings for Lightning CSS via FFI.

The native library is the prebuilt shyim/lightningcss-ffi release for your platform, installed by shyim/composer-binary-downloader.

Install

composer require shyim/php-lightningcss
{
  "config": {
    "allow-plugins": {
      "shyim/composer-binary-downloader": true
    }
  }
}

Requires PHP 8.3+ and ext-ffi.

Quick start

use LightningCss\Browsers;
use LightningCss\TransformOptions;
use LightningCss\Transformer;

$t = new Transformer();

// Minify
echo $t->minify('.foo { color: #ff0000; }');
// → .foo{color:red}

// Transform for browser targets
echo $t->transform(
    '.x { display: flex; }',
    new TransformOptions(
        minify: true,
        targets: Browsers::chrome(90),
    ),
);

Helpers:

LightningCss\minify($css);
LightningCss\transform($css, $options);
LightningCss\version();        // package
LightningCss\engine_version(); // lightningcss crate

Native library

Configured in extra.binaries.lightningcss → GitHub Releases on shyim/lightningcss-ffi.

composer binary:install lightningcss
composer binary:list
Variable Effect
LIGHTNINGCSS_LIBRARY Path to shared library (skip download)
LIGHTNINGCSS_SKIP_DOWNLOAD Do not download
LIGHTNINGCSS_TARGET Force target triple

Development

Until a release is published (or for local work):

# Build native lib from sibling lightningcss-ffi checkout
(cd ../lightningcss-ffi && bash bin/build-native.sh release)
export LIGHTNINGCSS_LIBRARY=$PWD/../lightningcss-ffi/lib/liblightningcss_ffi.dylib

composer install
composer test
composer phpstan
php examples/minify.php

License

MIT OR Apache-2.0. Lightning CSS is MPL-2.0 — see upstream.