OpenAPITools / OpenAPITools/openapi-generator-cli
Reading of config not working with yarn on Windows
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 208
- Avg merge
- 7h 12m
- Merged PRs (30d)
- 6
Description
When running openapi-generator-cli generate with yarn (with the below defined script from package.json) it will ignore my openapitools.json, but it works if npm run is used instead. The effect of this is that different team members can get different versions of the cli.
This issue seems to be related to how the root of the project is fetched to find the config file, depending on if yarn or npm is used. In the case of yarn it will get a path like /d/{my_project_path} and after using path.resolve on the path the resulting config file path will be D:\d\{my_project_path}, which will not work of course.
I have tracked the problem to this issue and this commit where the added default process.env.PWD will generate the above issue, while process.env.INIT_CWD and process.cwd() would have given a correct path. After removing process.env.PWD from the node_modules instance the config is read correctly in yarn.
Is this to be considered a bug? Or does it exist a work around other than using npm instead of yarn?
openapitools.json:
{
"$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "5.4.0"
}
}
package.json (exerpt):
"scripts": {
"generate": "openapi-generator-cli generate --input-spec ./swagger.json --generator-name typescript-fetch --output ./output --additional-properties modelPropertyNaming=original,typescriptThreePlus=true",
}
- command:
yarn openapi-generator-cli generatein project root - CLI version:
2.4.26 - yarn:
1.22.4 - node:
14.19.0 - OS:
Windows server 2016
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing yarn openapi-generator-cli generate from the project root on Windows Server 2016 with CLI 2.4.26, then inspect the config-root lookup that uses process.env.PWD. Compare it with process.env.INIT_CWD and process.cwd() and verify that openapitools.json is found and its configured generator version is used under Yarn without changing npm behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, openapi, typescript
- Domain
- backend, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100