New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

fastatic

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastatic

Speed up your static site

latest
Source
npmnpm
Version
0.1.3
Version published
Maintainers
1
Created
Source

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

Keywords

optimization

FAQs

Package last updated on 17 Nov 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts