mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 02:58:43 +02:00
⬆️ N°4824 Composer libs : update scssphp/scssphp
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# scssphp
|
||||
### <http://scssphp.github.io/scssphp>
|
||||
### <https://scssphp.github.io/scssphp>
|
||||
|
||||
[](http://travis-ci.org/scssphp/scssphp)
|
||||

|
||||
[](https://packagist.org/packages/scssphp/scssphp)
|
||||
|
||||
`scssphp` is a compiler for SCSS written in PHP.
|
||||
|
||||
Checkout the homepage, <http://scssphp.github.io/scssphp>, for directions on how to use.
|
||||
Checkout the homepage, <https://scssphp.github.io/scssphp>, for directions on how to use.
|
||||
|
||||
## Running Tests
|
||||
|
||||
@@ -23,8 +23,7 @@ There are several tests in the `tests/` directory:
|
||||
* `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.
|
||||
* `ServerTest.php` contains functional tests for the `Server` class.
|
||||
* `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
|
||||
@@ -32,16 +31,41 @@ 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`.
|
||||
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 `scss` compatibility tests:
|
||||
To enable the full `sass-spec` compatibility tests:
|
||||
|
||||
TEST_SCSS_COMPAT=1 vendor/bin/phpunit tests
|
||||
TEST_SASS_SPEC=1 vendor/bin/phpunit tests
|
||||
|
||||
## Coding Standard
|
||||
|
||||
`scssphp` source conforms to [PSR2](http://www.php-fig.org/psr/psr-2/).
|
||||
`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=PSR2 bin src tests
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user