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

Merged
merged 1 commit into from May 27, 2022
Merged

chore(deps): update devdependencies #1011

merged 1 commit into from May 27, 2022

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 27, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
esbuild ~0.14.39 -> ~0.14.40 age adoption passing confidence
eslint-plugin-jsdoc ~39.3.1 -> ~39.3.2 age adoption passing confidence

Release Notes

evanw/esbuild

v0.14.40

Compare Source

  • Correct esbuild's implementation of "preserveValueImports": true (#​2268)

    TypeScript's preserveValueImports setting tells the compiler to preserve unused imports, which can sometimes be necessary because otherwise TypeScript will remove unused imports as it assumes they are type annotations. This setting is useful for programming environments that strip TypeScript types as part of a larger code transformation where additional code is appended later that will then make use of those unused imports, such as with Svelte or Vue.

    This release fixes an issue where esbuild's implementation of preserveValueImports diverged from the official TypeScript compiler. If the import clause is present but empty of values (even if it contains types), then the import clause should be considered a type-only import clause. This was an oversight, and has now been fixed:

    // Original code
    import "keep"
    import { k1 } from "keep"
    import k2, { type t1 } from "keep"
    import {} from "remove"
    import { type t2 } from "remove"
    
    // Old output under "preserveValueImports": true
    import "keep";
    import { k1 } from "keep";
    import k2, {} from "keep";
    import {} from "remove";
    import {} from "remove";
    
    // New output under "preserveValueImports": true (matches the TypeScript compiler)
    import "keep";
    import { k1 } from "keep";
    import k2 from "keep";
  • Avoid regular expression syntax errors in older browsers (#​2215)

    Previously esbuild always passed JavaScript regular expression literals through unmodified from the input to the output. This is undesirable when the regular expression uses newer features that the configured target environment doesn't support. For example, the d flag (i.e. the match indices feature) is new in ES2022 and doesn't work in older browsers. If esbuild generated a regular expression literal containing the d flag, then older browsers would consider esbuild's output to be a syntax error and none of the code would run.

    With this release, esbuild now detects when an unsupported feature is being used and converts the regular expression literal into a new RegExp() constructor instead. One consequence of this is that the syntax error is transformed into a run-time error, which allows the output code to run (and to potentially handle the run-time error). Another consequence of this is that it allows you to include a polyfill that overwrites the RegExp constructor in older browsers with one that supports modern features. Note that esbuild does not handle polyfills for you, so you will need to include a RegExp polyfill yourself if you want one.

    // Original code
    console.log(/b/d.exec('abc').indices)
    
    // New output (with --target=chrome90)
    console.log(/b/d.exec("abc").indices);
    
    // New output (with --target=chrome89)
    console.log(new RegExp("b", "d").exec("abc").indices);

    This is currently done transparently without a warning. If you would like to debug this transformation to see where in your code esbuild is transforming regular expression literals and why, you can pass --log-level=debug to esbuild and review the information present in esbuild's debug logs.

  • Add Opera to more internal feature compatibility tables (#​2247, #​2252)

    The internal compatibility tables that esbuild uses to determine which environments support which features are derived from multiple sources. Most of it is automatically derived from these ECMAScript compatibility tables, but missing information is manually copied from MDN, GitHub PR comments, and various other websites. Version 0.14.35 of esbuild introduced Opera as a possible target environment which was automatically picked up by the compatibility table script, but the manually-copied information wasn't updated to include Opera. This release fixes this omission so Opera feature compatibility should now be accurate.

    This was contributed by @​lbwa.

  • Ignore EPERM errors on directories (#​2261)

    Previously bundling with esbuild when inside a sandbox environment which does not have permission to access the parent directory did not work because esbuild would try to read the directory to search for a node_modules folder and would then fail the build when that failed. In practice this caused issues with running esbuild with sandbox-exec on macOS. With this release, esbuild will treat directories with permission failures as empty to allow for the node_modules search to continue past the denied directory and into its parent directory. This means it should now be possible to bundle with esbuild in these situations. This fix is similar to the fix in version 0.9.1 but is for EPERM while that fix was for EACCES.

  • Remove an irrelevant extra "use strict" directive (#​2264)

    The presence of a "use strict" directive in the output file is controlled by the presence of one in the entry point. However, there was a bug that would include one twice if the output format is ESM. This bug has been fixed.

  • Minify strings into integers inside computed properties (#​2214)

    This release now minifies a["0"] into a[0] when the result is equivalent:

    // Original code
    console.log(x['0'], { '0': x }, class { '0' = x })
    
    // Old output (with --minify)
    console.log(x["0"],{"0":x},class{"0"=x});
    
    // New output (with --minify)
    console.log(x[0],{0:x},class{0=x});

    This transformation currently only happens when the numeric property represents an integer within the signed 32-bit integer range.

gajus/eslint-plugin-jsdoc

v39.3.2

Compare Source

Bug Fixes
  • no-undefined-types: ensure parsing takes into account template names with defaults (374daac)

Configuration

📅 Schedule: "before 2am" (UTC).

🚦 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 Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner May 27, 2022 01:51
@renovate renovate bot added the c: dependencies Pull requests that adds/updates a dependency label May 27, 2022
@codecov
Copy link

codecov bot commented May 27, 2022

Codecov Report

Merging #1011 (6527678) into main (7477054) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1011   +/-   ##
=======================================
  Coverage   99.67%   99.67%           
=======================================
  Files        2115     2115           
  Lines      227025   227025           
  Branches      982      982           
=======================================
  Hits       226277   226277           
  Misses        728      728           
  Partials       20       20           

@import-brain import-brain added this to the v7 - Current Major milestone May 27, 2022
import-brain
import-brain previously approved these changes May 27, 2022
@import-brain import-brain requested a review from a team May 27, 2022 03:21
@renovate renovate bot changed the title chore(deps): update dependency eslint-plugin-jsdoc to ~39.3.2 chore(deps): update devdependencies May 27, 2022
@renovate renovate bot force-pushed the renovate/devdependencies branch from 7b98d5b to c78201b Compare May 27, 2022 03:52
import-brain
import-brain previously approved these changes May 27, 2022
@renovate renovate bot force-pushed the renovate/devdependencies branch from ae0ea53 to 6527678 Compare May 27, 2022 06:56
@ST-DDT ST-DDT merged commit 73fc8d7 into main May 27, 2022
@ST-DDT ST-DDT deleted the renovate/devdependencies branch May 27, 2022 07:17
Minozzzi pushed a commit to Minozzzi/faker that referenced this pull request Jul 19, 2022
Co-authored-by: Renovate Bot <bot@renovateapp.com>
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

4 participants