Nick Downing [Mon, 3 Jan 2022 03:59:04 +0000 (14:59 +1100)]
Change from pnpm to npm, add ./link.sh shortcut for npm style package linking
Nick Downing [Mon, 3 Feb 2020 15:47:55 +0000 (02:47 +1100)]
Update to pnpm not yarn
Nick Downing [Sat, 17 Nov 2018 10:44:49 +0000 (21:44 +1100)]
Add embedded ability, tokenizer starts at a specified input position just after an opening brace, and quits just before a closing brace, reporting the position
shrpne [Mon, 17 Sep 2018 07:23:56 +0000 (10:23 +0300)]
Update README.md (#1049)
Jakub Pawlowicz [Tue, 7 Aug 2018 08:46:15 +0000 (10:46 +0200)]
Fixes a typo in History.md.
Jakub Pawlowicz [Tue, 7 Aug 2018 08:45:20 +0000 (10:45 +0200)]
Bumps web interface to version 4.2.1.
Jakub Pawlowicz [Tue, 7 Aug 2018 08:40:59 +0000 (10:40 +0200)]
Version 4.2.1.
Jakub Pawlowicz [Tue, 7 Aug 2018 08:40:06 +0000 (10:40 +0200)]
Fixes giving `breakWith` option via a string.
Jakub Pawlowicz [Thu, 2 Aug 2018 12:43:16 +0000 (14:43 +0200)]
Bumps web interface to version 4.2.0.
Jakub Pawlowicz [Thu, 2 Aug 2018 12:39:23 +0000 (14:39 +0200)]
Version 4.2.0.
Jakub Pawlowicz [Thu, 2 Aug 2018 12:31:54 +0000 (14:31 +0200)]
Fixes #964 - allows for configurable line breaks.
Use `{ format: { breakWith: 'lf' } }` option to configure what line
break looks like, allows `'crlf'` or `'lf'`, defaults to current system
one so former on Windows and latter on Unix.
Jakub Pawlowicz [Wed, 1 Aug 2018 13:53:43 +0000 (15:53 +0200)]
Fixes #1000 - carriage return handling in tokenizer.
Jakub Pawlowicz [Wed, 1 Aug 2018 13:41:18 +0000 (15:41 +0200)]
Fixes #986 - CSS 4 colors in level 2 optimizations.
Jakub Pawlowicz [Wed, 1 Aug 2018 12:40:51 +0000 (14:40 +0200)]
Fixes #1036 - double `deepClone` declaration.
Jakub Pawlowicz [Wed, 1 Aug 2018 12:39:47 +0000 (14:39 +0200)]
Updates changelog - see #1037.
Jason Pamental [Wed, 1 Aug 2018 12:16:51 +0000 (08:16 -0400)]
Fix incorrect stripping of quotes in font-variation-settings (#1039)
Chang Wang [Wed, 1 Aug 2018 12:16:01 +0000 (08:16 -0400)]
Update downloads badge to point to graph of downloads (#1011)
Vlad Mitkovsky [Wed, 1 Aug 2018 12:14:14 +0000 (06:14 -0600)]
Update README.md (#1023)
Added 'semicolonAfterLastProperty' control description.
Jakub Pawlowicz [Tue, 6 Mar 2018 13:59:38 +0000 (14:59 +0100)]
Bumps web interface to version 4.1.11.
Jakub Pawlowicz [Tue, 6 Mar 2018 13:49:56 +0000 (14:49 +0100)]
Version 4.1.11 release notes.
Jakub Pawlowicz [Tue, 6 Mar 2018 10:10:05 +0000 (11:10 +0100)]
Fixes ReDOS vulnerabilities.
Jamie Davis (@davisjam) from Virginia Tech reported that clean-css
suffers from ReDOS vulnerability [0] when fed with crafted input.
Since not so many people use clean-css allowing untrusted input such
cases may be rare, but this commit reworks vulnerable code to prevent
such attacks.
It also limits certain whitespace blocks to sane length of 31 characters
in validation regexes to prevent similar issues.
[0] https://snyk.io/blog/redos-and-catastrophic-backtracking
Jakub Pawlowicz [Tue, 6 Mar 2018 06:57:55 +0000 (07:57 +0100)]
Bumps web interface to version 4.1.10.
Jakub Pawlowicz [Mon, 5 Mar 2018 18:29:07 +0000 (19:29 +0100)]
Version 4.1.10 release notes.
Jakub Pawlowicz [Mon, 5 Mar 2018 18:23:32 +0000 (19:23 +0100)]
Fixes #1006 - handling invalid input source maps.
Jakub Pawlowicz [Mon, 5 Mar 2018 16:16:42 +0000 (17:16 +0100)]
Fixes #1008 - edge case in breaking up `font`.
`font` shorthand needs `font-size` and `font-family`.
Jakub Pawlowicz [Mon, 5 Mar 2018 12:59:47 +0000 (13:59 +0100)]
Adds @abarre fix to #1001 to release notes.
Jakub Pawlowicz [Mon, 5 Mar 2018 12:52:35 +0000 (13:52 +0100)]
Fixes #989 - edge case in removing unused at-rules.
When a value has `!important` in it then it should be stripped bare
before matching to the list of at-rules.
Jakub Pawlowicz [Mon, 5 Mar 2018 11:37:26 +0000 (12:37 +0100)]
Fixes #988 - edge case in dropping `animation-duration`.
When `animation-duration` is default but `animation-delay` isn't we
shouldn't drop the former as both need to be given.
Anthony BARRE [Mon, 5 Mar 2018 12:58:25 +0000 (13:58 +0100)]
[#1001] Fix corrupted state of tokenizer (#1010)
- case of roundBracketLevel inferior to 0.
DChristiany [Tue, 7 Nov 2017 16:41:50 +0000 (17:41 +0100)]
Add an option for keeping trailing semicolons in rule (#983)
Adds semicolonAfterLastProperty to format options and force keeping semicolon after last property, defaults to `false`.
Markus Oberlehner [Tue, 31 Oct 2017 10:26:22 +0000 (11:26 +0100)]
Promote installing as dev dependency (#981)
clean-css is a typical dev dependency which should be installed as such
in most of the cases. By providing an example code snippet with the
`--save-dev` option, we're helping the users to do the right thing.
greenkeeper[bot] [Thu, 5 Oct 2017 02:53:38 +0000 (04:53 +0200)]
fix(package): update source-map to version 0.6.0 (#977)
Jakub Pawlowicz [Tue, 19 Sep 2017 09:25:03 +0000 (11:25 +0200)]
Bumps web interface to version 4.1.9.
Jakub Pawlowicz [Tue, 19 Sep 2017 09:17:17 +0000 (11:17 +0200)]
Version 4.1.9 release notes.
Jakub Pawlowicz [Tue, 19 Sep 2017 09:16:25 +0000 (11:16 +0200)]
See #971 - adds History.md entry about fixed issue.
Matthew Bennett [Tue, 19 Sep 2017 09:11:07 +0000 (02:11 -0700)]
Ignore quotes when checking @font-face use (#972)
Jakub Pawlowicz [Sat, 2 Sep 2017 19:16:48 +0000 (21:16 +0200)]
Bumps web interface to version 4.1.8.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:39:31 +0000 (20:39 +0200)]
Version 4.1.8 release notes.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:35:26 +0000 (20:35 +0200)]
Fixes #966 - remote `@import`s referenced from local ones.
This is an edge case when local `@import` was given by hash and
referenced a remote one which was processed synchronously but should
have been asynchronously.
Jakub Pawlowicz [Sat, 2 Sep 2017 18:01:43 +0000 (20:01 +0200)]
Fixes #965 - edge case in parsing comment endings.
This is an edge case when a comment is closed twice leading to the
second end marker leaking to the next token.
Jakub Pawlowicz [Sat, 2 Sep 2017 17:15:27 +0000 (19:15 +0200)]
Fixes #959 - regression in shortening long hex values.
Introduced in #945.
Jakub Pawlowicz [Sat, 2 Sep 2017 16:18:56 +0000 (18:18 +0200)]
Fixes #960 - better explanation of `efficiency`.
Jakub Pawlowicz [Fri, 14 Jul 2017 13:10:18 +0000 (15:10 +0200)]
Bumps web interface to version 4.1.7.
Jakub Pawlowicz [Fri, 14 Jul 2017 12:47:16 +0000 (14:47 +0200)]
Version 4.1.7 release notes.
Jakub Pawlowicz [Fri, 14 Jul 2017 12:42:04 +0000 (14:42 +0200)]
Fixes #957 - `0%` minification of `width` property.
Why:
* Apparently `width` and `max-width` `0%` value cannot be turned into
`0`, see: https://codepen.io/judowalker/pen/xrMxWj
Ng Yik Phang [Fri, 14 Jul 2017 12:26:50 +0000 (20:26 +0800)]
Fix "special comments" option on web interface (#956)
Jakub Pawlowicz [Sat, 8 Jul 2017 09:51:29 +0000 (11:51 +0200)]
Bumps web interface to version 4.1.6.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:44:33 +0000 (11:44 +0200)]
Version 4.1.6 release notes.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:32:37 +0000 (11:32 +0200)]
Fixes #953 - beautify breaks attribute selectors.
Why:
* `~` marker can be used both to denote adjacent selectors and inside
an attribute matcher.
Jakub Pawlowicz [Sat, 8 Jul 2017 09:16:40 +0000 (11:16 +0200)]
Fixes #887 - edge case in serializing comments.
Why:
* When `removeEmpty: false` is used then comments are not properly
removed from a list of tokens.
Jakub Pawlowicz [Thu, 29 Jun 2017 06:58:26 +0000 (08:58 +0200)]
Bumps web interface to version 4.1.5.
Jakub Pawlowicz [Thu, 29 Jun 2017 06:45:45 +0000 (08:45 +0200)]
Version 4.1.5 release notes.
Jakub Pawlowicz [Thu, 22 Jun 2017 08:35:52 +0000 (10:35 +0200)]
Fixes #952 - parsing `@page` as in CSS3 spec.
Why:
* CSS3 spec allows `@page` rules to have custom names and contain
page-margin boxes, see https://www.w3.org/TR/css3-page/#margin-boxes
* it enables all (?) of Prince page box rules too by whitelisting them.
Jakub Pawlowicz [Wed, 28 Jun 2017 12:31:07 +0000 (14:31 +0200)]
Fixes #945 - hex RGBA colors in IE filters.
Why:
* IE filters support hex RGBA colors and we were not matching correctly
against them.
Jakub Pawlowicz [Sat, 17 Jun 2017 11:07:24 +0000 (13:07 +0200)]
See #944 - fixes code formatting.
Jakub Pawlowicz [Sat, 17 Jun 2017 06:37:45 +0000 (08:37 +0200)]
Fixes #947 - selector based filtering.
Why:
* Sometimes it may be useful to rewrite or drop certain properties based
on selector value.
Jakub Pawlowicz [Fri, 16 Jun 2017 18:10:28 +0000 (20:10 +0200)]
See #895 - updates readme with version requirement.
Jakub Pawlowicz [Wed, 7 Jun 2017 12:23:27 +0000 (14:23 +0200)]
See #895 - ignoring specific styles.
Why:
* Allows parts of CSS document to be wrapped between
/* clean-css ignore:start */ and /* clean-css ignore:end */ comments
passing them to output untouched by parsing and optimizing;
* in case of some special stylesheets when optimizations can break
styling.
Jakub Pawlowicz [Fri, 16 Jun 2017 17:00:42 +0000 (19:00 +0200)]
Fixes #861 - new `transition` property optimizer.
Why:
* To collapse multiple `transition-*` properties into a shorthand
`transition` property;
* to merge `transition-*` properties into shorthand `transition`;
* to get rid of default values in shorthands.
Jakub Pawlowicz [Wed, 14 Jun 2017 09:23:37 +0000 (11:23 +0200)]
Bumps web interface to version 4.1.4.
Jakub Pawlowicz [Wed, 14 Jun 2017 08:50:17 +0000 (10:50 +0200)]
Version 4.1.4 release notes.
Jakub Pawlowicz [Tue, 13 Jun 2017 10:56:39 +0000 (12:56 +0200)]
Fixes #950 - removing unused `@font-face` at rules.
Why:
* A `@font-face` with particular font-family can be declared more than
once, e.g. when referring different font weights.
Jakub Pawlowicz [Wed, 7 Jun 2017 14:50:13 +0000 (16:50 +0200)]
See #944 - adds missing docs.
Jakub Pawlowicz [Wed, 7 Jun 2017 14:47:00 +0000 (16:47 +0200)]
Bumps version to 4.2.0-pre.
strarsis [Tue, 23 May 2017 11:51:13 +0000 (13:51 +0200)]
Add process method (compatibility with optimize-css-assets-webpack-plugin) (#944)
Jakub Pawlowicz [Thu, 18 May 2017 19:33:03 +0000 (21:33 +0200)]
Bumps web interface to version 4.1.3.
Jakub Pawlowicz [Thu, 18 May 2017 19:27:17 +0000 (21:27 +0200)]
Version 4.1.3 release notes.
Jakub Pawlowicz [Thu, 18 May 2017 19:21:02 +0000 (21:21 +0200)]
Fixes #946 - `-ms-grid-columns` repeat syntax.
Why:
* Apparently our tokenizer didn't recognize it properly, see:
https://msdn.microsoft.com/library/Hh772246
Jakub Pawlowicz [Wed, 10 May 2017 17:46:38 +0000 (19:46 +0200)]
Bumps web interface to version 4.1.2.
Jakub Pawlowicz [Wed, 10 May 2017 17:34:10 +0000 (19:34 +0200)]
Version 4.1.2 release notes.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Fixes #939 - semicolon after `@apply` at rule.
Why:
* Apparently IE11 and Edge doesn't like `@apply` without a trailing
semicolon.
Jakub Pawlowicz [Wed, 10 May 2017 13:19:07 +0000 (15:19 +0200)]
Fixes #941 - breaking up vendor prefixed `animation`.
Why:
* Components of vendor prefixed `animation` were incorrectly derived
from an unprefixed property leading to errors.
Jakub Pawlowicz [Tue, 9 May 2017 18:21:31 +0000 (20:21 +0200)]
Fixes #940 - handles more `font` keywords.
Why:
* The list wasn't exhaustive, hopefully the new one is.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Version 4.0.13 release notes.
Jakub Pawlowicz [Wed, 10 May 2017 08:45:45 +0000 (10:45 +0200)]
Version 3.4.26 release notes.
Jakub Pawlowicz [Mon, 8 May 2017 07:04:55 +0000 (09:04 +0200)]
Bumps web interface to version 4.1.1.
Jakub Pawlowicz [Mon, 8 May 2017 06:57:29 +0000 (08:57 +0200)]
Version 4.1.1 release notes.
Jakub Pawlowicz [Mon, 8 May 2017 06:50:19 +0000 (08:50 +0200)]
Fixes #938 - removing unused at-rules with `!important`.
Why:
* When an at-rule is referenced from a shorthand property, the latter
needs to be broken apart, which as a result strips `!important`
modifier. So after checking shorthands need to be restored back.
Jakub Pawlowicz [Sun, 7 May 2017 06:33:20 +0000 (08:33 +0200)]
Bumps web interface to version 4.1.0.
Jakub Pawlowicz [Sun, 7 May 2017 06:28:14 +0000 (08:28 +0200)]
Version 4.1.0.
Jakub Pawlowicz [Sat, 6 May 2017 09:45:30 +0000 (11:45 +0200)]
Adds web UI options for version 4.1.
Jakub Pawlowicz [Sat, 6 May 2017 09:31:07 +0000 (11:31 +0200)]
Updates readme for version 4.1.
Jakub Pawlowicz [Sat, 6 May 2017 09:27:55 +0000 (11:27 +0200)]
See #906 - adds ticket notes.
Jakub Pawlowicz [Sat, 6 May 2017 06:38:29 +0000 (08:38 +0200)]
See #906 - stores settings in localStorage.
Why:
* It lets user customize settings once and reuse them at later time;
* user can always reset settings to default if needed.
Jakub Pawlowicz [Thu, 4 May 2017 12:41:07 +0000 (14:41 +0200)]
See #906 - handle dropdown events correctly.
Why:
* `change` event needs to be handled as handling `click` when it comes
to dropdowns is not enough.
Jakub Pawlowicz [Thu, 4 May 2017 11:57:20 +0000 (13:57 +0200)]
See #906 - adds more intuitive settings toggling.
Why:
* Simply reuses gear icon for hiding settings form.
Jakub Pawlowicz [Mon, 24 Apr 2017 06:59:00 +0000 (08:59 +0200)]
See #906 - adds 'reset settings' button.
Why:
* So users can reset settings form to default values if needed.
Jakub Pawlowicz [Mon, 24 Apr 2017 06:03:06 +0000 (08:03 +0200)]
See #906 - sets optimization options inline.
Why:
* It's not fully intuitive to have an `Apply` button at the bottom of
the form and require users to find it;
* instead options are set now automatically upon change.
Jakub Pawlowicz [Fri, 5 May 2017 05:10:22 +0000 (07:10 +0200)]
Adds missing `format` option documentation
Jakub Pawlowicz [Fri, 21 Apr 2017 12:13:49 +0000 (14:13 +0200)]
Reformats 'merge into shorthands' code.
Why:
* It now follows the preferred top-down order of functions.
Jakub Pawlowicz [Fri, 21 Apr 2017 09:04:10 +0000 (11:04 +0200)]
Improves longhand-into-shorthand merging.
Why:
* In case of properties which are both longhands and shorthands at the
same time, e.g. `border-style`, the merging was dropped prematurely;
* also inverts order of property optimizations, doing merging first
followed by overriding, which results in more optimization
opportunities.
Jakub Pawlowicz [Thu, 20 Apr 2017 14:09:19 +0000 (16:09 +0200)]
Fixes #525 - restores `inherit`-based merging.
Why:
* Merging longhands into shorthand when `inherit` is present is possible
and this commit restores this functionality;
* it was previously removed after big level 2 optimizations refactoring
in clean-css 3.2.
Jakub Pawlowicz [Thu, 20 Apr 2017 06:15:59 +0000 (08:15 +0200)]
Reformats list of upcoming changes in ascending order.
Jakub Pawlowicz [Thu, 20 Apr 2017 06:14:07 +0000 (08:14 +0200)]
Updates readme to correctly refer to next release.
Jakub Pawlowicz [Fri, 24 Mar 2017 11:24:17 +0000 (12:24 +0100)]
Fixes #862 - allows removing unused at rules.
Why:
* When an at-rule, i.e. `@counter-style`, `@font-face`, `@keyframes`, or
`@namespace`, is not referenced anywhere in a stylsheet it can be
safely removed;
* inspired by https://www.npmjs.com/package/postcss-discard-unused
Jakub Pawlowicz [Fri, 24 Mar 2017 11:00:10 +0000 (12:00 +0100)]
See #862 - allows non-standard `list-style-type`.
Why:
* `@counter-style` can define a non-standard values which should be
treated as first class citizens.
Jakub Pawlowicz [Fri, 7 Apr 2017 06:05:06 +0000 (08:05 +0200)]
Fixes #860 - adds `animation` property optimizer.
Why:
* Just as for other transformations, this code enables merging in
longhand properties and overriding longhand properties for `animation`
property and its components;
* some overriding examples at https://jsfiddle.net/m77mbj3f/
Jakub Pawlowicz [Tue, 18 Apr 2017 10:16:56 +0000 (12:16 +0200)]
Fixes #933 - smarter longhand into shorthand merging.
Why:
* When merging in `background-*` longhand properties into `background`
multiplex shorthand need to be expanded into a multiplex first.
However all but `background-image` require their values to be copied
instead of default ones, see https://jsfiddle.net/e8vkxyy4/2/
Jakub Pawlowicz [Thu, 13 Apr 2017 16:58:08 +0000 (18:58 +0200)]
Adds a new issue template (#934)
Why:
* Not everyone read contributing guide so this should improve things slightly.
Jakub Pawlowicz [Wed, 12 Apr 2017 19:11:40 +0000 (21:11 +0200)]
Bumps web interface to version 4.0.12.