Check, compile, optimize and compress Javascript with Closure-Compiler
npm install google-closure-compilerCheck, compile, optimize and compress Javascript with Closure-Compiler
This repository tracks issues related to the publication to npmjs.org and associated plugins.
Any bugs not related to the plugins themselves should be reported to the
main repository.
Note that the installed binary is not actually JavaScript, but native binary or Java jar file depending on the local system.
For help or questions with the compiler, the best resource is
Stack Overflow. Posts there
are monitored by multiple Closure Compiler team members.
You may also post in the
Closure Compiler Discuss Google Group.
Please don't cross post to both Stack Overflow and Closure Compiler Discuss.
The compiler is distributed as a Java jar or as Mac OS, Linux and Windows native binaries.
npx:npx google-closure-compiler --js=my_program.js --js_output_file=out.js
The npx version will attempt to detect the best platform to use. You can also specify the platform
with the special --platform flag.
```
npm install --save google-closure-compiler
See the full list of compiler flags.
The build tool plugins take options objects. The option parameters map directly to the
compiler flags without the leading '--' characters. You may also use camelCase option names.
Values are either strings or booleans. Options which have multiple values can be arrays.
`js`
{
js: ['/file-one.js', '/file-two.js'],
compilation_level: 'ADVANCED',
js_output_file: 'out.js',
debug: true
}
For the java version, some shells (particularly windows) try to do expansion on globs rather
than passing the string on to the compiler. To prevent this it is necessary to quote
certain arguments:
`js`
{
js: '"my/quoted/glob/**.js"',
compilation_level: 'ADVANCED',
js_output_file: 'out.js',
debug: true
}
Override the path before first use.
`
import Compiler from 'google-closure-compiler';
const compiler = new Compiler({args});
compiler.javaPath = '/node_modules/MODULE_NAME/jre/jre1.8.0_131.jre/Contents/Home/bin/java';
`
`js
import ClosureCompiler, {COMPILER_PATH, CONTRIB_PATH} from 'google-closure-compiler';
console.log(COMPILER_PATH); // absolute path to the compiler jar
console.log(CONTRIB_PATH); // absolute path to the contrib folder which contain externs
const closureCompiler = new ClosureCompiler({
js: 'file-one.js',
compilation_level: 'ADVANCED'
});
const compilerProcess = closureCompiler.run((exitCode, stdOut, stdErr) => {
//compilation complete
});
``
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.