npm i -D @apeleghq/esbuild-plugin-closure-compiler
In the file you have your configuration, first import this plugin
const cc = require('@apeleghq/esbuild-plugin-closure-compiler');
Or using ES module syntax:
import cc from '@apeleghq/esbuild-plugin-closure-compiler';
Then, in your esbuild configuration, add cc()
to the plugins
list. cc
optionally takes an object that is passed as options to Closure Compiler (for
reference, refer to the documentation for Google Closure Compiler). Minimal example:
const esbuild = require('esbuild');
const cc = require('@apeleghq/esbuild-plugin-closure-compiler');
await esbuild
.build({
entryPoints: ['index.js'],
outdir: 'build',
bundle: true,
format: 'cjs',
plugins: [cc({ language_out: 'ECMASCRIPT_2018' })],
});