From 7115a27f70c59c5e86eb385c0970943b6aef5bb4 Mon Sep 17 00:00:00 2001 From: Taras Mankovski Date: Mon, 4 Dec 2023 18:08:01 -0500 Subject: [PATCH 1/5] Remove templateDir to prevent openapitools from attempting to read it Signed-off-by: Taras Mankovski --- packages/repo-tools/templates/typescript-backstage.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/repo-tools/templates/typescript-backstage.yaml b/packages/repo-tools/templates/typescript-backstage.yaml index eaa72d7179..310a21e75a 100644 --- a/packages/repo-tools/templates/typescript-backstage.yaml +++ b/packages/repo-tools/templates/typescript-backstage.yaml @@ -1,5 +1,3 @@ -templateDir: templates/typescript-backstage - files: api.mustache: templateType: API @@ -15,4 +13,4 @@ files: destinationFilename: apis/index.ts pluginId.mustache: templateType: SupportingFiles - destinationFilename: pluginId.ts \ No newline at end of file + destinationFilename: pluginId.ts From 91e231d34000f22fd133442a5606002157a24b56 Mon Sep 17 00:00:00 2001 From: Taras Mankovski Date: Mon, 4 Dec 2023 18:09:57 -0500 Subject: [PATCH 2/5] Do not use yarn to execute openapi-generator-cli binary Signed-off-by: Taras Mankovski --- .../src/commands/openapi/client/generate.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/repo-tools/src/commands/openapi/client/generate.ts b/packages/repo-tools/src/commands/openapi/client/generate.ts index 5efd4dadd9..8d85e9cd67 100644 --- a/packages/repo-tools/src/commands/openapi/client/generate.ts +++ b/packages/repo-tools/src/commands/openapi/client/generate.ts @@ -36,10 +36,9 @@ async function generate(spec: string, outputDirectory: string) { ); await exec( - // The actual main.js file for the binary isn't executable but yarn does _something_ to make it executable. - // TODO (sennyeya@): Make this use the actual binary - `yarn openapi-generator-cli`, + 'node', [ + resolvePackagePath('@openapitools/openapi-generator-cli', 'main.js'), 'generate', '-i', resolvedOpenapiPath, @@ -62,10 +61,8 @@ async function generate(spec: string, outputDirectory: string) { ], { maxBuffer: Number.MAX_VALUE, - cwd: cliPaths.ownDir, env: { ...process.env, - // PWD: outputDirectory, }, }, ); @@ -74,8 +71,9 @@ async function generate(spec: string, outputDirectory: string) { `yarn backstage-cli package lint --fix ${resolvedOutputDirectory}`, ); - if (cliPaths.resolveTargetRoot('node_modules/.bin/prettier')) { - await exec(`yarn prettier --write ${resolvedOutputDirectory}`); + const prettier = cliPaths.resolveTargetRoot('node_modules/.bin/prettier'); + if (prettier) { + await exec(`${prettier} --write ${resolvedOutputDirectory}`); } fs.removeSync(resolve(resolvedOutputDirectory, '.openapi-generator-ignore')); From 45bfb204231994c896dccebf450c0eaf375df58d Mon Sep 17 00:00:00 2001 From: Taras Mankovski Date: Mon, 4 Dec 2023 18:28:19 -0500 Subject: [PATCH 3/5] Added changeset Signed-off-by: Taras Mankovski --- .changeset/spotty-terms-occur.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/spotty-terms-occur.md diff --git a/.changeset/spotty-terms-occur.md b/.changeset/spotty-terms-occur.md new file mode 100644 index 0000000000..923cd04beb --- /dev/null +++ b/.changeset/spotty-terms-occur.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': patch +--- + +No longer using yarn to execute openapi-generator-cli and prettier in `repo-tools openapi generate-client` From d2ce05b772601a67b695626b9a27ffed620f21d8 Mon Sep 17 00:00:00 2001 From: Taras Mankovski Date: Mon, 4 Dec 2023 19:54:50 -0500 Subject: [PATCH 4/5] Execute openapi-generator-cli from @backstage/repo-tools directory Signed-off-by: Taras Mankovski --- packages/repo-tools/package.json | 3 ++- packages/repo-tools/src/commands/openapi/client/generate.ts | 6 +----- packages/repo-tools/templates/typescript-backstage.yaml | 2 ++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 991dcbd7af..7a7e56d68c 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -87,7 +87,8 @@ "files": [ "bin", "dist/**/*.js", - "templates" + "templates", + "openapitools.json" ], "nodemonConfig": { "watch": "./src", diff --git a/packages/repo-tools/src/commands/openapi/client/generate.ts b/packages/repo-tools/src/commands/openapi/client/generate.ts index 8d85e9cd67..f827f1005f 100644 --- a/packages/repo-tools/src/commands/openapi/client/generate.ts +++ b/packages/repo-tools/src/commands/openapi/client/generate.ts @@ -51,16 +51,12 @@ async function generate(spec: string, outputDirectory: string) { '@backstage/repo-tools', 'templates/typescript-backstage.yaml', ), - '-t', - resolvePackagePath( - '@backstage/repo-tools', - 'templates/typescript-backstage', - ), '--generator-key', 'v3.0', ], { maxBuffer: Number.MAX_VALUE, + cwd: resolvePackagePath('@backstage/repo-tools'), env: { ...process.env, }, diff --git a/packages/repo-tools/templates/typescript-backstage.yaml b/packages/repo-tools/templates/typescript-backstage.yaml index 310a21e75a..cda9a48a76 100644 --- a/packages/repo-tools/templates/typescript-backstage.yaml +++ b/packages/repo-tools/templates/typescript-backstage.yaml @@ -1,3 +1,5 @@ +templateDir: templates/typescript-backstage + files: api.mustache: templateType: API From b3e4e3b60ab69a61128a2281c3df9a4868080d56 Mon Sep 17 00:00:00 2001 From: Taras Mankovski Date: Mon, 4 Dec 2023 19:57:11 -0500 Subject: [PATCH 5/5] Updated changeset Signed-off-by: Taras Mankovski --- .changeset/spotty-terms-occur.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/spotty-terms-occur.md b/.changeset/spotty-terms-occur.md index 923cd04beb..471ba6d0dc 100644 --- a/.changeset/spotty-terms-occur.md +++ b/.changeset/spotty-terms-occur.md @@ -2,4 +2,4 @@ '@backstage/repo-tools': patch --- -No longer using yarn to execute openapi-generator-cli and prettier in `repo-tools openapi generate-client` +Execute `openapi-generator-cli` from `@backstage/repo-tools` directory to force it to use our openapitools.json config file.