Skip to content

sam-parsons/snowpack-plugin-closure-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm size libera manifesto

snowpack-plugin-closure-compiler

Snowpack plugin that processes JavaScript assets through the Closure Compiler, reducing file sizes and performing static code analysis.

Requirements

This plugin requires an LTS Node version (v8.0.0+) and Snowpack v2.0.0+.

Install

Using npm:

npm install --save-dev snowpack-plugin-closure-compiler

Usage

Create a snowpack.config.js configuration file and import the plugin:

const dsv = require('snowpack-plugin-dsv');

module.exports = {
  mount: {
    public: { url: '/', static: true },
    src: { url: '/dist' },
  },
  plugins: ['snowpack-plugin-closure-compiler', {
    compilationLevel: "SIMPLE",
    outputFile: "main.js",
    bundle: false
  }],
};

Options

bundle

Type: boolean
Default: true

The Closure Compiler can bundle all JavaScript files into and this is the default processing for the plugin. If JavaScript files need to not be bundled, use false.

outputFile

Type: string
Default: index.js

Specify resource name after compilation, placed inside of mount.src.url directory.

compilationLevel

Type: string
Default: SIMPLE

Determines type of processing performed by Closure Compiler - specify one of BUNDLE, WHITESPACE_ONLY, SIMPLE, ADVANCED

languageIn

Type: string
Default: ECMASCRIPT_NEXT

Specifies what the most recent level of ECMAScript used in the source code. One of the following: ECMASCRIPT3, ECMASCRIPT5, ECMASCRIPT5_STRICT, ECMASCRIPT_2015, ECMASCRIPT_2016, ECMASCRIPT_2017, ECMASCRIPT_2018, ECMASCRIPT_2019, STABLE, ECMASCRIPT_NEXT

languageOut

Type: string
Default: ECMASCRIPT5

Determines ECMAScript version of output file - use one of the values referenced in the languageIn property.

Meta

LICENSE (MIT)