AWS Developer Tools Blog

Announcing the end of support for Internet Explorer 11 in the AWS SDK for JavaScript (v3)

Starting October 1, 2022, AWS SDK For JavaScript (v3) will end support for Internet Explorer 11 (IE 11). The browser artifacts published in our npm packages will no longer target ES5.

If your browser application depends on the AWS SDK for JavaScript (v3), we encourage you to support only modern secure and evergreen browsers like Chrome, Edge, or Firefox. If you need to support Internet Explorer in your browser application, you will need to use a transpiler like babel while creating a browser bundle.

Microsoft will end support for IE 11 on June 15, 2022. Amazon Web Services will end support for IE browsers for its websites on July 31, 2022. In July 2015, Microsoft Edge replaced IE as the default browser in Windows 10. IE 11 is not supported on Windows 11, the latest release of the operating system. Unlike other browsers that update themselves automatically, IE 11 is updated only on a case-by-case basis for the most critical security patches.

For more information regarding maintenance and deprecation for AWS SDKs, please see the AWS SDKs and Tools Maintenance Policy.

How can I continue to use the AWS SDK for JavaScript (v3) in IE 11?

You can continue to use versions of the AWS SDK for JavaScript (v3) released before October 1, 2022. If you want to use AWS SDK for JavaScript (v3) packages published after October 1, 2022 in IE, you can transpile your browser bundle to ES5 and provide polyfills.

For example, if you’re using @babel/preset-env for transpilation you can configure your targets in babel config as follows:

// babel.config.json or .babelrc.json
{
  "presets": [
    ["@babel/presets-env", {
      "targets": {
        "browsers": {
          // other browser versions
          "ie": "11"
        }
      },
    }]
  ]
}

If you’re using webpack for bundling with babel, you can add babel-loader to the list of modules within your webpack configuration object as follows:

// webpack.config.json
...
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
          presets: ['@babel/preset-env']
        }
      }
    ]
  }
...

Feedback

We value your feedback, so please tell us what you like and don’t like by opening a discussion on GitHub.

Trivikram Kamat

Trivikram Kamat

Trivikram is maintainer of AWS SDK for JavaScript in Node.js and browser. Trivikram is also a Node.js Core collaborator and have contributed to HTTP, HTTP/2 and HTTP/3 over QUIC implementations in the past. He has been writing JavaScript for over a decade. You can find him on Twitter @trivikram and GitHub @trivikr.