Need help with sqwish?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ded
200 Stars 13 Forks 43 Commits 12 Opened issues

Description

a node-based CSS compressor

Services available

!
?

Need anything else?

Contributors list

# 18,523
JavaScr...
HTML
jQuery
jsonp
26 commits
# 88,294
sentry
watchos
javascr...
Sass
2 commits
# 386,651
JavaScr...
CSS
2 commits
# 2,025
ESLint
Sass
test-fr...
phantom...
1 commit
# 129,170
src
CSS
PHP
vuejs2
1 commit
# 27,388
rate-li...
Python
raven
sentry
1 commit
# 239,006
CSS
C++
Shell
mint
1 commit
# 81,759
jQuery
CSS
image-c...
npm-scr...
1 commit
# 356,449
HTML
Shell
CSS
1 commit

Welcome to Sqwish

A Node based CSS Compressor. It works like this.

require('sqwish').minify('body { color: #ff33cc; }');
// => "body{color:#f3c}"

CLI

Install it.

$ npm install -g sqwish

Use it like this:

$ sqwish app.css # default output is .min.css therefore app.css => app.min.css
$ # or...
$ sqwish css/styles.css -o prod/something-else.min.css

Notes

Sqwish does not attempt to fix invalid CSS, therefore, at minimum, your CSS should at least follow the basic rules:

selectors[,more selectors] {
  property: value;
  another-property: another value;
}

Strict Optimizations

Aside from regular minification, in --strict mode Sqwish will combine duplicate selectors and merge duplicate properties.

/* before */
div {
  color: orange;
  background: red;
}
div {
  color: #ff33cc;
  margin: 1px 0px 1px 0px;
}

/* after */ div{color:#f3c;background:red;margin:1px 0}

This mode can be enabled as so:

sqwish.minify(css, true);

on the command line

$ sqwish styles.css --strict

Developers

Be sure you have the proper testing harness set up ahead of time by installing the sink-test submodule

$ npm install --dev

Tests can be added in tests/tests.js, and then run as such:

$ npm test

License

Sqwish is copyright Dustin Diaz 2011 under MIT License

Happy Sqwishing!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.