clean-css.git
9 years agoFixes #602 - backslash IE hacks after a space.
Jakub Pawlowicz [Sun, 14 Jun 2015 14:41:11 +0000 (15:41 +0100)]
Fixes #602 - backslash IE hacks after a space.

Previously a backslash IE hacks with a leading space
were not processed correctly.

9 years agoFixes #595 - more relaxed flat block matching.
Jakub Pawlowicz [Sun, 14 Jun 2015 13:52:45 +0000 (14:52 +0100)]
Fixes #595 - more relaxed flat block matching.

Apparently there are IE hacks that allow mixing flat block
declarations with pseudoselectors:

```css
/* IE 10 special css */
_:-ms-lang(x), @-ms-viewport {
  width: auto\9 !important;
}
```

9 years agoFixes #601 - minifying percentages inside `flex`.
Jakub Pawlowicz [Sun, 14 Jun 2015 09:59:02 +0000 (10:59 +0100)]
Fixes #601 - minifying percentages inside `flex`.

Apparently IE10-11 do not like it.

9 years agoMerge pull request #597 from kaelig/patch-1
Jakub Pawlowicz [Wed, 10 Jun 2015 06:45:50 +0000 (07:45 +0100)]
Merge pull request #597 from kaelig/patch-1

It's Sass, not SASS

9 years agoIt's Sass, not SASS
Kaelig [Tue, 9 Jun 2015 16:21:00 +0000 (17:21 +0100)]
It's Sass, not SASS

9 years agoVersion 3.3.1 release notes.
Jakub Pawlowicz [Tue, 2 Jun 2015 20:00:41 +0000 (21:00 +0100)]
Version 3.3.1 release notes.

9 years agoFixes #590 - an edge case in import processing.
Jakub Pawlowicz [Tue, 2 Jun 2015 18:51:24 +0000 (19:51 +0100)]
Fixes #590 - an edge case in import processing.

Rebasing import statements without url had a nasty edge case where
a subsequent content ended up wrapped into a `url()`.

9 years agoPoints master to version 3.4.0-pre.
Jakub Pawlowicz [Sun, 31 May 2015 15:10:13 +0000 (16:10 +0100)]
Points master to version 3.4.0-pre.

9 years agoVersion 3.3.0.
Jakub Pawlowicz [Sun, 31 May 2015 15:06:41 +0000 (16:06 +0100)]
Version 3.3.0.

9 years agoVersion 3.2.11 release notes.
Jakub Pawlowicz [Sun, 31 May 2015 14:53:39 +0000 (15:53 +0100)]
Version 3.2.11 release notes.

9 years agoAdds semantic merging (off by default).
Jakub Pawlowicz [Mon, 4 May 2015 14:54:45 +0000 (15:54 +0100)]
Adds semantic merging (off by default).

The main obstacle on reordering and merging declarations is a fact that
arbitrary classes can be applied to an element and at CSS level we don't
know if that's the case or not.

However with semantic merging mode on we trust CSS author knows what she is doing.

This commit is just a start (see #588) of a journey. It is and will always
be turned off by default as it requires certain effort from stylesheets'
author.

So far plain class selectors and some BEM basics are supported.

9 years agoPins iojs on Travis to 2.1.0.
Jakub Pawlowicz [Sun, 31 May 2015 13:30:54 +0000 (14:30 +0100)]
Pins iojs on Travis to 2.1.0.

See https://github.com/nodejs/io.js/issues/1850

9 years agoFollow up to #587 - `border-radius` handling.
Jakub Pawlowicz [Sun, 31 May 2015 07:03:45 +0000 (08:03 +0100)]
Follow up to #587 - `border-radius` handling.

9 years agoFixes #587 - too aggressive `border` reordering.
Jakub Pawlowicz [Sat, 30 May 2015 07:04:43 +0000 (08:04 +0100)]
Fixes #587 - too aggressive `border` reordering.

Not all border reordering cases were covered correctly.

9 years agoFixes #580 - mixed import processing.
Jakub Pawlowicz [Fri, 29 May 2015 08:46:02 +0000 (09:46 +0100)]
Fixes #580 - mixed import processing.

This is related to #570 when a no-url imports are mixed with url ones.

9 years agoFixes #582 - overriding with prefixed values.
Jakub Pawlowicz [Wed, 27 May 2015 20:52:55 +0000 (21:52 +0100)]
Fixes #582 - overriding with prefixed values.

When overriding a longhand property with a vendor-prefixed shorthand
make sure not to loose the former, e.g.

```css
a {
  background-color: red;
  display: block;
  background: -ms-linear-gradient(...);
}
```

9 years agoFixes #583 - URL quoting for SVG data.
Jakub Pawlowicz [Wed, 27 May 2015 08:19:48 +0000 (09:19 +0100)]
Fixes #583 - URL quoting for SVG data.

If a SVG content is used directly in data: URI we need to make sure
correct quotes are used.

It works for any kind of URL however using quotes in the middle of URLs
is quite rare.

9 years agoFixes #562 - optimizing invalid color values.
Jakub Pawlowicz [Wed, 20 May 2015 20:39:50 +0000 (21:39 +0100)]
Fixes #562 - optimizing invalid color values.

We'll leave them as is for now as it's too tricky to remove them
at this point.

9 years agoFixes #579 - disables `background-origin` merging into shorthand.
Jakub Pawlowicz [Wed, 20 May 2015 20:03:55 +0000 (21:03 +0100)]
Fixes #579 - disables `background-origin` merging into shorthand.

It seems to be only compatible with IE10+ so we'll keep it disabled
for now.

9 years agoFixes sorting of options in compatibility.
Jakub Pawlowicz [Wed, 20 May 2015 19:57:06 +0000 (20:57 +0100)]
Fixes sorting of options in compatibility.

9 years agoFixes #577 - disables `background-clip` merging into shorthand.
Jakub Pawlowicz [Wed, 20 May 2015 19:52:18 +0000 (20:52 +0100)]
Fixes #577 - disables `background-clip` merging into shorthand.

It seems to be only compatible with IE10+ so we'll keep it disabled
for now.

9 years agoFixes #570 - rebasing "no-url()" imports.
Jakub Pawlowicz [Wed, 20 May 2015 19:25:12 +0000 (20:25 +0100)]
Fixes #570 - rebasing "no-url()" imports.

`@import '...';` should be treated the same as `@import url(...);`.

9 years agoFixes #563 - `background:inherit` restoring.
Jakub Pawlowicz [Tue, 19 May 2015 19:33:04 +0000 (20:33 +0100)]
Fixes #563 - `background:inherit` restoring.

Restoring inherit background were done incorrectly (to expanded form).

9 years agoFixes #575 - missing directory as a `target`.
Jakub Pawlowicz [Tue, 19 May 2015 18:57:39 +0000 (19:57 +0100)]
Fixes #575 - missing directory as a `target`.

When a `target` is given as a directory which does not exist (perfectly
valid in API mode) we should still handle it correctly.

9 years agoFixes spec formatting.
Jakub Pawlowicz [Fri, 15 May 2015 10:33:00 +0000 (11:33 +0100)]
Fixes spec formatting.

9 years agoFixes #574 - rewriting internal URLs.
Jakub Pawlowicz [Fri, 15 May 2015 10:32:01 +0000 (11:32 +0100)]
Fixes #574 - rewriting internal URLs.

We should not rewrite URLs such as about:config etc.

9 years agoBumps browserify dependency to 10.x.
Jakub Pawlowicz [Fri, 15 May 2015 10:16:03 +0000 (11:16 +0100)]
Bumps browserify dependency to 10.x.

9 years agoBumps nock dependency to 2.x.
Jakub Pawlowicz [Fri, 15 May 2015 10:03:15 +0000 (11:03 +0100)]
Bumps nock dependency to 2.x.

9 years agoVersion 3.2.10 release notes.
Jakub Pawlowicz [Thu, 14 May 2015 17:48:48 +0000 (18:48 +0100)]
Version 3.2.10 release notes.

9 years agoFixes #572 - empty elements removal.
Jakub Pawlowicz [Thu, 14 May 2015 17:43:53 +0000 (18:43 +0100)]
Fixes #572 - empty elements removal.

So we shared `token` variable among more than one context, which was
causing issues when removing empty elements.

9 years agoFixes #571 - adds information about output of minify method.
Jakub Pawlowicz [Wed, 13 May 2015 07:41:04 +0000 (08:41 +0100)]
Fixes #571 - adds information about output of minify method.

9 years agoAdds contributing guideline.
Jakub Pawlowicz [Mon, 11 May 2015 18:24:10 +0000 (19:24 +0100)]
Adds contributing guideline.

9 years agoVersion 3.2.9 release notes.
Jakub Pawlowicz [Fri, 8 May 2015 08:53:52 +0000 (09:53 +0100)]
Version 3.2.9 release notes.

9 years agoFixes #567 - regression in function color merging.
Jakub Pawlowicz [Fri, 8 May 2015 08:46:48 +0000 (09:46 +0100)]
Fixes #567 - regression in function color merging.

Having two colors are functions resulted in a incorect call to a function
checking if two colors are same function or not.

9 years agoVersion 3.2.8 release notes.
Jakub Pawlowicz [Mon, 4 May 2015 15:16:59 +0000 (16:16 +0100)]
Version 3.2.8 release notes.

9 years agoFixes #561 - restructuring special selectors.
Jakub Pawlowicz [Mon, 4 May 2015 15:13:56 +0000 (16:13 +0100)]
Fixes #561 - restructuring special selectors.

Regression from v3.2.7 where we forgot to check if selectors are
special or not. See a fix to #551.

9 years agoFixes #375 - unit compatibility switches.
Jakub Pawlowicz [Mon, 4 May 2015 11:11:10 +0000 (12:11 +0100)]
Fixes #375 - unit compatibility switches.

Adds compatibility switches for `ch`, `vh`, `vm`, `vmax`, `vmin`,
and `vw` units.

Note we need #290 to fully support all use cases. Currently it'll be
just for implemented shorthands.

9 years agoImproves compatibility documentation.
Jakub Pawlowicz [Mon, 4 May 2015 09:31:29 +0000 (10:31 +0100)]
Improves compatibility documentation.

9 years agoImproves compatibility code tests.
Jakub Pawlowicz [Mon, 4 May 2015 09:31:16 +0000 (10:31 +0100)]
Improves compatibility code tests.

9 years agoFixes #517 - turning off color optimizations.
Jakub Pawlowicz [Mon, 4 May 2015 09:20:35 +0000 (10:20 +0100)]
Fixes #517 - turning off color optimizations.

With `-properties.colors` / `properties: { colors: false }` switch
it's possible to turn off all color optimizations now.

9 years agoFixes #542 - space after closing brace in IE.
Jakub Pawlowicz [Mon, 4 May 2015 08:29:57 +0000 (09:29 +0100)]
Fixes #542 - space after closing brace in IE.

Starting with version 3.3 this feature will be disabled since:

* it apparently does not work in IE9 where removing the space will
  always break content.
* in IE 10 it works only inside `background`, `transform` and `src`
  properties.

Once we switch to supporting (just 2 latest versions) we will likely turn
it on again.

9 years agoFixes #448 - rebasing no protocol URIs.
Jakub Pawlowicz [Mon, 4 May 2015 06:22:45 +0000 (07:22 +0100)]
Fixes #448 - rebasing no protocol URIs.

When rebasing remote imports with URIs given without a protocol the
resulting CSS should also use no protocol, e.g:

```
@import "//127.0.0.1/no-protocol.css";
```

=>

```
a{background:url(//127.0.0.1/image.png)}
```

9 years agoVersion 3.2.7 release notes.
Jakub Pawlowicz [Sun, 3 May 2015 14:07:25 +0000 (15:07 +0100)]
Version 3.2.7 release notes.

9 years agoFixes #553 - another style of SVG fallback.
Jakub Pawlowicz [Sun, 3 May 2015 14:03:33 +0000 (15:03 +0100)]
Fixes #553 - another style of SVG fallback.

This addresses any version of SVG fallback when one layer is set to
none. It's not future proof though since:

* it may bo none + sth
* it may be an empty linear gradient

Once we have #407 in place we'll be able to actually see which URL is
a SVG and decide based on that.

9 years agoFixes #558 - units in same selector merging.
Jakub Pawlowicz [Sun, 3 May 2015 13:29:15 +0000 (14:29 +0100)]
Fixes #558 - units in same selector merging.

We apparently had a `joinAt` in wrong order so adjacent properties
were not merged correctly when in compatibility mode.

9 years agoFixes #551 - edge case in restructuring.
Jakub Pawlowicz [Sun, 3 May 2015 11:09:50 +0000 (12:09 +0100)]
Fixes #551 - edge case in restructuring.

There was a bug in restructuring algorithm which allowed properties
to be moved too high up by using multi property moves.

This commit changes the behavior to drop a multi-property move on
a first occasion, i.e. when one of properties with different value
is encountered.

9 years agoVersion 3.2.6 release notes.
Jakub Pawlowicz [Tue, 28 Apr 2015 08:50:58 +0000 (09:50 +0100)]
Version 3.2.6 release notes.

9 years agoFixes #550 - proper `contentSources` tracking.
Jakub Pawlowicz [Tue, 28 Apr 2015 08:47:47 +0000 (09:47 +0100)]
Fixes #550 - proper `contentSources` tracking.

This is a quick fix so an exception is not thrown, but the real question
will be how to preserve bootstrap maps as they are not tracked correctly due
to `sourcesContent` having wrong (?) source data. See #557.

9 years agoFixes #556 - regression in IE backslash hacks.
Jakub Pawlowicz [Tue, 28 Apr 2015 08:41:26 +0000 (09:41 +0100)]
Fixes #556 - regression in IE backslash hacks.

9 years agoVersion 3.2.5 release notes.
Jakub Pawlowicz [Sat, 25 Apr 2015 08:35:41 +0000 (09:35 +0100)]
Version 3.2.5 release notes.

9 years agoFixes #549 - keeping special comments in source maps.
Jakub Pawlowicz [Sat, 25 Apr 2015 08:33:54 +0000 (09:33 +0100)]
Fixes #549 - keeping special comments in source maps.

Since in source maps we restore content multiple times, the total
important comment counter was not kept as a state thus handled
incorrectly.

9 years agoFixes #543 - better "comment in body" handling.
Jakub Pawlowicz [Sat, 25 Apr 2015 08:15:31 +0000 (09:15 +0100)]
Fixes #543 - better "comment in body" handling.

So instead of keeping comments in a property list we get them out
of every property.

It is a bit tricky as comments escaped at the beginning need to be
tracked and saved, but ones from the middle or end of the value has
to be saved for later (see `innerProperties`) and tracked after the
property even if they are moved before it.

See tests for a better picture.

9 years agoFixes #548 - regression in font minifying.
Jakub Pawlowicz [Fri, 24 Apr 2015 12:55:14 +0000 (13:55 +0100)]
Fixes #548 - regression in font minifying.

Ah, you nasty font shorthand - we need #254.

9 years agoVersion 3.2.4 release notes.
Jakub Pawlowicz [Fri, 24 Apr 2015 07:50:06 +0000 (08:50 +0100)]
Version 3.2.4 release notes.

9 years agoFixes #546 - IE<11 `calc()` issue.
Jakub Pawlowicz [Fri, 24 Apr 2015 07:47:02 +0000 (08:47 +0100)]
Fixes #546 - IE<11 `calc()` issue.

So IE<11 does not support a space between calc() and whatever comes
after it.

There's gonna be a follow up with #547 in 3.3.

9 years agoFixes #544 - regression in same value merging.
Jakub Pawlowicz [Thu, 23 Apr 2015 20:41:25 +0000 (21:41 +0100)]
Fixes #544 - regression in same value merging.

9 years agoVersion 3.2.3 release notes.
Jakub Pawlowicz [Wed, 22 Apr 2015 21:16:14 +0000 (22:16 +0100)]
Version 3.2.3 release notes.

9 years agoFixes #541 - outline-style auto in shorthand.
Jakub Pawlowicz [Wed, 22 Apr 2015 21:12:29 +0000 (22:12 +0100)]
Fixes #541 - outline-style auto in shorthand.

Apparently two values that overlap between style and color are 'auto'
and 'none'. We handled only the latter one correctly.

9 years agoMoves URL scanner into lib/urls/reduce.
Jakub Pawlowicz [Tue, 21 Apr 2015 20:47:07 +0000 (21:47 +0100)]
Moves URL scanner into lib/urls/reduce.

Was named incorrectly before.

9 years agoMoves tokenizer code into lib/tokenizer.
Jakub Pawlowicz [Tue, 21 Apr 2015 20:36:01 +0000 (21:36 +0100)]
Moves tokenizer code into lib/tokenizer.

9 years agoCleans up tokenizer code getting rid of unnecessary state.
Jakub Pawlowicz [Tue, 21 Apr 2015 19:54:35 +0000 (20:54 +0100)]
Cleans up tokenizer code getting rid of unnecessary state.

9 years agoMoves URL rebasing & rewriting into lib/urls.
Jakub Pawlowicz [Tue, 21 Apr 2015 17:27:15 +0000 (18:27 +0100)]
Moves URL rebasing & rewriting into lib/urls.

After all those are not image-related anymore.

9 years agoCleans up url rebase code getting rid of unnecessary state.
Jakub Pawlowicz [Tue, 21 Apr 2015 17:23:47 +0000 (18:23 +0100)]
Cleans up url rebase code getting rid of unnecessary state.

9 years agoVersion 3.2.2 release notes.
Jakub Pawlowicz [Tue, 21 Apr 2015 06:33:01 +0000 (07:33 +0100)]
Version 3.2.2 release notes.

9 years agoFixes #537 - regression in simple optimizer.
Jakub Pawlowicz [Mon, 20 Apr 2015 21:24:01 +0000 (22:24 +0100)]
Fixes #537 - regression in simple optimizer.

Value minifiers do not work on many values at ones, so we need to
check the position when doing minification for properties that allow
more than one.

9 years agoVersion 3.2.1 release notes.
Jakub Pawlowicz [Mon, 20 Apr 2015 06:52:07 +0000 (07:52 +0100)]
Version 3.2.1 release notes.

9 years agoFixes #534 - wrong block stringifying.
Jakub Pawlowicz [Mon, 20 Apr 2015 06:40:41 +0000 (07:40 +0100)]
Fixes #534 - wrong block stringifying.

Flat blocks (`@font-face`) were omitted when adding optimization metadata,
thus an important attribute was incorrectly added.

9 years agoFixes #436 - refactors URI rewriting.
Jakub Pawlowicz [Sun, 19 Apr 2015 15:56:42 +0000 (16:56 +0100)]
Fixes #436 - refactors URI rewriting.

Now it's way easier to understand.

9 years agoBumps master to 3.3.0-pre.
Jakub Pawlowicz [Sun, 19 Apr 2015 14:01:57 +0000 (15:01 +0100)]
Bumps master to 3.3.0-pre.

9 years agoVersion 3.2.0.
Jakub Pawlowicz [Sun, 19 Apr 2015 13:52:14 +0000 (14:52 +0100)]
Version 3.2.0.

9 years agoTweaks performance of multiproperty restructuring.
Jakub Pawlowicz [Sun, 19 Apr 2015 13:42:17 +0000 (14:42 +0100)]
Tweaks performance of multiproperty restructuring.

We compare property names first then head to comparing a body which
adds a stringify step.

9 years agoBumps commander to 2.8.x.
Jakub Pawlowicz [Sun, 19 Apr 2015 13:29:31 +0000 (14:29 +0100)]
Bumps commander to 2.8.x.

9 years agoImproves multi-property restructuring.
Jakub Pawlowicz [Sun, 19 Apr 2015 12:18:12 +0000 (13:18 +0100)]
Improves multi-property restructuring.

It is not perfect though as not all properties which should be
moved are moved.

The current output is valid but not optimal.

See #533 for a follow up.

9 years agoAdds bootstrap to a reference list.
Jakub Pawlowicz [Sun, 19 Apr 2015 11:00:18 +0000 (12:00 +0100)]
Adds bootstrap to a reference list.

It'd be easier to catch errors as bootstrap has a quite edgy CSS.

9 years agoFixes regression in restructuring vendor prefixed properties.
Jakub Pawlowicz [Sun, 19 Apr 2015 08:45:44 +0000 (09:45 +0100)]
Fixes regression in restructuring vendor prefixed properties.

9 years agoFixes #504 - keeping `url()` quotes.
Jakub Pawlowicz [Sat, 18 Apr 2015 00:11:28 +0000 (01:11 +0100)]
Fixes #504 - keeping `url()` quotes.

It's off by default.

Kudos to @elcodedocle for inspiration.

9 years agoFixes #524 - schedules subsequent inlining in next tick.
Jakub Pawlowicz [Fri, 17 Apr 2015 07:15:13 +0000 (08:15 +0100)]
Fixes #524 - schedules subsequent inlining in next tick.

We don't need to call `response.end()` as it's called automatically
per spec: https://nodejs.org/api/http.html#http_http_get_options_callback

It may help solve the timeouts issue but certainly won't hurt.

9 years agoFixes #529 - wrong font weight minification.
Jakub Pawlowicz [Wed, 15 Apr 2015 22:43:46 +0000 (23:43 +0100)]
Fixes #529 - wrong font weight minification.

Actually reworked this minification so we should not have further
issues with it.

9 years agoFixes #371 - SVG background hack.
Jakub Pawlowicz [Wed, 15 Apr 2015 21:56:22 +0000 (22:56 +0100)]
Fixes #371 - SVG background hack.

It will work for background-image too, and in general for any
combination of two backgrounds where the latter is in the form of
`background:...,none;`.

9 years agoRemoves unused properties from optimization wrapper.
Jakub Pawlowicz [Wed, 15 Apr 2015 07:38:20 +0000 (08:38 +0100)]
Removes unused properties from optimization wrapper.

9 years agoFixes #528 - better support for IE<9 hacks.
Jakub Pawlowicz [Wed, 15 Apr 2015 07:25:02 +0000 (08:25 +0100)]
Fixes #528 - better support for IE<9 hacks.

Adds better hack handling in property overriding and compacting too.

Also normalizes all suffix hacks to '\0' as IE treats them equally.

9 years agoFixes #521 - unit optimizations inside `calc()`.
Jakub Pawlowicz [Tue, 14 Apr 2015 20:39:38 +0000 (21:39 +0100)]
Fixes #521 - unit optimizations inside `calc()`.

It's used as a hack so we should not optimize such expressions.

9 years agoFixes #526 - shorthand overriding into a function.
Jakub Pawlowicz [Tue, 14 Apr 2015 07:29:15 +0000 (08:29 +0100)]
Fixes #526 - shorthand overriding into a function.

We should not merge into a shorthand that has functions as it will
reduce understandability.

9 years agoFixes #487 - source map paths under Windows.
Jakub Pawlowicz [Mon, 13 Apr 2015 20:51:04 +0000 (21:51 +0100)]
Fixes #487 - source map paths under Windows.

Apparently there's a bug in `source-map` library which does not
normalize paths in `source` field to proper URL format.

Thus source maps generated on Windows have backslashes instead of
forward slashes. We correct it manually to get same output on all
platforms.

9 years agoFixes #508 - removing duplicate media queries.
Jakub Pawlowicz [Mon, 13 Apr 2015 20:31:09 +0000 (21:31 +0100)]
Fixes #508 - removing duplicate media queries.

It's same as with duplicated properties - they can be removed
no matter what.

9 years agoFixes #507 - merging longhand into many shorthands.
Jakub Pawlowicz [Mon, 13 Apr 2015 07:16:40 +0000 (08:16 +0100)]
Fixes #507 - merging longhand into many shorthands.

This disables such merges altogether as it is not an easy feat, since:

* Merged property may be default;
* Merged property can be merged into many shorthands resulting in
  longer value;
* There can be more properties waiting to be merged in.

Follow up in #527.

9 years agoFixes #490 - multivalue vendor prefixed background.
Jakub Pawlowicz [Sun, 12 Apr 2015 19:20:16 +0000 (20:20 +0100)]
Fixes #490 - multivalue vendor prefixed background.

Basically we were not testing if all values were overriddable, but just
the first one, which was failing if any further wasn't.

Note - we still need to fix shorthands being pulled into the last
shorthand only. It should likely be disabled altogether, which will solve

9 years agoFixes #446 - adds fuzzy matching to `list-style`.
Jakub Pawlowicz [Sun, 12 Apr 2015 18:33:55 +0000 (19:33 +0100)]
Fixes #446 - adds fuzzy matching to `list-style`.

The order is not important so we'll try to match components
searching for compatible values.

9 years agoFixes #468 - bumps `source-map` to 0.4.x.
Jakub Pawlowicz [Sun, 12 Apr 2015 17:18:38 +0000 (18:18 +0100)]
Fixes #468 - bumps `source-map` to 0.4.x.

Apparently it's not broken anymore as 0.3.x was giving some weird errors.

9 years agoBumps JSHint to 2.7.x.
Jakub Pawlowicz [Sun, 12 Apr 2015 17:08:59 +0000 (18:08 +0100)]
Bumps JSHint to 2.7.x.

9 years agoFixes shorthand test formatting.
Jakub Pawlowicz [Sun, 12 Apr 2015 17:07:12 +0000 (18:07 +0100)]
Fixes shorthand test formatting.

9 years agoImproves `spaceAfterClosingBrace` compatibility handling.
Jakub Pawlowicz [Sun, 12 Apr 2015 16:16:55 +0000 (17:16 +0100)]
Improves `spaceAfterClosingBrace` compatibility handling.

It should be handled in stringifier and so it's now.

As it turns out the previous way was not giving optimal output when
building source maps either.

9 years agoRefactors source map tracking to allow multiple origins.
Jakub Pawlowicz [Sun, 12 Apr 2015 15:47:56 +0000 (16:47 +0100)]
Refactors source map tracking to allow multiple origins.

See https://github.com/jakubpawlowicz/clean-css/issues/414#issuecomment-71010841
as a reference.

It allows introduced properties to have a mapping to many individual components.

9 years agoFixes #399 - compacting with source maps.
Jakub Pawlowicz [Sun, 12 Apr 2015 14:36:08 +0000 (15:36 +0100)]
Fixes #399 - compacting with source maps.

Enables compacting when building source maps. This is possible thanks
to #429 being fixed.

9 years agoSimplifies value extraction in `can-override`.
Jakub Pawlowicz [Sun, 12 Apr 2015 13:56:44 +0000 (14:56 +0100)]
Simplifies value extraction in `can-override`.

We now pass wrapped properties only so there's no need anymore to
do an array check.

9 years agoDisables compacting when property is inherited.
Jakub Pawlowicz [Sun, 12 Apr 2015 13:46:23 +0000 (14:46 +0100)]
Disables compacting when property is inherited.

See #525 for follow up.

9 years agoUpdates history with info about #429.
Jakub Pawlowicz [Sun, 12 Apr 2015 11:24:27 +0000 (12:24 +0100)]
Updates history with info about #429.

9 years agoNo shorthand compacting for less than 3 properties.
Jakub Pawlowicz [Sun, 12 Apr 2015 11:16:42 +0000 (12:16 +0100)]
No shorthand compacting for less than 3 properties.

There is no shorthand for 2 properties so there is no way it may
shorten the content.

It speeds up processing by ~5%.

9 years agoFixes overriding shorthands by shorthands.
Jakub Pawlowicz [Sun, 12 Apr 2015 11:06:57 +0000 (12:06 +0100)]
Fixes overriding shorthands by shorthands.

Previously a more understandable value could not override less
understandable one, e.g. function was not overridden by a unit or a color.

9 years agoFixes non-shorthand overriding.
Jakub Pawlowicz [Sun, 12 Apr 2015 10:40:05 +0000 (11:40 +0100)]
Fixes non-shorthand overriding.

So far it's limited to colors, transforms, and all longhands.