jjpwrgem 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.2](https://github.com/20jasper/JJPWRGEM/releases/tag/jjpwrgem-v0.2.2) - 2025-12-07
11
+
12
+ ### Documentation
13
+
14
+ - add mise installer steps
15
+ - update readme with new command format and installation instructions. removes extra notes
16
+
17
+ ### Performance
18
+
19
+ - join_into utility to declaritively avoid allocating delimiter strings
20
+ - write to single buffer instead of allocating buffer per JSON value
21
+ - don't use anstream for content without ansi
22
+
10
23
  ## [0.2.0](https://github.com/20jasper/JJPWRGEM/releases/tag/jjpwrgem-v0.2.0) - 2025-12-06
11
24
 
12
25
  ### Added
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "jjpwrgem",
26
- "version": "0.2.0"
26
+ "version": "0.2.2"
27
27
  },
28
28
  "node_modules/@isaacs/balanced-match": {
29
29
  "engines": {
@@ -896,5 +896,5 @@
896
896
  }
897
897
  },
898
898
  "requires": true,
899
- "version": "0.2.0"
899
+ "version": "0.2.2"
900
900
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "artifactDownloadUrl": "https://github.com/20jasper/jjpwrgem/releases/download/jjpwrgem-v0.2.0",
2
+ "artifactDownloadUrl": "https://github.com/20jasper/jjpwrgem/releases/download/jjpwrgem-v0.2.2",
3
3
  "author": "Jacob Asper <jacobasper191@gmail.com>",
4
4
  "bin": {
5
5
  "jjp": "run-jjp.js"
@@ -93,7 +93,7 @@
93
93
  "zipExt": ".tar.xz"
94
94
  }
95
95
  },
96
- "version": "0.2.0",
96
+ "version": "0.2.2",
97
97
  "volta": {
98
98
  "node": "18.14.1",
99
99
  "npm": "9.5.0"
package/readme.md CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  JJPWRGEM JSON Parser With Really Good Error Messages
4
4
 
5
- An RFC 8259 compliant JSON Parser!
5
+ An RFC 8259 compliant JSON Parser and formatter!
6
6
 
7
7
  ![A logo of an axolotl riding a skateboard](./logo.webp)
8
8
 
9
9
  ```
10
- echo -en '{"coolKey"}' | jjp
10
+ echo -en '{"coolKey"}' | jjp parse
11
11
  error: expected colon after key, found `}`
12
12
  ╭▸ stdin:1:11
13
13
 
@@ -22,11 +22,49 @@ help: insert colon and placeholder value
22
22
  ╰╴ ++++++++
23
23
  ```
24
24
 
25
+ ## Table of contents
26
+
27
+ - [JJPWRGEM](#jjpwrgem)
28
+ - [Table of contents](#table-of-contents)
29
+ - [Installation](#installation)
30
+ - [Precompiled](#precompiled)
31
+ - [From source](#from-source)
32
+ - [Stability](#stability)
33
+ - [Indeterminate Handling](#indeterminate-handling)
34
+ - [FAQ](#faq)
35
+ - [What does JJPWRGEM stand for?](#what-does-jjpwrgem-stand-for)
36
+ - [How do you pronounce JJPWRGEM?](#how-do-you-pronounce-jjpwrgem)
37
+ - [But why is it called that?](#but-why-is-it-called-that)
38
+ - [Why is the logo an axolotl riding a skateboard?](#why-is-the-logo-an-axolotl-riding-a-skateboard)
39
+ - [Is it blazingly fast™?](#is-it-blazingly-fast)
40
+ - [How long is an axolotl?](#how-long-is-an-axolotl)
41
+ - [Motivations](#motivations)
42
+
43
+ ## Installation
44
+
45
+ ### Precompiled
46
+
47
+ ```bash
48
+ mise use -g github:20jasper/jjpwrgem
49
+ ```
50
+
51
+ ```bash
52
+ npm install -g jjpwrgem
53
+ ```
54
+
55
+ See [releases](https://github.com/20jasper/JJPWRGEM/releases) for shell and powershell installation instructions and raw binaries
56
+
57
+ ### From source
58
+
59
+ ```
60
+ cargo install --path .
61
+ ```
62
+
25
63
  ## Stability
26
64
 
27
65
  JJPWRGEM is in its infancy and extremely likely to have breaking changes (properly marked with semver of course!)
28
66
 
29
- ## indeterminate handling
67
+ ## Indeterminate Handling
30
68
 
31
69
  How cases undefined by the spec are handled
32
70
 
@@ -76,23 +114,3 @@ I originally started this project to practice finite state machines, but got bac
76
114
  I am heavily inspired by the Rust compiler's error messages. I love that unhelpful errors are considered bugs
77
115
 
78
116
  I checked out several JSON parsers and formatters, and none provided much context on _why_ a key was missing. Errors ranged from "expected closing on byte 10" to a snapshot of source code for that character, but none were up to my standards
79
-
80
- ## Notes
81
-
82
- I went with annotate snippets over other libraries like codespan reporting since it better supports patches and workflows that don't require files, like reading from stdin
83
-
84
- ## references
85
-
86
- ### parsers/diagnostics
87
-
88
- https://rustc-dev-guide.rust-lang.org/diagnostics/error-codes.html
89
-
90
- https://github.com/rust-lang/rust/pull/27475
91
-
92
- OXC
93
-
94
- ### Accessibility
95
-
96
- https://afixt.com/accessible-by-design-improving-command-line-interfaces-for-all-users/
97
-
98
- miette