Repository navigation
Commit b36adc7
authored
fix: replace regex and string hacks with real parsers across ports (#511)
* fix: replace regex and string-rewrite matching with authoritative parsers across ports (audit findings 5, 7-15, 17, 18)
Currency parsing via Intl, SQL splitter, view comparators, Python YAML 1.2,
Mustache tag scanning, forgiving XML reader, JSONC-aware upgrade rewriter,
leak-scan renames, Java authored-name serialization, ERR_COLUMN_NAME_COLLISION,
pnpm workspace parsing and assorted smaller instances.
* fix: import the shared support class in the Spring and Kotlin filter-allowlist generators
An ejected copy is package-renamed, so same-package bare-name resolution
stopped compiling once #503 started calling the support class there.
* fix: Roslyn namespace/handoff detection, ASCII Pydantic patterns, route-segment collision (audit finding 18 follow-ups)
* feat: enum strip fold-collision error, numeric CSV exemption, one filter glob grammar in Java
ERR_ENUM_NORMALIZE_COLLISION in all ports; CSV formula guard skips strict
numeric literals; <filters> use Scope.compilePattern semantics and fail
generation when a pattern would select fewer objects than before.
* fix(render,cli): decode every JSON escape and close fences properly in extract; make eject --undo order-sensitive
The forgiving JSON reader dropped \uXXXX, \b and \f escapes and the fence matcher
closed at the first inner triple backtick, in all five ports. eject --undo treated a
copy whose only edit was a reorder as stock (TS, Python, C#). Python LONG coercion no
longer rounds through float. Adds three shared extract-conformance cases.
* fix: address pre-gate review findings (schema-valid pattern, caches, workspace walk, splitter dialect, constraint fallback)
* refactor: simplify pass over the audit follow-up changes
* no-mistakes(review): apply reviewer inline fixes
* no-mistakes(review): Fix XML child loss, eject whitespace, delimiter verify, JPY parse
* no-mistakes(review): apply reviewer inline fixes
* no-mistakes(review): Drop C# source inference and Roslyn; tighten delimiter checks
* no-mistakes(review): Pass inlinedAs only for partials; root ref renders
* no-mistakes(review): Add csharp.namespace config, match pnpm globs, fix {{=}} crash
* no-mistakes(review): Reject non-identifier derived C# namespace segments
* no-mistakes(review): apply reviewer inline fixes
* no-mistakes(review): Resolve C# namespaces via package bindings; require Pydantic 2.8
* no-mistakes(review): Validate all package-binding namespaces as C# identifier paths
* no-mistakes(review): Accept csharp.namespace in TS config schema; explicit handoff note
* no-mistakes(review): apply reviewer inline fixes
* no-mistakes(review): Skip pnpm test dirs, reject C# keyword namespaces
* no-mistakes(document): Fixed four stale doc facts from the regex-followups change: Java <filters> upgrade example (java.md and CHANGELOG), eject reorder wording (own-your-codegen.md), CSV numeric exemption (reporting.md). Edits verified by grep and diff stat.
* no-mistakes(document): Fixed document-1: removed the stale single-Math.round claim from docs/ports/typescript-client.md, the parseCurrency header in currency.ts, and the currency-input.tsx comment. Doc and comment edits only; no remaining findings.
* no-mistakes(lint): Update AGENTS.md and site payload fixture count to 4211 parent 8a727b1 commit b36adc7
290 files changed
Lines changed: 6109 additions & 1242 deletions
File tree
- .githooks
- client/web/packages
- react/src
- runtime-web
- src
- test
- docs
- features
- migrations
- ports
- examples/showcase
- fixtures
- conformance
- authored-name-looks-autogenerated
- input
- column-name-no-collision
- input
- enum-normalize-collision-collapse-ok
- input
- enum-normalize-no-collision
- input
- error-column-name-collision
- input
- error-enum-normalize-collision
- input
- error-tph-discriminator-numeric-equivalent
- input
- error-tph-discriminator-numeric-trailing-newline
- input
- extract-conformance
- json-fence-inner-backticks
- json-fence-inner-block
- json-string-escapes
- xml-cdata-with-tags
- xml-comment-ignored
- xml-entities-decoded
- xml-literal-angle-in-text
- xml-root-in-comment
- xml-root-mentioned-in-prose
- xml-unclosed-leaf-in-closed-parent
- naming-conformance
- render-conformance
- render-comment-with-partial
- render-csv-numeric-exempt
- verify-conformance
- verify-comment-with-partial-clean
- verify-mismatched-close
- verify-required-tag-in-comment
- verify-set-delimiter-clean
- verify-set-delimiter-drift
- verify-set-delimiter-in-partial
- partials
- verify-set-delimiter-with-partial
- partials
- verify-unopened-close
- scripts
- server
- csharp
- MetaObjects.Cli.Tests
- MetaObjects.Cli
- MetaObjects.Codegen.Tests
- MetaObjects.Codegen
- Generators
- Runtime
- MetaObjects.Render.Tests
- Extract
- MetaObjects.Render
- Extract
- MetaObjects
- Config
- Loader
- Meta
- java
- codegen-base/src
- main/java/com/metaobjects/generator
- direct/object/javacode
- util
- test/java/com/metaobjects/generator/util
- codegen-kotlin/src
- main/kotlin/com/metaobjects/generator/kotlin
- test/kotlin/com/metaobjects/generator/kotlin
- codegen-plantuml/src/test/java/com/metaobjects/generator/plantuml
- codegen-spring/src
- main/java/com/metaobjects/generator/spring
- test/java/com/metaobjects/generator/spring
- maven-plugin/src
- main/java/com/metaobjects/mojo
- test/java/com/metaobjects/mojo
- metadata/src
- main/java/com/metaobjects
- config
- io/json
- library
- loader
- source
- util
- test/java/com/metaobjects
- io/json
- library
- render/src
- main/java/com/metaobjects/render
- extract
- test
- java/com/metaobjects/render
- extract
- resources/snapshots
- python
- src/metaobjects
- codegen
- generators
- loader
- render
- extract
- runtime
- source
- tests
- codegen
- conformance
- render
- extract
- runtime
- source
- unit
- typescript/packages
- cli
- src
- commands
- lib
- test
- codegen-ts
- src/naming
- test/naming
- metadata
- src
- core
- field
- object
- loader
- sources
- test
- loader
- migrate-ts
- src
- apply
- emit
- introspect
- sql
- test/unit
- render
- src
- extract
- test
- extract
- sdk
- src
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
32 | | - | |
33 | 31 | | |
34 | 32 | | |
35 | 33 | | |
| |||
38 | 36 | | |
39 | 37 | | |
40 | 38 | | |
41 | | - | |
| 39 | + | |
42 | 40 | | |
43 | 41 | | |
44 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
0 commit comments