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

fix(deps): update esbuild to 0.19.6 #224

Merged
merged 1 commit into from
Nov 27, 2023
Merged

Conversation

ogkevin-robot[bot]
Copy link

@ogkevin-robot ogkevin-robot bot commented Nov 20, 2023

This PR contains the following updates:

Package Type Update Change
esbuild devDependencies patch 0.19.5 -> 0.19.6

Release Notes

evanw/esbuild (esbuild)

v0.19.6

Compare Source

  • Fix a constant folding bug with bigint equality

    This release fixes a bug where esbuild incorrectly checked for bigint equality by checking the equality of the bigint literal text. This is correct if the bigint doesn't have a radix because bigint literals without a radix are always in canonical form (since leading zeros are not allowed). However, this is incorrect if the bigint has a radix (e.g. 0x123n) because the canonical form is not enforced when a radix is present.

    // Original code
    console.log(!!0n, !!1n, 123n === 123n)
    console.log(!!0x0n, !!0x1n, 123n === 0x7Bn)
    
    // Old output
    console.log(false, true, true);
    console.log(true, true, false);
    
    // New output
    console.log(false, true, true);
    console.log(!!0x0n, !!0x1n, 123n === 0x7Bn);
  • Add some improvements to the JavaScript minifier

    This release adds more cases to the JavaScript minifier, including support for inlining String.fromCharCode and String.prototype.charCodeAt when possible:

    // Original code
    document.onkeydown = e => e.keyCode === 'A'.charCodeAt(0) && console.log(String.fromCharCode(55358, 56768))
    
    // Old output (with --minify)
    document.onkeydown=o=>o.keyCode==="A".charCodeAt(0)&&console.log(String.fromCharCode(55358,56768));
    
    // New output (with --minify)
    document.onkeydown=o=>o.keyCode===65&&console.log("🧀");

    In addition, immediately-invoked function expressions (IIFEs) that return a single expression are now inlined when minifying. This makes it possible to use IIFEs in combination with @__PURE__ annotations to annotate arbitrary expressions as side-effect free without the IIFE wrapper impacting code size. For example:

    // Original code
    const sideEffectFreeOffset = /* @​__PURE__ */ (() => computeSomething())()
    use(sideEffectFreeOffset)
    
    // Old output (with --minify)
    const e=(()=>computeSomething())();use(e);
    
    // New output (with --minify)
    const e=computeSomething();use(e);
  • Automatically prefix the mask-composite CSS property for WebKit (#​3493)

    The mask-composite property will now be prefixed as -webkit-mask-composite for older WebKit-based browsers. In addition to prefixing the property name, handling older browsers also requires rewriting the values since WebKit uses non-standard names for the mask composite modes:

    /* Original code */
    div {
      mask-composite: add, subtract, intersect, exclude;
    }
    
    /* New output (with --target=chrome100) */
    div {
      -webkit-mask-composite:
        source-over,
        source-out,
        source-in,
        xor;
      mask-composite:
        add,
        subtract,
        intersect,
        exclude;
    }
  • Avoid referencing this from JSX elements in derived class constructors (#​3454)

    When you enable --jsx=automatic and --jsx-dev, the JSX transform is supposed to insert this as the last argument to the jsxDEV function. I'm not sure exactly why this is and I can't find any specification for it, but in any case this causes the generated code to crash when you use a JSX element in a derived class constructor before the call to super() as this is not allowed to be accessed at that point. For example

    // Original code
    class ChildComponent extends ParentComponent {
      constructor() {
        super(<div />)
      }
    }
    
    // Problematic output (with --loader=jsx --jsx=automatic --jsx-dev)
    import { jsxDEV } from "react/jsx-dev-runtime";
    class ChildComponent extends ParentComponent {
      constructor() {
        super(/* @&#8203;__PURE__ */ jsxDEV("div", {}, void 0, false, {
          fileName: "<stdin>",
          lineNumber: 3,
          columnNumber: 15
        }, this)); // The reference to "this" crashes here
      }
    }

    The TypeScript compiler doesn't handle this at all while the Babel compiler just omits this for the entire constructor (even after the call to super()). There seems to be no specification so I can't be sure that this change doesn't break anything important. But given that Babel is pretty loose with this and TypeScript doesn't handle this at all, I'm guessing this value isn't too important. React's blog post seems to indicate that this value was intended to be used for a React-specific migration warning at some point, so it could even be that this value is irrelevant now. Anyway the crash in this case should now be fixed.

  • Allow package subpath imports to map to node built-ins (#​3485)

    You are now able to use a subpath import in your package to resolve to a node built-in module. For example, with a package.json file like this:

    {
      "type": "module",
      "imports": {
        "#stream": {
          "node": "stream",
          "default": "./stub.js"
        }
      }
    }

    You can now import from node's stream module like this:

    import * as stream from '#stream';
    console.log(Object.keys(stream));

    This will import from node's stream module when the platform is node and from ./stub.js otherwise.

  • No longer throw an error when a Symbol is missing (#​3453)

    Certain JavaScript syntax features use special properties on the global Symbol object. For example, the asynchronous iteration syntax uses Symbol.asyncIterator. Previously esbuild's generated code for older browsers required this symbol to be polyfilled. However, starting with this release esbuild will use Symbol.for() to construct these symbols if they are missing instead of throwing an error about a missing polyfill. This means your code no longer needs to include a polyfill for missing symbols as long as your code also uses Symbol.for() for missing symbols.

  • Parse upcoming changes to TypeScript syntax (#​3490, #​3491)

    With this release, you can now use from as the name of a default type-only import in TypeScript code, as well as of as the name of an await using loop iteration variable:

    import type from from 'from'
    for (await using of of of) ;

    This matches similar changes in the TypeScript compiler (#​56376 and #​55555) which will start allowing this syntax in an upcoming version of TypeScript. Please never actually write code like this.

    The type-only import syntax change was contributed by @​magic-akari.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

This PR has been generated by Renovate Bot.

@ogkevin-robot ogkevin-robot bot enabled auto-merge (squash) November 20, 2023 00:22
@ogkevin-robot ogkevin-robot bot force-pushed the renovate/esbuild-0.19.x branch 2 times, most recently from 13ef07a to 9f46b5b Compare November 26, 2023 08:02
@ogkevin-robot ogkevin-robot bot force-pushed the renovate/esbuild-0.19.x branch 2 times, most recently from c882513 to 2a9ddd5 Compare November 26, 2023 08:35
| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | esbuild | 0.19.5 | 0.19.8 |
@ogkevin-robot ogkevin-robot bot force-pushed the renovate/esbuild-0.19.x branch from 2a9ddd5 to dcb6177 Compare November 27, 2023 16:12
@ogkevin-robot ogkevin-robot bot merged commit 63d00f6 into master Nov 27, 2023
5 checks passed
@ogkevin-robot ogkevin-robot bot deleted the renovate/esbuild-0.19.x branch November 27, 2023 16:15
ogkevin-robot bot added a commit that referenced this pull request Dec 5, 2023
🤖 I have created a release *beep* *boop*
---


## [1.5.4](1.5.3...1.5.4) (2023-12-05)


### ⚠ BREAKING CHANGES

* **docker-image:** Update mcr.microsoft.com/vscode/devcontainers/javascript-node Docker tag to v20 ([#182](#182))
* **docker-image:** Update Node.js to v20 ([#181](#181))
* **github-action:** Update actions/setup-node action ([#202](#202))
* **github-action:** Update actions/checkout action to v4 ([#185](#185))

### Features

* add release-please pipeline ([#211](#211)) ([4afe002](4afe002))
* **deps:** update @types/node to 18.17.6 ([#162](#162)) ([2b88d99](2b88d99))
* **deps:** update @types/node to 18.18.7 ([#201](#201)) ([e68eff3](e68eff3))
* **deps:** update @types/node to 18.19.0 ([#236](#236)) ([07225a9](07225a9))
* **deps:** update esbuild to 0.19.2 ([#163](#163)) ([67eb2d7](67eb2d7))
* **deps:** update eslint to 8.47.0 ([#164](#164)) ([bd2e6e3](bd2e6e3))
* **deps:** update eslint to 8.48.0 ([#176](#176)) ([321cb97](321cb97))
* **deps:** update eslint to 8.52.0 ([#190](#190)) ([20c4a89](20c4a89))
* **deps:** update eslint to 8.53.0 ([#215](#215)) ([abd7a62](abd7a62))
* **deps:** update eslint to 8.55.0 ([#237](#237)) ([c8a57e9](c8a57e9))
* **deps:** update obsidian to 1.4.0 ([#165](#165)) ([611d7f9](611d7f9))
* **deps:** update typescript to 5.2.2 ([#173](#173)) ([218733c](218733c))
* **deps:** update typescript to 5.3.2 ([#225](#225)) ([9e59d81](9e59d81))
* **deps:** update typescript-eslint monorepo to 6.1.0 ([#16](#16)) ([09cd839](09cd839))
* **deps:** update typescript-eslint monorepo to 6.10.0 (minor) ([#219](#219)) ([3d557ce](3d557ce))
* **deps:** update typescript-eslint monorepo to 6.12.0 (minor) ([#226](#226)) ([83bdfa4](83bdfa4))
* **deps:** update typescript-eslint monorepo to 6.13.0 (minor) ([#233](#233)) ([86da960](86da960))
* **deps:** update typescript-eslint monorepo to 6.4.0 ([#166](#166)) ([ceb86f4](ceb86f4))
* **deps:** update typescript-eslint monorepo to 6.5.0 (minor) ([#183](#183)) ([732c188](732c188))
* **deps:** update typescript-eslint monorepo to 6.9.1 ([#188](#188)) ([c19b615](c19b615))
* **docker-image:** Update mcr.microsoft.com/vscode/devcontainers/javascript-node Docker tag to v20 ([#182](#182)) ([4e0603d](4e0603d))
* **docker-image:** Update Node.js to v20 ([#181](#181)) ([49f5272](49f5272))


### Bug Fixes

* **deps:** update @types/better-sqlite3 to 7.6.4 ([#180](#180)) ([a649b2e](a649b2e))
* **deps:** update @types/better-sqlite3 to 7.6.6 ([#192](#192)) ([48ff8ca](48ff8ca))
* **deps:** update @types/better-sqlite3 to 7.6.7 ([#218](#218)) ([8ad1c4c](8ad1c4c))
* **deps:** update @types/better-sqlite3 to 7.6.8 ([#228](#228)) ([66d1928](66d1928))
* **deps:** update @types/chai to 4.3.10 ([#220](#220)) ([2a4c145](2a4c145))
* **deps:** update @types/chai to 4.3.11 ([#229](#229)) ([7aa68da](7aa68da))
* **deps:** update @types/mocha to 10.0.3 ([#199](#199)) ([eb4cbbe](eb4cbbe))
* **deps:** update @types/mocha to 10.0.4 ([#221](#221)) ([02f5ca0](02f5ca0))
* **deps:** update @types/mocha to 10.0.6 ([#230](#230)) ([4e8ef1a](4e8ef1a))
* **deps:** update @types/node to 18.17.12 ([2f96491](2f96491))
* **deps:** update @types/node to 18.17.14 ([#184](#184)) ([ff47913](ff47913))
* **deps:** update @types/node to 18.17.8 ([#169](#169)) ([07345b2](07345b2))
* **deps:** update @types/node to 18.17.9 ([#170](#170)) ([f57cf8f](f57cf8f))
* **deps:** update @types/node to 18.18.13 ([#223](#223)) ([1a3e313](1a3e313))
* **deps:** update @types/node to 18.18.8 ([#212](#212)) ([148489f](148489f))
* **deps:** update @types/node to 18.18.9 ([#222](#222)) ([d87a214](d87a214))
* **deps:** update @types/sql.js to 1.4.9 ([#200](#200)) ([66b2dd6](66b2dd6))
* **deps:** update chai to 4.3.10 ([#187](#187)) ([30a3137](30a3137))
* **deps:** update chai to 4.3.10 ([#208](#208)) ([ecb850d](ecb850d))
* **deps:** update chai to 4.3.8 ([#172](#172)) ([7efe545](7efe545))
* **deps:** update esbuild to 0.18.15 ([#17](#17)) ([14bc1b9](14bc1b9))
* **deps:** update esbuild to 0.19.5 ([#193](#193)) ([07f27cb](07f27cb))
* **deps:** update esbuild to 0.19.5 ([#209](#209)) ([cb80a79](cb80a79))
* **deps:** update esbuild to 0.19.8 ([#224](#224)) ([63d00f6](63d00f6))
* **deps:** update obsidian to 1.4.11 ([#191](#191)) ([f87e675](f87e675))
* **deps:** update obsidian to 1.4.4 ([#171](#171)) ([7d6b4bb](7d6b4bb))
* **deps:** update tslib to 2.6.2 ([#160](#160)) ([8e2e83e](8e2e83e))
* **deps:** update typescript-eslint monorepo to 6.13.2 ([#244](#244)) ([db5765f](db5765f))
* **deps:** update typescript-eslint monorepo to 6.4.1 ([#168](#168)) ([1f62800](1f62800))
* don't crash when there are no highlights ([#159](#159)) ([27d5c3d](27d5c3d))
* renovate pipeline ([#204](#204)) ([1b63f90](1b63f90))
* renovate pipeline for npm ([#206](#206)) ([db4293d](db4293d))
* typo for template on settings screen ([de6b7c3](de6b7c3))


### Continuous Integration

* **github-action:** Update actions/checkout action to v4 ([#185](#185)) ([e26bdb0](e26bdb0))
* **github-action:** Update actions/setup-node action ([#202](#202)) ([b7b5bc9](b7b5bc9))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant