Skip to content

Commit 8dd538e

Browse files
committed
docs: update readme
1 parent 89eecb7 commit 8dd538e

File tree

8 files changed

+310
-45
lines changed

8 files changed

+310
-45
lines changed

.github/dependabot.yml

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,36 @@
1-
# To get started with Dependabot version updates, you'll need to specify which
2-
# package ecosystems to update and where the package manifests are located.
3-
# Please see the documentation for all configuration options:
4-
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
1+
# Dependabot configuration
2+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates
53

64
version: 2
75
updates:
8-
- package-ecosystem: "npm" # Set to npm since you're using npm
9-
directory: "/" # Location of package manifests, assuming package.json is at the root
6+
# NPM dependencies
7+
- package-ecosystem: "npm"
8+
directory: "/"
109
schedule:
11-
interval: "weekly" # Frequency of updates: "daily", "weekly", or "monthly"
10+
interval: "weekly"
11+
day: "monday"
12+
open-pull-requests-limit: 10
13+
commit-message:
14+
prefix: "chore(deps)"
15+
labels:
16+
- "dependencies"
17+
groups:
18+
# Group minor and patch updates together
19+
minor-and-patch:
20+
patterns:
21+
- "*"
22+
update-types:
23+
- "minor"
24+
- "patch"
25+
26+
# GitHub Actions
27+
- package-ecosystem: "github-actions"
28+
directory: "/"
29+
schedule:
30+
interval: "weekly"
31+
day: "monday"
32+
commit-message:
33+
prefix: "chore(ci)"
34+
labels:
35+
- "ci"
36+
- "dependencies"

.github/workflows/tests.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
1-
name: Bun/Wasmtime CI
1+
name: CI
22

33
on: [push, pull_request]
44

55
jobs:
6-
build:
6+
# Type checking and linting
7+
check:
78
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout the repository
11+
uses: actions/checkout@v4
12+
13+
- name: Setup Bun
14+
uses: oven-sh/setup-bun@v1
15+
16+
- name: Install Dependencies
17+
run: bun install
18+
19+
- name: TypeScript Type Check
20+
run: bun run typecheck
21+
22+
- name: Lint
23+
run: bun run lint
24+
25+
# Build and test
26+
test:
27+
runs-on: ubuntu-latest
28+
needs: check
829

930
steps:
1031
- name: Checkout the repository
@@ -21,5 +42,8 @@ jobs:
2142
- name: Install Dependencies
2243
run: bun install
2344

45+
- name: Build Transform
46+
run: bun run build:transform
47+
2448
- name: Run Tests
2549
run: bash ./run-tests.sh

README.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
- [Performance Tuning](#performance-tuning)
1919
- [Running Benchmarks Locally](#running-benchmarks-locally)
2020
- [Debugging](#debugging)
21+
- [Architecture](#architecture)
22+
- [Contributing](#contributing)
2123
- [Who uses it?](#who-uses-it)
2224
- [License](#license)
2325
- [Contact](#contact)
@@ -476,6 +478,19 @@ or
476478
`JSON_DEBUG=2` - The above and prints keys/values as they are deserialized
477479
`JSON_WRITE=path-to-file.ts` - Writes out generated code to `path-to-file.json.ts` for easy inspection
478480

481+
## Architecture
482+
483+
For a deep dive into how json-as works internally, including the transform system, optimization modes (NAIVE, SWAR, SIMD), and buffer management, see [ARCHITECTURE.md](./ARCHITECTURE.md).
484+
485+
## Contributing
486+
487+
We welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on:
488+
489+
- Setting up your development environment
490+
- Running tests and benchmarks
491+
- Code style and commit conventions
492+
- The pull request process
493+
479494
## Who uses it?
480495

481496
A few companies and open-source projects use json-as!
@@ -492,7 +507,9 @@ A few companies and open-source projects use json-as!
492507

493508
## License
494509

495-
This project is distributed under an open source license. You can view the full license using the following link: [License](./LICENSE)
510+
This project is distributed under an open source license. Work on this project is done by passion, but if you want to support it financially, you can do so by making a donation to the project's [GitHub Sponsors](https://github.com/sponsors/JairusSW) page.
511+
512+
You can view the full license using the following link: [License](./LICENSE)
496513

497514
## Contact
498515

assembly/__tests__/test.spec.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

assembly/custom/chars.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,12 @@
7474
@inline export const FORM_FEED = 12; // \f
7575
// @ts-ignore: Decorator is valid here
7676
@inline export const CARRIAGE_RETURN = 13; // \r
77+
78+
// Pre-encoded u64 constants for common JSON literals
79+
// These represent the UTF-16 encoded bytes stored as u64 for fast comparison/storage
80+
// @ts-ignore: Decorator is valid here
81+
@inline export const NULL_WORD_U64: u64 = 30399761348886638; // "null" as u64 (n=110, u=117, l=108, l=108)
82+
// @ts-ignore: Decorator is valid here
83+
@inline export const TRUE_WORD_U64: u64 = 28429475166421108; // "true" as u64 (t=116, r=114, u=117, e=101)
84+
// @ts-ignore: Decorator is valid here
85+
@inline export const FALSE_WORD_U64: u64 = 32370086184550502; // "fals" as u64 (f=102, a=97, l=108, s=115) - first 4 chars of "false"

0 commit comments

Comments
 (0)