diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..351d0828a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,27 @@ +name: Deploy + +on: + push: + branches: + - textlint + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + - uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 + with: + node-version: '18' + - name: Build + run: yarn install && yarn run build + working-directory: ./website + - name: Deploy + uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3.9.3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./out diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..3913dc73c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,27 @@ +name: Test + +on: + pull_request: + branches: + - textlint + push: + branches: + - textlint + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + - uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 + with: + node-version: '18' + - name: Install dependencies + run: yarn install + working-directory: ./website + - name: Install server dependencies + run: npm install + working-directory: ./server + - name: Build website + run: yarn run build + working-directory: ./website diff --git a/README.md b/README.md index 7381907e7..a5e3d030d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,22 @@ ## AST explorer +## Fork version for textlint + +This version limited for [textlint](http://textlint.github.io/ "textlint"). + +- [@textlint/textlint-plugin-markdown](https://github.com/textlint/textlint/tree/master/packages/%40textlint/textlint-plugin-markdown) +- [@textlint/textlint-plugin-text](https://github.com/textlint/textlint/tree/master/packages/%40textlint/textlint-plugin-text) +- [textlint-plugin-html](https://github.com/textlint/textlint-plugin-html) + +Visit [https://textlint.github.io/astexplorer](https://textlint.github.io/astexplorer). + +**Developer Notes** + +- Deploy: use `website/deploy.sh` + +------ + + [![Join the chat at https://gitter.im/astexplorer/Lobby](https://badges.gitter.im/astexplorer/Lobby.svg)](https://gitter.im/astexplorer/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/fkling/astexplorer.svg?branch=master)](https://travis-ci.org/fkling/astexplorer) diff --git a/renovate.json b/renovate.json new file mode 100644 index 000000000..b23eecfa7 --- /dev/null +++ b/renovate.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base" + ], + "enabledManagers": [ + "npm" + ], + "packageRules": [ + { + "matchPackagePatterns": [ + "*" + ], + "enabled": false + }, + { + "groupName": "textlint", + "matchPackagePatterns": [ + "textlint", + "^@textlint/", + "textlint-plugin-html" + ], + "enabled": true, + "automerge": true + } + ] +} diff --git a/scripts/inject-rev.sh b/scripts/inject-rev.sh index fb6e55e82..a791791f5 100755 --- a/scripts/inject-rev.sh +++ b/scripts/inject-rev.sh @@ -5,4 +5,4 @@ # likely just out/index.html rev=$(git rev-parse --short HEAD) -sed -i "s%@@COMMIT@@%Build: $rev%" "$1" +sed -i "s%@@COMMIT@@%Build: $rev%" "$1" diff --git a/server/yarn.lock b/server/yarn.lock index 06325f177..15b75512a 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -4,24 +4,28 @@ accepts@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz" + integrity sha512-AOPopplFOUlmUugwiZUCDpOwmqvSgdCyE8iJVLWI4NcB7qfMKQN34dn5xYtlUU03XGG5egRWW4NW5gIxpa5hEA== dependencies: mime-types "~2.1.11" negotiator "0.6.1" array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== axios@^0.15.2: version "0.15.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" + resolved "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz" + integrity sha512-w3/VNaraEcDri16lbemQWQGKfaFk9O0IZkzKlLeF5r6WWDv9TkcXkP+MWkRK8FbxwfozY/liI+qtvhV295t3HQ== dependencies: follow-redirects "1.0.0" body-parser@^1.15.2: version "1.15.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.2.tgz#d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.15.2.tgz" + integrity sha512-w+PHzLDPwR2csqaHDt/oKTD5XVieOWaa1OV0VcX+agasefEZI3jK6iBabpOcM3ovd3YvIg+sK9sX437wvYjUSw== dependencies: bytes "2.4.0" content-type "~1.0.2" @@ -36,57 +40,70 @@ body-parser@^1.15.2: bytes@2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + resolved "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz" + integrity sha512-SvUX8+c/Ga454a4fprIdIUzUN9xfd1YTvYh7ub5ZPJ+ZJ/+K2Bp6IpWGmnw8r3caLTsmhvJAKZz3qjIo9+XuCQ== content-disposition@0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" + integrity sha512-LXP3Ekizrynh01Muic+1XMkR46z/d2wAO/TBnwCgdTmpFJrtwkzrCxQCsC7QnNqlShJgrQyygcX2I8oJ0wnzkw== content-type@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" + integrity sha512-TFmXoAjJQD7hApJpE/GttZreniTw+DYE4zlDmPRc8Q75KXrU8hFt3Qeckml/mOTVAxwbMZ3WwdEcQCzTpfV5ZA== cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" + integrity sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw== debug@^2.2.0, debug@~2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + resolved "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + integrity sha512-X0rGvJcskG1c3TgSCPqHJ0XJgwlcvOC7elJ5Y0hYuKBZoVqWpAMfLOeIh2UI/DCQ5ruodIjvsugZtjUYUw2pUw== dependencies: ms "0.7.1" depd@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + integrity sha512-SN03SKT2SwhaAKUnRJ47Scnys7ZL2FuogA/6s9u5+58RAyqhsI2HBDZymMB0omazkYVBAwBHW9ONcjd4iZ8hDQ== destroy@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg== ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== encodeurl@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz" + integrity sha512-Emsft8lNRSZ7+fFm2KgTM8OZPcfHip/hNMSkje83n+LqPx5tI4xkCxyunJIG3EZsWHz9sqzohiPR6monRXWD8g== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== etag@~1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + resolved "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" + integrity sha512-Mbv5pNpLNPrm1b4rzZlZlfTRpdDr31oiD43N362sIyvSWVNu5Du33EcJGzvEV4YdYLuENB1HzND907cQkFmXNw== express@^4.14.0: version "4.14.0" - resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + resolved "https://registry.npmjs.org/express/-/express-4.14.0.tgz" + integrity sha512-DMNT04ECPAVNiEZqRtl2VMxg4TMxL0+Qv2VrQcsO+vaOSkeHJSCSmEfxrcJ30ikZx5l8VdPAdhhrVPw0wZFZ2Q== dependencies: accepts "~1.3.3" array-flatten "1.1.1" @@ -117,7 +134,8 @@ express@^4.14.0: finalhandler@0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz" + integrity sha512-KCwi04Tss2Qa+3NQkU3/4lBYXfHYunl3YM0rDJPxhdZ1qjlGvf/BilX2g7vm/qkHUMs5MncaD9f/VTdYN95iig== dependencies: debug "~2.2.0" escape-html "~1.0.3" @@ -127,21 +145,25 @@ finalhandler@0.5.0: follow-redirects@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz" + integrity sha512-7s+wBk4z5xTwVJuozRBAyRofWKjD3uG2CUjZfZTrw9f+f+z8ZSxOjAqfIDLtc0Hnz+wGK2Y8qd93nGGjXBYKsQ== dependencies: debug "^2.2.0" forwarded@~0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" + integrity sha512-h17abE+9l03GtF7H+Tdf/exIbFnOgiOieYrtBfleXuDTU3jGncrv4oLOIuXnFPveDuQPd9kd3MGkhKaMGoQwOA== fresh@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" + integrity sha512-akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ== "github-api@https://github.com/fkling/github.git": version "3.1.0" - resolved "https://github.com/fkling/github.git#e0beb8eee48f2a0d0583a17fa96a309ba5f6afa4" + resolved "git+ssh://git@github.com/fkling/github.git" + integrity sha512-+0fDYt4TeL3nFWZLchSBLJRh7mI023wqBDjBhPKrQoF0bi5bZ4vuOGz0DrTQQOMy7Q8OQUyebmtEeuDChAPE0g== dependencies: axios "^0.15.2" debug "^2.2.0" @@ -150,7 +172,8 @@ fresh@0.3.0: http-errors@~1.5.0: version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz" + integrity sha512-ftkc2U5ADKHv8Ny1QJaDn8xnE18G+fP5QYupx9c3Xk6L5Vgo3qK8Bgbpb4a+jRtaF/YQKjIuXA5J0tde4Tojng== dependencies: inherits "2.0.3" setprototypeof "1.0.2" @@ -158,86 +181,105 @@ http-errors@~1.5.0: iconv-lite@0.4.13: version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" + integrity sha512-QwVuTNQv7tXC5mMWFX5N5wGjmybjNBBD8P3BReTkPmipoxTUFgWM2gXNvldHQr6T14DH0Dh6qBVg98iJt7u4mQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ipaddr.js@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.2.0.tgz" + integrity sha512-ku//LD7ie/m9UVGCm9KweBIIHP4mB0maNGvav6Hz778fQCNLQF7iZ+H/UuHuqmjJCHCpA5hw8hOeRKxZl8IlXw== js-base64@^2.1.9: version "2.1.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" + integrity sha512-f+5mYh8iF7FlF7zgmj/yqvvYQUHI0kAxGiLjIfNxZzqJ7RQNc4sjgp8crVJw0Kzv2O6aFGZWgMTnO71I9utHSg== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== mime-db@~1.26.0: version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz" + integrity sha512-Bn4lTeTH3qxeM+u71GQVrY4AxQlqDT9jkapmEby7o6X9giHAS4U4ar/bzjkCocKAEPjP+77GmVxiYScExkiHyA== mime-types@~2.1.11, mime-types@~2.1.13: version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz" + integrity sha512-okJd888hr2XVzvoRxEOnEEgmlsOnLVoIOAKoBgYMLOQPNQFprAx970dULXC3ueiQMIiTsSxUFSpa2y3IlBefCg== dependencies: mime-db "~1.26.0" mime@1.3.4: version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + resolved "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" + integrity sha512-sAaYXszED5ALBt665F0wMQCUXpGuZsGdopoqcHPdL39ZYdi7uHoZlhrfZfhv8WzivhBzr/oXwaj+yiK5wY8MXQ== ms@0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + resolved "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + integrity sha512-lRLiIR9fSNpnP6TC4v8+4OU7oStC01esuNowdQ34L+Gk8e5Puoc88IqJ+XAY/B3Mn2ZKis8l8HX90oU8ivzUHg== negotiator@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" + integrity sha512-qTxkr1RoLw5Pz+1+PTJ/66hWuyi2LEOeOuIDJDlx6JF8x75bmD5C7qXTg2UlX5W9rLfkqKP+r8q6Vy6NWdWrbw== on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" parseurl@~1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" + integrity sha512-jcXcz8qX3IIi+Uf1Ut1TS2aNx2pLbVcFxIWZMcErWNrqFfTE1e+Q1stJkCOnzWBsxCTZJ0xmHtT4P8K0DnQQRA== path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== proxy-addr@~1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.3.tgz" + integrity sha512-DqElUqAHcWG3dnqlR57Jnvz4exDZ7wsTOLwYaXNPtiOl9l5vyjtD6+7s3nAT1QknFLJsq4C6QzhCogM05QoGNA== dependencies: forwarded "~0.1.0" ipaddr.js "1.2.0" qs@6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + resolved "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz" + integrity sha512-xJlDcRyZKEdvI99YhwNqGKmeiOCcfxk5E09Gof/E8xSpiMcqJ+BCwPZ3ykEYQdwDlmTpK6YlPB/kd8zfy9e7wg== range-parser@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== raw-body@~2.1.7: version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz" + integrity sha512-x4d27vsIG04gZ1imkuDXB9Rd/EkAx5kYzeMijIYw1PAor0Ld3nTlkQQwDjKu42GdRUFCX1AfGnTSQB4O57eWVg== dependencies: bytes "2.4.0" iconv-lite "0.4.13" @@ -245,7 +287,8 @@ raw-body@~2.1.7: send@0.14.1: version "0.14.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + resolved "https://registry.npmjs.org/send/-/send-0.14.1.tgz" + integrity sha512-1Ru269QpUVUgD32Y9jdyBXiX+pHYuYnTzR17w+DhyOWvGMPjJILrnLhl9c4LQjtIy2BSAa6Ykq0ZdGcAjaXlwQ== dependencies: debug "~2.2.0" depd "~1.1.0" @@ -263,7 +306,8 @@ send@0.14.1: serve-static@~1.11.1: version "1.11.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz" + integrity sha512-SGBgnvUc8p5pZdzo4DMTFZQlzsCGGV7rqb7owrM2FAW7gNJ2Jf2T45Ej/I9sSZNGdx1V2+MXZ0bUm7JMmTYU/w== dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" @@ -272,31 +316,38 @@ serve-static@~1.11.1: setprototypeof@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz" + integrity sha512-mNRSo7UFE4c4tjxlZ3KxO5r+3oQUD1M/KXbp/XTwTwybL4VR9T8Ltmv5DvZX8iRz6C3hQmQftXEV0EmTKRV6mg== "statuses@>= 1.3.1 < 2", statuses@~1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" + integrity sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg== type-is@~1.6.13: version "1.6.14" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz" + integrity sha512-pM3GvwuTj7H0LexCt3FK6R9KcP0SYRnmjZfHQ7RtuZkLVSfvQZmXKvSiHTDu+RFdkwyj9ZRnWXtvOZWlHiMgGQ== dependencies: media-typer "0.3.0" mime-types "~2.1.13" -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== utf8@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" + resolved "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz" + integrity sha512-QXo+O/QkLP/x1nyi54uQiG0XrODxdysuQvE5dtVqv7F5K2Qb6FsN+qbr6KhF5wQ20tfcV3VQp0/2x1e1MRSPWg== utils-merge@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + integrity sha512-HwU9SLQEtyo+0uoKXd1nkLqigUWLB+QuNQR4OcmB73eWqksM5ovuqcycks2x043W8XVb75rG1HQ0h93TMXkzQQ== vary@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" + integrity sha512-uM/iZxl0TaIXDYreb7fo4zACmS3hk2ywle8HR44gJ6HlqZ0fb4gjEJnMBMAmH0T1HxdGU8RlUvY9ekkoLsV+1A== diff --git a/website/index.ejs b/website/index.ejs index 1a2d5af42..0f82abb6e 100644 --- a/website/index.ejs +++ b/website/index.ejs @@ -1,9 +1,13 @@ - AST explorer + textlint AST explorer + <%= htmlWebpackPlugin.files.webpackManifest %> @@ -19,21 +23,10 @@ and webpack | - GitHub + GitHub | @@COMMIT@@ - - - - diff --git a/website/package.json b/website/package.json index dfcfc064c..296a5310f 100644 --- a/website/package.json +++ b/website/package.json @@ -24,6 +24,7 @@ "eslint-plugin-require-in-package": "^1.0.3", "exports-loader": "^0.7.0", "file-loader": "^6.0.0", + "gh-pages": "^0.12.0", "html-webpack-plugin": "^3.2.0", "inline-manifest-webpack-plugin": "^4.0.1", "js-yaml": "^3.13.1", @@ -44,6 +45,7 @@ "@angular-eslint/template-parser": "^1.0.0", "@angular/compiler": "^11.2.0", "@babel/eslint-parser": "^7.12.0", + "@babel/parser": "^7.14.3", "@babel/runtime": "^7.12.0", "@creditkarma/thrift-parser": "^1.2.0", "@gengjiawen/monkey-wasm": "^0.5.0", @@ -51,6 +53,11 @@ "@glimmer/syntax": "^0.73.1", "@humanwhocodes/momoa": "^1.0.0", "@mdx-js/mdx": "^1.5.8", + "@textlint/kernel": "^15.0.0", + "@textlint/markdown-to-ast": "^15.0.0", + "@textlint/text-to-ast": "^15.0.0", + "@textlint/textlint-plugin-markdown": "^15.0.0", + "@textlint/textlint-plugin-text": "^15.0.0", "@typescript-eslint/parser": "^4.1.0", "@vue/compiler-dom": "^3.0.0-rc.10", "@webassemblyjs/wast-parser": "^1.9.0", @@ -107,6 +114,7 @@ "jscodeshift": "^0.11.0", "json-stringify-safe": "^5.0.1", "json-to-ast": "^2.1.0", + "json-url": "^3.0.0", "lodash.isequal": "^4.5.0", "luaparse": "^0.3.0", "lucene": "^2.1.1", @@ -149,6 +157,7 @@ "svelte": "^3.4.1", "tenko": "^1.0.6", "tern": "^0.24.3", + "textlint-plugin-html": "^1.0.0", "traceur": "0.0.111", "tslint": "^6.1.1", "typescript": "^4.0.3", @@ -166,10 +175,11 @@ "browserslist": "> 0.25%, not dead", "scripts": { "start": "serve -l 8080 ../out", - "build": "rimraf ../out/* && cross-env NODE_ENV=production webpack --mode=production", - "build-dev": "rimraf ../out/* && cross-env NODE_ENV=development webpack -d --mode=development", - "watch": "webpack -dw --mode=development", + "build": "rimraf ../out/* && cross-env NODE_ENV=production NODE_OPTIONS='--openssl-legacy-provider' webpack --mode=production", + "build-dev": "rimraf ../out/* && cross-env NODE_ENV=development NODE_OPTIONS='--openssl-legacy-provider' webpack -d --mode=development", + "watch": "NODE_OPTIONS='--openssl-legacy-provider' webpack -dw --mode=development", "lint": "node_modules/eslint/bin/eslint.js src/", - "fontcustom": "fontcustom compile ./fontcustom/input-svg/ --config=./fontcustom/config.yml" + "fontcustom": "fontcustom compile ./fontcustom/input-svg/ --config=./fontcustom/config.yml", + "deploy": "npm run build && gh-pages -d ../out" } } diff --git a/website/src/app.js b/website/src/app.js index 13a2f60d7..b7efb9275 100644 --- a/website/src/app.js +++ b/website/src/app.js @@ -20,8 +20,9 @@ import {createStore, applyMiddleware, compose} from 'redux'; import {canSaveTransform, getRevision} from './store/selectors'; import {loadSnippet} from './store/actions'; import {render} from 'react-dom'; -import * as gist from './storage/gist'; -import * as parse from './storage/parse'; +import * as urlStore from './storage/urlStore'; +// import * as gist from './storage/gist'; +// import * as parse from './storage/parse'; import StorageHandler from './storage'; import '../css/style.css'; import parserMiddleware from './store/parserMiddleware'; @@ -73,7 +74,7 @@ const AppContainer = connect( )(App); const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; -const storageAdapter = new StorageHandler([gist, parse]); +const storageAdapter = new StorageHandler([urlStore]); const store = createStore( astexplorer, revive(LocalStorage.readState()), diff --git a/website/src/parsers/html/codeExample.txt b/website/src/parsers/html/codeExample.txt index e18c579f2..3cce02201 100644 --- a/website/src/parsers/html/codeExample.txt +++ b/website/src/parsers/html/codeExample.txt @@ -1,9 +1,5 @@ - - +

Title

- -

My First Heading

-

My first paragraph.

- - - +
+

This is a paragraph.

+
diff --git a/website/src/parsers/html/index.js b/website/src/parsers/html/index.js index 059680c50..024013ae1 100644 --- a/website/src/parsers/html/index.js +++ b/website/src/parsers/html/index.js @@ -1,6 +1,5 @@ -import 'codemirror/mode/htmlmixed/htmlmixed'; +import 'codemirror/mode/htmlembedded/htmlembedded'; -export const id = 'htmlmixed'; +export const id = 'html'; export const displayName = 'HTML'; export const mimeTypes = ['text/html']; -export const fileExtension = 'html'; diff --git a/website/src/parsers/html/textlint-plugin-html.js b/website/src/parsers/html/textlint-plugin-html.js new file mode 100644 index 000000000..7bebae060 --- /dev/null +++ b/website/src/parsers/html/textlint-plugin-html.js @@ -0,0 +1,29 @@ +import defaultParserInterface from '../utils/defaultParserInterface'; + +import pkg from 'textlint-plugin-html/package.json'; + +const ID = 'textlint:html'; + +export default { + ...defaultParserInterface, + id: ID, + displayName: "textlint-plugin-html", + version: pkg.version, + homepage: pkg.homepage, + locationProps: new Set(['loc', 'range']), + + loadParser(callback) { + require(['textlint-plugin-html/module/html-to-ast'], callback); + }, + + parse(parser, text) { + console.log("parser", parser); + return parser.parse(text); + }, + + opensByDefault(node, key) { + return key === 'rules'; + }, + + _ignoredProperties: new Set(['location']) +}; diff --git a/website/src/parsers/html/transformers/textlint-markdown-to-ast/codeExample.txt b/website/src/parsers/html/transformers/textlint-markdown-to-ast/codeExample.txt new file mode 100644 index 000000000..17806f58f --- /dev/null +++ b/website/src/parsers/html/transformers/textlint-markdown-to-ast/codeExample.txt @@ -0,0 +1,8 @@ +module.exports = function (context) { + const {Syntax, RuleError, report, getSource} = context; + return { + [Syntax.Str](node){ + report(node, new Error("error")); + } + }; +} diff --git a/website/src/parsers/html/transformers/textlint-markdown-to-ast/index.js b/website/src/parsers/html/transformers/textlint-markdown-to-ast/index.js new file mode 100644 index 000000000..3fe2bec69 --- /dev/null +++ b/website/src/parsers/html/transformers/textlint-markdown-to-ast/index.js @@ -0,0 +1,61 @@ +import compileModule from '../../../utils/compileModule'; +import pkg from '@textlint/kernel/package.json'; + +const ID = 'textlint-plugin-html'; + +function formatResults(results, code) { + const format = (message) => { + return formatResult(message, code); + }; + return results.messages.length === 0 + ? 'Lint rule not fired.' + : results.messages.map(format).join('').trim(); +} + +function formatResult(result, code) { + const pointer = '-'.repeat(result.column - 1) + '^'; + console.log(code.split('\n')[result.line - 1]); + return ` +| ${result.message} (at ${result.line}:${result.column}) + ${code.split('\n')[result.line - 1] || ''} +| ${pointer} +`; +} + +export default { + id: ID, + displayName: ID, + version: pkg.version, + homepage: pkg.homepage, + + defaultParserID: 'textlint-plugin-html', + + loadTransformer(callback) { + require(['@textlint/kernel', "textlint-plugin-html"], ({ TextlintKernel }, plugin) => { + callback({ TextlintKernel, plugin }); + }) + }, + + transform({ TextlintKernel, plugin }, transformCode, code) { + const kernel = new TextlintKernel(); + const rule = compileModule( // eslint-disable-line no-shadow + transformCode + ); + return kernel.lintText(code, { + rules: [{ + ruleId: "astExplorerRule", + rule: rule, + options: true + }], + plugins: [{ + pluginId: "html", + plugin: plugin, + options: true + }], + ext: ".html" + }).then(result => { + return formatResults(result, code); + }); + }, +}; + diff --git a/website/src/parsers/index.js b/website/src/parsers/index.js index 732973faa..2adcdcbc0 100644 --- a/website/src/parsers/index.js +++ b/website/src/parsers/index.js @@ -1,13 +1,12 @@ -const localRequire = require.context('./', true, /^\.\/(?!utils|transpilers)[^/]+\/(transformers\/([^/]+)\/)?(codeExample\.txt|[^/]+?\.js)$/); - +// const localRequire = require.context('./', true, /^\.\/(?!utils)[^/]+\/(transformers\/([^/]+)\/)?(codeExample\.txt|[^/]+?\.js)$/); +const localRequire = require.context('./', true, /^\.\/(textlint-.*?)\/(transformers\/([^/]+)\/)?(codeExample\.txt|[^/]+?\.js)$/); function interopRequire(module) { - return module.__esModule ? module.default : module; + return module.__esModule ? module.default : module; } const files = localRequire.keys() .map(name => name.split('/').slice(1)); - const categoryByID = {}; const parserByID = {}; const transformerByID = {}; @@ -24,7 +23,6 @@ export const categories = .filter(name => name[1] === 'index.js') .map(([catName]) => { let category = localRequire(`./${catName}/index.js`); - categoryByID[category.id] = category; category.codeExample = interopRequire(localRequire(`./${catName}/codeExample.txt`)) @@ -59,7 +57,8 @@ export const categories = }); export function getDefaultCategory() { - return categoryByID.javascript; + return categoryByID["markdown"]; + // return categoryByID.javascript; } export function getDefaultParser(category = getDefaultCategory()) { diff --git a/website/src/parsers/textlint-html/codeExample.txt b/website/src/parsers/textlint-html/codeExample.txt new file mode 100644 index 000000000..3cce02201 --- /dev/null +++ b/website/src/parsers/textlint-html/codeExample.txt @@ -0,0 +1,5 @@ +

Title

+ +
+

This is a paragraph.

+
diff --git a/website/src/parsers/textlint-html/index.js b/website/src/parsers/textlint-html/index.js new file mode 100644 index 000000000..024013ae1 --- /dev/null +++ b/website/src/parsers/textlint-html/index.js @@ -0,0 +1,5 @@ +import 'codemirror/mode/htmlembedded/htmlembedded'; + +export const id = 'html'; +export const displayName = 'HTML'; +export const mimeTypes = ['text/html']; diff --git a/website/src/parsers/textlint-html/textlint-plugin-html.js b/website/src/parsers/textlint-html/textlint-plugin-html.js new file mode 100644 index 000000000..c220b3675 --- /dev/null +++ b/website/src/parsers/textlint-html/textlint-plugin-html.js @@ -0,0 +1,28 @@ +import defaultParserInterface from '../utils/defaultParserInterface'; + +import pkg from 'textlint-plugin-html/package.json'; + +const ID = 'textlint-plugin-html'; + +export default { + ...defaultParserInterface, + id: ID, + displayName: "textlint-plugin-html", + version: pkg.version, + homepage: pkg.homepage, + locationProps: new Set(['loc', 'range']), + + loadParser(callback) { + require(['textlint-plugin-html/module/html-to-ast'], callback); + }, + + parse(parser, text) { + return parser.parse(text); + }, + + opensByDefault(node, key) { + return key === 'rules'; + }, + + _ignoredProperties: new Set(['location', 'position']) +}; diff --git a/website/src/parsers/textlint-html/transformers/textlint-plugin-html/codeExample.txt b/website/src/parsers/textlint-html/transformers/textlint-plugin-html/codeExample.txt new file mode 100644 index 000000000..b786a71ea --- /dev/null +++ b/website/src/parsers/textlint-html/transformers/textlint-plugin-html/codeExample.txt @@ -0,0 +1,11 @@ +module.exports = function (context) { + const {Syntax, RuleError, report, getSource} = context; + return { + [Syntax.Str](node){ + const value = getSource(node); + if(/TITLE/i.test(value)) { + report(node, new RuleError("Error: includes title")); + } + } + }; +} diff --git a/website/src/parsers/textlint-html/transformers/textlint-plugin-html/index.js b/website/src/parsers/textlint-html/transformers/textlint-plugin-html/index.js new file mode 100644 index 000000000..3219513f4 --- /dev/null +++ b/website/src/parsers/textlint-html/transformers/textlint-plugin-html/index.js @@ -0,0 +1,62 @@ +import compileModule from '../../../utils/compileModule'; +import pkg from '@textlint/kernel/package.json'; + +const ID = 'textlint-plugin-html'; + +function formatResults(results, code) { + const format = (message) => { + return formatResult(message, code); + }; + return results.messages.length === 0 + ? 'Lint rule not fired.' + : results.messages.map(format).join('').trim(); +} + +function formatResult(result, code) { + const pointer = '-'.repeat(result.column - 1) + '^'; + console.log(code.split('\n')[result.line - 1]); + return ` +| ${result.message} (at ${result.line}:${result.column}) + ${code.split('\n')[result.line - 1] || ''} +| ${pointer} +`; +} + +export default { + id: ID, + displayName: ID, + version: pkg.version, + homepage: pkg.homepage, + + defaultParserID: 'textlint-plugin-html', + + loadTransformer(callback) { + require(['@textlint/kernel', "textlint-plugin-html"], ({ TextlintKernel }, plugin) => { + callback({ TextlintKernel, plugin }); + }) + }, + + transform({ TextlintKernel, plugin }, transformCode, code) { + console.log({ TextlintKernel, plugin }) + const kernel = new TextlintKernel(); + const rule = compileModule( // eslint-disable-line no-shadow + transformCode + ); + return kernel.lintText(code, { + rules: [{ + ruleId: "astExplorerRule", + rule: rule, + options: true + }], + plugins: [{ + pluginId: "html", + plugin: plugin.default, + options: true + }], + ext: ".html" + }).then(result => { + return formatResults(result, code); + }); + }, +}; + diff --git a/website/src/parsers/textlint-md/codeExample.txt b/website/src/parsers/textlint-md/codeExample.txt new file mode 100644 index 000000000..b87393ca2 --- /dev/null +++ b/website/src/parsers/textlint-md/codeExample.txt @@ -0,0 +1,7 @@ +# Title + +This is text. + +- list item + +[Link](http://example.com) \ No newline at end of file diff --git a/website/src/parsers/textlint-md/index.js b/website/src/parsers/textlint-md/index.js new file mode 100644 index 000000000..7d70694d9 --- /dev/null +++ b/website/src/parsers/textlint-md/index.js @@ -0,0 +1,5 @@ +import 'codemirror/mode/markdown/markdown'; + +export const id = 'markdown'; +export const displayName = 'Markdown'; +export const mimeTypes = ['text/markdown']; diff --git a/website/src/parsers/textlint-md/textlint-markdown-to-ast.js b/website/src/parsers/textlint-md/textlint-markdown-to-ast.js new file mode 100644 index 000000000..7e89e3623 --- /dev/null +++ b/website/src/parsers/textlint-md/textlint-markdown-to-ast.js @@ -0,0 +1,28 @@ +import defaultParserInterface from '../utils/defaultParserInterface'; + +import pkg from '@textlint/markdown-to-ast/package.json'; + +const ID = 'textlint:markdown-to-ast'; + +export default { + ...defaultParserInterface, + id: ID, + displayName: "@textlint/text-to-ast", + version: pkg.version, + homepage: pkg.homepage, + locationProps: new Set(['loc', 'range']), + + loadParser(callback) { + require(['@textlint/markdown-to-ast'], callback); + }, + + parse(parser, text) { + return parser.parse(text); + }, + + opensByDefault(node, key) { + return key === 'rules'; + }, + + _ignoredProperties: new Set(['location', 'position']) +}; diff --git a/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/codeExample.txt b/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/codeExample.txt new file mode 100644 index 000000000..17806f58f --- /dev/null +++ b/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/codeExample.txt @@ -0,0 +1,8 @@ +module.exports = function (context) { + const {Syntax, RuleError, report, getSource} = context; + return { + [Syntax.Str](node){ + report(node, new Error("error")); + } + }; +} diff --git a/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/index.js b/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/index.js new file mode 100644 index 000000000..2b298deb6 --- /dev/null +++ b/website/src/parsers/textlint-md/transformers/textlint-markdown-to-ast/index.js @@ -0,0 +1,61 @@ +import compileModule from '../../../utils/compileModule'; +import pkg from '@textlint/kernel/package.json'; + +const ID = 'textlint:markdown'; + +function formatResults(results, code) { + const format = (message) => { + return formatResult(message, code); + }; + return results.messages.length === 0 + ? 'Lint rule not fired.' + : results.messages.map(format).join('').trim(); +} + +function formatResult(result, code) { + const pointer = '-'.repeat(result.column - 1) + '^'; + console.log(code.split('\n')[result.line - 1]); + return ` +| ${result.message} (at ${result.line}:${result.column}) + ${code.split('\n')[result.line - 1] || ''} +| ${pointer} +`; +} + +export default { + id: ID, + displayName: ID, + version: pkg.version, + homepage: pkg.homepage, + + defaultParserID: 'textlint:markdown-to-ast', + + loadTransformer(callback) { + require(['@textlint/kernel', "@textlint/textlint-plugin-markdown"], ({ TextlintKernel }, { default: plugin }) => { + callback({ TextlintKernel, plugin }); + }) + }, + + transform({ TextlintKernel, plugin }, transformCode, code) { + const kernel = new TextlintKernel(); + const rule = compileModule( // eslint-disable-line no-shadow + transformCode + ); + return kernel.lintText(code, { + rules: [{ + ruleId: "astExplorerRule", + rule: rule, + options: true + }], + plugins: [{ + pluginId: "markdown", + plugin: plugin, + options: true + }], + ext: ".md" + }).then(result => { + return formatResults(result, code); + }); + }, +}; + diff --git a/website/src/parsers/textlint-txt/codeExample.txt b/website/src/parsers/textlint-txt/codeExample.txt new file mode 100644 index 000000000..f2681843d --- /dev/null +++ b/website/src/parsers/textlint-txt/codeExample.txt @@ -0,0 +1,3 @@ +■ Title + +This is plain texts. \ No newline at end of file diff --git a/website/src/parsers/textlint-txt/index.js b/website/src/parsers/textlint-txt/index.js new file mode 100644 index 000000000..3fb0c19ec --- /dev/null +++ b/website/src/parsers/textlint-txt/index.js @@ -0,0 +1,3 @@ +export const id = 'txt'; +export const displayName = 'Plain text'; +export const mimeTypes = ['text/plain']; diff --git a/website/src/parsers/textlint-txt/textlint-txt-to-ast.js b/website/src/parsers/textlint-txt/textlint-txt-to-ast.js new file mode 100644 index 000000000..44c76bc40 --- /dev/null +++ b/website/src/parsers/textlint-txt/textlint-txt-to-ast.js @@ -0,0 +1,28 @@ +import defaultParserInterface from '../utils/defaultParserInterface'; + +import pkg from '@textlint/text-to-ast/package.json'; + +const ID = 'textlint:txt-to-ast'; + +export default { + ...defaultParserInterface, + id: ID, + displayName: "@textlint/text-to-ast", + version: pkg.version, + homepage: pkg.homepage, + locationProps: new Set(['loc', 'range']), + + loadParser(callback) { + require(['@textlint/text-to-ast'], callback); + }, + + parse(parser, text) { + return parser.parse(text); + }, + + opensByDefault(node, key) { + return key === 'rules'; + }, + + _ignoredProperties: new Set(['location']) +}; diff --git a/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/codeExample.txt b/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/codeExample.txt new file mode 100644 index 000000000..17806f58f --- /dev/null +++ b/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/codeExample.txt @@ -0,0 +1,8 @@ +module.exports = function (context) { + const {Syntax, RuleError, report, getSource} = context; + return { + [Syntax.Str](node){ + report(node, new Error("error")); + } + }; +} diff --git a/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/index.js b/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/index.js new file mode 100644 index 000000000..e454987be --- /dev/null +++ b/website/src/parsers/textlint-txt/transformers/textlint-txt-to-ast/index.js @@ -0,0 +1,61 @@ +import compileModule from '../../../utils/compileModule'; +import pkg from '@textlint/kernel/package.json'; + +const ID = 'textlint:txt'; + +function formatResults(results, code) { + const format = (message) => { + return formatResult(message, code); + }; + return results.messages.length === 0 + ? 'Lint rule not fired.' + : results.messages.map(format).join('').trim(); +} + +function formatResult(result, code) { + const pointer = '-'.repeat(result.column - 1) + '^'; + console.log(code.split('\n')[result.line - 1]); + return ` +| ${result.message} (at ${result.line}:${result.column}) + ${code.split('\n')[result.line - 1] || ''} +| ${pointer} +`; +} + +export default { + id: ID, + displayName: ID, + version: pkg.version, + homepage: pkg.homepage, + + defaultParserID: 'textlint:txt-to-ast', + + loadTransformer(callback) { + require(['@textlint/kernel'], ({ TextlintKernel }, { default: plugin }) => { + callback({ TextlintKernel, plugin }); + }) + }, + + transform({ TextlintKernel, plugin }, transformCode, code) { + const kernel = new Kernel(); + const rule = compileModule( // eslint-disable-line no-shadow + transformCode + ); + return kernel.lintText(code, { + rules: [{ + ruleId: "astExplorerRule", + rule: rule, + options: true + }], + plugins: [{ + pluginId: "txt", + plugin: plugin, + options: true + }], + ext: ".txt" + }).then(result => { + return formatResults(result, code); + }); + }, +}; + diff --git a/website/src/storage/urlStore.js b/website/src/storage/urlStore.js new file mode 100644 index 000000000..f8e8fbe5c --- /dev/null +++ b/website/src/storage/urlStore.js @@ -0,0 +1,125 @@ +import React from 'react'; +import json_url from "json-url"; + +const codec = json_url('lzw'); + +function getIDAndRevisionFromHash() { + let match = global.location.hash.match(/^#\/snippet\/([^/]+)/); + if (match) { + return { + hash: match[1] + }; + } + return null; +} + +async function fetchSnippet(hash) { + const data = await codec.decompress(hash); + return new Revision({ data, hash }); +} + +export function owns(snippet) { + return snippet instanceof Revision; +} + +export function matchesURL() { + return getIDAndRevisionFromHash() !== null; +} + +export function fetchFromURL() { + const data = getIDAndRevisionFromHash(); + if (!data) { + return Promise.resolve(null); + } + return fetchSnippet(data.hash); +} + +/** + * Create a new snippet. + */ +export async function create(data) { + const hash = await codec.compress(data); + return new Revision({ data, hash }); +} + +/** + * Update an existing snippet. + */ +export async function update(revision, data) { + // Fetch latest version of snippet + const hash = await codec.compress(data); + return new Revision({ data, hash }); +} + +/** + * Fork existing snippet. + */ +export function fork(revision, data) { + return Promise.resolve(null); +} + +class Revision { + constructor({ data, hash }) { + console.log({data, hash}) + this.data = data; + this.hash = hash; + } + + canSave() { + return true; + } + + getPath() { + return `/snippet/${this.hash}}`; + } + + getSnippetID() { + return this.hash; + } + + getRevisionID() { + return null; + } + + getTransformerID() { + return this.data.toolID; + } + + getTransformCode() { + return ""; + } + + getParserID() { + return this.data.parserID; + } + + getCode() { + if (this.data.code == null) { + return ''; + } + return this.data.code; + } + + getParserSettings() { + return this.data.settings[this.data.parserID]; + } + + getShareInfo() { + const snippetID = this.getSnippetID(); + const revisionID = this.getRevisionID(); + return ( +
+
+
Share
+
+ e.target.select()} + value={`https://textlint.github.io/astexplorer/#/snippet/${snippetID}`} + /> +
+
+
+ ); + } +} diff --git a/website/src/utils/logger.js b/website/src/utils/logger.js index 26ea1704d..090d35bcf 100644 --- a/website/src/utils/logger.js +++ b/website/src/utils/logger.js @@ -1,7 +1,7 @@ export function logEvent(category, action, label) { - global.ga('send', 'event', category, action, label); + // global.ga('send', 'event', category, action, label); } export function logError(message, fatal) { - global.ga('send', 'exception', {exDescription: message, exFatal: fatal}); + // global.ga('send', 'exception', {exDescription: message, exFatal: fatal}); } diff --git a/website/webpack.config.js b/website/webpack.config.js index e8735d4b5..0ef257a67 100644 --- a/website/webpack.config.js +++ b/website/webpack.config.js @@ -99,6 +99,11 @@ const plugins = [ ]; module.exports = Object.assign({ + resolve: { + alias: { + 'node:assert': 'assert' + } + }, optimization: { moduleIds: DEV ? 'named' : 'hashed', runtimeChunk: 'single', @@ -246,6 +251,7 @@ module.exports = Object.assign({ }, node: { + assert: 'empty', child_process: 'empty', fs: 'empty', module: 'empty', diff --git a/website/yarn.lock b/website/yarn.lock index 6bb5f2c07..7bf3ad0c9 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -56,8 +56,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.6", "babel7@npm:@babel/core@^7": - name babel7 +"@babel/core@^7.1.6": version "7.13.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== @@ -374,11 +373,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.12.13", "@babel/parser@^7.12.17", "@babel/parser@^7.13.0", "@babel/parser@^7.13.4", "@babel/parser@^7.8.4", "babylon7@npm:@babel/parser@^7": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.12.13", "@babel/parser@^7.12.17", "@babel/parser@^7.13.0", "@babel/parser@^7.13.4", "@babel/parser@^7.8.4": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== +"@babel/parser@^7.14.3": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298" + integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ== + "@babel/plugin-proposal-async-generator-functions@^7.13.8": version "7.13.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz#87aacb574b3bc4b5603f6fe41458d72a5a2ec4b1" @@ -1042,6 +1046,14 @@ pirates "^4.0.0" source-map-support "^0.5.16" +"@babel/runtime-corejs2@^7.0.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.14.0.tgz#5519b92ccc819bd3d0a1ecb25ab3cb5a775485f8" + integrity sha512-btR4E8JiGlmmDI5YgirlG9z3T91rBdxnVh2YuEStrHDcekffaaIeK+CE0S4IaYUyYhMa7rFDfF2GEO79XNbLEA== + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.4" + "@babel/runtime-corejs3@^7.8.3": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.9.tgz#b2fa9a6e5690ef8d4c4f2d30cac3ec1a8bb633ce" @@ -1314,17 +1326,129 @@ resolved "https://registry.yarnpkg.com/@simple-dom/interface/-/interface-1.4.0.tgz#e8feea579232017f89b0138e2726facda6fbb71f" integrity sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA== +"@textlint/ast-node-types@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-15.5.2.tgz#f5a2dd9f85b17c06e111b5e0dde62086b6970009" + integrity sha512-fCaOxoup5LIyBEo7R1oYWE7V4bSX0KQeHh66twon9e9usaLE3ijgF8QjYsR6joCssdeCHVd0wHm7ppsEyTr6vg== + +"@textlint/ast-node-types@^13.0.5": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz#00424f7b9bc6fe15cf6a78468ffe1e5d1adce5b2" + integrity sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ== + +"@textlint/ast-tester@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/ast-tester/-/ast-tester-15.5.2.tgz#ac1ea961a0858049de861ee45c61de85cded1b0f" + integrity sha512-xlGt3fEUC9NkGNmd7WIzIoQvxs/fOISvrco6fedSCCji0iqVwc6fw4atb2iTM/eGg4IbPlBVpjnLBduB5FpekA== + dependencies: + "@textlint/ast-node-types" "15.5.2" + debug "^4.4.3" + +"@textlint/ast-traverse@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/ast-traverse/-/ast-traverse-15.5.2.tgz#d6b48206eb10a3be959e79e44e83b3bbbcf1dc39" + integrity sha512-8lpRDjFAN+I/4hGo+0YRIpsk1YfiI223oulFkb8gL0/PCGrdw798mfV+czKIS0/fr1Eq/fYbOzbHpoATDA4GBA== + dependencies: + "@textlint/ast-node-types" "15.5.2" + +"@textlint/feature-flag@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/feature-flag/-/feature-flag-15.5.2.tgz#7819bc602d4f031b018ab7f3be660b9176802426" + integrity sha512-1KYloMwk20rkrqES15O+wSVUIPk/Vg1ol3zdtp6vT3E43Yj7mlQPwHkTr0J/XSmoJdm/s8cn86ds/KgWrm+i+g== + +"@textlint/kernel@^15.0.0": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/kernel/-/kernel-15.5.2.tgz#f891f495bb8b2d7e714be370c2b7b8e25d5d6868" + integrity sha512-UyDgebb5TQnZiFGGlF5yRIDXzvPa7TF+0ProCvrOp7/w88beZOkCx4YY53h5q69DdlKMOyUI9AdMjqLzpfzvnA== + dependencies: + "@textlint/ast-node-types" "15.5.2" + "@textlint/ast-tester" "15.5.2" + "@textlint/ast-traverse" "15.5.2" + "@textlint/feature-flag" "15.5.2" + "@textlint/source-code-fixer" "15.5.2" + "@textlint/types" "15.5.2" + "@textlint/utils" "15.5.2" + debug "^4.4.3" + fast-equals "^4.0.3" + structured-source "^4.0.0" + +"@textlint/markdown-to-ast@15.5.2", "@textlint/markdown-to-ast@^15.0.0": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/markdown-to-ast/-/markdown-to-ast-15.5.2.tgz#7c7a50c528534666cb3affa397b1d4b72f9a2950" + integrity sha512-eLEeIb7jcyWiG1jahr3pl3z8dEYEgLPdz7lBG3AP8aB4m8Sv0SdL0mCD0tfR5hNp8FrOEXldqh1g2PMuiXlN3w== + dependencies: + "@textlint/ast-node-types" "15.5.2" + debug "^4.4.3" + mdast-util-gfm-autolink-literal "^0.1.3" + neotraverse "^0.6.18" + remark-footnotes "^3.0.0" + remark-frontmatter "^3.0.0" + remark-gfm "^1.0.0" + remark-parse "^9.0.0" + structured-source "^4.0.0" + unified "^9.2.2" + +"@textlint/source-code-fixer@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/source-code-fixer/-/source-code-fixer-15.5.2.tgz#3b7990dadc6dfa6441e46b18dc2cde1182501b26" + integrity sha512-9MMhrvX4uQOEYM+C3kbVsq1O2U7tOTc0l3rMiJzniwqq57AgP/AxDRz20ujh2OGE7Qw4E2y8KyM/3XMi0HvUHQ== + dependencies: + "@textlint/types" "15.5.2" + debug "^4.4.3" + +"@textlint/text-to-ast@15.5.2", "@textlint/text-to-ast@^15.0.0": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/text-to-ast/-/text-to-ast-15.5.2.tgz#320943ca0aafc8c7594e3b38abc3dd33bbe87b4e" + integrity sha512-7cFC1Em9W3g8ilrelDftGmRzlwG+5+jx2HLJ4h4uAl+Ib42bfCtDdBnvh3dRomgu4Z36Tj0F3qMBFgxNoQhZeA== + dependencies: + "@textlint/ast-node-types" "15.5.2" + +"@textlint/textlint-plugin-markdown@^15.0.0": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-15.5.2.tgz#97ac71f3d5ae1c76d23bf0a216b8aebb4fe619c9" + integrity sha512-aaXWlFmhX+8uUibMX/+nUvqH2/C/SptW24YFUVMhCLPiEtfiYsZbT8qVtuYMH6L/MXAzjOgVSRuDcceoI7csJA== + dependencies: + "@textlint/markdown-to-ast" "15.5.2" + "@textlint/types" "15.5.2" + +"@textlint/textlint-plugin-text@^15.0.0": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-text/-/textlint-plugin-text-15.5.2.tgz#a9743d27eb266c22e6ba1edf57f800cee67f54f4" + integrity sha512-KlXPdhz5AFoBAu0bYqBuwz0ws0P5ACmXs7BFoc8719o+nK+ONSgQ+UEyl89NzGepweIqQHnlxTGcibvxu0z8Ew== + dependencies: + "@textlint/text-to-ast" "15.5.2" + "@textlint/types" "15.5.2" + +"@textlint/types@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/types/-/types-15.5.2.tgz#c751091e98a4ec8f4e285cbf90b6c5ab8af44d90" + integrity sha512-sJOrlVLLXp4/EZtiWKWq9y2fWyZlI8GP+24rnU5avtPWBIMm/1w97yzKrAqYF8czx2MqR391z5akhnfhj2f/AQ== + dependencies: + "@textlint/ast-node-types" "15.5.2" + +"@textlint/utils@15.5.2": + version "15.5.2" + resolved "https://registry.yarnpkg.com/@textlint/utils/-/utils-15.5.2.tgz#58f8d0243cf00d520fb91d3a7b6071ae70430ed0" + integrity sha512-g7Zs8QDZJspno9C7i5iGdwuJ07SxCHWIgxpAebwX503sup4w5IOo3q0X/LxRdl1F4sSAFw/m2glYZomOieNPCw== + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + "@types/mdast@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" - integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== dependencies: - "@types/unist" "*" + "@types/unist" "^2" "@types/node@*": version "12.7.4" @@ -1336,10 +1460,15 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== +"@types/unist@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + +"@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== "@types/vfile-message@*": version "1.0.1" @@ -1886,11 +2015,23 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -1986,6 +2127,13 @@ async-promise-queue@^1.0.5: async "^2.4.1" debug "^2.6.8" +async@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" + integrity sha1-YSpKtF70KnDN6Aa62G7m2wR+g4U= + dependencies: + lodash "^4.14.0" + async@^2.4.1: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -2020,7 +2168,7 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.24.0, babel-core@^6.26.0, "babel6@npm:babel-core@^6": +babel-core@^6.24.0, babel-core@^6.26.0: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== @@ -2934,26 +3082,93 @@ babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26 trim-right "^1.0.0" try-resolve "^1.0.0" -"babylon5@npm:babylon@^5", babylon@^5.8.38: +"babel6@npm:babel-core@^6": + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +"babel7@npm:@babel/core@^7": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" + integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.4" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^6.3.0" + source-map "^0.5.0" + +"babylon5@npm:babylon@^5": version "5.8.38" resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd" integrity sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0= -"babylon6@npm:babylon@^6", babylon@^6.17.0, babylon@^6.18.0, babylon@^6.8.0: +"babylon6@npm:babylon@^6": version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== +"babylon7@npm:@babel/parser@^7": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" + integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== + babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" integrity sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g== +babylon@^5.8.38: + version "5.8.38" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd" + integrity sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0= + +babylon@^6.17.0, babylon@^6.18.0, babylon@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + bail@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -3004,6 +3219,14 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@^2.0.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" + integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bl@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" @@ -3018,7 +3241,7 @@ bluebird@^2.9.33: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" integrity sha1-U0uQM8AiyVecVro7Plpcqvu2UOE= -bluebird@^3.5.5: +bluebird@^3.0.6, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -3033,6 +3256,11 @@ boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boundary@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/boundary/-/boundary-2.0.0.tgz#169c8b1f0d44cf2c25938967a328f37e0a4e5efc" + integrity sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA== + boxen@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -3343,6 +3571,11 @@ caniuse-lite@^1.0.30001181: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001194.tgz#3d16ff3d734a5a7d9818402c28b1f636c5be5bed" integrity sha512-iDUOH+oFeBYk5XawYsPtsx/8fFpndAPUQJC7gBTfxHM8xw5nOZv7ceAD4frS1MKCLUac7QL5wdAJiFQlDRjXlA== +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + ccount@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" @@ -3634,6 +3867,13 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" +collections@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/collections/-/collections-0.2.2.tgz#1f23026b2ef36f927eecc901e99c5f0d48fa334e" + integrity sha1-HyMCay7zb5J+7MkB6ZxfDUj6M04= + dependencies: + weak-map "1.0.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -3678,12 +3918,17 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@2.9.x: +commander@2.9.0, commander@2.9.x: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= @@ -3849,6 +4094,11 @@ core-js@^2.4.0, core-js@^2.5.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== +core-js@^2.6.5: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -4061,12 +4311,12 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.1.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== +debug@^4.0.0, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^4.0.1, debug@^4.1.1: version "4.1.1" @@ -4075,6 +4325,13 @@ debug@^4.0.1, debug@^4.1.1: dependencies: ms "^2.1.1" +debug@^4.1.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + decamelize@^1.0.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -4615,6 +4872,11 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" @@ -5264,6 +5526,11 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-equals@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-4.0.3.tgz#72884cc805ec3c6679b99875f6b7654f39f0e8c7" + integrity sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg== + fast-glob@^3.1.1: version "3.2.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d" @@ -5627,6 +5894,19 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +gh-pages@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-0.12.0.tgz#d951e3ed98b85699d4b0418eb1a15b1a04988dc1" + integrity sha1-2VHj7Zi4VpnUsEGOsaFbGgSYjcE= + dependencies: + async "2.1.2" + commander "2.9.0" + globby "^6.1.0" + graceful-fs "4.1.10" + q "1.4.1" + q-io "1.13.2" + rimraf "^2.5.4" + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -5752,6 +6032,17 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + glsl-parser@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/glsl-parser/-/glsl-parser-2.0.1.tgz#3ffac4ee05cc4d8141fd6b1e41e82b3766ff61b9" @@ -5768,6 +6059,11 @@ glsl-tokenizer@^2.1.2, glsl-tokenizer@^2.1.4: dependencies: through2 "^0.6.3" +graceful-fs@4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" + integrity sha1-8tcgwiCS90Mih3XHXjYSYyUB8TE= + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -5982,11 +6278,31 @@ hast-util-from-parse5@^5.0.0: web-namespaces "^1.1.2" xtend "^4.0.1" +hast-util-from-parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" + integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + hastscript "^7.0.0" + property-information "^6.0.0" + vfile "^5.0.0" + vfile-location "^4.0.0" + web-namespaces "^2.0.0" + hast-util-parse-selector@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" integrity sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw== +hast-util-parse-selector@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" + integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== + dependencies: + "@types/hast" "^2.0.0" + hast-util-raw@5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-5.0.2.tgz#62288f311ec2f35e066a30d5e0277f963ad43a67" @@ -6022,6 +6338,17 @@ hastscript@^5.0.0: property-information "^5.0.1" space-separated-tokens "^1.0.0" +hastscript@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" + integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + he@1.2.x, he@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -6442,9 +6769,9 @@ is-buffer@^1.1.5: integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-builtin-module@^1.0.0: version "1.0.0" @@ -6637,6 +6964,11 @@ is-plain-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6877,6 +7209,19 @@ json-to-ast@^2.1.0: code-error-fragment "0.0.230" grapheme-splitter "^1.0.4" +json-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-url/-/json-url-3.0.0.tgz#454fbca31342984c3f4ca8ebc6e53c89f4f7bd29" + integrity sha512-c5iQnrKGNJ4/qAV1APNFHBDSgB0qgekmcVTBV3RRa2UUw8liUIrUvI3+Om7qtnM8JwobnEsPuAWMYmtCfxSkcw== + dependencies: + "@babel/runtime-corejs2" "^7.0.0" + bluebird "^3.0.6" + lz-string "^1.4.4" + lzma "^2.3.2" + msgpack5 "^4.2.1" + node-lzw "^0.3.1" + urlsafe-base64 "^1.0.0" + json5@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" @@ -7316,16 +7661,16 @@ lodash@^3.10.0, lodash@^3.3.1, lodash@^3.9.3: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= +lodash@^4.14.0, lodash@^4.17.19: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + lodash@^4.17.13: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.19: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - log-symbols@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" @@ -7380,6 +7725,16 @@ lucene@^2.1.1: resolved "https://registry.yarnpkg.com/lucene/-/lucene-2.1.1.tgz#e710cc123b214eaf72a4c5f1da06943c0af44d86" integrity sha512-l0qCX+pgXEZh/7sYQNG+vzhOIFRPjlJJkQ/irk9n7Ak3d+1MrU6F7IV31KILwFkUn153oLK8a2AIt48DzLdVPg== +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + +lzma@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/lzma/-/lzma-2.3.2.tgz#3783b24858b9c0e747a0df3cbf1fb5fcaa92c441" + integrity sha1-N4OySFi5wOdHoN88vx+1/KqSxEE= + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7460,15 +7815,33 @@ mdast-util-directive@^1.0.0: stringify-entities "^3.1.0" unist-util-visit-parents "^3.0.0" +mdast-util-find-and-replace@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz#b7db1e873f96f66588c321f1363069abf607d1b5" + integrity sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== + dependencies: + escape-string-regexp "^4.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +mdast-util-footnote@^0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz#4b226caeab4613a3362c144c94af0fdd6f7e0ef0" + integrity sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== + dependencies: + mdast-util-to-markdown "^0.6.0" + micromark "~2.11.0" + mdast-util-from-markdown@^0.8.0: - version "0.8.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz#781371d493cac11212947226190270c15dc97116" - integrity sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w== + version "0.8.5" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== dependencies: "@types/mdast" "^3.0.0" - mdast-util-to-string "^1.0.0" - micromark "~2.10.0" + mdast-util-to-string "^2.0.0" + micromark "~2.11.0" parse-entities "^2.0.0" + unist-util-stringify-position "^2.0.0" mdast-util-frontmatter@^0.2.0: version "0.2.0" @@ -7482,6 +7855,15 @@ mdast-util-gfm-autolink-literal@^0.1.0: resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.1.tgz#94675074d725ed7254b3172fa7e7c3252960de39" integrity sha512-gJ2xSpqKCetSr22GEWpZH3f5ffb4pPn/72m4piY0v7T/S+O7n7rw+sfoPLhb2b4O7WdnERoYdALRcmD68FMtlw== +mdast-util-gfm-autolink-literal@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7" + integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== + dependencies: + ccount "^1.0.0" + mdast-util-find-and-replace "^1.1.0" + micromark "^2.11.3" + mdast-util-gfm-strikethrough@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.2.tgz#6e9ddd33ce41b06a60463e817f6ef4cf7bfa0655" @@ -7550,11 +7932,28 @@ mdast-util-to-markdown@^0.5.0: repeat-string "^1.0.0" zwitch "^1.0.0" +mdast-util-to-markdown@^0.6.0: + version "0.6.5" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" + integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + mdast-util-to-string@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + mdn-data@2.0.12: version "2.0.12" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" @@ -7626,6 +8025,13 @@ micromark-extension-directive@^1.0.0: micromark "~2.10.0" parse-entities "^2.0.0" +micromark-extension-footnote@^0.3.0: + version "0.3.2" + resolved "https://registry.yarnpkg.com/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz#129b74ef4920ce96719b2c06102ee7abb2b88a20" + integrity sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== + dependencies: + micromark "~2.11.0" + micromark-extension-frontmatter@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz#61b8e92e9213e1d3c13f5a59e7862f5ca98dfa53" @@ -7686,6 +8092,14 @@ micromark-extension-math@^0.1.0: katex "^0.12.0" micromark "~2.10.0" +micromark@^2.11.3, micromark@~2.11.0: + version "2.11.4" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" + integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + micromark@~2.10.0: version "2.10.1" resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.10.1.tgz#cd73f54e0656f10e633073db26b663a221a442a7" @@ -7770,6 +8184,16 @@ mime-types@~2.1.24: dependencies: mime-db "1.44.0" +mime@^1.2.11: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimeparse@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/mimeparse/-/mimeparse-0.1.4.tgz#dafb02752370fd226093ae3152c271af01ac254a" + integrity sha1-2vsCdSNw/SJgk64xUsJxrwGsJUo= + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -7910,6 +8334,21 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +msgpack5@^4.2.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-4.5.1.tgz#2da4dba4ea20c09fd4309c9c04f046e38cb4975e" + integrity sha512-zC1vkcliryc4JGlL6OfpHumSYUHWFGimSI+OgfRCjTFLmKA2/foR9rMTOhWiqfOrfxJOctrpWPvrppf8XynJxw== + dependencies: + bl "^2.0.1" + inherits "^2.0.3" + readable-stream "^2.3.6" + safe-buffer "^5.1.2" + multimap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multimap/-/multimap-1.0.2.tgz#6aa76fc3233905ba948bbe4c74dc2c3a0356eb36" @@ -7967,6 +8406,11 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +neotraverse@^0.6.15, neotraverse@^0.6.18: + version "0.6.18" + resolved "https://registry.yarnpkg.com/neotraverse/-/neotraverse-0.6.18.tgz#abcb33dda2e8e713cf6321b29405e822230cdb30" + integrity sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA== + next-tick@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -8033,6 +8477,11 @@ node-fetch@^1.0.1: util "^0.11.0" vm-browserify "^1.0.1" +node-lzw@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/node-lzw/-/node-lzw-0.3.1.tgz#f50e37968976aca83320028b91f101df4a436b2d" + integrity sha1-9Q43lol2rKgzIAKLkfEB30pDay0= + node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" @@ -8613,6 +9062,18 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + pirates@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -8856,6 +9317,11 @@ property-information@^5.0.0, property-information@^5.0.1: dependencies: xtend "^4.0.1" +property-information@^6.0.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -8940,11 +9406,33 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -q@^1.1.2: +q-io@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/q-io/-/q-io-1.13.2.tgz#eea130d481ddb5e1aa1bc5a66855f7391d06f003" + integrity sha1-7qEw1IHdteGqG8WmaFX3OR0G8AM= + dependencies: + collections "^0.2.0" + mime "^1.2.11" + mimeparse "^0.1.4" + q "^1.0.1" + qs "^1.2.1" + url2 "^0.0.0" + +q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= + +q@^1.0.1, q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +qs@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" + integrity sha1-GbV/8k3CqZzh+L32r82ln472H4g= + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -9058,7 +9546,7 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -9346,6 +9834,16 @@ regjsparser@^0.6.0, regjsparser@^0.6.4: dependencies: jsesc "~0.5.0" +rehype-parse@^8.0.4: + version "8.0.5" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.5.tgz#ccffc21e08e288c7846614f8dc1dc23d603a4a80" + integrity sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A== + dependencies: + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^7.0.0" + parse5 "^6.0.0" + unified "^10.0.0" + relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -9359,6 +9857,14 @@ remark-directive@^1.0.0: mdast-util-directive "^1.0.0" micromark-extension-directive "^1.0.0" +remark-footnotes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-3.0.0.tgz#5756b56f8464fa7ed80dbba0c966136305d8cb8d" + integrity sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== + dependencies: + mdast-util-footnote "^0.1.0" + micromark-extension-footnote "^0.3.0" + remark-frontmatter@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz#ca5d996361765c859bd944505f377d6b186a6ec6" @@ -9491,7 +9997,7 @@ repeating@^2.0.0: replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + integrity sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA== require-directory@^2.1.1: version "2.1.1" @@ -10141,6 +10647,11 @@ space-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA== +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -10426,6 +10937,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +structured-source@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/structured-source/-/structured-source-4.0.0.tgz#0c9e59ee43dedd8fc60a63731f60e358102a4948" + integrity sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA== + dependencies: + boundary "^2.0.0" + style-loader@^1.1.3: version "1.1.4" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.4.tgz#1ad81283cefe51096756fd62697258edad933230" @@ -10610,6 +11128,17 @@ text-table@^0.2.0, text-table@~0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +textlint-plugin-html@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/textlint-plugin-html/-/textlint-plugin-html-1.0.1.tgz#bf5e82b68b033cc0f1b96520f37c04db0cec71e0" + integrity sha512-BsuRnb8G3viZPZsDCplGY0z2LKtV6W517JAJsoJemzAWfvHqg9O2Wz05QZaSFcBF2/KS/A36eeXzviLuarvduA== + dependencies: + "@textlint/ast-node-types" "^13.0.5" + neotraverse "^0.6.15" + rehype-parse "^8.0.4" + structured-source "^4.0.0" + unified "^10.1.2" + through2@^0.6.3: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" @@ -10750,6 +11279,11 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + try-resolve@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912" @@ -10937,6 +11471,19 @@ unified@8.4.2: trough "^1.0.0" vfile "^4.0.0" +unified@^10.0.0, unified@^10.1.2: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + unified@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" @@ -10963,6 +11510,18 @@ unified@^9.1.0: trough "^1.0.0" vfile "^4.0.0" +unified@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -11008,9 +11567,9 @@ unist-util-is@^3.0.0: integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== unist-util-is@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.0.tgz#85672993f0d88a8bffb45137aba003ee8da11a38" - integrity sha512-E5JLUKRQlAYiJmN2PVBdSz01R3rUKRSM00X+0DB/yLqxdLu6wZZkRdTIsxDp9X+bkxh8Eq+O2YYRbZvLZtQT1A== + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-is@^4.0.3: version "4.0.3" @@ -11048,6 +11607,13 @@ unist-util-stringify-position@^2.0.0: dependencies: "@types/unist" "^2.0.2" +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-visit-parents@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" @@ -11055,15 +11621,7 @@ unist-util-visit-parents@^2.0.0: dependencies: unist-util-is "^3.0.0" -unist-util-visit-parents@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.0.0.tgz#dd4cdcd86d505ec7a81bdc01bc790f9def742bee" - integrity sha512-H3K8d81S4V3XVXVwLvrLGk+R5VILryfUotD06/R/rLsTsPLGjkn6gIP8qEEVITcuIySNYj0ocJLsePjm9F/Vcg== - dependencies: - "@types/unist" "^2.0.3" - unist-util-is "^4.0.0" - -unist-util-visit-parents@^3.1.1: +unist-util-visit-parents@^3.0.0, unist-util-visit-parents@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== @@ -11143,6 +11701,11 @@ url-loader@^4.1.0: mime-types "^2.1.26" schema-utils "^2.6.5" +url2@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/url2/-/url2-0.0.0.tgz#4eaabd1d5c3ac90d62ab4485c998422865a04b1a" + integrity sha1-Tqq9HVw6yQ1iq0SFyZhCKGWgSxo= + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -11151,6 +11714,11 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +urlsafe-base64@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" + integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY= + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -11228,6 +11796,14 @@ vfile-location@^2.0.0: resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== +vfile-location@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" + integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== + dependencies: + "@types/unist" "^2.0.0" + vfile "^5.0.0" + vfile-message@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" @@ -11243,6 +11819,14 @@ vfile-message@^2.0.0: "@types/unist" "^2.0.0" unist-util-stringify-position "^2.0.0" +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" @@ -11254,16 +11838,25 @@ vfile@^3.0.0: vfile-message "^1.0.0" vfile@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.1.0.tgz#d79248957f43225d57ff67a56effc67bef08946e" - integrity sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg== + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" - replace-ext "1.0.0" unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vfile@^5.0.0: + version "5.3.7" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -11305,11 +11898,21 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +weak-map@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.0.tgz#b66e56a9df0bd25a76bbf1b514db129080614a37" + integrity sha1-tm5Wqd8L0lp2u/G1FNsSkIBhSjc= + web-namespaces@^1.0.0, web-namespaces@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA== +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + webidl2@^23.5.1: version "23.11.0" resolved "https://registry.yarnpkg.com/webidl2/-/webidl2-23.11.0.tgz#3c3d492877c6b90171de4174e16b1e2b87f99267" @@ -11576,6 +12179,6 @@ yargs@~3.27.0: y18n "^3.2.0" zwitch@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.4.tgz#93b1b993b13c8926753a41afaf8f27bbfac6be8b" - integrity sha512-YO803/X+13GNaZB7fVopjvHH0uWQKgJkgKnU1YCjxShjKGVuN9PPHHW8g+uFDpkHpSTNi3rCMKMewIcbC1BAYg== + version "1.0.5" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==