jq is useful to slice, filter, map and transform structured json data.
brew install jq
# attempting to be the most robust solution for outputting git log as JSON, | |
# using only `git` and the standard shell functions, without requiring | |
# additional software. | |
# - uses traditional JSON camelCase | |
# - includes every major field that git log can output, including the body | |
# - proper sections for author, committer, and signature | |
# - multiple date formats (one for reading, ISO for parsing) | |
# - should properly handle (most? all?) body values, even those that contain | |
# quotation marks and escaped characters |
\a an ASCII bell character (07) | |
\d the date in "Weekday Month Date" format (e.g., "Tue May 26") | |
\e an ASCII escape character (033) | |
\h the hostname up to the first '.' | |
\H the hostname | |
\j the number of jobs currently managed by the shell | |
\l the basename of the shell's terminal device name | |
\n newline | |
\r carriage return | |
\s the name of the shell, the basename of $0 (the portion following the final slash) |
const Ajv = require("ajv"); | |
const ajvKeywords = require("ajv-keywords"); | |
// This is an export of all of your JSON Schema files | |
const schemas = require("../schemas"); | |
// EXAMPLE: | |
// This could live in a ApplicationError.js file and be shared with other files | |
const ApplicationError = class ApplicationError { | |
/** |