google/closure-compiler

Parse error for quoted export/import names

Open

#3 961 ouverte le 20 juin 2022

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)Java (1 197 forks)batch import
P3help wanted

Métriques du dépôt

Stars
 (7 176 stars)
Métriques de merge PR
 (Merge moyen 3j 4h) (1 PR mergée en 30 j)

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