Ghost/ghost/minifier
Hannah Wolfe 2a5d7f225c Reworked minifier to have 100% coverage
- As a library, minifier should be subject to 100% coverage
- minor change to the code combining globbing and file reading into a single function for error handling any case where the files can't be found or read
   - we could do more fine grained errors here, but that seems unnecessary given that the usecase is internal, not for user files at the moment
- added error case tests to capture all the uncovered lines
2021-11-03 14:25:02 +00:00
..
lib Reworked minifier to have 100% coverage 2021-11-03 14:25:02 +00:00
test Reworked minifier to have 100% coverage 2021-11-03 14:25:02 +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.