Naughty Program Manipulator
    Have ideas to improve npm?Join in the discussion! »

    snowpack-plugin-optimize
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.0 • Public • Published

    snowpack-plugin-optimize

    Makes use of terser, csso, and html-minifier to provide minification of your JS, CSS, and HTML files respectively.

    Features

    • Minify JS, CSS, and HTML assets
    • SourceMap generation w/ remapping support
    • Append <link rel="modulepreload" /> tags to <head> to speed up download of dependency tree.
    • TypeScript Declaration file output
    • TypeScript Transformer Support
    • TTypescript Support for custom compiler plugins

    We're open to new kinds of optimizations, open an issue and lets talk!

    Non-Features

    • Bundling - If you're looking for that I'd definitely reccomend the official webpack plugin.

    Install

    npm i --save-dev snowpack-plugin-optimize
    
    yarn add -d snowpack-plugin-optimize

    Usage

    // snowpack.config.js
    
    module.exports = {
      ...config,
      plugins: [
        [
          'snowpack-plugin-optimize',
          // Entirely optional object. Showing default values
          {
            // Turn JS minification with Terser on/off
            minifyJs?: true
            // A deep merge is performed with these defaults.
            // @see Terser configuration https://github.com/terser/terser#minify-options-structure
            jsOptions?: {
              module: true,
              toplevel: true,
              sourceMap: true,
              nameCache,
              compress: {
                ecma: 2019,
              },
              format: {
                ecma: 2019,
              },
            },
            // Adds modulepreload links to potentially improve your module dependency load times
            modulePreload?: true,
            minifyCss?: true,
            // A merge is performed with these default
            // @see CSSO configuration https://github.com/css/csso#minifysource-options
            cssOptions?: {
              sourceMap: true,
              filename: path.basename(file),
            },
            minifyHtml?: true,
            // A merge is performed with these defaults
            // @see html-minifier configuration https://github.com/kangax/html-minifier#options-quick-reference
            htmlOptions?: {
              collapseWhitespace: true,
              keepClosingSlash: true,
              removeComments: true,
            },
          }
        ]
      ]
    }

    Install

    npm i snowpack-plugin-optimize

    DownloadsWeekly Downloads

    18

    Version

    0.5.0

    License

    MIT

    Unpacked Size

    106 kB

    Total Files

    94

    Last publish

    Collaborators

    • avatar