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

chore(deps): update dependency openapi-typescript to v7 #429

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 20, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
openapi-typescript (source) ^6.2.1 -> ^7.0.0 age adoption passing confidence

Release Notes

openapi-ts/openapi-typescript (openapi-typescript)

v7.0.0

Compare Source

Major Changes
  • 6d1eb32 Thanks @​drwpow! - ⚠️ Breaking: The Node.js API now returns the TypeScript AST for the main method as well as transform() and postTransform(). To migrate, you’ll have to use the typescript compiler API:

    + import ts from "typescript";
    
    + const DATE = ts.factory.createIdentifier("Date");
    + const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull());
    
      const ast = await openapiTS(mySchema, {
        transform(schemaObject, metadata) {
          if (schemaObject.format === "date-time") {
    -       return schemaObject.nullable ? "Date | null" : "Date";
    +       return schemaObject.nullable
    +         ? ts.factory.createUnionTypeNode([DATE, NULL])
    +         : DATE;
          }
        },
      };

    Though it’s more verbose, it’s also more powerful, as now you have access to additional properties of the generated code you didn’t before (such as injecting comments).

    For example syntax, search this codebae to see how the TypeScript AST is used.

    Also see AST Explorer’s typescript parser to inspect how TypeScript is interpreted as an AST.

  • 6d1eb32 Thanks @​drwpow! - ⚠️ Breaking: Changing of several CLI flags and Node.js API options

    • The --auth, --httpHeaders, --httpMethod, and fetch (Node.js-only) options were all removed from the CLI and Node.js API
    • --immutable-types has been renamed to --immutable
    • --support-array-length has been renamed to --array-length
  • fbaf96d Thanks @​drwpow! - ⚠️ Breaking: Remove globbing schemas in favor of redocly.yaml config. Specify multiple schemas with outputs in there instead. See Multiple schemas for more info.

  • 6d1eb32 Thanks @​drwpow! - ⚠️ Breaking: Most optional objects are now always present in types, just typed as :never. This includes keys of the Components Object as well as HTTP methods.

  • 6d1eb32 Thanks @​drwpow! - ⚠️ Breaking: No more external export in schemas anymore. Everything gets flattened into the components object instead (if referencing a schema object from a remote partial, note it may have had a minor name change to avoid conflict).

  • 6d1eb32 Thanks @​drwpow! - ⚠️ Breaking defaultNonNullable option now defaults to true. You’ll now need to manually set false to return to old behavior.

  • 799194d Thanks @​drwpow~ - ⚠️ Breaking TypeScript is now a peerDependency and must be installed alongside openapi-typescript

Minor Changes
  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: automatically validate schemas with Redocly CLI (docs). No more need for external tools to report errors! 🎉

    • By default, it will only throw on actual schema errors (uses Redocly’s default settings)
    • For stricter linting or custom rules, you can create a redocly.yaml config
  • 312b7ba Thanks @​drwpow! - ✨ Feature: allow configuration of schemas via apis key in redocly.config.yaml. See docs for more info.

  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: add enum option to export top-level enums from schemas

  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: add formatOptions to allow formatting TS output

  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: header responses add [key: string]: unknown index type to allow for additional untyped headers

  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: bundle schemas with Redocly CLI

  • 6d1eb32 Thanks @​drwpow! - ✨ Feature: Added debugger that lets you profile performance and see more in-depth messages

  • #​1374 7ac5174 Thanks @​ElForastero! - Add support for x-enum-varnames and x-enum-descriptions

  • #​1545 9158b81 Thanks @​jaredLunde! - Replace # characters in operation IDs with a slash

Patch Changes

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 becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the Type: Maintenance Any dependency, housekeeping, and clean up Issue or PR label Jun 20, 2024
Copy link
Contributor

@gr2m gr2m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has breaking changes

@wolfy1339 wolfy1339 self-assigned this Jun 20, 2024
@wolfy1339 wolfy1339 added the Status: Blocked Some technical or requirement is blocking the issue label Jun 20, 2024
@wolfy1339
Copy link
Member

See also octokit/openapi-webhooks#68
The changes required are implemented in that PR

Copy link
Contributor Author

renovate bot commented Jul 4, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@wolfy1339
Copy link
Member

There are issues with the OpenAPI spec that is currently cached in this repo.

There seems to be duplicate operationID

@wolfy1339
Copy link
Member

wolfy1339 commented Jul 5, 2024

There are 4 routes to use the operationID of enterprise-admin/get-manage-settings this seems to only be an issue with GHES 3.12 (and GHES 3.13 which isn't in this repo yet)

  • GET /manage/v1/config/apply/events
  • GET /manage/v1/config/settings
  • GET /manage/v1/config/apply
  • POST /manage/v1/config/apply

This is still an issue in the latest spec over at https://github.com/octokit/openapi/blob/update/generated/ghes-3.12.json

@wolfy1339
Copy link
Member

Raised the issue over in github/rest-api-description#3720

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Blocked Some technical or requirement is blocking the issue Type: Maintenance Any dependency, housekeeping, and clean up Issue or PR
Projects
Status: 🏗 In progress
Development

Successfully merging this pull request may close these issues.

2 participants