openapi-typesafe-migrate 1.0.0-rc.1 → 1.0.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,452 @@
1
+ # openapi-typesafe-migrate
2
+
3
+ ## 1.0.0-rc.11
4
+
5
+ ### Patch Changes
6
+
7
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A generator command appended to a variable that the file does not set before
8
+ (`H+="npx openapi-typescript -it"` in a shell script, `GEN += npx openapi-typescript` in a
9
+ Makefile) is migrated where it is written. Before, it was only reported. The flags after a later
10
+ `$H` are still reported, since the value from outside may start with another program.
11
+
12
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - bun's `trustedDependencies` in package.json is reported when it names an old package, as pnpm's
13
+ `onlyBuiltDependencies` already was.
14
+
15
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - The migration reads the parameters of more CI files as it reads GitHub Actions inputs: CircleCI
16
+ `parameters` with `<< parameters.gen >>`, GitLab `spec: inputs` with `$[[ inputs.gen ]]`, and Azure
17
+ Pipelines template `parameters` with `${{ parameters.gen }}`. A parameter's default is renamed, and
18
+ the old flags after or inside such a reference are reported. Each file kind reads only its own
19
+ parameters, and `${{ inputs['flags'] }}` is read like `${{ inputs.flags }}`. Before, the flags
20
+ after these references were kept without a word, and a GitLab input default was renamed while the
21
+ flags after `$[[ inputs.gen ]]` were not.
22
+
23
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - When a CI file sets a variable to the generator (GitLab `variables`, Compose `environment`,
24
+ CircleCI `environment`, Task `vars`, Azure `variables`, a workflow `env`), the migration now also
25
+ reads the scripts and other command files that expand it (`$GEN api.yaml -it` in
26
+ `scripts/gen.sh`), even when they name no old package, and reports the old flags after `$GEN`
27
+ there. Before, the variable was renamed and those flags were kept without a word.
28
+
29
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - The old flags that a container gives the generator through its command are renamed: a
30
+ Dockerfile `CMD ["api.yaml", "-it"]` after `ENTRYPOINT ["openapi-typescript"]` (also from an
31
+ earlier build stage), a Compose, GitLab or CircleCI `command` after an `entrypoint`, and
32
+ Kubernetes `args` after a `command`. Before, the entrypoint got the new name while the command
33
+ kept `-it`, and the container failed with a removed flag. An entrypoint script that may pass its
34
+ arguments on is reported.
35
+
36
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - The migration renames the `options` of a GitLab CI variable together with its `value`, and reads
37
+ each option as a value the variable can have. Before, only the value was renamed, so it was no
38
+ longer one of the options and GitLab rejected the pipeline.
39
+
40
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A YAML file that a Taskfile `includes`, a GitLab CI `include: local:` or an Azure Pipelines
41
+ `template:` names is now migrated as a file of the kind that includes it, whatever its name: its
42
+ `cmds`, `variables`, `$(gen)` macros and inputs are read as there. GitLab `*` and `**` patterns
43
+ are followed, and so are the files that included files include. Before, such a file was read as
44
+ plain YAML, and the report could say there was nothing to migrate.
45
+
46
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A Makefile call of a function with a hyphen in its name, such as
47
+ `$(filter-out x,npx openapi-typescript)`, is reported when its arguments name an old package.
48
+ Before, the file was neither changed nor reported ("Nothing to migrate").
49
+
50
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A shell variable whose value is written with a backslash or in several quoted parts
51
+ (`GEN=npx\ openapi-typescript`, `GEN="npx "openapi-typescript`) now gets the new generator name
52
+ too. Before, the flags after `$GEN` were renamed while the value kept `openapi-typescript`, and the
53
+ report said nothing about it.
54
+
55
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A variable that a step, a job or a stage written as a list item sets (an Azure Pipelines or
56
+ GitHub Actions step `env`, an Azure stage's `variables`) now counts for the commands of that item
57
+ only. Before, it counted for the whole file, so the flags after `$GEN` in another step were
58
+ renamed although `GEN` was not set there.
59
+
60
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A command line passed to a program as a variable is migrated:
61
+ `cross-env GEN="npx openapi-typescript -it" node gen.js`, `env GEN="…" make` and
62
+ `$(MAKE) -C api GEN="…"` get the new generator name and flags. A one-word value that names an
63
+ old package (`make GEN=openapi-typescript`) is reported. Before, both were left without a word.
64
+
65
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A command that runs the old generator from a Windows folder outside the project
66
+ (`C:\tools\openapi-typescript a.yaml`) is reported, as a POSIX path such as
67
+ `/usr/local/bin/openapi-typescript` already was.
68
+
69
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - The migration reads the command line of an exec-form shell in a YAML file as shell text:
70
+ `command: ["sh", "-c", "…"]` in a Compose file, and a Kubernetes `command: ["/bin/sh", "-c"]`
71
+ with the script in `args`. A Compose `entrypoint` list and `command` list, and a Kubernetes
72
+ `command` list and `args` list, are read as one command, and Compose's `$$GEN` is read as the
73
+ service's `$GEN`. Before, the generator and its old flags in these commands were kept without a
74
+ word, or `$GEN` was renamed while the flags after `$$GEN` were not.
75
+
76
+ - [#134](https://github.com/openapi-typesafe/openapi-typesafe/pull/134) [`e6bbda7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e6bbda77200c0888c387ec32b8fe6d774a071aeb) Thanks [@fedorello](https://github.com/fedorello)! - A renamed dependency whose spec is Yarn's `npm:` protocol with a bare range
77
+ (`"openapi-fetch": "npm:^0.13.0"`) gets the new version after the same protocol
78
+ (`"openapi-typesafe-fetch": "npm:^1.0.0"`). Before, it kept the old range, which no version of
79
+ the new package matches, and the report asked to fix it by hand.
80
+
81
+ ## 1.0.0-rc.10
82
+
83
+ ### Patch Changes
84
+
85
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - Old flags appended to a variable that holds the generator are renamed: a Makefile `GEN += -it`,
86
+ a shell `G+=" -it"` and a justfile `"npx openapi-typescript" + " -it"`. A Makefile value that `+=`
87
+ starts after an empty one (`CMD =`, then `CMD += npx openapi-typescript`) runs the generator, so
88
+ the flags after `$(CMD)` are renamed too. Where the variable may also run another program, the
89
+ appended flags are listed as a manual step. Before, they were kept without a word, and the
90
+ migrated command failed with an unknown flag.
91
+
92
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - The generator set in Azure Pipelines `variables` is migrated, as in a workflow `env`: a map, or a
93
+ list of `- name: … / value: …` items, in `azure-pipelines.yml`, `*.azure-pipelines.yml`,
94
+ `azure-pipelines-*.yml` and the files of `.azure-pipelines/` and `.azuredevops/`. A script that
95
+ runs it as `$(gen)`, `${{ variables.gen }}`, `$GEN` or `${GEN}` gets the flags after it renamed.
96
+ A GitLab CI list item with a `value` key under `variables` is no longer read as a variable.
97
+
98
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - The generator set in the variables of more files is migrated, as in a workflow `env`: GitLab CI
99
+ `variables` (also `{ value: … }`), CircleCI, Drone and Woodpecker `environment`, Docker Compose
100
+ `environment` (a map or `NAME=value` items), and Taskfile `vars` and `env`. A Taskfile command
101
+ that names a variable as `{{.GEN}}` gets the flags after it renamed, as after `$GEN`. Before,
102
+ these values kept the old name, and the report could say that nothing was found.
103
+
104
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - Old flags that a workflow step gets from an input are listed as a manual step in more forms:
105
+ `${{ github.event.inputs.flags }}`, an `env` value `FL: ${{ inputs.flags }}` used as `$FL`, and a
106
+ literal in an expression (`${{ inputs.flags || '-it' }}`). The flags after a shell default around
107
+ an input (`${GEN:-${{ inputs.gen }}} e.yaml -it`) and after a shell default for a variable the
108
+ file does not set (`${GEN:-mytool}`) are listed too. Before, these were kept without a word.
109
+
110
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - A Kubernetes container `env` item whose value names an old package
111
+ (`- name: GEN / value: npx openapi-typescript`) is now listed in the report as a step to do by
112
+ hand. No shell reads such a value, so the tool does not change it. Before, it was not reported.
113
+
114
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - The generator inside a Makefile `$(strip …)` is renamed, as inside `$(or …)` and `$(if …)`. A call
115
+ of any other make function whose arguments name an old package (`$(firstword npx
116
+ openapi-typescript)`, `$(call …)`, `$(shell …)`) is listed as a manual step. Before, such a call
117
+ kept the old name, and the report could say that nothing was found.
118
+
119
+ - [#126](https://github.com/openapi-typesafe/openapi-typesafe/pull/126) [`06e4e2b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/06e4e2b3a54a9bd93bf79a8949ec3c9a7be5cec8) Thanks [@fedorello](https://github.com/fedorello)! - The generator bin given by a Windows path without a suffix (`node_modules\.bin\openapi-typescript`,
120
+ which cmd.exe runs as the `.cmd` file) is renamed to `node_modules\.bin\openapi-typesafe`, and the
121
+ old flags after it are renamed. Before, the script was kept as it was and not reported, so it
122
+ called a bin that the migration had removed.
123
+
124
+ ## 1.0.0-rc.9
125
+
126
+ ### Patch Changes
127
+
128
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - A shell default around a GitHub Actions expression (`${GEN:-${{ inputs.gen || 'npx
129
+ openapi-typescript' }}} api.yaml`, also with `:+`, `:=` and in `G=${G:-…}`) is migrated: the old
130
+ name in it is renamed once, and old flags after it are listed as a manual step. Before, the tool
131
+ skipped the whole file with "edits overlap" and exited with `1`. A report whose only findings were
132
+ in such a skipped file no longer also says "Nothing to migrate".
133
+
134
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - Old flags in the default of an action or workflow input (`inputs.flags.default: --immutable-types`)
135
+ are listed as a manual step where a command gets them as `${{ inputs.flags }}`, as for an `env`
136
+ value used as `$FLAGS`. Before, they were not reported, and the migrated step failed.
137
+
138
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - Old flags in an exported justfile variable are listed as a manual step where a recipe line uses it
139
+ as a shell variable: `export FLAGS := "-it"` used as `$FLAGS`, a parameter `$OPTS="-it"` used as
140
+ `$OPTS`, and every variable with `set export`. Before, only `{{flags}}` was reported, and the
141
+ migrated recipe failed.
142
+
143
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - The old generator inside a make function is renamed: `$(or $(GEN),npx openapi-typescript)`,
144
+ `$(if $(GEN),$(GEN),npx openapi-typescript)` and `$(and …)`, in a recipe line or in a variable's
145
+ value. The function may give another program, so old flags after it are still listed as a manual
146
+ step. Before, the old name stayed, and with no flags after it the report said "Nothing to migrate".
147
+
148
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - The migration keeps the old flags after a variable whose program is decided when the job runs,
149
+ and lists them as a manual step: a workflow `env` set by an expression
150
+ (`GEN: ${{ vars.GEN || 'npx openapi-typescript' }}` or `GEN: ${{ vars.GEN }}`, used as `$GEN`), a
151
+ Makefile `GEN ?= npx openapi-typescript`, which the environment can override, and a Makefile value
152
+ that make computes (`GEN := $(or $(X),npx openapi-typescript)`). Before, the flags after `$GEN`
153
+ were renamed without a word, or kept without a word, though `$GEN` may run another program.
154
+
155
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - A `transform` that returns an array of a one-member union (`createArrayTypeNode(
156
+ createUnionTypeNode([DATE_OR_NULL]))`, where `DATE_OR_NULL` is `Date | null`) is rewritten to
157
+ `"(Date | null)[]"`. Before, the parentheses were lost and the type text was `"Date | null[]"`, a
158
+ different type that still compiled.
159
+
160
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - The generator bin written with a Windows suffix is migrated: `openapi-typescript.cmd`,
161
+ `openapi-typescript.ps1`, `openapi-typescript.exe` and `node_modules\.bin\openapi-typescript.cmd`
162
+ become the same names of `openapi-typesafe`, and the old flags after them are renamed. Before, they
163
+ were neither changed nor reported, so the script called a bin that the migration had removed.
164
+
165
+ - [#116](https://github.com/openapi-typesafe/openapi-typesafe/pull/116) [`600dd3a`](https://github.com/openapi-typesafe/openapi-typesafe/commit/600dd3afd7148146a4ec06c9400dae98a17ef3e1) Thanks [@fedorello](https://github.com/fedorello)! - Commands that a YAML anchor shares are migrated where they are written, when an alias uses them
166
+ under a command key: a GitLab `.gen_scripts: &gen_scripts` list used as
167
+ `script: [*gen_scripts]`, an anchored `env` map, a Taskfile command. Before, such a file was
168
+ neither changed nor reported ("Nothing to migrate"), and the job kept running the old generator.
169
+
170
+ ## 1.0.0-rc.8
171
+
172
+ ### Patch Changes
173
+
174
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - When a bug of the tool would corrupt one file, only that file is left as it was: the report lists
175
+ it under "Skipped" with the reason and asks you to migrate it by hand, the other files are still
176
+ migrated (and written with `--write`), and the command exits with `1`. Before, such a bug stopped
177
+ the whole run and nothing was migrated.
178
+
179
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A CircleCI job now takes the `shell` of the executor it names (`executor: py` with
180
+ `executors.py.shell: /usr/bin/python3`), so the Python code of its steps is no longer rewritten as
181
+ a command line; a step that names an old package is listed as a manual step. The job's own `shell`
182
+ still wins.
183
+
184
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A Dockerfile `ARG` or `ENV` whose value has a shell default, such as
185
+ `ENV GEN=${GEN:-npx openapi-typescript}`, no longer stops the whole migration with "Edits overlap"
186
+ and exit code 1: the default is renamed once, like any other `ARG` or `ENV` value.
187
+
188
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A GitLab CI job named `openapi`, `swagger`, `asyncapi`, `overlay` or `arazzo` no longer makes the
189
+ whole `.gitlab-ci.yml` count as an API description, so its commands are migrated again. A YAML file
190
+ counts as an API description only when such a top-level key holds a version (`openapi: 3.1.0`), and
191
+ a CI config (`.gitlab-ci.yml`, a GitHub workflow, a CircleCI config, …) never does.
192
+
193
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - Old flags in a justfile recipe parameter default (`b *flags='-it':` with `{{gen}} f.yaml
194
+ {{flags}}`) are now reported, like the flags of a `flags := '-it'` variable. Before, the run failed
195
+ later with `CLI_FLAG_REMOVED`.
196
+
197
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A Makefile command that make computes, such as `$(or $(GEN),npx openapi-typescript) b.yaml -it`,
198
+ is now reported with the text you wrote. Before, the report showed a row of underscores instead.
199
+
200
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A path that names the `node_modules` folder of an old package itself (`"paths": { "a":
201
+ ["./node_modules/openapi-fetch"] }` in a tsconfig, or an import of `../node_modules/openapi-fetch`)
202
+ is now reported, like a path to a file inside it.
203
+
204
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - Options passed to `openapiTS()` that take keys from another object (`{ ...base }`) are now checked
205
+ for legacy callbacks. When the file writes that object (`...{ transform }` or `const base = { … }`),
206
+ its `transform`, `postTransform` and `transformProperty` are listed as manual steps; a spread of an
207
+ object the tool cannot read (an import, a call) is listed too, so you can check it. Before, such
208
+ options were not reported at all.
209
+
210
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A justfile recipe whose first line is a shebang for another program (`#!/usr/bin/env python3`), and
211
+ code given on the command line (`python3 -c '…'`, `node -e "…"`, `ruby -e '…'`), are no longer
212
+ read as shell commands. When such code names an old package, it is listed as a manual step
213
+ ("the script runs with python3, …"); before, it was neither changed nor reported, or a command
214
+ line inside it was rewritten.
215
+
216
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A rewritten `transform` whose type is declared outside the function now compiles: a TypeScript
217
+ node type in the type of its `const` (`const transform: (s: SchemaObject) => ts.TypeNode`), in a
218
+ JSDoc `@type` or in a JSDoc `@returns` becomes `string`, like the returns. Before, that type stayed
219
+ and the file no longer compiled. A declared type the tool cannot map, such as a local alias, keeps
220
+ the `transform`, which is listed as a manual step.
221
+
222
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - A launcher or install command written with its Windows file suffix (`npx.cmd openapi-typescript`,
223
+ `pnpm.exe exec …`, `npm.ps1 i openapi-fetch`) is now migrated like `npx`, `pnpm` and `npm`.
224
+ Before, the old name after it was only reported.
225
+
226
+ - [#107](https://github.com/openapi-typesafe/openapi-typesafe/pull/107) [`173c82c`](https://github.com/openapi-typesafe/openapi-typesafe/commit/173c82c24fb8d59a5e3d4894596391dd48f2608f) Thanks [@fedorello](https://github.com/fedorello)! - The migration renames the old generator in GitHub Actions expressions again, such as
227
+ `run: ${{ inputs.generator || 'npx openapi-typescript' }} api.yaml` and
228
+ `npx ${{ inputs.pkg || 'openapi-typescript' }}`, and in input defaults of an `action.yml` or a
229
+ reusable workflow (`default: npx openapi-typescript`). The value of an expression comes from the
230
+ run, so old flags after it are listed as a manual step. Before, these places were neither changed
231
+ nor reported, and npx ran the old package after the migration.
232
+
233
+ ## 1.0.0-rc.7
234
+
235
+ ### Patch Changes
236
+
237
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - A CI script now runs with the shell that CI gives it: the step's own `shell`, then the job's and
238
+ the workflow's `defaults.run.shell` in GitHub Actions, or the job's `shell` in CircleCI. A Python
239
+ or Node script under such a default is left and reported instead of rewritten as shell, and
240
+ `shell: /usr/bin/env bash -e {0}`, `shell: msys2 {0}` and `shell: wsl-bash {0}` are read as bash
241
+ again, so their commands are migrated.
242
+
243
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - A rewritten `transform` in options of a `const` without a type (`const options = { transform }`)
244
+ now gets `irCallbacks: true as const` (in JavaScript, `/** @type {const} */ (true)`): a plain
245
+ `true` became `boolean` there, and the `openapiTS` call stopped compiling (TS2769). The option is
246
+ also written before the JSDoc of `transform`, which stays with `transform`.
247
+
248
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - An import that a JSDoc comment still names (`@param {ts.TypeNode} node`, `{@link ts.factory}`) is
249
+ no longer removed with the rewritten `transform` returns. In a checked JavaScript file the type
250
+ stopped resolving (TS2503).
251
+
252
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - A justfile variable set by an expression (`gen := env_var_or_default("GEN", "npx
253
+ openapi-typescript")`, an `if … { … } else { … }`), a recipe parameter default
254
+ (`types gen="npx openapi-typescript":`) and a string in an interpolation get the new generator
255
+ name again; they kept the old one without a word, and `npx` then downloaded the old generator.
256
+ Such a value can also be another program, so the old flags after `{{gen}}` are reported.
257
+
258
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - A local package under an old name in a workspace root (`"openapi-fetch": "file:./vendor/…"`) no
259
+ longer keeps the imports of a workspace package that declares the npm package itself. The
260
+ nearest manifest that declares the name decides, as Node resolves it: that package's dependency
261
+ and its imports now both get the new name.
262
+
263
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - The migration now renames the old generator inside a shell default value, such as
264
+ `${GEN:-npx openapi-typescript}`, `: "${GEN:=npx openapi-typescript}"` or
265
+ `npx ${PKG:-openapi-typescript}`. Before, these commands kept the old name and npx quietly ran the
266
+ old package. The variable can still be set to another program outside the file, so the flags after
267
+ such a default are listed as a manual step instead of being changed.
268
+
269
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - The files of a split API description (`components/schemas/Job.yaml`, reached by `$ref` from
270
+ `openapi.yaml` or `openapi.json`) and OpenAPI Overlay and Arazzo documents are data now, like the
271
+ API description itself: their example `command` and `script` values are no longer rewritten, so
272
+ the change no longer reaches the generated comments.
273
+
274
+ - [#101](https://github.com/openapi-typesafe/openapi-typesafe/pull/101) [`7b4ba3f`](https://github.com/openapi-typesafe/openapi-typesafe/commit/7b4ba3f783c16e506d4c9afbfe6392b1e820b1e4) Thanks [@fedorello](https://github.com/fedorello)! - The migration now lists the old flags after a variable that runs a command when it cannot see
275
+ where the variable is set: in another GitLab `script` item, through `$GITHUB_ENV` in an earlier
276
+ step, as `$$GEN` in a Makefile recipe, as a bash array run with `"${GEN[@]}"`, or outside the
277
+ file. Before, flags like `-it` after such a variable were kept without a word, and the new
278
+ generator then stopped with an unknown flag. The items of a bash array are now renamed too.
279
+
280
+ ## 1.0.0-rc.6
281
+
282
+ ### Patch Changes
283
+
284
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - An OpenAPI, Swagger or AsyncAPI document in YAML is no longer changed: an example value under a
285
+ `command` or `script` key that mentions the generator stays as written.
286
+
287
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - `openapi-typesafe-migrate | head` (or any reader that closes the pipe early) no longer crashes with
288
+ an `EPIPE` stack trace and exit code 1: the rest of the report is dropped and the run ends as it
289
+ would have.
290
+
291
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A constant or an import that an `export { … }` list names is no longer removed with the old
292
+ `transform` returns, so the file still compiles.
293
+
294
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - An exported function that `transform` names is no longer rewritten: other modules may call it
295
+ and expect TypeScript nodes. It is kept and reported as a manual step, like options that other
296
+ code uses.
297
+
298
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A justfile variable that holds the generator (`gen := "npx openapi-typescript"`) now has its old
299
+ flags renamed where it runs: `{{gen}} api.yaml -it` kept `-it`. A variable of old flags that the
300
+ generator gets (`{{flags}}`) is reported.
301
+
302
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A dependency under an old name on a local package (`workspace:*`, `link:`, `file:`, `portal:`),
303
+ such as a fork named `openapi-fetch` in the workspace, is no longer renamed: the new name pointed
304
+ at a package the workspace does not have, and the install failed. The dependency and the imports
305
+ of it keep their name, and the report lists it as a manual step.
306
+
307
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A CI step whose `shell` is another program (`shell: python` in GitHub Actions, or a CircleCI
308
+ `shell` next to `command`) runs code of that language, not commands. Its script is now left as it
309
+ is and reported when it names an old package; it was skipped without a word.
310
+
311
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A shell variable that holds the generator is migrated now. A script, a CI `run` block or a
312
+ `package.json` script that sets `GEN="npx openapi-typescript"` (also after `export`, `local` or
313
+ `readonly`) and then runs `$GEN api.yaml -it` was left as it was, and nothing was reported, so
314
+ the build went on downloading the old generator. The value is renamed where it is set and the
315
+ flags after `$GEN` where it runs, and a variable of old flags that the generator gets is reported.
316
+
317
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - Once `openapi-fetch` is aliased to `openapi-typesafe-fetch` in the overrides (as the docs ask for
318
+ swr-openapi), the report no longer says to update that override or to add the alias again, so a
319
+ second run is clean. The alias counts in the `package.json` itself and in a workspace above it.
320
+
321
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - A path in the `typesVersions` of `package.json` into the installed files of an old package
322
+ (`node_modules/openapi-fetch/dist/index.d.ts`) is reported, as such paths in a tsconfig are: the
323
+ new package has its own files there.
324
+
325
+ - [#93](https://github.com/openapi-typesafe/openapi-typesafe/pull/93) [`25f631d`](https://github.com/openapi-typesafe/openapi-typesafe/commit/25f631d8dabed24e18a859b08e8395496e145118) Thanks [@fedorello](https://github.com/fedorello)! - The `command` of a wireit script in `package.json` is migrated like the other scripts. It was
326
+ neither changed nor reported.
327
+
328
+ ## 1.0.0-rc.5
329
+
330
+ ### Patch Changes
331
+
332
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - A module specifier with a bundler query (`"openapi-fetch?url"`, `"openapi-fetch/x.js?raw"`) gets the
333
+ new package name and keeps its query. Before, a query right after the package name hid the package,
334
+ and the specifier was left as it was.
335
+
336
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - A `catalog:` dependency whose catalog entry is not in the project (`--root packages/api` of a pnpm
337
+ workspace) keeps its name and is reported as a manual step: the entry above the root cannot be
338
+ renamed, and renaming only the dependency failed the install with
339
+ `ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC`. At a workspace root, where no catalog is above, such a
340
+ dependency is reported as one whose entry is missing. `catalog: ` with a space is the default
341
+ catalog, as pnpm reads it.
342
+
343
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The generator is renamed after more programs that run it: `nice`, `timeout`, `xargs`, `command`,
344
+ `exec -a`, `dotenvx run --`, `doppler run --`, `nx exec --`, `yarn workspace <name>`, a bare `bun`,
345
+ `corepack`, and `tsx` or `ts-node` before the path of its binary; `yarn global add` renames its
346
+ packages. Any other word of a command that names an old package or a path to its binary (a
347
+ script name after `npm run`, an argument of an unknown program, `$(npm bin)/openapi-typescript`)
348
+ is reported as a manual step. Such commands were left without a word, and
349
+ `dotenvx run -- npx openapi-typescript` kept downloading the old generator.
350
+
351
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The body of a here-document (`<<NOTE`, `<<'NOTE'`, `<<-NOTE`) is read as data in scripts, `run: |`
352
+ blocks and Dockerfiles: an apostrophe in it (`Don't edit`) opened a quote to the end of the file,
353
+ and no command after it was migrated. A here-document that a shell runs (`bash <<EOF`,
354
+ Dockerfile `RUN <<EOF` and `RUN <<EOT bash`, `cat <<EOF | sh`) is read as the script it is, so its
355
+ commands are migrated. A shift in an arithmetic expansion (`$((1 << 2))`) is not a here-document.
356
+
357
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - When `transform` is rewritten to type text with `irCallbacks: true`, the options declared with
358
+ `OpenAPITSOptions` (`const options: OpenAPITSOptions`, `satisfies` or `as OpenAPITSOptions`, a
359
+ `transform` const typed `OpenAPITSOptions["transform"]`) name `OpenAPITSIrOptions` instead, with its
360
+ import; the rewritten file did not compile. Options typed with a type built from `OpenAPITSOptions`
361
+ (`Partial<OpenAPITSOptions>`) keep their `transform`, reported as a manual step. The type is found
362
+ in the other forms it is written in too: `import("openapi-typescript").OpenAPITSOptions`, a local
363
+ alias or an interface that extends it, and the JSDoc `@type` and `@satisfies` of a JavaScript file.
364
+ Options that take keys from another object (`{ ...base, transform }`) keep their `transform`,
365
+ reported as a manual step: the tool cannot see the callbacks and type of `base`. A `transform`
366
+ written as a shorthand property (`{ transform }`) is rewritten too.
367
+
368
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The Jest patterns that name an old package (`moduleNameMapper: { "^openapi-fetch$": … }`,
369
+ `transformIgnorePatterns`) are reported as manual steps, in `jest.config.*` files and in the `jest`
370
+ field of `package.json`. A pattern is not a module specifier, so the tool does not change it. A
371
+ value of a JSON config that is just a package name (`"^@api$": "openapi-fetch"`) is reported too;
372
+ a string of a config script that names a package (`"openapi-fetch/$1"`) is reported once.
373
+
374
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The `import` and `export` blocks of `.mdx` files are migrated like those of a source file. Prose and
375
+ code fences of the page stay as written.
376
+
377
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - More files that run the generator are migrated:
378
+ - Task's `Taskfile.yml` (`cmds`, `cmd`, `sh`, `status`, `defer`, `preconditions`);
379
+ - pre-commit's `.pre-commit-config.yaml`: the `entry` and `args` of a hook as one command, and the
380
+ old packages in `additional_dependencies`;
381
+ - the `simple-git-hooks`, `lint-staged` and `nx.targets` commands of `package.json` and
382
+ `package.yaml`;
383
+ - `.lintstagedrc` (JSON or YAML), `.lintstagedrc.json`, `.lintstagedrc.yaml`, `.simple-git-hooks.json`;
384
+ - the `targetDefaults` commands of `nx.json`, and the commands of Nx `configurations`.
385
+
386
+ A YAML command written with escapes (`"openapi-typescript \"$SPEC\""`) is migrated by its value,
387
+ and the whole string is written again with its escapes.
388
+
389
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The import map file that a Deno config names (`"importMap": "./deps.json"`) is migrated like
390
+ `import_map.json`, and its imports count as declared for the files under that config. An import map
391
+ named by a URL or by a path outside the project is reported as a manual step.
392
+
393
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - An import of a path into the installed files of an old package
394
+ (`"../node_modules/openapi-fetch/dist/index.js"`) is reported as a manual step: the old package is no
395
+ longer installed after the migration, so the path stops resolving.
396
+
397
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - A patch file of an old package (patch-package `patches/openapi-fetch+0.13.0.patch`, pnpm
398
+ `openapi-fetch@0.13.0.patch`, Yarn `openapi-fetch-npm-0.13.0-<hash>.patch`) is reported as a manual
399
+ step: the new package has other code, so the patch cannot be carried over.
400
+
401
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - Every package manager setting that names an old package is reported as a manual step, not only
402
+ `overrides` and `patchedDependencies`: `packageExtensions`, `allowedDeprecatedVersions`,
403
+ `onlyBuiltDependencies` and the rest, in `pnpm-workspace.yaml`, in the `pnpm` field of
404
+ `package.json` and in `.yarnrc.yml`. Values count too (`"x": "npm:openapi-fetch@0.13.0"` in
405
+ `overrides`). A setting under the `pnpm` field is reported by its own key (`pnpm.overrides`).
406
+
407
+ - [#66](https://github.com/openapi-typesafe/openapi-typesafe/pull/66) [`15344bf`](https://github.com/openapi-typesafe/openapi-typesafe/commit/15344bfb803ff9872a6d3f79b8279fbbbbfd14ea) Thanks [@fedorello](https://github.com/fedorello)! - The report shows control characters of file names and project text as escapes (`\n`, `\u001b`),
408
+ so a file name cannot forge CI commands or erase the lines before it.
409
+
410
+ - [#69](https://github.com/openapi-typesafe/openapi-typesafe/pull/69) [`1296bd7`](https://github.com/openapi-typesafe/openapi-typesafe/commit/1296bd79e83c39598a471b9bfabf34ffcd71a83e) Thanks [@fedorello](https://github.com/fedorello)! - The targets of Node subpath imports in `package.json` (`"imports": { "#client": "openapi-fetch" }`,
411
+ also under conditions and fallback lists) get the new package names, so they still resolve once the
412
+ dependencies are renamed. So do the keys and values of the `browser` field
413
+ (`"browser": { "openapi-fetch": false }`). A target or `browser` key that reaches into a file of
414
+ the package is reported as a manual step.
415
+
416
+ - [#77](https://github.com/openapi-typesafe/openapi-typesafe/pull/77) [`decc2e2`](https://github.com/openapi-typesafe/openapi-typesafe/commit/decc2e2ae056f8a9b191d7f838056487760df530) Thanks [@fedorello](https://github.com/fedorello)! - `tsconfig.json`, `tsconfig.*.json` and `jsconfig.json` are migrated: the `compilerOptions.paths`
417
+ keys of an old package (`"openapi-fetch"`, `"openapi-fetch/*"`) and its name in
418
+ `compilerOptions.types` get the new names, so the paths still match the renamed imports. A path into
419
+ `node_modules` of an old package is reported as a manual step.
420
+
421
+ ## 1.0.0-rc.4
422
+
423
+ No changes in this release.
424
+
425
+ ## 1.0.0-rc.3
426
+
427
+ No changes in this release.
428
+
429
+ ## 1.0.0-rc.2
430
+
431
+ No changes in this release.
432
+
433
+ ## 1.0.0-rc.1
434
+
435
+ No changes in this release.
436
+
437
+ ## 1.0.0-rc.0
438
+
439
+ ### Minor Changes
440
+
441
+ - [`730de95`](https://github.com/openapi-typesafe/openapi-typesafe/commit/730de95d814cf9b1ec70d2b8fac6b84b17106a29) Thanks [@fedorello](https://github.com/fedorello)! - New package `openapi-typesafe-migrate`: run `npx openapi-typesafe-migrate` in a project to move it from openapi-typescript, openapi-fetch, openapi-react-query and openapi-typescript-helpers. It renames the packages in `package.json` files and pnpm catalogs, module specifiers in sources, and the generator command and its renamed flags in scripts, CI files and Makefiles. A legacy `transform` callback that returns plain `ts.factory` types is rewritten to return type text with `irCallbacks: true`. Everything it cannot change safely is listed as a manual step. It only reports until you add `--write`, and logs every finding to a JSON Lines file.
442
+
443
+ ### Patch Changes
444
+
445
+ - [`e57d12b`](https://github.com/openapi-typesafe/openapi-typesafe/commit/e57d12b11b023258100cbabc5cac1d276ba5ae1f) Thanks [@fedorello](https://github.com/fedorello)! - `--help` lists the exit codes: `0` done, `1` the migration failed, `2` unknown option or argument.
446
+
447
+ - [`f0a93e4`](https://github.com/openapi-typesafe/openapi-typesafe/commit/f0a93e4094b3c69dfa8aeb229339f7d622f5cb06) Thanks [@fedorello](https://github.com/fedorello)! - The report now names only the package an override key targets: `openapi-typescript-helpers` no
448
+ longer also reports `openapi-typescript`, and `app>openapi-fetch`, `**/openapi-fetch` and
449
+ `openapi-fetch@0.13` keys are read as `openapi-fetch`. `overrides:` and `patchedDependencies:` in
450
+ `pnpm-workspace.yaml` that name an old package are reported like those of `package.json`; before,
451
+ they were neither rewritten nor reported. The output folders `.next`, `.nuxt`, `.output`,
452
+ `.svelte-kit`, `.turbo` and `coverage` are skipped like `dist`.
package/LICENSE CHANGED
@@ -1,6 +1,5 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 Drew Powers
4
3
  Copyright (c) 2026 Fedor Chishchin and openapi-typesafe contributors
5
4
 
6
5
  Permission is hereby granted, free of charge, to any person obtaining a copy