This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

fastatic

0.1.3 • Public • Published

Fastatic

Speed up your static site with one command: fastatic

Static site generators are the next big thing. Fastatic takes the ouput of any static site generator (Jekyll, Hugo and many others) and optimises it. The result: faster static sites.

Fastatic minifies your HTML, CSS, JS, JSON, XML and images. See issues for more planned improvements.

Example: React

Running Fastatic on the React's static site files results in a faster site:

 
┌───────────────────────────┬─────────────┬──────────────┬────────────────┐
│Filetype                   │Original size│Optimized size│          Saving│
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
**/*.css                   │     29.51 KB│      22.57 KB│   6.94 KB (24%)
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
**/*.html                  │      8.77 MB│       7.47 MB│   1.30 MB (15%)
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
**/*.{gif,jpg,jpeg,png,svg}│     14.83 MB│      13.44 MB│   1.39 MB  (9%)
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
**/*.js                    │      2.06 MB│       1.36 MB│ 714.22 KB (34%)
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
**/*.xml                   │    197.68 KB│     197.30 KB│     381 B  (0%)
├───────────────────────────┼─────────────┼──────────────┼────────────────┤
│Total                      │     25.94 MB│     22.54 MB │   3.39 MB (13%)
└───────────────────────────┴─────────────┴──────────────┴────────────────┘

Usage

Fastatic works out-of-the-box with zero configuration.

You can use Fastatic both as a CLI tool and programmatically in JS.

Install

Fastatic is written in Node.js and can be installed via npm:

$ npm install fastatic

CLI

Optimise all static files in current directory:

$ fastatic

Optimise all static files in a specific directory:

$ fastatic my-static-site-source/

Optimise all static files from a specific directory and output to a different directory using --dest:

$ fastatic my-static-site-source/ --dest my-static-site-dest/

JS

To use Fastatic programmatically import the fastatic module:

const fastatic = require('fastatic');

Optimise all static files in current directory:

fastatic();

Optimise all static files in a specific directory:

fastatic({ src: 'my-static-site-source/' });

Optimise all static files from a specific directory and output to a different directory:

fastatic({ src: 'my-static-site-source/', dest: 'my-static-site-dest/' });

Known limitations

  • Fastastic doesn't concatenate files (css / js) because there is no reliable way to determine the combinations in which these files are served, nor does it know about the protocol over which it's served (HTTP/1 or HTTP/2).
  • Fastastic doesn't resize images (png / jpg / gif) because there is no reliable way to determine which sizes the images are displayed in.

Contributing

See CONTRIBUTING.md for guidelines and development scripts.

License

MIT licensed © De Voorhoede

Readme

Keywords

Package Sidebar

Install

npm i fastatic

Weekly Downloads

2

Version

0.1.3

License

MIT

Last publish

Collaborators

  • devoorhoede