├── .github
├── README.md
└── workflows
│ ├── build.yml
│ └── fmt.yml
├── .gitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── esbuild.js
├── package.json
├── public
├── logo.png
├── logo192.png
├── logo512.png
├── manifest.json
└── popup.html
├── src
├── Popup
│ └── App.tsx
├── background.ts
├── content.ts
├── injected.ts
└── popup.tsx
├── tsconfig.json
└── yarn.lock
/.github/README.md:
--------------------------------------------------------------------------------
1 | # esbuild-react-chrome-extension
2 |
3 | This is a boilerplate for chrome extensions writted in React and bundled with esbuild.
4 |
5 | ## Build
6 |
7 | ```sh
8 | yarn build
9 | ```
10 |
11 | ## Scripts
12 |
13 | All scripts are bundled into the `public/build` folder.
14 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build extension
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 | name: Build extension
8 | runs-on: ubuntu-latest
9 |
10 | steps:
11 | - uses: actions/checkout@v1
12 |
13 | - uses: actions/setup-node@v1
14 | with:
15 | node-version: "14"
16 |
17 | - name: Install yarn
18 | run: npm i -g yarn
19 |
20 | - name: Install dependencies
21 | run: yarn
22 |
23 | - name: Build extension scripts
24 | run: yarn build
25 |
--------------------------------------------------------------------------------
/.github/workflows/fmt.yml:
--------------------------------------------------------------------------------
1 | name: fmt
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | fmt:
7 | name: Check code formatting
8 | runs-on: ubuntu-latest
9 |
10 | steps:
11 | - uses: actions/checkout@v1
12 | - uses: actions/setup-node@v1
13 |
14 | - name: Install yarn
15 | run: npm i -g yarn
16 |
17 | - name: Install dependencies
18 | run: yarn
19 |
20 | - name: Check fmt
21 | run: yarn fmt:check
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /build
3 | /.vscode
4 | .eslintcache
5 | *.env
6 | *.local
7 | *.log
8 | /public/build
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | build
3 | public/build
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "none"
3 | }
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Marton Lederer
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/esbuild.js:
--------------------------------------------------------------------------------
1 | const esbuild = require("esbuild");
2 |
3 | esbuild
4 | .build({
5 | entryPoints: [
6 | "./src/background.ts",
7 | "./src/content.ts",
8 | "./src/popup.tsx",
9 | "./src/injected.ts"
10 | ],
11 | bundle: true,
12 | minify: true,
13 | sourcemap: process.env.NODE_ENV !== "production",
14 | target: ["chrome58", "firefox57"],
15 | outdir: "./public/build",
16 | define: {
17 | "process.env.NODE_ENV": `"${process.env.NODE_ENV}"`
18 | }
19 | })
20 | .catch(() => process.exit(1));
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "build": "NODE_ENV=\"production\" node esbuild.js",
4 | "fmt": "prettier --write .",
5 | "fmt:check": "prettier --check ."
6 | },
7 | "gitHooks": {
8 | "pre-commit": "prettier --write . && git add -A"
9 | },
10 | "dependencies": {},
11 | "devDependencies": {
12 | "@babel/core": "^7.12.13",
13 | "@types/chrome": "^0.0.129",
14 | "@types/react": "^17.0.1",
15 | "@types/react-dom": "^17.0.0",
16 | "esbuild": "^0.8.46",
17 | "prettier": "^2.2.1",
18 | "react": "^17.0.1",
19 | "react-dom": "^17.0.1",
20 | "typescript": "^4.1.3",
21 | "yorkie": "^2.0.0"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martonlederer/esbuild-react-chrome-extension/0446266845b190c7815f6bf745f0e5bf6f951682/public/logo.png
--------------------------------------------------------------------------------
/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martonlederer/esbuild-react-chrome-extension/0446266845b190c7815f6bf745f0e5bf6f951682/public/logo192.png
--------------------------------------------------------------------------------
/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martonlederer/esbuild-react-chrome-extension/0446266845b190c7815f6bf745f0e5bf6f951682/public/logo512.png
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "Esbuild-React-Extension",
4 | "version": "0.1.0",
5 | "author": "Marton Lederer",
6 | "description": "An example react-typescript extension with esbuild",
7 | "permissions": [],
8 | "background": {
9 | "scripts": ["build/background.js"]
10 | },
11 | "icons": {
12 | "192": "logo192.png",
13 | "512": "logo512.png"
14 | },
15 | "browser_action": {
16 | "default_icon": {
17 | "192": "logo192.png",
18 | "512": "logo512.png"
19 | },
20 | "default_title": "Popup",
21 | "default_popup": "popup.html"
22 | },
23 | "web_accessible_resources": ["build/injected.js"],
24 | "content_scripts": [
25 | {
26 | "matches": ["file://*/*", "http://*/*", "https://*/*"],
27 | "js": ["build/content.js"],
28 | "run_at": "document_end"
29 | }
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/public/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | React Extension Popup
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/Popup/App.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | export default function App() {
4 | return React App Popup
;
5 | }
6 |
--------------------------------------------------------------------------------
/src/background.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * This is a background script
3 | * It is running in the background process of chrome
4 | * You can debug it by clicking the "background page"
5 | * button in the extension settings
6 | *
7 | * Read more about background scripts:
8 | * https://developer.chrome.com/docs/extensions/mv2/background_pages/
9 | */
10 |
11 | console.log("background script");
12 |
13 | export {};
14 |
--------------------------------------------------------------------------------
/src/content.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * This is a content script
3 | * It is used to inject other scripts into
4 | * the opened windows
5 | *
6 | * Read more about content scripts:
7 | * https://developer.chrome.com/docs/extensions/mv2/content_scripts/
8 | */
9 |
10 | function addScriptToWindow(scriptLocation: string) {
11 | try {
12 | const container = document.head || document.documentElement,
13 | script = document.createElement("script");
14 |
15 | script.setAttribute("async", "false");
16 | script.setAttribute("type", "text/javascript");
17 | script.setAttribute("src", scriptLocation);
18 | container.insertBefore(script, container.children[0]);
19 | container.removeChild(script);
20 | } catch (e) {
21 | console.error("Failed to inject script\n", e);
22 | }
23 | }
24 |
25 | console.log("content script");
26 |
27 | // inject the "injected.ts" script
28 | addScriptToWindow(chrome.extension.getURL("/build/injected.js"));
29 |
30 | export {};
31 |
--------------------------------------------------------------------------------
/src/injected.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * This is an injectable script
3 | * It is added to the "web_accessible_resources"
4 | * field in manifest.json and can be injected by
5 | * the content script.
6 | *
7 | * It is useful for modifying the DOM of different
8 | * tabs easily
9 | */
10 |
11 | console.log("Injected script");
12 |
13 | export {};
14 |
--------------------------------------------------------------------------------
/src/popup.tsx:
--------------------------------------------------------------------------------
1 | /**
2 | * This is a popup view
3 | * This script is bundled and imported by
4 | * popup.html
5 | */
6 |
7 | import React from "react";
8 | import ReactDOM from "react-dom";
9 | import App from "./Popup/App";
10 |
11 | ReactDOM.render(
12 |
13 |
14 | ,
15 | document.getElementById("root")
16 | );
17 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "esModuleInterop": true,
8 | "allowSyntheticDefaultImports": true,
9 | "strict": true,
10 | "forceConsistentCasingInFileNames": true,
11 | "noFallthroughCasesInSwitch": true,
12 | "module": "esnext",
13 | "moduleResolution": "node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react",
18 | "downlevelIteration": true
19 | },
20 | "include": ["src"]
21 | }
22 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@^7.12.13":
6 | version "7.12.13"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
8 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
9 | dependencies:
10 | "@babel/highlight" "^7.12.13"
11 |
12 | "@babel/core@^7.12.13":
13 | version "7.12.13"
14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.13.tgz#b73a87a3a3e7d142a66248bf6ad88b9ceb093425"
15 | integrity sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==
16 | dependencies:
17 | "@babel/code-frame" "^7.12.13"
18 | "@babel/generator" "^7.12.13"
19 | "@babel/helper-module-transforms" "^7.12.13"
20 | "@babel/helpers" "^7.12.13"
21 | "@babel/parser" "^7.12.13"
22 | "@babel/template" "^7.12.13"
23 | "@babel/traverse" "^7.12.13"
24 | "@babel/types" "^7.12.13"
25 | convert-source-map "^1.7.0"
26 | debug "^4.1.0"
27 | gensync "^1.0.0-beta.1"
28 | json5 "^2.1.2"
29 | lodash "^4.17.19"
30 | semver "^5.4.1"
31 | source-map "^0.5.0"
32 |
33 | "@babel/generator@^7.12.13":
34 | version "7.12.15"
35 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f"
36 | integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==
37 | dependencies:
38 | "@babel/types" "^7.12.13"
39 | jsesc "^2.5.1"
40 | source-map "^0.5.0"
41 |
42 | "@babel/helper-function-name@^7.12.13":
43 | version "7.12.13"
44 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a"
45 | integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==
46 | dependencies:
47 | "@babel/helper-get-function-arity" "^7.12.13"
48 | "@babel/template" "^7.12.13"
49 | "@babel/types" "^7.12.13"
50 |
51 | "@babel/helper-get-function-arity@^7.12.13":
52 | version "7.12.13"
53 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
54 | integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
55 | dependencies:
56 | "@babel/types" "^7.12.13"
57 |
58 | "@babel/helper-member-expression-to-functions@^7.12.13":
59 | version "7.12.13"
60 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz#c5715695b4f8bab32660dbdcdc2341dec7e3df40"
61 | integrity sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==
62 | dependencies:
63 | "@babel/types" "^7.12.13"
64 |
65 | "@babel/helper-module-imports@^7.12.13":
66 | version "7.12.13"
67 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0"
68 | integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==
69 | dependencies:
70 | "@babel/types" "^7.12.13"
71 |
72 | "@babel/helper-module-transforms@^7.12.13":
73 | version "7.12.13"
74 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea"
75 | integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==
76 | dependencies:
77 | "@babel/helper-module-imports" "^7.12.13"
78 | "@babel/helper-replace-supers" "^7.12.13"
79 | "@babel/helper-simple-access" "^7.12.13"
80 | "@babel/helper-split-export-declaration" "^7.12.13"
81 | "@babel/helper-validator-identifier" "^7.12.11"
82 | "@babel/template" "^7.12.13"
83 | "@babel/traverse" "^7.12.13"
84 | "@babel/types" "^7.12.13"
85 | lodash "^4.17.19"
86 |
87 | "@babel/helper-optimise-call-expression@^7.12.13":
88 | version "7.12.13"
89 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
90 | integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
91 | dependencies:
92 | "@babel/types" "^7.12.13"
93 |
94 | "@babel/helper-replace-supers@^7.12.13":
95 | version "7.12.13"
96 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121"
97 | integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==
98 | dependencies:
99 | "@babel/helper-member-expression-to-functions" "^7.12.13"
100 | "@babel/helper-optimise-call-expression" "^7.12.13"
101 | "@babel/traverse" "^7.12.13"
102 | "@babel/types" "^7.12.13"
103 |
104 | "@babel/helper-simple-access@^7.12.13":
105 | version "7.12.13"
106 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4"
107 | integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==
108 | dependencies:
109 | "@babel/types" "^7.12.13"
110 |
111 | "@babel/helper-split-export-declaration@^7.12.13":
112 | version "7.12.13"
113 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
114 | integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
115 | dependencies:
116 | "@babel/types" "^7.12.13"
117 |
118 | "@babel/helper-validator-identifier@^7.12.11":
119 | version "7.12.11"
120 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
121 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
122 |
123 | "@babel/helpers@^7.12.13":
124 | version "7.12.13"
125 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47"
126 | integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==
127 | dependencies:
128 | "@babel/template" "^7.12.13"
129 | "@babel/traverse" "^7.12.13"
130 | "@babel/types" "^7.12.13"
131 |
132 | "@babel/highlight@^7.12.13":
133 | version "7.12.13"
134 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c"
135 | integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==
136 | dependencies:
137 | "@babel/helper-validator-identifier" "^7.12.11"
138 | chalk "^2.0.0"
139 | js-tokens "^4.0.0"
140 |
141 | "@babel/parser@^7.12.13":
142 | version "7.12.15"
143 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.15.tgz#2b20de7f0b4b332d9b119dd9c33409c538b8aacf"
144 | integrity sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==
145 |
146 | "@babel/template@^7.12.13":
147 | version "7.12.13"
148 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
149 | integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
150 | dependencies:
151 | "@babel/code-frame" "^7.12.13"
152 | "@babel/parser" "^7.12.13"
153 | "@babel/types" "^7.12.13"
154 |
155 | "@babel/traverse@^7.12.13":
156 | version "7.12.13"
157 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0"
158 | integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==
159 | dependencies:
160 | "@babel/code-frame" "^7.12.13"
161 | "@babel/generator" "^7.12.13"
162 | "@babel/helper-function-name" "^7.12.13"
163 | "@babel/helper-split-export-declaration" "^7.12.13"
164 | "@babel/parser" "^7.12.13"
165 | "@babel/types" "^7.12.13"
166 | debug "^4.1.0"
167 | globals "^11.1.0"
168 | lodash "^4.17.19"
169 |
170 | "@babel/types@^7.12.13":
171 | version "7.12.13"
172 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611"
173 | integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==
174 | dependencies:
175 | "@babel/helper-validator-identifier" "^7.12.11"
176 | lodash "^4.17.19"
177 | to-fast-properties "^2.0.0"
178 |
179 | "@types/chrome@^0.0.129":
180 | version "0.0.129"
181 | resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.129.tgz#0f11484239da26a0eb692049a269c90ab91d1860"
182 | integrity sha512-7SdqJ7YFu8wBI13SRbxWibHG7W3W3N2Cdn2hRHw24tWiLBZGC2OOfIKREQyga8AeT83AaVcTirWDVMrph0Gkkw==
183 | dependencies:
184 | "@types/filesystem" "*"
185 | "@types/har-format" "*"
186 |
187 | "@types/filesystem@*":
188 | version "0.0.29"
189 | resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.29.tgz#ee3748eb5be140dcf980c3bd35f11aec5f7a3748"
190 | integrity sha512-85/1KfRedmfPGsbK8YzeaQUyV1FQAvMPMTuWFQ5EkLd2w7szhNO96bk3Rh/SKmOfd9co2rCLf0Voy4o7ECBOvw==
191 | dependencies:
192 | "@types/filewriter" "*"
193 |
194 | "@types/filewriter@*":
195 | version "0.0.28"
196 | resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.28.tgz#c054e8af4d9dd75db4e63abc76f885168714d4b3"
197 | integrity sha1-wFTor02d11205jq8dviFFocU1LM=
198 |
199 | "@types/har-format@*":
200 | version "1.2.5"
201 | resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.5.tgz#4f6648814d0fdcb6a510e3364a9db439a753c4b1"
202 | integrity sha512-IG8AE1m2pWtPqQ7wXhFhy6Q59bwwnLwO36v5Rit2FrbXCIp8Sk8E2PfUCreyrdo17STwFSKDAkitVuVYbpEHvQ==
203 |
204 | "@types/prop-types@*":
205 | version "15.7.3"
206 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
207 | integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
208 |
209 | "@types/react-dom@^17.0.0":
210 | version "17.0.0"
211 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.0.tgz#b3b691eb956c4b3401777ee67b900cb28415d95a"
212 | integrity sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g==
213 | dependencies:
214 | "@types/react" "*"
215 |
216 | "@types/react@*", "@types/react@^17.0.1":
217 | version "17.0.1"
218 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.1.tgz#eb1f1407dea8da3bc741879c1192aa703ab9975b"
219 | integrity sha512-w8t9f53B2ei4jeOqf/gxtc2Sswnc3LBK5s0DyJcg5xd10tMHXts2N31cKjWfH9IC/JvEPa/YF1U4YeP1t4R6HQ==
220 | dependencies:
221 | "@types/prop-types" "*"
222 | csstype "^3.0.2"
223 |
224 | ansi-styles@^3.2.1:
225 | version "3.2.1"
226 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
227 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
228 | dependencies:
229 | color-convert "^1.9.0"
230 |
231 | chalk@^2.0.0:
232 | version "2.4.2"
233 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
234 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
235 | dependencies:
236 | ansi-styles "^3.2.1"
237 | escape-string-regexp "^1.0.5"
238 | supports-color "^5.3.0"
239 |
240 | ci-info@^1.5.0:
241 | version "1.6.0"
242 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
243 | integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
244 |
245 | color-convert@^1.9.0:
246 | version "1.9.3"
247 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
248 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
249 | dependencies:
250 | color-name "1.1.3"
251 |
252 | color-name@1.1.3:
253 | version "1.1.3"
254 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
255 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
256 |
257 | convert-source-map@^1.7.0:
258 | version "1.7.0"
259 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
260 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
261 | dependencies:
262 | safe-buffer "~5.1.1"
263 |
264 | cross-spawn@^5.0.1:
265 | version "5.1.0"
266 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
267 | integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
268 | dependencies:
269 | lru-cache "^4.0.1"
270 | shebang-command "^1.2.0"
271 | which "^1.2.9"
272 |
273 | csstype@^3.0.2:
274 | version "3.0.6"
275 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.6.tgz#865d0b5833d7d8d40f4e5b8a6d76aea3de4725ef"
276 | integrity sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==
277 |
278 | debug@^4.1.0:
279 | version "4.3.1"
280 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
281 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
282 | dependencies:
283 | ms "2.1.2"
284 |
285 | esbuild@^0.8.46:
286 | version "0.8.46"
287 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.46.tgz#8fc7230ce3019b12e2553399f0c03875a729c26b"
288 | integrity sha512-xck9sXNCNmjDHCCfxTCyhKTiFuEBweh+IDAhMLOJI990v1Fzii6MyIkT1LbkvjgoVgPX2SK1kpi5eZVGNrl8yg==
289 |
290 | escape-string-regexp@^1.0.5:
291 | version "1.0.5"
292 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
293 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
294 |
295 | execa@^0.8.0:
296 | version "0.8.0"
297 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
298 | integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
299 | dependencies:
300 | cross-spawn "^5.0.1"
301 | get-stream "^3.0.0"
302 | is-stream "^1.1.0"
303 | npm-run-path "^2.0.0"
304 | p-finally "^1.0.0"
305 | signal-exit "^3.0.0"
306 | strip-eof "^1.0.0"
307 |
308 | gensync@^1.0.0-beta.1:
309 | version "1.0.0-beta.2"
310 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
311 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
312 |
313 | get-stream@^3.0.0:
314 | version "3.0.0"
315 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
316 | integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
317 |
318 | globals@^11.1.0:
319 | version "11.12.0"
320 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
321 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
322 |
323 | has-flag@^3.0.0:
324 | version "3.0.0"
325 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
326 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
327 |
328 | is-ci@^1.0.10:
329 | version "1.2.1"
330 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
331 | integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
332 | dependencies:
333 | ci-info "^1.5.0"
334 |
335 | is-stream@^1.1.0:
336 | version "1.1.0"
337 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
338 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
339 |
340 | isexe@^2.0.0:
341 | version "2.0.0"
342 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
343 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
344 |
345 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
346 | version "4.0.0"
347 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
348 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
349 |
350 | jsesc@^2.5.1:
351 | version "2.5.2"
352 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
353 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
354 |
355 | json5@^2.1.2:
356 | version "2.2.0"
357 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
358 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
359 | dependencies:
360 | minimist "^1.2.5"
361 |
362 | lodash@^4.17.19:
363 | version "4.17.20"
364 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
365 | integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
366 |
367 | loose-envify@^1.1.0:
368 | version "1.4.0"
369 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
370 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
371 | dependencies:
372 | js-tokens "^3.0.0 || ^4.0.0"
373 |
374 | lru-cache@^4.0.1:
375 | version "4.1.5"
376 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
377 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
378 | dependencies:
379 | pseudomap "^1.0.2"
380 | yallist "^2.1.2"
381 |
382 | minimist@^1.2.5:
383 | version "1.2.5"
384 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
385 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
386 |
387 | ms@2.1.2:
388 | version "2.1.2"
389 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
390 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
391 |
392 | normalize-path@^1.0.0:
393 | version "1.0.0"
394 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
395 | integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=
396 |
397 | npm-run-path@^2.0.0:
398 | version "2.0.2"
399 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
400 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
401 | dependencies:
402 | path-key "^2.0.0"
403 |
404 | object-assign@^4.1.1:
405 | version "4.1.1"
406 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
407 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
408 |
409 | p-finally@^1.0.0:
410 | version "1.0.0"
411 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
412 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
413 |
414 | path-key@^2.0.0:
415 | version "2.0.1"
416 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
417 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
418 |
419 | prettier@^2.2.1:
420 | version "2.2.1"
421 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
422 | integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
423 |
424 | pseudomap@^1.0.2:
425 | version "1.0.2"
426 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
427 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
428 |
429 | react-dom@^17.0.1:
430 | version "17.0.1"
431 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6"
432 | integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==
433 | dependencies:
434 | loose-envify "^1.1.0"
435 | object-assign "^4.1.1"
436 | scheduler "^0.20.1"
437 |
438 | react@^17.0.1:
439 | version "17.0.1"
440 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
441 | integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
442 | dependencies:
443 | loose-envify "^1.1.0"
444 | object-assign "^4.1.1"
445 |
446 | safe-buffer@~5.1.1:
447 | version "5.1.2"
448 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
449 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
450 |
451 | scheduler@^0.20.1:
452 | version "0.20.1"
453 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c"
454 | integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==
455 | dependencies:
456 | loose-envify "^1.1.0"
457 | object-assign "^4.1.1"
458 |
459 | semver@^5.4.1:
460 | version "5.7.1"
461 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
462 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
463 |
464 | shebang-command@^1.2.0:
465 | version "1.2.0"
466 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
467 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
468 | dependencies:
469 | shebang-regex "^1.0.0"
470 |
471 | shebang-regex@^1.0.0:
472 | version "1.0.0"
473 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
474 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
475 |
476 | signal-exit@^3.0.0:
477 | version "3.0.3"
478 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
479 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
480 |
481 | source-map@^0.5.0:
482 | version "0.5.7"
483 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
484 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
485 |
486 | strip-eof@^1.0.0:
487 | version "1.0.0"
488 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
489 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
490 |
491 | strip-indent@^2.0.0:
492 | version "2.0.0"
493 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
494 | integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
495 |
496 | supports-color@^5.3.0:
497 | version "5.5.0"
498 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
499 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
500 | dependencies:
501 | has-flag "^3.0.0"
502 |
503 | to-fast-properties@^2.0.0:
504 | version "2.0.0"
505 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
506 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
507 |
508 | typescript@^4.1.3:
509 | version "4.1.3"
510 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7"
511 | integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==
512 |
513 | which@^1.2.9:
514 | version "1.3.1"
515 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
516 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
517 | dependencies:
518 | isexe "^2.0.0"
519 |
520 | yallist@^2.1.2:
521 | version "2.1.2"
522 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
523 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
524 |
525 | yorkie@^2.0.0:
526 | version "2.0.0"
527 | resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9"
528 | integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==
529 | dependencies:
530 | execa "^0.8.0"
531 | is-ci "^1.0.10"
532 | normalize-path "^1.0.0"
533 | strip-indent "^2.0.0"
534 |
--------------------------------------------------------------------------------