Skip to content

feat(openapi): generator of an openapi extension project#3800

Open
kpanot wants to merge 1 commit intomainfrom
feature/openapi-extension-generator
Open

feat(openapi): generator of an openapi extension project#3800
kpanot wants to merge 1 commit intomainfrom
feature/openapi-extension-generator

Conversation

@kpanot
Copy link
Copy Markdown
Contributor

@kpanot kpanot commented Dec 10, 2025

Proposed change

feat(openapi): generator of an openapi extension project

Related issues

- No issue associated -

@kpanot kpanot requested a review from a team as a code owner December 10, 2025 10:25
@nx-cloud
Copy link
Copy Markdown
Contributor

nx-cloud bot commented Dec 10, 2025

View your CI Pipeline Execution ↗ for commit dbfdd6f

Command Status Duration Result
nx run-many --target=test-e2e ✅ Succeeded 2m 10s View ↗
nx run-many --tui=false --target=build --projec... ✅ Succeeded 1s View ↗
nx run-many --target=build,build-swagger ✅ Succeeded 16m 3s View ↗
nx affected --target=lint --configuration ci ✅ Succeeded 15m 22s View ↗
nx affected --target=test --collectCoverage --c... ✅ Succeeded 5m 7s View ↗
nx run ama-sdk-schematics:build-swagger ✅ Succeeded 2m 29s View ↗
nx run-many --target=documentation ✅ Succeeded 1m 32s View ↗
nx affected --target=package-github-action ✅ Succeeded 2m 2s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-14 03:55:53 UTC

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.16%. Comparing base (057863d) to head (dbfdd6f).
✅ All tests successful. No failed tests found.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@guilhermevrs
Copy link
Copy Markdown

We are approaching 2026 and still I don't see tests in your PRs 🥲

@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from c9a2d2b to 20b47fa Compare December 16, 2025 02:39
@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from 20b47fa to f9dabff Compare December 17, 2025 03:10
@kpanot kpanot force-pushed the feature/openapi-extension-generator branch 2 times, most recently from 10bc1ce to af584a0 Compare January 4, 2026 14:33
@kpanot
Copy link
Copy Markdown
Contributor Author

kpanot commented Jan 4, 2026

@guilhermevrs I am so happy to still seeing you doing my code review in 2026 :D, I wish you a very happy new year :).
Do not worry for the tests, the 3 initializers are already planned to be IT tested when finalized and fully aligned with the requirement from the teams using it.

@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from af584a0 to c70dbed Compare January 4, 2026 14:44
@kpanot kpanot force-pushed the feature/openapi-extension-generator branch 2 times, most recently from b9fe5a0 to 9c86e5b Compare January 4, 2026 15:55
@kpanot kpanot force-pushed the feature/openapi-extension-generator branch 2 times, most recently from b603a1d to 0dfb73c Compare February 17, 2026 07:14
# Ama OpenAPI Create extension

> [!WARNING]
> [Experimental](https://github.com/AmadeusITGroup/otter/blob/main/README.md#experimental): This package is available in early access, it will be part of the v14 release.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how to understand this. Does it mean it will no longer be experimental in v14? If so, why even mention it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy past from other package, I will update this one and the other in a separated PR

"eslint-plugin-jest": "~29.12.0",
"eslint-plugin-jsdoc": "~61.7.0",
"eslint-plugin-jest": "~29.2.0",
"eslint-plugin-jsdoc": "~54.7.0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably a mistake?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nop, it is applied by the harmonizer and seems aligned with the other deps

@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from 0dfb73c to 04c8be0 Compare February 17, 2026 07:31
@kpanot kpanot force-pushed the feature/openapi-extension-generator branch 2 times, most recently from 1b6824f to 792a782 Compare February 17, 2026 07:45
nx-cloud[bot]

This comment was marked as outdated.

@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from 792a782 to e87a9a0 Compare February 17, 2026 08:08
Copy link
Copy Markdown
Contributor

@nx-cloud nx-cloud bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ The fix was rejected

We fixed the TypeScript compilation error by changing the rootDir from "." to "./src" in the tsconfig.build.json file. This ensures TypeScript only compiles source files within the src directory and uses type definitions from workspace dependencies without attempting to compile their source files, which was causing the TS6059 and TS6307 errors.

Tip

We verified this fix by re-running ama-openapi-create-extension:compile.

Warning

The suggested diff is too large to display here, but you can view it on Nx Cloud ↗


View interactive diff ↗



🎓 Learn more about Self-Healing CI on nx.dev

@kpanot kpanot force-pushed the feature/openapi-extension-generator branch from e87a9a0 to dbfdd6f Compare February 17, 2026 10:02
| `--target`, `-t` | `.` | Target directory where files will be generated. |
| `--dependency-base-spec`, `-b` | - | Name of the NPM artifact to use as the dependency base specification (e.g. @my-org/specification). |

The command will generate a directory with the same structure of the `design` command but will setup the repository to prepare the generation of 3 specification:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The command will generate a directory with the same structure of the `design` command but will setup the repository to prepare the generation of 3 specification:
The command will generate a directory with the same structure as the `design` command but will set up the repository to prepare the generation of 3 specifications:


export default [
{
name: '@ama-sdk/create/projects',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: '@ama-sdk/create/projects',
name: '@ama-openapi/create-extension/projects',

*/
export const generateExtension = async (options: CreateExtensionOptions) => {
await generateTemplate({ ...options });
await generateTemplate({ ...options, templatesDirectory: resolve(__dirname, '..', 'templates') });
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is generateTemplate called twice?

'build:merge': 'redocly bundle filter-base && redocly join filtered-base server -o ./bundle/specification.yaml',
'retrieve-externals': 'ama-openapi install',
'watch:retrieve-externals': 'ama-openapi watch',
postinstall: 'ama-openapi install'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
postinstall: 'ama-openapi install'
postinstall: 'npm run retrieve-externals'

"include": [
"eslint*.config.mjs",
"testing/jest.config.it.js",
"testing/setup-jest.ts"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are the jest specific files under tsconfig.eslint.json?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants