Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps-dev): bump esbuild from 0.8.47 to 0.8.48 #13135

Merged
merged 1 commit into from
Feb 18, 2021

Conversation

dependabot-preview[bot]
Copy link
Contributor

Bumps esbuild from 0.8.47 to 0.8.48.

Release notes

Sourced from esbuild's releases.

v0.8.48

  • Fix some parsing edge cases (#835)

    This release fixes the following edge cases:

    • Code using in inside a template literal inside a for loop initializer such as for (let x = `${a in b ? '0' : '1'}`; false; ); is now allowed. Previously the in operator was incorrectly considered to be part of a for-in loop.

    • In TypeScript, it's not valid to have a newline in between the async and the < tokens inside the code async <T>() => {}. Previously this was incorrectly treated as an asynchronous arrow function expression.

    • Code of the form new async() must construct the function called async. Previously this was incorrectly treated as new (async())() instead due to the speculative parsing of asynchronous arrow functions.

    • Code of the form new async () => {} must not be allowed. Previously this was incorrectly allowed since the speculative parsing of asynchronous arrow functions did not check the precedence level.

    • It's not valid to start an initializer expression in a for-of loop with the token let such as for (let.foo of bar) {}. This is now forbidden. In addition, the code generator now respects this rule so for ((let.foo) of bar) {} is now printed as for ((let).foo of bar) {}.

    • Array and object binding patterns do not allow a comma after rest elements, so code such as [...a, b] = [c] is invalid. This case is correctly handled by esbuild. However, it's possible to have both an array or object binding pattern and an array or object literal on the left-hand side of a destructuring assignment such as [[...a, b].c] = [d]. In that case it should be allowed for a comma to come after the spread element in the array or object literal expression. Previously this was incorrectly treated as an error by esbuild.

    • It's technically allowed (although perhaps not ever actually useful) to call super() from within a default argument initializer like this:

      class Derived extends Base {
        constructor(arg = super()) {
        }
      }

      Previously esbuild did not permit this, which is incorrect. Doing this is now permitted.

    • It is an error to use arguments in a class field initializer such as class { x = arguments[0] }, but it is not an error to use arguments in a computed class property name such as class { [arguments[0]] = x } or inside TypeScript decorators such as class { @decorator(arguments[0]) x() {} }. Previously all of these cases were an error in esbuild, which is incorrect. Using arguments inside computed class property names and TypeScript decorators is now allowed.

    • It is not permitted to use a function declaration inside an if statement such as if (0) function f() {} in strict mode. Previously this was allowed, but this is now forbidden.

    • It is not permitted to re-declare a generator and/or asynchronous function declaration inside a block scope:

      // This is allowed
      function *a() {}
      function *a() {}
      // This is allowed
      function f() {
      function *b() {}
      function *b() {}
      }
      // This is not allowed
      {
      function *c() {}
      function *c() {}
      }

... (truncated)

Changelog

Sourced from esbuild's changelog.

0.8.48

  • Fix some parsing edge cases (#835)

    This release fixes the following edge cases:

    • Code using in inside a template literal inside a for loop initializer such as for (let x = `${a in b ? '0' : '1'}`; false; ); is now allowed. Previously the in operator was incorrectly considered to be part of a for-in loop.

    • In TypeScript, it's not valid to have a newline in between the async and the < tokens inside the code async <T>() => {}. Previously this was incorrectly treated as an asynchronous arrow function expression.

    • Code of the form new async() must construct the function called async. Previously this was incorrectly treated as new (async())() instead due to the speculative parsing of asynchronous arrow functions.

    • Code of the form new async () => {} must not be allowed. Previously this was incorrectly allowed since the speculative parsing of asynchronous arrow functions did not check the precedence level.

    • It's not valid to start an initializer expression in a for-of loop with the token let such as for (let.foo of bar) {}. This is now forbidden. In addition, the code generator now respects this rule so for ((let.foo) of bar) {} is now printed as for ((let).foo of bar) {}.

    • Array and object binding patterns do not allow a comma after rest elements, so code such as [...a, b] = [c] is invalid. This case is correctly handled by esbuild. However, it's possible to have both an array or object binding pattern and an array or object literal on the left-hand side of a destructuring assignment such as [[...a, b].c] = [d]. In that case it should be allowed for a comma to come after the spread element in the array or object literal expression. Previously this was incorrectly treated as an error by esbuild.

    • It's technically allowed (although perhaps not ever actually useful) to call super() from within a default argument initializer like this:

      class Derived extends Base {
        constructor(arg = super()) {
        }
      }

      Previously esbuild did not permit this, which is incorrect. Doing this is now permitted.

    • It is an error to use arguments in a class field initializer such as class { x = arguments[0] }, but it is not an error to use arguments in a computed class property name such as class { [arguments[0]] = x } or inside TypeScript decorators such as class { @decorator(arguments[0]) x() {} }. Previously all of these cases were an error in esbuild, which is incorrect. Using arguments inside computed class property names and TypeScript decorators is now allowed.

    • It is not permitted to use a function declaration inside an if statement such as if (0) function f() {} in strict mode. Previously this was allowed, but this is now forbidden.

    • It is not permitted to re-declare a generator and/or asynchronous function declaration inside a block scope:

      // This is allowed
      function *a() {}
      function *a() {}
      // This is allowed
      function f() {
      function *b() {}
      function *b() {}
      }
      // This is not allowed
      {
      function *c() {}
      function *c() {}

... (truncated)

Commits
  • f50aa9a publish 0.8.48 to npm
  • 1a67df1 respect "keep_fnames" in terser tests
  • 68f02d3 fix a test that must be run in esm mode
  • ecfff30 "\08" is invalid while "\0" is valid
  • c4a6943 duplicate arg checks "use strict" in body
  • ef31c4f handle newline after "async" in method
  • aa0db51 forbid "({yield})" and "({await})"
  • 281733b forbid "eval" and "arguments" as function names
  • 030715a "([])" and "({})" are not valid assignment targets
  • 92c6559 "UniqueFormalParameters" for arrows and methods
  • Additional commits viewable in compare view

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 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 badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the .dependabot/config.yml file in this repo:

  • Update frequency
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.8.47 to 0.8.48.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.8.47...v0.8.48)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@dependabot-preview dependabot-preview bot added the dependencies This issue is a problem in a dependency or a pull request that updates a dependency file. label Feb 18, 2021
@gitpod-io
Copy link

gitpod-io bot commented Feb 18, 2021

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildProject89A8053A-LhjRyN9kxr8o
  • Commit ID: 05ddbd3
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Contributor

mergify bot commented Feb 18, 2021

Thanks Dependabot!

@mergify mergify bot merged commit a1ca3c4 into master Feb 18, 2021
@mergify mergify bot deleted the dependabot/npm_and_yarn/esbuild-0.8.48 branch February 18, 2021 14:55
NovakGu pushed a commit to NovakGu/aws-cdk that referenced this pull request Feb 18, 2021
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.8.47 to 0.8.48.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.8.47...v0.8.48)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
eladb pushed a commit that referenced this pull request Feb 22, 2021
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.8.47 to 0.8.48.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.8.47...v0.8.48)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies This issue is a problem in a dependency or a pull request that updates a dependency file.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant