Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify semver stable api for blueprints. #28405

Open
1 task
mshima opened this issue Jan 7, 2025 · 1 comment
Open
1 task

Clarify semver stable api for blueprints. #28405

mshima opened this issue Jan 7, 2025 · 1 comment

Comments

@mshima
Copy link
Member

mshima commented Jan 7, 2025

Overview of the feature request

generators/*/support/* should be stable for blueprints usage.
Those apis are exported and should follow semver.

"./generators/*/support": {
"types": "./dist/generators/*/support/index.d.ts",
"default": "./dist/generators/*/support/index.js"
},

"./generators/*/generators/*/support": {
"types": "./dist/generators/*/generators/*/support/index.d.ts",
"default": "./dist/generators/*/generators/*/support/index.js"
},

Motivation for or Use Case
Related issues or PR
  • Checking this box is mandatory (this is just to show you read everything)
@Tcharl
Copy link
Contributor

Tcharl commented Jan 7, 2025

I would prefer to have types owned by their respective generators before thinking about fixing another api (#28235).
Doing so would permit blueprints to stick with the semver of their respective generators.

We can speed up the process by focusing on coarse grained semver then going more and more fined grained
Let's imagine a semver like this for a server blueprint (i.e. jhipster-spring-cloud-rabbitmq, or jhipster-quarkus):

  • Jhipster 'core' (e.g. generator-base-*) is in version 9. Its semver second bit can only be an internal api change.
  • Jhipster 'server' (i.e. generator-server) is in version 9.2 (the first bit being the one of the core). the second bit is the amount of breaking changes of the -server flavour.
  • Jhipster 'quarkus' can then use the third bit for their releases.

Other suggestion: the second bit could be a sequence of numbers ABCD where each number would be the 'api with breaking change' version of each intermediate generator between the base one and the leaf blueprint

'till we get a real @jhipster/server/blueprint npm package layout, it could be a trick to get something. But it needs to decouple server vs client vs platform (including their types) first.

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

No branches or pull requests

2 participants