mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
lexer impl WIP + test
This commit is contained in:
parent
32eaafd024
commit
e77e0ce675
413
package-lock.json
generated
413
package-lock.json
generated
@ -17,9 +17,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz",
|
||||
"integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==",
|
||||
"version": "7.9.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
|
||||
"integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.4"
|
||||
}
|
||||
@ -198,26 +198,24 @@
|
||||
}
|
||||
},
|
||||
"@jimp/bmp": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.10.3.tgz",
|
||||
"integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.12.0.tgz",
|
||||
"integrity": "sha512-PjgGVaSQvPrepsD52aTQe6B8A1G/OOYIcpXt6K59AUHQE3s6oNo9lYfyUv96gInBBIMze9s8AgLhMLjU8ijw4Q==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"bmp-js": "^0.1.0",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"bmp-js": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"@jimp/core": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.10.3.tgz",
|
||||
"integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.12.0.tgz",
|
||||
"integrity": "sha512-xLF8gvRyJSCu08PI01b/MFijxoBoPusJFbSOOzMnP286qVDouxdXQy6CJB3mMosnlZRgp12I+ZgUvMsdJsL8ig==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"any-base": "^1.1.0",
|
||||
"buffer": "^5.2.0",
|
||||
"core-js": "^3.4.1",
|
||||
"exif-parser": "^0.1.12",
|
||||
"file-type": "^9.0.0",
|
||||
"load-bmfont": "^1.3.1",
|
||||
@ -235,323 +233,294 @@
|
||||
}
|
||||
},
|
||||
"@jimp/custom": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.10.3.tgz",
|
||||
"integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.12.0.tgz",
|
||||
"integrity": "sha512-Rf3p50Jmvy9Aeovs0kyIpd0qbt2peLqDRq6f93AlDkUpB6OZ/rQwgJO8yysNMgI877a3xQz0Tda5j5Lv8AjWgA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/core": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/core": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/gif": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.10.3.tgz",
|
||||
"integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.12.0.tgz",
|
||||
"integrity": "sha512-CMapyrH5LGXbl2jHgQA923wHUNbC0LajqMmMHfyFZE9GZFzXULqbTZdRemHXTXn++iruPSR37oVUYi67WG9qmQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"omggif": "^1.0.9"
|
||||
}
|
||||
},
|
||||
"@jimp/jpeg": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.10.3.tgz",
|
||||
"integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.12.0.tgz",
|
||||
"integrity": "sha512-jAC9gWPCBJ0ysTZDqDUOVUty3/tk2qStw3N5Vk9W3XZNSTNlLp5xWsiATlkAoSrwoBmdgjf6OfZwqmkFDFVMKw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"jpeg-js": "^0.3.4"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-blit": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz",
|
||||
"integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.12.0.tgz",
|
||||
"integrity": "sha512-csSxB/ZOljGLtvRne+nF1EGpcHZ/6mdGc+trcihClTTLAS5FzX+tySpQj9sHrIzzHtEcILYPMOKaf6KC4LOrfw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-blur": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz",
|
||||
"integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.12.0.tgz",
|
||||
"integrity": "sha512-HCL570HvZxhT7Yn/Qqow00sRK0J/E4j1Clwp78vMnQWQ38PONi/Ipyjqp0RLdvCj3tJ3mzrKDqlnN2bbLcKsjQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-circle": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz",
|
||||
"integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.12.0.tgz",
|
||||
"integrity": "sha512-d+cRlyrM4ylXKk6TuFZcoFz8xsXqLHGfZcX+BDFe9HPz+TTW7AoL5eq8I0uLpTHRD1dLdBPScMejkn3ppLKnjg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-color": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.10.3.tgz",
|
||||
"integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.12.0.tgz",
|
||||
"integrity": "sha512-RmPSwryrmLLtsNluQ9hT73EovM+KcthacDmF7VN/xnJMD/r+vXfgUcDLZDx8yQsd5kdezhtPh7wKihH2+voOwg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"tinycolor2": "^1.4.1"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-contain": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz",
|
||||
"integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.12.0.tgz",
|
||||
"integrity": "sha512-mA1l2GbtmY2uLdCiwzdSJa9tZSyL5uvQwT3UrKDWaPiyhT4+VrCgQVD4CBbOFztI8ToxPcGM9GG4oRuRR2cKDQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-cover": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz",
|
||||
"integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.12.0.tgz",
|
||||
"integrity": "sha512-rTrGxCBr1dn6DOVF+g8IFUCXHpfOaZCC4kvOyx/GIE3861GqKyOWzjLRcWTVBfgyiuOx+S6kBwpadmnsFO8tHg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-crop": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz",
|
||||
"integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.12.0.tgz",
|
||||
"integrity": "sha512-sEz1T7waD5c+nB0aJERipc8/LSaRo4IxPzemOuzWaXxvwdUVRPtM7Rk7XOZmJyc2nW8qPNet+2JkaSjg848xgQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-displace": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz",
|
||||
"integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.12.0.tgz",
|
||||
"integrity": "sha512-VWlTF6TEDdGoN56tnOfsHVNNtsWBHCBmT77G+2k2agbXWAPD5A++bye0y4XP/icAS//sAd7UFzvNQlnT7sIAdg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-dither": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz",
|
||||
"integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.12.0.tgz",
|
||||
"integrity": "sha512-EzhHugll52ngdV1RBh1wmRUjf1jgo2GfU+Zh/a05uLxKGZEDWqGcsfFlI4lZnJbiKUhHCTNwZRCkV2w9gNJ6uw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-fisheye": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz",
|
||||
"integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.12.0.tgz",
|
||||
"integrity": "sha512-Rz/gboWtY6sow6FC4tg9kG/fNBLopjGRoMmzHVcoQK1XXI2O/tH6nrliHHv3s3AvBBrQ5qPyO5VyCb1vm9xOmA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-flip": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz",
|
||||
"integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.12.0.tgz",
|
||||
"integrity": "sha512-NFeIHWU95rSmIUnUdHVAYU4dYE3X10qY2peTgbMJ+q1J2qsrUO7w6Gepfd26tA9lh41zwDD5UzuAorpHQ3z27g==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-gaussian": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz",
|
||||
"integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.12.0.tgz",
|
||||
"integrity": "sha512-LXus5pMzUaIYGTCoWDxRiMb5AW0gJMqet3U6+mQIP7OtSnBL2Vimz9WBbzZuEfKRMCc1l6oDwD/o/fH5ehv+TQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-invert": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz",
|
||||
"integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.12.0.tgz",
|
||||
"integrity": "sha512-fkOBCFg9P3Nkc0aFgWt5WgRP41KOs9m8OOnIi4jLnvCamv/Fv8GJLMeDS3gIXuzb/XkS0W/WpMQJmvI1+Zj2xg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-mask": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz",
|
||||
"integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.12.0.tgz",
|
||||
"integrity": "sha512-BWe0n6EB5/b5H062Vybyd2rTkC7yV/DNtNgJiVseZiqJCwmOjZDq+Gx+gKmB3959Th9ipwdEt3nzwBwmyDBVwA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-normalize": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz",
|
||||
"integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.12.0.tgz",
|
||||
"integrity": "sha512-w66beKgxBI1Psv7BmKDxCFJOqAxzn4whVcHgsQ31627HFTelDAf9kSTUOdcIPEwWfWg0tzkKmnHGYQhfJUHYRw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-print": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.10.3.tgz",
|
||||
"integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.12.0.tgz",
|
||||
"integrity": "sha512-DdPAmPlTc0rNXRD7efLnCUD2VhYe9kx6h+2mCobGA3AHakrAdJ8qndkWF6UsYxlyrLXxVTftfWKhHOTGOGyA7Q==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"load-bmfont": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-resize": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz",
|
||||
"integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.12.0.tgz",
|
||||
"integrity": "sha512-5qqrYmMeSyfNvFb+hdL1XDdGC2Db+/1KwWH9Zw3IxaAB4pXVPmZYMfBi9cJXd1mVHafl+FQWAEy5Ii3hXA32aw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-rotate": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz",
|
||||
"integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.12.0.tgz",
|
||||
"integrity": "sha512-tOgn86RoFyDm+BJOfdhPXNjaUiaotKcvMzfdR/o4kL/55y+x7xfVj7v7CJbvudnG29bDwEM+3r8HwfaQsezosg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-scale": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz",
|
||||
"integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.12.0.tgz",
|
||||
"integrity": "sha512-FS8MWgUcCZ1nwFX4YupTK59nuTqK8seo2CXJeHXgGjl8UU6c/EPBD9SrAuqSNbngcDY9fZ65i6srUyqrQ8kk7w==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-shadow": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz",
|
||||
"integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.12.0.tgz",
|
||||
"integrity": "sha512-FzzTVccC6BkL9Y0rFxI5Di4JEZvCxKq7AyyK6qI7OwBrwxoAmtUodkxGDZTUvYfpmtMZeLWG9TUVrJ/sBQ+NWA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugin-threshold": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz",
|
||||
"integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.12.0.tgz",
|
||||
"integrity": "sha512-Sqf2MFDQY/kz0sAPtfjjG4BUcrF58lT09h2EJ75Rdc3hiAWrB7XizLvnI1J8rooHci8Ablbkb/E6xu+52KOGuw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1"
|
||||
"@jimp/utils": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@jimp/plugins": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.10.3.tgz",
|
||||
"integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.12.0.tgz",
|
||||
"integrity": "sha512-P/1vKex4P697ayzVysMSjckcHE2Ii61tyNkq9t1RSZuERgyE616llVKMcil0aVYTnoqapjOwEW36c/fWY8Zj6g==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/plugin-blit": "^0.10.3",
|
||||
"@jimp/plugin-blur": "^0.10.3",
|
||||
"@jimp/plugin-circle": "^0.10.3",
|
||||
"@jimp/plugin-color": "^0.10.3",
|
||||
"@jimp/plugin-contain": "^0.10.3",
|
||||
"@jimp/plugin-cover": "^0.10.3",
|
||||
"@jimp/plugin-crop": "^0.10.3",
|
||||
"@jimp/plugin-displace": "^0.10.3",
|
||||
"@jimp/plugin-dither": "^0.10.3",
|
||||
"@jimp/plugin-fisheye": "^0.10.3",
|
||||
"@jimp/plugin-flip": "^0.10.3",
|
||||
"@jimp/plugin-gaussian": "^0.10.3",
|
||||
"@jimp/plugin-invert": "^0.10.3",
|
||||
"@jimp/plugin-mask": "^0.10.3",
|
||||
"@jimp/plugin-normalize": "^0.10.3",
|
||||
"@jimp/plugin-print": "^0.10.3",
|
||||
"@jimp/plugin-resize": "^0.10.3",
|
||||
"@jimp/plugin-rotate": "^0.10.3",
|
||||
"@jimp/plugin-scale": "^0.10.3",
|
||||
"@jimp/plugin-shadow": "^0.10.3",
|
||||
"@jimp/plugin-threshold": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/plugin-blit": "^0.12.0",
|
||||
"@jimp/plugin-blur": "^0.12.0",
|
||||
"@jimp/plugin-circle": "^0.12.0",
|
||||
"@jimp/plugin-color": "^0.12.0",
|
||||
"@jimp/plugin-contain": "^0.12.0",
|
||||
"@jimp/plugin-cover": "^0.12.0",
|
||||
"@jimp/plugin-crop": "^0.12.0",
|
||||
"@jimp/plugin-displace": "^0.12.0",
|
||||
"@jimp/plugin-dither": "^0.12.0",
|
||||
"@jimp/plugin-fisheye": "^0.12.0",
|
||||
"@jimp/plugin-flip": "^0.12.0",
|
||||
"@jimp/plugin-gaussian": "^0.12.0",
|
||||
"@jimp/plugin-invert": "^0.12.0",
|
||||
"@jimp/plugin-mask": "^0.12.0",
|
||||
"@jimp/plugin-normalize": "^0.12.0",
|
||||
"@jimp/plugin-print": "^0.12.0",
|
||||
"@jimp/plugin-resize": "^0.12.0",
|
||||
"@jimp/plugin-rotate": "^0.12.0",
|
||||
"@jimp/plugin-scale": "^0.12.0",
|
||||
"@jimp/plugin-shadow": "^0.12.0",
|
||||
"@jimp/plugin-threshold": "^0.12.0",
|
||||
"timm": "^1.6.1"
|
||||
}
|
||||
},
|
||||
"@jimp/png": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.10.3.tgz",
|
||||
"integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.12.0.tgz",
|
||||
"integrity": "sha512-5MgVBRhjkivIHy7cJ6QnU4CygndSde0ZMcaVkfBIyh6gd8pCcIG/XbY2TcR9lSkflgw3tUVzLrFR1xWUYr2trg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/utils": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/utils": "^0.12.0",
|
||||
"pngjs": "^3.3.3"
|
||||
}
|
||||
},
|
||||
"@jimp/tiff": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.10.3.tgz",
|
||||
"integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.12.0.tgz",
|
||||
"integrity": "sha512-h7HBCSjTA4YlnWx66qxQh9YxuzxMoBSGkTiUDEhao2BIhYa2pRmRwtMfqp1EdeRYcXkswWpn4qZAr7zY1TlIGw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"core-js": "^3.4.1",
|
||||
"utif": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"@jimp/types": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.10.3.tgz",
|
||||
"integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.12.0.tgz",
|
||||
"integrity": "sha512-6avU1n9lY4vpAHjKSQqrLbk6L5PCNFORre+T1Rcyvv/CGQKxVIAuRj1w+RzXClob8MEmvI17OI3R2w5RCbYpQw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/bmp": "^0.10.3",
|
||||
"@jimp/gif": "^0.10.3",
|
||||
"@jimp/jpeg": "^0.10.3",
|
||||
"@jimp/png": "^0.10.3",
|
||||
"@jimp/tiff": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/bmp": "^0.12.0",
|
||||
"@jimp/gif": "^0.12.0",
|
||||
"@jimp/jpeg": "^0.12.0",
|
||||
"@jimp/png": "^0.12.0",
|
||||
"@jimp/tiff": "^0.12.0",
|
||||
"timm": "^1.6.1"
|
||||
}
|
||||
},
|
||||
"@jimp/utils": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.10.3.tgz",
|
||||
"integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.12.0.tgz",
|
||||
"integrity": "sha512-MVoR31cQ6QRXHQI+qS9po7sr1LQTOOpQHE9I2oVeakcDkVX80xrRBif3WoNPvq3BG2+BDxt09CFwwHFHHFY49Q==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"core-js": "^3.4.1",
|
||||
"regenerator-runtime": "^0.13.3"
|
||||
}
|
||||
},
|
||||
@ -2644,7 +2613,9 @@
|
||||
"core-js": {
|
||||
"version": "3.4.4",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.4.tgz",
|
||||
"integrity": "sha512-vKea1DrcLA80Hrfc7AQgfoGvEaByfR5mH08t+zuWOWY94TFBmabdEL56mUbcijvadG9RxsXR2gUUFrfj4/iTcA=="
|
||||
"integrity": "sha512-vKea1DrcLA80Hrfc7AQgfoGvEaByfR5mH08t+zuWOWY94TFBmabdEL56mUbcijvadG9RxsXR2gUUFrfj4/iTcA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@ -2832,9 +2803,9 @@
|
||||
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
|
||||
},
|
||||
"dayjs": {
|
||||
"version": "1.8.26",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.26.tgz",
|
||||
"integrity": "sha512-KqtAuIfdNfZR5sJY1Dixr2Is4ZvcCqhb0dZpCOt5dGEFiMzoIbjkTSzUb4QKTCsP+WNpGwUjAFIZrnZvUxxkhw=="
|
||||
"version": "1.8.27",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.27.tgz",
|
||||
"integrity": "sha512-Jpa2acjWIeOkg8KURUHICk0EqnEFSSF5eMEscsOgyJ92ZukXwmpmRkPSUka7KHSfbj5eKH30ieosYip+ky9emQ=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
@ -3337,9 +3308,9 @@
|
||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||
},
|
||||
"ejs": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.2.tgz",
|
||||
"integrity": "sha512-zFuywxrAWtX5Mk2KAuoJNkXXbfezpNA0v7i+YC971QORguPekpjpAgeOv99YWSdKXwj7JxI2QAWDeDkE8fWtXw==",
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz",
|
||||
"integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==",
|
||||
"requires": {
|
||||
"jake": "^10.6.1"
|
||||
}
|
||||
@ -4448,9 +4419,9 @@
|
||||
}
|
||||
},
|
||||
"file-type": {
|
||||
"version": "14.3.0",
|
||||
"resolved": "https://registry.npmjs.org/file-type/-/file-type-14.3.0.tgz",
|
||||
"integrity": "sha512-s71v6jMkbfwVdj87csLeNpL5K93mv4lN+lzgzifoICtPHhnXokDwBa3jrzfg+z6FK872iYJ0vS0i74v8XmoFDA==",
|
||||
"version": "14.4.0",
|
||||
"resolved": "https://registry.npmjs.org/file-type/-/file-type-14.4.0.tgz",
|
||||
"integrity": "sha512-U5Q2lHPcERmBsg+DpS/+0r+g7PCsJmyW+aggHnGbMimCyNCpIerLv/VzHJHqtc0O91AXr4Puz4DL7LzA5hMdwA==",
|
||||
"requires": {
|
||||
"readable-web-to-node-stream": "^2.0.0",
|
||||
"strtok3": "^6.0.0",
|
||||
@ -6114,9 +6085,12 @@
|
||||
"integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
|
||||
},
|
||||
"is-wsl": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
|
||||
"integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
|
||||
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
|
||||
"requires": {
|
||||
"is-docker": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-yarn-global": {
|
||||
"version": "0.3.0",
|
||||
@ -6216,6 +6190,38 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"jasmine": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz",
|
||||
"integrity": "sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.4",
|
||||
"jasmine-core": "~3.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jasmine-core": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz",
|
||||
"integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==",
|
||||
"dev": true
|
||||
},
|
||||
"jest-worker": {
|
||||
"version": "25.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
|
||||
@ -6244,15 +6250,14 @@
|
||||
}
|
||||
},
|
||||
"jimp": {
|
||||
"version": "0.10.3",
|
||||
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.10.3.tgz",
|
||||
"integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==",
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.12.0.tgz",
|
||||
"integrity": "sha512-8QD1QNk2ZpoSFLDEQn4rlQ0sDAO1z6UagIqUsH6YjopHCExcAbk3q2hJFXk6wSf+LMHHkic44PhdVTZ0drER2w==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.7.2",
|
||||
"@jimp/custom": "^0.10.3",
|
||||
"@jimp/plugins": "^0.10.3",
|
||||
"@jimp/types": "^0.10.3",
|
||||
"core-js": "^3.4.1",
|
||||
"@jimp/custom": "^0.12.0",
|
||||
"@jimp/plugins": "^0.12.0",
|
||||
"@jimp/types": "^0.12.0",
|
||||
"regenerator-runtime": "^0.13.3"
|
||||
}
|
||||
},
|
||||
@ -8231,9 +8236,9 @@
|
||||
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k="
|
||||
},
|
||||
"open": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz",
|
||||
"integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==",
|
||||
"version": "7.0.4",
|
||||
"resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz",
|
||||
"integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==",
|
||||
"requires": {
|
||||
"is-docker": "^2.0.0",
|
||||
"is-wsl": "^2.1.1"
|
||||
|
14
package.json
14
package.json
@ -18,7 +18,8 @@
|
||||
"build-backend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/entities/*.js src/services/backend_script_api.js",
|
||||
"build-frontend-docs": "./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js src/public/app/widgets/collapsible_widget.js",
|
||||
"build-docs": "npm run build-backend-docs && npm run build-frontend-docs",
|
||||
"webpack": "npx webpack -c webpack-desktop.config.js && npx webpack -c webpack-mobile.config.js && npx webpack -c webpack-setup.config.js"
|
||||
"webpack": "npx webpack -c webpack-desktop.config.js && npx webpack -c webpack-mobile.config.js && npx webpack -c webpack-setup.config.js",
|
||||
"test": "jasmine"
|
||||
},
|
||||
"dependencies": {
|
||||
"async-mutex": "0.2.2",
|
||||
@ -28,16 +29,16 @@
|
||||
"commonmark": "0.29.1",
|
||||
"cookie-parser": "1.4.5",
|
||||
"csurf": "1.11.0",
|
||||
"dayjs": "1.8.26",
|
||||
"dayjs": "1.8.27",
|
||||
"debug": "4.1.1",
|
||||
"ejs": "3.1.2",
|
||||
"ejs": "3.1.3",
|
||||
"electron-debug": "3.0.1",
|
||||
"electron-dl": "3.0.0",
|
||||
"electron-find": "1.0.6",
|
||||
"electron-window-state": "5.0.3",
|
||||
"express": "4.17.1",
|
||||
"express-session": "1.17.1",
|
||||
"file-type": "14.3.0",
|
||||
"file-type": "14.4.0",
|
||||
"fs-extra": "9.0.0",
|
||||
"helmet": "3.22.0",
|
||||
"html": "1.0.0",
|
||||
@ -51,11 +52,11 @@
|
||||
"imagemin-pngquant": "8.0.0",
|
||||
"ini": "1.3.5",
|
||||
"is-svg": "4.2.1",
|
||||
"jimp": "0.10.3",
|
||||
"jimp": "0.12.0",
|
||||
"mime-types": "2.1.27",
|
||||
"multer": "1.4.2",
|
||||
"node-abi": "2.16.0",
|
||||
"open": "7.0.3",
|
||||
"open": "7.0.4",
|
||||
"portscanner": "2.2.0",
|
||||
"rand-token": "1.0.1",
|
||||
"rcedit": "2.1.1",
|
||||
@ -82,6 +83,7 @@
|
||||
"electron-builder": "22.6.0",
|
||||
"electron-packager": "14.2.1",
|
||||
"electron-rebuild": "1.11.0",
|
||||
"jasmine": "^3.5.0",
|
||||
"jsdoc": "3.6.4",
|
||||
"lorem-ipsum": "2.0.3",
|
||||
"webpack": "5.0.0-beta.16",
|
||||
|
29
spec/lexer.spec.js
Normal file
29
spec/lexer.spec.js
Normal file
@ -0,0 +1,29 @@
|
||||
const lexerSpec = require('../src/services/search/lexer.js');
|
||||
|
||||
describe("Lexer", function() {
|
||||
it("simple lexing", () => {
|
||||
expect(lexerSpec("hello world").fulltextTokens)
|
||||
.toEqual(["hello", "world"]);
|
||||
});
|
||||
|
||||
it("use quotes to keep words together", () => {
|
||||
expect(lexerSpec("'hello world' my friend").fulltextTokens)
|
||||
.toEqual(["hello world", "my", "friend"]);
|
||||
|
||||
expect(lexerSpec('"hello world" my friend').fulltextTokens)
|
||||
.toEqual(["hello world", "my", "friend"]);
|
||||
|
||||
expect(lexerSpec('`hello world` my friend').fulltextTokens)
|
||||
.toEqual(["hello world", "my", "friend"]);
|
||||
});
|
||||
|
||||
it("you can use different quotes and other special characters inside quotes", () => {
|
||||
expect(lexerSpec("'I can use \" or ` or #@=*' without problem").fulltextTokens)
|
||||
.toEqual(["I can use \" or ` or #@=*", "without", "problem"]);
|
||||
});
|
||||
|
||||
it("if quote is not ended then it's just one long token", () => {
|
||||
expect(lexerSpec("'unfinished quote").fulltextTokens)
|
||||
.toEqual(["unfinished quote"]);
|
||||
});
|
||||
});
|
11
spec/support/jasmine.json
Normal file
11
spec/support/jasmine.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"spec_dir": "spec",
|
||||
"spec_files": [
|
||||
"**/*[sS]pec.js"
|
||||
],
|
||||
"helpers": [
|
||||
"helpers/**/*.js"
|
||||
],
|
||||
"stopSpecOnExpectationFailure": false,
|
||||
"random": true
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
const repository = require('./repository');
|
||||
const sql = require('./sql');
|
||||
const log = require('./log');
|
||||
const parseFilters = require('./parse_filters');
|
||||
const parseFilters = require('./search/parse_filters.js');
|
||||
const buildSearchQuery = require('./build_search_query');
|
||||
const noteCacheService = require('./note_cache/note_cache.js');
|
||||
|
||||
|
15
src/services/search/expressions/not.js
Normal file
15
src/services/search/expressions/not.js
Normal file
@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
class NotExp {
|
||||
constructor(subExpression) {
|
||||
this.subExpression = subExpression;
|
||||
}
|
||||
|
||||
execute(noteSet, searchContext) {
|
||||
const subNoteSet = this.subExpression.execute(noteSet, searchContext);
|
||||
|
||||
return noteSet.minus(subNoteSet);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = NotExp;
|
94
src/services/search/lexer.js
Normal file
94
src/services/search/lexer.js
Normal file
@ -0,0 +1,94 @@
|
||||
function lexer(str) {
|
||||
const fulltextTokens = [];
|
||||
const expressionTokens = [];
|
||||
|
||||
let quotes = false;
|
||||
let fulltextEnded = false;
|
||||
let currentWord = '';
|
||||
let symbol = false;
|
||||
|
||||
function isSymbol(chr) {
|
||||
return ['=', '*', '>', '<', '!'].includes(chr);
|
||||
}
|
||||
|
||||
function finishWord() {
|
||||
if (currentWord === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fulltextEnded) {
|
||||
expressionTokens.push(currentWord);
|
||||
} else {
|
||||
fulltextTokens.push(currentWord);
|
||||
}
|
||||
|
||||
currentWord = '';
|
||||
}
|
||||
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
const chr = str[i];
|
||||
|
||||
if (chr === '\\') {
|
||||
if ((i + 1) < str.length) {
|
||||
i++;
|
||||
|
||||
currentWord += str[i];
|
||||
}
|
||||
else {
|
||||
currentWord += chr;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
else if (['"', "'", '`'].includes(chr)) {
|
||||
if (!quotes) {
|
||||
if (currentWord.length === 0) {
|
||||
quotes = chr;
|
||||
}
|
||||
else {
|
||||
// quote inside a word does not have special meening and does not break word
|
||||
// e.g. d'Artagnan is kept as a single token
|
||||
currentWord += chr;
|
||||
}
|
||||
}
|
||||
else if (quotes === chr) {
|
||||
quotes = false;
|
||||
|
||||
finishWord();
|
||||
}
|
||||
else {
|
||||
// it's a quote but within other kind of quotes so it's valid as a literal character
|
||||
currentWord += chr;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (!quotes) {
|
||||
if (chr === '#' || chr === '@') {
|
||||
fulltextEnded = true;
|
||||
continue;
|
||||
}
|
||||
else if (chr === ' ') {
|
||||
finishWord();
|
||||
continue;
|
||||
}
|
||||
else if (fulltextEnded && symbol !== isSymbol(chr)) {
|
||||
finishWord();
|
||||
|
||||
currentWord += chr;
|
||||
symbol = isSymbol(chr);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
currentWord += chr;
|
||||
}
|
||||
|
||||
finishWord();
|
||||
|
||||
return {
|
||||
fulltextTokens,
|
||||
expressionTokens
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = lexer;
|
@ -21,6 +21,18 @@ class NoteSet {
|
||||
mergeIn(anotherNoteSet) {
|
||||
this.notes = this.notes.concat(anotherNoteSet.arr);
|
||||
}
|
||||
|
||||
minus(anotherNoteSet) {
|
||||
const newNoteSet = new NoteSet();
|
||||
|
||||
for (const note of this.notes) {
|
||||
if (!anotherNoteSet.hasNoteId(note.noteId)) {
|
||||
newNoteSet.add(note);
|
||||
}
|
||||
}
|
||||
|
||||
return newNoteSet;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = NoteSet;
|
||||
|
@ -1,4 +1,9 @@
|
||||
const dayjs = require("dayjs");
|
||||
const AndExp = require('./expressions/and');
|
||||
const OrExp = require('./expressions/or');
|
||||
const NotExp = require('./expressions/not');
|
||||
const NoteCacheFulltextExp = require('./expressions/note_cache_fulltext');
|
||||
const NoteContentFulltextExp = require('./expressions/note_content_fulltext');
|
||||
|
||||
const filterRegex = /(\b(AND|OR)\s+)?@(!?)([\p{L}\p{Number}_]+|"[^"]+")\s*((=|!=|<|<=|>|>=|!?\*=|!?=\*|!?\*=\*)\s*([^\s=*"]+|"[^"]+"))?/igu;
|
||||
const smartValueRegex = /^(NOW|TODAY|WEEK|MONTH|YEAR) *([+\-] *\d+)?$/i;
|
Loading…
x
Reference in New Issue
Block a user