google/closure-compiler

Parse error for quoted export/import names

オープン

#3,961 opened on 2022/06/20

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)Java (1,197 件のフォーク)batch import
P3help wanted

Repository metrics

Stars
 (7,176 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド