• Stars
    star
    313
  • Rank 133,714 (Top 3 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 29 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A JSON parser, tokenizer, traverser, and printer.

Momoa JSON

by Nicholas C. Zakas

If you find this useful, please consider supporting my work with a donation.

About

Momoa is a general purpose JSON utility toolkit for JavaScript and Rust. There are two different packages in this repository:

  • js - the JavaScript package
  • rust - the Rust create

These two packages are not directly linked but they do produce the same AST and so they are kept in sync using a monorepo.

Development

To work on Momoa, you'll need:

Make sure all three are installed by visiting the links and following the instructions to install.

Now you're ready to clone the repository:

git clone https://github.com/humanwhocodes/momoa.git

Follow the instructions in the README in each directory for how to work on that package.

Acknowledgements

This project takes inspiration (but not code) from a number of other projects:

  • Esprima inspired the package interface and AST format.
  • json-to-ast inspired the AST format.
  • parseJson.js inspired me by showing writing a parser isn't all that hard.

License

Apache 2.0

More Repositories

1

computer-science-in-javascript

Collection of classic computer science paradigms, algorithms, and approaches written in JavaScript.
JavaScript
9,059
star
2

humanfs

A modern filesystem API for JavaScript
JavaScript
486
star
3

env

A utility for verifying environment variables are present
JavaScript
375
star
4

print-ready

A JavaScript-powered CLI for converting HTML into PDFs
JavaScript
115
star
5

pledge

A custom promise implementation for JavaScript
JavaScript
90
star
6

puppeteer-data-extractor

JavaScript
46
star
7

object-schema

DEPRECATED. Use eslint/object-schema instead.
JavaScript
32
star
8

config-array

DEPRECATED. Use eslint/config-array instead
JavaScript
30
star
9

number-to-words

A JavaScript function to convert a number into words
JavaScript
30
star
10

tweet

A CLI for posting to Twitter
JavaScript
28
star
11

module-importer

Universal importer for CommonJS and ESM in Node.js
JavaScript
26
star
12

eslint-simple-rule

A utility for creating simple ESLint rules
JavaScript
23
star
13

async-event-emitter

Asynchronous version of EventEmitter for JavaScript
JavaScript
20
star
14

retry

A JavaScript utility for retrying async methods that reject errors
JavaScript
19
star
15

gitignore-to-minimatch

Utility to convert gitignore patterns into minimatch patterns
JavaScript
11
star
16

astro-jekyll

Toolkit to make transferring a Jekyll website to Astro simple!
JavaScript
9
star
17

toot

CLI for posting to Mastodon
JavaScript
9
star
18

humanwhocodes.com

HTML
8
star
19

ordered-set

A set data structure that maintains the order of insertion
JavaScript
8
star
20

object-store

JavaScript
8
star
21

array-with-default

An implementation of Array with a default for missing values
JavaScript
7
star
22

github-comment

A simple CLI for posting comments to GitHub issues and pull requests
JavaScript
6
star
23

memory

A JavaScript implementation of dynamic memory.
JavaScript
5
star
24

disqus-export

Disqus comments exporter
JavaScript
2
star
25

hello-nodejs-service

A simple microservice as an example for running Node.js on Google Cloud Run
JavaScript
2
star
26

hello-deno-service

An example Deno service to run on Google Cloud Run
JavaScript
2
star
27

markdown-it-markua-aside

markdown-it plugin for Markua asides and blurbs
JavaScript
1
star