commit e7a9cdca841916c4601e644b18ddb971242eacde Author: kts of kettek (nyaa) Date: Fri Feb 14 11:29:30 2020 -0800 Valentine's 2020 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a637006 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.cache +node_modules/ +build/ +static/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..698760d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1104 @@ +{ + "name": "klb2", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "app-module-path": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", + "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU=" + }, + "app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=" + }, + "argly": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/argly/-/argly-1.2.0.tgz", + "integrity": "sha1-KydORVGin/XnGZ0u2XiOtm7TbmA=" + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-refresh-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/browser-refresh-client/-/browser-refresh-client-1.1.4.tgz", + "integrity": "sha1-jl/4R1/h1UHSroH3oa6gWuIaYhc=" + }, + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "callbackify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/callbackify/-/callbackify-1.1.0.tgz", + "integrity": "sha1-0qNphtKKppcUUmwREgm+65l50x4=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "requires": { + "assertion-error": "^1.0.1", + "deep-eql": "^0.1.3", + "type-detect": "^1.0.0" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "char-props": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/char-props/-/char-props-0.1.5.tgz", + "integrity": "sha1-W5UvniDqIc0Iyn/hNaEPb+kcEJ4=" + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "complain": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/complain/-/complain-1.6.0.tgz", + "integrity": "sha512-9oBfSEfxveaNmo2eSp/vEPkaBVxUhiJTZVgGYayzBchSAXQM6CK1PAQeV5ICShnSgfT+biYzrN7egKwwX+HkCw==", + "requires": { + "error-stack-parser": "^2.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "requires": { + "type-detect": "0.1.1" + }, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=" + } + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "deresolve": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deresolve/-/deresolve-1.1.2.tgz", + "integrity": "sha1-nPI3nI0tYx3EuZVylLkOSnLLbOA=", + "requires": { + "lasso-package-root": "^1.0.0", + "raptor-polyfill": "^1.0.2", + "resolve-from": "^1.0.1" + }, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" + } + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dissolve": { + "version": "github:deoxxa/dissolve#eeb806f2bad501548138c8e38d0adcf95d4d1bdb", + "from": "github:deoxxa/dissolve#eeb806f2bad501548138c8e38d0adcf95d4d1bdb", + "requires": { + "bl": "^1.0.0", + "readable-stream": "^2.0.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" + }, + "events-light": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/events-light/-/events-light-1.0.5.tgz", + "integrity": "sha1-lk5jRQugr0prAiqpVbF//vZXte4=", + "requires": { + "chai": "^3.5.0" + } + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "htmljs-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-2.7.1.tgz", + "integrity": "sha512-zdxG/Ou/MLJhF/zjj74fP6Kq8jsJfgZo0uEGgD9yGawpXOPyaUWBR7mIhrUxi1zjk20Z5wyrJAoWcOseBzyw6A==", + "requires": { + "char-props": "^0.1.5", + "complain": "^1.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "is-absolute": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", + "requires": { + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" + } + }, + "is-relative": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", + "requires": { + "is-unc-path": "^0.1.1" + } + }, + "is-unc-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", + "requires": { + "unc-path-regex": "^0.1.0" + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "lasso": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lasso/-/lasso-3.3.1.tgz", + "integrity": "sha512-hhqKMN/4Q5vbaE3As7NchFpjIJjWm1T27wKK/P0//QWxkTLgkTuYCof0qn69VyE8L7ubzSQ60kM2fT5s3Kbm2Q==", + "requires": { + "app-root-dir": "^1.0.2", + "assert": "^1.4.1", + "babel-code-frame": "^6.26.0", + "browser-refresh-client": "^1.1.4", + "buffer": "^5.1.0", + "clean-css": "^4.1.11", + "clone": "^2.1.1", + "complain": "^1.2.0", + "escodegen": "^1.10.0", + "esprima": "^4.0.0", + "estraverse": "^4.2.0", + "events": "^3.0.0", + "glob": "^7.1.2", + "image-size": "^0.6.3", + "lasso-caching-fs": "^1.0.2", + "lasso-loader": "^3.0.2", + "lasso-modules-client": "^2.0.5", + "lasso-package-root": "^1.0.1", + "lasso-resolve-from": "^1.2.0", + "marko": "^4.10.0", + "mime": "^2.3.1", + "mkdirp": "^0.5.1", + "path-browserify": "1.0.0", + "pify": "^3.0.0", + "process": "^0.11.10", + "property-handlers": "^1.1.1", + "raptor-async": "^1.1.3", + "raptor-cache": "^2.0.4", + "raptor-css-parser": "^1.1.5", + "raptor-detect": "^1.0.1", + "raptor-logging": "^1.1.3", + "raptor-objects": "^1.0.2", + "raptor-polyfill": "^1.0.2", + "raptor-promises": "^1.0.3", + "raptor-regexp": "^1.0.1", + "raptor-strings": "^1.0.2", + "raptor-util": "^3.2.0", + "resolve-from": "^4.0.0", + "semver": "^5.5.0", + "send": "^0.16.2", + "stream-browserify": "^2.0.1", + "string_decoder": "^1.1.1", + "strip-json-comments": "^2.0.1", + "terser": "^3.17.0", + "through": "^2.3.8", + "url": "^0.11.0", + "util": "^0.11.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "lasso-caching-fs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lasso-caching-fs/-/lasso-caching-fs-1.0.2.tgz", + "integrity": "sha1-m+TrHwaqwSYDRMrq70LC8AhusQ0=", + "requires": { + "raptor-async": "^1.1.2" + } + }, + "lasso-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lasso-loader/-/lasso-loader-3.0.2.tgz", + "integrity": "sha1-29tV1fcu6zpbrnSn4xtrtf8t0JM=", + "requires": { + "events": "^1.0.2", + "raptor-util": "^1.0.0" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "raptor-util": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" + } + } + }, + "lasso-marko": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/lasso-marko/-/lasso-marko-2.4.8.tgz", + "integrity": "sha512-D1KpCNG7dQJuBiFa2ijOZF3P4WI8U9rI5rVc2optJFLWG+movZGX8B92ORVPxOs+N2vj0Ax+kxuLQ8G7w3Yvjw==", + "requires": { + "callbackify": "^1.1.0" + } + }, + "lasso-modules-client": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lasso-modules-client/-/lasso-modules-client-2.0.5.tgz", + "integrity": "sha1-2aBnJKkAl3Y2lxZn7pwXDS/E3Sg=", + "requires": { + "lasso-package-root": "^1.0.0", + "raptor-polyfill": "^1.0.2" + } + }, + "lasso-package-root": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lasso-package-root/-/lasso-package-root-1.0.1.tgz", + "integrity": "sha1-mX0OcfQdA8Xw+gmlvCmNeW+LLCM=", + "requires": { + "lasso-caching-fs": "^1.0.0" + } + }, + "lasso-resolve-from": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lasso-resolve-from/-/lasso-resolve-from-1.2.0.tgz", + "integrity": "sha1-v7I0Rnr7abUwn1aLpFnMgyBiHG4=", + "requires": { + "is-absolute": "^0.2.3", + "lasso-caching-fs": "^1.0.1", + "raptor-util": "^1.0.10", + "resolve-from": "^2.0.0" + }, + "dependencies": { + "raptor-util": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "listener-tracker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/listener-tracker/-/listener-tracker-2.0.0.tgz", + "integrity": "sha1-OWCLQ1wJAfpVECF8FFJyjWvBm18=" + }, + "marko": { + "version": "4.18.46", + "resolved": "https://registry.npmjs.org/marko/-/marko-4.18.46.tgz", + "integrity": "sha512-sKW9seNK94LNUyKL/Nx2rygzLt+/NWtda5HJ21DqaAx4rErQwibjA/jhIcRzrb2ZXFoN06zOXj+0PO7l5MsTbA==", + "requires": { + "app-module-path": "^2.2.0", + "argly": "^1.0.0", + "browser-refresh-client": "^1.0.0", + "camelcase": "^5.0.0", + "char-props": "~0.1.5", + "complain": "^1.6.0", + "deresolve": "^1.1.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "estraverse": "^4.3.0", + "events-light": "^1.0.0", + "he": "^1.1.0", + "htmljs-parser": "^2.7.1", + "lasso-caching-fs": "^1.0.1", + "lasso-modules-client": "^2.0.4", + "lasso-package-root": "^1.0.1", + "listener-tracker": "^2.0.0", + "minimatch": "^3.0.2", + "property-handlers": "^1.0.0", + "raptor-regexp": "^1.0.0", + "raptor-util": "^3.2.0", + "resolve-from": "^2.0.0", + "self-closing-tags": "^1.0.1", + "simple-sha1": "^2.1.0", + "strip-json-comments": "^2.0.1", + "warp10": "^2.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "path-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", + "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "property-handlers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/property-handlers/-/property-handlers-1.1.1.tgz", + "integrity": "sha1-yyDTIqq32U//rCj0bJGGvVlHtLQ=" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raptor-async": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.3.tgz", + "integrity": "sha1-uDw8m2A9yYXCw6n3jStAc+b2Akw=" + }, + "raptor-cache": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/raptor-cache/-/raptor-cache-2.0.4.tgz", + "integrity": "sha512-x1B07Qvz4H5hk5sfTrPNgWF4cPbQfxVWWdlYEyw3Igq9Cy75fGAtTd+HIp9/sxCQl8I9pSp10vi3a+eCpGrM6Q==", + "requires": { + "dissolve": "github:deoxxa/dissolve#eeb806f2bad501548138c8e38d0adcf95d4d1bdb", + "mkdirp": "^0.5.1", + "property-handlers": "^1.1.1", + "raptor-async": "^1.1.3", + "raptor-logging": "^1.1.3", + "raptor-util": "^1.1.2", + "through": "^2.3.8", + "uuid": "^3.2.1" + }, + "dependencies": { + "raptor-util": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" + } + } + }, + "raptor-css-parser": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/raptor-css-parser/-/raptor-css-parser-1.1.5.tgz", + "integrity": "sha1-HeAY2WEhyNwfHDRoZUmv9xZJ0Dc=", + "requires": { + "raptor-async": "^1.0.0", + "raptor-promises": "^1.0.1" + } + }, + "raptor-detect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/raptor-detect/-/raptor-detect-1.0.1.tgz", + "integrity": "sha1-ClTGOQVu9m39Ur45RfoizG0UZvM=" + }, + "raptor-logging": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/raptor-logging/-/raptor-logging-1.1.3.tgz", + "integrity": "sha512-eklLyQmG5Y2oyIrSsvkFjBkjRYvwjemUQpQhjG757KKaNPxIPX9wu34bfQkIcS7OG495CP28CjX9baABLfOzIw==", + "requires": { + "raptor-polyfill": "^1.0.0", + "raptor-stacktraces": "^1.0.0" + } + }, + "raptor-objects": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/raptor-objects/-/raptor-objects-1.0.2.tgz", + "integrity": "sha1-mQ3ONgQTsHni5K8RTy5zRKcc7hE=", + "requires": { + "raptor-util": "^1.0.0" + }, + "dependencies": { + "raptor-util": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" + } + } + }, + "raptor-polyfill": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/raptor-polyfill/-/raptor-polyfill-1.1.0.tgz", + "integrity": "sha512-VhFc5e6EuNGdax7FQ2QWlCdXFi5OBBsclDh0kzZtgBI7lauc8aFs7+htdi5Q3qCRoYXfsucSBsRKf7a3s+YGmA==" + }, + "raptor-promises": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/raptor-promises/-/raptor-promises-1.0.3.tgz", + "integrity": "sha1-1XaxEOBCNlT3/fFyHijULk3DwOs=", + "requires": { + "q": "^1.0.1", + "raptor-util": "^1.0.0" + }, + "dependencies": { + "raptor-util": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" + } + } + }, + "raptor-regexp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/raptor-regexp/-/raptor-regexp-1.0.1.tgz", + "integrity": "sha1-7PD2bGZxwM2fXkjDcFAmxVCZlcA=" + }, + "raptor-stacktraces": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/raptor-stacktraces/-/raptor-stacktraces-1.0.1.tgz", + "integrity": "sha1-f5+ycafdza4pHGprFd3v+8wAinY=" + }, + "raptor-strings": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/raptor-strings/-/raptor-strings-1.0.2.tgz", + "integrity": "sha1-ks4ssBU6/pBHDYA5oCVbTPM6tfw=", + "requires": { + "raptor-polyfill": "^1.0.1" + } + }, + "raptor-util": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-3.2.0.tgz", + "integrity": "sha1-I7DIA8jxrIocrmfZpjiLSRYcl1g=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, + "rusha": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.13.tgz", + "integrity": "sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo=" + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "self-closing-tags": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/self-closing-tags/-/self-closing-tags-1.0.1.tgz", + "integrity": "sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "simple-sha1": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.2.tgz", + "integrity": "sha512-TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==", + "requires": { + "rusha": "^0.8.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "stackframe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "warp10": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/warp10/-/warp10-2.0.1.tgz", + "integrity": "sha512-nS1KG2RCVTWepfSitZKzL+HYiqqMJag06KtOJF/LwklrJWeJYRWHjMYpd6GXMt09ot+HIEj+Y4dmQNnNNE0Bjg==" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..4d11637 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "klb2", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "lasso --main src/client.js --plugins lasso-marko --inject-into www/index.html" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "lasso": "^3.3.1", + "lasso-marko": "^2.4.8", + "marko": "^4.18.46" + } +} diff --git a/src/client.js b/src/client.js new file mode 100644 index 0000000..71d1db2 --- /dev/null +++ b/src/client.js @@ -0,0 +1,3 @@ +const mainComponent = require('./main') + +mainComponent.renderSync({}).appendTo(document.body) diff --git a/src/components/growShape.marko b/src/components/growShape.marko new file mode 100644 index 0000000..962ed95 --- /dev/null +++ b/src/components/growShape.marko @@ -0,0 +1,3 @@ + + +div.growShape \ No newline at end of file diff --git a/src/components/sinePoint.marko b/src/components/sinePoint.marko new file mode 100644 index 0000000..d9eedca --- /dev/null +++ b/src/components/sinePoint.marko @@ -0,0 +1,46 @@ +class { + onCreate() { + this.state = { + position: 0, + } + this.step = this.step.bind(this) + } + onMount() { + console.log(this.input) + this.step() + } + step() { + let p = this.input.start + this.state.position + let reached = false + if (this.input.dir === 1) { + if (p < this.input.dest) { + this.state.position += this.input.step + } else { + reached = true + this.emit('reached') + } + } else if (this.input.dir === -1) { + if (p > this.input.dest) { + this.state.position -= this.input.step + } else { + reached = true + this.emit('reached') + } + } + if (!reached) window.requestAnimationFrame(this.step) + } +} + +style { + .sinePoint { + position: absolute; + top: 50%; + left: 0; + } +} + +div.sinePoint class=input.class style={ + left: input.start+state.position-5 + '%', + top: 50+Math.sin(input.start+state.position) + '%', +} + <${input.renderBody}/> \ No newline at end of file diff --git a/src/main.marko b/src/main.marko new file mode 100644 index 0000000..5d769fe --- /dev/null +++ b/src/main.marko @@ -0,0 +1,206 @@ +class { + onCreate() { + this.state = { + catReached: false, + birbReached: false, + catHearts: [], + birbHearts: [], + bigHearts: [], + revealedSecret: false, + } + } + startCatHearts() { + for (let i = 0; i < 8; i++) { + this.state.catHearts.push({ + position: 0, + lifetime: 300 * Math.random(), + }) + } + let catHearts = () => { + this.state.catHearts.forEach(heart => { + heart.lifetime -= 1 + heart.position += Math.random() + if (heart.lifetime <= 0) { + heart.position = 0 + heart.lifetime = 300 * Math.random() + } + }) + this.forceUpdate() + window.requestAnimationFrame(catHearts) + } + window.requestAnimationFrame(catHearts) + } + handleCatDone() { + this.state.catReached = true + this.startCatHearts() + if (this.state.catReached && this.state.birbReached && this.state.bigHearts.length === 0) this.startBigHearts() + } + startBirbHearts() { + for (let i = 0; i < 8; i++) { + this.state.birbHearts.push({ + position: 0, + lifetime: 300 * Math.random(), + }) + } + let birbHearts = () => { + this.state.birbHearts.forEach(heart => { + heart.lifetime -= 1 + heart.position += Math.random() + if (heart.lifetime <= 0) { + heart.position = 0 + heart.lifetime = 300 * Math.random() + } + }) + this.forceUpdate() + window.requestAnimationFrame(birbHearts) + } + window.requestAnimationFrame(birbHearts) + } + handleBirbDone() { + this.state.birbReached = true + this.startBirbHearts() + if (this.state.catReached && this.state.birbReached && this.state.bigHearts.length === 0) this.startBigHearts() + } + startBigHearts() { + for (let i = 0; i < 4; i++) { + this.state.bigHearts.push({ + position: 0, + lifetime: 300 * Math.random(), + }) + } + let bigHearts = () => { + this.state.bigHearts.forEach(heart => { + heart.lifetime -= 1 + heart.position += Math.random()/2 + if (heart.lifetime <= 0) { + heart.position = 0 + heart.lifetime = 300 * Math.random() + } + }) + this.forceUpdate() + window.requestAnimationFrame(bigHearts) + } + window.requestAnimationFrame(bigHearts) + } + revealSecret() { + this.state.revealedSecret = true + } +} +style { + html { + width: 100%; + height: 100%; + } + body { + margin: 0; + width: 100%; + height: 100%; + font-size: 10vw; + overflow: hidden; + background: rgb(255,199,199); + background: linear-gradient(0deg, rgba(128,192,200,1) 0%, rgba(8,16,64,1) 100%); + } + .kitty { + position: relative; + color: orange; + } + .birb { + position: relative; + transform: scaleX(-1); + color: lightgreen; + } + .birbHeart { + color: lightblue; + } + .kittyHeart { + color: red; + } + .heart { + position: absolute; + font-size: 2vw; + } + .bigHeart { + position: absolute; + font-size: 4vw; + color: pink; + } + .heartLeft { + background-color: red; + height: 20vw; + transform: rotate(-45deg); + width: 20vw; + } + .heartLeft:after { + content: ""; + background-color: red; + border-radius: 50%; + height: 20vw; + position: absolute; + width: 20vw; + } + .secret { + position: absolute; + top: 25%; + width: 100%; + text-align: center; + font-size: 5vw; + color: pink; + font-weight: bold; + font-family: sans-serif; + z-index: 1000; + } + .revealed { + animation: wooble 8s ease-in-out infinite; + } + @keyframes wooble { + 0% { + font-size: 5vw; + transform: rotate(-4deg); + color: white; + } + 50% { + font-size: 6.5vw; + transform: rotate(2deg); + color: red; + } + 100% { + font-size: 5vw; + transform: rotate(-4deg); + color: white; + } + } +} + +sinePoint dir=-1 dest=55 step=0.1 start=100 on-reached('handleCatDone') + div.kitty -- 🐈 + if(state.catReached) + for|heart| of=state.catHearts + div.heart.kittyHeart style={ + left: Math.cos(heart.position/6)*60+'%', + top: -heart.position+'%', + opacity: heart.lifetime / 500 + '' + } -- ❤️ +sinePoint dir=1 dest=45 step=0.1 start=0 on-reached('handleBirbDone') + div.birb -- 🐦 + if(state.birbReached) + for|heart| of=state.birbHearts + div.heart.birbHeart style={ + left: Math.cos(heart.position/6)*60+'%', + top: -heart.position+'%', + opacity: heart.lifetime / 500 + '' + } -- ❤️ +if(state.catReached && state.birbReached) + for|heart| of=state.bigHearts + div.bigHeart style={ + left: 47+Math.cos(heart.position/6)+'%', + top: 50-heart.position+'%', + opacity: heart.lifetime / 500 + '' + } -- ❤️ + if(!state.revealedSecret) + div.secret on-click('revealSecret') -- (click here for a secret!) + else + div.secret.revealed -- I love youu~ +growShape dir=-1 width=20 + div.heartLeft +growShape dir=1 width=20 + div.heartRight \ No newline at end of file diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..eab0b99 --- /dev/null +++ b/www/index.html @@ -0,0 +1,11 @@ + + + + KlB2 + + + + + + +