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 +452 -0
- package/LICENSE +0 -1
- package/README.md +249 -23
- package/dist/cli/main.mjs +6804 -546
- package/dist/cli/main.mjs.map +1 -1
- package/package.json +6 -4
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`.
|