diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f407e3..6a05229 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `Security` in case of vulnerabilities.
+## [0.8.2] - Unreleased
+
+### Added
+- console more info for unmatched sandbox
+- `docit.config.js` now supports `vite` options
+- Iframe now has a tool bar which can view qrcode and open in new tab
+
+### Fixes
+- remove outer div of sandbox
+
+### Changed
+- changed toc and sidebar style
+- adjust mobile view sandbox code height to 640px
+- hide toc when no toc at all
+
+
## [0.8.1] - 2022-04-18
### Fixed
diff --git a/docs/document/live-block.mdx b/docs/document/live-block.mdx
index 4fc72fd..0ee1afa 100644
--- a/docs/document/live-block.mdx
+++ b/docs/document/live-block.mdx
@@ -69,6 +69,7 @@ Docit also support live mobile block. Add a `mobile` keyword after `live` to ena
```jsx live mobile
import { DemoBlock } from "../components/DemoBlock";
+
;
```
diff --git a/package.json b/package.json
index 9f9cc1d..3a1de45 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@blizzbolts/docit",
- "version": "0.8.1",
+ "version": "0.8.2-beta7",
"license": "MIT",
"bin": {
"docit": "bin/docit.js"
@@ -77,6 +77,7 @@
"minimist": "^1.2.5",
"normalize.css": "^8.0.1",
"npm-run-all": "^4.1.5",
+ "qrcode": "^1.5.0",
"react": "^17.0.2",
"react-docgen-typescript": "^2.2.2",
"react-dom": "^17.0.2",
diff --git a/scripts/release.js b/scripts/release.js
new file mode 100644
index 0000000..d8a85a2
--- /dev/null
+++ b/scripts/release.js
@@ -0,0 +1,11 @@
+// 研发流程
+// feature分支从Master拉
+// dev分支为预发布分支
+// dev分支验证完成后在master分支进行发布,修改Changelog
+
+// beta release
+// beta版在feature上发,
+// changelog体现新版本,有unreleased
+// build => .... => publish
+
+// main release
diff --git a/src/client/built-in/ShowCode/styled.ts b/src/client/built-in/ShowCode/styled.ts
index 88134bb..56cfc0d 100644
--- a/src/client/built-in/ShowCode/styled.ts
+++ b/src/client/built-in/ShowCode/styled.ts
@@ -47,6 +47,7 @@ export const ShowCodeContainer = styled.div`
flex: ${(props) => props.mobileView && "1 1 auto"};
overflow: ${(props) => props.mobileView && "auto"};
margin-right: ${(props) => props.mobileView && "2em"};
+ max-height: ${(props) => props.mobileView && "640px"};
pre {
height: ${(props) => props.mobileView && "100%"};
@@ -57,6 +58,10 @@ export const ShowCodeContainer = styled.div`
height: ${(props) => props.mobileView && "100%"};
}
}
+ @media (max-width: 1024px) {
+ margin-right: 0;
+ margin-top: 2em;
+ }
}
${RenderWindow} {
diff --git a/src/client/components/Document/styled.ts b/src/client/components/Document/styled.ts
index 530de8e..04b1e31 100644
--- a/src/client/components/Document/styled.ts
+++ b/src/client/components/Document/styled.ts
@@ -21,7 +21,11 @@ export const StyledMarkdown = styled.div`
margin-bottom: 100px;
width: calc(100% - var(--toc-width));
- @media (max-width: 768px) {
+ :last-child {
+ width: 100%;
+ }
+
+ @media (max-width: 1024px) {
padding: 0 1em;
width: 100%;
}
diff --git a/src/client/components/IFrameTools/index.tsx b/src/client/components/IFrameTools/index.tsx
new file mode 100644
index 0000000..b7c6675
--- /dev/null
+++ b/src/client/components/IFrameTools/index.tsx
@@ -0,0 +1,44 @@
+import React, { useState, useEffect, useMemo } from "react";
+import { IFrameToolsProps } from "./types";
+import { StyledIFrameTools, StyledQrCode, StyledIconWrapper } from "./styled";
+import qrcode from "qrcode";
+import { Svgs } from "../Svgs/index";
+
+const IFrameTools: React.FC = (props) => {
+ const { moduleId } = props;
+ const [qrCodeSrc, setQrCodeSrc] = useState(null);
+ const url = useMemo(() => {
+ return `${import.meta.env.BASE_URL}#sandbox?moduleId=${moduleId}`;
+ }, [moduleId]);
+
+ useEffect(() => {
+ qrcode
+ .toDataURL(url, {
+ margin: 0,
+ })
+ .then((res) => {
+ setQrCodeSrc(res);
+ });
+ }, [url]);
+
+ return (
+
+ {qrCodeSrc && (
+
+
+
+
+
+ )}
+ window.open(url)}>
+
+
+
+ );
+};
+
+export default IFrameTools;
diff --git a/src/client/components/IFrameTools/styled.ts b/src/client/components/IFrameTools/styled.ts
new file mode 100644
index 0000000..54255a8
--- /dev/null
+++ b/src/client/components/IFrameTools/styled.ts
@@ -0,0 +1,39 @@
+import styled from "styled-components";
+
+export const StyledIFrameTools = styled.div`
+ visibility: hidden;
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 12px;
+`;
+
+export const StyledQrCode = styled.div<{ src: string }>`
+ position: relative;
+ margin-right: 12px;
+ .qrcode-wrapper {
+ position: relative;
+ display: flex;
+ align-items: center;
+ }
+ .qrcode-wrapper:hover:after {
+ content: "";
+ position: absolute;
+ top: -100px;
+ left: 0px;
+ width: 80px;
+ height: 80px;
+ background-image: url(${(props) => props.src});
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+`;
+
+export const StyledIconWrapper = styled.div`
+ display: flex;
+ align-items: center;
+ margin-right: 12px;
+`;
diff --git a/src/client/components/IFrameTools/types.ts b/src/client/components/IFrameTools/types.ts
new file mode 100644
index 0000000..4db1aac
--- /dev/null
+++ b/src/client/components/IFrameTools/types.ts
@@ -0,0 +1,3 @@
+export interface IFrameToolsProps {
+ moduleId
+}
\ No newline at end of file
diff --git a/src/client/components/SandBox/index.tsx b/src/client/components/SandBox/index.tsx
index b1b0c19..09405c7 100644
--- a/src/client/components/SandBox/index.tsx
+++ b/src/client/components/SandBox/index.tsx
@@ -1,6 +1,8 @@
import { useQuery } from "../../hooks/useQuery";
import React, { useEffect, useRef, useState } from "react";
import sandboxes from "virtual:sandboxes";
+import IFrameTools from "../IFrameTools/index";
+import { StyledSandBox } from "./styled";
const Sandbox: React.FC = () => {
const query = useQuery();
@@ -15,13 +17,19 @@ const Sandbox: React.FC = () => {
ComponentRef.current = Component;
update({});
});
+ } else {
+ console.warn("No Matching Sandbox!", sandboxes);
+ console.log({ query, sandboxes });
}
}, []);
return (
-
-
-
+
+
+
+
+
+
);
};
diff --git a/src/client/components/SandBox/styled.ts b/src/client/components/SandBox/styled.ts
new file mode 100644
index 0000000..c472847
--- /dev/null
+++ b/src/client/components/SandBox/styled.ts
@@ -0,0 +1,8 @@
+
+import styled from 'styled-components'
+
+export const StyledSandBox = styled.div`
+ :hover .bottom-tools {
+ visibility: visible;
+ }
+`
\ No newline at end of file
diff --git a/src/client/components/Svgs/index.tsx b/src/client/components/Svgs/index.tsx
index f93a542..344ecd6 100644
--- a/src/client/components/Svgs/index.tsx
+++ b/src/client/components/Svgs/index.tsx
@@ -90,9 +90,33 @@ const AnimatedLoading: React.FC = (props) => {
);
};
+const QRCode: React.FC = (props) => {
+ return (
+
+ );
+};
+
+export const Forward: React.FC = (props) => {
+ return (
+
+ );
+};
+
export const Svgs = {
Twitter,
Github,
ToggleBtn,
AnimatedLoading,
+ QRCode,
+ Forward,
};
diff --git a/src/client/components/Toc/index.tsx b/src/client/components/Toc/index.tsx
index 31fcd34..40e4811 100644
--- a/src/client/components/Toc/index.tsx
+++ b/src/client/components/Toc/index.tsx
@@ -4,7 +4,12 @@ import { useHistory, useLocation } from "react-router";
import { useQuery } from "../../hooks/useQuery";
import { parseQueryToSearch } from "../../utils/url";
import appData from "virtual:appData";
-import { StyledToc, StyledTocItem, StyledTocItemTitle } from "./styled";
+import {
+ StyledToc,
+ StyledTocItem,
+ StyledTocItemTitle,
+ StyledTocTitle,
+} from "./styled";
const { markdowns } = appData;
@@ -56,7 +61,12 @@ const Toc = () => {
}
};
- return {parse(curr?.toc, 0)};
+ return isEmpty(curr?.toc) ? null : (
+
+ Table of Content
+ {parse(curr?.toc, 0)}
+
+ );
};
export { Toc };
diff --git a/src/client/components/Toc/styled.ts b/src/client/components/Toc/styled.ts
index a821a94..adcebaf 100644
--- a/src/client/components/Toc/styled.ts
+++ b/src/client/components/Toc/styled.ts
@@ -16,14 +16,21 @@ export const StyledToc = styled.div`
color: var(--c-brand);
}
- @media (max-width: 768px) {
+ @media (max-width: 1024px) {
display: none;
}
`;
+export const StyledTocTitle = styled.div`
+ font-weight: bold;
+ font-size: 18px;
+ color: var(--c-brand);
+`;
+
export const StyledTocItemTitle = styled.div`
margin-bottom: 12px;
cursor: pointer;
+ font-size: 14px;
:hover {
opacity: 0.6;
transition: opacity 200ms linear;
@@ -35,5 +42,5 @@ export const StyledTocItem = styled.div.attrs<{ level: number }>((props) => {
"data-level": props.level,
};
})<{ level: number; empty: boolean }>`
- padding-left: ${(props) => (props.empty ? "12px" : "0")};
+ padding-left: ${(props) => (props.empty ? "8px" : "0")};
`;
diff --git a/src/client/styled/vars.ts b/src/client/styled/vars.ts
index ab5a833..a38b06b 100644
--- a/src/client/styled/vars.ts
+++ b/src/client/styled/vars.ts
@@ -2,9 +2,9 @@ import { createGlobalStyle } from "styled-components";
export const CssVariables = createGlobalStyle`
:root {
- --sidebar-width: 20em;
+ --sidebar-width: 15em;
--header-height: 4rem;
- --toc-width: 280px;
+ --toc-width: 15em;
--font-size: 16px;
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
@@ -31,7 +31,7 @@ export const CssVariables = createGlobalStyle`
--c-code-bg: #ececec;
--c-code-keyword: #89b482;
--c-code-function: #a9b665;
- --c-code-attr: #fff;
+ --c-code-attr: #D8A657;
--c-code-string: #D8A657;
--c-code-built-in: #7DAEA3;
--c-code-name: #e78a4e;
diff --git a/src/node/config.ts b/src/node/config.ts
index 7f6be81..a1f0549 100644
--- a/src/node/config.ts
+++ b/src/node/config.ts
@@ -17,5 +17,6 @@ export const resolveConfig = async (
: path.resolve(CLIENT_PATH, "./components/DefaultProvider/index.js"),
publicPath: command === "build" ? config.publicPath : "/",
socials: config.socials,
+ vite: config.vite,
};
};
diff --git a/src/node/plugins/index.ts b/src/node/plugins/index.ts
index c12dc36..d4dade3 100644
--- a/src/node/plugins/index.ts
+++ b/src/node/plugins/index.ts
@@ -1,4 +1,4 @@
-import { Plugin, defineConfig, UserConfig } from "vite";
+import { Plugin, defineConfig, mergeConfig } from "vite";
import fsx from "fs-extra";
import path from "path";
import react from "@vitejs/plugin-react";
@@ -24,7 +24,6 @@ export const docit = async (config: ResolvedUserConfig): Promise => {
const baseConfig = defineConfig({
root: config.base,
base: config.publicPath,
- cacheDir: "node_modules/.docit",
optimizeDeps: {
include: [
"react",
@@ -42,6 +41,7 @@ export const docit = async (config: ResolvedUserConfig): Promise => {
"core-js",
"highlight.js",
"react-frame-component",
+ "qrcode",
],
},
build: {
@@ -59,7 +59,7 @@ export const docit = async (config: ResolvedUserConfig): Promise => {
clearScreen: false,
publicDir: path.resolve(config.docs, "./assets"),
});
- return baseConfig as UserConfig;
+ return mergeConfig(baseConfig, config.vite);
},
transform(_, id) {
if (id.endsWith("?needParse")) {
diff --git a/src/node/types.ts b/src/node/types.ts
index 966e9c1..14b5f78 100644
--- a/src/node/types.ts
+++ b/src/node/types.ts
@@ -1,3 +1,4 @@
+import { UserConfigExport } from "vite";
export interface UserFileConfig {
title?: string;
sidebars?: SidebarNode[];
@@ -6,6 +7,7 @@ export interface UserFileConfig {
Twitter?: string;
Github?: string;
};
+ vite?: Partial;
}
export interface UserConfig {
@@ -18,6 +20,7 @@ export interface UserConfig {
Twitter?: string;
Github?: string;
};
+ vite?: Partial;
}
export interface ResolvedUserConfig {
@@ -31,6 +34,7 @@ export interface ResolvedUserConfig {
Twitter?: string;
Github?: string;
};
+ vite?: Partial;
}
export type DepsMapper = Map;
diff --git a/yarn.lock b/yarn.lock
index ddd7ec8..b2bff3c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -639,6 +639,11 @@ acorn@^8.0.0:
resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -646,6 +651,13 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
+ansi-styles@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
@@ -784,6 +796,11 @@ call-bind@^1.0.0, call-bind@^1.0.2:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
+camelcase@^5.0.0:
+ version "5.3.1"
+ resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
camelize@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
@@ -866,6 +883,15 @@ check-error@^1.0.2:
optionalDependencies:
fsevents "~2.3.2"
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -873,11 +899,23 @@ color-convert@^1.9.0:
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
comma-separated-tokens@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98"
@@ -962,6 +1000,11 @@ debug@^4.0.0, debug@^4.1.0:
dependencies:
ms "2.1.2"
+decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
decode-named-character-reference@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz#57b2bd9112659cacbc449d3577d7dadb8e1f3d1b"
@@ -999,6 +1042,11 @@ diff@^5.0.0:
resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
+dijkstrajs@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257"
+ integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -1024,11 +1072,21 @@ email-addresses@^3.0.1:
resolved "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb"
integrity sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
emoticon@^4.0.0:
version "4.0.1"
resolved "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz#2d2bbbf231ce3a5909e185bbb64a9da703a1e749"
integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==
+encode-utf8@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda"
+ integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==
+
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -1328,9 +1386,9 @@ find-cache-dir@^3.3.1:
make-dir "^3.0.2"
pkg-dir "^4.1.0"
-find-up@^4.0.0:
+find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies:
locate-path "^5.0.0"
@@ -1379,6 +1437,11 @@ gensync@^1.0.0-beta.2:
resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
get-func-name@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
@@ -1729,6 +1792,11 @@ is-extglob@^2.1.1:
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
@@ -2851,6 +2919,11 @@ pkg-dir@^4.1.0:
dependencies:
find-up "^4.0.0"
+pngjs@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
+ integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
+
postcss-value-parser@^4.0.2:
version "4.2.0"
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
@@ -2884,6 +2957,16 @@ property-information@^6.0.0:
resolved "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22"
integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==
+qrcode@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b"
+ integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==
+ dependencies:
+ dijkstrajs "^1.0.1"
+ encode-utf8 "^1.0.3"
+ pngjs "^5.0.0"
+ yargs "^15.3.1"
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -3118,6 +3201,16 @@ remark-rehype@^10.0.0:
mdast-util-to-hast "^12.1.0"
unified "^10.0.0"
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
resolve-pathname@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
@@ -3205,6 +3298,11 @@ semver@^6.0.0, semver@^6.3.0:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
shallowequal@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
@@ -3304,6 +3402,15 @@ sprintf-js@~1.0.2:
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
string.prototype.padend@^3.0.0:
version "3.1.3"
resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1"
@@ -3337,6 +3444,13 @@ stringify-entities@^4.0.0:
character-entities-html4 "^2.0.0"
character-entities-legacy "^3.0.0"
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
strip-bom-string@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
@@ -3701,6 +3815,11 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==
+
which@^1.2.9:
version "1.3.1"
resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
@@ -3708,11 +3827,50 @@ which@^1.2.9:
dependencies:
isexe "^2.0.0"
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs@^15.3.1:
+ version "15.4.1"
+ resolved "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^1.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^4.2.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.2"
+
zwitch@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1"