scssphp

by scssphp

scssphp / scssphp

SCSS compiler written in PHP

256 Stars 32 Forks Last release: about 2 months ago (1.2.1) MIT License 1.5K Commits 14 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

scssphp

https://scssphp.github.io/scssphp

Build License

scssphp
is a compiler for SCSS written in PHP.

Checkout the homepage, https://scssphp.github.io/scssphp, for directions on how to use.

Running Tests

scssphp
uses PHPUnit for testing.

Run the following command from the root directory to run every test:

vendor/bin/phpunit tests

There are several tests in the

tests/
directory:
  • ApiTest.php
    contains various unit tests that test the PHP interface.
  • ExceptionTest.php
    contains unit tests that test for exceptions thrown by the parser and compiler.
  • FailingTest.php
    contains tests reported in Github issues that demonstrate compatibility bugs.
  • InputTest.php
    compiles every
    .scss
    file in the
    tests/inputs
    directory then compares to the respective
    .css
    file in the
    tests/outputs
    directory.
  • ScssTest.php
    extracts (ruby)
    scss
    tests from the
    tests/scss_test.rb
    file.

When changing any of the tests in

tests/inputs
, the tests will most likely fail because the output has changed. Once you verify that the output is correct you can run the following command to rebuild all the tests:
BUILD=1 vendor/bin/phpunit tests

This will compile all the tests, and save results into

tests/outputs
.

To enable the

scss
compatibility tests:
TEST_SCSS_COMPAT=1 vendor/bin/phpunit tests

Coding Standard

scssphp
source conforms to PSR12.

Run the following command from the root directory to check the code for "sniffs".

vendor/bin/phpcs --standard=PSR12 --extensions=php bin src tests *.php

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.