Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add reference to next-json in prior art section #217

Merged
merged 2 commits into from
Jan 6, 2023

Conversation

iccicci
Copy link
Contributor

@iccicci iccicci commented Jan 3, 2023

Hi all,

I see there is a mutual support between libraries related to this topic.
I would kinly ask to accept my mutual reference as well.

Thank you

@iccicci iccicci requested a review from Skn0tt as a code owner January 3, 2023 09:05
@Skn0tt
Copy link
Collaborator

Skn0tt commented Jan 3, 2023

Hi @iccicci! The prior art section is meant to attribute projects that inspired SuperJSON - so I can't add next-json to that list, I'm afraid.

Could you elaborate on the benefits / drawbacks of next-json compared to SuperJSON? Maybe we can reference it in the README with a sentence "if you have problem XYZ, maybe try next-json".

@Skn0tt Skn0tt closed this Jan 3, 2023
@iccicci
Copy link
Contributor Author

iccicci commented Jan 3, 2023

Hi @Skn0tt, probably the description (Other libraries that aim to solve a similar problem) misled me...

I thought about it as the See also section in devalue.

Apart from many features of next-json are still WIP, it offers an API interface similar to the JSON and SuperJSON ones, but it produces a serialized string which is JavaScript compliant (as devalue and serialize JavaScript do) offering its own parser, which means the output can be deserialized without using the security hole implied by eval.

@Skn0tt
Copy link
Collaborator

Skn0tt commented Jan 3, 2023

That's definitely interesting! Let me know once all the WIP stuff is implemented, and i'll give next-json another look and potentially recommend it in the README :)

@iccicci
Copy link
Contributor Author

iccicci commented Jan 3, 2023

Thank you! I'll do

@iccicci
Copy link
Contributor Author

iccicci commented Jan 5, 2023

Hi @Skn0tt , please let me bother you with a small update.
All next-json's basic functionalities are now implemented.
Errors and circular references are still missing, but probably they can be considered nice to have...

@Skn0tt Skn0tt reopened this Jan 6, 2023
@Skn0tt Skn0tt merged commit 7fec2d9 into flightcontrolhq:main Jan 6, 2023
@iccicci
Copy link
Contributor Author

iccicci commented Jan 6, 2023

Thank you very much @Skn0tt ! Really appreciated

@Skn0tt
Copy link
Collaborator

Skn0tt commented Jan 6, 2023

Thx for keeping me up-to-date @iccicci! I've had a look at next-json's codebase, and really like the parser-generator-based approach, and the fact that the generated JSON is both easy to read (since being JS-compliant) but still can be parsed without eval. You should add that to the README, that's a really thoughtful design! I've added it to SuperJSON's list :)

@iccicci
Copy link
Contributor Author

iccicci commented Jan 6, 2023

Thank you for the suggestion as well @Skn0tt .
Avoiding the use of eval is actually one of the reasons why I decided to write next-json so that is something I didn't care about enough.
I've added a dedicated paragraph in the README, more some ather references to this.

kodiakhq bot referenced this pull request in weareinreach/InReach Jan 16, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [aws-sdk](https://togithub.com/aws/aws-sdk-js) | [`2.1294.0` -> `2.1295.0`](https://renovatebot.com/diffs/npm/aws-sdk/2.1294.0/2.1295.0) | [![age](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1295.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1295.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1295.0/compatibility-slim/2.1294.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/aws-sdk/2.1295.0/confidence-slim/2.1294.0)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.31.0` -> `8.32.0`](https://renovatebot.com/diffs/npm/eslint/8.31.0/8.32.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.32.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.32.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.32.0/compatibility-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.32.0/confidence-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`7.24.3` -> `7.25.0`](https://renovatebot.com/diffs/npm/pnpm/7.24.3/7.25.0) | [![age](https://badges.renovateapi.com/packages/npm/pnpm/7.25.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/pnpm/7.25.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/pnpm/7.25.0/compatibility-slim/7.24.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/pnpm/7.25.0/confidence-slim/7.24.3)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier](https://prettier.io) ([source](https://togithub.com/prettier/prettier)) | [`2.8.2` -> `2.8.3`](https://renovatebot.com/diffs/npm/prettier/2.8.2/2.8.3) | [![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.3/compatibility-slim/2.8.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.3/confidence-slim/2.8.2)](https://docs.renovatebot.com/merge-confidence/) |
| [quicktype-core](https://togithub.com/quicktype/quicktype) | [`7.0.41` -> `7.0.43`](https://renovatebot.com/diffs/npm/quicktype-core/7.0.41/7.0.43) | [![age](https://badges.renovateapi.com/packages/npm/quicktype-core/7.0.43/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/quicktype-core/7.0.43/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/quicktype-core/7.0.43/compatibility-slim/7.0.41)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/quicktype-core/7.0.43/confidence-slim/7.0.41)](https://docs.renovatebot.com/merge-confidence/) |
| [superjson](https://togithub.com/blitz-js/superjson) | [`1.12.1` -> `1.12.2`](https://renovatebot.com/diffs/npm/superjson/1.12.1/1.12.2) | [![age](https://badges.renovateapi.com/packages/npm/superjson/1.12.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/superjson/1.12.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/superjson/1.12.2/compatibility-slim/1.12.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/superjson/1.12.2/confidence-slim/1.12.1)](https://docs.renovatebot.com/merge-confidence/) |
| [type-fest](https://togithub.com/sindresorhus/type-fest) | [`3.5.1` -> `3.5.2`](https://renovatebot.com/diffs/npm/type-fest/3.5.1/3.5.2) | [![age](https://badges.renovateapi.com/packages/npm/type-fest/3.5.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/type-fest/3.5.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/type-fest/3.5.2/compatibility-slim/3.5.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/type-fest/3.5.2/confidence-slim/3.5.1)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js</summary>

### [`v2.1295.0`](https://togithub.com/aws/aws-sdk-js/blob/HEAD/CHANGELOG.md#&#8203;212950)

[Compare Source](https://togithub.com/aws/aws-sdk-js/compare/v2.1294.0...v2.1295.0)

-   bugfix: Endpoints: Use correct FIPS endpoint for CloudFormation in GovCloud
-   feature: Connect: This release updates the responses of UpdateContactFlowContent, UpdateContactFlowMetadata, UpdateContactFlowName and DeleteContactFlow API with empty responses.
-   feature: EC2: Documentation updates for EC2.
-   feature: Outposts: This release adds POWER\_30\_KVA as an option for PowerDrawKva. PowerDrawKva is part of the RackPhysicalProperties structure in the CreateSite request.
-   feature: ResourceGroups: AWS Resource Groups customers can now turn on Group Lifecycle Events in their AWS account. When you turn this on, Resource Groups monitors your groups for changes to group state or membership. Those changes are sent to Amazon EventBridge as events that you can respond to using rules you create.

</details>

<details>
<summary>eslint/eslint</summary>

### [`v8.32.0`](https://togithub.com/eslint/eslint/releases/tag/v8.32.0)

[Compare Source](https://togithub.com/eslint/eslint/compare/v8.31.0...v8.32.0)

#### Features

-   [`fc20f24`](https://togithub.com/eslint/eslint/commit/fc20f242a2ac073b5af6d5fca67e07a175f36c3b) feat: add suggestions for redundant wrapping in prefer-regex-literals ([#&#8203;16658](https://togithub.com/eslint/eslint/issues/16658)) (YeonJuan)

#### Bug Fixes

-   [`b4f8329`](https://togithub.com/eslint/eslint/commit/b4f8329164d7b293a1557e05b987d2a685fe1d30) fix: ignore directives for no-fallthrough ([#&#8203;16757](https://togithub.com/eslint/eslint/issues/16757)) (gfyoung)

#### Documentation

-   [`17b65ad`](https://togithub.com/eslint/eslint/commit/17b65ad10d653bb05077f21d8b1f79bee96e38d8) docs: IA Update page URL move ([#&#8203;16665](https://togithub.com/eslint/eslint/issues/16665)) (Ben Perlmutter)
-   [`5981296`](https://togithub.com/eslint/eslint/commit/5981296d5c7c86228ad766009901191fdd87d5a4) docs: fix theme switcher button ([#&#8203;16752](https://togithub.com/eslint/eslint/issues/16752)) (Sam Chen)
-   [`6669413`](https://togithub.com/eslint/eslint/commit/66694136b67277c050bd27f60050779687a88c9f) docs: deploy prerelease docs under the `/docs/next/` path ([#&#8203;16541](https://togithub.com/eslint/eslint/issues/16541)) (Nitin Kumar)
-   [`78ecfe0`](https://togithub.com/eslint/eslint/commit/78ecfe0e52c0e5780fefc8dc9a98864e48de6637) docs: use inline code for rule options name ([#&#8203;16768](https://togithub.com/eslint/eslint/issues/16768)) (Percy Ma)
-   [`fc2ea59`](https://togithub.com/eslint/eslint/commit/fc2ea598aee97beb6d768866da1ee4f63775f0c9) docs: Update README (GitHub Actions Bot)
-   [`762a872`](https://togithub.com/eslint/eslint/commit/762a8727fb3b5619cff900826053b643ca5f1162) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`2952d6e`](https://togithub.com/eslint/eslint/commit/2952d6ed95811ce0971b6855d66fb7a9767a7b72) chore: sync templates/\*.md files with issue templates ([#&#8203;16758](https://togithub.com/eslint/eslint/issues/16758)) (gfyoung)
-   [`3e34418`](https://togithub.com/eslint/eslint/commit/3e34418b31664decfb2337de798feafbf985b66c) chore: Add new issues to triage project ([#&#8203;16740](https://togithub.com/eslint/eslint/issues/16740)) (Nicholas C. Zakas)

</details>

<details>
<summary>pnpm/pnpm</summary>

### [`v7.25.0`](https://togithub.com/pnpm/pnpm/releases/tag/v7.25.0)

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v7.24.3...v7.25.0)

#### Minor Changes

-   When patching a dependency that is already patched, the existing patch is applied to the dependency, so that the new edit are applied on top of the existing ones. To ignore the existing patches, run the patch command with the `--ignore-existing` option [#&#8203;5632](https://togithub.com/pnpm/pnpm/issues/5632).
-   When `extend-node-path` is set to `false`, the `NODE_PATH` environment variable is not set in the command shims [#&#8203;5910](https://togithub.com/pnpm/pnpm/pull/5910)

#### Patch Changes

-   Ensure the permission of bin file when `prefer-symlinked-executables` is set to `true` [#&#8203;5913](https://togithub.com/pnpm/pnpm/pull/5913).
-   If an external tool or a user have removed a package from node_modules, pnpm should add it back on install. This was only an issue with `node-linker=hoisted`.

#### 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://nhost.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nhost.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nhost_light.svg" />
            <img src="https://pnpm.io/img/users/nhost.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://novu.co/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/novu.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/novu_light.svg" />
            <img src="https://pnpm.io/img/users/novu.svg" width="180" />
          </picture>
        </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://www.flightcontrol.dev/?ref=pnpm" target="_blank"><img src="https://pnpm.io/img/users/flightcontrol.png" width="240"></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://www.takeshape.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <img src="https://pnpm.io/img/users/takeshape.svg" width="280">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://doppler.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/doppler.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/doppler_light.svg" />
            <img src="https://pnpm.io/img/users/doppler.svg" width="280" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

<details>
<summary>prettier/prettier</summary>

### [`v2.8.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;283)

[Compare Source](https://togithub.com/prettier/prettier/compare/2.8.2...2.8.3)

[diff](https://togithub.com/prettier/prettier/compare/2.8.2...2.8.3)

##### Allow self-closing tags on custom elements ([#&#8203;14170](https://togithub.com/prettier/prettier/pull/14170) by [@&#8203;fisker](https://togithub.com/fisker))

See [Angular v15.1.0 release note](https://togithub.com/angular/angular/releases/tag/15.1.0) for details.



```html
// Input
<app-test/>

// Prettier 2.8.2
SyntaxError: Only void and foreign elements can be self closed "app-test" (1:1)
> 1 | <app-test/>
    | ^^^^^^^^^
  2 |

// Prettier 2.8.3
<app-test />
```

</details>

<details>
<summary>quicktype/quicktype</summary>

### [`v7.0.43`](https://togithub.com/quicktype/quicktype/compare/2330502ec14b2a0e116bb0e35c70b27246e9321e...f347c71e607451804894fe26e04dcdc152ac47a0)

[Compare Source](https://togithub.com/quicktype/quicktype/compare/2330502ec14b2a0e116bb0e35c70b27246e9321e...f347c71e607451804894fe26e04dcdc152ac47a0)

### [`v7.0.42`](https://togithub.com/quicktype/quicktype/compare/40f55ba47a4ce2a37317216c731092a9db600d2a...2330502ec14b2a0e116bb0e35c70b27246e9321e)

[Compare Source](https://togithub.com/quicktype/quicktype/compare/40f55ba47a4ce2a37317216c731092a9db600d2a...2330502ec14b2a0e116bb0e35c70b27246e9321e)

</details>

<details>
<summary>blitz-js/superjson</summary>

### [`v1.12.2`](https://togithub.com/blitz-js/superjson/releases/tag/v1.12.2)

[Compare Source](https://togithub.com/blitz-js/superjson/compare/v1.12.1...v1.12.2)

#### What's Changed

-   docs: add mgreystone as a contributor for bug by [@&#8203;allcontributors](https://togithub.com/allcontributors) in [https://github.com/blitz-js/superjson/pull/216](https://togithub.com/blitz-js/superjson/pull/216)
-   docs: add reference to next-json in prior art section by [@&#8203;iccicci](https://togithub.com/iccicci) in [https://github.com/blitz-js/superjson/pull/217](https://togithub.com/blitz-js/superjson/pull/217)
-   Fix applying referential equality inside maps and sets by [@&#8203;michaelcollabai](https://togithub.com/michaelcollabai) in [https://github.com/blitz-js/superjson/pull/221](https://togithub.com/blitz-js/superjson/pull/221)

#### New Contributors

-   [@&#8203;iccicci](https://togithub.com/iccicci) made their first contribution in [https://github.com/blitz-js/superjson/pull/217](https://togithub.com/blitz-js/superjson/pull/217)
-   [@&#8203;michaelcollabai](https://togithub.com/michaelcollabai) made their first contribution in [https://github.com/blitz-js/superjson/pull/221](https://togithub.com/blitz-js/superjson/pull/221)

**Full Changelog**: flightcontrolhq/superjson@v1.12.1...v1.12.2

</details>

<details>
<summary>sindresorhus/type-fest</summary>

### [`v3.5.2`](https://togithub.com/sindresorhus/type-fest/releases/tag/v3.5.2)

[Compare Source](https://togithub.com/sindresorhus/type-fest/compare/v3.5.1...v3.5.2)

-   `CamelCase`: Fix some cases where it would incorrectly resolve to `never`
-   `Trim`: Remove all whitespace, not just spaces

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 9am 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 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://app.renovatebot.com/dashboard#github/weareinreach/InReach).



PR-URL: #164
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants