-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
What's the issue?
The syntax error message for import.meta
is worse than google-closure-compiler
— provides misleading line number and does not specify exactly what went wrong.
Take the following code sample and attempt to compile it.
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
export default require;
rollup-plugin-closure-compiler
outputs the following error, which is misleading.
[!] (plugin closure-compiler) SyntaxError: Unexpected token (3:36)
undefined (3:36)
SyntaxError: Unexpected token (3:36)
at Parser.pp$4.raise [...]
- 💭 What token was unexpected?
- 💭 The "syntax error" occurred on line 2, yet it reports line 3?
google-closure-compiler
outputs the following error, which is crystal-clear.
ERROR - [JSC_CANNOT_CONVERT] This code cannot be converted from ES6. import.meta
const require = createRequire(import.meta.url);
^^^^^^^^^^^
1 error(s), 0 warning(s)
How do we reproduce the issue?
Surely some of this is superfluous, but here's my configuration.
plugins: [
compiler({
compilation_level: 'ADVANCED_OPTIMIZATIONS',
warning_level: 'VERBOSE',
checks_only: true,
jscomp_error: 'strictCheckTypes',
jscomp_off: [
'moduleLoad',
'undefinedVars',
],
language_in: 'ES_NEXT',
language_out: 'ECMASCRIPT_NEXT',
module_resolution: 'node',
process_common_js_modules: true,
extra_annotation_name: ['flag'],
}),
],
Thanks in advance for any effort towards correcting this!
kristoferbaxterctjlewis
Metadata
Metadata
Assignees
Labels
No labels