Skip to content

export * as default from "module" syntax should work as per ECMA-262 #39769

Closed
@HughCrail

Description

@HughCrail

TypeScript Version: 4.0.0-beta

Search Terms:
ESModule, export star as default, "export * as default from"

Expected behavior:
export * as default from "module" should export the namespace of "module" as the default export.
This is valid ES Module syntax from this stage-4 proposal. See the test in test-262.
I also tested this syntax in Chrome and it was supported.

Actual behavior:
You get the following errors:

  • "Cannot find name 'from'."
  • "Identifier expected. 'default' is a reserved word that cannot be used here."
  • "';' expected."

Code

export * as default from "rollup";
Output
export * as  from ;
from;
"rollup";
Compiler Options
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true,
    "esModuleInterop": true,
    "declaration": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "moduleResolution": 2,
    "target": "Latest",
    "jsx": "React",
    "module": "ESNext"
  }
}

Playground Link: Provided

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptES NextNew featurers for ECMAScript (a.k.a. ESNext)Effort: ModerateRequires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Fix AvailableA PR has been opened for this issueHelp WantedYou can do this

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions