#6825 closed defect (bug) (fixed)
Warnings after running scsslint build task
Reported by: | henry.wright | Owned by: | hnla |
---|---|---|---|
Milestone: | 2.5 | Priority: | normal |
Severity: | normal | Version: | |
Component: | Build/Test Tools | Keywords: | |
Cc: |
Description
When running grunt build
, I get these warnings:
Running "scsslint:core" (scsslint) task Running scss-lint on core src/bp-templates/bp-legacy/css/twentyfifteen.scss:232 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:239 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:241 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:242 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:259 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:491 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfifteen.scss:592 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:833 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:878 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:909 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1149 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1408 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1433 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1557 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1628 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfifteen.scss:1628 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfifteen.scss:1634 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfifteen.scss:1808 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:1847 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfifteen.scss:2251 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:281 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:282 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:294 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:294 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:300 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1231 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1231 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1237 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1255 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:1262 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:1263 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:1363 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1363 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1369 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentyfourteen.scss:1458 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentyfourteen.scss:1498 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:396 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:404 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:573 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:573 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:579 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:634 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:634 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:657 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:729 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:731 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:751 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1045 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1089 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1360 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1571 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1634 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1688 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:1688 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:1694 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentysixteen.scss:1877 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentysixteen.scss:1916 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:227 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:228 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:299 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:307 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:491 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:491 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:497 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:566 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:638 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:640 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:659 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:680 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:689 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:953 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:997 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1138 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1281 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1320 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1322 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1562 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1593 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1604 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1615 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1666 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1719 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:1719 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:1725 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:1892 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentythirteen.scss:1903 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:1946 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentythirteen.scss:2157 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:328 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:336 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:528 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:528 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:534 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:589 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:589 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:612 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:652 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:654 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:679 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1007 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1010 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1051 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1603 [W] EmptyLineBetweenBlocks: @media declaration should be followed by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1661 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1728 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:1728 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:1734 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:1930 [W] PseudoElement: Begin pseudo elements with double colons: `::` src/bp-templates/bp-legacy/css/twentytwelve.scss:1938 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line src/bp-templates/bp-legacy/css/twentytwelve.scss:1977 [W] EmptyLineBetweenBlocks: @media declaration should be preceded by an empty line Warning: Task "scsslint:core" failed. Use --force to continue. Aborted due to warnings.
Is this expected?
Attachments (2)
Change History (27)
#2
@
9 years ago
Could it be the version of scss-lint I'm using? I'm wondering why I'm seeing these warnings yet you're not.
#3
@
9 years ago
Update: I reinstalled scss-lint with gem install scss-lint
and now grunt build
is successful. Strange!
Edit: Maybe I had the package name wrong? My bash history tells me I used gem install scss_lint
when initially installing.
#4
@
9 years ago
Where was/is your config file? The config we're using is in the BP root scss-lint.yml in that I see no reference to colons as such.
#5
@
9 years ago
I think somehow you were running tests against the /grunt-scss-lint/test/fixtures/scss-lint-test.yml
config file
#6
@
9 years ago
I just ran all build tasks with Grunt:
git clone git://buddypress.git.wordpress.org/ develop cd develop sudo npm install grunt build
#7
@
9 years ago
The package that should be installed is scss_lint
, the latest release is 0.43.2
The previous package scss-lint
latest release is 0.38.0
I've no idea why the Ruby gem package was renamed but the package with the _
underscore is the one should be used.
You can see both rumy gem packages and there details here:
Both packages source was/is from https://github.com/brigade/scss-lint
#8
@
9 years ago
Turns out I had scss-lint
v0.38.0 installed myself:
scss-lint (0.38.0)
Time to uninstall:
$ gem uninstall scss-lint Remove executables: scss-lint in addition to the gem? [Yn] y Removing scss-lint Successfully uninstalled scss-lint-0.38.0
Lets reinstall the outdated version:
$ gem install scss-lint Fetching: scss-lint-0.38.0.gem (100%) WARNING: `scss-lint` has been renamed to `scss_lint` to follow proper RubyGems naming conventions. Update your Gemfile or relevant install scripts to install `scss_lint`. Successfully installed scss-lint-0.38.0 1 gem installed
Sweet, that explains why the package was renamed...
Uninstall that again via gem uninstall scss-lint
Now install the correct version:
$ gem install scss_lint Fetching: scss_lint-0.43.2.gem (100%) Successfully installed scss_lint-0.43.2 1 gem installed
In keeping things as clears as mud the executable still contains the hyphen:
$ scss-lint --version
scss-lint 0.43.2
#9
@
9 years ago
- Milestone changed from Awaiting Review to 2.5
In 6825.diff Travis CI will now install the correct Ruby gem scss_lint
e.g: https://travis-ci.org/buddypress/BuddyPress/jobs/102097101#L121
#10
follow-up:
↓ 12
@
9 years ago
@netweb the warnings I had were from scss_lint (this was the version I had installed originally). scss-lint (the older version which I installed subsequently) seems more forgiving because I had no warnings show up when using that.
#11
@
9 years ago
PseudoElement
I've opened a SCSS-Lint issue upstream to support single colon syntaxes for PseudoElement
... note that IE8 (and other old browsers that don't understand the newer :: syntax) will see the double colon pseudo-elements and ignore the entire ruleset as per the requirements in the CSS 2.1 spec says to do.
... using SCSS-Lint with WordPress and as IE8 is still a supported browser by WordPress, WordPress uses single colon:
syntaxes for pseudo-elements.
For now disabling the rule in scss-lint.yml
will suffice:
PseudoElement: enabled: false
EmptyLineBetweenBlocks
The EmptyLineBetweenBlocks
lint errors are via https://github.com/brigade/scss-lint/pull/632:
This only affects @media and @at-root, which are not control flow. It seems like
EmptyLineBetweenBlocks
should always expect empty lines around these.
There is no current way to exclude requiring a new line around @media
so updated patch will include this change (which kind of in fact normalizes existing emtpy lines anyway)
#12
in reply to:
↑ 10
@
9 years ago
Replying to henry.wright:
@netweb the warnings I had were from scss_lint (this was the version I had installed originally). scss-lint (the older version which I installed subsequently) seems more forgiving because I had no warnings show up when using that.
It's not so much forgiving, its an old out of date version, 6825.1.diff updates BP's SCSS-Lint configuration to work with the latest SCSS-Lint 0.43.2
version and successfully passes all the Grunt tasks.
#13
@
9 years ago
Note: For 6825.1.diff to pass in your local environment you will need to install the latest version of SCSS-Lint and remove the old Ruby gem:
- Run
gem uninstall scss-lint
and when prompted remove the executable as well by hittingy
- Install the latest Ruby gem by running
gem install scss_lint
#14
@
9 years ago
Thanks, I'll reinstall scss_lint now. And +1 for making sense of it all, the renaming made things quite confusing
#15
follow-up:
↓ 16
@
9 years ago
Great so I'm halted in my tracks and can't do any work until I've sorted out some tools and likely wasted a productive morning, sidetracked to wrestling with package installs *sigh*
@netweb we would need to update the package.json css-lint version number wouldn't we?
I do hope 'pseudoelement' is simply a reference to a given instance of colons used and not literal as there are actually two psuedo properties 'elements' and 'classes'
#16
in reply to:
↑ 15
@
9 years ago
Replying to hnla:
Great so I'm halted in my tracks and can't do any work until I've sorted out some tools and likely wasted a productive morning, sidetracked to wrestling with package installs *sigh*
All you need to do is follow the two steps I listed in comment:13, shouldn't take more than a minute or two.
@netweb we would need to update the package.json css-lint version number wouldn't we?
No, no other changes are needed.
I do hope 'pseudoelement' is simply a reference to a given instance of colons used and not literal as there are actually two psuedo properties 'elements' and 'classes'
It is
#17
follow-ups:
↓ 18
↓ 22
@
9 years ago
It would be two minutes if one didn't feel so confused looking through these repos puzzling version numbers, packages that don't appear to acknowledge such an issue when they are dependent on something that has changed, nothing about grunt feels straightforward.
I terms of those actually needing to run commit/build how do we determine that everyone knows to uninstall gem manually is there a means to force that or do we just have to make some comment in slack that this needs to be done?
#18
in reply to:
↑ 17
@
9 years ago
Replying to hnla:
It would be two minutes if one didn't feel so confused looking through these repos puzzling version numbers, packages that don't appear to acknowledge such an issue when they are dependent on something that has changed, nothing about grunt feels straightforward.
I terms of those actually needing to run commit/build how do we determine that everyone knows to uninstall gem manually is there a means to force that or do we just have to make some comment in slack that this needs to be done?
You can force Travis to use the right package (@netweb has done that above) but in terms of everyone's local environment, I think a Slack announcement might be the way to go.
#19
@
9 years ago
@netweb I'm going to run your patch and commit - as always thanks for looking into and sorting out, just a shame these things crop up.
#20
@
9 years ago
- Owner set to hnla
- Resolution set to fixed
- Status changed from new to closed
In 10450:
#22
in reply to:
↑ 17
@
9 years ago
Replying to hnla:
With thanks to netweb for looking into the linting issue & providing solution.
Thanks :)
Replying to hnla:
I terms of those actually needing to run commit/build how do we determine that everyone knows to uninstall gem manually is there a means to force that or do we just have to make some comment in slack that this needs to be done?
As Henry said, a quick ping in Slack would be best.
That said though, someone will come along with a new computer or setting themselves up for the first time and find these types of things that have slipped us by. We've tried and are now mitigating much of these types of issues with grunt checkDependencies
via #6756 but that doesn't account for this one Ruby gem dependancy that BP requires, switching away from this when we can is a priority to make things easier to get started with hacking on BuddyPress.
Stylelint is a NodeJS NPM module that we can switch to which makes it *not* a Ruby gem so thats a good thing I'll look into when I've some more time.
#23
@
9 years ago
...will come along with a new computer or setting themselves up for the first time and find these types of things that have slipped us by.
And therein lies one of the problems with these setups, that require the installers of this collection files to have to manually trawl through all the various repos on the off chance that one may be outdated or as in this case one of the packages dependencies may be with, however, the package seemingly unaware that it's primary dependencies has been updated.
As you point out check dependencies doesn't seem to help here as the package, although dependent, on an installation can't appear to check that version installed, so the sooner we can ditch the ruby gem here the better.
I do slightly wonder though why thse files aren't designed to load configs in an over loadable style so at least and regardless of version we would be assured of one custom set of configs read and actioned rather than as Henry found installing afresh resulting in looking at a ?default config.
No you shouldn't get any lint errors I check this twice over... or more and before committing the scss file have run grunt commit which further runs scsslint before running the other tasks such as Janus etc.
Having said that I would normally add a line break before a @media rule but have been slightly inconsistent there yet it's not throwing a warning for me running scsslint.
As for the double colon that's a nonsense really, we've always written as single colon and I'll be inclined to update the lint config to remove that check.