You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -363,6 +363,38 @@ FastCloner's source generator is carefully engineered for zero impact on IDE res
363
363
-**No Compilation Trashing**: We avoid expensive `CompilationProvider` combinations that break generator caching. Code generation only re-runs when your data models actually change, not on every keystroke or unrelated edit.
364
364
-**Allocation Free**: `EquatableArray` collections ensure that change detection is instant and creates no garbage collection pressure.
365
365
366
+
## Internalization
367
+
368
+
For consumers who wish to embed FastCloner directly, without adding a dependency, use the [internalization builder project](LINK).
369
+
370
+
Example command:
371
+
372
+
```bash
373
+
dotnet run --project src/FastCloner.Internalization.Builder/FastCloner.Internalization.Builder.csproj -- \
374
+
--root-namespace MyLibrary.FastCloner \
375
+
--output ../MyLibrary/FastCloner \
376
+
--preprocessor "MODERN=true;" \
377
+
--visibility internal \
378
+
--public-api none \
379
+
--runtime-only true \
380
+
--self-check
381
+
```
382
+
383
+
Important options:
384
+
385
+
-`--root-namespace <ns>`: Rewrites `FastCloner` namespaces to your target root namespace.
-`--public-api <none|fastcloner|extensions|behaviors|all>`: Keeps selected public surface when `--visibility internal` is used.
394
+
-`--runtime-only <true|false>`: Includes only runtime clone engine files.
395
+
-`--dry-run`: Prints planned output files and transform stats without writing.
396
+
-`--self-check`: Compiles generated source tree and reports compile errors.
397
+
366
398
## Contributing
367
399
368
400
If you are looking to add new functionality, please open an issue first to verify your intent is aligned with the scope of the project. The library is covered by over [700 tests](https://github.com/lofcz/FastCloner/tree/next/src/FastCloner.Tests), please run them against your work before proposing changes. When reporting issues, providing a minimal reproduction we can plug in as a new test greatly reduces turnaround time.
0 commit comments