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

Case of line should be respected by ignorePattern in max-line-length #2647

Closed
ntwb opened this issue Jun 17, 2017 · 2 comments
Closed

Case of line should be respected by ignorePattern in max-line-length #2647

ntwb opened this issue Jun 17, 2017 · 2 comments
Labels
status: wip is being worked on by someone type: bug a problem with a feature or rule
Milestone

Comments

@ntwb
Copy link
Member

ntwb commented Jun 17, 2017

Describe the issue. Is it a bug or a feature request (new rule, new option, etc.)?

A bug where trying to ignore multiple patterns using ignorePattern in the max-line-length rule

This is a follow up to #2630

Which rule, if any, is this issue related to?

max-line-length

What CSS is needed to reproduce this issue?

/*
Theme Name: Twenty Eleven
Theme URI: Theme URI: https://wordpress.org/themes/twentyeleven/styles/css/url/path/longer/than/80/chars
Author: the WordPress team
Author URI: https://wordpress.org/
Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable.
Version: 2.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, one-column, two-columns, left-sidebar, right-sidebar, custom-background.
Text Domain: twentyeleven
*/

What stylelint configuration is needed to reproduce this issue?

   "max-line-length": [ 80, {
      "ignore": "non-comments",
      ignorePattern: ["/(https?:\/\/[0-9,a-z]*.*)|(Description\:.+)|(Tags\:.+)/"],
    } ],

Which version of stylelint are you using?

7.11.0

How are you running stylelint: CLI, PostCSS plugin, Node API?

CLI via stylelint test.css --config index.js

Does your issue relate to non-standard syntax (e.g. SCSS, nesting, etc.)?

No

What did you expect to happen?

No warnings to be flagged on lines 3, 6, and 10

What actually happened (e.g. what warnings or errors you are getting)?

The following warnings were flagged:

test.css
  3:106  ✖  Expected line length to be no more than 80 characters   max-line-length
  6:87   ✖  Expected line length to be no more than 80 characters   max-line-length
 10:84   ✖  Expected line length to be no more than 80 characters   max-line-length

Here's what a test of this I think should look like:

testRule(rule, {
  ruleName,
  config: [ 20, { ignorePattern: "/(multiple\:.+)|(should\:.+)" } ],

  accept: [{
    code: "/*\n multiple lines in multiline comments\n should be able to be ignored\n*/",
  }],

})

I've tried various regex g and m modifiers in ignorePattern such as these with no luck:
ignorePattern: ["/(https?:\/\/[0-9,a-z]*.*)|(Description\:.+)|(Tags\:.+)/gm"],
ignorePattern: ["/(https?:\/\/[0-9,a-z]*.*)|(Description\:.+)|(Tags\:.+)/g"],
ignorePattern: ["/(https?:\/\/[0-9,a-z]*.*)|(Description\:.+)|(Tags\:.+)/m"],

@ntwb ntwb added the status: needs investigation triage needs further investigation label Jun 17, 2017
@jeddy3 jeddy3 added status: wip is being worked on by someone type: bug a problem with a feature or rule and removed status: needs investigation triage needs further investigation labels Jun 26, 2017
@jeddy3 jeddy3 changed the title Ignore multiple comment lines with max-line-length Case of line should be respected by ignorePattern in max-line-length Jun 26, 2017
@jeddy3 jeddy3 added this to the 8.0.0 milestone Jun 26, 2017
@jeddy3
Copy link
Member

jeddy3 commented Jun 26, 2017

Use /(https?:\/\/[0-9,a-z]*.*)|(description\\:.+)|(tags\\:.+)/. The line is lowercased before checking. We should change that behaviour in 8.0.0

@jeddy3
Copy link
Member

jeddy3 commented Jun 26, 2017

Done in #2683

@jeddy3 jeddy3 closed this as completed Jun 26, 2017
jeddy3 added a commit that referenced this issue Jun 26, 2017
jeddy3 added a commit that referenced this issue Jul 14, 2017
* Add stylelint semantic versioning policy

* Fix whitespace and empty lines

* Add changelog entry

* Remove stylelint-config=standard reference

* Tweak major release optional options verbiage

* Update changelog

* Props ESLint

* Fix false negatives with ignore: ["descendant"] in selector-no-type (#2200)

* Update CHANGELOG.md

* Fix handling of shared-line comments (#2262)

* Fix handling of shared-line comments

Introduces a number of utilities and adjusts the following rules:
at-rule-empty-line-before, custom-property-empty-line-before,
declaration-empty-line-before, rule-nested-empty-line-before,
rule-non-nested-empty-line-before

Closes #2237; closes #2239; closes #2240.

* Fixes based on feedback

* Use getPreviousNonSharedLineCommentNode more

* Use more new helpers in comment-empty-line-before

* Add ignore: ["child"] option to selector-no-type (#2217)

* Add ignore: ["child"] option to selector-no-type

* Correct logic for ignore: ["child"] option

* Include line and column in reject tests with multiple type selectors

* Update CHANGELOG.md

* Report every selector resolved selector in selector-max-compound-selectors (#2350)

* Update CHANGELOG.md

* Add new shorthand data (#2354)

* Add new shorthand data

* Add mask shorthand

* Use defined list of properties in shorthand-property-no-redundant-values

* Improve declaration-block-no-shorthand-property-overrides speed a little bit

* Check prefixed properties agains prefixed properties in declaration-block-no-shorthand-property-overrides

* Improve declaration-block-no-redundant-longhand-properties speed a little bit

* Ignore prefixes case in declaration-block-no-shorthand-property-overrides

* Check prefixed properties agains prefixed properties in declaration-block-no-redundant-longhand-properties

* Add `grid-gap` to shorthand-property-no-redundant-values

* Explain properties set for shorthand-property-no-redundant-values

* Revert unnecessary changes

* Add “mask” to declaration-block-no-redundant-longhand-properties readme

* Update CHANGELOG.md

* Update changelog

* Remove deprecated rules (#2422)

* Remove deprecated rules

* Include `rule-empty-line-before` in system tests

* *-empty-line-before rules consider line as empty if it contains whitespace only (#2440)

* Update CHANGELOG.md

* Remove deprecated options (#2433)

* Update CHANGELOG.md

* report-needless-disables now exits with non-zero code (#2341)

* Update CHANGELOG.md

* Remove leftover files (#2442)

* Remove leftover file

* One more

* And one more

* Ignoring improvements (#2464)

* WIP ignoring improvements

* Remove standaloneIgnored property of result

* Add disableDefaultIgnores

* Add documentation tweaks

* Add parseStylelintIgnore tests

* Non-absolutized ignore file paths

* Restire gitignore syntax

* Remove parseStylelintIgnore

* Update CHANGELOG.md

* Check all linear-gradients in a value list (#2496)

Closes #2481

* Update CHANGELOG.md

* Update CHANGELOG.md

* Respect line case for `ignorePattern` (#2683)

Closes #2647

* Update CHANGELOG.md

* Update decls

* Fix remark warning

* Update snapshots

* Add missing message to reject test

* Fix tests for *-empty-line-before rules (#2688)

* Fix tests for *-empty-line-before rules

* Test addition and tweak

* Update to PostCSS@6 (#2561)

* Update to PostCSS@6

* Fix PostCSS@6 closing-brace test (#2689)

* Account for PostCSS@6's support for at-apply

* Remove only

* Fix postcssPlugin tests (#2690)

* Fix defaultSeverity.test.js test

* Fix ignoreDisables test

* Check ownSemiColon

* Fixed: remove hacks related to custom property set.

* Remove deprecated rules (#2693)

Closes #2521

* Update CHANGELOG.md

* Update CHANGELOG.md

* Add VISION.md (#2704)

* Add releases.md (#2705)

* Add releases.md

Closes #2700

* Add dry-release step

* Use HTTPS for links

* Change ignore options for selector-max-type (#2701)

* Fix false negatives with ignore descendant

* Add ignore child

Closes #2699

* Update CHANGELOG.md

* Update README.md to account for VISION.md (#2727)

* Update README.md to account for VISION.md

* Fix lint warnings in CHANGELOG

* Update postcss-less to 1.0 (#2702)

* Update postcss-less to 1.0.2

* Update isStandardSyntaxRule for postcss-less 1.0

* Pass custom postcss stringifier when creating result

* Correct no-extra-semicolons Less test position

* Ignore Less mixins in no-extra-semicolons

* Update postcss-less to 1.1.0

* Correct no-extra-semicolons Less test position again

* Utilize isStandardSyntaxRule when checking for Less rules in no-extra-semicolons

* Case sensitive white/blacklists and ignore* options (#2709)

Closes #2660

* Update CHANGELOG.md

* docs: Add "New Release Issue Template" to releases.md (#2728)

* Exit with non-zero code on postcss warnings (#2713)

* Enhancement: exit with non zero code on postcss warnings.

* Account for parseErrors in stringformatqer

* Guard against no parseErrors

* Update CHANGELOG.md

* Refactor: simplify ignore logic. (#2732)

* Update changelog

* Bump 8.0.0 changes to top

* Correctly place changelog items

* Add introduction

* Add codefence for website

* Use relative path

* Include VISION in package for website

* Add link to VISION doc for website

* Changelog amends

* Update releases.md (#2738)

* Update eslint and config (#2737)

* Order requires

* Use eqeqeq eslint rule

* Update eslint

* Disable no-useless-escape just for this repo

* Enable no-useless-escape rule

* Use tilde

* Fix enable comment

* Add reject test for unescaped regex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: wip is being worked on by someone type: bug a problem with a feature or rule
Development

No branches or pull requests

2 participants