···11----
22-'@hey-api/openapi-ts': minor
33-'@hey-api/docs': minor
44----
55-66-feat: make plugins first-class citizens
77-88-This release makes plugins first-class citizens. In order to achieve that, the following breaking changes were introduced.
99-1010-### Removed CLI options
1111-1212-The `--types`, `--schemas`, and `--services` CLI options have been removed. You can list which plugins you'd like to use explicitly by passing a list of plugins as `--plugins <plugin1> <plugin2>`
1313-1414-### Removed `*.export` option
1515-1616-Previously, you could explicitly disable export of certain artifacts using the `*.export` option or its shorthand variant. These were both removed. You can now disable export of specific artifacts by manually defining an array of `plugins` and excluding the unwanted plugin.
1717-1818-::: code-group
1919-2020-```js [shorthand]
2121-export default {
2222- client: '@hey-api/client-fetch',
2323- input: 'path/to/openapi.json',
2424- output: 'src/client',
2525- schemas: false, // [!code --]
2626- plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
2727-};
2828-```
2929-3030-```js [*.export]
3131-export default {
3232- client: '@hey-api/client-fetch',
3333- input: 'path/to/openapi.json',
3434- output: 'src/client',
3535- schemas: {
3636- export: false, // [!code --]
3737- },
3838- plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
3939-};
4040-```
4141-4242-:::
4343-4444-### Renamed `schemas.name` option
4545-4646-Each plugin definition contains a `name` field. This was conflicting with the `schemas.name` option. As a result, it has been renamed to `nameBuilder`.
4747-4848-```js
4949-export default {
5050- client: '@hey-api/client-fetch',
5151- input: 'path/to/openapi.json',
5252- output: 'src/client',
5353- schemas: {
5454- name: (name) => `${name}Schema`, // [!code --]
5555- },
5656- plugins: [
5757- // ...other plugins
5858- {
5959- nameBuilder: (name) => `${name}Schema`, // [!code ++]
6060- name: '@hey-api/schemas',
6161- },
6262- ],
6363-};
6464-```
6565-6666-### Removed `services.include` shorthand option
6767-6868-Previously, you could use a string value as a shorthand for the `services.include` configuration option. You can now achieve the same result using the `include` option.
6969-7070-```js
7171-export default {
7272- client: '@hey-api/client-fetch',
7373- input: 'path/to/openapi.json',
7474- output: 'src/client',
7575- services: '^MySchema', // [!code --]
7676- plugins: [
7777- // ...other plugins
7878- {
7979- include: '^MySchema', // [!code ++]
8080- name: '@hey-api/services',
8181- },
8282- ],
8383-};
8484-```
8585-8686-### Renamed `services.name` option
8787-8888-Each plugin definition contains a `name` field. This was conflicting with the `services.name` option. As a result, it has been renamed to `serviceNameBuilder`.
8989-9090-```js
9191-export default {
9292- client: '@hey-api/client-fetch',
9393- input: 'path/to/openapi.json',
9494- output: 'src/client',
9595- services: {
9696- name: '{{name}}Service', // [!code --]
9797- },
9898- plugins: [
9999- // ...other plugins
100100- {
101101- serviceNameBuilder: '{{name}}Service', // [!code ++]
102102- name: '@hey-api/services',
103103- },
104104- ],
105105-};
106106-```
107107-108108-### Renamed `types.dates` option
109109-110110-Previously, you could set `types.dates` to a boolean or a string value, depending on whether you wanted to transform only type strings into dates, or runtime code too. Many people found these options confusing, so they have been simplified to a boolean and extracted into a separate `@hey-api/transformers` plugin.
111111-112112-```js
113113-export default {
114114- client: '@hey-api/client-fetch',
115115- input: 'path/to/openapi.json',
116116- output: 'src/client',
117117- types: {
118118- dates: 'types+transform', // [!code --]
119119- },
120120- plugins: [
121121- // ...other plugins
122122- {
123123- dates: true, // [!code ++]
124124- name: '@hey-api/transformers',
125125- },
126126- ],
127127-};
128128-```
129129-130130-### Removed `types.include` shorthand option
131131-132132-Previously, you could use a string value as a shorthand for the `types.include` configuration option. You can now achieve the same result using the `include` option.
133133-134134-```js
135135-export default {
136136- client: '@hey-api/client-fetch',
137137- input: 'path/to/openapi.json',
138138- output: 'src/client',
139139- types: '^MySchema', // [!code --]
140140- plugins: [
141141- // ...other plugins
142142- {
143143- include: '^MySchema', // [!code ++]
144144- name: '@hey-api/types',
145145- },
146146- ],
147147-};
148148-```
149149-150150-### Renamed `types.name` option
151151-152152-Each plugin definition contains a `name` field. This was conflicting with the `types.name` option. As a result, it has been renamed to `style`.
153153-154154-```js
155155-export default {
156156- client: '@hey-api/client-fetch',
157157- input: 'path/to/openapi.json',
158158- output: 'src/client',
159159- types: {
160160- name: 'PascalCase', // [!code --]
161161- },
162162- plugins: [
163163- // ...other plugins
164164- {
165165- name: '@hey-api/types',
166166- style: 'PascalCase', // [!code ++]
167167- },
168168- ],
169169-};
170170-```
+170
docs/CHANGELOG.md
···11# @hey-api/docs
2233+## 0.7.0
44+55+### Minor Changes
66+77+- [#1201](https://github.com/hey-api/openapi-ts/pull/1201) [`972a93a`](https://github.com/hey-api/openapi-ts/commit/972a93a91a945cc9ead73c08bb0fa9ee120433ba) Thanks [@mrlubos](https://github.com/mrlubos)! - feat: make plugins first-class citizens
88+99+ This release makes plugins first-class citizens. In order to achieve that, the following breaking changes were introduced.
1010+1111+ ### Removed CLI options
1212+1313+ The `--types`, `--schemas`, and `--services` CLI options have been removed. You can list which plugins you'd like to use explicitly by passing a list of plugins as `--plugins <plugin1> <plugin2>`
1414+1515+ ### Removed `*.export` option
1616+1717+ Previously, you could explicitly disable export of certain artifacts using the `*.export` option or its shorthand variant. These were both removed. You can now disable export of specific artifacts by manually defining an array of `plugins` and excluding the unwanted plugin.
1818+1919+ ::: code-group
2020+2121+ ```js [shorthand]
2222+ export default {
2323+ client: '@hey-api/client-fetch',
2424+ input: 'path/to/openapi.json',
2525+ output: 'src/client',
2626+ schemas: false, // [!code --]
2727+ plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
2828+ };
2929+ ```
3030+3131+ ```js [*.export]
3232+ export default {
3333+ client: '@hey-api/client-fetch',
3434+ input: 'path/to/openapi.json',
3535+ output: 'src/client',
3636+ schemas: {
3737+ export: false, // [!code --]
3838+ },
3939+ plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
4040+ };
4141+ ```
4242+4343+ :::
4444+4545+ ### Renamed `schemas.name` option
4646+4747+ Each plugin definition contains a `name` field. This was conflicting with the `schemas.name` option. As a result, it has been renamed to `nameBuilder`.
4848+4949+ ```js
5050+ export default {
5151+ client: '@hey-api/client-fetch',
5252+ input: 'path/to/openapi.json',
5353+ output: 'src/client',
5454+ schemas: {
5555+ name: (name) => `${name}Schema`, // [!code --]
5656+ },
5757+ plugins: [
5858+ // ...other plugins
5959+ {
6060+ nameBuilder: (name) => `${name}Schema`, // [!code ++]
6161+ name: '@hey-api/schemas',
6262+ },
6363+ ],
6464+ };
6565+ ```
6666+6767+ ### Removed `services.include` shorthand option
6868+6969+ Previously, you could use a string value as a shorthand for the `services.include` configuration option. You can now achieve the same result using the `include` option.
7070+7171+ ```js
7272+ export default {
7373+ client: '@hey-api/client-fetch',
7474+ input: 'path/to/openapi.json',
7575+ output: 'src/client',
7676+ services: '^MySchema', // [!code --]
7777+ plugins: [
7878+ // ...other plugins
7979+ {
8080+ include: '^MySchema', // [!code ++]
8181+ name: '@hey-api/services',
8282+ },
8383+ ],
8484+ };
8585+ ```
8686+8787+ ### Renamed `services.name` option
8888+8989+ Each plugin definition contains a `name` field. This was conflicting with the `services.name` option. As a result, it has been renamed to `serviceNameBuilder`.
9090+9191+ ```js
9292+ export default {
9393+ client: '@hey-api/client-fetch',
9494+ input: 'path/to/openapi.json',
9595+ output: 'src/client',
9696+ services: {
9797+ name: '{{name}}Service', // [!code --]
9898+ },
9999+ plugins: [
100100+ // ...other plugins
101101+ {
102102+ serviceNameBuilder: '{{name}}Service', // [!code ++]
103103+ name: '@hey-api/services',
104104+ },
105105+ ],
106106+ };
107107+ ```
108108+109109+ ### Renamed `types.dates` option
110110+111111+ Previously, you could set `types.dates` to a boolean or a string value, depending on whether you wanted to transform only type strings into dates, or runtime code too. Many people found these options confusing, so they have been simplified to a boolean and extracted into a separate `@hey-api/transformers` plugin.
112112+113113+ ```js
114114+ export default {
115115+ client: '@hey-api/client-fetch',
116116+ input: 'path/to/openapi.json',
117117+ output: 'src/client',
118118+ types: {
119119+ dates: 'types+transform', // [!code --]
120120+ },
121121+ plugins: [
122122+ // ...other plugins
123123+ {
124124+ dates: true, // [!code ++]
125125+ name: '@hey-api/transformers',
126126+ },
127127+ ],
128128+ };
129129+ ```
130130+131131+ ### Removed `types.include` shorthand option
132132+133133+ Previously, you could use a string value as a shorthand for the `types.include` configuration option. You can now achieve the same result using the `include` option.
134134+135135+ ```js
136136+ export default {
137137+ client: '@hey-api/client-fetch',
138138+ input: 'path/to/openapi.json',
139139+ output: 'src/client',
140140+ types: '^MySchema', // [!code --]
141141+ plugins: [
142142+ // ...other plugins
143143+ {
144144+ include: '^MySchema', // [!code ++]
145145+ name: '@hey-api/types',
146146+ },
147147+ ],
148148+ };
149149+ ```
150150+151151+ ### Renamed `types.name` option
152152+153153+ Each plugin definition contains a `name` field. This was conflicting with the `types.name` option. As a result, it has been renamed to `style`.
154154+155155+ ```js
156156+ export default {
157157+ client: '@hey-api/client-fetch',
158158+ input: 'path/to/openapi.json',
159159+ output: 'src/client',
160160+ types: {
161161+ name: 'PascalCase', // [!code --]
162162+ },
163163+ plugins: [
164164+ // ...other plugins
165165+ {
166166+ name: '@hey-api/types',
167167+ style: 'PascalCase', // [!code ++]
168168+ },
169169+ ],
170170+ };
171171+ ```
172172+3173## 0.6.2
41745175### Patch Changes
···11# @hey-api/openapi-ts
2233+## 0.54.0
44+55+### Minor Changes
66+77+- [#1201](https://github.com/hey-api/openapi-ts/pull/1201) [`972a93a`](https://github.com/hey-api/openapi-ts/commit/972a93a91a945cc9ead73c08bb0fa9ee120433ba) Thanks [@mrlubos](https://github.com/mrlubos)! - feat: make plugins first-class citizens
88+99+ This release makes plugins first-class citizens. In order to achieve that, the following breaking changes were introduced.
1010+1111+ ### Removed CLI options
1212+1313+ The `--types`, `--schemas`, and `--services` CLI options have been removed. You can list which plugins you'd like to use explicitly by passing a list of plugins as `--plugins <plugin1> <plugin2>`
1414+1515+ ### Removed `*.export` option
1616+1717+ Previously, you could explicitly disable export of certain artifacts using the `*.export` option or its shorthand variant. These were both removed. You can now disable export of specific artifacts by manually defining an array of `plugins` and excluding the unwanted plugin.
1818+1919+ ::: code-group
2020+2121+ ```js [shorthand]
2222+ export default {
2323+ client: '@hey-api/client-fetch',
2424+ input: 'path/to/openapi.json',
2525+ output: 'src/client',
2626+ schemas: false, // [!code --]
2727+ plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
2828+ };
2929+ ```
3030+3131+ ```js [*.export]
3232+ export default {
3333+ client: '@hey-api/client-fetch',
3434+ input: 'path/to/openapi.json',
3535+ output: 'src/client',
3636+ schemas: {
3737+ export: false, // [!code --]
3838+ },
3939+ plugins: ['@hey-api/types', '@hey-api/services'], // [!code ++]
4040+ };
4141+ ```
4242+4343+ :::
4444+4545+ ### Renamed `schemas.name` option
4646+4747+ Each plugin definition contains a `name` field. This was conflicting with the `schemas.name` option. As a result, it has been renamed to `nameBuilder`.
4848+4949+ ```js
5050+ export default {
5151+ client: '@hey-api/client-fetch',
5252+ input: 'path/to/openapi.json',
5353+ output: 'src/client',
5454+ schemas: {
5555+ name: (name) => `${name}Schema`, // [!code --]
5656+ },
5757+ plugins: [
5858+ // ...other plugins
5959+ {
6060+ nameBuilder: (name) => `${name}Schema`, // [!code ++]
6161+ name: '@hey-api/schemas',
6262+ },
6363+ ],
6464+ };
6565+ ```
6666+6767+ ### Removed `services.include` shorthand option
6868+6969+ Previously, you could use a string value as a shorthand for the `services.include` configuration option. You can now achieve the same result using the `include` option.
7070+7171+ ```js
7272+ export default {
7373+ client: '@hey-api/client-fetch',
7474+ input: 'path/to/openapi.json',
7575+ output: 'src/client',
7676+ services: '^MySchema', // [!code --]
7777+ plugins: [
7878+ // ...other plugins
7979+ {
8080+ include: '^MySchema', // [!code ++]
8181+ name: '@hey-api/services',
8282+ },
8383+ ],
8484+ };
8585+ ```
8686+8787+ ### Renamed `services.name` option
8888+8989+ Each plugin definition contains a `name` field. This was conflicting with the `services.name` option. As a result, it has been renamed to `serviceNameBuilder`.
9090+9191+ ```js
9292+ export default {
9393+ client: '@hey-api/client-fetch',
9494+ input: 'path/to/openapi.json',
9595+ output: 'src/client',
9696+ services: {
9797+ name: '{{name}}Service', // [!code --]
9898+ },
9999+ plugins: [
100100+ // ...other plugins
101101+ {
102102+ serviceNameBuilder: '{{name}}Service', // [!code ++]
103103+ name: '@hey-api/services',
104104+ },
105105+ ],
106106+ };
107107+ ```
108108+109109+ ### Renamed `types.dates` option
110110+111111+ Previously, you could set `types.dates` to a boolean or a string value, depending on whether you wanted to transform only type strings into dates, or runtime code too. Many people found these options confusing, so they have been simplified to a boolean and extracted into a separate `@hey-api/transformers` plugin.
112112+113113+ ```js
114114+ export default {
115115+ client: '@hey-api/client-fetch',
116116+ input: 'path/to/openapi.json',
117117+ output: 'src/client',
118118+ types: {
119119+ dates: 'types+transform', // [!code --]
120120+ },
121121+ plugins: [
122122+ // ...other plugins
123123+ {
124124+ dates: true, // [!code ++]
125125+ name: '@hey-api/transformers',
126126+ },
127127+ ],
128128+ };
129129+ ```
130130+131131+ ### Removed `types.include` shorthand option
132132+133133+ Previously, you could use a string value as a shorthand for the `types.include` configuration option. You can now achieve the same result using the `include` option.
134134+135135+ ```js
136136+ export default {
137137+ client: '@hey-api/client-fetch',
138138+ input: 'path/to/openapi.json',
139139+ output: 'src/client',
140140+ types: '^MySchema', // [!code --]
141141+ plugins: [
142142+ // ...other plugins
143143+ {
144144+ include: '^MySchema', // [!code ++]
145145+ name: '@hey-api/types',
146146+ },
147147+ ],
148148+ };
149149+ ```
150150+151151+ ### Renamed `types.name` option
152152+153153+ Each plugin definition contains a `name` field. This was conflicting with the `types.name` option. As a result, it has been renamed to `style`.
154154+155155+ ```js
156156+ export default {
157157+ client: '@hey-api/client-fetch',
158158+ input: 'path/to/openapi.json',
159159+ output: 'src/client',
160160+ types: {
161161+ name: 'PascalCase', // [!code --]
162162+ },
163163+ plugins: [
164164+ // ...other plugins
165165+ {
166166+ name: '@hey-api/types',
167167+ style: 'PascalCase', // [!code ++]
168168+ },
169169+ ],
170170+ };
171171+ ```
172172+3173## 0.53.12
41745175### Patch Changes
+1-1
packages/openapi-ts/package.json
···11{
22 "name": "@hey-api/openapi-ts",
33- "version": "0.53.12",
33+ "version": "0.54.0",
44 "description": "🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.",
55 "homepage": "https://heyapi.dev/",
66 "repository": {