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 #427

Merged
merged 1 commit into from
Jun 20, 2024

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
@gr2m gr2m merged commit a19e943 into main Jun 20, 2024
7 checks passed
@gr2m gr2m deleted the renovate/openapi-typescript-7.x branch June 20, 2024 16:34
@wolfy1339
Copy link
Member

@gr2m Can you revert this, there are some breaking changes that we need to account for in the build script

@gr2m
Copy link
Contributor

gr2m commented Jun 20, 2024

yes sorry!

@gr2m
Copy link
Contributor

gr2m commented Jun 20, 2024

done. Can you think of a way to make the CI fail if that happens again?

@wolfy1339
Copy link
Member

Simply running the generate types command should catch it

@gr2m
Copy link
Contributor

gr2m commented Jun 20, 2024

yeah, I think so, too. I filed an issue: #430

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Maintenance Any dependency, housekeeping, and clean up Issue or PR
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants