feat: initial work on switching to YAML entries

This commit is contained in:
D. Moonfire 2018-12-26 15:03:58 -06:00
parent e2b6bd0fc9
commit 8a5009329f
6 changed files with 1007 additions and 10 deletions

2
.gitignore vendored
View file

@ -1,4 +1,4 @@
*~
build/
node_modules/

846
package-lock.json generated Normal file
View file

@ -0,0 +1,846 @@
{
"name": "miwafu",
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"adler-32": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
"integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
"dev": true,
"requires": {
"exit-on-epipe": "~1.0.1",
"printj": "~1.1.0"
}
},
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.3.0"
}
},
"any-json": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/any-json/-/any-json-3.1.0.tgz",
"integrity": "sha1-Ss4XIrrOwfTIH5IbxVFUbvsZ2fg=",
"dev": true,
"requires": {
"cson": "^4.1.0",
"dashdash": "^1.14.1",
"fast-csv": "^2.4.0",
"format-unicorn": "^1.1.0",
"hjson": "^2.4.1",
"ini": "^1.3.4",
"js-yaml": "^3.7.0",
"json5": "^0.5.1",
"strip-json-comments": "^2.0.1",
"toml-j0.4": "^1.0.10",
"tomlify-j0.4": "^2.1.1",
"typescript": "^2.4.2",
"util.promisify": "^1.0.0",
"xlsjs": "^0.7.5",
"xlsx": "^0.11.3",
"xml2js": "0.4.17"
}
},
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
"sprintf-js": "~1.0.2"
}
},
"arguments-extended": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/arguments-extended/-/arguments-extended-0.0.3.tgz",
"integrity": "sha1-YQfkkX0OtvCk3WYyD8Fa/HLvSUY=",
"dev": true,
"requires": {
"extended": "~0.0.3",
"is-extended": "~0.0.8"
}
},
"array-extended": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/array-extended/-/array-extended-0.0.11.tgz",
"integrity": "sha1-1xRK50jek8pybxIQCdv/FibRZL0=",
"dev": true,
"requires": {
"arguments-extended": "~0.0.3",
"extended": "~0.0.3",
"is-extended": "~0.0.3"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"bindings": {
"version": "1.2.1",
"resolved": "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
"integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=",
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"cfb": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/cfb/-/cfb-0.11.1.tgz",
"integrity": "sha1-qW248nKmw/uZ27sj70EiP0i+Hqc=",
"dev": true,
"requires": {
"commander": "^2.19.0"
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"codepage": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
"integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
"dev": true,
"requires": {
"commander": "~2.14.1",
"exit-on-epipe": "~1.0.1"
},
"dependencies": {
"commander": {
"version": "2.14.1",
"resolved": "http://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
"integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
"dev": true
}
}
},
"coffee-script": {
"version": "1.12.7",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
"integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
"dev": true
},
"colors": {
"version": "0.6.2",
"resolved": "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
"integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
"dev": true
},
"commander": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
"dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"crc-32": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
"integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
"dev": true,
"requires": {
"exit-on-epipe": "~1.0.1",
"printj": "~1.1.0"
}
},
"cson": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cson/-/cson-4.1.0.tgz",
"integrity": "sha1-sQdTRPqdn+XPiNgPIdk2Ypa4Zcc=",
"dev": true,
"requires": {
"coffee-script": "^1.12.4",
"cson-parser": "^1.3.4",
"extract-opts": "^3.3.1",
"requirefresh": "^2.1.0",
"safefs": "^4.1.0"
}
},
"cson-parser": {
"version": "1.3.5",
"resolved": "http://registry.npmjs.org/cson-parser/-/cson-parser-1.3.5.tgz",
"integrity": "sha1-fsZ14DkUVTO/KmqFYHPxWZ2cLSQ=",
"dev": true,
"requires": {
"coffee-script": "^1.10.0"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"date-extended": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/date-extended/-/date-extended-0.0.6.tgz",
"integrity": "sha1-I4AtV90b94GIE/4MMuhRqG2iZ8k=",
"dev": true,
"requires": {
"array-extended": "~0.0.3",
"extended": "~0.0.3",
"is-extended": "~0.0.3"
}
},
"deasync": {
"version": "0.1.14",
"resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz",
"integrity": "sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==",
"dev": true,
"requires": {
"bindings": "~1.2.1",
"node-addon-api": "^1.6.0"
}
},
"deasync-promise": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deasync-promise/-/deasync-promise-1.0.1.tgz",
"integrity": "sha1-KyfeR4Fnr07zS6mYecUuwM7dYcI=",
"dev": true,
"requires": {
"deasync": "^0.1.7"
}
},
"declare.js": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/declare.js/-/declare.js-0.0.8.tgz",
"integrity": "sha1-BHit/5VkwAT1Hfc9i8E0AZ0o3N4=",
"dev": true
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
},
"eachr": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz",
"integrity": "sha1-LDXkPqCGUW95l8+At6pk1VpKRIQ=",
"dev": true,
"requires": {
"editions": "^1.1.1",
"typechecker": "^4.3.0"
}
},
"editions": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz",
"integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==",
"dev": true
},
"errlop": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/errlop/-/errlop-1.0.3.tgz",
"integrity": "sha512-5VTnt0yikY4LlQEfCXVSqfE6oLj1HVM4zVSvAKMnoYjL/zrb6nqiLowZS4XlG7xENfyj7lpYWvT+wfSCr6dtlA==",
"dev": true,
"requires": {
"editions": "^1.3.4"
}
},
"es-abstract": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.1.1",
"function-bind": "^1.1.1",
"has": "^1.0.1",
"is-callable": "^1.1.3",
"is-regex": "^1.0.4"
}
},
"es-to-primitive": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
"exit-on-epipe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
"integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==",
"dev": true
},
"extended": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/extended/-/extended-0.0.6.tgz",
"integrity": "sha1-f7i/e52uOXWG5IVwrP1kLHjlBmk=",
"dev": true,
"requires": {
"extender": "~0.0.5"
}
},
"extender": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/extender/-/extender-0.0.10.tgz",
"integrity": "sha1-WJwHSCvmGhRgttgfnCSqZ+jzJM0=",
"dev": true,
"requires": {
"declare.js": "~0.0.4"
}
},
"extract-opts": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz",
"integrity": "sha1-WrvtyYwNUgLjJ4cn+Rktfghsa+E=",
"dev": true,
"requires": {
"eachr": "^3.2.0",
"editions": "^1.1.1",
"typechecker": "^4.3.0"
}
},
"fast-csv": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-2.4.1.tgz",
"integrity": "sha1-vX3SaDkfcpNntZRFuN0K0CaIGyY=",
"dev": true,
"requires": {
"extended": "0.0.6",
"is-extended": "0.0.10",
"object-extended": "0.0.7",
"string-extended": "0.0.8"
}
},
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
},
"fast-json-patch": {
"version": "0.5.7",
"resolved": "http://registry.npmjs.org/fast-json-patch/-/fast-json-patch-0.5.7.tgz",
"integrity": "sha1-taj0nSWWJFlu+YuHLz/aiVtNhmU=",
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"format-unicorn": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/format-unicorn/-/format-unicorn-1.1.1.tgz",
"integrity": "sha1-UzQj+ca9smG/UI//VPLXqbJ6IlE=",
"dev": true
},
"frac": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/frac/-/frac-0.3.1.tgz",
"integrity": "sha1-V3Z3t/3L5vr3xGHxgB00E3zaQ1Q=",
"dev": true
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
"dev": true
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
},
"has-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"hjson": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/hjson/-/hjson-2.4.3.tgz",
"integrity": "sha1-h4V4pF0TSG7DZOEeZC9X/xosy74=",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
},
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
"is-extended": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/is-extended/-/is-extended-0.0.10.tgz",
"integrity": "sha1-JE4UDfdbscmjEG9BL/GC+1NKbWI=",
"dev": true,
"requires": {
"extended": "~0.0.3"
}
},
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
"has": "^1.0.1"
}
},
"is-symbol": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"dev": true,
"requires": {
"has-symbols": "^1.0.0"
}
},
"js-yaml": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
"integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json5": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"node-addon-api": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==",
"dev": true
},
"object-extended": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/object-extended/-/object-extended-0.0.7.tgz",
"integrity": "sha1-hP0j9WsVWCrrPoiwXLVdJDLWijM=",
"dev": true,
"requires": {
"array-extended": "~0.0.4",
"extended": "~0.0.3",
"is-extended": "~0.0.3"
}
},
"object-keys": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
"integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
"dev": true
},
"object.getownpropertydescriptors": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
"dev": true,
"requires": {
"define-properties": "^1.1.2",
"es-abstract": "^1.5.1"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"pajv": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pajv/-/pajv-1.2.0.tgz",
"integrity": "sha1-u/g4jGxXrzNlCjuFoKdAFmHKWXI=",
"dev": true,
"requires": {
"ajv": "^5.0.0",
"any-json": "^3.0.0",
"deasync": "^0.1.10",
"deasync-promise": "^1.0.1",
"fast-json-patch": "^0.5.6",
"glob": "^7.0.3",
"minimist": "^1.2.0",
"util.promisify": "^1.0.0"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"printj": {
"version": "1.1.2",
"resolved": "http://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
"integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==",
"dev": true
},
"requirefresh": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/requirefresh/-/requirefresh-2.1.0.tgz",
"integrity": "sha1-dC3Mwg86lpGNZsbxWX3I/+vE9vU=",
"dev": true,
"requires": {
"editions": "^1.1.1"
}
},
"safefs": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/safefs/-/safefs-4.1.0.tgz",
"integrity": "sha1-+CrrS9165R9lPrIPZyizBYyNZEU=",
"dev": true,
"requires": {
"editions": "^1.1.1",
"graceful-fs": "^4.1.4"
}
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
"dev": true
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
"ssf": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.8.2.tgz",
"integrity": "sha1-udTcahwbz3b4q/qW19dlb7Kr7NY=",
"dev": true,
"requires": {
"colors": "0.6.2",
"frac": "0.3.1",
"voc": "^1.1.0"
}
},
"string-extended": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/string-extended/-/string-extended-0.0.8.tgz",
"integrity": "sha1-dBlX3/SHsCcqee7FpE8jnubxfM0=",
"dev": true,
"requires": {
"array-extended": "~0.0.5",
"date-extended": "~0.0.3",
"extended": "~0.0.3",
"is-extended": "~0.0.3"
}
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"toml-j0.4": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/toml-j0.4/-/toml-j0.4-1.1.1.tgz",
"integrity": "sha512-lYK5otg0+cto8YmsWcPEfeiTiC/VU6P6HA6ooaYI9K/KYT24Jg0BrYtRZK1K3cwakSMyh6nttfJL9RmQH0gyCg==",
"dev": true
},
"tomlify-j0.4": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tomlify-j0.4/-/tomlify-j0.4-2.2.1.tgz",
"integrity": "sha512-0kCocYX8ujnbK6jQ9e+g9GLiCIfVkFaCB3DCTQDP7J79gPVZVmZgQZ/KUNe1a6hUfrmHHaErVGUjedfpaX5EZw==",
"dev": true
},
"typechecker": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/typechecker/-/typechecker-4.7.0.tgz",
"integrity": "sha512-4LHc1KMNJ6NDGO+dSM/yNfZQRtp8NN7psYrPHUblD62Dvkwsp3VShsbM78kOgpcmMkRTgvwdKOTjctS+uMllgQ==",
"dev": true,
"requires": {
"editions": "^2.1.0"
},
"dependencies": {
"editions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/editions/-/editions-2.1.0.tgz",
"integrity": "sha512-yKrimWcvOXcYXtqsOeebbMLynm9qbYVd0005wveGU2biPxJaJoxA0jtaZrxiMe3mAanLr5lxoYFVz5zjv9JdnA==",
"dev": true,
"requires": {
"errlop": "^1.0.3",
"semver": "^5.6.0"
}
}
}
},
"typescript": {
"version": "2.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
"dev": true
},
"util.promisify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
"dev": true,
"requires": {
"define-properties": "^1.1.2",
"object.getownpropertydescriptors": "^2.0.3"
}
},
"voc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/voc/-/voc-1.1.0.tgz",
"integrity": "sha512-fthgd8OJLqq8vPcLjElTk6Rcl2e3v5ekcXauImaqEnQqd5yUWKg1+ZOBgS2KTWuVKcuvZMQq4TDptiT1uYddUA==",
"dev": true
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"xlsjs": {
"version": "0.7.6",
"resolved": "https://registry.npmjs.org/xlsjs/-/xlsjs-0.7.6.tgz",
"integrity": "sha1-2IdUVpqrz47qcMwjlhtGJjSklWU=",
"dev": true,
"requires": {
"cfb": "~0.11.0",
"codepage": "^1.14.0",
"commander": "^2.19.0",
"exit-on-epipe": "^1.0.1",
"ssf": "~0.8.1"
}
},
"xlsx": {
"version": "0.11.19",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.11.19.tgz",
"integrity": "sha512-UTfD64o5Ka/E6QHL12fzcq5wnt9MCtuwgoUdYSTDxjjDkhNmZwSfPlJH/+Yh8vE6nU/0ax3MXNrc9AP4haAmIg==",
"dev": true,
"requires": {
"adler-32": "~1.2.0",
"cfb": "~1.0.2",
"codepage": "~1.12.0",
"commander": "~2.13.0",
"crc-32": "~1.2.0",
"exit-on-epipe": "~1.0.1",
"ssf": "~0.10.1"
},
"dependencies": {
"cfb": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.0.8.tgz",
"integrity": "sha1-d/ITST1pfXVP2cD1UR6rWtctAs8=",
"dev": true,
"requires": {
"commander": "^2.14.1",
"printj": "~1.1.2"
},
"dependencies": {
"commander": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
"dev": true
}
}
},
"codepage": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.12.2.tgz",
"integrity": "sha512-FAN+oPs/ocaPLFvIt4vEOHgWA6UJ6t+fVbbVBoXDpTpC+4JYasomYZEEjR/Miph3qQrVnIShRwwmwu4P35JW1w==",
"dev": true,
"requires": {
"commander": "~2.14.1",
"exit-on-epipe": "~1.0.1"
},
"dependencies": {
"commander": {
"version": "2.14.1",
"resolved": "http://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
"integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
"dev": true
}
}
},
"commander": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
"integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
"dev": true
},
"frac": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
"dev": true
},
"ssf": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz",
"integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==",
"dev": true,
"requires": {
"frac": "~1.1.2"
}
}
}
},
"xml2js": {
"version": "0.4.17",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
"integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
"dev": true,
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "^4.1.0"
}
},
"xmlbuilder": {
"version": "4.2.1",
"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
"integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
"dev": true,
"requires": {
"lodash": "^4.0.0"
}
}
}
}

7
package.json Normal file
View file

@ -0,0 +1,7 @@
{
"name": "miwafu",
"private": true,
"devDependencies": {
"pajv": "^1.2.0"
}
}

View file

@ -1,9 +0,0 @@
---
title: baba
---
# Noun
## bàba
1. Heart.

View file

@ -0,0 +1,5 @@
base: baba
pos:
noun:
masculine:
- def: Heart.

148
src/schema/entry.json Normal file
View file

@ -0,0 +1,148 @@
{
"$schema": "http://json-schema.org/draft-06/schema#",
"$id": "https://fedran.com/miwafu/schema/entry.json",
"title": "Miwāfu Dictionary Entry",
"description": "A dictionary entry for Miwāfu, a constructed language by D. Moonfire",
"type": "object",
"properties": {
"base": {
"description": "The base word without any accents",
"type": "string"
},
"pos": {
"description": "The parts of speech for the entry",
"type": "object",
"properties": {
"adj": {
"description": "Entries for using the word as an adjective",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
}
},
"adv": {
"description": "Entries for using the word as an adverb",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
}
},
"noun": {
"description": "Entries for using the word as a noun",
"type": "object",
"properties": {
"masculine": {
"description": "Masculine or male uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
},
"neuter": {
"description": "Neuter or neutral uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
},
"feminine": {
"description": "Feminine or female uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
}
}
},
"verb": {
"description": "Entries for using the word as a verb",
"type": "object",
"properties": {
"masculine": {
"description": "Masculine or male uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
},
"neuter": {
"description": "Neuter or neutral uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
},
"feminine": {
"description": "Feminine or female uses of the word",
"type": "array",
"items": {
"$ref": "#/$defs/definition"
}
}
}
}
},
"required": [
"base"
],
"$defs": {
"definition": {
"description": "A definition of a Miwāfu word",
"type": "object",
"properties": {
"def": {
"description": "The description of the definition",
"type": "string"
},
"example": {
"description": "Example sentence or phrases",
"type": "array",
"items": {
"type": "object",
"properties": {
"miw": {
"description": "The Miwāfu sentence or phrase",
"type": "string"
},
"en": {
"description": "The English translation of the sentence or phrase",
"type": "string"
}
}
}
},
"reference": {
"description": "A list of references to the word",
"type": "array",
"items": {
"type": "object",
"properties": {
"identifier": {
"description": "The Fedran identifier for a POV and volume",
"type": "string"
},
"title": {
"description": "The title of the piece referenced",
"type": "string"
},
"url": {
"description": "The URL to the specific piece and chapter",
"type": "string"
},
"excerpt": {
"description": "A multi-line excert that contains a long reference",
"type": "string"
},
"chapter": {
"description": "The chapter within the piece",
"type": "number"
}
}
}
}
}
}
}
}