Skip to content

module esnext + target es3 output incompatible Object.defineProperty #33504

@zenxds

Description

@zenxds

TypeScript Version: 3.5
Webpck Version: 3.x
ts-loader Version: 3.x
Browser: IE8

Code

  • compilerOptions.module: "esnext"
  • compilerOptions.target: "es3"
  • dynamic import chunks
function load(type: string): Promise<any> {
  return import(
    `./types/${type}`
  )
}

Expected behavior:

output compatible code

Actual behavior:

webpackJsonp(["chunk-file"],[
/* 0 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony default export */ __webpack_exports__["default"] = ({
    type: 'basic'
});


/***/ })
]);

Related Issues:

#14495

when the target is es3,module import call transform should output compatible defineProperty

Metadata

Metadata

Assignees

No one assigned

    Labels

    ExternalRelates to another program, environment, or user action which we cannot control.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions