google/closure-compiler

Parse error for quoted export/import names

Ouverte

#3 961 ouverte le 20 juin 2022

 (1 commentaire) (0 réaction) (0 personne assignée)Java (1 197 forks)batch import
P3help wanted

Métriques du dépôt

Stars
 (7 176 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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';
              ^

Guide contributeur