formhell 0.1.5 → 1.0.0

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.
Files changed (2) hide show
  1. package/README.md +11 -5
  2. package/package.json +3 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # formhell
2
2
 
3
- React Autological Forms for React.
3
+ Finally escape form hell with FormHell
4
4
 
5
5
  Incredibly robust yet remarkably simple JSON Schema based forms for React.
6
6
 
@@ -8,10 +8,16 @@ Incredibly robust yet remarkably simple JSON Schema based forms for React.
8
8
 
9
9
  I wrote this library out of pure JSON Schema fatigue.
10
10
 
11
- Specifically, I was frustrated by how the leading JSON Schema form libraries (including react-json-schema-forms) often fall short once schemas get complex, and how defaults behavior can become surprisingly unhelpful in real applications.
11
+ Specifically, I was frustrated by how the leading JSON Schema form libraries (mainly react-json-schema-forms) often fall short once schemas get complex, and how defaults behavior can become surprisingly unhelpful in real applications.
12
12
 
13
13
  I wanted strong support for modern JSON Schema behavior, including deeper keyword combinations, robust `$ref` flows, and sensible defaults behavior. Many popular schema-form approaches feel great for simple demos, then quickly become awkward when you need advanced schema features, strict correctness, or predictable default handling.
14
14
 
15
+ Yea, you'll find a nice JSON Schema based form library that works great for a toy example to make stakeholders go "Wow, it works." Then your project will be riddled with bugs a year in when schemas start getting complex. You'll be pulling your hair out wondering "why is it generating arrays with null entries, or inserting '[Object object]' into my data! What experimental setting do I need to turn on to make this thing behave correctly?!"
16
+
17
+ Enough of that. This thing works the way you expect it to. It handles every complex schema thing you'll ever need. Don't have complex schemas? Cool, it handles simple ones.
18
+
19
+ Don't fully understand how to build a schema yet? Use the schema builder! This thing even comes with a keyword helper component to help you find what you're looking for. Check it out in the playground: https://ryanrutkin.github.io/formhell/
20
+
15
21
  formhell exists to be both:
16
22
 
17
23
  - robust enough for complex schemas,
@@ -21,7 +27,7 @@ In short: this is built to be the most robust and still easy-to-use JSON Schema
21
27
 
22
28
  ## Comparison Snapshot
23
29
 
24
- The goal here is not drama. The goal is practical capability when schemas stop being toy examples.
30
+ Here's a quick comparison for using FormHell instead of some other headache library.
25
31
 
26
32
  | Capability | formhell | Typical basic JSON Schema form setup |
27
33
  | --- | --- | --- |
@@ -30,9 +36,9 @@ The goal here is not drama. The goal is practical capability when schemas stop b
30
36
  | Async missing `$ref` loading | Yes (`getSchema`) | Often limited or app-specific |
31
37
  | Peer schema document support | Yes | Varies |
32
38
  | Draft 2020-12 oriented workflows | Yes | Varies by implementation |
33
- | Advanced keywords (`if/then/else`, `dependentSchemas`, `unevaluated*`) | Designed for this | Often partial |
39
+ | Advanced keywords (`if/then/else`, `dependentSchemas`, `unevaluated*`) | Designed for this | None that I've found |
34
40
  | Widget overrides by pointer and type | Yes | Usually type-only or custom plumbing |
35
- | Defaults strategy control | Yes (`all` / `required-only`) | Often limited |
41
+ | Defaults strategy control | Yes (`all` / `required-only`) | Often limited and supper broken |
36
42
  | Validation feedback on every change | Yes | Usually yes |
37
43
 
38
44
  If your form requirements include deep JSON Schema support and your timeline includes "this quarter," this matrix is the point.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "formhell",
3
3
  "author": "Ryan Rutkin",
4
- "version": "0.1.5",
4
+ "version": "1.0.0",
5
5
  "description": "React JSON Schema form and schema builder library with draft 2020-12 support, robust $ref resolution, and strong defaults handling",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.cjs",
@@ -16,6 +16,8 @@
16
16
  "url": "https://github.com/RyanRutkin/formhell/issues"
17
17
  },
18
18
  "keywords": [
19
+ "form hell",
20
+ "formhell",
19
21
  "react",
20
22
  "json-schema",
21
23
  "json schema",