{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":359215305,"defaultBranch":"main","name":"rest.js","ownerLogin":"octokit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-04-18T17:52:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3430433?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716305223.0","currentOid":""},"activityList":{"items":[{"before":"00dc7233e942a5bc942cda8a78ad18717d09029b","after":"cb3b632ad5d9b5392091ff75ee1863af0b744528","ref":"refs/heads/renovate/lock-file-maintenance","pushedAt":"2024-05-21T15:27:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): lock file maintenance","shortMessageHtmlLink":"build(deps): lock file maintenance"}},{"before":"3f2197d99cbe20bcd57ef1da43a440dd6f304789","after":"5c6d93daa7c526c272798030286b6b213a668fe4","ref":"refs/heads/gh-pages","pushedAt":"2024-05-21T15:26:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"octokitbot","name":"Octokit Bot","path":"/octokitbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33075676?s=80&v=4"},"commit":{"message":"Deploy to GitHub Pages","shortMessageHtmlLink":"Deploy to GitHub Pages"}},{"before":"c1892ed792238e23a92b15d870d1d91a87f21dec","after":"bc41b700870420f814d3ea4db7f1390c360ceaf2","ref":"refs/heads/main","pushedAt":"2024-05-21T15:24:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickfloyd","name":"Nick Floyd","path":"/nickfloyd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/139819?s=80&v=4"},"commit":{"message":"chore(deps): update dependency esbuild to ^0.21.0 (#429)\n\n[![Mend\r\nRenovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\r\n\r\nThis PR contains the following updates:\r\n\r\n| Package | Change | Age | Adoption | Passing | Confidence |\r\n|---|---|---|---|---|---|\r\n| [esbuild](https://togithub.com/evanw/esbuild) | [`^0.20.0` ->\r\n`^0.21.0`](https://renovatebot.com/diffs/npm/esbuild/0.20.0/0.21.1) |\r\n[![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\r\n|\r\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\r\n|\r\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.20.0/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\r\n|\r\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.20.0/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)\r\n|\r\n\r\n---\r\n\r\n### Release Notes\r\n\r\n
\r\nevanw/esbuild (esbuild)\r\n\r\n###\r\n[`v0.21.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0211)\r\n\r\n[Compare\r\nSource](https://togithub.com/evanw/esbuild/compare/v0.21.0...v0.21.1)\r\n\r\n- Fix a regression with `--keep-names`\r\n([#​3756](https://togithub.com/evanw/esbuild/issues/3756))\r\n\r\nThe previous release introduced a regression with the `--keep-names`\r\nsetting and object literals with `get`/`set` accessor methods, in which\r\ncase the generated code contained syntax errors. This release fixes the\r\nregression:\r\n\r\n ```js\r\n // Original code\r\n x = { get y() {} }\r\n\r\n // Output from version 0.21.0 (with --keep-names)\r\n x = { get y: /* @​__PURE__ */ __name(function() {\r\n }, \"y\") };\r\n\r\n // Output from this version (with --keep-names)\r\n x = { get y() {\r\n } };\r\n ```\r\n\r\n###\r\n[`v0.21.0`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0210)\r\n\r\n[Compare\r\nSource](https://togithub.com/evanw/esbuild/compare/v0.20.2...v0.21.0)\r\n\r\nThis release doesn't contain any deliberately-breaking changes. However,\r\nit contains a very complex new feature and while all of esbuild's tests\r\npass, I would not be surprised if an important edge case turns out to be\r\nbroken. So I'm releasing this as a breaking change release to avoid\r\ncausing any trouble. As usual, make sure to test your code when you\r\nupgrade.\r\n\r\n- Implement the JavaScript decorators proposal\r\n([#​104](https://togithub.com/evanw/esbuild/issues/104))\r\n\r\nWith this release, esbuild now contains an implementation of the\r\nupcoming [JavaScript decorators\r\nproposal](https://togithub.com/tc39/proposal-decorators). This is the\r\nsame feature that shipped in [TypeScript\r\n5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators)\r\nand has been highly-requested on esbuild's issue tracker. You can read\r\nmore about them in that blog post and in this other (now slightly\r\noutdated) extensive blog post here:\r\nhttps://2ality.com/2022/10/javascript-decorators.html. Here's a quick\r\nexample:\r\n\r\n ```js\r\n const log = (fn, context) => function() {\r\n console.log(`before ${context.name}`)\r\n const it = fn.apply(this, arguments)\r\n console.log(`after ${context.name}`)\r\n return it\r\n }\r\n\r\n class Foo {\r\n @​log static foo() {\r\n console.log('in foo')\r\n }\r\n }\r\n\r\n // Logs \"before foo\", \"in foo\", \"after foo\"\r\n Foo.foo()\r\n ```\r\n\r\nNote that this feature is different than the existing \"TypeScript\r\nexperimental decorators\" feature that esbuild already implements. It\r\nuses similar syntax but behaves very differently, and the two are not\r\ncompatible (although it's sometimes possible to write decorators that\r\nwork with both). TypeScript experimental decorators will still be\r\nsupported by esbuild going forward as they have been around for a long\r\ntime, are very widely used, and let you do certain things that are not\r\npossible with JavaScript decorators (such as decorating function\r\nparameters). By default esbuild will parse and transform JavaScript\r\ndecorators, but you can tell esbuild to parse and transform TypeScript\r\nexperimental decorators instead by setting `\"experimentalDecorators\":\r\ntrue` in your `tsconfig.json` file.\r\n\r\nProbably at least half of the work for this feature went into creating a\r\ntest suite that exercises many of the proposal's edge cases:\r\nhttps://github.com/evanw/decorator-tests. It has given me a reasonable\r\nlevel of confidence that esbuild's initial implementation is acceptable.\r\nHowever, I don't have access to a significant sample of real code that\r\nuses JavaScript decorators. If you're currently using JavaScript\r\ndecorators in a real code base, please try out esbuild's implementation\r\nand let me know if anything seems off.\r\n\r\n **โš ๏ธ WARNING โš ๏ธ**\r\n\r\nThis proposal has been in the works for a very long time (work began\r\naround 10 years ago in 2014) and it is finally getting close to becoming\r\npart of the JavaScript language. However, it's still a work in progress\r\nand isn't a part of JavaScript yet, so keep in mind that any code that\r\nuses JavaScript decorators may need to be updated as the feature\r\ncontinues to evolve. The decorators proposal is pretty close to its\r\nfinal form but it can and likely will undergo some small behavioral\r\nadjustments before it ends up becoming a part of the standard. If/when\r\nthat happens, I will update esbuild's implementation to match the\r\nspecification. I will not be supporting old versions of the\r\nspecification.\r\n\r\n- Optimize the generated code for private methods\r\n\r\nPreviously when lowering private methods for old browsers, esbuild would\r\ngenerate one `WeakSet` for each private method. This mirrors similar\r\nlogic for generating one `WeakSet` for each private field. Using a\r\nseparate `WeakMap` for private fields is necessary as their assignment\r\ncan be observable:\r\n\r\n ```js\r\n let it\r\n class Bar {\r\n constructor() {\r\n it = this\r\n }\r\n }\r\n class Foo extends Bar {\r\n #x = 1\r\n #y = null.foo\r\n static check() {\r\n console.log(#x in it, #y in it)\r\n }\r\n }\r\n try { new Foo } catch {}\r\n Foo.check()\r\n ```\r\n\r\nThis prints `true false` because this partially-initialized instance has\r\n`#x` but not `#y`. In other words, it's not true that all class\r\ninstances will always have all of their private fields. However, the\r\nassignment of private methods to a class instance is not observable. In\r\nother words, it's true that all class instances will always have all of\r\ntheir private methods. This means esbuild can lower private methods into\r\ncode where all methods share a single `WeakSet`, which is smaller,\r\nfaster, and uses less memory. Other JavaScript processing tools such as\r\nthe TypeScript compiler already make this optimization. Here's what this\r\nchange looks like:\r\n\r\n ```js\r\n // Original code\r\n class Foo {\r\n #x() { return this.#x() }\r\n #y() { return this.#y() }\r\n #z() { return this.#z() }\r\n }\r\n\r\n // Old output (--supported:class-private-method=false)\r\n var _x, x_fn, _y, y_fn, _z, z_fn;\r\n class Foo {\r\n constructor() {\r\n __privateAdd(this, _x);\r\n __privateAdd(this, _y);\r\n __privateAdd(this, _z);\r\n }\r\n }\r\n _x = new WeakSet();\r\n x_fn = function() {\r\n return __privateMethod(this, _x, x_fn).call(this);\r\n };\r\n _y = new WeakSet();\r\n y_fn = function() {\r\n return __privateMethod(this, _y, y_fn).call(this);\r\n };\r\n _z = new WeakSet();\r\n z_fn = function() {\r\n return __privateMethod(this, _z, z_fn).call(this);\r\n };\r\n\r\n // New output (--supported:class-private-method=false)\r\n var _Foo_instances, x_fn, y_fn, z_fn;\r\n class Foo {\r\n constructor() {\r\n __privateAdd(this, _Foo_instances);\r\n }\r\n }\r\n _Foo_instances = new WeakSet();\r\n x_fn = function() {\r\n return __privateMethod(this, _Foo_instances, x_fn).call(this);\r\n };\r\n y_fn = function() {\r\n return __privateMethod(this, _Foo_instances, y_fn).call(this);\r\n };\r\n z_fn = function() {\r\n return __privateMethod(this, _Foo_instances, z_fn).call(this);\r\n };\r\n ```\r\n\r\n- Fix an obscure bug with lowering class members with computed property\r\nkeys\r\n\r\nWhen class members that use newer syntax features are transformed for\r\nolder target environments, they sometimes need to be relocated. However,\r\ncare must be taken to not reorder any side effects caused by computed\r\nproperty keys. For example, the following code must evaluate `a()` then\r\n`b()` then `c()`:\r\n\r\n ```js\r\n class Foo {\r\n [a()]() {}\r\n [b()];\r\n static { c() }\r\n }\r\n ```\r\n\r\nPreviously esbuild did this by shifting the computed property key\r\n*forward* to the next spot in the evaluation order. Classes evaluate all\r\ncomputed keys first and then all static class elements, so if the last\r\ncomputed key needs to be shifted, esbuild previously inserted a static\r\nblock at start of the class body, ensuring it came before all other\r\nstatic class elements:\r\n\r\n ```js\r\n var _a;\r\n class Foo {\r\n constructor() {\r\n __publicField(this, _a);\r\n }\r\n static {\r\n _a = b();\r\n }\r\n [a()]() {\r\n }\r\n static {\r\n c();\r\n }\r\n }\r\n ```\r\n\r\nHowever, this could cause esbuild to accidentally generate a syntax\r\nerror if the computed property key contains code that isn't allowed in a\r\nstatic block, such as an `await` expression. With this release, esbuild\r\nfixes this problem by shifting the computed property key *backward* to\r\nthe previous spot in the evaluation order instead, which may push it\r\ninto the `extends` clause or even before the class itself:\r\n\r\n ```js\r\n // Original code\r\n class Foo {\r\n [a()]() {}\r\n [await b()];\r\n static { c() }\r\n }\r\n\r\n // Old output (with --supported:class-field=false)\r\n var _a;\r\n class Foo {\r\n constructor() {\r\n __publicField(this, _a);\r\n }\r\n static {\r\n _a = await b();\r\n }\r\n [a()]() {\r\n }\r\n static {\r\n c();\r\n }\r\n }\r\n\r\n // New output (with --supported:class-field=false)\r\n var _a, _b;\r\n class Foo {\r\n constructor() {\r\n __publicField(this, _a);\r\n }\r\n [(_b = a(), _a = await b(), _b)]() {\r\n }\r\n static {\r\n c();\r\n }\r\n }\r\n ```\r\n\r\n- Fix some `--keep-names` edge cases\r\n\r\nThe [`NamedEvaluation` syntax-directed\r\noperation](https://tc39.es/ecma262/#sec-runtime-semantics-namedevaluation)\r\nin the JavaScript specification gives certain anonymous expressions a\r\n`name` property depending on where they are in the syntax tree. For\r\nexample, the following initializers convey a `name` value:\r\n\r\n ```js\r\n var foo = function() {}\r\n var bar = class {}\r\n console.log(foo.name, bar.name)\r\n ```\r\n\r\nWhen you enable esbuild's `--keep-names` setting, esbuild generates\r\nadditional code to represent this `NamedEvaluation` operation so that\r\nthe value of the `name` property persists even when the identifiers are\r\nrenamed (e.g. due to minification).\r\n\r\nHowever, I recently learned that esbuild's implementation of\r\n`NamedEvaluation` is missing a few cases. Specifically esbuild was\r\nmissing property definitions, class initializers, logical-assignment\r\noperators. These cases should now all be handled:\r\n\r\n ```js\r\n var obj = { foo: function() {} }\r\n class Foo0 { foo = function() {} }\r\n class Foo1 { static foo = function() {} }\r\n class Foo2 { accessor foo = function() {} }\r\n class Foo3 { static accessor foo = function() {} }\r\n foo ||= function() {}\r\n foo &&= function() {}\r\n foo ??= function() {}\r\n ```\r\n\r\n###\r\n[`v0.20.2`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0202)\r\n\r\n[Compare\r\nSource](https://togithub.com/evanw/esbuild/compare/v0.20.1...v0.20.2)\r\n\r\n- Support TypeScript experimental decorators on `abstract` class fields\r\n([#​3684](https://togithub.com/evanw/esbuild/issues/3684))\r\n\r\nWith this release, you can now use TypeScript experimental decorators on\r\n`abstract` class fields. This was silently compiled incorrectly in\r\nesbuild 0.19.7 and below, and was an error from esbuild 0.19.8 to\r\nesbuild 0.20.1. Code such as the following should now work correctly:\r\n\r\n ```ts\r\n // Original code\r\n const log = (x: any, y: string) => console.log(y)\r\n abstract class Foo { @​log abstract foo: string }\r\n new class extends Foo { foo = '' }\r\n\r\n// Old output (with --loader=ts\r\n--tsconfig-raw={\\\"compilerOptions\\\":{\\\"experimentalDecorators\\\":true}})\r\n const log = (x, y) => console.log(y);\r\n class Foo {\r\n }\r\n new class extends Foo {\r\n foo = \"\";\r\n }();\r\n\r\n// New output (with --loader=ts\r\n--tsconfig-raw={\\\"compilerOptions\\\":{\\\"experimentalDecorators\\\":true}})\r\n const log = (x, y) => console.log(y);\r\n class Foo {\r\n }\r\n __decorateClass([\r\n log\r\n ], Foo.prototype, \"foo\", 2);\r\n new class extends Foo {\r\n foo = \"\";\r\n }();\r\n ```\r\n\r\n- JSON loader now preserves `__proto__` properties\r\n([#​3700](https://togithub.com/evanw/esbuild/issues/3700))\r\n\r\nCopying JSON source code into a JavaScript file will change its meaning\r\nif a JSON object contains the `__proto__` key. A literal `__proto__`\r\nproperty in a JavaScript object literal sets the prototype of the object\r\ninstead of adding a property named `__proto__`, while a literal\r\n`__proto__` property in a JSON object literal just adds a property named\r\n`__proto__`. With this release, esbuild will now work around this\r\nproblem by converting JSON to JavaScript with a computed property key in\r\nthis case:\r\n\r\n ```js\r\n // Original code\r\n import data from 'data:application/json,{\"__proto__\":{\"fail\":true}}'\r\n if (Object.getPrototypeOf(data)?.fail) throw 'fail'\r\n\r\n // Old output (with --bundle)\r\n (() => {\r\n // \r\n var json_proto_fail_true_default = { __proto__: { fail: true } };\r\n\r\n // entry.js\r\n if (Object.getPrototypeOf(json_proto_fail_true_default)?.fail)\r\n throw \"fail\";\r\n })();\r\n\r\n // New output (with --bundle)\r\n (() => {\r\n // \r\nvar json_proto_fail_true_default = { [\"__proto__\"]: { fail: true } };\r\n\r\n // example.mjs\r\n if (Object.getPrototypeOf(json_proto_fail_true_default)?.fail)\r\n throw \"fail\";\r\n })();\r\n ```\r\n\r\n- Improve dead code removal of `switch` statements\r\n([#​3659](https://togithub.com/evanw/esbuild/issues/3659))\r\n\r\nWith this release, esbuild will now remove `switch` statements in\r\nbranches when minifying if they are known to never be evaluated:\r\n\r\n ```js\r\n // Original code\r\n if (true) foo(); else switch (bar) { case 1: baz(); break }\r\n\r\n // Old output (with --minify)\r\n if(1)foo();else switch(bar){case 1:}\r\n\r\n // New output (with --minify)\r\n foo();\r\n ```\r\n\r\n- Empty enums should behave like an object literal\r\n([#​3657](https://togithub.com/evanw/esbuild/issues/3657))\r\n\r\nTypeScript allows you to create an empty enum and add properties to it\r\nat run time. While people usually use an empty object literal for this\r\ninstead of a TypeScript enum, esbuild's enum transform didn't anticipate\r\nthis use case and generated `undefined` instead of `{}` for an empty\r\nenum. With this release, you can now use an empty enum to generate an\r\nempty object literal.\r\n\r\n ```ts\r\n // Original code\r\n enum Foo {}\r\n\r\n // Old output (with --loader=ts)\r\n var Foo = /* @​__PURE__ */ ((Foo2) => {\r\n })(Foo || {});\r\n\r\n // New output (with --loader=ts)\r\n var Foo = /* @​__PURE__ */ ((Foo2) => {\r\n return Foo2;\r\n })(Foo || {});\r\n ```\r\n\r\n- Handle Yarn Plug'n'Play edge case with `tsconfig.json`\r\n([#​3698](https://togithub.com/evanw/esbuild/issues/3698))\r\n\r\nPreviously a `tsconfig.json` file that `extends` another file in a\r\npackage with an `exports` map failed to work when Yarn's Plug'n'Play\r\nresolution was active. This edge case should work now starting with this\r\nrelease.\r\n\r\n- Work around issues with Deno 1.31+\r\n([#​3682](https://togithub.com/evanw/esbuild/issues/3682))\r\n\r\nVersion 0.20.0 of esbuild changed how the esbuild child process is run\r\nin esbuild's API for Deno. Previously it used `Deno.run` but that API is\r\nbeing removed in favor of `Deno.Command`. As part of this change,\r\nesbuild is now calling the new `unref` function on esbuild's long-lived\r\nchild process, which is supposed to allow Deno to exit when your code\r\nhas finished running even though the child process is still around\r\n(previously you had to explicitly call esbuild's `stop()` function to\r\nterminate the child process for Deno to be able to exit).\r\n\r\nHowever, this introduced a problem for Deno's testing API which now\r\nfails some tests that use esbuild with `error: Promise resolution is\r\nstill pending but the event loop has already resolved`. It's unclear to\r\nme why this is happening. The call to `unref` was recommended by someone\r\non the Deno core team, and calling Node's equivalent `unref` API has\r\nbeen working fine for esbuild in Node for a long time. It could be that\r\nI'm using it incorrectly, or that there's some reference counting and/or\r\ngarbage collection bug in Deno's internals, or that Deno's `unref` just\r\nworks differently than Node's `unref`. In any case, it's not good for\r\nDeno tests that use esbuild to be failing.\r\n\r\nIn this release, I am removing the call to `unref` to fix this issue.\r\nThis means that you will now have to call esbuild's `stop()` function to\r\nallow Deno to exit, just like you did before esbuild version 0.20.0 when\r\nthis regression was introduced.\r\n\r\nNote: This regression wasn't caught earlier because Deno doesn't seem to\r\nfail tests that have outstanding `setTimeout` calls, which esbuild's\r\ntest harness was using to enforce a maximum test runtime. Adding a\r\n`setTimeout` was allowing esbuild's Deno tests to succeed. So this\r\nregression doesn't necessarily apply to all people using tests in Deno.\r\n\r\n###\r\n[`v0.20.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0201)\r\n\r\n[Compare\r\nSource](https://togithub.com/evanw/esbuild/compare/v0.20.0...v0.20.1)\r\n\r\n- Fix a bug with the CSS nesting transform\r\n([#​3648](https://togithub.com/evanw/esbuild/issues/3648))\r\n\r\nThis release fixes a bug with the CSS nesting transform for older\r\nbrowsers where the generated CSS could be incorrect if a selector list\r\ncontained a pseudo element followed by another selector. The bug was\r\ncaused by incorrectly mutating the parent rule's selector list when\r\nfiltering out pseudo elements for the child rules:\r\n\r\n ```css\r\n /* Original code */\r\n .foo {\r\n &:after,\r\n & .bar {\r\n color: red;\r\n }\r\n }\r\n\r\n /* Old output (with --supported:nesting=false) */\r\n .foo .bar,\r\n .foo .bar {\r\n color: red;\r\n }\r\n\r\n /* New output (with --supported:nesting=false) */\r\n .foo:after,\r\n .foo .bar {\r\n color: red;\r\n }\r\n ```\r\n\r\n- Constant folding for JavaScript inequality operators\r\n([#​3645](https://togithub.com/evanw/esbuild/issues/3645))\r\n\r\nThis release introduces constant folding for the `< > <= >=` operators.\r\nThe minifier will now replace these operators with `true` or `false`\r\nwhen both sides are compile-time numeric or string constants:\r\n\r\n ```js\r\n // Original code\r\n console.log(1 < 2, '๐Ÿ•' > '๐Ÿง€')\r\n\r\n // Old output (with --minify)\r\n console.log(1<2,\"๐Ÿ•\">\"๐Ÿง€\");\r\n\r\n // New output (with --minify)\r\n console.log(!0,!1);\r\n ```\r\n\r\n- Better handling of `__proto__` edge cases\r\n([#​3651](https://togithub.com/evanw/esbuild/pull/3651))\r\n\r\nJavaScript object literal syntax contains a special case where a\r\nnon-computed property with a key of `__proto__` sets the prototype of\r\nthe object. This does not apply to computed properties or to properties\r\nthat use the shorthand property syntax introduced in ES6. Previously\r\nesbuild didn't correctly preserve the \"sets the prototype\" status of\r\nproperties inside an object literal, meaning a property that sets the\r\nprototype could accidentally be transformed into one that doesn't and\r\nvice versa. This has now been fixed:\r\n\r\n ```js\r\n // Original code\r\n function foo(__proto__) {\r\n return { __proto__: __proto__ } // Note: sets the prototype\r\n }\r\n function bar(__proto__, proto) {\r\n {\r\n let __proto__ = proto\r\n return { __proto__ } // Note: doesn't set the prototype\r\n }\r\n }\r\n\r\n // Old output\r\n function foo(__proto__) {\r\nreturn { __proto__ }; // Note: no longer sets the prototype (WRONG)\r\n }\r\n function bar(__proto__, proto) {\r\n {\r\n let __proto__2 = proto;\r\nreturn { __proto__: __proto__2 }; // Note: now sets the prototype\r\n(WRONG)\r\n }\r\n }\r\n\r\n // New output\r\n function foo(__proto__) {\r\nreturn { __proto__: __proto__ }; // Note: sets the prototype (correct)\r\n }\r\n function bar(__proto__, proto) {\r\n {\r\n let __proto__2 = proto;\r\nreturn { [\"__proto__\"]: __proto__2 }; // Note: doesn't set the prototype\r\n(correct)\r\n }\r\n }\r\n ```\r\n\r\n- Fix cross-platform non-determinism with CSS color space\r\ntransformations\r\n([#​3650](https://togithub.com/evanw/esbuild/issues/3650))\r\n\r\nThe Go compiler takes advantage of \"fused multiply and add\" (FMA)\r\ninstructions on certain processors which do the operation `x*y + z`\r\nwithout intermediate rounding. This causes esbuild's CSS color space\r\nmath to differ on different processors (currently `ppc64le` and\r\n`s390x`), which breaks esbuild's guarantee of deterministic output. To\r\navoid this, esbuild's color space math now inserts a `float64()` cast\r\naround every single math operation. This tells the Go compiler not to\r\nuse the FMA optimization.\r\n\r\n- Fix a crash when resolving a path from a directory that doesn't exist\r\n([#​3634](https://togithub.com/evanw/esbuild/issues/3634))\r\n\r\nThis release fixes a regression where esbuild could crash when resolving\r\nan absolute path if the source directory for the path resolution\r\noperation doesn't exist. While this situation doesn't normally come up,\r\nit could come up when running esbuild concurrently with another\r\noperation that mutates the file system as esbuild is doing a build (such\r\nas using `git` to switch branches). The underlying problem was a\r\nregression that was introduced in version 0.18.0.\r\n\r\n
\r\n\r\n---\r\n\r\n### Configuration\r\n\r\n๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined),\r\nAutomerge - At any time (no schedule defined).\r\n\r\n๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you\r\nare satisfied.\r\n\r\nโ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the\r\nrebase/retry checkbox.\r\n\r\n๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update\r\nagain.\r\n\r\n---\r\n\r\n- [ ] If you want to rebase/retry this PR, check\r\nthis box\r\n\r\n---\r\n\r\nThis PR has been generated by [Mend\r\nRenovate](https://www.mend.io/free-developer-tools/renovate/). View\r\nrepository job log\r\n[here](https://developer.mend.io/github/octokit/rest.js).\r\n\r\n\r\n\r\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>","shortMessageHtmlLink":"chore(deps): update dependency esbuild to ^0.21.0 (#429)"}},{"before":"cce857ced1c7ec333ee15ed12f1140e1f8b48f46","after":null,"ref":"refs/heads/renovate/esbuild-0.x","pushedAt":"2024-05-21T15:24:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickfloyd","name":"Nick Floyd","path":"/nickfloyd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/139819?s=80&v=4"}},{"before":"8aaf95d814a2c2e0ff3db90453f5e86abb679405","after":"00dc7233e942a5bc942cda8a78ad18717d09029b","ref":"refs/heads/renovate/lock-file-maintenance","pushedAt":"2024-05-20T20:35:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): lock file maintenance","shortMessageHtmlLink":"build(deps): lock file maintenance"}},{"before":"24acc98917cb6ff1969097e39feccbd7c2e35f68","after":"3f2197d99cbe20bcd57ef1da43a440dd6f304789","ref":"refs/heads/gh-pages","pushedAt":"2024-05-20T20:34:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"octokitbot","name":"Octokit Bot","path":"/octokitbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33075676?s=80&v=4"},"commit":{"message":"Deploy to GitHub Pages","shortMessageHtmlLink":"Deploy to GitHub Pages"}},{"before":"1043ceaad004cdc79df4d7b6c580bf170b5e37e6","after":null,"ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-05-20T20:32:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickfloyd","name":"Nick Floyd","path":"/nickfloyd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/139819?s=80&v=4"}},{"before":"7058346922bede2db35bbf1c2145b1976310df69","after":"c1892ed792238e23a92b15d870d1d91a87f21dec","ref":"refs/heads/main","pushedAt":"2024-05-20T20:32:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickfloyd","name":"Nick Floyd","path":"/nickfloyd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/139819?s=80&v=4"},"commit":{"message":"ci(action): update actions/checkout digest to a5ac7e5 (#432)\n\n[![Mend\r\nRenovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\r\n\r\nThis PR contains the following updates:\r\n\r\n| Package | Type | Update | Change |\r\n|---|---|---|---|\r\n| [actions/checkout](https://togithub.com/actions/checkout) | action |\r\ndigest | `0ad4b8f` -> `a5ac7e5` |\r\n\r\n---\r\n\r\n### Configuration\r\n\r\n๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined),\r\nAutomerge - At any time (no schedule defined).\r\n\r\n๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you\r\nare satisfied.\r\n\r\nโ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the\r\nrebase/retry checkbox.\r\n\r\n๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update\r\nagain.\r\n\r\n---\r\n\r\n- [ ] If you want to rebase/retry this PR, check\r\nthis box\r\n\r\n---\r\n\r\nThis PR has been generated by [Mend\r\nRenovate](https://www.mend.io/free-developer-tools/renovate/). View\r\nrepository job log\r\n[here](https://developer.mend.io/github/octokit/rest.js).\r\n\r\n\r\n\r\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>","shortMessageHtmlLink":"ci(action): update actions/checkout digest to a5ac7e5 (#432)"}},{"before":null,"after":"1043ceaad004cdc79df4d7b6c580bf170b5e37e6","ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-05-20T15:59:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"ci(action): update actions/checkout digest to a5ac7e5","shortMessageHtmlLink":"ci(action): update actions/checkout digest to a5ac7e5"}},{"before":"c3410c0238157aecc56eed980107e2b58bb1620e","after":"30871f009d36c4a2c0feff66caa9ecadae14724d","ref":"refs/heads/beta","pushedAt":"2024-05-13T17:15:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"Merge branch 'main' into beta","shortMessageHtmlLink":"Merge branch 'main' into beta"}},{"before":"bfd504d0d8286645635b32b1fb00a2172a6d62de","after":null,"ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-05-09T16:32:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"}},{"before":null,"after":"bfd504d0d8286645635b32b1fb00a2172a6d62de","ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-05-08T21:04:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"ci(action): update actions/checkout digest to 44c2b7a","shortMessageHtmlLink":"ci(action): update actions/checkout digest to 44c2b7a"}},{"before":null,"after":"cce857ced1c7ec333ee15ed12f1140e1f8b48f46","ref":"refs/heads/renovate/esbuild-0.x","pushedAt":"2024-05-07T04:49:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"chore(deps): update dependency esbuild to ^0.21.0","shortMessageHtmlLink":"chore(deps): update dependency esbuild to ^0.21.0"}},{"before":"4794425a9e1546300b362c2f5bcfb89e8c988895","after":"8aaf95d814a2c2e0ff3db90453f5e86abb679405","ref":"refs/heads/renovate/lock-file-maintenance","pushedAt":"2024-05-03T16:42:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): lock file maintenance","shortMessageHtmlLink":"build(deps): lock file maintenance"}},{"before":"0e8eb8f489fefe85a446e5d0ec9b9fc05d42f60b","after":"24acc98917cb6ff1969097e39feccbd7c2e35f68","ref":"refs/heads/gh-pages","pushedAt":"2024-05-03T16:41:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"octokitbot","name":"Octokit Bot","path":"/octokitbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33075676?s=80&v=4"},"commit":{"message":"Deploy to GitHub Pages","shortMessageHtmlLink":"Deploy to GitHub Pages"}},{"before":"f2903058f62fefa46c3afa2a785f053429e98730","after":"611bb3a966c8e436b767cb39fd47dd8f943c70e7","ref":"refs/heads/renovate/major-octokit-monorepo","pushedAt":"2024-05-03T16:40:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"chore(deps): update octokit monorepo","shortMessageHtmlLink":"chore(deps): update octokit monorepo"}},{"before":"b4e210293dda57f66e8b0391f4dc5d67b2cb5025","after":"7058346922bede2db35bbf1c2145b1976310df69","ref":"refs/heads/main","pushedAt":"2024-05-03T16:39:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"fix: update REST endpoints (#428)\n\nFinal CJS release containing API updates","shortMessageHtmlLink":"fix: update REST endpoints (#428)"}},{"before":"5dbfa7d9162a5a1849e92e75b8683f6317371d4b","after":null,"ref":"refs/heads/update-endpoints","pushedAt":"2024-05-03T16:39:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"}},{"before":null,"after":"5dbfa7d9162a5a1849e92e75b8683f6317371d4b","ref":"refs/heads/update-endpoints","pushedAt":"2024-05-02T22:00:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"fix: update REST endpoints","shortMessageHtmlLink":"fix: update REST endpoints"}},{"before":"e8959a35fff8bef966c6539012e16b727e5a8e53","after":"c3410c0238157aecc56eed980107e2b58bb1620e","ref":"refs/heads/beta","pushedAt":"2024-04-30T17:39:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"docs(README): add note about ESM usage with TS","shortMessageHtmlLink":"docs(README): add note about ESM usage with TS"}},{"before":"5b14822f14ee486594dd2eb417f26ab9c3c3d955","after":"f2903058f62fefa46c3afa2a785f053429e98730","ref":"refs/heads/renovate/major-octokit-monorepo","pushedAt":"2024-04-30T17:37:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"chore(deps): update octokit monorepo","shortMessageHtmlLink":"chore(deps): update octokit monorepo"}},{"before":"148a7ac6ebf0d196736dd4570be0b6f3c04df2fa","after":"e8959a35fff8bef966c6539012e16b727e5a8e53","ref":"refs/heads/beta","pushedAt":"2024-04-30T17:37:09.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"Merge branch 'main' into beta","shortMessageHtmlLink":"Merge branch 'main' into beta"}},{"before":"5d8da1266134075568d69d9fb0fc6644b894b411","after":"148a7ac6ebf0d196736dd4570be0b6f3c04df2fa","ref":"refs/heads/beta","pushedAt":"2024-04-30T17:36:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wolfy1339","name":null,"path":"/wolfy1339","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4595477?s=80&v=4"},"commit":{"message":"build(deps): bump `@octokit/auth-app`","shortMessageHtmlLink":"build(deps): bump @octokit/auth-app"}},{"before":"26433549af5b8168be4404287a43844688b736bd","after":"4794425a9e1546300b362c2f5bcfb89e8c988895","ref":"refs/heads/renovate/lock-file-maintenance","pushedAt":"2024-04-25T22:50:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): lock file maintenance","shortMessageHtmlLink":"build(deps): lock file maintenance"}},{"before":"3d1268e9ebebece05b7c9e861aade762296c5247","after":"0e8eb8f489fefe85a446e5d0ec9b9fc05d42f60b","ref":"refs/heads/gh-pages","pushedAt":"2024-04-25T22:50:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"octokitbot","name":"Octokit Bot","path":"/octokitbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33075676?s=80&v=4"},"commit":{"message":"Deploy to GitHub Pages","shortMessageHtmlLink":"Deploy to GitHub Pages"}},{"before":"9d99a6540698bce2ed1874b7e606a72ed01b7b24","after":"b4e210293dda57f66e8b0391f4dc5d67b2cb5025","ref":"refs/heads/main","pushedAt":"2024-04-25T22:48:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kfcampbell","name":"Keegan Campbell","path":"/kfcampbell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9327688?s=80&v=4"},"commit":{"message":"ci(action): update actions/checkout digest to 0ad4b8f (#426)\n\n[![Mend\r\nRenovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\r\n\r\nThis PR contains the following updates:\r\n\r\n| Package | Type | Update | Change |\r\n|---|---|---|---|\r\n| [actions/checkout](https://togithub.com/actions/checkout) | action |\r\ndigest | `1d96c77` -> `0ad4b8f` |\r\n\r\n---\r\n\r\n### Configuration\r\n\r\n๐Ÿ“… **Schedule**: Branch creation - At any time (no schedule defined),\r\nAutomerge - At any time (no schedule defined).\r\n\r\n๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you\r\nare satisfied.\r\n\r\nโ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the\r\nrebase/retry checkbox.\r\n\r\n๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update\r\nagain.\r\n\r\n---\r\n\r\n- [ ] If you want to rebase/retry this PR, check\r\nthis box\r\n\r\n---\r\n\r\nThis PR has been generated by [Mend\r\nRenovate](https://www.mend.io/free-developer-tools/renovate/). View\r\nrepository job log\r\n[here](https://developer.mend.io/github/octokit/rest.js).\r\n\r\n\r\n\r\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>","shortMessageHtmlLink":"ci(action): update actions/checkout digest to 0ad4b8f (#426)"}},{"before":"ed1e6afbda21e67a14a60b50dd90a9cf2c69c840","after":null,"ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-04-25T22:48:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kfcampbell","name":"Keegan Campbell","path":"/kfcampbell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9327688?s=80&v=4"}},{"before":null,"after":"ed1e6afbda21e67a14a60b50dd90a9cf2c69c840","ref":"refs/heads/renovate/actions-checkout-digest","pushedAt":"2024-04-25T17:09:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"ci(action): update actions/checkout digest to 0ad4b8f","shortMessageHtmlLink":"ci(action): update actions/checkout digest to 0ad4b8f"}},{"before":"9652a3fc0d04f7591b29a4c3f59875e5f5819ea7","after":"26433549af5b8168be4404287a43844688b736bd","ref":"refs/heads/renovate/lock-file-maintenance","pushedAt":"2024-04-22T21:42:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"build(deps): lock file maintenance","shortMessageHtmlLink":"build(deps): lock file maintenance"}},{"before":"f81f3b623587613a362b5b37bec93430823558ad","after":"3d1268e9ebebece05b7c9e861aade762296c5247","ref":"refs/heads/gh-pages","pushedAt":"2024-04-22T21:41:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"octokitbot","name":"Octokit Bot","path":"/octokitbot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33075676?s=80&v=4"},"commit":{"message":"Deploy to GitHub Pages","shortMessageHtmlLink":"Deploy to GitHub Pages"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUAOxFQA","startCursor":null,"endCursor":null}},"title":"Activity ยท octokit/rest.js"}