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

build: update all non-major dependencies #21640

Merged
merged 1 commit into from
Aug 26, 2021
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 25, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
core-js 3.16.2 -> 3.16.3 age adoption passing confidence
esbuild 0.12.22 -> 0.12.23 age adoption passing confidence
eslint-plugin-import 2.24.1 -> 2.24.2 age adoption passing confidence
husky (source) 7.0.1 -> 7.0.2 age adoption passing confidence
terser (source) 5.7.1 -> 5.7.2 age adoption passing confidence

Release Notes

zloirock/core-js

v3.16.3

Compare Source

  • Fixed CreateAsyncFromSyncIterator semantic in AsyncIterator.from, related to #​765
  • Added a workaround of a specific case of broken Object.prototype, #​973
evanw/esbuild

v0.12.23

Compare Source

  • Parsing of rest arguments in certain TypeScript types (#​1553)

    This release implements parsing of rest arguments inside object destructuring inside arrow functions inside TypeScript type declarations. Support for rest arguments in this specific syntax was not previously implemented. The following code was incorrectly considered a syntax error before this release, but is no longer considered a syntax error:

    type F = ({ ...rest }) => void;
  • Fix error message for watch: true and buildSync (#​1552)

    Watch mode currently only works with the build API. Previously using watch mode with the buildSync API caused a confusing error message. This release explicitly disallows doing this, so the error message is now more clear.

  • Fix an minification bug with the --keep-names option (#​1552)

    This release fixes a subtle bug that happens with --keep-names --minify and nested function declarations in strict mode code. It can be triggered by the following code, which was being compiled incorrectly under those flags:

    export function outer() {
      {
        function inner() {
          return Math.random();
        }
        const x = inner();
        console.log(x);
      }
    }
    outer();

    The bug was caused by an unfortunate interaction between a few of esbuild's behaviors:

    1. Function declarations inside of nested scopes behave differently in different situations, so esbuild rewrites this function declaration to a local variable initialized to a function expression instead so that it behaves the same in all situations.

      More specifically, the interpretation of such function declarations depends on whether or not it currently exists in a strict mode context:

      > (function(){ { function x(){} } return x })()
      function x() {}
      
      > (function(){ 'use strict'; { function x(){} } return x })()
      ❌ Uncaught ReferenceError: x is not defined
      

      The bundling process sometimes erases strict mode context. For example, different files may have different strict mode status but may be merged into a single file which all shares the same strict mode status. Also, files in ESM format are automatically in strict mode but a bundle output file in IIFE format may not be executed in strict mode. Transforming the nested function to a let in strict mode and a var in non-strict mode means esbuild's output will behave reliably in different environments.

    2. The "keep names" feature adds automatic calls to the built-in __name helper function to assign the original name to the .name property of the minified function object at run-time. That transforms the code into this:

      let inner = function() {
        return Math.random();
      };
      __name(inner, "inner");
      const x = inner();
      console.log(x);

      This injected helper call does not count as a use of the associated function object so that dead-code elimination will still remove the function object as dead code if nothing else uses it. Otherwise dead-code elimination would stop working when the "keep names" feature is enabled.

    3. Minification enables an optimization where an initialized variable with a single use immediately following that variable is transformed by inlining the initializer into the use. So for example var a = 1; return a is transformed into return 1. This code matches this pattern (initialized single-use variable + use immediately following that variable) so the optimization does the inlining, which transforms the code into this:

      __name(function() {
        return Math.random();
      }, "inner");
      const x = inner();
      console.log(x);

      The code is now incorrect because inner actually has two uses, although only one was actually counted.

    This inlining optimization will now be avoided in this specific case, which fixes the bug without regressing dead-code elimination or initialized variable inlining in any other cases.

import-js/eslint-plugin-import

v2.24.2

Compare Source

Fixed
  • [named], [namespace]: properly handle ExportAllDeclarations ([#​2199], thanks [@​ljharb])
typicode/husky

v7.0.2

Compare Source

Fix pre-commit hook in WebStorm (#​1023)

terser/terser

v5.7.2

Compare Source

  • Fixed issues with compressing functions defined in global_defs option (#​1036)
  • New recipe for using Terser in gulp was added to RECIPES.md (#​1035)
  • Fixed issues with ?? and ?. (#​1045)
  • Future reserved words such as package no longer require you to disable strict mode to be used as names.
  • Refactored huge compressor file into multiple more focused files.
  • Avoided unparenthesized in operator in some for loops (it breaks parsing because of for..in loops)
  • Improved documentation (#​1021, #​1025)
  • More type definitions (#​1021)

Configuration

📅 Schedule: "after 10pm every weekday,before 4am every weekday,every weekend" in timezone America/Tijuana.

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot added action: merge The PR is ready for merge by the caretaker target: minor This PR is targeted for the next minor release labels Aug 25, 2021
@google-cla google-cla bot added the cla: yes label Aug 25, 2021
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 83d4471 to 2211d2e Compare August 26, 2021 04:27
@alan-agius4 alan-agius4 merged commit c0dfbfe into master Aug 26, 2021
@renovate renovate bot deleted the renovate/all-minor-patch branch August 26, 2021 05:33
@renovate renovate bot restored the renovate/all-minor-patch branch August 26, 2021 19:03
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker target: minor This PR is targeted for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants