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): update devdependencies #1725

Merged
merged 1 commit into from
Jan 10, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 10, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@types/node (source) ~18.11.17 -> ~18.11.18 age adoption passing confidence
@vueuse/core ~9.9.0 -> ~9.10.0 age adoption passing confidence
cypress ~12.2.0 -> ~12.3.0 age adoption passing confidence
esbuild ~0.16.10 -> ~0.16.16 age adoption passing confidence
eslint (source) ~8.30.0 -> ~8.31.0 age adoption passing confidence
eslint-config-prettier ~8.5.0 -> ~8.6.0 age adoption passing confidence
eslint-define-config ~1.12.0 -> ~1.14.0 age adoption passing confidence
tsx ~3.12.1 -> ~3.12.2 age adoption passing confidence
vite (source) ~4.0.3 -> ~4.0.4 age adoption passing confidence

Release Notes

vueuse/vueuse

v9.10.0

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub
cypress-io/cypress

v12.3.0

Compare Source

Changelog: https://docs.cypress.io/guides/references/changelog#​12-3-0

evanw/esbuild

v0.16.16

Compare Source

  • Fix a regression caused by comment preservation (#​2805)

    The new comment preservation behavior that was added in 0.16.14 introduced a regression where comments in certain locations could cause esbuild to omit certain necessary parentheses in the output. The outermost parentheses were incorrectly removed for the following syntax forms, which then introduced syntax errors:

    (/* comment */ { x: 0 }).x;
    (/* comment */ function () { })();
    (/* comment */ class { }).prototype;

    This regression has been fixed.

v0.16.15

Compare Source

  • Add format to input files in the JSON metafile data

    When --metafile is enabled, input files may now have an additional format field that indicates the export format used by this file. When present, the value will either be cjs for CommonJS-style exports or esm for ESM-style exports. This can be useful in bundle analysis.

    For example, esbuild's new Bundle Size Analyzer now uses this information to visualize whether ESM or CommonJS was used for each directory and file of source code (click on the CJS/ESM bar at the top).

    This information is helpful when trying to reduce the size of your bundle. Using the ESM variant of a dependency instead of the CommonJS variant always results in a faster and smaller bundle because it omits CommonJS wrappers, and also may result in better tree-shaking as it allows esbuild to perform tree-shaking at the statement level instead of the module level.

  • Fix a bundling edge case with dynamic import (#​2793)

    This release fixes a bug where esbuild's bundler could produce incorrect output. The problematic edge case involves the entry point importing itself using a dynamic import() expression in an imported file, like this:

    // src/a.js
    export const A = 42;
    
    // src/b.js
    export const B = async () => (await import(".")).A
    
    // src/index.js
    export * from "./a"
    export * from "./b"
  • Remove new type syntax from type declarations in the esbuild package (#​2798)

    Previously you needed to use TypeScript 4.3 or newer when using the esbuild package from TypeScript code due to the use of a getter in an interface in node_modules/esbuild/lib/main.d.ts. This release removes this newer syntax to allow people with versions of TypeScript as far back as TypeScript 3.5 to use this latest version of the esbuild package. Here is change that was made to esbuild's type declarations:

     export interface OutputFile {
       /** "text" as bytes */
       contents: Uint8Array;
       /** "contents" as text (changes automatically with "contents") */
    -  get text(): string;
    +  readonly text: string;
     }

v0.16.14

Compare Source

  • Preserve some comments in expressions (#​2721)

    Various tools give semantic meaning to comments embedded inside of expressions. For example, Webpack and Vite have special "magic comments" that can be used to affect code splitting behavior:

    import(/* webpackChunkName: "foo" */ '../foo');
    import(/* @​vite-ignore */ dynamicVar);
    new Worker(/* webpackChunkName: "bar" */ new URL("../bar.ts", import.meta.url));
    new Worker(new URL('./path', import.meta.url), /* @​vite-ignore */ dynamicOptions);

    Since esbuild can be used as a preprocessor for these tools (e.g. to strip TypeScript types), it can be problematic if esbuild doesn't do additional work to try to retain these comments. Previously esbuild special-cased Webpack comments in these specific locations in the AST. But Vite would now like to use similar comments, and likely other tools as well.

    So with this release, esbuild now will attempt to preserve some comments inside of expressions in more situations than before. This behavior is mainly intended to preserve these special "magic comments" that are meant for other tools to consume, although esbuild will no longer only preserve Webpack-specific comments so it should now be tool-agnostic. There is no guarantee that all such comments will be preserved (especially when --minify-syntax is enabled). So this change does not mean that esbuild is now usable as a code formatter. In particular comment preservation is more likely to happen with leading comments than with trailing comments. You should put comments that you want to be preserved before the relevant expression instead of after it. Also note that this change does not retain any more statement-level comments than before (i.e. comments not embedded inside of expressions). Comment preservation is not enabled when --minify-whitespace is enabled (which is automatically enabled when you use --minify).

v0.16.13

Compare Source

  • Publish a new bundle visualization tool

    While esbuild provides bundle metadata via the --metafile flag, previously esbuild left analysis of it completely up to third-party tools (well, outside of the rudimentary --analyze flag). However, the esbuild website now has a built-in bundle visualization tool:

    You can pass --metafile to esbuild to output bundle metadata, then upload that JSON file to this tool to visualize your bundle. This is helpful for answering questions such as:

    • Which packages are included in my bundle?
    • How did a specific file get included?
    • How small did a specific file compress to?
    • Was a specific file tree-shaken or not?

    I'm publishing this tool because I think esbuild should provide some answer to "how do I visualize my bundle" without requiring people to reach for third-party tools. At the moment the tool offers two types of visualizations: a radial "sunburst chart" and a linear "flame chart". They serve slightly different but overlapping use cases (e.g. the sunburst chart is more keyboard-accessible while the flame chart is easier with the mouse). This tool may continue to evolve over time.

  • Fix --metafile and --mangle-cache with --watch (#​1357)

    The CLI calls the Go API and then also writes out the metafile and/or mangle cache JSON files if those features are enabled. This extra step is necessary because these files are returned by the Go API as in-memory strings. However, this extra step accidentally didn't happen for all builds after the initial build when watch mode was enabled. This behavior used to work but it was broken in version 0.14.18 by the introduction of the mangle cache feature. This release fixes the combination of these features, so the metafile and mangle cache features should now work with watch mode. This behavior was only broken for the CLI, not for the JS or Go APIs.

  • Add an original field to the metafile

    The metadata file JSON now has an additional field: each import in an input file now contains the pre-resolved path in the original field in addition to the post-resolved path in the path field. This means it's now possible to run certain additional analysis over your bundle. For example, you should be able to use this to detect when the same package subpath is represented multiple times in the bundle, either because multiple versions of a package were bundled or because a package is experiencing the dual-package hazard.

v0.16.12

Compare Source

  • Loader defaults to js for extensionless files (#​2776)

    Certain packages contain files without an extension. For example, the yargs package contains the file yargs/yargs which has no extension. Node, Webpack, and Parcel can all understand code that imports yargs/yargs because they assume that the file is JavaScript. However, esbuild was previously unable to understand this code because it relies on the file extension to tell it how to interpret the file. With this release, esbuild will now assume files without an extension are JavaScript files. This can be customized by setting the loader for "" (the empty string, representing files without an extension) to another loader. For example, if you want files without an extension to be treated as CSS instead, you can do that like this:

    • CLI:

      esbuild --bundle --loader:=css
      
    • JS:

      esbuild.build({
        bundle: true,
        loader: { '': 'css' },
      })
    • Go:

      api.Build(api.BuildOptions{
        Bundle: true,
        Loader: map[string]api.Loader{"": api.LoaderCSS},
      })

    In addition, the "type" field in package.json files now only applies to files with an explicit .js, .jsx, .ts, or .tsx extension. Previously it was incorrectly applied by esbuild to all files that had an extension other than .mjs, .mts, .cjs, or .cts including extensionless files. So for example an extensionless file in a "type": "module" package is now treated as CommonJS instead of ESM.

v0.16.11

Compare Source

  • Avoid a syntax error in the presence of direct eval (#​2761)

    The behavior of nested function declarations in JavaScript depends on whether the code is run in strict mode or not. It would be problematic if esbuild preserved nested function declarations in its output because then the behavior would depend on whether the output was run in strict mode or not instead of respecting the strict mode behavior of the original source code. To avoid this, esbuild transforms nested function declarations to preserve the intended behavior of the original source code regardless of whether the output is run in strict mode or not:

    // Original code
    if (true) {
      function foo() {}
      console.log(!!foo)
      foo = null
      console.log(!!foo)
    }
    console.log(!!foo)
    
    // Transformed code
    if (true) {
      let foo2 = function() {
      };
      var foo = foo2;
      console.log(!!foo2);
      foo2 = null;
      console.log(!!foo2);
    }
    console.log(!!foo);

    In the above example, the original code should print true false true because it's not run in strict mode (it doesn't contain "use strict" and is not an ES module). The code that esbuild generates has been transformed such that it prints true false true regardless of whether it's run in strict mode or not.

    However, this transformation is impossible if the code contains direct eval because direct eval "poisons" all containing scopes by preventing anything in those scopes from being renamed. That prevents esbuild from splitting up accesses to foo into two separate variables with different names. Previously esbuild still did this transformation but with two variables both named foo, which is a syntax error. With this release esbuild will now skip doing this transformation when direct eval is present to avoid generating code with a syntax error. This means that the generated code may no longer behave as intended since the behavior depends on the run-time strict mode setting instead of the strict mode setting present in the original source code. To fix this problem, you will need to remove the use of direct eval.

  • Fix a bundling scenario involving multiple symlinks (#​2773, #​2774)

    This release contains a fix for a bundling scenario involving an import path where multiple path segments are symlinks. Previously esbuild was unable to resolve certain import paths in this scenario, but these import paths should now work starting with this release. This fix was contributed by @​onebytegone.

eslint/eslint

v8.31.0

Compare Source

Features

  • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#​16693) (Milos Djermanovic)
  • b401cde feat: add options to check destructuring in no-underscore-dangle (#​16006) (Morten Kaltoft)
  • 30d0daf feat: group properties with values in parentheses in key-spacing (#​16677) (Francesco Trotta)

Bug Fixes

  • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#​16722) (Francesco Trotta)
  • 87b2470 fix: new instance of FlatESLint should load latest config file version (#​16608) (Milos Djermanovic)

Documentation

Chores

prettier/eslint-config-prettier

v8.6.0

Compare Source

  • Added: [vue/multiline-ternary]. Thanks to @​xcatliu!
Shinigami92/eslint-define-config

v1.14.0

Compare Source

diff

  • Add settings for flat config (#​164)

v1.13.0

Compare Source

diff

  • Fix excludedFiles type to allow string[] (#​159)
  • Add support for deprecation (8ca5721)
  • Add support for eslint-comments (#​163)
  • Add support for jsonc (#​160)
  • Add support for promise (#​162)
  • Add support for sonarjs (#​161)
  • Update rules for: [eslint, jsdoc, spellcheck, typescript-eslint, unicorn, vue]
esbuild-kit/tsx

v3.12.2

Compare Source

Bug Fixes
  • handle experimental warning in Node v18.13.0 (67837e8)
vitejs/vite

v4.0.4

Compare Source


Configuration

📅 Schedule: Branch creation - "before 3am on Monday" (UTC), 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, check this box

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

@renovate renovate bot requested a review from a team as a code owner January 10, 2023 19:55
@renovate renovate bot added the c: dependencies Pull requests that adds/updates a dependency label Jan 10, 2023
@Shinigami92 Shinigami92 enabled auto-merge (squash) January 10, 2023 20:05
@Shinigami92 Shinigami92 merged commit d933ccb into next Jan 10, 2023
@codecov
Copy link

codecov bot commented Jan 10, 2023

Codecov Report

Merging #1725 (64efdde) into next (85b61a5) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             next    #1725   +/-   ##
=======================================
  Coverage   99.63%   99.63%           
=======================================
  Files        2336     2336           
  Lines      241146   241146           
  Branches     1102     1102           
=======================================
  Hits       240262   240262           
  Misses        863      863           
  Partials       21       21           

@renovate renovate bot deleted the renovate/devdependencies branch January 10, 2023 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: dependencies Pull requests that adds/updates a dependency
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants