alexlafroscia / ember-esbuild

Ember tooling for ESBuild
12 stars 1 forks source link

chore(deps): bump esbuild from 0.8.9 to 0.9.7 #35

Closed dependabot[bot] closed 3 years ago

dependabot[bot] commented 3 years ago

Bumps esbuild from 0.8.9 to 0.9.7.

Release notes

Sourced from esbuild's releases.

v0.9.7

  • Add support for Android on ARM 64-bit (#803)

    This release includes support for Android in the official esbuild package. It should now be possible to install and run esbuild on Android devices through npm.

  • Fix incorrect MIME types on Windows (#1030)

    The web server built into esbuild uses the file extension to determine the value of the Content-Type header. This was previously done using the mime.TypeByExtension() function from Go's standard library. However, this function is apparently broken on Windows because installed programs can change MIME types in the Windows registry: golang/go#32350. This release fixes the problem by using a copy of Go's mime.TypeByExtension() function without the part that reads from the Windows registry.

  • Using a top-level return inside an ECMAScript module is now forbidden

    The CommonJS module format is implemented as an anonymous function wrapper, so technically you can use a top-level return statement and it will actually work. Some packages in the wild use this to exit early from module initialization, so esbuild supports this. However, the ECMAScript module format doesn't allow top-level returns. With this release, esbuild no longer allows top-level returns in ECMAScript modules.

v0.9.6

  • Expose build options to plugins (#373)

    Plugins can now access build options from within the plugin using the initialOptions property. For example:

    let nodeEnvPlugin = {
      name: 'node-env',
      setup(build) {
        const options = build.initialOptions
        options.define = options.define || {}
        options.define['process.env.NODE_ENV'] =
          options.minify ? '"production"' : '"development"'
      },
    }
    
  • Fix an edge case with the object spread transform (#1017)

    This release fixes esbuild's object spread transform in cases where property assignment could be different than property definition. For example:

    console.log({
      get x() {},
      ...{x: 1},
    })
    

    This should print {x: 1} but transforming this through esbuild with --target=es6 causes the resulting code to throw an error. The problem is that esbuild currently transforms this code to a call to Object.assign and that uses property assignment semantics, which causes the assignment to throw (since you can't assign to a getter-only property).

    With this release, esbuild will now transform this into code that manually loops over the properties and copies them over one-by-one using Object.defineProperty instead. This uses property definition semantics which better matches the specification.

  • Fix a TypeScript parsing edge case with arrow function return types (#1016)

    This release fixes the following TypeScript parsing edge case:

... (truncated)

Changelog

Sourced from esbuild's changelog.

0.9.7

  • Add support for Android on ARM 64-bit (#803)

    This release includes support for Android in the official esbuild package. It should now be possible to install and run esbuild on Android devices through npm.

  • Fix incorrect MIME types on Windows (#1030)

    The web server built into esbuild uses the file extension to determine the value of the Content-Type header. This was previously done using the mime.TypeByExtension() function from Go's standard library. However, this function is apparently broken on Windows because installed programs can change MIME types in the Windows registry: golang/go#32350. This release fixes the problem by using a copy of Go's mime.TypeByExtension() function without the part that reads from the Windows registry.

  • Using a top-level return inside an ECMAScript module is now forbidden

    The CommonJS module format is implemented as an anonymous function wrapper, so technically you can use a top-level return statement and it will actually work. Some packages in the wild use this to exit early from module initialization, so esbuild supports this. However, the ECMAScript module format doesn't allow top-level returns. With this release, esbuild no longer allows top-level returns in ECMAScript modules.

0.9.6

  • Expose build options to plugins (#373)

    Plugins can now access build options from within the plugin using the initialOptions property. For example:

    let nodeEnvPlugin = {
      name: 'node-env',
      setup(build) {
        const options = build.initialOptions
        options.define = options.define || {}
        options.define['process.env.NODE_ENV'] =
          options.minify ? '"production"' : '"development"'
      },
    }
    
  • Fix an edge case with the object spread transform (#1017)

    This release fixes esbuild's object spread transform in cases where property assignment could be different than property definition. For example:

    console.log({
      get x() {},
      ...{x: 1},
    })
    

    This should print {x: 1} but transforming this through esbuild with --target=es6 causes the resulting code to throw an error. The problem is that esbuild currently transforms this code to a call to Object.assign and that uses property assignment semantics, which causes the assignment to throw (since you can't assign to a getter-only property).

    With this release, esbuild will now transform this into code that manually loops over the properties and copies them over one-by-one using Object.defineProperty instead. This uses property definition semantics which better matches the specification.

  • Fix a TypeScript parsing edge case with arrow function return types (#1016)

    This release fixes the following TypeScript parsing edge case:

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

Dependabot will merge this PR once CI passes on it, as requested by @alexlafroscia.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)