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 #24286

Merged
merged 1 commit into from Nov 21, 2022

Conversation

angular-robot
Copy link
Collaborator

@angular-robot angular-robot commented Nov 19, 2022

This PR contains the following updates:

Package Type Update Change
actions/checkout action minor v3.0.2 -> v3.1.0
aspect_bazel_lib http_archive patch v1.16.1 -> v1.16.3
esbuild optionalDependencies patch 0.15.14 -> 0.15.15
esbuild devDependencies patch 0.15.14 -> 0.15.15
esbuild-wasm dependencies patch 0.15.14 -> 0.15.15
esbuild-wasm devDependencies patch 0.15.14 -> 0.15.15
eslint (source) devDependencies minor 8.27.0 -> 8.28.0
verdaccio (source) devDependencies minor 5.16.3 -> 5.17.0

Release Notes

actions/checkout

v3.1.0

Compare Source

aspect-build/bazel-lib

v1.16.3

Compare Source

Using Bzlmod:

  1. Enable with --experimental_enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "aspect_bazel_lib", version = "1.16.3")

Read more about bzlmod: https://blog.aspect.dev/bzlmod

Using WORKSPACE

Paste this snippet into your file:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "aspect_bazel_lib",
    sha256 = "695d319362b227725e4daa60d863b4d1969b167889902511f1fd3051cea1071f",
    strip_prefix = "bazel-lib-1.16.3",
    url = "https://github.com/aspect-build/bazel-lib/archive/refs/tags/v1.16.3.tar.gz",
)

load("@​aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")

aspect_bazel_lib_dependencies()

Optional toolchains:

### Register the following toolchain to use jq

load("@​aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains")

register_jq_toolchains()

### Register the following toolchain to use yq

load("@​aspect_bazel_lib//lib:repositories.bzl", "register_yq_toolchains")

register_yq_toolchains()

What's Changed

Full Changelog: aspect-build/bazel-lib@v1.16.2...v1.16.3

v1.16.2

Compare Source

Using Bzlmod:

  1. Enable with --experimental_enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "aspect_bazel_lib", version = "1.16.2")

Read more about bzlmod: https://blog.aspect.dev/bzlmod

Using WORKSPACE

Paste this snippet into your file:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "aspect_bazel_lib",
    sha256 = "1a353526ee5a6ff1b7c83d1b60460488ae6a122726f29408c447545cc903c106",
    strip_prefix = "bazel-lib-1.16.2",
    url = "https://github.com/aspect-build/bazel-lib/archive/refs/tags/v1.16.2.tar.gz",
)

load("@​aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")

aspect_bazel_lib_dependencies()

Optional toolchains:

### Register the following toolchain to use jq

load("@​aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains")

register_jq_toolchains()

### Register the following toolchain to use yq

load("@​aspect_bazel_lib//lib:repositories.bzl", "register_yq_toolchains")

register_yq_toolchains()

What's Changed

Full Changelog: aspect-build/bazel-lib@v1.16.1...v1.16.2

evanw/esbuild

v0.15.15

Compare Source

  • Remove duplicate CSS rules across files (#​2688)

    When two or more CSS rules are exactly the same (even if they are not adjacent), all but the last one can safely be removed:

    /* Before */
    a { color: red; }
    span { font-weight: bold; }
    a { color: red; }
    
    /* After */
    span { font-weight: bold; }
    a { color: red; }

    Previously esbuild only did this transformation within a single source file. But with this release, esbuild will now do this transformation across source files, which may lead to smaller CSS output if the same rules are repeated across multiple CSS source files in the same bundle. This transformation is only enabled when minifying (specifically when syntax minification is enabled).

  • Add deno as a valid value for target (#​2686)

    The target setting in esbuild allows you to enable or disable JavaScript syntax features for a given version of a set of target JavaScript VMs. Previously Deno was not one of the JavaScript VMs that esbuild supported with target, but it will now be supported starting from this release. For example, versions of Deno older than v1.2 don't support the new ||= operator, so adding e.g. --target=deno1.0 to esbuild now lets you tell esbuild to transpile ||= to older JavaScript.

  • Fix the esbuild-wasm package in Node v19 (#​2683)

    A recent change to Node v19 added a non-writable crypto property to the global object: https://github.com/nodejs/node/pull/44897. This conflicts with Go's WebAssembly shim code, which overwrites the global crypto property. As a result, all Go-based WebAssembly code that uses the built-in shim (including esbuild) is now broken on Node v19. This release of esbuild fixes the issue by reconfiguring the global crypto property to be writable before invoking Go's WebAssembly shim code.

  • Fix CSS dimension printing exponent confusion edge case (#​2677)

    In CSS, a dimension token has a numeric "value" part and an identifier "unit" part. For example, the dimension token 32px has a value of 32 and a unit of px. The unit can be any valid CSS identifier. The value can be any number in floating-point format including an optional exponent (e.g. -3.14e-0 has an exponent of e-0). The full details of this syntax are here: https://www.w3.org/TR/css-syntax-3/.

    To maintain the integrity of the dimension token through the printing process, esbuild must handle the edge case where the unit looks like an exponent. One such case is the dimension 1e\32 which has the value 1 and the unit e2. It would be bad if this dimension token was printed such that a CSS parser would parse it as a number token with the value 1e2 instead of a dimension token. The way esbuild currently does this is to escape the leading e in the dimension unit, so esbuild would parse 1e\32 but print 1\65 2 (both 1e\32 and 1\65 2 represent a dimension token with a value of 1 and a unit of e2).

    However, there is an even narrower edge case regarding this edge case. If the value part of the dimension token itself has an e, then it's not necessary to escape the e in the dimension unit because a CSS parser won't confuse the unit with the exponent even though it looks like one (since a number can only have at most one exponent). This came up because the grammar for the CSS unicode-range property uses a hack that lets you specify a hexadecimal range without quotes even though CSS has no token for a hexadecimal range. The hack is to allow the hexadecimal range to be parsed as a dimension token and optionally also a number token. Here is the grammar for unicode-range:

    unicode-range =
      <urange>#
    
    <urange> =
      u '+' <ident-token> '?'*            |
      u <dimension-token> '?'*            |
      u <number-token> '?'*               |
      u <number-token> <dimension-token>  |
      u <number-token> <number-token>     |
      u '+' '?'+
    

    and here is an example unicode-range declaration that was problematic for esbuild:

    @&#8203;font-face {
      unicode-range: U+0e2e-0e2f;
    }

    This is parsed as a dimension with a value of +0e2 and a unit of e-0e2f. This was problematic for esbuild because the unit starts with e-0 which could be confused with an exponent when appended after a number, so esbuild was escaping the e character in the unit. However, this escaping is unnecessary because in this case the dimension value already has an exponent in it. With this release, esbuild will no longer unnecessarily escape the e in the dimension unit in these cases, which should fix the printing of unicode-range declarations.

    An aside: You may be wondering why esbuild is trying to escape the e at all and why it doesn't just pass through the original source code unmodified. The reason why esbuild does this is that, for robustness, esbuild's AST generally tries to omit semantically-unrelated information and esbuild's code printers always try to preserve the semantics of the underlying AST. That way the rest of esbuild's internals can just deal with semantics instead of presentation. They don't have to think about how the AST will be printed when changing the AST. This is the same reason that esbuild's JavaScript AST doesn't have a "parentheses" node (e.g. a * (b + c) is represented by the AST multiply(a, add(b, c)) instead of multiply(a, parentheses(add(b, c)))). Instead, the printer automatically inserts parentheses as necessary to maintain the semantics of the AST, which means all of the optimizations that run over the AST don't have to worry about keeping the parentheses up to date. Similarly, the CSS AST for the dimension token stores the actual unit and the printer makes sure the unit is properly escaped depending on what value it's placed after. All of the other code operating on CSS ASTs doesn't have to worry about parsing escapes to compare units or about keeping escapes up to date when the AST is modified. Hopefully that makes sense.

  • Attempt to avoid creating the node_modules/.cache directory for people that use Yarn 2+ in Plug'n'Play mode (#​2685)

    When Yarn's PnP mode is enabled, packages installed by Yarn may or may not be put inside .zip files. The specific heuristics for when this happens change over time in between Yarn versions. This is problematic for esbuild because esbuild's JavaScript package needs to execute a binary file inside the package. Yarn makes extensive modifications to Node's file system APIs at run time to pretend that .zip files are normal directories and to make it hard to tell whether a file is real or not (since in theory it doesn't matter). But they haven't modified Node's child_process.execFileSync API so attempting to execute a file inside a zip file fails. To get around this, esbuild previously used Node's file system APIs to copy the binary executable to another location before invoking execFileSync. Under the hood this caused Yarn to extract the file from the zip file into a real file that can then be run.

    However, esbuild copied its executable into node_modules/.cache/esbuild. This is the official recommendation from the Yarn team for where packages are supposed to put these types of files when Yarn PnP is being used. However, users of Yarn PnP with esbuild find this really annoying because they don't like looking at the node_modules directory. With this release, esbuild now sets "preferUnplugged": true in its package.json files, which tells newer versions of Yarn to not put esbuild's packages in a zip file. There may exist older versions of Yarn that don't support preferUnplugged. In that case esbuild should still copy the executable to a cache directory, so it should still run (hopefully, since I haven't tested this myself). Note that esbuild setting "preferUnplugged": true may have the side effect of esbuild taking up more space on the file system in the event that multiple platforms are installed simultaneously, or that you're using an older version of Yarn that always installs packages for all platforms. In that case you may want to update to a newer version of Yarn since Yarn has recently changed to only install packages for the current platform.

eslint/eslint

v8.28.0

Compare Source

Features

  • 63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#​16539) (Milos Djermanovic)
  • 8385ecd feat: multiline properties in rule key-spacing with option align (#​16532) (Francesco Trotta)
  • a4e89db feat: no-obj-calls support Intl (#​16543) (Sosuke Suzuki)

Bug Fixes

  • c50ae4f fix: Ensure that dot files are found with globs. (#​16550) (Nicholas C. Zakas)
  • 9432b67 fix: throw error for first unmatched pattern (#​16533) (Milos Djermanovic)
  • e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#​16522) (Milos Djermanovic)

Documentation

Chores

verdaccio/verdaccio

v5.17.0

Compare Source

Features
  • Upgrade to React 18 + react dependencies
  • highlight readme source code (#​3506) (8715a5c)
Screenshot 2022-11-19 at 22 14 31
Bug Fixes

Configuration

📅 Schedule: Branch creation - "after 10:00pm every weekday,before 4:00am every weekday,every weekend" in timezone America/Tijuana, Automerge - At any time (no schedule defined).

🚦 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, click this checkbox.

This PR has been generated by Renovate Bot.

@angular-robot angular-robot added action: merge The PR is ready for merge by the caretaker target: minor This PR is targeted for the next minor release labels Nov 19, 2022
@angular-robot angular-robot force-pushed the ng-renovate/all-minor-patch branch 2 times, most recently from 916cd69 to 19110d8 Compare November 20, 2022 17:37
@clydin clydin merged commit 4e3c62b into angular:main Nov 21, 2022
@angular-robot angular-robot deleted the ng-renovate/all-minor-patch branch November 21, 2022 16:06
@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 Dec 22, 2022
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