Packages

ata-validator

1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed

Upgrading ata-validator from 1.27.1 to 1.28.0

1 release in betweenevery note read

Reading releases, release notes and advisories…

Other targets from 1.27.1Newest 1.x, Latest1.61.3
0
changes to make
0
advisories fixed
0
new
0
fixes
1 other line we could not sort, mostly version bumps
  • The position map behind dataFrame is built without per-node work, which makes an invalid document cheaper to report on. It used to record an entry for every node in the document: a JSON pointer rebuilt from a path array with concat, map and join, a binary search and an object allocation for the value and another pair for its key, and a JSON.parse of every string value whose result was then discarded. String values are now spanned and not decoded, a key decodes only when its token holds an escape or a raw control character, the pointer is carried down the walk instead of being rebuilt, and line and column are resolved at the end for the nodes that were recorded. On a 132 KB config with three errors the map went from 2800 to about 1040 microseconds, which is 19.8x down to 7.3x the cost of JSON.parse on the same text, and the whole validateJSON call went from 3673 to 1825 microseconds. Output is unchanged: 112661 fuzzed documents, random and truncated and CRLF and BOM-prefixed and byte-punched, map identically against the previous walker, field order and throws included, so a document that declined to map still declines. Standalone modules built with { positions: true } embed this walk, so they carry the same improvement once rebuilt.

    1.28.0

1 internal line (docs, tests, tooling) left out.