Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removing the final
[GenerateTypes]attribute or fluent.WithGeneratedTypes(...)registration leaves the previous on-disk manifest inobj. The MSBuild task replays that manifest, so deleted TypeScript/Zod files return on subsequent builds.Successful generation passes now emit a valid zero-file manifest even when there are no discovered models or the requested emitters produce no files. This allows both the live-write path and the existing MSBuild task to sweep previously generated files using the current directory marker and banner ownership rules. Handwritten files remain untouched. Empty results caused by compilation errors or fatal generator/configurator diagnostics do not trigger cleanup.
Document the cleanup behavior, a one-time rebuild after upgrading, and the existing IDE/file-I/O and shared-output-directory limitations. The MSBuild cleanup implementations do not need changes: they already process zero-file manifests.
Affected package(s)
ZibStack.NET.TypeGen and its configuration documentation.
Type of change
How was this verified?
286 passed, 0 failed, 0 skipped in the full TypeGen Release suite.
Four new package-level regressions pack the actual generator and abstractions, install them into isolated consumer projects, and preserve
objacross successive builds. The removal cases failed against the original code before the fix.Coverage includes attribute and fluent removal, the empty-emitter case, partial removal while other types remain, output-directory renames, deleted output staying deleted, handwritten file preservation, stable output timestamps, and compiler/configurator/generic-type/Zod-validation failure paths. MSBuild-only consumers disable analyzer-side writes; the live-write consumer verifies cleanup occurs before MSBuild's sweep.
Local test execution used a shortened process-scoped Windows PATH so the existing TypeScript/Zod tests could resolve
npx. The Release build has existing nullable and xUnit analyzer warnings; no new warnings were introduced.git diff --checkpasses.Checklist
master, focused on a single changedocs/src/content/docs/[Package]: …prefix