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

feat(sdk): Add basic typescript structures to a client-generator library #446

Closed
wants to merge 9 commits into from

Conversation

pimeys
Copy link
Contributor

@pimeys pimeys commented Jun 7, 2023

Description

Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context.

Type of change

  • πŸ’” Breaking
  • πŸš€ Feature
  • πŸ› Fix
  • πŸ› οΈ Tooling
  • πŸ”¨ Refactoring
  • πŸ§ͺ Test
  • πŸ“¦ Dependency
  • πŸ“– Requires documentation update

@pimeys pimeys force-pushed the sdk/client-generate branch 2 times, most recently from 7988a99 to ef8ad37 Compare June 9, 2023 13:42
@pimeys pimeys force-pushed the sdk/client-generate branch 4 times, most recently from 745aee9 to 8285844 Compare June 28, 2023 16:55
@pimeys pimeys closed this Aug 14, 2023
yoav-lavi pushed a commit that referenced this pull request Sep 5, 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 | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.16.16` ->
`18.16.17`](https://renovatebot.com/diffs/npm/@types%2fnode/18.16.16/18.16.17)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.17/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.17/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.17/compatibility-slim/18.16.16)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.17/confidence-slim/18.16.16)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [aws-cdk](https://togithub.com/aws/aws-cdk) | [`2.82.0` ->
`2.83.1`](https://renovatebot.com/diffs/npm/aws-cdk/2.82.0/2.83.1) |
[![age](https://badges.renovateapi.com/packages/npm/aws-cdk/2.83.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/aws-cdk/2.83.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/aws-cdk/2.83.1/compatibility-slim/2.82.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/aws-cdk/2.83.1/confidence-slim/2.82.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [aws-cdk-lib](https://togithub.com/aws/aws-cdk) | [`2.82.0` ->
`2.83.1`](https://renovatebot.com/diffs/npm/aws-cdk-lib/2.82.0/2.83.1) |
[![age](https://badges.renovateapi.com/packages/npm/aws-cdk-lib/2.83.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/aws-cdk-lib/2.83.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/aws-cdk-lib/2.83.1/compatibility-slim/2.82.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/aws-cdk-lib/2.83.1/confidence-slim/2.82.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[aws_lambda_events](https://togithub.com/awslabs/aws-lambda-rust-runtime)
| `0.9` -> `0.10` |
[![age](https://badges.renovateapi.com/packages/crate/aws_lambda_events/0.10.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/aws_lambda_events/0.10.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/aws_lambda_events/0.10.0/compatibility-slim/0.9.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/aws_lambda_events/0.10.0/confidence-slim/0.9.0)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [constructs](https://togithub.com/aws/constructs) | [`10.2.43` ->
`10.2.50`](https://renovatebot.com/diffs/npm/constructs/10.2.43/10.2.50)
|
[![age](https://badges.renovateapi.com/packages/npm/constructs/10.2.50/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/constructs/10.2.50/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/constructs/10.2.50/compatibility-slim/10.2.43)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/constructs/10.2.50/confidence-slim/10.2.43)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [cynic](https://cynic-rs.dev)
([source](https://togithub.com/obmarg/cynic)) | `3.0.1` -> `3.1.0` |
[![age](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/compatibility-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/confidence-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [cynic](https://cynic-rs.dev)
([source](https://togithub.com/obmarg/cynic)) | `3.0.0` -> `3.1.0` |
[![age](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/compatibility-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/cynic/3.1.0/confidence-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [cynic-codegen](https://cynic-rs.dev)
([source](https://togithub.com/obmarg/cynic)) | `3.0.1` -> `3.1.0` |
[![age](https://badges.renovateapi.com/packages/crate/cynic-codegen/3.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/cynic-codegen/3.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/cynic-codegen/3.1.0/compatibility-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/cynic-codegen/3.1.0/confidence-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
| build-dependencies | minor |
| [cynic-introspection](https://cynic-rs.dev)
([source](https://togithub.com/obmarg/cynic)) | `3.0.1` -> `3.1.0` |
[![age](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/compatibility-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/confidence-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [cynic-introspection](https://cynic-rs.dev)
([source](https://togithub.com/obmarg/cynic)) | `3.0.0` -> `3.1.0` |
[![age](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/compatibility-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/cynic-introspection/3.1.0/confidence-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.17.19` ->
`0.18.1`](https://renovatebot.com/diffs/npm/esbuild/0.17.19/0.18.1) |
[![age](https://badges.renovateapi.com/packages/npm/esbuild/0.18.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/esbuild/0.18.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/esbuild/0.18.1/compatibility-slim/0.17.19)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/esbuild/0.18.1/confidence-slim/0.17.19)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [hashbrown](https://togithub.com/rust-lang/hashbrown) | `0.13` ->
`0.14` |
[![age](https://badges.renovateapi.com/packages/crate/hashbrown/0.14.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/hashbrown/0.14.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/hashbrown/0.14.0/compatibility-slim/0.13.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/hashbrown/0.14.0/confidence-slim/0.13.1)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [hashicorp/vault-action](https://togithub.com/hashicorp/vault-action)
| `v2.5.0` -> `v2.6.0` |
[![age](https://badges.renovateapi.com/packages/github-tags/hashicorp%2fvault-action/v2.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/hashicorp%2fvault-action/v2.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/hashicorp%2fvault-action/v2.6.0/compatibility-slim/v2.5.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/hashicorp%2fvault-action/v2.6.0/confidence-slim/v2.5.0)](https://docs.renovatebot.com/merge-confidence/)
| action | minor |
| [tantivy](https://togithub.com/quickwit-oss/tantivy) | `0.19` ->
`0.20` |
[![age](https://badges.renovateapi.com/packages/crate/tantivy/0.20.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/crate/tantivy/0.20.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/crate/tantivy/0.20.2/compatibility-slim/0.19.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/crate/tantivy/0.20.2/confidence-slim/0.19.0)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |

---

### Release Notes

<details>
<summary>aws/aws-cdk</summary>

### [`v2.83.1`](https://togithub.com/aws/aws-cdk/releases/tag/v2.83.1)

[Compare
Source](https://togithub.com/aws/aws-cdk/compare/v2.83.0...v2.83.1)

##### Bug Fixes

- **cli:** assets shared between stages lead to an error
([#&#8203;25907](https://togithub.com/aws/aws-cdk/issues/25907))
([68ed8ca](https://togithub.com/aws/aws-cdk/commit/68ed8caeb7e8e17d82f77f9a618723e0af367e5a))

***

##### Alpha modules (2.83.1-alpha.0)

### [`v2.83.0`](https://togithub.com/aws/aws-cdk/releases/tag/v2.83.0)

[Compare
Source](https://togithub.com/aws/aws-cdk/compare/v2.82.0...v2.83.0)

##### Features

- **cfnspec:** cloudformation spec v125.0.0
([#&#8203;25834](https://togithub.com/aws/aws-cdk/issues/25834))
([674ec01](https://togithub.com/aws/aws-cdk/commit/674ec017bccd0737a8e88f623babbbf46c246558))
- **custom-resource:** AwsCustomResource supports AWS SDK for JavaScript
v3 ([#&#8203;25406](https://togithub.com/aws/aws-cdk/issues/25406))
([60699f4](https://togithub.com/aws/aws-cdk/commit/60699f4a712755451c144e4af6782c505f3a0b63))
- **events-targets:** support enableExecuteCommand in EcsTask construct
([#&#8203;25639](https://togithub.com/aws/aws-cdk/issues/25639))
([7f3152a](https://togithub.com/aws/aws-cdk/commit/7f3152a917f716ee64b496b42f1dad76bc33e188))

##### Bug Fixes

- **apigateway:** allow overriding apiKeyRequired on methods
([#&#8203;25682](https://togithub.com/aws/aws-cdk/issues/25682))
([ae778cc](https://togithub.com/aws/aws-cdk/commit/ae778ccabc605045edf334ca39942ccdbd76ccff)),
closes [#&#8203;8827](https://togithub.com/aws/aws-cdk/issues/8827)
- **cli:** asset existence check is slow for many assets
([#&#8203;25866](https://togithub.com/aws/aws-cdk/issues/25866))
([d17642a](https://togithub.com/aws/aws-cdk/commit/d17642a1afcc2c58817a73603f25995d11c4f0ff))
- **cli:** deployment gets stuck deploying stacks with shared assets
([#&#8203;25846](https://togithub.com/aws/aws-cdk/issues/25846))
([8b97bdf](https://togithub.com/aws/aws-cdk/commit/8b97bdfc759e169bd276a8690a6cac055d5ed755)),
closes [#&#8203;25719](https://togithub.com/aws/aws-cdk/issues/25719)
[#&#8203;25806](https://togithub.com/aws/aws-cdk/issues/25806)
- **cli:** ENOENT during asset publishing
([#&#8203;25869](https://togithub.com/aws/aws-cdk/issues/25869))
([1668dbd](https://togithub.com/aws/aws-cdk/commit/1668dbdc105ad7e79e0ee1ac0b6446b9db4fabf6)),
closes [#&#8203;25293](https://togithub.com/aws/aws-cdk/issues/25293)
- **codepipeline:** incorrect cross-account permissions with StepFunct
ionInvokeAction
([#&#8203;25850](https://togithub.com/aws/aws-cdk/issues/25850))
([3694670](https://togithub.com/aws/aws-cdk/commit/36946703821fe3bbae68afbcc7302eefe0955952))
- **ecr:** auto delete images on ECR repository containing manifest list
([#&#8203;25789](https://togithub.com/aws/aws-cdk/issues/25789))
([830e6d3](https://togithub.com/aws/aws-cdk/commit/830e6d3903cf3a1443a0a497fd4bf319d7bbe211))
- **kms:** aliasName references alias itself (under feature flag)
([#&#8203;25822](https://togithub.com/aws/aws-cdk/issues/25822))
([45734e3](https://togithub.com/aws/aws-cdk/commit/45734e320b92d360f46033af900f544a4d8801cf)),
closes [#&#8203;25761](https://togithub.com/aws/aws-cdk/issues/25761)
- **lambda-nodejs:** cannot use .mts, .cts, and .cjs entry files
([#&#8203;25642](https://togithub.com/aws/aws-cdk/issues/25642))
([cbe9fe5](https://togithub.com/aws/aws-cdk/commit/cbe9fe59a16b45d5d9bb7c00e6eea2423798c050)),
closes [#&#8203;21635](https://togithub.com/aws/aws-cdk/issues/21635)
- **lambda-nodejs:** ignore noEmit in tsconfig when pre-compiling
([#&#8203;25604](https://togithub.com/aws/aws-cdk/issues/25604))
([dd16cf8](https://togithub.com/aws/aws-cdk/commit/dd16cf88c60b5cfc9c8a71e0700f7a7e488aabf5)),
closes [#&#8203;25603](https://togithub.com/aws/aws-cdk/issues/25603)

***

##### Alpha modules (2.83.0-alpha.0)

##### Features

- **cloud9:** support setting automaticStopTimeMinutes
([#&#8203;25593](https://togithub.com/aws/aws-cdk/issues/25593))
([437345e](https://togithub.com/aws/aws-cdk/commit/437345e2ca72e67714334f4b9cb7da8f23c4a970)),
closes [#&#8203;25592](https://togithub.com/aws/aws-cdk/issues/25592)

</details>

<details>
<summary>aws/constructs</summary>

###
[`v10.2.50`](https://togithub.com/aws/constructs/releases/tag/v10.2.50)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.49...v10.2.50)

#####
[10.2.50](https://togithub.com/aws/constructs/compare/v10.2.49...v10.2.50)
(2023-06-12)

###
[`v10.2.49`](https://togithub.com/aws/constructs/releases/tag/v10.2.49)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.48...v10.2.49)

#####
[10.2.49](https://togithub.com/aws/constructs/compare/v10.2.48...v10.2.49)
(2023-06-11)

###
[`v10.2.48`](https://togithub.com/aws/constructs/releases/tag/v10.2.48)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.47...v10.2.48)

#####
[10.2.48](https://togithub.com/aws/constructs/compare/v10.2.47...v10.2.48)
(2023-06-10)

###
[`v10.2.47`](https://togithub.com/aws/constructs/releases/tag/v10.2.47)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.46...v10.2.47)

#####
[10.2.47](https://togithub.com/aws/constructs/compare/v10.2.46...v10.2.47)
(2023-06-09)

###
[`v10.2.46`](https://togithub.com/aws/constructs/releases/tag/v10.2.46)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.45...v10.2.46)

#####
[10.2.46](https://togithub.com/aws/constructs/compare/v10.2.45...v10.2.46)
(2023-06-08)

###
[`v10.2.45`](https://togithub.com/aws/constructs/releases/tag/v10.2.45)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.44...v10.2.45)

#####
[10.2.45](https://togithub.com/aws/constructs/compare/v10.2.44...v10.2.45)
(2023-06-07)

###
[`v10.2.44`](https://togithub.com/aws/constructs/releases/tag/v10.2.44)

[Compare
Source](https://togithub.com/aws/constructs/compare/v10.2.43...v10.2.44)

#####
[10.2.44](https://togithub.com/aws/constructs/compare/v10.2.43...v10.2.44)
(2023-06-06)

</details>

<details>
<summary>obmarg/cynic</summary>

###
[`v3.1.0`](https://togithub.com/obmarg/cynic/blob/HEAD/CHANGELOG.md#v310---2023-06-11)

[Compare
Source](https://togithub.com/obmarg/cynic/compare/v3.0.2...v3.1.0)

##### New Features

- Added an `exhaustive` attribute for `InlineFragments` on union types.
If
present this attribute will cause compile errors if the enum is missing
a
    variant for any union member.

##### Bug Fixes

-   The generator no longer outputs a broken `#[cynic::schema]` module.
- `impl_scalar!` and `derive(Scalar)` can now be used on built in
scalars.
-   GitHub schema registration is now slightly faster
-   Fixed a bug where suggestions in errors were non-deterministic.
-   Fixed the names of some features in docs.rs output.
-   Added MSRV to `Cargo.toml`

###
[`v3.0.2`](https://togithub.com/obmarg/cynic/blob/HEAD/CHANGELOG.md#v302---2023-06-07)

[Compare
Source](https://togithub.com/obmarg/cynic/compare/v3.0.1...v3.0.2)

##### Bug Fixes

-   Fix `Variable` definition for `Vec<T>` in `#[cynic::schema]` output.

</details>

<details>
<summary>evanw/esbuild</summary>

###
[`v0.18.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#&#8203;0181)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.0...v0.18.1)

- Fill in `null` entries in input source maps
([#&#8203;3144](https://togithub.com/evanw/esbuild/issues/3144))

If esbuild bundles input files with source maps and those source maps
contain a `sourcesContent` array with `null` entries, esbuild previously
copied those `null` entries over to the output source map. With this
release, esbuild will now attempt to fill in those `null` entries by
looking for a file on the file system with the corresponding name from
the `sources` array. This matches esbuild's existing behavior that
automatically generates the `sourcesContent` array from the file system
if the entire `sourcesContent` array is missing.

- Support `/* @&#8203;__KEY__ */` comments for mangling property names
([#&#8203;2574](https://togithub.com/evanw/esbuild/issues/2574))

Property mangling is an advanced feature that enables esbuild to minify
certain property names, even though it's not possible to automatically
determine that it's safe to do so. The safe property names are
configured via regular expression such as `--mangle-props=_$` (mangle
all properties ending in `_`).

Sometimes it's desirable to also minify strings containing property
names, even though it's not possible to automatically determine which
strings are property names. This release makes it possible to do this by
annotating those strings with `/* @&#8203;__KEY__ */`. This is a
convention that Terser added earlier this year, and which esbuild is now
following too:
[terser/terser#1365.
Using it looks like this:

    ```js
    // Original code
    console.log(
      [obj.mangle_, obj.keep],
      [obj.get('mangle_'), obj.get('keep')],
[obj.get(/* @&#8203;__KEY__ */ 'mangle_'), obj.get(/* @&#8203;__KEY__ */
'keep')],
    )

    // Old output (with --mangle-props=_$)
    console.log(
      [obj.a, obj.keep],
      [obj.get("mangle_"), obj.get("keep")],
[obj.get(/* @&#8203;__KEY__ */ "mangle_"), obj.get(/* @&#8203;__KEY__ */
"keep")]
    );

    // New output (with --mangle-props=_$)
    console.log(
      [obj.a, obj.keep],
      [obj.get("mangle_"), obj.get("keep")],
[obj.get(/* @&#8203;__KEY__ */ "a"), obj.get(/* @&#8203;__KEY__ */
"keep")]
    );
    ```

- Support `/* @&#8203;__NO_SIDE_EFFECTS__ */` comments for functions
([#&#8203;3149](https://togithub.com/evanw/esbuild/issues/3149))

Rollup has recently added support for `/* @&#8203;__NO_SIDE_EFFECTS__
*/` annotations before functions to indicate that calls to these
functions can be removed if the result is unused (i.e. the calls can be
assumed to have no side effects). This release adds basic support for
these to esbuild as well, which means esbuild will now parse these
comments in input files and preserve them in output files. This should
help people that use esbuild in combination with Rollup.

Note that this doesn't necessarily mean esbuild will treat these calls
as having no side effects, as esbuild's parallel architecture currently
isn't set up to enable this type of cross-file tree-shaking information
(tree-shaking decisions regarding a function call are currently local to
the file they appear in). If you want esbuild to consider a function
call to have no side effects, make sure you continue to annotate the
function call with `/* @&#8203;__PURE__ */` (which is the
previously-established convention for communicating this).

###
[`v0.18.0`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#&#8203;0180)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.17.19...v0.18.0)

**This release deliberately contains backwards-incompatible changes.**
To avoid automatically picking up releases like this, you should either
be pinning the exact version of `esbuild` in your `package.json` file
(recommended) or be using a version range syntax that only accepts patch
upgrades such as `^0.17.0` or `~0.17.0`. See npm's documentation about
[semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more
information.

The breaking changes in this release mainly focus on fixing some
long-standing issues with esbuild's handling of `tsconfig.json` files.
Here are all the changes in this release, in detail:

- Add a way to try esbuild online
([#&#8203;797](https://togithub.com/evanw/esbuild/issues/797))

There is now a way to try esbuild live on esbuild's website without
installing it: https://esbuild.github.io/try/. In addition to being able
to more easily evaluate esbuild, this should also make it more efficient
to generate esbuild bug reports. For example, you can use it to compare
the behavior of different versions of esbuild on the same input. The
state of the page is stored in the URL for easy sharing. Many thanks to
[@&#8203;hyrious](https://togithub.com/hyrious) for creating
https://hyrious.me/esbuild-repl/, which was the main inspiration for
this addition to esbuild's website.

Two forms of build options are supported: either CLI-style
([example](https://esbuild.github.io/try/#dAAwLjE3LjE5AC0tbG9hZGVyPXRzeCAtLW1pbmlmeSAtLXNvdXJjZW1hcABsZXQgZWw6IEpTWC5FbGVtZW50ID0gPGRpdiAvPg))
or JS-style
([example](https://esbuild.github.io/try/#dAAwLjE3LjE5AHsKICBsb2FkZXI6ICd0c3gnLAogIG1pbmlmeTogdHJ1ZSwKICBzb3VyY2VtYXA6IHRydWUsCn0AbGV0IGVsOiBKU1guRWxlbWVudCA9IDxkaXYgLz4)).
Both are converted into a JS object that's passed to esbuild's
WebAssembly API. The CLI-style argument parser is a custom one that
simulates shell quoting rules, and the JS-style argument parser is also
custom and parses a superset of JSON (basically JSON5 + regular
expressions). So argument parsing is an approximate simulation of what
happens for real but hopefully it should be close enough.

- Changes to esbuild's `tsconfig.json` support
([#&#8203;3019](https://togithub.com/evanw/esbuild/issues/3019)):

This release makes the following changes to esbuild's `tsconfig.json`
support:

- Using experimental decorators now requires `"experimentalDecorators":
true` ([#&#8203;104](https://togithub.com/evanw/esbuild/issues/104))

Previously esbuild would always compile decorators in TypeScript code
using TypeScript's experimental decorator transform. Now that standard
JavaScript decorators are close to being finalized, esbuild will now
require you to use `"experimentalDecorators": true` to do this. This new
requirement makes it possible for esbuild to introduce a transform for
standard JavaScript decorators in TypeScript code in the future. Such a
transform has not been implemented yet, however.

- TypeScript's `target` no longer affects esbuild's `target`
([#&#8203;2628](https://togithub.com/evanw/esbuild/issues/2628))

Some people requested that esbuild support TypeScript's `target`
setting, so support for it was added (in [version
0.12.4](https://togithub.com/evanw/esbuild/releases/v0.12.4)). However,
esbuild supports reading from multiple `tsconfig.json` files within a
single build, which opens up the possibility that different files in the
build have different language targets configured. There isn't really any
reason to do this and it can lead to unexpected results. So with this
release, the `target` setting in `tsconfig.json` will no longer affect
esbuild's own `target` setting. You will have to use esbuild's own
target setting instead (which is a single, global value).

- TypeScript's `jsx` setting no longer causes esbuild to preserve JSX
syntax ([#&#8203;2634](https://togithub.com/evanw/esbuild/issues/2634))

TypeScript has a setting called
[`jsx`](https://www.typescriptlang.org/tsconfig#jsx) that controls how
to transform JSX into JS. The tool-agnostic transform is called `react`,
and the React-specific transform is called `react-jsx` (or
`react-jsxdev`). There is also a setting called `preserve` which
indicates JSX should be passed through untransformed. Previously people
would run esbuild with `"jsx": "preserve"` in their `tsconfig.json`
files and then be surprised when esbuild preserved their JSX. So with
this release, esbuild will now ignore `"jsx": "preserve"` in
`tsconfig.json` files. If you want to preserve JSX syntax with esbuild,
you now have to use `--jsx=preserve`.

Note: Some people have suggested that esbuild's equivalent `jsx` setting
override the one in `tsconfig.json`. However, some projects need to
legitimately have different files within the same build use different
transforms (i.e. `react` vs. `react-jsx`) and having esbuild's global
`jsx` setting override `tsconfig.json` would prevent this from working.
This release ignores `"jsx": "preserve"` but still allows other `jsx`
values in `tsconfig.json` files to override esbuild's global `jsx`
setting to keep the ability for multiple files within the same build to
use different transforms.

- `useDefineForClassFields` behavior has changed
([#&#8203;2584](https://togithub.com/evanw/esbuild/issues/2584),
[#&#8203;2993](https://togithub.com/evanw/esbuild/issues/2993))

Class fields in TypeScript look like this (`x` is a class field):

        ```js
        class Foo {
          x = 123
        }
        ```

TypeScript has legacy behavior that uses assignment semantics instead of
define semantics for class fields when
[`useDefineForClassFields`](https://www.typescriptlang.org/tsconfig#useDefineForClassFields)
is enabled (in which case class fields in TypeScript behave differently
than they do in JavaScript, which is arguably "wrong").

This legacy behavior exists because TypeScript added class fields to
TypeScript before they were added to JavaScript. The TypeScript team
decided to go with assignment semantics and shipped their
implementation. Much later on TC39 decided to go with define semantics
for class fields in JavaScript instead. This behaves differently if the
base class has a setter with the same name:

        ```js
        class Base {
          set x(_) {
            console.log('x:', _)
          }
        }

        // useDefineForClassFields: false
        class AssignSemantics extends Base {
          constructor() {
            super()
            this.x = 123
          }
        }

        // useDefineForClassFields: true
        class DefineSemantics extends Base {
          constructor() {
            super()
            Object.defineProperty(this, 'x', { value: 123 })
          }
        }

        console.log(
          new AssignSemantics().x, // Calls the setter
          new DefineSemantics().x // Doesn't call the setter
        )
        ```

When you run `tsc`, the value of `useDefineForClassFields` defaults to
`false` when it's not specified and the `target` in `tsconfig.json` is
present but earlier than `ES2022`. This sort of makes sense because the
class field language feature was added in ES2022, so before ES2022 class
fields didn't exist (and thus TypeScript's legacy behavior is active).
However, TypeScript's `target` setting currently defaults to `ES3` which
unfortunately means that the `useDefineForClassFields` setting currently
defaults to false (i.e. to "wrong"). In other words if you run `tsc`
with all default settings, class fields will behave incorrectly.

Previously esbuild tried to do what `tsc` did. That meant esbuild's
version of `useDefineForClassFields` was `false` by default, and was
also `false` if esbuild's `--target=` was present but earlier than
`es2022`. However, TypeScript's legacy class field behavior is becoming
increasingly irrelevant and people who expect class fields in TypeScript
to work like they do in JavaScript are confused when they use esbuild
with default settings. It's also confusing that the behavior of class
fields would change if you changed the language target (even though
that's exactly how TypeScript works).

So with this release, esbuild will now only use the information in
`tsconfig.json` to determine whether `useDefineForClassFields` is true
or not. Specifically `useDefineForClassFields` will be respected if
present, otherwise it will be `false` if `target` is present in
`tsconfig.json` and is `ES2021` or earlier, otherwise it will be `true`.
Targets passed to esbuild's `--target=` setting will no longer affect
`useDefineForClassFields`.

Note that this means different directories in your build can have
different values for this setting since esbuild allows different
directories to have different `tsconfig.json` files within the same
build. This should let you migrate your code one directory at a time
without esbuild's `--target=` setting affecting the semantics of your
code.

    -   Add support for `verbatimModuleSyntax` from TypeScript 5.0

TypeScript 5.0 added a new option called
[`verbatimModuleSyntax`](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax)
that deprecates and replaces two older options, `preserveValueImports`
and `importsNotUsedAsValues`. Setting `verbatimModuleSyntax` to true in
`tsconfig.json` tells esbuild to not drop unused import statements.
Specifically esbuild now treats `"verbatimModuleSyntax": true` as if you
had specified both `"preserveValueImports": true` and
`"importsNotUsedAsValues": "preserve"`.

    -   Add multiple inheritance for `tsconfig.json` from TypeScript 5.0

TypeScript 5.0 now allows [multiple inheritance for `tsconfig.json`
files](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#supporting-multiple-configuration-files-in-extends).
You can now pass an array of filenames via the `extends` parameter and
your `tsconfig.json` will start off containing properties from all of
those configuration files, in order. This release of esbuild adds
support for this new TypeScript feature.

- Remove support for `moduleSuffixes`
([#&#8203;2395](https://togithub.com/evanw/esbuild/issues/2395))

The community has requested that esbuild remove support for TypeScript's
`moduleSuffixes` feature, so it has been removed in this release.
Instead you can use esbuild's `--resolve-extensions=` feature to select
which module suffix you want to build with.

- Apply `--tsconfig=` overrides to `stdin` and virtual files
([#&#8203;385](https://togithub.com/evanw/esbuild/issues/385),
[#&#8203;2543](https://togithub.com/evanw/esbuild/issues/2543))

When you override esbuild's automatic `tsconfig.json` file detection
with `--tsconfig=` to pass a specific `tsconfig.json` file, esbuild
previously didn't apply these settings to source code passed via the
`stdin` API option or to TypeScript files from plugins that weren't in
the `file` namespace. This release changes esbuild's behavior so that
settings from `tsconfig.json` also apply to these source code files as
well.

- Support `--tsconfig-raw=` in build API calls
([#&#8203;943](https://togithub.com/evanw/esbuild/issues/943),
[#&#8203;2440](https://togithub.com/evanw/esbuild/issues/2440))

Previously if you wanted to override esbuild's automatic `tsconfig.json`
file detection, you had to create a new `tsconfig.json` file and pass
the file name to esbuild via the `--tsconfig=` flag. With this release,
you can now optionally use `--tsconfig-raw=` instead to pass the
contents of `tsconfig.json` to esbuild directly instead of passing the
file name. For example, you can now use
`--tsconfig-raw={"compilerOptions":{"experimentalDecorators":true}}` to
enable TypeScript experimental decorators directly using a command-line
flag (assuming you escape the quotes correctly using your current
shell's quoting rules). The `--tsconfig-raw=` flag previously only
worked with transform API calls but with this release, it now works with
build API calls too.

- Ignore all `tsconfig.json` files in `node_modules`
([#&#8203;276](https://togithub.com/evanw/esbuild/issues/276),
[#&#8203;2386](https://togithub.com/evanw/esbuild/issues/2386))

This changes esbuild's behavior that applies `tsconfig.json` to all
files in the subtree of the directory containing `tsconfig.json`. In
version 0.12.7, esbuild started ignoring `tsconfig.json` files inside
`node_modules` folders. The rationale is that people typically do this
by mistake and that doing this intentionally is a rare use case that
doesn't need to be supported. However, this change only applied to
certain syntax-specific settings (e.g. `jsxFactory`) but did not apply
to path resolution settings (e.g. `paths`). With this release, esbuild
will now ignore all `tsconfig.json` files in `node_modules` instead of
only ignoring certain settings.

- Ignore `tsconfig.json` when resolving paths within `node_modules`
([#&#8203;2481](https://togithub.com/evanw/esbuild/issues/2481))

Previously fields in `tsconfig.json` related to path resolution (e.g.
`paths`) were respected for all files in the subtree containing that
`tsconfig.json` file, even within a nested `node_modules` subdirectory.
This meant that a project's `paths` settings could potentially affect
any bundled packages. With this release, esbuild will no longer use
`tsconfig.json` settings during path resolution inside nested
`node_modules` subdirectories.

- Prefer `.js` over `.ts` within `node_modules`
([#&#8203;3019](https://togithub.com/evanw/esbuild/issues/3019))

The default list of implicit extensions that esbuild will try appending
to import paths contains `.ts` before `.js`. This makes it possible to
bundle TypeScript projects that reference other files in the project
using extension-less imports (e.g. `./some-file` to load
`./some-file.ts` instead of `./some-file.js`). However, this behavior is
undesirable within `node_modules` directories. Some package authors
publish both their original TypeScript code and their compiled
JavaScript code side-by-side. In these cases, esbuild should arguably be
using the compiled JavaScript files instead of the original TypeScript
files because the TypeScript compilation settings for files within the
package should be determined by the package author, not the user of
esbuild. So with this release, esbuild will now prefer implicit `.js`
extensions over `.ts` when searching for import paths within
`node_modules`.

These changes are intended to improve esbuild's compatibility with `tsc`
and reduce the number of unfortunate behaviors regarding `tsconfig.json`
and esbuild.

- Add a workaround for bugs in Safari 16.2 and earlier
([#&#8203;3072](https://togithub.com/evanw/esbuild/issues/3072))

Safari's JavaScript parser had a bug (which has now been fixed) where at
least something about unary/binary operators nested inside default
arguments nested inside either a function or class expression was
incorrectly considered a syntax error if that expression was the target
of a property assignment. Here are some examples that trigger this
Safari bug:

        ❱ x(function (y = -1) {}.z = 2)
        SyntaxError: Left hand side of operator '=' must be a reference.

        ❱ x(class { f(y = -1) {} }.z = 2)
        SyntaxError: Left hand side of operator '=' must be a reference.

It's not clear what the exact conditions are that trigger this bug.
However, a workaround for this bug appears to be to post-process your
JavaScript to wrap any in function and class declarations that are the
direct target of a property access expression in parentheses. That's the
workaround that UglifyJS applies for this issue:
[mishoo/UglifyJS#&#8203;2056](https://togithub.com/mishoo/UglifyJS/pull/2056).
So that's what esbuild now does starting with this release:

    ```js
    // Original code
    x(function (y = -1) {}.z = 2, class { f(y = -1) {} }.z = 2)

    // Old output (with --minify --target=safari16.2)
    x(function(c=-1){}.z=2,class{f(c=-1){}}.z=2);

    // New output (with --minify --target=safari16.2)
    x((function(c=-1){}).z=2,(class{f(c=-1){}}).z=2);
    ```

This fix is not enabled by default. It's only enabled when `--target=`
contains Safari 16.2 or earlier, such as with `--target=safari16.2`. You
can also explicitly enable or disable this specific transform (called
`function-or-class-property-access`) with
`--supported:function-or-class-property-access=false`.

- Fix esbuild's TypeScript type declarations to forbid unknown
properties
([#&#8203;3089](https://togithub.com/evanw/esbuild/issues/3089))

Version 0.17.0 of esbuild introduced a specific form of function
overloads in the TypeScript type definitions for esbuild's API calls
that looks like this:

    ```ts
    interface TransformOptions {
      legalComments?: 'none' | 'inline' | 'eof' | 'external'
    }

interface TransformResult<ProvidedOptions extends TransformOptions =
TransformOptions> {
legalComments: string | (ProvidedOptions['legalComments'] extends
'external' ? never : undefined)
    }

declare function transformSync<ProvidedOptions extends
TransformOptions>(input: string, options?: ProvidedOptions):
TransformResult<ProvidedOptions>
declare function transformSync(input: string, options?:
TransformOptions): TransformResult
    ```

This more accurately reflects how esbuild's JavaScript API behaves. The
result object returned by `transformSync` only has the `legalComments`
property if you pass `legalComments: 'external'`:

    ```ts
    // These have type "string | undefined"
    transformSync('').legalComments
    transformSync('', { legalComments: 'eof' }).legalComments

    // This has type "string"
    transformSync('', { legalComments: 'external' }).legalComments
    ```

However, this form of function overloads unfortunately allows typos
(e.g. `egalComments`) to pass the type checker without generating an
error as TypeScript allows all objects with unknown properties to extend
`TransformOptions`. These typos result in esbuild's API throwing an
error at run-time.

To prevent typos during type checking, esbuild's TypeScript type
definitions will now use a different form that looks like this:

    ```ts
type SameShape<Out, In extends Out> = In & { [Key in Exclude<keyof In,
keyof Out>]: never }

    interface TransformOptions {
      legalComments?: 'none' | 'inline' | 'eof' | 'external'
    }

interface TransformResult<ProvidedOptions extends TransformOptions =
TransformOptions> {
legalComments: string | (ProvidedOptions['legalComments'] extends
'external' ? never : undefined)
    }

declare function transformSync<T extends TransformOptions>(input:
string, options?: SameShape<TransformOptions, T>): TransformResult<T>
    ```

This change should hopefully not affect correct code. It should
hopefully introduce type errors only for incorrect code.

- Fix CSS nesting transform for pseudo-elements
([#&#8203;3119](https://togithub.com/evanw/esbuild/issues/3119))

This release fixes esbuild's CSS nesting transform for pseudo-elements
(e.g. `::before` and `::after`). The CSS nesting specification says that
[the nesting selector does not work with
pseudo-elements](https://www.w3.org/TR/css-nesting-1/#ref-for-matches-pseudo%E2%91%A0).
This can be seen in the example below: esbuild does not carry the parent
pseudo-element `::before` through the nesting selector `&`. However,
that doesn't apply to pseudo-elements that are within the same selector.
Previously esbuild had a bug where it considered pseudo-elements in both
locations as invalid. This release changes esbuild to only consider
those from the parent selector invalid, which should align with the
specification:

    ```css
    /* Original code */
    a, b::before {
      &.c, &::after {
        content: 'd';
      }
    }

    /* Old output (with --target=chrome90) */
    a:is(.c, ::after) {
      content: "d";
    }

    /* New output (with --target=chrome90) */
    a.c,
    a::after {
      content: "d";
    }
    ```

-   Forbid `&` before a type selector in nested CSS

The people behind the work-in-progress CSS nesting specification have
very recently [decided to forbid nested CSS that looks like
`&div`](https://togithub.com/w3c/csswg-drafts/issues/8662#issuecomment-1514977935).
You will have to use either `div&` or `&:is(div)` instead. This release
of esbuild has been updated to take this new change into consideration.
Doing this now generates a warning. The suggested fix is slightly
different depending on where in the overall selector it happened:

β–² [WARNING] Cannot use type selector "input" directly after nesting
selector "&" [css-syntax-error]

            example.css:2:3:
              2 β”‚   &input {
                β”‚    ~~~~~
                β•΅    :is(input)

CSS nesting syntax does not allow the "&" selector to come before a type
selector. You can wrap
this selector in ":is()" as a workaround. This restriction exists to
avoid problems with SASS
nesting, where the same syntax means something very different that has
no equivalent in real CSS
          (appending a suffix to the parent selector).

β–² [WARNING] Cannot use type selector "input" directly after nesting
selector "&" [css-syntax-error]

            example.css:6:8:
              6 β”‚   .form &input {
                β”‚         ~~~~~~
                β•΅         input&

CSS nesting syntax does not allow the "&" selector to come before a type
selector. You can move
the "&" to the end of this selector as a workaround. This restriction
exists to avoid problems
with SASS nesting, where the same syntax means something very different
that has no equivalent in
          real CSS (appending a suffix to the parent selector).

</details>

<details>
<summary>rust-lang/hashbrown</summary>

###
[`v0.14.0`](https://togithub.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#v0140---2023-06-01)

[Compare
Source](https://togithub.com/rust-lang/hashbrown/compare/v0.13.2...v0.14.0)

##### Added

-   Support for `allocator-api2` crate
for interfacing with custom allocators on stable.
([#&#8203;417](https://togithub.com/rust-lang/hashbrown/issues/417))
- Optimized implementation for ARM using NEON instructions.
([#&#8203;430](https://togithub.com/rust-lang/hashbrown/issues/430))
- Support for rkyv serialization.
([#&#8203;432](https://togithub.com/rust-lang/hashbrown/issues/432))
- `Equivalent` trait to look up values without `Borrow`.
([#&#8203;345](https://togithub.com/rust-lang/hashbrown/issues/345))
- `Hash{Map,Set}::raw_table_mut` is added whic returns a mutable
reference.
([#&#8203;404](https://togithub.com/rust-lang/hashbrown/issues/404))
- Fast path for `clear` on empty tables.
([#&#8203;428](https://togithub.com/rust-lang/hashbrown/issues/428))

##### Changed

- Optimized insertion to only perform a single lookup.
([#&#8203;277](https://togithub.com/rust-lang/hashbrown/issues/277))
- `DrainFilter` has been renamed to `ExtractIf` and no longer drops
remaining
    elements when the iterator is dropped. #(374)
- Bumped MSRV to 1.64.0.
([#&#8203;431](https://togithub.com/rust-lang/hashbrown/issues/431))
- `{Map,Set}::raw_table` now returns an immutable reference.
([#&#8203;404](https://togithub.com/rust-lang/hashbrown/issues/404))
- `VacantEntry` and `OccupiedEntry` now use the default hasher if none
is
specified in generics.
([#&#8203;389](https://togithub.com/rust-lang/hashbrown/issues/389))
- `RawTable::data_start` now returns a `NonNull` to match
`RawTable::data_end`.
([#&#8203;387](https://togithub.com/rust-lang/hashbrown/issues/387))
- `RawIter::{reflect_insert, reflect_remove}` are now unsafe.
([#&#8203;429](https://togithub.com/rust-lang/hashbrown/issues/429))
- `RawTable::find_potential` is renamed to `find_or_find_insert_slot`
and returns an `InsertSlot`.
([#&#8203;429](https://togithub.com/rust-lang/hashbrown/issues/429))
- `RawTable::remove` now also returns an `InsertSlot`.
([#&#8203;429](https://togithub.com/rust-lang/hashbrown/issues/429))
- `InsertSlot` can be used to insert an element with
`RawTable::insert_in_slot`.
([#&#8203;429](https://togithub.com/rust-lang/hashbrown/issues/429))
- `RawIterHash` no longer has a lifetime tied to that of the `RawTable`.
([#&#8203;427](https://togithub.com/rust-lang/hashbrown/issues/427))
- The trait bounds of `HashSet::raw_table` have been relaxed to not
require `Eq + Hash`.
([#&#8203;423](https://togithub.com/rust-lang/hashbrown/issues/423))
- `EntryRef::and_replace_entry_with` and
`OccupiedEntryRef::replace_entry_with`
    were changed to give a `&K` instead of a `&Q` to the closure.

##### Removed

-   Support for `bumpalo` as an allocator with custom wrapper.
    Use `allocator-api2` feature in `bumpalo` to use it as an allocator
for `hashbrown` collections.
([#&#8203;417](https://togithub.com/rust-lang/hashbrown/issues/417))

###
[`v0.13.2`](https://togithub.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#v0132---2023-01-12)

[Compare
Source](https://togithub.com/rust-lang/hashbrown/compare/v0.13.1...v0.13.2)

##### Fixed

- Added `#[inline(always)]` to `find_inner`.
([#&#8203;375](https://togithub.com/rust-lang/hashbrown/issues/375))
- Fixed `RawTable::allocation_info` for empty tables.
([#&#8203;376](https://togithub.com/rust-lang/hashbrown/issues/376))

</details>

<details>
<summary>hashicorp/vault-action</summary>

###
[`v2.6.0`](https://togithub.com/hashicorp/vault-action/releases/tag/v2.6.0)

[Compare
Source](https://togithub.com/hashicorp/vault-action/compare/v2.5.0...v2.6.0)

##### 2.6.0 (June 7, 2023)

Features:

- Add ability to set the `vault_token` output to contain the Vault token
after authentication
[GH-441](https://togithub.com/hashicorp/vault-action/pull/441)
- Add support for userpass and ldap authentication methods
[GH-440](https://togithub.com/hashicorp/vault-action/pull/440)
- Define an output, `errorMessage`, for vault-action's error messages so
subsequent steps can read the errors
[GH-446](https://togithub.com/hashicorp/vault-action/pull/446)

Bugs:

- Handle undefined response in getSecrets error handler
[GH-431](https://togithub.com/hashicorp/vault-action/pull/431)

</details>

<details>
<summary>quickwit-oss/tantivy</summary>

###
[`v0.20.1`](https://togithub.com/quickwit-oss/tantivy/releases/tag/0.20.1)

#### What's Changed

- Fix building on windows with mmap by
[@&#8203;ChillFish8](https://togithub.com/ChillFish8) in
[quickwit-oss/tantivy#2070

###
[`v0.19.2`](https://togithub.com/quickwit-oss/tantivy/releases/tag/0.19.2):
Tantivy v0.19.2

[Compare
Source](https://togithub.com/quickwit-oss/tantivy/compare/0.19.1...0.19.2)

Fixes an issue in the skip list deserialization, which deserialized the
byte start offset incorrectly as u32.
`get_doc` will fail for any docs that live in a block with start offset
larger than u32::MAX (~4GB).
Causes index corruption, if a segment with a doc store file larger 4GB
is merged. ([@&#8203;PSeitz](https://togithub.com/PSeitz))

###
[`v0.19.1`](https://togithub.com/quickwit-oss/tantivy/releases/tag/0.19.1):
Tantivy v0.19.1

Hotfix on handling user input for get_docid_for_value_range
([@&#8203;PSeitz](https://togithub.com/PSeitz))

</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://app.renovatebot.com/dashboard#github/grafbase/api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jakub Wieczorek <jakub@grafbase.com>
@pimeys pimeys deleted the sdk/client-generate branch January 26, 2024 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant