Skip to content

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

Closed

Description

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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