From 5ba76b62198cd6309c196a0d3c9fd6b0fa420fe8 Mon Sep 17 00:00:00 2001
From: Darsh
Date: Sat, 3 Oct 2020 10:47:27 +0530
Subject: [PATCH 1/9] add remark-snackplayer
---
website/docusaurus.config.js | 2 +-
website/package.json | 2 +-
website/yarn.lock | 54 ++++++++++++++++++++++++------------
3 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 1d9f0c77efc..ee660862b95 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -338,7 +338,7 @@ module.exports = {
'https://github.com/facebook/react-native-website/blob/master/docs/',
path: '../docs',
sidebarPath: require.resolve('./sidebars.json'),
- remarkPlugins: [],
+ remarkPlugins: [require('remark-snackplayer')],
},
blog: {
path: 'blog',
diff --git a/website/package.json b/website/package.json
index 19bf421943f..09c6bd04344 100644
--- a/website/package.json
+++ b/website/package.json
@@ -51,7 +51,7 @@
"highlight.js": "^9.18.3",
"react": "^16.10.2",
"react-dom": "^16.10.2",
- "remarkable": "^2.0.1"
+ "remark-snackplayer": "^0.0.1"
},
"devDependencies": {
"@motiz88/react-native-docgen": "0.0.3",
diff --git a/website/yarn.lock b/website/yarn.lock
index 09d8a58de15..c116c188d5e 100644
--- a/website/yarn.lock
+++ b/website/yarn.lock
@@ -2208,7 +2208,7 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
-argparse@^1.0.10, argparse@^1.0.7:
+argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@@ -2359,13 +2359,6 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autolinker@^3.11.0:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-3.11.0.tgz#209c4632550eed32285058eaac51f1382dae023a"
- integrity sha512-VMTEjE3jeBK5MinTZiuVE07O4wMVmXhpzmc5sCc8cap6exsVzjmQJgtH8NqHsFru58ujUieBA9Dmwiz+E5KWEA==
- dependencies:
- tslib "^1.9.3"
-
autoprefixer@^9.6.1:
version "9.8.6"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
@@ -3884,6 +3877,11 @@ decompress-response@^3.3.0:
dependencies:
mimic-response "^1.0.0"
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+
deep-equal@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
@@ -5553,6 +5551,11 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+highlight.js@^10.2.0:
+ version "10.2.1"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.2.1.tgz#09784fe2e95612abbefd510948945d4fe6fa9668"
+ integrity sha512-A+sckVPIb9zQTUydC9lpRX1qRFO/N0OKEh0NwIr65ckvWA/oMY8v9P3+kGRK3w2ULSh9E8v5MszXafodQ6039g==
+
highlight.js@^9.18.3:
version "9.18.3"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634"
@@ -9861,6 +9864,16 @@ remark-retext@^3.0.0:
dependencies:
mdast-util-to-nlcst "^3.2.0"
+remark-snackplayer@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/remark-snackplayer/-/remark-snackplayer-0.0.1.tgz#e34aaa5930656a10a18800d1ab6d9541ea671ace"
+ integrity sha512-YbMXjubrP41/M2w00d9SISsAdxB903+PZGCIEeqmhbAIYZ2eJdDNl11ejBRKvlhQlRYBlJUSVwLIQTxMpaXrig==
+ dependencies:
+ dedent "^0.7.0"
+ highlight.js "^10.2.0"
+ unist-builder "^2.0.3"
+ unist-util-visit-parents "^3.1.0"
+
remark-squeeze-paragraphs@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead"
@@ -9868,14 +9881,6 @@ remark-squeeze-paragraphs@4.0.0:
dependencies:
mdast-squeeze-paragraphs "^4.0.0"
-remarkable@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-2.0.1.tgz#280ae6627384dfb13d98ee3995627ca550a12f31"
- integrity sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==
- dependencies:
- argparse "^1.0.10"
- autolinker "^3.11.0"
-
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -11290,11 +11295,16 @@ ts-pnp@^1.1.6:
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
-tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3:
+tslib@^1.10.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+tslib@^1.9.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
+ integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -11506,7 +11516,7 @@ unique-string@^2.0.0:
dependencies:
crypto-random-string "^2.0.0"
-unist-builder@2.0.3, unist-builder@^2.0.0:
+unist-builder@2.0.3, unist-builder@^2.0.0, unist-builder@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
@@ -11593,6 +11603,14 @@ unist-util-visit-parents@^3.0.0:
"@types/unist" "^2.0.3"
unist-util-is "^4.0.0"
+unist-util-visit-parents@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
+ integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
From 8c1fbc56f18f7931f75b4dd63b0a40d2e54e0be8 Mon Sep 17 00:00:00 2001
From: Darsh
Date: Sat, 3 Oct 2020 13:18:01 +0530
Subject: [PATCH 2/9] bump version
---
website/package.json | 2 +-
website/yarn.lock | 17 ++++++-----------
2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/website/package.json b/website/package.json
index 09c6bd04344..ed8709c2e34 100644
--- a/website/package.json
+++ b/website/package.json
@@ -51,7 +51,7 @@
"highlight.js": "^9.18.3",
"react": "^16.10.2",
"react-dom": "^16.10.2",
- "remark-snackplayer": "^0.0.1"
+ "remark-snackplayer": "^0.0.2"
},
"devDependencies": {
"@motiz88/react-native-docgen": "0.0.3",
diff --git a/website/yarn.lock b/website/yarn.lock
index c116c188d5e..e077c9c440d 100644
--- a/website/yarn.lock
+++ b/website/yarn.lock
@@ -5551,11 +5551,6 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-highlight.js@^10.2.0:
- version "10.2.1"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.2.1.tgz#09784fe2e95612abbefd510948945d4fe6fa9668"
- integrity sha512-A+sckVPIb9zQTUydC9lpRX1qRFO/N0OKEh0NwIr65ckvWA/oMY8v9P3+kGRK3w2ULSh9E8v5MszXafodQ6039g==
-
highlight.js@^9.18.3:
version "9.18.3"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634"
@@ -9119,7 +9114,7 @@ prism-react-renderer@^1.1.0:
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz#1c1be61b1eb9446a146ca7a50b7bcf36f2a70a44"
integrity sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==
-prismjs@^1.20.0:
+prismjs@^1.20.0, prismjs@^1.21.0:
version "1.21.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==
@@ -9864,13 +9859,13 @@ remark-retext@^3.0.0:
dependencies:
mdast-util-to-nlcst "^3.2.0"
-remark-snackplayer@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/remark-snackplayer/-/remark-snackplayer-0.0.1.tgz#e34aaa5930656a10a18800d1ab6d9541ea671ace"
- integrity sha512-YbMXjubrP41/M2w00d9SISsAdxB903+PZGCIEeqmhbAIYZ2eJdDNl11ejBRKvlhQlRYBlJUSVwLIQTxMpaXrig==
+remark-snackplayer@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/remark-snackplayer/-/remark-snackplayer-0.0.2.tgz#d7ef1488594a4fcfd5e489fd4153cc5b6c7d012d"
+ integrity sha512-j53iV4NJVmQ0tRrFZ0C344Ba2IUHDxxGnOZwUY7SlTb87VsyAgUSdbxd7uuiSZ14XK0lLRMfyDLzfDkkucZFiw==
dependencies:
dedent "^0.7.0"
- highlight.js "^10.2.0"
+ prismjs "^1.21.0"
unist-builder "^2.0.3"
unist-util-visit-parents "^3.1.0"
From b50aff75406c92db8c1551b0544f0b767b9842f4 Mon Sep 17 00:00:00 2001
From: Darsh
Date: Sat, 3 Oct 2020 14:32:57 +0530
Subject: [PATCH 3/9] remove legacy plugins
---
website/core/RemarkablePlugins.js | 144 ------------------------------
1 file changed, 144 deletions(-)
delete mode 100644 website/core/RemarkablePlugins.js
diff --git a/website/core/RemarkablePlugins.js b/website/core/RemarkablePlugins.js
deleted file mode 100644
index ee73e59caa7..00000000000
--- a/website/core/RemarkablePlugins.js
+++ /dev/null
@@ -1,144 +0,0 @@
-'use strict';
-
-const hljs = require('highlight.js');
-
-// Remove leading "SnackPlayer", "ReactNativeWebPlayer"
-function cleanParams(params) {
- if (params && params.split(' ').length > 0) {
- return params.split(' ')[1];
- }
-
- return null;
-}
-
-function parseParams(paramString) {
- var params = {};
-
- if (paramString) {
- var pairs = paramString.split('&');
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i].split('=');
- params[pair[0]] = pair[1];
- }
- }
-
- if (!params.platform) {
- params.platform = 'web';
- }
-
- return params;
-}
-
-function htmlForCodeBlock(code) {
- return (
- '' +
- hljs.highlight('javascript', code).value +
- '
'
- );
-}
-
-/**
- * Use the SnackPlayer by including a ```SnackPlayer``` block in markdown.
- *
- * Optionally, include url parameters directly after the block's language.
- * Valid options are name, description, and platform.
- *
- * E.g.
- * ```SnackPlayer platform=android&name=Hello%20world!
- * import React from 'react';
- * import { Text } from 'react-native';
- *
- * export default class App extends React.Component {
- * render() {
- * return Hello World!;
- * }
- * }
- * ```
- */
-function SnackPlayer(md) {
- md.renderer.rules.fence_custom.SnackPlayer = function(tokens, idx) {
- let params = parseParams(cleanParams(tokens[idx].params));
-
- const name = params.name ? decodeURIComponent(params.name) : 'Example';
- const description = params.description
- ? decodeURIComponent(params.description)
- : 'Example usage';
- const sampleCode = tokens[idx].content;
- const encodedSampleCode = encodeURIComponent(sampleCode);
- const platform = params.platform ? params.platform : 'ios';
- const supportedPlatforms = params.supportedPlatforms
- ? params.supportedPlatforms
- : 'ios,android,web';
-
- return (
- '' +
- '
' +
- htmlForCodeBlock(sampleCode) +
- '
' +
- '
' +
- '
'
- );
- };
-}
-
-/**
- * Use the WebPlayer by including a ```ReactNativeWebPlayer``` block in
- * markdown.
- *
- * Optionally, include url parameters directly after the block's language. For
- * the complete list of url parameters, see:
- * https://github.com/dabbott/react-native-web-player
- *
- * E.g.
- * ```ReactNativeWebPlayer platform=android
- * import React from 'react';
- * import { Text } from 'react-native';
- *
- * const App = () => Hello World!;
- * export default App;
- * ```
- */
-function ReactNativeWebPlayer(md) {
- md.renderer.rules.fence_custom.ReactNativeWebPlayer = function(tokens, idx) {
- const WEB_PLAYER_VERSION = '2.0.0-alpha.8';
-
- let sampleCode = tokens[idx].content;
- let hash = `#code=${encodeURIComponent(sampleCode)}`;
-
- let paramsString = cleanParams(tokens[idx].params);
- if (paramsString) {
- hash += `&${paramsString}`;
- }
- let params = parseParams(paramsString);
-
- return (
- '' +
- htmlForCodeBlock(sampleCode) +
- `` +
- `
` +
- '\n\n'
- );
- };
-}
-
-module.exports = {ReactNativeWebPlayer, SnackPlayer};
From 3637dbc9457bee4c97d2ad4950cef51d3c24de6a Mon Sep 17 00:00:00 2001
From: Darsh
Date: Sat, 3 Oct 2020 16:52:40 +0530
Subject: [PATCH 4/9] Increase heap memory
---
website/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/package.json b/website/package.json
index ed8709c2e34..9f4bd036f1d 100644
--- a/website/package.json
+++ b/website/package.json
@@ -15,7 +15,7 @@
"main": "n/a",
"scripts": {
"start": "docusaurus start",
- "build": "docusaurus build",
+ "build": "node --max_old_space_size=4096 node_modules/@docusaurus/core/bin/docusaurus build",
"prepublish-gh-pages": "yarn sync-community-repos",
"publish-gh-pages": "docusaurus-publish",
"version": "docusaurus-version",
From 4a08a190fdc9f3fcb899843071668fad6979f49d Mon Sep 17 00:00:00 2001
From: Bartosz Kaszubowski
Date: Tue, 6 Oct 2020 16:05:53 +0200
Subject: [PATCH 5/9] move heap fix to the deployment scripts
---
.circleci/config.yml | 1 +
netlify.toml | 2 +-
website/package.json | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 72eb3d770ab..dd019ade62f 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -98,6 +98,7 @@ jobs:
git config --global user.name "Website Deployment Script"
echo "machine github.com login reactjs-bot password $GITHUB_TOKEN" > ~/.netrc
echo "Deploying website..."
+ export NODE_OPTIONS=--max_old_space_size=4096
GIT_USER=reactjs-bot CIRCLE_PROJECT_REPONAME=react-native yarn run publish-gh-pages
else
echo "Skipping deploy."
diff --git a/netlify.toml b/netlify.toml
index 5eeb6a6097b..e8495614c8f 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -1,4 +1,4 @@
[build]
base = "website"
publish = "build"
- command = "sed -i -e \"s|const baseUrl .*|const baseUrl = '/'|g\" docusaurus.config.js && yarn install && yarn build"
+ command = "export NODE_OPTIONS=--max_old_space_size=4096 && sed -i -e \"s|const baseUrl .*|const baseUrl = '/'|g\" docusaurus.config.js && yarn install && yarn build"
diff --git a/website/package.json b/website/package.json
index 9f4bd036f1d..ed8709c2e34 100644
--- a/website/package.json
+++ b/website/package.json
@@ -15,7 +15,7 @@
"main": "n/a",
"scripts": {
"start": "docusaurus start",
- "build": "node --max_old_space_size=4096 node_modules/@docusaurus/core/bin/docusaurus build",
+ "build": "docusaurus build",
"prepublish-gh-pages": "yarn sync-community-repos",
"publish-gh-pages": "docusaurus-publish",
"version": "docusaurus-version",
From b75a0e6ba1d82c53b6c0df054acb52e19324bd46 Mon Sep 17 00:00:00 2001
From: slorber
Date: Tue, 6 Oct 2020 20:02:33 +0200
Subject: [PATCH 6/9] Add ability to initialize snackplayer after navigation
and tab changes
---
website/docusaurus.config.js | 2 +-
website/sitePlugin.js | 19 +++++++++++
website/snackPlayerInitializer.js | 53 +++++++++++++++++++++++++++++++
3 files changed, 73 insertions(+), 1 deletion(-)
create mode 100644 website/sitePlugin.js
create mode 100644 website/snackPlayerInitializer.js
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index ee660862b95..6f6ec4ccae4 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -353,7 +353,7 @@ module.exports = {
},
],
],
- plugins: ['docusaurus-plugin-sass'],
+ plugins: ['docusaurus-plugin-sass', './sitePlugin'],
themeConfig: {
prism: {
defaultLanguage: 'jsx',
diff --git a/website/sitePlugin.js b/website/sitePlugin.js
new file mode 100644
index 00000000000..28739420f51
--- /dev/null
+++ b/website/sitePlugin.js
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+const path = require('path');
+
+// TODO this plugin could be removed after PR merged:
+// https://github.com/facebook/docusaurus/pull/3545
+module.exports = function() {
+ return {
+ plugin: 'site-plugin',
+ getClientModules() {
+ return [path.resolve(__dirname, './snackPlayerInitializer')];
+ },
+ };
+};
diff --git a/website/snackPlayerInitializer.js b/website/snackPlayerInitializer.js
new file mode 100644
index 00000000000..9b83dbd7505
--- /dev/null
+++ b/website/snackPlayerInitializer.js
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
+
+export default (function() {
+ if (!ExecutionEnvironment.canUseDOM) {
+ return null;
+ }
+
+ function initSnackPlayers() {
+ console.log('initSnackPlayers');
+ window.ExpoSnack.initialize();
+ }
+
+ function setupTabPanelsMutationObservers() {
+ const tabPanels = document.querySelectorAll('[role=tabpanel]');
+ console.log('setupTabPanelsMutationObservers', {tabPanels});
+ tabPanels.forEach(tabPanel => {
+ new MutationObserver(function(mutations, observer) {
+ initSnackPlayers();
+ console.log('tabPanel MutationObserver triggered', {tabPanels});
+ }).observe(tabPanel, {childList: true});
+ });
+ }
+
+ if (document.readyState === 'complete') {
+ setupTabPanelsMutationObservers();
+ } else {
+ document.addEventListener('readystatechange', function() {
+ if (document.readyState === 'complete') {
+ setupTabPanelsMutationObservers();
+ }
+ });
+ }
+
+ return {
+ onRouteUpdate({location}) {
+ console.log('onRouteUpdate', {location});
+
+ // TODO temporary, because onRouteUpdate fires before the new route renders...
+ // see https://github.com/facebook/docusaurus/issues/3399#issuecomment-704401189
+ setTimeout(() => {
+ initSnackPlayers();
+ setupTabPanelsMutationObservers();
+ }, 0);
+ },
+ };
+})();
From 2e3f62976f0f47be886ebd28d6d4e0ccb25ba08a Mon Sep 17 00:00:00 2001
From: Darsh
Date: Wed, 7 Oct 2020 11:08:39 +0530
Subject: [PATCH 7/9] add local remark-snackplayer package
---
website/docusaurus.config.js | 2 +-
website/package.json | 3 +-
website/plugins/remark-snackplayer/.gitignore | 116 +++
website/plugins/remark-snackplayer/README.md | 74 ++
.../plugins/remark-snackplayer/package.json | 30 +
.../plugins/remark-snackplayer/src/index.js | 162 ++++
.../plugins/remark-snackplayer/tests/index.js | 23 +
.../tests/markdown/test1.md | 16 +
.../tests/markdown/test2.md | 33 +
.../tests/output/output1.html | 83 ++
.../tests/output/output2.html | 117 +++
website/plugins/remark-snackplayer/yarn.lock | 808 ++++++++++++++++++
website/yarn.lock | 27 +-
13 files changed, 1466 insertions(+), 28 deletions(-)
create mode 100644 website/plugins/remark-snackplayer/.gitignore
create mode 100644 website/plugins/remark-snackplayer/README.md
create mode 100644 website/plugins/remark-snackplayer/package.json
create mode 100644 website/plugins/remark-snackplayer/src/index.js
create mode 100644 website/plugins/remark-snackplayer/tests/index.js
create mode 100644 website/plugins/remark-snackplayer/tests/markdown/test1.md
create mode 100644 website/plugins/remark-snackplayer/tests/markdown/test2.md
create mode 100644 website/plugins/remark-snackplayer/tests/output/output1.html
create mode 100644 website/plugins/remark-snackplayer/tests/output/output2.html
create mode 100644 website/plugins/remark-snackplayer/yarn.lock
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 6f6ec4ccae4..3cb90410be6 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -338,7 +338,7 @@ module.exports = {
'https://github.com/facebook/react-native-website/blob/master/docs/',
path: '../docs',
sidebarPath: require.resolve('./sidebars.json'),
- remarkPlugins: [require('remark-snackplayer')],
+ remarkPlugins: [require('./plugins/remark-snackplayer')],
},
blog: {
path: 'blog',
diff --git a/website/package.json b/website/package.json
index ed8709c2e34..1fb28b1baef 100644
--- a/website/package.json
+++ b/website/package.json
@@ -50,8 +50,7 @@
"docusaurus-plugin-sass": "^0.1.11",
"highlight.js": "^9.18.3",
"react": "^16.10.2",
- "react-dom": "^16.10.2",
- "remark-snackplayer": "^0.0.2"
+ "react-dom": "^16.10.2"
},
"devDependencies": {
"@motiz88/react-native-docgen": "0.0.3",
diff --git a/website/plugins/remark-snackplayer/.gitignore b/website/plugins/remark-snackplayer/.gitignore
new file mode 100644
index 00000000000..d5a06f7a015
--- /dev/null
+++ b/website/plugins/remark-snackplayer/.gitignore
@@ -0,0 +1,116 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
\ No newline at end of file
diff --git a/website/plugins/remark-snackplayer/README.md b/website/plugins/remark-snackplayer/README.md
new file mode 100644
index 00000000000..20b1cd02ede
--- /dev/null
+++ b/website/plugins/remark-snackplayer/README.md
@@ -0,0 +1,74 @@
+ Remark SnackPlayer
+
+
+Remark plugin to embed Expo Snack's using Code Blocks
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Installing
+
+`npm install remark-snackplayer`
+
+or
+
+`yarn add remark-snackplayer`
+
+## Usage
+
+This plugin parses codeblocks with language set as `SnackPlayer` and replaces them with embedded Expo's SnackPlayers, you can also provide parameters along with the codeblock to set some basic details.
+
+Example Code Block:
+
+````
+
+```SnackPlayer name=Hello%20World description=This%20is%20a%20description
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+ return (
+
+
+ Try editing me! 🎉
+
+
+ );
+}
+
+export default YourApp;```
+
+
+````
+
+The above code snippet would look like this on your page
+
+
+
+Parameters:
+
+| Name | Description | Default |
+| ------------------ | -------------------------- | ----------------- |
+| name | SnackPlayer Name | "Example" |
+| description | Description of the example | "Example usage" |
+| platform | Example Platform | "ios" |
+| supportedPlatforms | Supported Platforms | "ios,android,web" |
+
+## To Do
+
+- Support Passing Configuration Parameters
+- Fix and Document Mobile Fallback
+- Write Comprehensive tests
diff --git a/website/plugins/remark-snackplayer/package.json b/website/plugins/remark-snackplayer/package.json
new file mode 100644
index 00000000000..783eebf7361
--- /dev/null
+++ b/website/plugins/remark-snackplayer/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "remark-snackplayer",
+ "version": "0.0.2",
+ "description": "Remark SnackPlayer Plugin",
+ "main": "src/index.js",
+ "author": "Darsh ",
+ "keywords": [
+ "remark",
+ "react-native",
+ "expo",
+ "snackplayer",
+ "preview"
+ ],
+ "files": [
+ "src"
+ ],
+ "scripts": {
+ "test": "node_modules/.bin/tape tests/index.js"
+ },
+ "dependencies": {
+ "dedent": "^0.7.0",
+ "prismjs": "^1.21.0",
+ "unist-builder": "^2.0.3",
+ "unist-util-visit-parents": "^3.1.0"
+ },
+ "devDependencies": {
+ "remark": "^12.0.1",
+ "tape": "^5.0.1"
+ }
+}
diff --git a/website/plugins/remark-snackplayer/src/index.js b/website/plugins/remark-snackplayer/src/index.js
new file mode 100644
index 00000000000..25e135bac34
--- /dev/null
+++ b/website/plugins/remark-snackplayer/src/index.js
@@ -0,0 +1,162 @@
+'use strict';
+const visit = require('unist-util-visit-parents');
+const u = require('unist-builder');
+const dedent = require('dedent');
+const Prism = require('prismjs');
+require('prismjs/components/prism-jsx');
+
+function parseParams(paramString) {
+ var params = {};
+
+ if (paramString) {
+ var pairs = paramString.split('&');
+ for (var i = 0; i < pairs.length; i++) {
+ var pair = pairs[i].split('=');
+ params[pair[0]] = pair[1];
+ }
+ }
+
+ if (!params.platform) {
+ params.platform = 'web';
+ }
+
+ return params;
+}
+
+function htmlForCodeBlock(code) {
+ return `
+
+
+ ${Prism.highlight(code, Prism.languages.jsx, 'jsx')}
+
+
+ `;
+}
+
+function SnackPlayer() {
+ return tree =>
+ new Promise(async (resolve, reject) => {
+ const nodesToProcess = [];
+ // Parse all CodeBlocks
+ visit(tree, 'code', (node, parent) => {
+ //Add SnackPlayer CodeBlocks to processing queue
+ if (node.lang == 'SnackPlayer') {
+ nodesToProcess.push(
+ new Promise(async (resolve, reject) => {
+ try {
+ let params = parseParams(node.meta);
+
+ // Gather necessary Params
+ const name = params.name
+ ? decodeURIComponent(params.name)
+ : 'Example';
+ const description = params.description
+ ? decodeURIComponent(params.description)
+ : 'Example usage';
+ const sampleCode = node.value;
+ const encodedSampleCode = encodeURIComponent(sampleCode);
+ const platform = params.platform ? params.platform : 'ios';
+ const supportedPlatforms = params.supportedPlatforms
+ ? params.supportedPlatforms
+ : 'ios,android,web';
+
+ // Generate Node for SnackPlayer
+ const snackPlayerDiv = u('html', {
+ value: dedent`
+
+
+ ${htmlForCodeBlock(dedent(sampleCode))}
+
+
+
+ `,
+ });
+
+ // Replace code block with SnackPlayer Node
+ const index = parent[0].children.indexOf(node);
+ parent[0].children.splice(index, 1, snackPlayerDiv);
+ } catch (e) {
+ return reject(e);
+ }
+ resolve();
+ })
+ );
+ }
+ });
+
+ // If there is one or more snackplayer(s) present
+ if (nodesToProcess.length) {
+ // To embed.js script
+ const snackPlayerEmbed = u('html', {
+ value: dedent`
+
+
+
+ `,
+ });
+
+ tree.children.push(snackPlayerEmbed);
+ }
+ // Wait for all promises to be resolved
+ Promise.all(nodesToProcess)
+ .then(resolve())
+ .catch(reject());
+ });
+}
+
+module.exports = SnackPlayer;
diff --git a/website/plugins/remark-snackplayer/tests/index.js b/website/plugins/remark-snackplayer/tests/index.js
new file mode 100644
index 00000000000..c6b25f0372c
--- /dev/null
+++ b/website/plugins/remark-snackplayer/tests/index.js
@@ -0,0 +1,23 @@
+const path = require('path');
+const fs = require('fs');
+const test = require('tape');
+const remark = require('remark');
+const snackplayer = require('../');
+
+function read(name) {
+ return fs.readFileSync(path.join(__dirname, name), 'utf8');
+}
+
+test('remark-snackplayer', async t => {
+ const processor = remark().use(snackplayer);
+
+ processor.process(read('markdown/test1.md'), (err, file) => {
+ if (err) t.fail('Failed to process markdown/test1.md');
+ t.equal(String(file), read('output/output1.html'), 'With 1 Code Block');
+ });
+
+ processor.process(read('markdown/test2.md'), (err, file) => {
+ if (err) t.fail('Failed to process markdown/test2.md');
+ t.equal(String(file), read('output/output2.html'), 'With 2 Code Blocks');
+ });
+});
diff --git a/website/plugins/remark-snackplayer/tests/markdown/test1.md b/website/plugins/remark-snackplayer/tests/markdown/test1.md
new file mode 100644
index 00000000000..052c2822cf4
--- /dev/null
+++ b/website/plugins/remark-snackplayer/tests/markdown/test1.md
@@ -0,0 +1,16 @@
+```SnackPlayer name=Hello%20World
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+ return (
+
+
+ Try editing me! 🎉
+
+
+ );
+}
+
+export default YourApp;
+```
diff --git a/website/plugins/remark-snackplayer/tests/markdown/test2.md b/website/plugins/remark-snackplayer/tests/markdown/test2.md
new file mode 100644
index 00000000000..ed4f11ccf1d
--- /dev/null
+++ b/website/plugins/remark-snackplayer/tests/markdown/test2.md
@@ -0,0 +1,33 @@
+```SnackPlayer name=FirstPlayer
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+ return (
+
+
+ Try editing me! 🎉
+
+
+ );
+}
+
+export default YourApp;
+```
+
+```SnackPlayer name=SecondPlayer
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+ return (
+
+
+ Try editing me! 🎉
+
+
+ );
+}
+
+export default YourApp;
+```
diff --git a/website/plugins/remark-snackplayer/tests/output/output1.html b/website/plugins/remark-snackplayer/tests/output/output1.html
new file mode 100644
index 00000000000..d4616773bb4
--- /dev/null
+++ b/website/plugins/remark-snackplayer/tests/output/output1.html
@@ -0,0 +1,83 @@
+
+
+
+
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+return (
+<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
+<Text>
+Try editing me! 🎉
+</Text>
+</View>
+);
+}
+
+export default YourApp;
+
+
+
+
+
+
+
+
+
diff --git a/website/plugins/remark-snackplayer/tests/output/output2.html b/website/plugins/remark-snackplayer/tests/output/output2.html
new file mode 100644
index 00000000000..c5f02ad44fa
--- /dev/null
+++ b/website/plugins/remark-snackplayer/tests/output/output2.html
@@ -0,0 +1,117 @@
+
+
+
+
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+return (
+<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
+<Text>
+Try editing me! 🎉
+</Text>
+</View>
+);
+}
+
+export default YourApp;
+
+
+
+
+
+
+
+
+
+
+import React from 'react';
+import { Text, View } from 'react-native';
+
+const YourApp = () => {
+return (
+<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
+<Text>
+Try editing me! 🎉
+</Text>
+</View>
+);
+}
+
+export default YourApp;
+
+
+
+
+
+
+
+
+
diff --git a/website/plugins/remark-snackplayer/yarn.lock b/website/plugins/remark-snackplayer/yarn.lock
new file mode 100644
index 00000000000..2fd6623c247
--- /dev/null
+++ b/website/plugins/remark-snackplayer/yarn.lock
@@ -0,0 +1,808 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@types/unist@^2.0.0", "@types/unist@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+ integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+
+array-filter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
+ integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
+
+available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5"
+ integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==
+ dependencies:
+ array-filter "^1.0.0"
+
+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==
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+ccount@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
+ integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==
+
+character-entities-html4@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
+ integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==
+
+character-entities-legacy@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
+ integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+
+character-entities@^1.0.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
+ integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
+ integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+
+clipboard@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
+ integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
+collapse-white-space@^1.0.2:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
+ integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+
+deep-equal@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.4.tgz#6b0b407a074666033169df3acaf128e1c6f3eab6"
+ integrity sha512-BUfaXrVoCfgkOQY/b09QdO9L3XNoF2XH0A3aY9IQwQL/ZjLOe8FQgCNVl1wiolhsFo8kFdO9zdPViCPbmaJA5w==
+ dependencies:
+ es-abstract "^1.18.0-next.1"
+ es-get-iterator "^1.1.0"
+ is-arguments "^1.0.4"
+ is-date-object "^1.0.2"
+ is-regex "^1.1.1"
+ isarray "^2.0.5"
+ object-is "^1.1.3"
+ object-keys "^1.1.1"
+ object.assign "^4.1.1"
+ regexp.prototype.flags "^1.3.0"
+ side-channel "^1.0.3"
+ which-boxed-primitive "^1.0.1"
+ which-collection "^1.0.1"
+ which-typed-array "^1.1.2"
+
+define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ dependencies:
+ object-keys "^1.0.12"
+
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
+dotignore@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905"
+ integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==
+ dependencies:
+ minimatch "^3.0.4"
+
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5:
+ version "1.17.7"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
+ integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.2"
+ is-regex "^1.1.1"
+ object-inspect "^1.8.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.1"
+ string.prototype.trimend "^1.0.1"
+ string.prototype.trimstart "^1.0.1"
+
+es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1:
+ version "1.18.0-next.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68"
+ integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.2"
+ is-negative-zero "^2.0.0"
+ is-regex "^1.1.1"
+ object-inspect "^1.8.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.1"
+ string.prototype.trimend "^1.0.1"
+ string.prototype.trimstart "^1.0.1"
+
+es-get-iterator@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8"
+ integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==
+ dependencies:
+ es-abstract "^1.17.4"
+ has-symbols "^1.0.1"
+ is-arguments "^1.0.4"
+ is-map "^2.0.1"
+ is-set "^2.0.1"
+ is-string "^1.0.5"
+ isarray "^2.0.5"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+extend@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+for-each@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+ dependencies:
+ is-callable "^1.1.3"
+
+foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+ integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+glob@^7.1.6:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+ dependencies:
+ delegate "^3.1.2"
+
+has-symbols@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
+ integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@^2.0.0, inherits@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+is-alphabetical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
+ integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+
+is-alphanumeric@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
+ integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
+
+is-alphanumerical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
+ integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
+is-arguments@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
+ integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==
+
+is-bigint@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.0.tgz#73da8c33208d00f130e9b5e15d23eac9215601c4"
+ integrity sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==
+
+is-boolean-object@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e"
+ integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==
+
+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==
+
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
+ integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
+
+is-date-object@^1.0.1, is-date-object@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
+ integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+
+is-decimal@^1.0.0, is-decimal@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
+ integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+
+is-hexadecimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
+ integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+
+is-map@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1"
+ integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==
+
+is-negative-zero@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
+ integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=
+
+is-number-object@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
+ integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-regex@^1.0.5, is-regex@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
+ integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
+ dependencies:
+ has-symbols "^1.0.1"
+
+is-set@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43"
+ integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==
+
+is-string@^1.0.4, is-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
+ integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+
+is-symbol@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
+ integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+ dependencies:
+ has-symbols "^1.0.1"
+
+is-typed-array@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d"
+ integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==
+ dependencies:
+ available-typed-arrays "^1.0.0"
+ es-abstract "^1.17.4"
+ foreach "^2.0.5"
+ has-symbols "^1.0.1"
+
+is-weakmap@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
+ integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
+
+is-weakset@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83"
+ integrity sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==
+
+is-whitespace-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
+ integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==
+
+is-word-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230"
+ integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+longest-streak@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
+ integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
+
+markdown-escapes@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
+ integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
+
+markdown-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
+ integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
+ dependencies:
+ repeat-string "^1.0.0"
+
+mdast-util-compact@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490"
+ integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==
+ dependencies:
+ unist-util-visit "^2.0.0"
+
+minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+object-inspect@^1.7.0, object-inspect@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
+ integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
+
+object-is@^1.1.2, object-is@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81"
+ integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.1"
+
+object-keys@^1.0.12, object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.0, object.assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd"
+ integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.0"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
+ integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
+prismjs@^1.21.0:
+ version "1.21.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
+ integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==
+ optionalDependencies:
+ clipboard "^2.0.0"
+
+regexp.prototype.flags@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
+ integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+remark-parse@^8.0.0:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1"
+ integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==
+ dependencies:
+ ccount "^1.0.0"
+ collapse-white-space "^1.0.2"
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ is-word-character "^1.0.0"
+ markdown-escapes "^1.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ trim "0.0.1"
+ trim-trailing-lines "^1.0.0"
+ unherit "^1.0.4"
+ unist-util-remove-position "^2.0.0"
+ vfile-location "^3.0.0"
+ xtend "^4.0.1"
+
+remark-stringify@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5"
+ integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==
+ dependencies:
+ ccount "^1.0.0"
+ is-alphanumeric "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ longest-streak "^2.0.1"
+ markdown-escapes "^1.0.0"
+ markdown-table "^2.0.0"
+ mdast-util-compact "^2.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ stringify-entities "^3.0.0"
+ unherit "^1.0.4"
+ xtend "^4.0.1"
+
+remark@^12.0.1:
+ version "12.0.1"
+ resolved "https://registry.yarnpkg.com/remark/-/remark-12.0.1.tgz#f1ddf68db7be71ca2bad0a33cd3678b86b9c709f"
+ integrity sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==
+ dependencies:
+ remark-parse "^8.0.0"
+ remark-stringify "^8.0.0"
+ unified "^9.0.0"
+
+repeat-string@^1.0.0, repeat-string@^1.5.4:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+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=
+
+resolve@^1.17.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ dependencies:
+ path-parse "^1.0.6"
+
+resumer@^0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
+ integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=
+ dependencies:
+ through "~2.3.4"
+
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+
+side-channel@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
+ integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==
+ dependencies:
+ es-abstract "^1.18.0-next.0"
+ object-inspect "^1.8.0"
+
+state-toggle@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe"
+ integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==
+
+string.prototype.trim@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz#f538d0bacd98fc4297f0bef645226d5aaebf59f3"
+ integrity sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.18.0-next.0"
+
+string.prototype.trimend@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string.prototype.trimstart@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+stringify-entities@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.0.1.tgz#32154b91286ab0869ab2c07696223bd23b6dbfc0"
+ integrity sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.2"
+ is-hexadecimal "^1.0.0"
+
+tape@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/tape/-/tape-5.0.1.tgz#0d70ce90a586387c4efda4393e72872672a416a3"
+ integrity sha512-wVsOl2shKPcjdJdc8a+PwacvrOdJZJ57cLUXlxW4TQ2R6aihXwG0m0bKm4mA4wjtQNTaLMCrYNEb4f9fjHKUYQ==
+ dependencies:
+ deep-equal "^2.0.3"
+ defined "^1.0.0"
+ dotignore "^0.1.2"
+ for-each "^0.3.3"
+ function-bind "^1.1.1"
+ glob "^7.1.6"
+ has "^1.0.3"
+ inherits "^2.0.4"
+ is-regex "^1.0.5"
+ minimist "^1.2.5"
+ object-inspect "^1.7.0"
+ object-is "^1.1.2"
+ object.assign "^4.1.0"
+ resolve "^1.17.0"
+ resumer "^0.0.0"
+ string.prototype.trim "^1.2.1"
+ through "^2.3.8"
+
+through@^2.3.8, through@~2.3.4:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+trim-trailing-lines@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
+ integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==
+
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+ integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
+trough@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
+ integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
+
+unherit@^1.0.4:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
+ integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==
+ dependencies:
+ inherits "^2.0.0"
+ xtend "^4.0.0"
+
+unified@^9.0.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8"
+ integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==
+ 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"
+
+unist-builder@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
+ integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
+
+unist-util-is@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
+ integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==
+
+unist-util-remove-position@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc"
+ integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==
+ dependencies:
+ unist-util-visit "^2.0.0"
+
+unist-util-stringify-position@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
+ integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
+ dependencies:
+ "@types/unist" "^2.0.2"
+
+unist-util-visit-parents@^3.0.0, unist-util-visit-parents@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
+ integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
+unist-util-visit@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
+ integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+ unist-util-visit-parents "^3.0.0"
+
+vfile-location@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.1.0.tgz#81cd8a04b0ac935185f4fce16f270503fc2f692f"
+ integrity sha512-FCZ4AN9xMcjFIG1oGmZKo61PjwJHRVA+0/tPUP2ul4uIwjGGndIxavEMRpWn5p4xwm/ZsdXp9YNygf1ZyE4x8g==
+
+vfile-message@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
+ integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
+vfile@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01"
+ integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==
+ 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"
+
+which-boxed-primitive@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz#cbe8f838ebe91ba2471bb69e9edbda67ab5a5ec1"
+ integrity sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==
+ dependencies:
+ is-bigint "^1.0.0"
+ is-boolean-object "^1.0.0"
+ is-number-object "^1.0.3"
+ is-string "^1.0.4"
+ is-symbol "^1.0.2"
+
+which-collection@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
+ integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
+ dependencies:
+ is-map "^2.0.1"
+ is-set "^2.0.1"
+ is-weakmap "^2.0.1"
+ is-weakset "^2.0.1"
+
+which-typed-array@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2"
+ integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==
+ dependencies:
+ available-typed-arrays "^1.0.2"
+ es-abstract "^1.17.5"
+ foreach "^2.0.5"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.1"
+ is-typed-array "^1.1.3"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+xtend@^4.0.0, xtend@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
diff --git a/website/yarn.lock b/website/yarn.lock
index e077c9c440d..5df224af29a 100644
--- a/website/yarn.lock
+++ b/website/yarn.lock
@@ -3877,11 +3877,6 @@ decompress-response@^3.3.0:
dependencies:
mimic-response "^1.0.0"
-dedent@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
- integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-
deep-equal@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
@@ -9114,7 +9109,7 @@ prism-react-renderer@^1.1.0:
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz#1c1be61b1eb9446a146ca7a50b7bcf36f2a70a44"
integrity sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==
-prismjs@^1.20.0, prismjs@^1.21.0:
+prismjs@^1.20.0:
version "1.21.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==
@@ -9859,16 +9854,6 @@ remark-retext@^3.0.0:
dependencies:
mdast-util-to-nlcst "^3.2.0"
-remark-snackplayer@^0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/remark-snackplayer/-/remark-snackplayer-0.0.2.tgz#d7ef1488594a4fcfd5e489fd4153cc5b6c7d012d"
- integrity sha512-j53iV4NJVmQ0tRrFZ0C344Ba2IUHDxxGnOZwUY7SlTb87VsyAgUSdbxd7uuiSZ14XK0lLRMfyDLzfDkkucZFiw==
- dependencies:
- dedent "^0.7.0"
- prismjs "^1.21.0"
- unist-builder "^2.0.3"
- unist-util-visit-parents "^3.1.0"
-
remark-squeeze-paragraphs@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead"
@@ -11511,7 +11496,7 @@ unique-string@^2.0.0:
dependencies:
crypto-random-string "^2.0.0"
-unist-builder@2.0.3, unist-builder@^2.0.0, unist-builder@^2.0.3:
+unist-builder@2.0.3, unist-builder@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
@@ -11598,14 +11583,6 @@ unist-util-visit-parents@^3.0.0:
"@types/unist" "^2.0.3"
unist-util-is "^4.0.0"
-unist-util-visit-parents@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
- integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
-
unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
From 9edbbe9d5b5601cd0ed943e680cfc24750be61dc Mon Sep 17 00:00:00 2001
From: Darsh
Date: Wed, 7 Oct 2020 11:13:19 +0530
Subject: [PATCH 8/9] cleanup package
---
website/plugins/remark-snackplayer/.gitignore | 116 ------------------
website/plugins/remark-snackplayer/README.md | 23 ----
2 files changed, 139 deletions(-)
delete mode 100644 website/plugins/remark-snackplayer/.gitignore
diff --git a/website/plugins/remark-snackplayer/.gitignore b/website/plugins/remark-snackplayer/.gitignore
deleted file mode 100644
index d5a06f7a015..00000000000
--- a/website/plugins/remark-snackplayer/.gitignore
+++ /dev/null
@@ -1,116 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v2
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
\ No newline at end of file
diff --git a/website/plugins/remark-snackplayer/README.md b/website/plugins/remark-snackplayer/README.md
index 20b1cd02ede..3fab596112b 100644
--- a/website/plugins/remark-snackplayer/README.md
+++ b/website/plugins/remark-snackplayer/README.md
@@ -4,29 +4,6 @@
Remark plugin to embed Expo Snack's using Code Blocks
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Installing
-
-`npm install remark-snackplayer`
-
-or
-
-`yarn add remark-snackplayer`
-
## Usage
This plugin parses codeblocks with language set as `SnackPlayer` and replaces them with embedded Expo's SnackPlayers, you can also provide parameters along with the codeblock to set some basic details.
From ffe6d6bf88b9f113c75dc5ea00b8a6993f126435 Mon Sep 17 00:00:00 2001
From: Darsh
Date: Wed, 7 Oct 2020 11:26:45 +0530
Subject: [PATCH 9/9] Fix: dependency issues
---
website/package.json | 3 ++-
website/yarn.lock | 25 +++++++++++++++++++++++--
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/website/package.json b/website/package.json
index 1fb28b1baef..91f4db4f206 100644
--- a/website/package.json
+++ b/website/package.json
@@ -50,7 +50,8 @@
"docusaurus-plugin-sass": "^0.1.11",
"highlight.js": "^9.18.3",
"react": "^16.10.2",
- "react-dom": "^16.10.2"
+ "react-dom": "^16.10.2",
+ "remark-snackplayer": "./plugins/remark-snackplayer"
},
"devDependencies": {
"@motiz88/react-native-docgen": "0.0.3",
diff --git a/website/yarn.lock b/website/yarn.lock
index 5df224af29a..d6dab1aa68e 100644
--- a/website/yarn.lock
+++ b/website/yarn.lock
@@ -3877,6 +3877,11 @@ decompress-response@^3.3.0:
dependencies:
mimic-response "^1.0.0"
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+
deep-equal@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
@@ -9109,7 +9114,7 @@ prism-react-renderer@^1.1.0:
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz#1c1be61b1eb9446a146ca7a50b7bcf36f2a70a44"
integrity sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==
-prismjs@^1.20.0:
+prismjs@^1.20.0, prismjs@^1.21.0:
version "1.21.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==
@@ -9854,6 +9859,14 @@ remark-retext@^3.0.0:
dependencies:
mdast-util-to-nlcst "^3.2.0"
+remark-snackplayer@./plugins/remark-snackplayer:
+ version "0.0.2"
+ dependencies:
+ dedent "^0.7.0"
+ prismjs "^1.21.0"
+ unist-builder "^2.0.3"
+ unist-util-visit-parents "^3.1.0"
+
remark-squeeze-paragraphs@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead"
@@ -11496,7 +11509,7 @@ unique-string@^2.0.0:
dependencies:
crypto-random-string "^2.0.0"
-unist-builder@2.0.3, unist-builder@^2.0.0:
+unist-builder@2.0.3, unist-builder@^2.0.0, unist-builder@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
@@ -11583,6 +11596,14 @@ unist-util-visit-parents@^3.0.0:
"@types/unist" "^2.0.3"
unist-util-is "^4.0.0"
+unist-util-visit-parents@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
+ integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"