1.0.0 #500
Replies: 2 comments 1 reply
-
Here are a few unsolicited thoughts :
last but not least
|
Beta Was this translation helpful? Give feedback.
-
Another thing that is tough to tackle, is what changes to the generated output are considered breaking changes after moving to v1.0.0? For example, we have a bunch of edge cases, where we need to adapt the output, to fit into the language constraints. In a sense fixing such a case will result in different generated models, that will not work with your existing code that utilizes them. Given the input:
it would generate the following output: export class TestModel {
private _testProp: TestEnum;
constructor(input: {
testProp: string
}) {
this._testProp = input.testProp;
}
get testProp(): string { return this._testProp; }
set testProp(testProp: TestEnum) { this._testProp = testProp; }
}
export enum TestEnum {
TEST = "test+"
} Then you have your own code, using these models:
With #497 we now generate the enum key differently and actually handle the special case, so we get the key So how do we handle such a use-case once we move to a stable version? Should we consider this a breaking change or just a fix, as we are now. |
Beta Was this translation helpful? Give feedback.
-
1.0.0
One point that has been up to discussion for a while now, is when should we release 1.0.0, I have always added more and more issues to the milestone, and then started removing them again. From my perspective what 1.0.0 shows are:
The last 3 points kinda sum up #457.
When is the right time
To start the discussion, from my perspective, there is never a right time, I am always saying "let's just fix this, and then it can be stable", but it is a never-ending thought. Especially since I know that in the future there lie some breaking changes (especially in terms of supporting union types), so I am really biased, as I lean more towards not moving to 1.0.0. Also in terms of documentation, there are multiple open issues, that make the documentation incomplete.
But I definitely also see the benefits of just jumping out into 1.0.0 as it shows a different image to whoever finds the library.
So when do you think we should do it? And what prerequisite do you see we got to address before it can happen?
Beta Was this translation helpful? Give feedback.
All reactions