- Last updated: 2024-11-24T18:15:48Z
- Generator: thi.ng/monopub
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.
2.4.52 (2024-08-29)
- update ParseState & ParseScope handling (result: 1.2-1.6x faster) (c94b5cf)
- refactor ParseState/Scope as data classes (keep same structure)
- minor update scope transforms
- update tests
2.4.43 (2024-06-21)
- rename various rest args to be more semantically meaningful (8088a56)
- enforce uniform naming convention of internal functions (56992b2)
2.4.5 (2023-11-09)
- update all tests (packages A-S) (e3085e4)
2.4.0 (2023-09-19)
- add ParseContext.peakDepth, update recursion limit (0a2b7db)
2.3.0 (2023-09-06)
- add altS() combinator (52c76ca)
2.2.0 (2022-06-15)
- add new transformers (json, numbers) (2087131)
- add xfJson(), json() transform
- add int(), hexInt(), float() transform syntax sugar
- add
json
as built-in tx for grammar
2.1.8 (2022-06-09)
- various (minor) TS4.7 related updates/fixes (9d9ecae)
2.1.5 (2022-03-11)
- add type hint (TS4.6) (6cd42e8)
2.1.0 (2021-11-17)
- Using workspaces for local tools (bf7a404)
Improving the overall build ergonomics
- introduced a tools workspaces
- imported it in all needed packages/examples
- inclusive project root
- testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.
2.0.1 (2021-10-13)
- update imports in all pkgs (5fa2b6f)
- add .js suffix for all relative imports
- update imports in all tests/pkgs (effd591)
2.0.0 (2021-10-12)
- major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
- BREAKING CHANGE: discontinue CommonJS & UMD versions
- only ESM modules will be published from now on
- CJS obsolete due to ESM support in recent versions of node:
- i.e. launch NodeJS via:
node --experimental-specifier-resolution=node --experimental-repl-await
- in the node REPL use
await import(...)
instead ofrequire()
- UMD obsolete due to widespread browser support for ESM Also:
- normalize/restructure/reorg all package.json files
- cleanup all build scripts, remove obsolete
- switch from mocha to @thi.ng/testament for all tests
- update all tests in all pkgs (8b582bc)
- update all to use @thi.ng/testament
- update imports (138571a)
- update deps & imports in various pkgs (e1cf29e)
- largely related to recent updates/restructuring of these packages:
- api
- defmulti
- errors
- logger
- largely related to recent updates/restructuring of these packages:
- update defmulti impls (0303769)
0.9.7 (2020-12-07)
- update type-only imports (85874bc)
0.9.4 (2020-09-22)
- update ESC parse preset (ec94064)
- re-use ESCAPES LUT from strings pkgs
0.9.3 (2020-09-13)
- update imports (b600b00)
0.9.0 (2020-08-17)
- add replace/xfReplace() xform (7291181)
- enable replacement rule transforms (ca22432)
- allow strings as rule transform in grammar
0.8.0 (2020-07-19)
- add nest()/xfNest() transform (af9c97b)
- update grammar (xform rule refs) (22188a4)
- allow other parse rules as rule xform (via
xfNest()
) - add tests
- allow other parse rules as rule xform (via
- update repeat grammar (7aae9ac)
- support specifying min repeat count only (max: infinity), e.g.
{3,}
- support specifying min repeat count only (max: infinity), e.g.
0.7.2 (2020-07-18)
- export ContextOpts, move to api.ts (2dfc445)
0.7.1 (2020-07-17)
- update grammar, use discarding parsers where possible (d269a8a)
- update compile() impls w/ CompileFlags and use
D
versions if poss - refactor/add compileRD(), compileRDL() helpers
- expose DNL preset rule in defGrammar()
- add alwaysD()
- add tests
- update compile() impls w/ CompileFlags and use
0.7.0 (2020-07-08)
- add lookahead() combinator, add tests (ee35038)
- update lookahead (51a8dc5)
- add pass flag and only succeed if main parser passed at least once
- update grammar DSL (accacf9)
- add
.
catch-all term - add
(?=...)
suffix form for lookahead - update TERM/TERM_BODY
- add
- lookahead w/ configurable capture (542c066)
- update/fix grammar DSL, add trim (f82ba1f)
- update lookahead (cap, non-cap versions)
- add lookahead for alt terms
- update
compileLookahead()
- add line comment support
- fix
{n}
repeat modifier handling - add
trim()
/xfTrim()
xforms
- turn xfPrint() into HOF xform (d86fa53)
- add opt support for custom print fns (other than console)
0.6.0 (2020-06-28)
0.5.0 (2020-04-23)
- add built-ins, extract STRING, minor updates (458f5b3)
- add anchors to built-in grammar rules
- extract STRING preset parser
- add doc strings
- add s-expr parser test
- update imports
- update readme
0.4.0 (2020-04-21)
- update grammar DSL, hoist xforms (861e7f3)
- allow esc sequences in grammar string literals
- expose various preset parser for re-use in grammar DSL
- rename xfHoist => hoistResult
- add new xfHoist to hoist entire child node
- add doc strings
- update not() behavior, add passD() (1d0f4c4)
- update wrap() combinator (a3dae6e)
0.3.0 (2020-04-20)
- add skipWhile(), more discarded wrappers (832c0b7)
- add skipWhile()
- add dalt(), dseq() wrappers
- add NL, DNL presets
- add ParseContext .state setter
- add more whitespace presets (1398e2b)
- add dynamic() & DynamicParser (b914267)
- initial checkin grammar compiler (38e9c66)
- add ParseContext.reset(), update addChild() (d47c0a2)
- add/update/rename parser primitives (328103f)
- add LitParser type to annotate single-char parsers
- add satisfyD()
- add stringOf() for predicated strings
- add wordBoundary anchor
- add/update/rename discarding parser prims:
- litD(), stringD(), noneOfD(), oneOfD(), rangeD()
- export predicate versions:
- litP(), noneOfP(), oneOfP(), rangeP()
- update skipWhile() behavior
- add/update combinators (e4eab03)
- add startsWith, endsWith, entireLine, entirely
- add wrap()
- rename dalt/dseq => altD/seqD
- add withID() xform, add doc strings (e16426b)
- add/update/rename parser presets (12f2499)
- update grammar parser & compiler (822fcba)
- add GrammarOpts
- update rules to enable repetition of all terms
- add string term
- make debug output optional
- add discarding combinators, move discard (e09a2c4)
- add repeatD, oneOrMoreD, zeroOrMoreD
- update ESC & whitespace parsers (069a6ef)
- add grammar default transforms, update/fix rules (03ed965)
- update grammar & pkg re-exports (3ba8973)
0.2.0 (2020-04-17)
- add/rename/reorg parsers, xforms, ctx (ee537f4)
- add dlit(), dstring()
- add fail()
- rename lift() => pass(), Lift => PassValue
- rename merge()/xfMerge() => join()/xfJoin()
- add hoist()/xfHoist()
- migrate xform syntax sugars to /xform
- add indent() util for ParseContext & print()
- major speedup satisfy() (~1.6x faster) (8ca5c7f)
- update ParseContext.addChild() to optionally progress reader
- update call sites in satisfy(), lift(), repeat()
0.1.0 (2020-04-16)
- import as new package (151e50c)
- update repeat ops, reader, initial state (c5cfabe)
- add collect/xfCollect, update xfPrint (43f3368)
- update ParseContext, repeat & lift (bef1d4f)
- add context debug option / tracing
- add .addChild()
- update repeat zero-match handling
- simplify lift()
- add ctx getters, add presets, update maybe (02597bf)
- add ArrayReader, update pkg info (3bec0db)
- make retained state info optional (a89ee87)
- update defContext, add basic array test (cd7363d)