Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standards should be referenced by name #79

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
1. Install the module via composer by running:

```bash
$ composer require --dev webimpress/coding-standard
$ composer require --dev webimpress/coding-standard dealerdirect/phpcodesniffer-composer-installer
```

2. Add composer scripts into your `composer.json`:
Expand All @@ -24,15 +24,16 @@

```xml
<?xml version="1.0"?>
<ruleset name="Webimpress Coding Standard"
<ruleset name="MyCodingStandard"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./vendor/squizlabs/php_codesniffer/phpcs.xsd">
<rule ref="./vendor/webimpress/coding-standard/ruleset.xml"/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain what's wrong with that method?

Copy link
Contributor Author

@szepeviktor szepeviktor Jan 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All phpcs ruleset I've seen/made have a name and can be used by its name.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is still relevant, but I came across this PR when looking for something else.

@michalbundyra I've previously seen issues with sniff name based configuration not always working 100% correctly when a ruleset is imported via a file ref vs by name.

I suppose I should do a deep-dive into this at some point, but I agree with the recommendation that standards containing sniffs should be reference-able by name and that the recommendation should be to register them in installed_paths and include them by name.

Also see my comments here:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @jrfnl ! I'll have a look and try to sort it out.


<rule ref="WebimpressCodingStandard"/>

<!-- Paths to check -->
<file>config</file>
<file>src</file>
<file>test</file>
<file>config/</file>
<file>src/</file>
<file>test/</file>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess these are not really needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really. They show that for example src is a directory, not a file.

</ruleset>
```

Expand Down
6 changes: 1 addition & 5 deletions src/WebimpressCodingStandard/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
<?xml version="1.0"?>
<ruleset name="Webimpress Coding Standard"
<ruleset name="WebimpressCodingStandard"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../vendor/squizlabs/php_codesniffer/phpcs.xsd">
<description>Webimpress Coding Standard</description>

<!-- display progress -->
<arg value="p"/>
<arg name="colors"/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why these are removed?
I wanted to have enabled progress and colours by default.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because command line options should be in the user's phpcs.xml, not in the coding standard.


<!-- PSR-2 base -->
<rule ref="PSR2">
<!-- Below 2 rules are covered by Generic.PHP.LowerCaseKeyword -->
Expand Down