google/closure-compiler

Parse error for quoted export/import names

Open

#3.961 aberto em 20 de jun. de 2022

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Java (1.197 forks)batch import
P3help wanted

Métricas do repositório

Stars
 (7.176 stars)
Métricas de merge de PR
 (Mesclagem média 3d 4h) (1 fundiu PR em 30d)

Description

// e.mjs
const a = 'print me';
export { a as "dove" };
// i.mjs
import { "dove" as b } from './e.mjs';
console.log(b);

"dove" is the quoted name, and this code works (i.mjs prints print me).

Spec reference: ModuleExportName can be StringLiteral.

However, compiler can't parse that:

e.mjs:3:14: ERROR - [JSC_PARSE_ERROR] Parse error. 'identifier' expected
  3| export { a as "dove" };
                   ^
i.mjs:2:9: ERROR - [JSC_PARSE_ERROR] Parse error. '}' expected
  2| import { "dove" as b } from './e.mjs';
              ^

Guia do colaborador