-
Notifications
You must be signed in to change notification settings - Fork 94
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
Strip constructor, prototype, and __proto__ properties in the serialize step #267
Conversation
@all-contributors please add @tmcw for bugs, code! |
I've put up a pull request to add @tmcw! 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Tom! Thanks for reporting & fixing this bug! I have one small ask for change, let me explain:
I was wondering if we should see this as a breaking change, given it will start altering the behaviour of SuperJSON.serialize
. I think it is: Even though I don't consider the serialization format to be part of SuperJSON's API contract, I think we should maintain the behaviour of SuperJSON.deserialize(SuperJSON.serialize(...))
. In the past, we were throwing an error during deserialization, if __proto__
etc. were part of the serialized object. If this PR merged unchanged, we'd be swallowing the properties instead - that's a breaking change!
Instead of swallowing these properties, let's raise an exception instead.
Co-authored-by: Simon Knott <[email protected]>
e5c18b6
to
bade223
Compare
Okay! Updated and updated the test to match. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [superjson](https://togithub.com/blitz-js/superjson) | [`2.0.0` -> `2.1.0`](https://renovatebot.com/diffs/npm/superjson/2.0.0/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/superjson/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/superjson/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/superjson/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/superjson/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>blitz-js/superjson (superjson)</summary> ### [`v2.1.0`](https://togithub.com/blitz-js/superjson/releases/tag/v2.1.0) [Compare Source](https://togithub.com/blitz-js/superjson/compare/v2.0.0...v2.1.0) ##### What's Changed - Strip constructor, prototype, and **proto** properties in the serialize step by [@​tmcw](https://togithub.com/tmcw) in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - docs: add tmcw as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/269](https://togithub.com/blitz-js/superjson/pull/269) - add "main" to package.json by [@​kidqueb](https://togithub.com/kidqueb) in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) - docs: add kidqueb as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/270](https://togithub.com/blitz-js/superjson/pull/270) ##### New Contributors - [@​tmcw](https://togithub.com/tmcw) made their first contribution in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - [@​kidqueb](https://togithub.com/kidqueb) made their first contribution in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) **Full Changelog**: flightcontrolhq/superjson@v2.0.0...v2.1.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3am,before 9am" (UTC), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ettorepuccetti/terrarossa). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMzEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Thanks for the quick turnaround! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@crowdin/crowdin-api-client](https://togithub.com/crowdin/crowdin-api-client-js) | [`1.25.0` -> `1.25.1`](https://renovatebot.com/diffs/npm/@crowdin%2fcrowdin-api-client/1.25.0/1.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@crowdin%2fcrowdin-api-client/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@crowdin%2fcrowdin-api-client/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@crowdin%2fcrowdin-api-client/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@crowdin%2fcrowdin-api-client/1.25.0/1.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`18.2.30` -> `18.2.31`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.30/18.2.31) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.30/18.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.30/18.2.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) | [`6.8.0` -> `6.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.8.0/6.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) | [`6.8.0` -> `6.9.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.8.0/6.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.51.0` -> `8.52.0`](https://renovatebot.com/diffs/npm/eslint/8.51.0/8.52.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.51.0/8.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.51.0/8.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-import](https://togithub.com/import-js/eslint-plugin-import) | [`2.28.1` -> `2.29.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.28.1/2.29.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-import/2.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-import/2.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-import/2.28.1/2.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-import/2.28.1/2.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [superjson](https://togithub.com/blitz-js/superjson) | [`2.0.0` -> `2.1.0`](https://renovatebot.com/diffs/npm/superjson/2.0.0/2.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/superjson/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/superjson/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/superjson/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/superjson/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>crowdin/crowdin-api-client-js (@​crowdin/crowdin-api-client)</summary> ### [`v1.25.1`](https://togithub.com/crowdin/crowdin-api-client-js/releases/tag/1.25.1) [Compare Source](https://togithub.com/crowdin/crowdin-api-client-js/compare/1.25.0...1.25.1) #### What's Changed - feat: Add `isPublic` property to `ReportSettings` by [@​abuna1985](https://togithub.com/abuna1985) in [https://github.com/crowdin/crowdin-api-client-js/pull/313](https://togithub.com/crowdin/crowdin-api-client-js/pull/313) - feat: file context by [@​yevheniyJ](https://togithub.com/yevheniyJ) in [https://github.com/crowdin/crowdin-api-client-js/pull/314](https://togithub.com/crowdin/crowdin-api-client-js/pull/314) - build(deps-dev): bump typedoc from 0.25.1 to 0.25.2 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/crowdin/crowdin-api-client-js/pull/307](https://togithub.com/crowdin/crowdin-api-client-js/pull/307) #### New Contributors - [@​abuna1985](https://togithub.com/abuna1985) made their first contribution in [https://github.com/crowdin/crowdin-api-client-js/pull/313](https://togithub.com/crowdin/crowdin-api-client-js/pull/313) **Full Changelog**: crowdin/crowdin-api-client-js@1.25.0...1.25.1 </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v6.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#690-2023-10-23) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.8.0...v6.9.0) ##### Bug Fixes - **eslint-plugin:** \[no-confusing-void-expression] handle unfixable cases ([#​7674](https://togithub.com/typescript-eslint/typescript-eslint/issues/7674)) ([7e52f27](https://togithub.com/typescript-eslint/typescript-eslint/commit/7e52f276ed5b8b2c0b76be02cb2e8a77892c10f2)) - **eslint-plugin:** \[no-unsafe-return] allow returning anything if explicitly returning any ([#​7708](https://togithub.com/typescript-eslint/typescript-eslint/issues/7708)) ([c6124b2](https://togithub.com/typescript-eslint/typescript-eslint/commit/c6124b2c93a53f11471cce8054388dec7a58f90b)) ##### Features - **eslint-plugin:** \[max-params] don't count `this: void` parameter ([#​7696](https://togithub.com/typescript-eslint/typescript-eslint/issues/7696)) ([6398d3f](https://togithub.com/typescript-eslint/typescript-eslint/commit/6398d3fd0a576d8cdc957ec1b57929acacc60ba0)), closes [#​7538](https://togithub.com/typescript-eslint/typescript-eslint/issues/7538) - **eslint-plugin:** \[naming-convention] add support for default and namespace imports ([#​7269](https://togithub.com/typescript-eslint/typescript-eslint/issues/7269)) ([bb15aae](https://togithub.com/typescript-eslint/typescript-eslint/commit/bb15aae877ae260f59aa5e6cfc338b1eefc6d85c)) - **eslint-plugin:** \[no-restricted-imports] support import = require ([#​7709](https://togithub.com/typescript-eslint/typescript-eslint/issues/7709)) ([4c8edcf](https://togithub.com/typescript-eslint/typescript-eslint/commit/4c8edcfb7d3cc02d07d2329c87da4377c1cbf969)) - **eslint-plugin:** \[no-unsafe-enum-comparison] add switch suggestion ([#​7691](https://togithub.com/typescript-eslint/typescript-eslint/issues/7691)) ([53d5263](https://togithub.com/typescript-eslint/typescript-eslint/commit/53d5263cee8e0b5ddc5de3321d27559c196e5b58)), closes [#​7643](https://togithub.com/typescript-eslint/typescript-eslint/issues/7643) - **eslint-plugin:** \[prefer-readonly] private fields support ([#​7686](https://togithub.com/typescript-eslint/typescript-eslint/issues/7686)) ([0e875bf](https://togithub.com/typescript-eslint/typescript-eslint/commit/0e875bf77a9d94dc74924245fabc36c0ae780977)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v6.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#690-2023-10-23) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.8.0...v6.9.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v8.52.0`](https://togithub.com/eslint/eslint/releases/tag/v8.52.0) [Compare Source](https://togithub.com/eslint/eslint/compare/v8.51.0...v8.52.0) #### Features - [`70648ee`](https://togithub.com/eslint/eslint/commit/70648ee49c07f7b533d09f6bf8a5291e5a5a8601) feat: report-unused-disable-directive to report unused eslint-enable ([#​17611](https://togithub.com/eslint/eslint/issues/17611)) (Yosuke Ota) #### Bug Fixes - [`5de9637`](https://togithub.com/eslint/eslint/commit/5de9637fc925729a83d5a5e9e868a41792a184e3) fix: Ensure shared references in rule configs are separated ([#​17666](https://togithub.com/eslint/eslint/issues/17666)) (Nicholas C. Zakas) - [`dcfe573`](https://togithub.com/eslint/eslint/commit/dcfe5739c374c9d7ed21f14027870ec0fd453661) fix: add preceding semicolon in suggestions of `no-object-constructor` ([#​17649](https://togithub.com/eslint/eslint/issues/17649)) (Francesco Trotta) #### Documentation - [`476d58a`](https://togithub.com/eslint/eslint/commit/476d58a584d5d2db003c4c22ffee90e63566164d) docs: Add note about invalid CLI flags when using flat config. ([#​17664](https://togithub.com/eslint/eslint/issues/17664)) (Nicholas C. Zakas) - [`660ed3a`](https://togithub.com/eslint/eslint/commit/660ed3afd128ad529234a855345629982caf1bc7) docs: Plugin flat config migration guide ([#​17640](https://togithub.com/eslint/eslint/issues/17640)) (Nicholas C. Zakas) - [`a58aa20`](https://togithub.com/eslint/eslint/commit/a58aa200fccedae7e2e9b6129246f2cedab14f8d) docs: fix examples for several rules ([#​17645](https://togithub.com/eslint/eslint/issues/17645)) (Milos Djermanovic) - [`179929b`](https://togithub.com/eslint/eslint/commit/179929bd46892f18f2aef0c159d5cc361cb69987) docs: Remove trailing newline from the code of Playground links ([#​17641](https://togithub.com/eslint/eslint/issues/17641)) (Francesco Trotta) - [`f8e5c30`](https://togithub.com/eslint/eslint/commit/f8e5c30636450d4a8baf51f0e227685e6d77ac64) docs: Update README (GitHub Actions Bot) - [`b7ef2f3`](https://togithub.com/eslint/eslint/commit/b7ef2f34fe12b68a366e1b4bf5f64d7332c6e72e) docs: Enable pretty code formatter output ([#​17635](https://togithub.com/eslint/eslint/issues/17635)) (Nicholas C. Zakas) - [`0bcb9a8`](https://togithub.com/eslint/eslint/commit/0bcb9a8db608a3d0bd2645f99e0707b9a9bbaaf0) docs: Fix syntax errors in rule examples ([#​17633](https://togithub.com/eslint/eslint/issues/17633)) (Francesco Trotta) - [`61b9083`](https://togithub.com/eslint/eslint/commit/61b90839633ef300ac7707a651f65f532e65f42d) docs: Make no-continue example code work ([#​17643](https://togithub.com/eslint/eslint/issues/17643)) (Zhongyuan Zhou) - [`9fafe45`](https://togithub.com/eslint/eslint/commit/9fafe450c31ed9b6bdd9dcd6c115255943b8c1c2) docs: upgrade to 11ty 2.0 ([#​17632](https://togithub.com/eslint/eslint/issues/17632)) (Percy Ma) - [`ff8e4bf`](https://togithub.com/eslint/eslint/commit/ff8e4bf327b5c92b0623b0fc5f8f101954f785db) docs: Update README (GitHub Actions Bot) - [`fab249a`](https://togithub.com/eslint/eslint/commit/fab249ae6addac2ee18cd81cee80916010bb469e) docs: Update README (GitHub Actions Bot) - [`392305b`](https://togithub.com/eslint/eslint/commit/392305bf4797e3ebc696dfca48bd874741fca845) docs: Update `no-irregular-whitespace` and fix examples ([#​17626](https://togithub.com/eslint/eslint/issues/17626)) (Francesco Trotta) - [`6b8acfb`](https://togithub.com/eslint/eslint/commit/6b8acfb770589f3941df41c3910d3b8ffc3e1e45) docs: Add real whitespace to `no-trailing-spaces` examples ([#​17630](https://togithub.com/eslint/eslint/issues/17630)) (Francesco Trotta) - [`1000187`](https://togithub.com/eslint/eslint/commit/1000187e00949332babcee4d37d46c96a6a554a8) docs: Fix examples in `unicode-bom` ([#​17631](https://togithub.com/eslint/eslint/issues/17631)) (Francesco Trotta) - [`000290c`](https://togithub.com/eslint/eslint/commit/000290c4c923cc1473e21b4bdbdc0c42765ef7dd) docs: Update README (GitHub Actions Bot) #### Chores - [`6d1f0c2`](https://togithub.com/eslint/eslint/commit/6d1f0c2da0309c06c21149b8d71a8f439a70d7e8) chore: upgrade [@​eslint/js](https://togithub.com/eslint/js)[@​8](https://togithub.com/8).52.0 ([#​17671](https://togithub.com/eslint/eslint/issues/17671)) (Milos Djermanovic) - [`d63d4fe`](https://togithub.com/eslint/eslint/commit/d63d4fe0942e6747ab60e758aa36076f43041a30) chore: package.json update for [@​eslint/js](https://togithub.com/eslint/js) release (ESLint Jenkins) - [`f30cefe`](https://togithub.com/eslint/eslint/commit/f30cefee6bda2789ede18e1664b84c2638ea1bb5) test: fix FlatESLint tests for caching ([#​17658](https://togithub.com/eslint/eslint/issues/17658)) (Milos Djermanovic) - [`ef650cb`](https://togithub.com/eslint/eslint/commit/ef650cb612510bcfa1379c1f0af56dd563b3a705) test: update tests for no-promise-executor-return ([#​17661](https://togithub.com/eslint/eslint/issues/17661)) (Milos Djermanovic) </details> <details> <summary>import-js/eslint-plugin-import (eslint-plugin-import)</summary> ### [`v2.29.0`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#2290---2023-10-22) [Compare Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.28.1...v2.29.0) ##### Added - TypeScript config: add .cts and .mts extensions (\[[#​2851](https://togithub.com/import-js/eslint-plugin-import/issues/2851)], thanks \[[@​Zamiell](https://togithub.com/Zamiell)]) - \[`newline-after-import`]: new option `exactCount` and docs update (\[[#​1933](https://togithub.com/import-js/eslint-plugin-import/issues/1933)], thanks \[[@​anikethsaha](https://togithub.com/anikethsaha)] and \[[@​reosarevok](https://togithub.com/reosarevok)]) - \[`newline-after-import`]: fix `exactCount` with `considerComments` false positive, when there is a leading comment (\[[#​2884](https://togithub.com/import-js/eslint-plugin-import/issues/2884)], thanks \[[@​kinland](https://togithub.com/kinland)]) </details> <details> <summary>blitz-js/superjson (superjson)</summary> ### [`v2.1.0`](https://togithub.com/blitz-js/superjson/releases/tag/v2.1.0) [Compare Source](https://togithub.com/blitz-js/superjson/compare/v2.0.0...v2.1.0) ##### What's Changed - Strip constructor, prototype, and **proto** properties in the serialize step by [@​tmcw](https://togithub.com/tmcw) in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - docs: add tmcw as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/269](https://togithub.com/blitz-js/superjson/pull/269) - add "main" to package.json by [@​kidqueb](https://togithub.com/kidqueb) in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) - docs: add kidqueb as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/270](https://togithub.com/blitz-js/superjson/pull/270) ##### New Contributors - [@​tmcw](https://togithub.com/tmcw) made their first contribution in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - [@​kidqueb](https://togithub.com/kidqueb) made their first contribution in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) **Full Changelog**: flightcontrolhq/superjson@v2.0.0...v2.1.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD). PR-URL: #221 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
There is an object that was being passed around with prototype on it, I guess, so maybe this is ok? It did have side effects though, where our trpc client calls were resolving on 2.0.0 and failing on 2.1.0 |
Yes, this did have side-effects. I assume in your case, it moved the errors from the client side to the server side. You can read my reasoning as to why I don't think that's a breaking change in #267 (review). |
I don't believe we had errors in our client side prior to this though - we were using electron-trpc and the code worked properly on v2.0.0 and does not in the latest. The object that was causing issues was {
"id": "alex-mercer-v1-prototype22333333",
"last_modified": "2023-07-30T01:09:38.901Z",
"size": 59881413,
"name": "Alex Mercer",
"metadata": {
"name": "Alex Mercer",
"classification": "unknown",
"epochs": 22333333,
"gender": "unknown",
"extra_info": {
"version": 1,
"prototype": true
},
"model": "gpt-3.5-turbo-16k-0613"
},
"downloaded": false
} In the extra_info key there was a tag called |
I think that the reason why I was hitting errors around deserializing objects with SuperJSON.deserialize(SuperJSON.serialize({ constructor: undefined })) Since constructor is Fwiw, for my usecase, dropping these properties instead of throwing would work great, or – I would need to really study up on the attack that the original PR was preventing, but – only throwing when one of these properties has a dangerous value. |
I belive we should be able to narrow down the error message. Opened a PR here: #274 |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.10.4` -> `20.10.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.10.4/20.10.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.10.4/20.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.10.4/20.10.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`6.13.2` -> `6.15.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.13.2/6.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.13.2/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.13.2/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`6.13.2` -> `6.15.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.13.2/6.15.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.13.2/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.13.2/6.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.55.0` -> `8.56.0`](https://renovatebot.com/diffs/npm/eslint/8.55.0/8.56.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.55.0/8.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.55.0/8.56.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [fs-extra](https://togithub.com/jprichardson/node-fs-extra) | [`11.1.1` -> `11.2.0`](https://renovatebot.com/diffs/npm/fs-extra/11.1.1/11.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fs-extra/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fs-extra/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fs-extra/11.1.1/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fs-extra/11.1.1/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`8.12.0` -> `8.12.1`](https://renovatebot.com/diffs/npm/pnpm/8.12.0/8.12.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.12.0/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.12.0/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [superjson](https://togithub.com/blitz-js/superjson) | [`2.0.0` -> `2.2.1`](https://renovatebot.com/diffs/npm/superjson/2.0.0/2.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/superjson/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/superjson/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/superjson/2.0.0/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/superjson/2.0.0/2.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [zod](https://zod.dev) ([source](https://togithub.com/colinhacks/zod)) | [`3.22.2` -> `3.22.4`](https://renovatebot.com/diffs/npm/zod/3.22.2/3.22.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/zod/3.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zod/3.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zod/3.22.2/3.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zod/3.22.2/3.22.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6150-2023-12-18) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0) ##### Features - **eslint-plugin:** \[no-useless-template-literals] add new rule ([#​7957](https://togithub.com/typescript-eslint/typescript-eslint/issues/7957)) ([ff75785](https://togithub.com/typescript-eslint/typescript-eslint/commit/ff75785f4c6cc41999f8ce946bfca469d6e40e50)), closes [#​2846](https://togithub.com/typescript-eslint/typescript-eslint/issues/2846) - require-array-sort-compare + toSorted ([#​8052](https://togithub.com/typescript-eslint/typescript-eslint/issues/8052)) ([c9661c8](https://togithub.com/typescript-eslint/typescript-eslint/commit/c9661c8bbf048e9fa3ef55985e1e2e82bc098b1a)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6140-2023-12-11) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0) ##### Bug Fixes - **eslint-plugin:** add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked ([#​8038](https://togithub.com/typescript-eslint/typescript-eslint/issues/8038)) ([431cd15](https://togithub.com/typescript-eslint/typescript-eslint/commit/431cd1559f91795e958e03fd060ceaf79fb96f3a)) - **eslint-plugin:** correct message for `no-unsafe-unary-minus` ([#​7998](https://togithub.com/typescript-eslint/typescript-eslint/issues/7998)) ([705370a](https://togithub.com/typescript-eslint/typescript-eslint/commit/705370ac0d9c54081657b8855b398e57d6ea4ddb)) ##### Features - **eslint-plugin:** \[explicit-function-return-type] add support for typed class property definitions ([#​8027](https://togithub.com/typescript-eslint/typescript-eslint/issues/8027)) ([bff47d7](https://togithub.com/typescript-eslint/typescript-eslint/commit/bff47d7885bee3bbcb3a81eff273fe2f48580940)) - **eslint-plugin:** \[require-await] allow yielding Promise in async generators ([#​8003](https://togithub.com/typescript-eslint/typescript-eslint/issues/8003)) ([4c3e704](https://togithub.com/typescript-eslint/typescript-eslint/commit/4c3e704b97e698df7f72174c2d20714836d4d243)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04) **Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28) **Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6150-2023-12-18) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6140-2023-12-11) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2) (2023-12-04) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1) (2023-11-28) **Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v8.56.0`](https://togithub.com/eslint/eslint/releases/tag/v8.56.0) [Compare Source](https://togithub.com/eslint/eslint/compare/v8.55.0...v8.56.0) ##### Features - [`0dd9704`](https://togithub.com/eslint/eslint/commit/0dd9704c4751e1cd02039f7d6485fee09bbccbf6) feat: Support custom severity when reporting unused disable directives ([#​17212](https://togithub.com/eslint/eslint/issues/17212)) (Bryan Mishkin) - [`31a7e3f`](https://togithub.com/eslint/eslint/commit/31a7e3fde491e36496b54e8905c766b31162d776) feat: fix no-restricted-properties false negatives with unknown objects ([#​17818](https://togithub.com/eslint/eslint/issues/17818)) (Arka Pratim Chaudhuri) ##### Bug Fixes - [`7d5e5f6`](https://togithub.com/eslint/eslint/commit/7d5e5f68849ae80caec0fc96ecceebccd348deec) fix: `TypeError: fs.exists is not a function` on read-only file system ([#​17846](https://togithub.com/eslint/eslint/issues/17846)) (Francesco Trotta) - [`74739c8`](https://togithub.com/eslint/eslint/commit/74739c849bbb6547b0e555ed8bb2ba1cbe0fdce4) fix: suggestion with invalid syntax in no-promise-executor-return rule ([#​17812](https://togithub.com/eslint/eslint/issues/17812)) (Bryan Mishkin) ##### Documentation - [`9007719`](https://togithub.com/eslint/eslint/commit/90077199fe519953f9af8664bf947db4e4958514) docs: update link in ways-to-extend.md ([#​17839](https://togithub.com/eslint/eslint/issues/17839)) (Amel SELMANE) - [`3a22236`](https://togithub.com/eslint/eslint/commit/3a22236f8d10af8a5bcafe56092651d3d681c99d) docs: Update README (GitHub Actions Bot) - [`54c3ca6`](https://togithub.com/eslint/eslint/commit/54c3ca6f2dcd2a7afd53f42fc32055a25587259e) docs: fix migration-guide example ([#​17829](https://togithub.com/eslint/eslint/issues/17829)) (Tanuj Kanti) - [`4391b71`](https://togithub.com/eslint/eslint/commit/4391b71e62b15e54b0493f0dce1ea053ebbc0689) docs: check config comments in rule examples ([#​17815](https://togithub.com/eslint/eslint/issues/17815)) (Francesco Trotta) - [`fd28363`](https://togithub.com/eslint/eslint/commit/fd2836342c2be4751b05fe0ba7cece17d1edecc8) docs: remove mention about ESLint stylistic rules in readme ([#​17810](https://togithub.com/eslint/eslint/issues/17810)) (Zwyx) - [`48ed5a6`](https://togithub.com/eslint/eslint/commit/48ed5a6dad478a14d3e823f137455c523f373e0b) docs: Update README (GitHub Actions Bot) ##### Chores - [`ba6af85`](https://togithub.com/eslint/eslint/commit/ba6af85c7d8ba55d37f8663aee949d148e441c1a) chore: upgrade [@​eslint/js](https://togithub.com/eslint/js)[@​8](https://togithub.com/8).56.0 ([#​17864](https://togithub.com/eslint/eslint/issues/17864)) (Milos Djermanovic) - [`60a531a`](https://togithub.com/eslint/eslint/commit/60a531a9c0811ddf718e26b9136e133f580b6c36) chore: package.json update for [@​eslint/js](https://togithub.com/eslint/js) release (Jenkins) - [`ba87a06`](https://togithub.com/eslint/eslint/commit/ba87a0651a65b52c3ac442b512dd9f4c2b4c5f57) chore: update dependency markdownlint to ^0.32.0 ([#​17783](https://togithub.com/eslint/eslint/issues/17783)) (renovate\[bot]) - [`9271d10`](https://togithub.com/eslint/eslint/commit/9271d10d9eabeafb0129a090f29191bfd14273c0) chore: add GitHub issue template for docs issues ([#​17845](https://togithub.com/eslint/eslint/issues/17845)) (Josh Goldberg ✨) - [`70a686b`](https://togithub.com/eslint/eslint/commit/70a686b3c1feac5eca98bbff9bd67175f550d5db) chore: Convert rule tests to FlatRuleTester ([#​17819](https://togithub.com/eslint/eslint/issues/17819)) (Nicholas C. Zakas) - [`f3a599d`](https://togithub.com/eslint/eslint/commit/f3a599d34c7080fc0b2c9a60b5e54dc98c22867c) chore: upgrade eslint-plugin-unicorn to v49.0.0 ([#​17837](https://togithub.com/eslint/eslint/issues/17837)) (唯然) - [`905d4b7`](https://togithub.com/eslint/eslint/commit/905d4b75ab2df42aba30622cee0f66b511397e2c) chore: upgrade eslint-plugin-eslint-plugin v5.2.1 ([#​17838](https://togithub.com/eslint/eslint/issues/17838)) (唯然) - [`4d7c3ce`](https://togithub.com/eslint/eslint/commit/4d7c3ce246e6b499f472342ef59496a47cc033d6) chore: update eslint-plugin-n v16.4.0 ([#​17836](https://togithub.com/eslint/eslint/issues/17836)) (唯然) - [`fd0c60c`](https://togithub.com/eslint/eslint/commit/fd0c60c3be1f213e5a6d69d8a3248e963619e155) ci: unpin Node.js 21.2.0 ([#​17821](https://togithub.com/eslint/eslint/issues/17821)) (Francesco Trotta) </details> <details> <summary>jprichardson/node-fs-extra (fs-extra)</summary> ### [`v11.2.0`](https://togithub.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1120--2023-11-27) [Compare Source](https://togithub.com/jprichardson/node-fs-extra/compare/11.1.1...11.2.0) - Copy directory contents in parallel for better performance ([#​1026](https://togithub.com/jprichardson/node-fs-extra/pull/1026)) - Refactor internal code to use `async`/`await` ([#​1020](https://togithub.com/jprichardson/node-fs-extra/issues/1020)) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v8.12.1`](https://togithub.com/pnpm/pnpm/releases/tag/v8.12.1) [Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.12.0...v8.12.1) #### Patch Changes - Don't report dependencies with optional dependencies as being added on repeat install. This was a bug in reporting [#​7384](https://togithub.com/pnpm/pnpm/issues/7384). - Fix a bug where `--fix-lockfile` crashes on tarballs [#​7368](https://togithub.com/pnpm/pnpm/issues/7368). - Do not create empty patch directory. - Installation should not fail if an empty `node_modules` directory cannot be removed [#​7405](https://togithub.com/pnpm/pnpm/issues/7405). #### Our Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a> </td> <td align="center" valign="middle"> <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" /> <img src="https://pnpm.io/img/users/prisma.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" /> <img src="https://pnpm.io/img/users/uscreen.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="120" /> </picture> </a> </td> </tr> </tbody> </table> #### Our Silver Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"> </a> </td> <td align="center" valign="middle"> <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" /> <img src="https://pnpm.io/img/users/vercel.svg" width="180" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" /> <img src="https://pnpm.io/img/users/depot.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" /> <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.thinkmill.com.au/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/thinkmill.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/thinkmill_light.svg" /> <img src="https://pnpm.io/img/users/thinkmill.svg" width="200" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" /> <img src="https://pnpm.io/img/users/devowlio.svg" width="200" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" /> <img src="https://pnpm.io/img/users/macpaw.svg" width="200" /> </picture> </a> </td> </tr> </tbody> </table> </details> <details> <summary>blitz-js/superjson (superjson)</summary> ### [`v2.2.1`](https://togithub.com/blitz-js/superjson/releases/tag/v2.2.1) [Compare Source](https://togithub.com/blitz-js/superjson/compare/v2.2.0...v2.2.1) #### What's Changed - fix: target es2020 by [@​Skn0tt](https://togithub.com/Skn0tt) in [https://github.com/blitz-js/superjson/pull/275](https://togithub.com/blitz-js/superjson/pull/275) - docs: add peterbud as a contributor for bug by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/276](https://togithub.com/blitz-js/superjson/pull/276) **Full Changelog**: flightcontrolhq/superjson@v2.2.0...v2.2.1 ### [`v2.2.0`](https://togithub.com/blitz-js/superjson/releases/tag/v2.2.0) [Compare Source](https://togithub.com/blitz-js/superjson/compare/v2.1.0...v2.2.0) ##### What's Changed - Export SuperJSONResult type by [@​tmcw](https://togithub.com/tmcw) in [https://github.com/blitz-js/superjson/pull/272](https://togithub.com/blitz-js/superjson/pull/272) **Full Changelog**: flightcontrolhq/superjson@v2.1.0...v2.2.0 ### [`v2.1.0`](https://togithub.com/blitz-js/superjson/releases/tag/v2.1.0) [Compare Source](https://togithub.com/blitz-js/superjson/compare/v2.0.0...v2.1.0) #### What's Changed - Strip constructor, prototype, and **proto** properties in the serialize step by [@​tmcw](https://togithub.com/tmcw) in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - docs: add tmcw as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/269](https://togithub.com/blitz-js/superjson/pull/269) - add "main" to package.json by [@​kidqueb](https://togithub.com/kidqueb) in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) - docs: add kidqueb as a contributor for bug, and code by [@​allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/270](https://togithub.com/blitz-js/superjson/pull/270) #### New Contributors - [@​tmcw](https://togithub.com/tmcw) made their first contribution in [https://github.com/blitz-js/superjson/pull/267](https://togithub.com/blitz-js/superjson/pull/267) - [@​kidqueb](https://togithub.com/kidqueb) made their first contribution in [https://github.com/blitz-js/superjson/pull/264](https://togithub.com/blitz-js/superjson/pull/264) **Full Changelog**: flightcontrolhq/superjson@v2.0.0...v2.1.0 </details> <details> <summary>colinhacks/zod (zod)</summary> ### [`v3.22.4`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.4) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.22.3...v3.22.4) #### Commits: - [`d931ea3`](https://togithub.com/colinhacks/zod/commit/d931ea3f0f15a6ae64f5f68e3c03912dffb2269d) Lint - [`8e634bd`](https://togithub.com/colinhacks/zod/commit/8e634bd600093b7161487bed705279c892395118) Fix prettier - [`4018d88`](https://togithub.com/colinhacks/zod/commit/4018d88f0e94992b2987428c4fda387b99ae2a53) docs: add [@​sanity-typed/zod](https://togithub.com/sanity-typed/zod) to ecosystem ([#​2731](https://togithub.com/colinhacks/zod/issues/2731)) - [`15ba5a4`](https://togithub.com/colinhacks/zod/commit/15ba5a4d4cb5be5af23771de0ba1346b4ba20a0e) docs: add `zod-sandbox` to README ecosystem links ([#​2707](https://togithub.com/colinhacks/zod/issues/2707)) - [`699ccae`](https://togithub.com/colinhacks/zod/commit/699ccae13b875d4fcadac268fd789c93b6ce8aef) Export jsdoc with `@deprecated` when building ([#​2717](https://togithub.com/colinhacks/zod/issues/2717)) - [`dfe3719`](https://togithub.com/colinhacks/zod/commit/dfe3719eae250ab3eca2d276da6c292867899cc6) Fix sanity-typed links ([#​2840](https://togithub.com/colinhacks/zod/issues/2840)) - [`cd7991e`](https://togithub.com/colinhacks/zod/commit/cd7991e04a550868bfcb5b5d46e5eb5bc7edf5f3) fix ulid regex ([#​2225](https://togithub.com/colinhacks/zod/issues/2225)) - [`7cb4ba2`](https://togithub.com/colinhacks/zod/commit/7cb4ba2f85dd6b28290dda5de80ed54dfd2a793c) Remove stalebot - [`9340fd5`](https://togithub.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b) Lazy emojiRegex - [`e7a9b9b`](https://togithub.com/colinhacks/zod/commit/e7a9b9b3033991be6b4225f1be21da39c250bbb0) 3.22.4 ### [`v3.22.3`](https://togithub.com/colinhacks/zod/releases/tag/v3.22.3) [Compare Source](https://togithub.com/colinhacks/zod/compare/v3.22.2...v3.22.3) ##### Commits: - [`1e23990`](https://togithub.com/colinhacks/zod/commit/1e23990bcdd33d1e81b31e40e77a031fcfd87ce1) Commit - [`9bd3879`](https://togithub.com/colinhacks/zod/commit/9bd3879b482f139fd03d5025813ee66a04195cdd) docs: remove obsolete text about readonly types ([#​2676](https://togithub.com/colinhacks/zod/issues/2676)) - [`f59be09`](https://togithub.com/colinhacks/zod/commit/f59be093ec21430d9f32bbcb628d7e39116adf34) clarify datetime ISO 8601 ([#​2673](https://togithub.com/colinhacks/zod/issues/2673)) - [`64dcc8e`](https://togithub.com/colinhacks/zod/commit/64dcc8e2b16febe48fa8e3c82c47c92643e6c9e3) Update sponsors - [`18115a8`](https://togithub.com/colinhacks/zod/commit/18115a8f128680b4526df58ce96deab7dce93b93) Formatting - [`28c1927`](https://togithub.com/colinhacks/zod/commit/28c19273658b164c53c149785fa7a8187c428ad4) Update sponsors - [`ad2ee9c`](https://togithub.com/colinhacks/zod/commit/ad2ee9ccf723c4388158ff6b8669c2a6cdc85643) 2718 Updated Custom Schemas documentation example to use type narrowing ([#​2778](https://togithub.com/colinhacks/zod/issues/2778)) - [`ae0f7a2`](https://togithub.com/colinhacks/zod/commit/ae0f7a2c15e7741ee1b23c03a3bfb9acebd86551) docs: update ref to discriminated-unions docs ([#​2485](https://togithub.com/colinhacks/zod/issues/2485)) - [`2ba00fe`](https://togithub.com/colinhacks/zod/commit/2ba00fe2377f4d53947a84b8cdb314a63bbd6dd4) \[2609] fix ReDoS vulnerability in email regex ([#​2824](https://togithub.com/colinhacks/zod/issues/2824)) - [`1e61d76`](https://togithub.com/colinhacks/zod/commit/1e61d76cdec05de9271fc0df58798ddf9ce94923) 3.22.3 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am 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](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/saud-alnasser/cachescribe). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy45My4xIiwidXBkYXRlZEluVmVyIjoiMzcuOTMuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
In GHSA-5888-ffcr-r425, SuperJSON had an issue in which objects with
prototype
,constructor
, or__proto__
properties would be reconstituted into potentially dangerous combinations - triggering prototype pollution.This PR adds to that fix: where there currently is an inability to round-trip an object like
{ constructor: false }
which results in SuperJSON throwing an error, this PR avoids serializing those properties in the first place, preventing a crash when they're deserialized.