ampproject / rollup-plugin-closure-compiler

Leverage Closure Compiler to minify and optimize JavaScript with Rollup.
Apache License 2.0
292 stars 27 forks source link

SyntaxError: Unexpected keyword 'default' #454

Open hronro opened 3 years ago

hronro commented 3 years ago

What's the issue?

The build process crashed with a message:

node_modules/.pnpm/acorn@7.3.1/node_modules/acorn/dist/acorn.js:2927
    var err = new SyntaxError(message);
              ^
SyntaxError: Unexpected keyword 'default' (18:16)

How do we reproduce the issue?

// rollup.config.js
import rollupResolve from '@rollup/plugin-node-resolve';
import rollupCommonjs from '@rollup/plugin-commonjs';
import rollupReplace from '@rollup/plugin-replace';
import rollupPostcss from 'rollup-plugin-postcss';
import rollupJson from '@rollup/plugin-json';
import rollupClosureCompiler from '@ampproject/rollup-plugin-closure-compiler';

export default {
    input: 'src/index.js',
    external: Array.from(external),
    plugins: [
        rollupResolve({
            browser: true,
        }),
        rollupCommonjs(),
        rollupPostcss({
            extract: new URL(`./dist/${libName}.css`, import.meta.url).pathname,
            minimize: true,
        }),
        rollupReplace({
            values: {
                'process.env.NODE_ENV': JSON.stringify(
                    isProduction ? 'production' : 'development'
                ),
            },
            preventAssignment: true,
        }),
        rollupJson(),
        rollupClosureCompiler(),
    ],
    output: {
        format: 'es',
        file: 'dist/lib.js',
    },
};

And in src/index.js, there is something like this: export default foobar;

If I remove the rollup-plugin-closure-compiler plugin, I could run rollup build successfully.