Use settings to determine if sign up route is enabled (#51)
This commit is contained in:
		
							parent
							
								
									30e40adddd
								
							
						
					
					
						commit
						87bef6d967
					
				
							
								
								
									
										2
									
								
								frontend/.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								frontend/.env
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | API_BASE_URL='https://btrix.webrecorder.net/api' | ||||||
|  | REGISTRATION_ENABLED=false | ||||||
| @ -19,7 +19,7 @@ | |||||||
|   }, |   }, | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "test": "web-test-runner \"src/**/*.test.{ts,js}\" --node-resolve --playwright --browsers chromium", |     "test": "web-test-runner \"src/**/*.test.{ts,js}\" --node-resolve --playwright --browsers chromium", | ||||||
|     "prebuild": "npm run localize:build", |     "prebuild": "npm run localize:build && npm run get-settings", | ||||||
|     "prebuild-dev": "npm run localize:build", |     "prebuild-dev": "npm run localize:build", | ||||||
|     "build": "webpack --mode production", |     "build": "webpack --mode production", | ||||||
|     "build-dev": "webpack --mode development", |     "build-dev": "webpack --mode development", | ||||||
| @ -27,7 +27,8 @@ | |||||||
|     "lint": "eslint --fix \"src/**/*.{ts,js}\"", |     "lint": "eslint --fix \"src/**/*.{ts,js}\"", | ||||||
|     "format": "prettier --write \"**/*.{ts,js,html,css}\"", |     "format": "prettier --write \"**/*.{ts,js,html,css}\"", | ||||||
|     "localize:extract": "lit-localize extract", |     "localize:extract": "lit-localize extract", | ||||||
|     "localize:build": "lit-localize build" |     "localize:build": "lit-localize build", | ||||||
|  |     "get-settings": "node ./scripts/get-settings.mjs" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@esm-bundle/chai": "^4.3.4-fix.0", |     "@esm-bundle/chai": "^4.3.4-fix.0", | ||||||
| @ -45,11 +46,13 @@ | |||||||
|     "copy-webpack-plugin": "^9.1.0", |     "copy-webpack-plugin": "^9.1.0", | ||||||
|     "css-loader": "^6.3.0", |     "css-loader": "^6.3.0", | ||||||
|     "dotenv": "^10.0.0", |     "dotenv": "^10.0.0", | ||||||
|  |     "dotenv-webpack": "^7.0.3", | ||||||
|     "eslint": "^8.2.0", |     "eslint": "^8.2.0", | ||||||
|     "eslint-config-prettier": "^8.3.0", |     "eslint-config-prettier": "^8.3.0", | ||||||
|     "eslint-plugin-lit": "^1.6.1", |     "eslint-plugin-lit": "^1.6.1", | ||||||
|     "eslint-plugin-wc": "^1.3.2", |     "eslint-plugin-wc": "^1.3.2", | ||||||
|     "eslint-webpack-plugin": "^3.1.1", |     "eslint-webpack-plugin": "^3.1.1", | ||||||
|  |     "node-fetch": "^3.1.0", | ||||||
|     "postcss": "^8.3.8", |     "postcss": "^8.3.8", | ||||||
|     "postcss-loader": "^6.1.1", |     "postcss-loader": "^6.1.1", | ||||||
|     "prettier": "^2.4.1", |     "prettier": "^2.4.1", | ||||||
| @ -57,6 +60,7 @@ | |||||||
|     "style-loader": "^3.3.0", |     "style-loader": "^3.3.0", | ||||||
|     "ts-loader": "^9.2.6", |     "ts-loader": "^9.2.6", | ||||||
|     "typescript": "^4.5.2", |     "typescript": "^4.5.2", | ||||||
|  |     "update-dotenv": "^1.1.1", | ||||||
|     "webpack": "^5.56.0", |     "webpack": "^5.56.0", | ||||||
|     "webpack-cli": "^4.8.0", |     "webpack-cli": "^4.8.0", | ||||||
|     "webpack-dev-server": "^4.3.0" |     "webpack-dev-server": "^4.3.0" | ||||||
|  | |||||||
| @ -1 +1,2 @@ | |||||||
| API_BASE_URL='http://btrix.cloud' | API_BASE_URL='http://btrix.cloud' | ||||||
|  | REGISTRATION_ENABLED=true | ||||||
|  | |||||||
							
								
								
									
										28
									
								
								frontend/scripts/get-settings.mjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								frontend/scripts/get-settings.mjs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | import fetch from "node-fetch"; | ||||||
|  | import updateDotenv from "update-dotenv"; | ||||||
|  | import dotenv from "dotenv"; | ||||||
|  | 
 | ||||||
|  | dotenv.config(); | ||||||
|  | 
 | ||||||
|  | async function main() { | ||||||
|  |   try { | ||||||
|  |     const resp = await fetch(`${process.env.API_BASE_URL}/settings`); | ||||||
|  |     const body = await resp.json(); | ||||||
|  | 
 | ||||||
|  |     const newEnv = await updateDotenv({ | ||||||
|  |       REGISTRATION_ENABLED: Boolean(body.enabled).toString(), | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     console.log( | ||||||
|  |       ".env file updated:", | ||||||
|  |       `REGISTRATION_ENABLED=${newEnv["REGISTRATION_ENABLED"]}` | ||||||
|  |     ); | ||||||
|  |   } catch { | ||||||
|  |     console.log( | ||||||
|  |       "could not update .env file, env is now:", | ||||||
|  |       `REGISTRATION_ENABLED=${process.env.REGISTRATION_ENABLED}` | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | main(); | ||||||
							
								
								
									
										25
									
								
								frontend/src/__generated__/locales/ko.ts
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										25
									
								
								frontend/src/__generated__/locales/ko.ts
									
									
									
										generated
									
									
									
								
							| @ -1,17 +1,12 @@ | |||||||
|  | // Do not modify this file by hand!
 | ||||||
|  | // Re-generate this file by running lit-localize
 | ||||||
| 
 | 
 | ||||||
|     // Do not modify this file by hand!
 | /* eslint-disable no-irregular-whitespace */ | ||||||
|     // Re-generate this file by running lit-localize
 | /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||||
| 
 |  | ||||||
|      |  | ||||||
|      |  | ||||||
| 
 |  | ||||||
|     /* eslint-disable no-irregular-whitespace */ |  | ||||||
|     /* eslint-disable @typescript-eslint/no-explicit-any */ |  | ||||||
| 
 |  | ||||||
|     export const templates = { |  | ||||||
|       's47d31e4dbe55f7d9': `Browsertrix Cloud`, |  | ||||||
| 'sa03807e44737a915': `로그아웃`, |  | ||||||
| 'sca974356724f8230': `로그인`, |  | ||||||
| 'sd03ac20f93055ed8': `내 계정`, |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|  | export const templates = { | ||||||
|  |   s47d31e4dbe55f7d9: `Browsertrix Cloud`, | ||||||
|  |   sa03807e44737a915: `로그아웃`, | ||||||
|  |   sca974356724f8230: `로그인`, | ||||||
|  |   sd03ac20f93055ed8: `내 계정`, | ||||||
|  | }; | ||||||
|  | |||||||
| @ -26,9 +26,9 @@ import type { CurrentUser } from "./types/user"; | |||||||
| import type { AuthState } from "./utils/AuthService"; | import type { AuthState } from "./utils/AuthService"; | ||||||
| import theme from "./theme"; | import theme from "./theme"; | ||||||
| 
 | 
 | ||||||
|  | const REGISTRATION_ENABLED = process.env.REGISTRATION_ENABLED === "true"; | ||||||
| const ROUTES = { | const ROUTES = { | ||||||
|   home: "/", |   home: "/", | ||||||
|   signUp: "/sign-up", |  | ||||||
|   join: "/join/:token?email", |   join: "/join/:token?email", | ||||||
|   verify: "/verify?token", |   verify: "/verify?token", | ||||||
|   login: "/log-in", |   login: "/log-in", | ||||||
| @ -40,6 +40,11 @@ const ROUTES = { | |||||||
|   archive: "/archives/:id/:tab", |   archive: "/archives/:id/:tab", | ||||||
|   archiveAddMember: "/archives/:id/:tab/add-member", |   archiveAddMember: "/archives/:id/:tab/add-member", | ||||||
| } as const; | } as const; | ||||||
|  | 
 | ||||||
|  | if (REGISTRATION_ENABLED) { | ||||||
|  |   (ROUTES as any).signUp = "/sign-up"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| const DASHBOARD_ROUTE = ROUTES.archives; | const DASHBOARD_ROUTE = ROUTES.archives; | ||||||
| 
 | 
 | ||||||
| type DialogContent = { | type DialogContent = { | ||||||
|  | |||||||
| @ -2,13 +2,19 @@ | |||||||
| const path = require("path"); | const path = require("path"); | ||||||
| const ESLintPlugin = require("eslint-webpack-plugin"); | const ESLintPlugin = require("eslint-webpack-plugin"); | ||||||
| const CopyPlugin = require("copy-webpack-plugin"); | const CopyPlugin = require("copy-webpack-plugin"); | ||||||
|  | const Dotenv = require("dotenv-webpack"); | ||||||
| 
 | 
 | ||||||
| const isDevServer = process.env.WEBPACK_SERVE; | const isDevServer = process.env.WEBPACK_SERVE; | ||||||
|  | const dotEnvPath = path.resolve( | ||||||
|  |   process.cwd(), | ||||||
|  |   `.env${isDevServer ? `.local` : ""}` | ||||||
|  | ); | ||||||
| 
 | 
 | ||||||
| require("dotenv").config({ | require("dotenv").config({ | ||||||
|   path: path.resolve(process.cwd(), `.env${isDevServer ? `.local` : ""}`), |   path: dotEnvPath, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | // TODO actual prod URL
 | ||||||
| const backendUrl = new URL(process.env.API_BASE_URL || "http://btrix.cloud/"); | const backendUrl = new URL(process.env.API_BASE_URL || "http://btrix.cloud/"); | ||||||
| const shoelaceAssetsSrcPath = path.resolve( | const shoelaceAssetsSrcPath = path.resolve( | ||||||
|   __dirname, |   __dirname, | ||||||
| @ -80,6 +86,8 @@ module.exports = { | |||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   plugins: [ |   plugins: [ | ||||||
|  |     new Dotenv({ path: dotEnvPath }), | ||||||
|  | 
 | ||||||
|     // Lint js files
 |     // Lint js files
 | ||||||
|     new ESLintPlugin({ |     new ESLintPlugin({ | ||||||
|       // lint only changed files:
 |       // lint only changed files:
 | ||||||
|  | |||||||
| @ -1746,6 +1746,11 @@ cssesc@^3.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" |   resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" | ||||||
|   integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== |   integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== | ||||||
| 
 | 
 | ||||||
|  | data-uri-to-buffer@^4.0.0: | ||||||
|  |   version "4.0.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" | ||||||
|  |   integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== | ||||||
|  | 
 | ||||||
| debounce@^1.2.0: | debounce@^1.2.0: | ||||||
|   version "1.2.1" |   version "1.2.1" | ||||||
|   resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" |   resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" | ||||||
| @ -1935,11 +1940,30 @@ doctrine@^3.0.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     esutils "^2.0.2" |     esutils "^2.0.2" | ||||||
| 
 | 
 | ||||||
|  | dotenv-defaults@^2.0.2: | ||||||
|  |   version "2.0.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz#6b3ec2e4319aafb70940abda72d3856770ee77ac" | ||||||
|  |   integrity sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg== | ||||||
|  |   dependencies: | ||||||
|  |     dotenv "^8.2.0" | ||||||
|  | 
 | ||||||
|  | dotenv-webpack@^7.0.3: | ||||||
|  |   version "7.0.3" | ||||||
|  |   resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz#f50ec3c7083a69ec6076e110566720003b7b107b" | ||||||
|  |   integrity sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw== | ||||||
|  |   dependencies: | ||||||
|  |     dotenv-defaults "^2.0.2" | ||||||
|  | 
 | ||||||
| dotenv@^10.0.0: | dotenv@^10.0.0: | ||||||
|   version "10.0.0" |   version "10.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" |   resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" | ||||||
|   integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== |   integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== | ||||||
| 
 | 
 | ||||||
|  | dotenv@^8.2.0: | ||||||
|  |   version "8.6.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" | ||||||
|  |   integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== | ||||||
|  | 
 | ||||||
| ee-first@1.1.1: | ee-first@1.1.1: | ||||||
|   version "1.1.1" |   version "1.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" |   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" | ||||||
| @ -2321,6 +2345,13 @@ fd-slicer@~1.1.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     pend "~1.2.0" |     pend "~1.2.0" | ||||||
| 
 | 
 | ||||||
|  | fetch-blob@^3.1.2: | ||||||
|  |   version "3.1.3" | ||||||
|  |   resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.3.tgz#a7dca4855e39d3e3c5a1da62d4ee335c37d26012" | ||||||
|  |   integrity sha512-ax1Y5I9w+9+JiM+wdHkhBoxew+zG4AJ2SvAD1v1szpddUIiPERVGBxrMcB2ZqW0Y3PP8bOWYv2zqQq1Jp2kqUQ== | ||||||
|  |   dependencies: | ||||||
|  |     web-streams-polyfill "^3.0.3" | ||||||
|  | 
 | ||||||
| file-entry-cache@^6.0.1: | file-entry-cache@^6.0.1: | ||||||
|   version "6.0.1" |   version "6.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" |   resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" | ||||||
| @ -2381,6 +2412,13 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.4: | |||||||
|   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" |   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" | ||||||
|   integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== |   integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== | ||||||
| 
 | 
 | ||||||
|  | formdata-polyfill@^4.0.10: | ||||||
|  |   version "4.0.10" | ||||||
|  |   resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" | ||||||
|  |   integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== | ||||||
|  |   dependencies: | ||||||
|  |     fetch-blob "^3.1.2" | ||||||
|  | 
 | ||||||
| forwarded@0.2.0: | forwarded@0.2.0: | ||||||
|   version "0.2.0" |   version "0.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" |   resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" | ||||||
| @ -3505,6 +3543,15 @@ node-fetch@2.6.5: | |||||||
|   dependencies: |   dependencies: | ||||||
|     whatwg-url "^5.0.0" |     whatwg-url "^5.0.0" | ||||||
| 
 | 
 | ||||||
|  | node-fetch@^3.1.0: | ||||||
|  |   version "3.1.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.0.tgz#714f4922dc270239487654eaeeab86b8206cb52e" | ||||||
|  |   integrity sha512-QU0WbIfMUjd5+MUzQOYhenAazakV7Irh1SGkWCsRzBwvm4fAhzEUaHMJ6QLP7gWT6WO9/oH2zhKMMGMuIrDyKw== | ||||||
|  |   dependencies: | ||||||
|  |     data-uri-to-buffer "^4.0.0" | ||||||
|  |     fetch-blob "^3.1.2" | ||||||
|  |     formdata-polyfill "^4.0.10" | ||||||
|  | 
 | ||||||
| node-forge@^0.10.0: | node-forge@^0.10.0: | ||||||
|   version "0.10.0" |   version "0.10.0" | ||||||
|   resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" |   resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" | ||||||
| @ -4828,6 +4875,11 @@ unpipe@1.0.0, unpipe@~1.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" |   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" | ||||||
|   integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= |   integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= | ||||||
| 
 | 
 | ||||||
|  | update-dotenv@^1.1.1: | ||||||
|  |   version "1.1.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/update-dotenv/-/update-dotenv-1.1.1.tgz#17146f302f216c3c92419d5a327a45be910050ca" | ||||||
|  |   integrity sha512-3cIC18In/t0X/yH793c00qqxcKD8jVCgNOPif/fGQkFpYMGecM9YAc+kaAKXuZsM2dE9I9wFI7KvAuNX22SGMQ== | ||||||
|  | 
 | ||||||
| uri-js@^4.2.2: | uri-js@^4.2.2: | ||||||
|   version "4.4.1" |   version "4.4.1" | ||||||
|   resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" |   resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" | ||||||
| @ -4892,6 +4944,11 @@ wbuf@^1.1.0, wbuf@^1.7.3: | |||||||
|   dependencies: |   dependencies: | ||||||
|     minimalistic-assert "^1.0.0" |     minimalistic-assert "^1.0.0" | ||||||
| 
 | 
 | ||||||
|  | web-streams-polyfill@^3.0.3: | ||||||
|  |   version "3.2.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965" | ||||||
|  |   integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA== | ||||||
|  | 
 | ||||||
| webidl-conversions@^3.0.0: | webidl-conversions@^3.0.0: | ||||||
|   version "3.0.1" |   version "3.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" |   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user