mirror of
https://github.com/mdgriffith/elm-optimize-level-2.git
synced 2024-11-29 12:46:32 +03:00
Merge branch 'master' of https://github.com/mdgriffith/elm-optimize
This commit is contained in:
commit
f4c4c4e106
25
LINKS.md
Normal file
25
LINKS.md
Normal file
@ -0,0 +1,25 @@
|
||||
# TODO sort and organize
|
||||
|
||||
## Typescript stuff
|
||||
|
||||
runs queries on top of ts ast
|
||||
https://github.com/phenomnomnominal/tsquery
|
||||
|
||||
|
||||
a resource to manipulate typescript code on a higher level
|
||||
https://github.com/JoshuaKGoldberg/TypeStat
|
||||
|
||||
|
||||
description of ts internals
|
||||
https://basarat.gitbook.io/typescript/overview
|
||||
|
||||
|
||||
practicle example how to create a ts program in memory (and use it)
|
||||
https://convincedcoder.com/2019/01/19/Processing-TypeScript-using-TypeScript/
|
||||
|
||||
|
||||
how to write transformers (handbook)
|
||||
https://github.com/madou/typescript-transformer-handbook
|
||||
|
||||
typescript wiki
|
||||
https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API
|
697
package-lock.json
generated
697
package-lock.json
generated
@ -383,6 +383,36 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/node": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/node/-/node-7.10.5.tgz",
|
||||
"integrity": "sha512-suosS7zZ2roj+fYVCnDuVezUbRc0sdoyF0Gj/1FzWxD4ebbGiBGtL5qyqHH4NO34B5m4vWWYWgyNhSsrqS8vwA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/register": "^7.10.5",
|
||||
"commander": "^4.0.1",
|
||||
"core-js": "^3.2.1",
|
||||
"lodash": "^4.17.19",
|
||||
"node-environment-flags": "^1.0.5",
|
||||
"regenerator-runtime": "^0.13.4",
|
||||
"resolve": "^1.13.1",
|
||||
"v8flags": "^3.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"dev": true
|
||||
},
|
||||
"core-js": {
|
||||
"version": "3.6.5",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
|
||||
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz",
|
||||
@ -528,6 +558,15 @@
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-syntax-flow": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz",
|
||||
"integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-syntax-json-strings": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
|
||||
@ -692,6 +731,16 @@
|
||||
"@babel/helper-plugin-utils": "^7.10.4"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-flow-strip-types": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz",
|
||||
"integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4",
|
||||
"@babel/plugin-syntax-flow": "^7.10.4"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-for-of": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
|
||||
@ -1015,6 +1064,16 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/preset-flow": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.10.4.tgz",
|
||||
"integrity": "sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4",
|
||||
"@babel/plugin-transform-flow-strip-types": "^7.10.4"
|
||||
}
|
||||
},
|
||||
"@babel/preset-modules": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
|
||||
@ -1028,6 +1087,75 @@
|
||||
"esutils": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"@babel/register": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.5.tgz",
|
||||
"integrity": "sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"find-cache-dir": "^2.0.0",
|
||||
"lodash": "^4.17.19",
|
||||
"make-dir": "^2.1.0",
|
||||
"pirates": "^4.0.0",
|
||||
"source-map-support": "^0.5.16"
|
||||
},
|
||||
"dependencies": {
|
||||
"find-cache-dir": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
|
||||
"integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commondir": "^1.0.1",
|
||||
"make-dir": "^2.0.0",
|
||||
"pkg-dir": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"find-up": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
|
||||
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"locate-path": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"locate-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
|
||||
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-locate": "^3.0.0",
|
||||
"path-exists": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"p-locate": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
|
||||
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-limit": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"path-exists": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
|
||||
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
|
||||
"dev": true
|
||||
},
|
||||
"pkg-dir": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
|
||||
"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"find-up": "^3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz",
|
||||
@ -1851,6 +1979,13 @@
|
||||
"integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
|
||||
"dev": true
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"acorn": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
|
||||
@ -2066,6 +2201,12 @@
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
|
||||
"dev": true
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
@ -2099,6 +2240,12 @@
|
||||
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
|
||||
"dev": true
|
||||
},
|
||||
"async": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
|
||||
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
|
||||
"dev": true
|
||||
},
|
||||
"async-limiter": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
||||
@ -2598,6 +2745,16 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"block-stream": {
|
||||
"version": "0.0.9",
|
||||
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
|
||||
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"inherits": "~2.0.0"
|
||||
}
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@ -3158,6 +3315,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"dbly-linked-list": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/dbly-linked-list/-/dbly-linked-list-0.3.4.tgz",
|
||||
"integrity": "sha512-327vOlwspi9i1T3Kc9yZhRUR8qDdgMQ4HmXsFDDCQ/HTc3sNe7gnF5b0UrsnaOJ0rvmG7yBZpK0NoOux9rKYKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash.isequal": "^4.5.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
@ -3367,6 +3533,26 @@
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": true
|
||||
},
|
||||
"encoding": {
|
||||
"version": "0.1.13",
|
||||
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
|
||||
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"iconv-lite": "^0.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"iconv-lite": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
|
||||
"integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||
@ -4334,13 +4520,27 @@
|
||||
"bser": "2.1.1"
|
||||
}
|
||||
},
|
||||
"fd-slicer": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
|
||||
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
|
||||
"fbjs": {
|
||||
"version": "0.8.17",
|
||||
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
|
||||
"integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pend": "~1.2.0"
|
||||
"core-js": "^1.0.0",
|
||||
"isomorphic-fetch": "^2.1.1",
|
||||
"loose-envify": "^1.0.0",
|
||||
"object-assign": "^4.1.0",
|
||||
"promise": "^7.1.1",
|
||||
"setimmediate": "^1.0.5",
|
||||
"ua-parser-js": "^0.7.18"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
|
||||
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"figures": {
|
||||
@ -4553,6 +4753,16 @@
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"fs-minipass": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
|
||||
"integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minipass": "^2.6.0"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
@ -4570,6 +4780,19 @@
|
||||
"nan": "^2.12.1"
|
||||
}
|
||||
},
|
||||
"fstream": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
|
||||
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"inherits": "~2.0.0",
|
||||
"mkdirp": ">=0.5 0",
|
||||
"rimraf": "2"
|
||||
}
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
@ -4832,6 +5055,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"homedir-polyfill": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
||||
"integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"parse-passwd": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"hosted-git-info": {
|
||||
"version": "2.8.8",
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
|
||||
@ -4924,11 +5156,15 @@
|
||||
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
|
||||
"dev": true
|
||||
},
|
||||
"immediate": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
|
||||
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
|
||||
"dev": true
|
||||
"ignore-walk": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
|
||||
"integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimatch": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"import-fresh": {
|
||||
"version": "3.2.1",
|
||||
@ -5360,6 +5596,16 @@
|
||||
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
|
||||
"dev": true
|
||||
},
|
||||
"isomorphic-fetch": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
|
||||
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"node-fetch": "^1.0.1",
|
||||
"whatwg-fetch": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
@ -6919,15 +7165,12 @@
|
||||
}
|
||||
},
|
||||
"jszip": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz",
|
||||
"integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==",
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz",
|
||||
"integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lie": "~3.3.0",
|
||||
"pako": "~1.0.2",
|
||||
"readable-stream": "~2.3.6",
|
||||
"set-immediate-shim": "~1.0.1"
|
||||
"pako": "~0.2.5"
|
||||
}
|
||||
},
|
||||
"kind-of": {
|
||||
@ -7041,6 +7284,12 @@
|
||||
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.isequal": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.memoize": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
|
||||
@ -7365,6 +7614,27 @@
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
|
||||
"integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minizlib": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
|
||||
"integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minipass": "^2.9.0"
|
||||
}
|
||||
},
|
||||
"mixin-deep": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
||||
@ -7452,6 +7722,30 @@
|
||||
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
|
||||
"dev": true
|
||||
},
|
||||
"needle": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz",
|
||||
"integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"debug": "^3.2.6",
|
||||
"iconv-lite": "^0.4.4",
|
||||
"sax": "^1.2.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
|
||||
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nice-try": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
@ -7502,6 +7796,72 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-environment-flags": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
|
||||
"integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"object.getownpropertydescriptors": "^2.0.3",
|
||||
"semver": "^5.7.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"encoding": "^0.1.11",
|
||||
"is-stream": "^1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"is-stream": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-gyp": {
|
||||
"version": "3.8.0",
|
||||
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
|
||||
"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"fstream": "^1.0.0",
|
||||
"glob": "^7.0.3",
|
||||
"graceful-fs": "^4.1.2",
|
||||
"mkdirp": "^0.5.0",
|
||||
"nopt": "2 || 3",
|
||||
"npmlog": "0 || 1 || 2 || 3 || 4",
|
||||
"osenv": "0",
|
||||
"request": "^2.87.0",
|
||||
"rimraf": "2",
|
||||
"semver": "~5.3.0",
|
||||
"tar": "^2.0.0",
|
||||
"which": "1"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
|
||||
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-int64": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
|
||||
@ -7535,17 +7895,91 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-pre-gyp": {
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz",
|
||||
"integrity": "sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"detect-libc": "^1.0.2",
|
||||
"mkdirp": "^0.5.3",
|
||||
"needle": "^2.5.0",
|
||||
"nopt": "^4.0.1",
|
||||
"npm-packlist": "^1.1.6",
|
||||
"npmlog": "^4.0.2",
|
||||
"rc": "^1.2.7",
|
||||
"rimraf": "^2.6.1",
|
||||
"semver": "^5.3.0",
|
||||
"tar": "^4.4.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"nopt": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
|
||||
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"abbrev": "1",
|
||||
"osenv": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"tar": {
|
||||
"version": "4.4.13",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
|
||||
"integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chownr": "^1.1.1",
|
||||
"fs-minipass": "^1.2.5",
|
||||
"minipass": "^2.8.6",
|
||||
"minizlib": "^1.2.1",
|
||||
"mkdirp": "^0.5.0",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.1.59",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz",
|
||||
"integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==",
|
||||
"dev": true
|
||||
},
|
||||
"node-zip": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/node-zip/-/node-zip-1.1.1.tgz",
|
||||
"integrity": "sha1-lNGtZ0o81GoViN1zb0qaeMdX62I=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jszip": "2.5.0"
|
||||
}
|
||||
},
|
||||
"noop-logger": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
|
||||
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
|
||||
},
|
||||
"nopt": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
|
||||
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"abbrev": "1"
|
||||
}
|
||||
},
|
||||
"normalize-package-data": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
||||
@ -7575,6 +8009,35 @@
|
||||
"remove-trailing-separator": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"npm-bundled": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
|
||||
"integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"npm-normalize-package-bin": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"npm-normalize-package-bin": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
|
||||
"integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"npm-packlist": {
|
||||
"version": "1.4.8",
|
||||
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
|
||||
"integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ignore-walk": "^3.0.1",
|
||||
"npm-bundled": "^1.0.1",
|
||||
"npm-normalize-package-bin": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"npm-run-path": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||
@ -7889,12 +8352,30 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"os-homedir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"os-tmpdir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
||||
"dev": true
|
||||
},
|
||||
"osenv": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
|
||||
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"os-homedir": "^1.0.0",
|
||||
"os-tmpdir": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"p-each-series": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
|
||||
@ -7950,9 +8431,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"pako": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
||||
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
|
||||
"version": "0.2.9",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
|
||||
"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
|
||||
"dev": true
|
||||
},
|
||||
"parent-module": {
|
||||
@ -7976,6 +8457,12 @@
|
||||
"lines-and-columns": "^1.1.6"
|
||||
}
|
||||
},
|
||||
"parse-passwd": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
|
||||
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
|
||||
"dev": true
|
||||
},
|
||||
"parse5": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
|
||||
@ -8119,6 +8606,31 @@
|
||||
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
|
||||
"dev": true
|
||||
},
|
||||
"prepack": {
|
||||
"version": "0.2.54",
|
||||
"resolved": "https://registry.npmjs.org/prepack/-/prepack-0.2.54.tgz",
|
||||
"integrity": "sha512-wu6j6J6h/TgpYNRS8tXEyprwul2WM2Zr+dSbc/o0O8cdhoOjvMy2T98WK2dhSNe+xyQ/SaqJpepWiCxS8EVjkA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"@babel/generator": "^7.0.0",
|
||||
"@babel/node": "^7.0.0",
|
||||
"@babel/parser": "^7.0.0",
|
||||
"@babel/preset-flow": "^7.0.0",
|
||||
"@babel/template": "^7.0.0",
|
||||
"@babel/traverse": "^7.0.0",
|
||||
"@babel/types": "^7.0.0",
|
||||
"fbjs": "^0.8.16",
|
||||
"node-zip": "^1.1.1",
|
||||
"queue-fifo": "^0.2.3",
|
||||
"seedrandom": "^2.4.2",
|
||||
"source-map": "^0.5.6",
|
||||
"v8-profiler-node8": "^6.0.1",
|
||||
"vscode-debugadapter": "^1.24.0",
|
||||
"vscode-debugprotocol": "^1.24.0",
|
||||
"zip-dir": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"prettier": {
|
||||
"version": "1.19.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
|
||||
@ -8253,6 +8765,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"promise": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"prompts": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
|
||||
@ -8301,6 +8822,15 @@
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
|
||||
"dev": true
|
||||
},
|
||||
"queue-fifo": {
|
||||
"version": "0.2.6",
|
||||
"resolved": "https://registry.npmjs.org/queue-fifo/-/queue-fifo-0.2.6.tgz",
|
||||
"integrity": "sha512-rwlnZHAaTmWEGKC7ziasK8u4QnZW/uN6kSiG+tHNf/1GA+R32FArZi18s3SYUpKcA0Y6jJoUDn5GT3Anoc2mWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"dbly-linked-list": "0.3.4"
|
||||
}
|
||||
},
|
||||
"rc": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
|
||||
@ -8905,36 +9435,11 @@
|
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
|
||||
"dev": true
|
||||
},
|
||||
"selenium-webdriver": {
|
||||
"version": "4.0.0-alpha.7",
|
||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.7.tgz",
|
||||
"integrity": "sha512-D4qnTsyTr91jT8f7MfN+OwY0IlU5+5FmlO5xlgRUV6hDEV8JyYx2NerdTEqDDkNq7RZDYc4VoPALk8l578RBHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jszip": "^3.2.2",
|
||||
"rimraf": "^2.7.1",
|
||||
"tmp": "0.0.30"
|
||||
},
|
||||
"dependencies": {
|
||||
"rimraf": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.30",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
|
||||
"integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"os-tmpdir": "~1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"seedrandom": {
|
||||
"version": "2.4.4",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
|
||||
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.2",
|
||||
@ -8994,6 +9499,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"setimmediate": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
|
||||
"dev": true
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
@ -9576,6 +10087,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
|
||||
"integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"block-stream": "*",
|
||||
"fstream": "^1.0.12",
|
||||
"inherits": "2"
|
||||
}
|
||||
},
|
||||
"tar-fs": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz",
|
||||
@ -10161,6 +10684,12 @@
|
||||
"integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
|
||||
"dev": true
|
||||
},
|
||||
"ua-parser-js": {
|
||||
"version": "0.7.21",
|
||||
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
|
||||
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"unicode-canonical-property-names-ecmascript": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
|
||||
@ -10312,6 +10841,27 @@
|
||||
"integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"v8-profiler-node8": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/v8-profiler-node8/-/v8-profiler-node8-6.3.0.tgz",
|
||||
"integrity": "sha512-SBcgZInMg/zReaobSQxt4veZc6ToGCdFYzI3u1k/3qJrEzT/lHdsE6JimLQRbOeu7ux0h3scT6ASFSXeDL1twQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"nan": "^2.14.1",
|
||||
"node-gyp": "^3.8.0",
|
||||
"node-pre-gyp": "^0.15.0"
|
||||
}
|
||||
},
|
||||
"v8flags": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
|
||||
"integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"homedir-polyfill": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"validate-npm-package-license": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
||||
@ -10333,6 +10883,30 @@
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"vscode-debugadapter": {
|
||||
"version": "1.41.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-debugadapter/-/vscode-debugadapter-1.41.1.tgz",
|
||||
"integrity": "sha512-GTgbYEmfKlkAAad+7Lv1Hr7FvCzU8BEaYbEaq2/JSkG40GOaAM1ZqIX2gtxjVSk+ClWgDAb8PqQnUyxV+hGqiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mkdirp": "^1.0.4",
|
||||
"vscode-debugprotocol": "1.41.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"mkdirp": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
||||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"vscode-debugprotocol": {
|
||||
"version": "1.41.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.41.0.tgz",
|
||||
"integrity": "sha512-Sxp7kDDuhpEZiDaIfhM0jLF3RtMqvc6CpoESANE77t351uezsd/oDoqALLcOnmmsDzTgQ3W0sCvM4gErnjDFpA==",
|
||||
"dev": true
|
||||
},
|
||||
"w3c-hr-time": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
|
||||
@ -10375,6 +10949,12 @@
|
||||
"iconv-lite": "0.4.24"
|
||||
}
|
||||
},
|
||||
"whatwg-fetch": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.2.0.tgz",
|
||||
"integrity": "sha512-SdGPoQMMnzVYThUbSrEvqTlkvC1Ux27NehaJ/GUHBfNrh5Mjg+1/uRyFMwVnxO2MrikMWvWAqUGgQOfVU4hT7w==",
|
||||
"dev": true
|
||||
},
|
||||
"whatwg-mimetype": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
|
||||
@ -10570,6 +11150,13 @@
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"yaml": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
|
||||
@ -10687,6 +11274,16 @@
|
||||
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
||||
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
||||
"dev": true
|
||||
},
|
||||
"zip-dir": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-1.0.2.tgz",
|
||||
"integrity": "sha1-JT+QeurWKiGs2HIdi4gDKyQRwFE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "^1.5.2",
|
||||
"jszip": "^2.4.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@
|
||||
"husky": "^4.2.5",
|
||||
"node-elm-compiler": "^5.0.4",
|
||||
"selenium-webdriver": "^4.0.0-alpha.7",
|
||||
"prepack": "^0.2.54",
|
||||
"ts-node": "^8.10.2",
|
||||
"tsdx": "^0.13.2",
|
||||
"tslib": "^2.0.0",
|
||||
|
@ -14,13 +14,23 @@ import {
|
||||
createInlineListFromArrayTransformer,
|
||||
} from './experiments/inlineListFromArray';
|
||||
|
||||
import { prepackFileSync } from 'prepack';
|
||||
|
||||
import {
|
||||
createReplaceUtilsUpdateWithObjectSpread,
|
||||
convertFunctionExpressionsToArrowFuncs,
|
||||
NativeSpread,
|
||||
} from './experiments/modernizeJS';
|
||||
|
||||
export const compileAndTransform = (dir: string, file: string): {} => {
|
||||
type TransformOptions = {
|
||||
prepack: boolean;
|
||||
};
|
||||
|
||||
const compileAndTransform = (
|
||||
dir: string,
|
||||
file: string,
|
||||
options?: TransformOptions
|
||||
): {} => {
|
||||
// Compile examples in `testcases/*` folder as js
|
||||
// Run whatever transformations we want on them, saving steps as `elm.{transformation}.js`
|
||||
compileSync([file], {
|
||||
@ -90,6 +100,18 @@ export const compileAndTransform = (dir: string, file: string): {} => {
|
||||
|
||||
fs.writeFileSync(pathInOutput('elm.opt.js'), printer.printFile(initialJs));
|
||||
|
||||
if (options?.prepack) {
|
||||
console.log('here');
|
||||
const { code } = prepackFileSync([pathInOutput('elm.opt.transformed.js')], {
|
||||
debugNames: true,
|
||||
inlineExpressions: true,
|
||||
maxStackDepth: 1200, // that didn't help
|
||||
});
|
||||
console.log('there', code.length);
|
||||
|
||||
fs.writeFileSync(pathInOutput('elm.opt.prepack.js'), code);
|
||||
}
|
||||
|
||||
return {};
|
||||
};
|
||||
|
||||
|
26
src/external-untyped-modules.d.ts
vendored
26
src/external-untyped-modules.d.ts
vendored
@ -1,2 +1,28 @@
|
||||
declare module 'node-elm-compiler';
|
||||
declare module 'tree-sitter-elm';
|
||||
|
||||
declare module 'prepack' {
|
||||
// https://prepack.io/getting-started.html
|
||||
export type PrepackOptions = {
|
||||
/** If true, try to retain original variable and function names as part of the generated code.*/
|
||||
debugNames?: boolean;
|
||||
|
||||
/** Enables two passes in the serializer to improve code quality by avoiding intermediate variables.*/
|
||||
inlineExpressions?: boolean;
|
||||
|
||||
/** Logs evaluated function calls. */
|
||||
trace?: boolean;
|
||||
|
||||
/** https://github.com/facebook/prepack/wiki/PP0045
|
||||
*
|
||||
* Prepack imposes a maximum call stack depth. It can be configured via the maxStackDepth option, and it defaults to 112.
|
||||
* This compiler diagnostics is triggered when an excess number of execution contexts have been pushed on the call stack.
|
||||
*/
|
||||
maxStackDepth?: number;
|
||||
};
|
||||
|
||||
export function prepackFileSync(
|
||||
fileNames: string[],
|
||||
options: PrepackOptions
|
||||
): { code: string };
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ values =
|
||||
|
||||
|
||||
many =
|
||||
List.repeat 1000 values
|
||||
List.repeat 100 values
|
||||
|> List.concat
|
||||
|
||||
|
||||
|
@ -7195,7 +7195,7 @@ var $author$project$Main$values = _List_fromArray(
|
||||
A2($author$project$Main$Two, 'Two', 'two')
|
||||
]);
|
||||
var $author$project$Main$many = $elm$core$List$concat(
|
||||
A2($elm$core$List$repeat, 1000, $author$project$Main$values));
|
||||
A2($elm$core$List$repeat, 100, $author$project$Main$values));
|
||||
var $author$project$Main$updateRecord = F2(
|
||||
function (attr, record) {
|
||||
return _Utils_update(
|
||||
|
@ -4985,7 +4985,7 @@
|
||||
$author$project$Main$One(5),
|
||||
A2($author$project$Main$Two, "Two", "two")
|
||||
]);
|
||||
var $author$project$Main$many = $elm$core$List$concat(A2($elm$core$List$repeat, 1000, $author$project$Main$values));
|
||||
var $author$project$Main$many = $elm$core$List$concat(A2($elm$core$List$repeat, 100, $author$project$Main$values));
|
||||
var $author$project$Main$updateRecord = F2(function (attr, record) {
|
||||
return _Utils_update(record, { aO: 87 });
|
||||
});
|
||||
|
12129
testcases/bench/output/elm.opt.prepack.js
Normal file
12129
testcases/bench/output/elm.opt.prepack.js
Normal file
File diff suppressed because one or more lines are too long
@ -4259,7 +4259,7 @@
|
||||
var $author$project$Main$Two_raw = (a, b) => ({ $: 2, a, b }), $author$project$Main$Two = F2($author$project$Main$Two_raw);
|
||||
var $author$project$Main$Zero = { $: 0, a: null, b: null };
|
||||
var $author$project$Main$values = { $: 1, a: $author$project$Main$Zero, b: { $: 1, a: $author$project$Main$One(5), b: { $: 1, a: $author$project$Main$Two_raw("Two", "two"), b: _List_Nil } } };
|
||||
var $author$project$Main$many = $elm$core$List$concat($elm$core$List$repeat_raw(1000, $author$project$Main$values));
|
||||
var $author$project$Main$many = $elm$core$List$concat($elm$core$List$repeat_raw(100, $author$project$Main$values));
|
||||
var $author$project$Main$updateRecord_raw = (attr, record) => _Utils_update(record, { aO: 87 }), $author$project$Main$updateRecord = F2($author$project$Main$updateRecord_raw);
|
||||
var $author$project$Main$suite = $elm_explorations$benchmark$Benchmark$Benchmark$Group_raw("Benchmarks", { $: 1, a: $elm_explorations$benchmark$Benchmark$benchmark_raw("sum 1000 entities in a list", (_v0) => $elm$core$List$foldl_raw($author$project$Main$addMyType, 0, $author$project$Main$many)), b: { $: 1, a: $elm_explorations$benchmark$Benchmark$benchmark_raw("1000 record updates", (_v1) => $elm$core$List$foldl_raw($author$project$Main$updateRecord, { aO: 1, bq: 3, br: 2 }, $author$project$Main$many)), b: _List_Nil } });
|
||||
var $author$project$Main$main = $author$project$Benchmark$Runner$Json$program_raw($author$project$Main$reportResults, $author$project$Main$suite);
|
||||
|
@ -19,7 +19,7 @@ values =
|
||||
|
||||
|
||||
many =
|
||||
List.repeat 1000 values
|
||||
List.repeat 100 values
|
||||
|> List.concat
|
||||
|
||||
|
||||
|
@ -4518,7 +4518,7 @@ var $author$project$Main$values = _List_fromArray(
|
||||
A2($author$project$Main$Two, 'Two', 'two')
|
||||
]);
|
||||
var $author$project$Main$many = $elm$core$List$concat(
|
||||
A2($elm$core$List$repeat, 1000, $author$project$Main$values));
|
||||
A2($elm$core$List$repeat, 100, $author$project$Main$values));
|
||||
var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
|
||||
var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
|
||||
var $author$project$Main$main = function () {
|
||||
|
@ -3167,7 +3167,7 @@
|
||||
$author$project$Main$One(5),
|
||||
A2($author$project$Main$Two, "Two", "two")
|
||||
]);
|
||||
var $author$project$Main$many = $elm$core$List$concat(A2($elm$core$List$repeat, 1000, $author$project$Main$values));
|
||||
var $author$project$Main$many = $elm$core$List$concat(A2($elm$core$List$repeat, 100, $author$project$Main$values));
|
||||
var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
|
||||
var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
|
||||
var $author$project$Main$main = function () {
|
||||
|
703
testcases/simple/output/elm.opt.prepack.js
Normal file
703
testcases/simple/output/elm.opt.prepack.js
Normal file
@ -0,0 +1,703 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
var $$0_enumerable_58false_44configurable_58true_44writable_58false = {
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
writable: false
|
||||
};
|
||||
|
||||
var _$0_global = this;
|
||||
|
||||
var _$1_Object = _$0_global.Object;
|
||||
var _$2_Object_46defineProperty = _$1_Object.defineProperty;
|
||||
var _$3_Math = _$0_global.Math;
|
||||
var _$4_Math_46floor = _$3_Math.floor;
|
||||
var _$5_Math_46log = _$3_Math.log;
|
||||
var _$6_Math_46ceil = _$3_Math.ceil;
|
||||
|
||||
var _13__95Utils_95cmp = function (x, y, ord) {
|
||||
if (typeof x !== "object") {
|
||||
return x === y ?
|
||||
/*EQ*/
|
||||
0 : x < y ?
|
||||
/*LT*/
|
||||
-1 :
|
||||
/*GT*/
|
||||
1;
|
||||
}
|
||||
/**_UNUSED/
|
||||
if (x instanceof String)
|
||||
{
|
||||
var a = x.valueOf();
|
||||
var b = y.valueOf();
|
||||
return a === b ? 0 : a < b ? -1 : 1;
|
||||
}
|
||||
//*/
|
||||
|
||||
/**/
|
||||
|
||||
|
||||
if (typeof x.$ === "undefined") //*/
|
||||
|
||||
/**_UNUSED/
|
||||
if (x.$[0] === '#')
|
||||
//*/
|
||||
{
|
||||
return (ord = _13__95Utils_95cmp(x.a, y.a)) ? ord : (ord = _13__95Utils_95cmp(x.b, y.b)) ? ord : _13__95Utils_95cmp(x.c, y.c);
|
||||
} // traverse conses until end of a list or a mismatch
|
||||
|
||||
|
||||
for (; x.b && y.b && !(ord = _13__95Utils_95cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES
|
||||
|
||||
|
||||
return ord || (x.b ?
|
||||
/*GT*/
|
||||
1 : y.b ?
|
||||
/*LT*/
|
||||
-1 :
|
||||
/*EQ*/
|
||||
0);
|
||||
};
|
||||
|
||||
var _U__95List_95fromArray = function (arr) {
|
||||
var out = _P__36temp_36list;
|
||||
|
||||
for (var i = arr.length; i--;) {
|
||||
out = _Z_(arr[i], out);
|
||||
}
|
||||
|
||||
return out;
|
||||
};
|
||||
|
||||
var _L__95Json_95runHelp = function (decoder, value) {
|
||||
switch (decoder.$) {
|
||||
case 2:
|
||||
return decoder.b(value);
|
||||
|
||||
case 5:
|
||||
return value === null ? _N__36elm_36core_36Result_36Ok(decoder.c) : _O_("null", value);
|
||||
|
||||
case 3:
|
||||
if (!_S_(value)) {
|
||||
return _O_("a LIST", value);
|
||||
}
|
||||
|
||||
return _T__95Json_95runArrayDecoder(decoder.b, value, _U__95List_95fromArray);
|
||||
|
||||
case 4:
|
||||
if (!_S_(value)) {
|
||||
return _O_("an ARRAY", value);
|
||||
}
|
||||
|
||||
return _T__95Json_95runArrayDecoder(decoder.b, value, _V_);
|
||||
|
||||
case 6:
|
||||
var field = decoder.d;
|
||||
|
||||
if (typeof value !== "object" || value === null || !(field in value)) {
|
||||
return _O_("an OBJECT with a field named `" + field + "`", value);
|
||||
}
|
||||
|
||||
var result = _L__95Json_95runHelp(decoder.b, value[field]);
|
||||
|
||||
return _M__36elm_36core_36Result_36isOk(result) ? result : _W__36elm_36core_36Result_36Err(_X__36elm_36json_36Json_36Decode_36Field_95raw(field, result.a));
|
||||
|
||||
case 7:
|
||||
var index = decoder.e;
|
||||
|
||||
if (!_S_(value)) {
|
||||
return _O_("an ARRAY", value);
|
||||
}
|
||||
|
||||
if (index >= value.length) {
|
||||
return _O_("a LONGER array. Need index " + index + " but only see " + value.length + " entries", value);
|
||||
}
|
||||
|
||||
var result = _L__95Json_95runHelp(decoder.b, value[index]);
|
||||
|
||||
return _M__36elm_36core_36Result_36isOk(result) ? result : _W__36elm_36core_36Result_36Err(_Y__36elm_36json_36Json_36Decode_36Index_95raw(index, result.a));
|
||||
|
||||
case 8:
|
||||
if (typeof value !== "object" || value === null || _S_(value)) {
|
||||
return _O_("an OBJECT", value);
|
||||
}
|
||||
|
||||
var keyValuePairs = _P__36temp_36list; // TODO test perf of Object.keys and switch when support is good enough
|
||||
|
||||
for (var key in value) {
|
||||
if (value.hasOwnProperty(key)) {
|
||||
var result = _L__95Json_95runHelp(decoder.b, value[key]);
|
||||
|
||||
if (!_M__36elm_36core_36Result_36isOk(result)) {
|
||||
return _W__36elm_36core_36Result_36Err(_X__36elm_36json_36Json_36Decode_36Field_95raw(key, result.a));
|
||||
}
|
||||
|
||||
keyValuePairs = _Z_(_a_(key, result.a), keyValuePairs);
|
||||
}
|
||||
}
|
||||
|
||||
return _N__36elm_36core_36Result_36Ok(_b__36elm_36core_36List_36reverse(keyValuePairs));
|
||||
|
||||
case 9:
|
||||
var answer = decoder.f;
|
||||
var decoders = decoder.g;
|
||||
|
||||
for (var i = 0; i < decoders.length; i++) {
|
||||
var result = _L__95Json_95runHelp(decoders[i], value);
|
||||
|
||||
if (!_M__36elm_36core_36Result_36isOk(result)) {
|
||||
return result;
|
||||
}
|
||||
|
||||
answer = answer(result.a);
|
||||
}
|
||||
|
||||
return _N__36elm_36core_36Result_36Ok(answer);
|
||||
|
||||
case 10:
|
||||
var result = _L__95Json_95runHelp(decoder.b, value);
|
||||
|
||||
return !_M__36elm_36core_36Result_36isOk(result) ? result : _L__95Json_95runHelp(decoder.h(result.a), value);
|
||||
|
||||
case 11:
|
||||
var errors = _P__36temp_36list;
|
||||
|
||||
for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS
|
||||
{
|
||||
var result = _L__95Json_95runHelp(temp.a, value);
|
||||
|
||||
if (_M__36elm_36core_36Result_36isOk(result)) {
|
||||
return result;
|
||||
}
|
||||
|
||||
errors = _Z_(result.a, errors);
|
||||
}
|
||||
|
||||
return _W__36elm_36core_36Result_36Err(_c__36elm_36json_36Json_36Decode_36OneOf(_b__36elm_36core_36List_36reverse(errors)));
|
||||
|
||||
case 1:
|
||||
return _W__36elm_36core_36Result_36Err(_d__36elm_36json_36Json_36Decode_36Failure_95raw(decoder.a, _e_(value)));
|
||||
|
||||
case 0:
|
||||
return _N__36elm_36core_36Result_36Ok(decoder.a);
|
||||
}
|
||||
};
|
||||
|
||||
var _T__95Json_95runArrayDecoder = function (decoder, value, toElmValue) {
|
||||
var len = value.length;
|
||||
var array = new Array(len);
|
||||
|
||||
for (var i = 0; i < len; i++) {
|
||||
var result = _L__95Json_95runHelp(decoder, value[i]);
|
||||
|
||||
if (!_M__36elm_36core_36Result_36isOk(result)) {
|
||||
return _W__36elm_36core_36Result_36Err(_Y__36elm_36json_36Json_36Decode_36Index_95raw(i, result.a));
|
||||
}
|
||||
|
||||
array[i] = result.a;
|
||||
}
|
||||
|
||||
return _N__36elm_36core_36Result_36Ok(toElmValue(array));
|
||||
};
|
||||
|
||||
var _E__95VirtualDom_95appendChild = function (parent, child) {
|
||||
parent.appendChild(child);
|
||||
};
|
||||
|
||||
var _A__95VirtualDom_95render = function (vNode, eventNode) {
|
||||
var tag = vNode.$;
|
||||
|
||||
if (tag === 5) {
|
||||
return _A__95VirtualDom_95render(vNode.k || (vNode.k = vNode.m()), eventNode);
|
||||
}
|
||||
|
||||
if (tag === 0) {
|
||||
return _B__95VirtualDom_95doc.createTextNode(vNode.a);
|
||||
}
|
||||
|
||||
if (tag === 4) {
|
||||
var subNode = vNode.k;
|
||||
var tagger = vNode.j;
|
||||
|
||||
while (subNode.$ === 4) {
|
||||
typeof tagger !== "object" ? tagger = [tagger, subNode.j] : tagger.push(subNode.j);
|
||||
subNode = subNode.k;
|
||||
}
|
||||
|
||||
var subEventRoot = {
|
||||
j: tagger,
|
||||
p: eventNode
|
||||
};
|
||||
|
||||
var domNode = _A__95VirtualDom_95render(subNode, subEventRoot);
|
||||
|
||||
domNode.elm_event_node_ref = subEventRoot;
|
||||
return domNode;
|
||||
}
|
||||
|
||||
if (tag === 3) {
|
||||
var domNode = vNode.h(vNode.g);
|
||||
|
||||
_D__95VirtualDom_95applyFacts(domNode, eventNode, vNode.d);
|
||||
|
||||
return domNode;
|
||||
} // at this point `tag` must be 1 or 2
|
||||
|
||||
|
||||
var domNode = vNode.f ? _B__95VirtualDom_95doc.createElementNS(vNode.f, vNode.c) : _B__95VirtualDom_95doc.createElement(vNode.c);
|
||||
|
||||
if (void 0) {
|
||||
domNode.addEventListener("click", (void 0)(domNode));
|
||||
}
|
||||
|
||||
_D__95VirtualDom_95applyFacts(domNode, eventNode, vNode.d);
|
||||
|
||||
for (var kids = vNode.e, i = 0; i < kids.length; i++) {
|
||||
_E__95VirtualDom_95appendChild(domNode, _A__95VirtualDom_95render(tag === 1 ? kids[i] : kids[i].b, eventNode));
|
||||
}
|
||||
|
||||
return domNode;
|
||||
};
|
||||
|
||||
var _D__95VirtualDom_95applyFacts = function (domNode, eventNode, facts) {
|
||||
for (var key in facts) {
|
||||
var value = facts[key];
|
||||
key === "a1" ? _F__95VirtualDom_95applyStyles(domNode, value) : key === "a0" ? _G__95VirtualDom_95applyEvents(domNode, eventNode, value) : key === "a3" ? _H__95VirtualDom_95applyAttrs(domNode, value) : key === "a4" ? _I__95VirtualDom_95applyAttrsNS(domNode, value) : (key !== "value" && key !== "checked" || domNode[key] !== value) && (domNode[key] = value);
|
||||
}
|
||||
};
|
||||
|
||||
var _F__95VirtualDom_95applyStyles = function (domNode, styles) {
|
||||
var domNodeStyle = domNode.style;
|
||||
|
||||
for (var key in styles) {
|
||||
domNodeStyle[key] = styles[key];
|
||||
}
|
||||
};
|
||||
|
||||
var _H__95VirtualDom_95applyAttrs = function (domNode, attrs) {
|
||||
for (var key in attrs) {
|
||||
var value = attrs[key];
|
||||
typeof value !== "undefined" ? domNode.setAttribute(key, value) : domNode.removeAttribute(key);
|
||||
}
|
||||
};
|
||||
|
||||
var _I__95VirtualDom_95applyAttrsNS = function (domNode, nsAttrs) {
|
||||
for (var key in nsAttrs) {
|
||||
var pair = nsAttrs[key];
|
||||
var namespace = pair.f;
|
||||
var value = pair.o;
|
||||
typeof value !== "undefined" ? domNode.setAttributeNS(namespace, key, value) : domNode.removeAttributeNS(namespace, key);
|
||||
}
|
||||
};
|
||||
|
||||
var _G__95VirtualDom_95applyEvents = function (domNode, eventNode, events) {
|
||||
var allCallbacks = domNode.elmFs || (domNode.elmFs = {});
|
||||
|
||||
for (var key in events) {
|
||||
var newHandler = events[key];
|
||||
var oldCallback = allCallbacks[key];
|
||||
|
||||
if (!newHandler) {
|
||||
domNode.removeEventListener(key, oldCallback);
|
||||
allCallbacks[key] = undefined;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oldCallback) {
|
||||
var oldHandler = oldCallback.q;
|
||||
|
||||
if (oldHandler.$ === newHandler.$) {
|
||||
oldCallback.q = newHandler;
|
||||
continue;
|
||||
}
|
||||
|
||||
domNode.removeEventListener(key, oldCallback);
|
||||
}
|
||||
|
||||
oldCallback = _J__95VirtualDom_95makeCallback(eventNode, newHandler);
|
||||
domNode.addEventListener(key, oldCallback, void 0);
|
||||
allCallbacks[key] = oldCallback;
|
||||
}
|
||||
};
|
||||
|
||||
var _J__95VirtualDom_95makeCallback = function (eventNode, initialHandler) {
|
||||
function callback(event) {
|
||||
var handler = callback.q;
|
||||
|
||||
var result = _L__95Json_95runHelp(handler.a, event);
|
||||
|
||||
if (!_M__36elm_36core_36Result_36isOk(result)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var tag = _K__36elm_36virtual_95dom_36VirtualDom_36toHandlerInt(handler); // 0 = Normal
|
||||
// 1 = MayStopPropagation
|
||||
// 2 = MayPreventDefault
|
||||
// 3 = Custom
|
||||
|
||||
|
||||
var value = result.a;
|
||||
var message = !tag ? value : tag < 3 ? value.a : value.o;
|
||||
var stopPropagation = tag == 1 ? value.b : tag == 3 && value.J;
|
||||
var currentEventNode = (stopPropagation && event.stopPropagation(), (tag == 2 ? value.b : tag == 3 && value.G) && event.preventDefault(), eventNode);
|
||||
var tagger;
|
||||
var i;
|
||||
|
||||
while (tagger = currentEventNode.j) {
|
||||
if (typeof tagger == "function") {
|
||||
message = tagger(message);
|
||||
} else {
|
||||
for (var i = tagger.length; i--;) {
|
||||
message = tagger[i](message);
|
||||
}
|
||||
}
|
||||
|
||||
currentEventNode = currentEventNode.p;
|
||||
}
|
||||
|
||||
currentEventNode(message, stopPropagation); // stopPropagation implies isSync
|
||||
}
|
||||
|
||||
callback.q = initialHandler;
|
||||
return callback;
|
||||
};
|
||||
|
||||
var _q__95JsArray_95initialize_95raw = function (size, offset, func) {
|
||||
var result = new Array(size);
|
||||
|
||||
for (var i = 0; i < size; i++) {
|
||||
result[i] = func(offset + i);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
var _14__95JsArray_95initializeFromList_95raw = function (max, ls) {
|
||||
var result = new Array(max);
|
||||
|
||||
for (var i = 0; i < max && ls.b; i++) {
|
||||
result[i] = ls.a;
|
||||
ls = ls.b;
|
||||
}
|
||||
|
||||
result.length = i;
|
||||
return _a_(result, ls);
|
||||
};
|
||||
|
||||
var _9__95VirtualDom_95init_95raw = function (virtualNode, flagDecoder, debugMetadata, args) {
|
||||
// NOTE: this function needs _Platform_export available to work
|
||||
|
||||
/**/
|
||||
var node = args["node"]; //*/
|
||||
|
||||
/**_UNUSED/
|
||||
var node = args && args['node'] ? args['node'] : _Debug_crash(0);
|
||||
//*/
|
||||
|
||||
node.parentNode.replaceChild(_A__95VirtualDom_95render(virtualNode, function () {}), node);
|
||||
return {};
|
||||
};
|
||||
|
||||
var _g__36elm_36core_36List_36foldl_95raw = function (func, acc, list) {
|
||||
foldl: while (true) {
|
||||
if (!list.b) {
|
||||
return acc;
|
||||
} else {
|
||||
var x = list.a;
|
||||
var xs = list.b;
|
||||
|
||||
var $temp$func = func,
|
||||
$temp$acc = _p_(func, x, acc),
|
||||
$temp$list = xs;
|
||||
|
||||
func = $temp$func;
|
||||
acc = $temp$acc;
|
||||
list = $temp$list;
|
||||
continue foldl;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var _15__36elm_36core_36Array_36compressNodes_95raw = function (nodes, acc) {
|
||||
compressNodes: while (true) {
|
||||
var _v0 = _14__95JsArray_95initializeFromList_95raw(32, nodes);
|
||||
|
||||
var node = _v0.a;
|
||||
var remainingNodes = _v0.b;
|
||||
|
||||
var newAcc = _Z_(_16__36elm_36core_36Array_36SubTree(node), acc);
|
||||
|
||||
if (!remainingNodes.b) {
|
||||
return _b__36elm_36core_36List_36reverse(newAcc);
|
||||
} else {
|
||||
var $temp$nodes = remainingNodes,
|
||||
$temp$acc = newAcc;
|
||||
nodes = $temp$nodes;
|
||||
acc = $temp$acc;
|
||||
continue compressNodes;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var _z__36elm_36core_36Array_36treeFromBuilder_95raw = function (nodeList, nodeListSize) {
|
||||
treeFromBuilder: while (true) {
|
||||
var newNodeSize = _12__36elm_36core_36Basics_36ceiling(nodeListSize / 32);
|
||||
|
||||
if (newNodeSize === 1) {
|
||||
return _14__95JsArray_95initializeFromList_95raw(32, nodeList).a;
|
||||
} else {
|
||||
var $temp$nodeList = _15__36elm_36core_36Array_36compressNodes_95raw(nodeList, _P__36temp_36list),
|
||||
$temp$nodeListSize = newNodeSize;
|
||||
|
||||
nodeList = $temp$nodeList;
|
||||
nodeListSize = $temp$nodeListSize;
|
||||
continue treeFromBuilder;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var _s__36elm_36core_36Array_36builderToArray_95raw = function (reverseNodeList, builder) {
|
||||
if (!builder.a) {
|
||||
return _u__36elm_36core_36Array_36Array_95elm_95builtin_95raw(_v__36elm_36core_36Elm_36JsArray_36length(builder.c), 5, _l__36elm_36core_36Elm_36JsArray_36empty, builder.c);
|
||||
} else {
|
||||
var treeLen = builder.a * 32;
|
||||
|
||||
var depth = _x__36elm_36core_36Basics_36floor(_y__36elm_36core_36Basics_36logBase_95raw(32, treeLen - 1));
|
||||
|
||||
var correctNodeList = reverseNodeList ? _b__36elm_36core_36List_36reverse(builder.d) : builder.d;
|
||||
|
||||
var tree = _z__36elm_36core_36Array_36treeFromBuilder_95raw(correctNodeList, builder.a);
|
||||
|
||||
return _u__36elm_36core_36Array_36Array_95elm_95builtin_95raw(_v__36elm_36core_36Elm_36JsArray_36length(builder.c) + treeLen, _10__36elm_36core_36Basics_36max_95raw(5, depth * 5), tree, builder.c);
|
||||
}
|
||||
};
|
||||
|
||||
var _r__36elm_36core_36Array_36initializeHelp_95raw = function (fn, fromIndex, len, nodeList, tail) {
|
||||
initializeHelp: while (true) {
|
||||
if (fromIndex < 0) {
|
||||
return _s__36elm_36core_36Array_36builderToArray_95raw(false, {
|
||||
d: nodeList,
|
||||
a: len / 32 | 0,
|
||||
c: tail
|
||||
});
|
||||
} else {
|
||||
var leaf = _t__36elm_36core_36Array_36Leaf(_q__95JsArray_95initialize_95raw(32, fromIndex, fn));
|
||||
|
||||
var $temp$fn = fn,
|
||||
$temp$fromIndex = fromIndex - 32,
|
||||
$temp$len = len,
|
||||
$temp$nodeList = _Z_(leaf, nodeList),
|
||||
$temp$tail = tail;
|
||||
|
||||
fn = $temp$fn;
|
||||
fromIndex = $temp$fromIndex;
|
||||
len = $temp$len;
|
||||
nodeList = $temp$nodeList;
|
||||
tail = $temp$tail;
|
||||
continue initializeHelp;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var _f__36elm_36core_36Array_36initialize_95raw = function (len, fn) {
|
||||
if (len <= 0) {
|
||||
return _h__36elm_36core_36Array_36empty;
|
||||
} else {
|
||||
var tailLen = len % 32;
|
||||
|
||||
var tail = _q__95JsArray_95initialize_95raw(tailLen, len - tailLen, fn);
|
||||
|
||||
var initialFromIndex = len - tailLen - 32;
|
||||
return _r__36elm_36core_36Array_36initializeHelp_95raw(fn, initialFromIndex, len, _P__36temp_36list, tail);
|
||||
}
|
||||
};
|
||||
|
||||
var _M__36elm_36core_36Result_36isOk = function (result) {
|
||||
if (!result.$) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
var _K__36elm_36virtual_95dom_36VirtualDom_36toHandlerInt = function (handler) {
|
||||
switch (handler.$) {
|
||||
case 0:
|
||||
return 0;
|
||||
|
||||
case 1:
|
||||
return 1;
|
||||
|
||||
case 2:
|
||||
return 2;
|
||||
|
||||
default:
|
||||
return 3;
|
||||
}
|
||||
};
|
||||
|
||||
var _B__95VirtualDom_95doc = document;
|
||||
|
||||
var _N__36elm_36core_36Result_36Ok = a => {
|
||||
return {
|
||||
$: 0,
|
||||
a: a
|
||||
};
|
||||
};
|
||||
|
||||
var _O_ = (type, value) => {
|
||||
return _W__36elm_36core_36Result_36Err(_d__36elm_36json_36Json_36Decode_36Failure_95raw("Expecting " + type, _e_(value)));
|
||||
};
|
||||
|
||||
var _S_ = value => {
|
||||
return Array.isArray(value) || typeof FileList !== "undefined" && value instanceof FileList;
|
||||
};
|
||||
|
||||
var _W__36elm_36core_36Result_36Err = a => {
|
||||
return {
|
||||
$: 1,
|
||||
a: a
|
||||
};
|
||||
};
|
||||
|
||||
var _Y__36elm_36json_36Json_36Decode_36Index_95raw = (a, b) => {
|
||||
return {
|
||||
$: 1,
|
||||
a: a,
|
||||
b: b
|
||||
};
|
||||
};
|
||||
|
||||
var _d__36elm_36json_36Json_36Decode_36Failure_95raw = (a, b) => {
|
||||
return {
|
||||
$: 3,
|
||||
a: a,
|
||||
b: b
|
||||
};
|
||||
};
|
||||
|
||||
var _Z_ = (hd, tl) => {
|
||||
return {
|
||||
$: 1,
|
||||
a: hd,
|
||||
b: tl
|
||||
};
|
||||
};
|
||||
|
||||
var _e_ = value => {
|
||||
return value;
|
||||
};
|
||||
|
||||
var _P__36temp_36list = {
|
||||
$: 0,
|
||||
a: null,
|
||||
b: null
|
||||
};
|
||||
var _l__36elm_36core_36Elm_36JsArray_36empty = [];
|
||||
|
||||
var _3_ = d => {
|
||||
return _9__95VirtualDom_95init_95raw(_4__36author_36project_36Main_36main, 0, 0, d);
|
||||
};
|
||||
|
||||
var _h__36elm_36core_36Array_36empty = {
|
||||
$: 0,
|
||||
a: 0,
|
||||
b: 5,
|
||||
c: _l__36elm_36core_36Elm_36JsArray_36empty,
|
||||
d: _l__36elm_36core_36Elm_36JsArray_36empty
|
||||
};
|
||||
|
||||
var _u__36elm_36core_36Array_36Array_95elm_95builtin_95raw = (a, b, c, d) => {
|
||||
return {
|
||||
$: 0,
|
||||
a: a,
|
||||
b: b,
|
||||
c: c,
|
||||
d: d
|
||||
};
|
||||
};
|
||||
|
||||
var _V_ = array => {
|
||||
return _f__36elm_36core_36Array_36initialize_95raw(array.length, i => array[i]);
|
||||
};
|
||||
|
||||
var _v__36elm_36core_36Elm_36JsArray_36length = array => {
|
||||
return array.length;
|
||||
};
|
||||
|
||||
var _X__36elm_36json_36Json_36Decode_36Field_95raw = (a, b) => {
|
||||
return {
|
||||
$: 0,
|
||||
a: a,
|
||||
b: b
|
||||
};
|
||||
};
|
||||
|
||||
$$0_enumerable_58false_44configurable_58true_44writable_58false.value = "_JsArray_length", _$2_Object_46defineProperty(_v__36elm_36core_36Elm_36JsArray_36length, "name", $$0_enumerable_58false_44configurable_58true_44writable_58false);
|
||||
|
||||
var _b__36elm_36core_36List_36reverse = list => {
|
||||
return _g__36elm_36core_36List_36foldl_95raw(_m__36elm_36core_36List_36cons, _P__36temp_36list, list);
|
||||
};
|
||||
|
||||
var _a_ = (a, b) => {
|
||||
return {
|
||||
a: a,
|
||||
b: b
|
||||
};
|
||||
};
|
||||
|
||||
var _m__36elm_36core_36List_36cons = a => {
|
||||
return b => _Z_(a, b);
|
||||
};
|
||||
|
||||
var _c__36elm_36json_36Json_36Decode_36OneOf = a => {
|
||||
return {
|
||||
$: 2,
|
||||
a: a
|
||||
};
|
||||
};
|
||||
|
||||
var _p_ = (fun, a, b) => {
|
||||
return fun.a === 2 ? fun.f(a, b) : fun(a)(b);
|
||||
};
|
||||
|
||||
var _x__36elm_36core_36Basics_36floor = _$4_Math_46floor;
|
||||
var _11__95Basics_95log = _$5_Math_46log;
|
||||
|
||||
var _y__36elm_36core_36Basics_36logBase_95raw = (base, number) => {
|
||||
return _11__95Basics_95log(number) / _11__95Basics_95log(base);
|
||||
};
|
||||
|
||||
var _t__36elm_36core_36Array_36Leaf = a => {
|
||||
return {
|
||||
$: 1,
|
||||
a: a
|
||||
};
|
||||
};
|
||||
|
||||
_m__36elm_36core_36List_36cons.a = 2;
|
||||
_m__36elm_36core_36List_36cons.f = _Z_;
|
||||
var _12__36elm_36core_36Basics_36ceiling = _$6_Math_46ceil;
|
||||
|
||||
var _10__36elm_36core_36Basics_36max_95raw = (x, y) => {
|
||||
return _13__95Utils_95cmp(x, y) > 0 ? x : y;
|
||||
};
|
||||
|
||||
var _16__36elm_36core_36Array_36SubTree = a => {
|
||||
return {
|
||||
$: 0,
|
||||
a: a
|
||||
};
|
||||
};
|
||||
|
||||
var _4__36author_36project_36Main_36main = {
|
||||
$: 0,
|
||||
a: "500"
|
||||
};
|
||||
_$0_global.Elm = {
|
||||
Main: {
|
||||
init: _3_
|
||||
}
|
||||
};
|
||||
}).call(this);
|
@ -2704,7 +2704,7 @@
|
||||
var $author$project$Main$Two_raw = (a, b) => ({ $: 2, a, b }), $author$project$Main$Two = F2($author$project$Main$Two_raw);
|
||||
var $author$project$Main$Zero = { $: 0, a: null, b: null };
|
||||
var $author$project$Main$values = { $: 1, a: $author$project$Main$Zero, b: { $: 1, a: $author$project$Main$One(5), b: { $: 1, a: $author$project$Main$Two_raw("Two", "two"), b: _List_Nil } } };
|
||||
var $author$project$Main$many = $elm$core$List$concat($elm$core$List$repeat_raw(1000, $author$project$Main$values));
|
||||
var $author$project$Main$many = $elm$core$List$concat($elm$core$List$repeat_raw(100, $author$project$Main$values));
|
||||
var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
|
||||
var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
|
||||
var $author$project$Main$main = function () {
|
||||
|
Loading…
Reference in New Issue
Block a user