Ghost/ghost/minifier
Hannah Wolfe 19383f27f7 Switched uglify for terser + bugfixes
- Uglify was really slow and clunky, so replaced with terser which is fast and simple
- Ensured test cleanup works properly so we can be sure about the state of files during tests
- Changed the output from being the absolute path to just the "dest" value, as that is much more useful as absolute paths include local machine path names
- Fixed async/await issue that got the whole thing working 100%
2021-11-03 14:19:17 +00:00
..
lib Switched uglify for terser + bugfixes 2021-11-03 14:19:17 +00:00
test Switched uglify for terser + bugfixes 2021-11-03 14:19:17 +00:00
.eslintrc.js Minifier initial version 2021-11-03 14:16:49 +00:00
index.js Minifier initial version 2021-11-03 14:16:49 +00:00
LICENSE Minifier initial version 2021-11-03 14:16:49 +00:00
package.json Switched uglify for terser + bugfixes 2021-11-03 14:19:17 +00:00
README.md Minifier initial version 2021-11-03 14:16:49 +00:00

Minifier

Install

npm install @tryghost/minifier --save

or

yarn add @tryghost/minifier

Usage

const Minifier = require('@tryghost/minifier');
const minifier = new Minifier({
    src: 'my/src/path',
    dest: 'my/dest/path'
});

minifier.minify({
    'some.css': '*.css',
    'then.js': '!(other).js'
});
  • Minfier constructor requires a src and a dest
  • minify() function takes an object with destination file as the key and source glob as the value
    • globs can be anything tiny-glob supports
    • destination files must end with .css or .js
    • src files will be minified according to their destination file extension

Develop

This is a mono repository, managed with lerna.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Run

  • yarn dev

Test

  • yarn lint run just eslint
  • yarn test run lint and tests

Copyright & License

Copyright (c) 2013-2021 Ghost Foundation - Released under the MIT license.