├── .gitignore ├── README.md ├── docs ├── assets │ ├── index.92882d24.css │ └── main.1e992a4a.js └── index.html ├── index.html ├── lib ├── components │ ├── ErrorBoundary.d.ts │ ├── ErrorBoundary.d.ts.map │ ├── ErrorBoundary.js │ ├── ErrorView.d.ts │ ├── ErrorView.d.ts.map │ ├── ErrorView.js │ ├── ErrorViewMacOS.d.ts │ ├── ErrorViewMacOS.d.ts.map │ ├── ErrorViewMacOS.js │ ├── ErrorViewWindows10.d.ts │ ├── ErrorViewWindows10.d.ts.map │ ├── ErrorViewWindows10.js │ ├── ErrorViewWindows9x.d.ts │ ├── ErrorViewWindows9x.d.ts.map │ └── ErrorViewWindows9x.js ├── example.d.ts ├── example.d.ts.map ├── example.js ├── index.cjs ├── index.d.ts ├── index.d.ts.map ├── index.js ├── index.mjs ├── interfaces.d.ts ├── interfaces.d.ts.map ├── interfaces.js └── style.css ├── package.json ├── screenshot.png ├── src ├── components │ ├── ErrorBoundary.tsx │ ├── ErrorView.tsx │ ├── ErrorViewMacOS.tsx │ ├── ErrorViewWindows10.tsx │ ├── ErrorViewWindows9x.tsx │ ├── macOS.module.css │ ├── windows10.module.css │ └── windows9x.module.css ├── example.tsx ├── index.tsx └── interfaces.ts ├── tsconfig.json ├── types.d.ts ├── vite.config.ts ├── vite.doc.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/18aa6d83774d514da479d73a4beb864cd4220231/Node.gitignore 2 | 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | lerna-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | *.lcov 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (https://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # Snowpack dependency directory (https://snowpack.dev/) 47 | web_modules/ 48 | 49 | # TypeScript cache 50 | *.tsbuildinfo 51 | 52 | # Optional npm cache directory 53 | .npm 54 | 55 | # Optional eslint cache 56 | .eslintcache 57 | 58 | # Microbundle cache 59 | .rpt2_cache/ 60 | .rts2_cache_cjs/ 61 | .rts2_cache_es/ 62 | .rts2_cache_umd/ 63 | 64 | # Optional REPL history 65 | .node_repl_history 66 | 67 | # Output of 'npm pack' 68 | *.tgz 69 | 70 | # Yarn Integrity file 71 | .yarn-integrity 72 | 73 | # dotenv environment variables file 74 | .env 75 | .env.test 76 | 77 | # Stores VSCode versions used for testing VSCode extensions 78 | .vscode-test 79 | 80 | # yarn v2 81 | .yarn/cache 82 | .yarn/unplugged 83 | .yarn/build-state.yml 84 | .yarn/install-state.gz 85 | .pnp.* 86 | 87 | 88 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React-bluescren 2 | 3 | This library displays a blue screen when an error occurs in React. 4 | 5 | 6 | 7 | ## Demo 8 | 9 | [https://trkbt10.github.io/react-bluescreen/](https://trkbt10.github.io/react-bluescreen/) 10 | 11 | ## Usage 12 | 13 | ```jsx 14 | import "react-bluescreen/style.css"; 15 | import { ErrorBoundary } from "react-bluescreen"; 16 | 17 | export const App: React.FC> = ({ children }) => { 18 | return {children}; 19 | }; 20 | ``` 21 | 22 | ### Install 23 | 24 | ```bash 25 | npm install git@github.com:trkbt10/react-bluescreen.git 26 | ``` 27 | -------------------------------------------------------------------------------- /docs/assets/index.92882d24.css: -------------------------------------------------------------------------------- 1 | ._errorView_llehv_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;background:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}._errorView_llehv_1 ._body_llehv_17{box-sizing:border-box}._errorView_llehv_1 ._body_llehv_17>p{display:inline-block;margin:0;padding:0;font-size:1rem;line-height:1.2;letter-spacing:.02em;color:#fff;background:black}._errorView_g6155_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;background:rgba(0,120,215,1);color:#fff;font-family:Segoe UI,sans-serif;overflow:hidden;display:flex;align-items:center;justify-content:center}._errorView_g6155_1 ._body_g6155_17{box-sizing:border-box;padding:0 4em}._errorView_g6155_1 ._heading_g6155_22{font-size:8rem;font-weight:400;margin:0 0 .4em;padding:0}._errorView_g6155_1 a{color:inherit;text-decoration:none}._errorView_g6155_1 ._body_g6155_17>p{margin:0;padding:0;font-size:1.2rem;line-height:1.64;letter-spacing:.02em}._errorView_g6155_1 ._body_g6155_17 ._details_g6155_39{font-size:.7rem;margin:0;padding:0}._errorView_g6155_1 ._body_g6155_17 ._details_g6155_39>p{font-size:1em;margin:1em 0;padding:0;line-height:1.64;letter-spacing:.02em}._errorViewWindows9x_qlxpf_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;font-family:Fixedsys,Courier New,PCMyungjo,Courier,monospace;background:rgb(0,0,170);color:#fff;font-smooth:never;-moz-font-smooth:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;display:flex;align-items:center;justify-content:center}._errorViewWindows9x_qlxpf_1 ._body_qlxpf_20{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:640px;max-height:480px;font-size:1rem;padding:0 3em}._errorViewWindows9x_qlxpf_1 ._heading_qlxpf_31{display:inline-block;font-size:1em;padding:0 .5em;background:rgb(170,170,170);color:#00a;letter-spacing:-.01em;line-height:1.2;font-weight:700;margin:0;place-self:center}._errorViewWindows9x_qlxpf_1 ._body_qlxpf_20>p{font-weight:700;margin:1em 0 0} 2 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /lib/components/ErrorBoundary.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorView } from "./ErrorView"; 3 | export declare class ErrorBoundary extends React.Component, "variant">>> { 4 | readonly state: { 5 | errorInfo?: React.ErrorInfo; 6 | error?: Error; 7 | }; 8 | constructor(props: React.PropsWithChildren<{}>); 9 | static getDerivedStateFromError(error: Error): { 10 | error: Error; 11 | }; 12 | onConfirm(): void; 13 | componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void; 14 | render(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined; 15 | } 16 | //# sourceMappingURL=ErrorBoundary.d.ts.map -------------------------------------------------------------------------------- /lib/components/ErrorBoundary.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAChD,KAAK,CAAC,iBAAiB,CACrB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,SAAS,CAAC,CACxD,CACF;IACC,QAAQ,CAAC,KAAK,EAAE;QACd,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;gBACU,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAK9C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAGrC,SAAS;IAGhB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAG1D,MAAM;CAaP"} -------------------------------------------------------------------------------- /lib/components/ErrorBoundary.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __extends = (this && this.__extends) || (function () { 3 | var extendStatics = function (d, b) { 4 | extendStatics = Object.setPrototypeOf || 5 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 6 | function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; 7 | return extendStatics(d, b); 8 | }; 9 | return function (d, b) { 10 | if (typeof b !== "function" && b !== null) 11 | throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 12 | extendStatics(d, b); 13 | function __() { this.constructor = d; } 14 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 15 | }; 16 | })(); 17 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 18 | if (k2 === undefined) k2 = k; 19 | var desc = Object.getOwnPropertyDescriptor(m, k); 20 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 21 | desc = { enumerable: true, get: function() { return m[k]; } }; 22 | } 23 | Object.defineProperty(o, k2, desc); 24 | }) : (function(o, m, k, k2) { 25 | if (k2 === undefined) k2 = k; 26 | o[k2] = m[k]; 27 | })); 28 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 29 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 30 | }) : function(o, v) { 31 | o["default"] = v; 32 | }); 33 | var __importStar = (this && this.__importStar) || function (mod) { 34 | if (mod && mod.__esModule) return mod; 35 | var result = {}; 36 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 37 | __setModuleDefault(result, mod); 38 | return result; 39 | }; 40 | exports.__esModule = true; 41 | exports.ErrorBoundary = void 0; 42 | var React = __importStar(require("react")); 43 | var ErrorView_1 = require("./ErrorView"); 44 | var ErrorBoundary = /** @class */ (function (_super) { 45 | __extends(ErrorBoundary, _super); 46 | function ErrorBoundary(props) { 47 | var _this = _super.call(this, props) || this; 48 | _this.state = {}; 49 | return _this; 50 | } 51 | ErrorBoundary.getDerivedStateFromError = function (error) { 52 | return { error: error }; 53 | }; 54 | ErrorBoundary.prototype.onConfirm = function () { 55 | this.setState({ error: undefined, errorInfo: undefined }); 56 | }; 57 | ErrorBoundary.prototype.componentDidCatch = function (error, errorInfo) { 58 | this.setState({ errorInfo: errorInfo, error: error }); 59 | }; 60 | ErrorBoundary.prototype.render = function () { 61 | if (this.state.error) { 62 | return (React.createElement(ErrorView_1.ErrorView, { error: this.state.error, errorInfo: this.state.errorInfo, onConfirm: this.onConfirm.bind(this), variant: this.props.variant })); 63 | } 64 | return this.props.children; 65 | }; 66 | return ErrorBoundary; 67 | }(React.Component)); 68 | exports.ErrorBoundary = ErrorBoundary; 69 | -------------------------------------------------------------------------------- /lib/components/ErrorView.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | export declare type ErrorViewVariants = "macOS" | "windows" | "windows9x"; 4 | export declare const ErrorView: React.FC void; 6 | variant?: ErrorViewVariants; 7 | } & ErrorState>>; 8 | //# sourceMappingURL=ErrorView.d.ts.map -------------------------------------------------------------------------------- /lib/components/ErrorView.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ErrorView.d.ts","sourceRoot":"","sources":["../../src/components/ErrorView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,oBAAY,iBAAiB,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAClE,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAC9B,KAAK,CAAC,iBAAiB,CACrB;IACE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GAAG,UAAU,CACf,CA+BF,CAAC"} -------------------------------------------------------------------------------- /lib/components/ErrorView.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 14 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 15 | }) : function(o, v) { 16 | o["default"] = v; 17 | }); 18 | var __importStar = (this && this.__importStar) || function (mod) { 19 | if (mod && mod.__esModule) return mod; 20 | var result = {}; 21 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 22 | __setModuleDefault(result, mod); 23 | return result; 24 | }; 25 | exports.__esModule = true; 26 | exports.ErrorView = void 0; 27 | var React = __importStar(require("react")); 28 | var ErrorViewMacOS_1 = require("./ErrorViewMacOS"); 29 | var ErrorViewWindows10_1 = require("./ErrorViewWindows10"); 30 | var ErrorViewWindows9x_1 = require("./ErrorViewWindows9x"); 31 | var ErrorView = function (_a) { 32 | var error = _a.error, errorInfo = _a.errorInfo, onConfirm = _a.onConfirm, variant = _a.variant; 33 | React.useEffect(function () { 34 | var onBlur = function (e) { 35 | e.key === "Enter" && onConfirm(); 36 | }; 37 | window.addEventListener("keypress", onBlur, { once: true }); 38 | }, []); 39 | var errorViewType = React.useMemo(function () { 40 | if (variant) { 41 | return variant; 42 | } 43 | if (window.navigator.userAgent.includes("Windows")) { 44 | return "windows"; 45 | } 46 | return "windows9x"; 47 | }, [variant]); 48 | switch (errorViewType) { 49 | case "macOS": { 50 | return React.createElement(ErrorViewMacOS_1.ErrorViewMacOS, { error: error, errorInfo: errorInfo }); 51 | } 52 | case "windows9x": { 53 | return React.createElement(ErrorViewWindows9x_1.ErrorViewWindows9x, { error: error, errorInfo: errorInfo }); 54 | } 55 | } 56 | return (React.createElement(ErrorViewWindows10_1.ErrorViewWindows10, { error: error, errorInfo: errorInfo })); 57 | }; 58 | exports.ErrorView = ErrorView; 59 | exports.ErrorView.displayName = "BlueScreen"; 60 | -------------------------------------------------------------------------------- /lib/components/ErrorViewMacOS.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | export declare const ErrorViewMacOS: React.FC; 4 | //# sourceMappingURL=ErrorViewMacOS.d.ts.map -------------------------------------------------------------------------------- /lib/components/ErrorViewMacOS.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ErrorViewMacOS.d.ts","sourceRoot":"","sources":["../../src/components/ErrorViewMacOS.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAe/C,CAAC"} -------------------------------------------------------------------------------- /lib/components/ErrorViewMacOS.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 14 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 15 | }) : function(o, v) { 16 | o["default"] = v; 17 | }); 18 | var __importStar = (this && this.__importStar) || function (mod) { 19 | if (mod && mod.__esModule) return mod; 20 | var result = {}; 21 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 22 | __setModuleDefault(result, mod); 23 | return result; 24 | }; 25 | var __importDefault = (this && this.__importDefault) || function (mod) { 26 | return (mod && mod.__esModule) ? mod : { "default": mod }; 27 | }; 28 | exports.__esModule = true; 29 | exports.ErrorViewMacOS = void 0; 30 | var React = __importStar(require("react")); 31 | var macOS_module_css_1 = __importDefault(require("./macOS.module.css")); 32 | var ErrorViewMacOS = function (_a) { 33 | var _b; 34 | var error = _a.error, errorInfo = _a.errorInfo; 35 | return (React.createElement("div", { className: macOS_module_css_1["default"].errorView }, 36 | React.createElement("div", { className: macOS_module_css_1["default"].body }, 37 | React.createElement("p", null, error === null || error === void 0 ? void 0 : error.name), 38 | React.createElement("p", null, error === null || error === void 0 ? void 0 : error.message), 39 | React.createElement(React.Fragment, null, (_b = error === null || error === void 0 ? void 0 : error.stack) === null || _b === void 0 ? void 0 : _b.split("\n").map(function (line, i) { 40 | return React.createElement("p", { key: i }, line); 41 | })), 42 | React.createElement("p", null, errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack)))); 43 | }; 44 | exports.ErrorViewMacOS = ErrorViewMacOS; 45 | exports.ErrorViewMacOS.displayName = "ErrorViewMacOS"; 46 | -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows10.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | export declare const ErrorViewWindows10: React.FC; 4 | //# sourceMappingURL=ErrorViewWindows10.d.ts.map -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows10.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ErrorViewWindows10.d.ts","sourceRoot":"","sources":["../../src/components/ErrorViewWindows10.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAiCnD,CAAC"} -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows10.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 14 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 15 | }) : function(o, v) { 16 | o["default"] = v; 17 | }); 18 | var __importStar = (this && this.__importStar) || function (mod) { 19 | if (mod && mod.__esModule) return mod; 20 | var result = {}; 21 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 22 | __setModuleDefault(result, mod); 23 | return result; 24 | }; 25 | var __importDefault = (this && this.__importDefault) || function (mod) { 26 | return (mod && mod.__esModule) ? mod : { "default": mod }; 27 | }; 28 | exports.__esModule = true; 29 | exports.ErrorViewWindows10 = void 0; 30 | var React = __importStar(require("react")); 31 | var windows10_module_css_1 = __importDefault(require("./windows10.module.css")); 32 | var ErrorViewWindows10 = function (_a) { 33 | var error = _a.error, errorInfo = _a.errorInfo; 34 | return (React.createElement("div", { className: windows10_module_css_1["default"].errorView }, 35 | React.createElement("div", { className: windows10_module_css_1["default"].body }, 36 | React.createElement("h1", { className: windows10_module_css_1["default"].heading }, ":("), 37 | React.createElement("p", null, "A problem has occurred with the website and it needs to be reloaded."), 38 | React.createElement("p", null, "We just collect some Error information and then restart for you."), 39 | React.createElement("div", { className: windows10_module_css_1["default"].details }, 40 | React.createElement("p", null, 41 | "For more information on this issue and possible solutions, please visit the website:", 42 | React.createElement("a", { href: "https://reactjs.org/docs/error-boundaries.html", target: "_blank" }, "https://reactjs.org/docs/error-boundaries.html")), 43 | React.createElement("p", null, error === null || error === void 0 ? void 0 : 44 | error.name, error === null || error === void 0 ? void 0 : 45 | error.message), 46 | React.createElement("p", null, errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack))))); 47 | }; 48 | exports.ErrorViewWindows10 = ErrorViewWindows10; 49 | -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows9x.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import type { ErrorState } from "../interfaces"; 3 | export declare const ErrorViewWindows9x: React.FC; 4 | //# sourceMappingURL=ErrorViewWindows9x.d.ts.map -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows9x.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"ErrorViewWindows9x.d.ts","sourceRoot":"","sources":["../../src/components/ErrorViewWindows9x.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAwBnD,CAAC"} -------------------------------------------------------------------------------- /lib/components/ErrorViewWindows9x.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 14 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 15 | }) : function(o, v) { 16 | o["default"] = v; 17 | }); 18 | var __importStar = (this && this.__importStar) || function (mod) { 19 | if (mod && mod.__esModule) return mod; 20 | var result = {}; 21 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 22 | __setModuleDefault(result, mod); 23 | return result; 24 | }; 25 | var __importDefault = (this && this.__importDefault) || function (mod) { 26 | return (mod && mod.__esModule) ? mod : { "default": mod }; 27 | }; 28 | exports.__esModule = true; 29 | exports.ErrorViewWindows9x = void 0; 30 | var React = __importStar(require("react")); 31 | var windows9x_module_css_1 = __importDefault(require("./windows9x.module.css")); 32 | var ErrorViewWindows9x = function (_a) { 33 | var error = _a.error, errorInfo = _a.errorInfo; 34 | var errorText = React.useMemo(function () { 35 | return errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack; 36 | }, [errorInfo]); 37 | return (React.createElement("div", { className: windows9x_module_css_1["default"].errorViewWindows9x }, 38 | React.createElement("div", { className: windows9x_module_css_1["default"].body }, 39 | React.createElement("h1", { className: windows9x_module_css_1["default"].heading }, "ERROR"), 40 | React.createElement("p", null, "An error has occureed. To continue:"), 41 | React.createElement("p", null, "Press Enter to return to Website, or"), 42 | React.createElement("p", null, "Press Alt+F4 to close this application. If you do this, you will lose any unsaved information in all open applications."), 43 | React.createElement("p", null, 44 | "Error: ", error === null || error === void 0 ? void 0 : 45 | error.name, 46 | ",", error === null || error === void 0 ? void 0 : 47 | error.message), 48 | errorText && React.createElement("p", null, errorText)))); 49 | }; 50 | exports.ErrorViewWindows9x = ErrorViewWindows9x; 51 | -------------------------------------------------------------------------------- /lib/example.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | //# sourceMappingURL=example.d.ts.map -------------------------------------------------------------------------------- /lib/example.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../src/example.tsx"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /lib/example.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 14 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 15 | }) : function(o, v) { 16 | o["default"] = v; 17 | }); 18 | var __importStar = (this && this.__importStar) || function (mod) { 19 | if (mod && mod.__esModule) return mod; 20 | var result = {}; 21 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 22 | __setModuleDefault(result, mod); 23 | return result; 24 | }; 25 | exports.__esModule = true; 26 | var client_1 = require("react-dom/client"); 27 | var ErrorBoundary_1 = require("./components/ErrorBoundary"); 28 | var React = __importStar(require("react")); 29 | var App = function () { 30 | var _a = React.useState("windows9x"), variant = _a[0], setVariant = _a[1]; 31 | return (React.createElement(ErrorBoundary_1.ErrorBoundary, { variant: variant }, 32 | React.createElement("h1", null, "React-BlueScreen"), 33 | React.createElement("hr", null), 34 | React.createElement(ErrorButton, null), 35 | React.createElement("h2", null, "Theme"), 36 | React.createElement("select", { name: "options", onChange: function (e) { return setVariant(e.target.value); }, value: variant }, 37 | React.createElement("option", { value: "windows" }, "windows"), 38 | React.createElement("option", { value: "windows9x" }, "windows9x"), 39 | React.createElement("option", { value: "macOS" }, "macOS")))); 40 | }; 41 | var ErrorButton = function () { 42 | var _a = React.useState(undefined), error = _a[0], setError = _a[1]; 43 | React.useEffect(function () { 44 | if (error) { 45 | throw error; 46 | } 47 | }, [error]); 48 | return (React.createElement("button", { onClick: function () { 49 | setError(new Error("useEffect")); 50 | } }, "throw Error")); 51 | }; 52 | window.addEventListener("DOMContentLoaded", function () { 53 | var mountNode = document.getElementById("root"); 54 | if (!mountNode) { 55 | throw new Error("#root element is not found"); 56 | } 57 | var root = (0, client_1.createRoot)(mountNode); 58 | root.render(React.createElement(App, null)); 59 | }); 60 | -------------------------------------------------------------------------------- /lib/index.cjs: -------------------------------------------------------------------------------- 1 | "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("react");function E(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const a=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,a.get?a:{enumerable:!0,get:()=>e[s]})}}return n.default=e,Object.freeze(n)}const t=E(p),w="_errorView_llehv_1",h="_body_llehv_17",o={errorView:w,body:h},r=({error:e,errorInfo:n})=>{var s;return t.createElement("div",{className:o.errorView},t.createElement("div",{className:o.body},t.createElement("p",null,e==null?void 0:e.name),t.createElement("p",null,e==null?void 0:e.message),t.createElement(t.Fragment,null,(s=e==null?void 0:e.stack)==null?void 0:s.split(` 2 | `).map((a,c)=>t.createElement("p",{key:c},a))),t.createElement("p",null,n==null?void 0:n.componentStack)))};r.displayName="ErrorViewMacOS";const _="_errorView_g6155_1",y="_body_g6155_17",b="_heading_g6155_22",g="_details_g6155_39",i={errorView:_,body:y,heading:b,details:g},v=({error:e,errorInfo:n})=>t.createElement("div",{className:i.errorView},t.createElement("div",{className:i.body},t.createElement("h1",{className:i.heading},":("),t.createElement("p",null,"A problem has occurred with the website and it needs to be reloaded."),t.createElement("p",null,"We just collect some Error information and then restart for you."),t.createElement("div",{className:i.details},t.createElement("p",null,"For more information on this issue and possible solutions, please visit the website:",t.createElement("a",{href:"https://reactjs.org/docs/error-boundaries.html",target:"_blank"},"https://reactjs.org/docs/error-boundaries.html")),t.createElement("p",null,e==null?void 0:e.name,e==null?void 0:e.message),t.createElement("p",null,n==null?void 0:n.componentStack)))),V="_errorViewWindows9x_qlxpf_1",f="_body_qlxpf_20",S="_heading_qlxpf_31",l={errorViewWindows9x:V,body:f,heading:S},x=({error:e,errorInfo:n})=>{const s=t.useMemo(()=>n==null?void 0:n.componentStack,[n]);return t.createElement("div",{className:l.errorViewWindows9x},t.createElement("div",{className:l.body},t.createElement("h1",{className:l.heading},"ERROR"),t.createElement("p",null,"An error has occureed. To continue:"),t.createElement("p",null,"Press Enter to return to Website, or"),t.createElement("p",null,"Press Alt+F4 to close this application. If you do this, you will lose any unsaved information in all open applications."),t.createElement("p",null,"Error: ",e==null?void 0:e.name,",",e==null?void 0:e.message),s&&t.createElement("p",null,s)))},d=({error:e,errorInfo:n,onConfirm:s,variant:a})=>{switch(t.useEffect(()=>{const m=u=>{u.key==="Enter"&&s()};window.addEventListener("keypress",m,{once:!0})},[]),t.useMemo(()=>a||(window.navigator.userAgent.includes("Windows")?"windows":"windows9x"),[a])){case"macOS":return t.createElement(r,{error:e,errorInfo:n});case"windows9x":return t.createElement(x,{error:e,errorInfo:n})}return t.createElement(v,{error:e,errorInfo:n})};d.displayName="BlueScreen";class N extends t.Component{constructor(n){super(n),this.state={}}static getDerivedStateFromError(n){return{error:n}}onConfirm(){this.setState({error:void 0,errorInfo:void 0})}componentDidCatch(n,s){this.setState({errorInfo:s,error:n})}render(){return this.state.error?t.createElement(d,{error:this.state.error,errorInfo:this.state.errorInfo,onConfirm:this.onConfirm.bind(this),variant:this.props.variant}):this.props.children}}exports.ErrorBoundary=N; 3 | -------------------------------------------------------------------------------- /lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export { ErrorBoundary } from "./components/ErrorBoundary"; 2 | //# sourceMappingURL=index.d.ts.map -------------------------------------------------------------------------------- /lib/index.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"} -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | var desc = Object.getOwnPropertyDescriptor(m, k); 5 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 6 | desc = { enumerable: true, get: function() { return m[k]; } }; 7 | } 8 | Object.defineProperty(o, k2, desc); 9 | }) : (function(o, m, k, k2) { 10 | if (k2 === undefined) k2 = k; 11 | o[k2] = m[k]; 12 | })); 13 | exports.__esModule = true; 14 | exports.ErrorBoundary = void 0; 15 | var ErrorBoundary_1 = require("./components/ErrorBoundary"); 16 | __createBinding(exports, ErrorBoundary_1, "ErrorBoundary"); 17 | -------------------------------------------------------------------------------- /lib/index.mjs: -------------------------------------------------------------------------------- 1 | import * as e from "react"; 2 | const p = "_errorView_llehv_1", E = "_body_llehv_17", o = { 3 | errorView: p, 4 | body: E 5 | }, d = ({ error: t, errorInfo: n }) => { 6 | var s; 7 | return /* @__PURE__ */ e.createElement("div", { 8 | className: o.errorView 9 | }, /* @__PURE__ */ e.createElement("div", { 10 | className: o.body 11 | }, /* @__PURE__ */ e.createElement("p", null, t == null ? void 0 : t.name), /* @__PURE__ */ e.createElement("p", null, t == null ? void 0 : t.message), /* @__PURE__ */ e.createElement(e.Fragment, null, (s = t == null ? void 0 : t.stack) == null ? void 0 : s.split(` 12 | `).map((a, c) => /* @__PURE__ */ e.createElement("p", { 13 | key: c 14 | }, a))), /* @__PURE__ */ e.createElement("p", null, n == null ? void 0 : n.componentStack))); 15 | }; 16 | d.displayName = "ErrorViewMacOS"; 17 | const w = "_errorView_g6155_1", h = "_body_g6155_17", _ = "_heading_g6155_22", y = "_details_g6155_39", i = { 18 | errorView: w, 19 | body: h, 20 | heading: _, 21 | details: y 22 | }, b = ({ 23 | error: t, 24 | errorInfo: n 25 | }) => /* @__PURE__ */ e.createElement("div", { 26 | className: i.errorView 27 | }, /* @__PURE__ */ e.createElement("div", { 28 | className: i.body 29 | }, /* @__PURE__ */ e.createElement("h1", { 30 | className: i.heading 31 | }, ":("), /* @__PURE__ */ e.createElement("p", null, "A problem has occurred with the website and it needs to be reloaded."), /* @__PURE__ */ e.createElement("p", null, "We just collect some Error information and then restart for you."), /* @__PURE__ */ e.createElement("div", { 32 | className: i.details 33 | }, /* @__PURE__ */ e.createElement("p", null, "For more information on this issue and possible solutions, please visit the website:", /* @__PURE__ */ e.createElement("a", { 34 | href: "https://reactjs.org/docs/error-boundaries.html", 35 | target: "_blank" 36 | }, "https://reactjs.org/docs/error-boundaries.html")), /* @__PURE__ */ e.createElement("p", null, t == null ? void 0 : t.name, t == null ? void 0 : t.message), /* @__PURE__ */ e.createElement("p", null, n == null ? void 0 : n.componentStack)))), g = "_errorViewWindows9x_qlxpf_1", V = "_body_qlxpf_20", v = "_heading_qlxpf_31", l = { 37 | errorViewWindows9x: g, 38 | body: V, 39 | heading: v 40 | }, x = ({ 41 | error: t, 42 | errorInfo: n 43 | }) => { 44 | const s = e.useMemo(() => n == null ? void 0 : n.componentStack, [n]); 45 | return /* @__PURE__ */ e.createElement("div", { 46 | className: l.errorViewWindows9x 47 | }, /* @__PURE__ */ e.createElement("div", { 48 | className: l.body 49 | }, /* @__PURE__ */ e.createElement("h1", { 50 | className: l.heading 51 | }, "ERROR"), /* @__PURE__ */ e.createElement("p", null, "An error has occureed. To continue:"), /* @__PURE__ */ e.createElement("p", null, "Press Enter to return to Website, or"), /* @__PURE__ */ e.createElement("p", null, "Press Alt+F4 to close this application. If you do this, you will lose any unsaved information in all open applications."), /* @__PURE__ */ e.createElement("p", null, "Error: ", t == null ? void 0 : t.name, ",", t == null ? void 0 : t.message), s && /* @__PURE__ */ e.createElement("p", null, s))); 52 | }, m = ({ error: t, errorInfo: n, onConfirm: s, variant: a }) => { 53 | switch (e.useEffect(() => { 54 | const r = (u) => { 55 | u.key === "Enter" && s(); 56 | }; 57 | window.addEventListener("keypress", r, { once: !0 }); 58 | }, []), e.useMemo(() => a || (window.navigator.userAgent.includes("Windows") ? "windows" : "windows9x"), [a])) { 59 | case "macOS": 60 | return /* @__PURE__ */ e.createElement(d, { 61 | error: t, 62 | errorInfo: n 63 | }); 64 | case "windows9x": 65 | return /* @__PURE__ */ e.createElement(x, { 66 | error: t, 67 | errorInfo: n 68 | }); 69 | } 70 | return /* @__PURE__ */ e.createElement(b, { 71 | error: t, 72 | errorInfo: n 73 | }); 74 | }; 75 | m.displayName = "BlueScreen"; 76 | class N extends e.Component { 77 | constructor(n) { 78 | super(n), this.state = {}; 79 | } 80 | static getDerivedStateFromError(n) { 81 | return { error: n }; 82 | } 83 | onConfirm() { 84 | this.setState({ error: void 0, errorInfo: void 0 }); 85 | } 86 | componentDidCatch(n, s) { 87 | this.setState({ errorInfo: s, error: n }); 88 | } 89 | render() { 90 | return this.state.error ? /* @__PURE__ */ e.createElement(m, { 91 | error: this.state.error, 92 | errorInfo: this.state.errorInfo, 93 | onConfirm: this.onConfirm.bind(this), 94 | variant: this.props.variant 95 | }) : this.props.children; 96 | } 97 | } 98 | export { 99 | N as ErrorBoundary 100 | }; 101 | -------------------------------------------------------------------------------- /lib/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | export declare type ErrorState = { 2 | error?: Error; 3 | errorInfo?: React.ErrorInfo; 4 | }; 5 | //# sourceMappingURL=interfaces.d.ts.map -------------------------------------------------------------------------------- /lib/interfaces.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC"} -------------------------------------------------------------------------------- /lib/interfaces.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | exports.__esModule = true; 3 | -------------------------------------------------------------------------------- /lib/style.css: -------------------------------------------------------------------------------- 1 | ._errorView_llehv_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;background:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}._errorView_llehv_1 ._body_llehv_17{box-sizing:border-box}._errorView_llehv_1 ._body_llehv_17>p{display:inline-block;margin:0;padding:0;font-size:1rem;line-height:1.2;letter-spacing:.02em;color:#fff;background:black}._errorView_g6155_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;background:rgba(0,120,215,1);color:#fff;font-family:Segoe UI,sans-serif;overflow:hidden;display:flex;align-items:center;justify-content:center}._errorView_g6155_1 ._body_g6155_17{box-sizing:border-box;padding:0 4em}._errorView_g6155_1 ._heading_g6155_22{font-size:8rem;font-weight:400;margin:0 0 .4em;padding:0}._errorView_g6155_1 a{color:inherit;text-decoration:none}._errorView_g6155_1 ._body_g6155_17>p{margin:0;padding:0;font-size:1.2rem;line-height:1.64;letter-spacing:.02em}._errorView_g6155_1 ._body_g6155_17 ._details_g6155_39{font-size:.7rem;margin:0;padding:0}._errorView_g6155_1 ._body_g6155_17 ._details_g6155_39>p{font-size:1em;margin:1em 0;padding:0;line-height:1.64;letter-spacing:.02em}._errorViewWindows9x_qlxpf_1{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;font-family:Fixedsys,Courier New,PCMyungjo,Courier,monospace;background:rgb(0,0,170);color:#fff;font-smooth:never;-moz-font-smooth:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;display:flex;align-items:center;justify-content:center}._errorViewWindows9x_qlxpf_1 ._body_qlxpf_20{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:640px;max-height:480px;font-size:1rem;padding:0 3em}._errorViewWindows9x_qlxpf_1 ._heading_qlxpf_31{display:inline-block;font-size:1em;padding:0 .5em;background:rgb(170,170,170);color:#00a;letter-spacing:-.01em;line-height:1.2;font-weight:700;margin:0;place-self:center}._errorViewWindows9x_qlxpf_1 ._body_qlxpf_20>p{font-weight:700;margin:1em 0 0} 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-bluescreen", 3 | "version": "1.0.1", 4 | "description": "", 5 | "scripts": { 6 | "dev": "vite --config=vite.doc.config.ts", 7 | "build": "vite build && tsc -b" 8 | }, 9 | "main": "./lib/index.cjs", 10 | "import": "./lib/index.mjs", 11 | "types": "./lib/index.d.ts", 12 | "exports": { 13 | "./style.css": "./lib/style.css", 14 | ".": { 15 | "main": "./lib/index.cjs", 16 | "import": "./lib/index.mjs", 17 | "types": "./lib/index.d.ts", 18 | "default": "./lib/index.cjs" 19 | } 20 | }, 21 | "files": [ 22 | "README.md", 23 | "lib" 24 | ], 25 | "keywords": [ 26 | "react", 27 | "errorboundary", 28 | "bluescreen" 29 | ], 30 | "author": "trkbt10", 31 | "license": "ISC", 32 | "peerDependencies": { 33 | "react": "^16 || ^17 || ^18", 34 | "react-dom": "^16 || ^17 || ^18" 35 | }, 36 | "devDependencies": { 37 | "@types/react": "^18.0.18", 38 | "@types/react-dom": "^18.0.6", 39 | "react": "^18.2.0", 40 | "react-dom": "^18.2.0", 41 | "ts-node": "^10.9.1", 42 | "tsc": "^2.0.4", 43 | "typescript": "^4.8.2", 44 | "vite": "^3.0.9", 45 | "vitest": "^0.23.1" 46 | } 47 | } -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trkbt10/react-bluescreen/1aa0581f08f4fce53c80c9df801aac8ec0d05e64/screenshot.png -------------------------------------------------------------------------------- /src/components/ErrorBoundary.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorView } from "./ErrorView"; 3 | export class ErrorBoundary extends React.Component< 4 | React.PropsWithChildren< 5 | Pick, "variant"> 6 | > 7 | > { 8 | readonly state: { 9 | errorInfo?: React.ErrorInfo; 10 | error?: Error; 11 | }; 12 | constructor(props: React.PropsWithChildren<{}>) { 13 | super(props); 14 | this.state = {}; 15 | } 16 | 17 | static getDerivedStateFromError(error: Error) { 18 | return { error }; 19 | } 20 | public onConfirm() { 21 | this.setState({ error: undefined, errorInfo: undefined }); 22 | } 23 | componentDidCatch(error: Error, errorInfo: React.ErrorInfo) { 24 | this.setState({ errorInfo, error }); 25 | } 26 | render() { 27 | if (this.state.error) { 28 | return ( 29 | 35 | ); 36 | } 37 | return this.props.children; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/components/ErrorView.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | import { ErrorViewMacOS } from "./ErrorViewMacOS"; 4 | import { ErrorViewWindows10 } from "./ErrorViewWindows10"; 5 | import { ErrorViewWindows9x } from "./ErrorViewWindows9x"; 6 | export type ErrorViewVariants = "macOS" | "windows" | "windows9x"; 7 | export const ErrorView: React.FC< 8 | React.PropsWithChildren< 9 | { 10 | onConfirm: () => void; 11 | variant?: ErrorViewVariants; 12 | } & ErrorState 13 | > 14 | > = ({ error, errorInfo, onConfirm, variant }) => { 15 | React.useEffect(() => { 16 | const onBlur = (e: KeyboardEvent) => { 17 | e.key === "Enter" && onConfirm(); 18 | }; 19 | window.addEventListener("keypress", onBlur, { once: true }); 20 | }, []); 21 | const errorViewType = React.useMemo(() => { 22 | if (variant) { 23 | return variant; 24 | } 25 | if (window.navigator.userAgent.includes("Windows")) { 26 | return "windows"; 27 | } 28 | return "windows9x"; 29 | }, [variant]); 30 | switch (errorViewType) { 31 | case "macOS": { 32 | return ; 33 | } 34 | case "windows9x": { 35 | return ; 36 | } 37 | } 38 | return ( 39 | 43 | ); 44 | }; 45 | ErrorView.displayName = "BlueScreen"; 46 | -------------------------------------------------------------------------------- /src/components/ErrorViewMacOS.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | import style from "./macOS.module.css"; 4 | export const ErrorViewMacOS: React.FC = ({ error, errorInfo }) => { 5 | return ( 6 |
7 |
8 |

{error?.name}

9 |

{error?.message}

10 | <> 11 | {error?.stack?.split("\n").map((line, i) => { 12 | return

{line}

; 13 | })} 14 | 15 |

{errorInfo?.componentStack}

16 |
17 |
18 | ); 19 | }; 20 | ErrorViewMacOS.displayName = "ErrorViewMacOS"; 21 | -------------------------------------------------------------------------------- /src/components/ErrorViewWindows10.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { ErrorState } from "../interfaces"; 3 | import style from "./windows10.module.css"; 4 | 5 | export const ErrorViewWindows10: React.FC = ({ 6 | error, 7 | errorInfo, 8 | }) => { 9 | return ( 10 |
11 |
12 |

:(

13 |

14 | A problem has occurred with the website and it needs to be reloaded. 15 |

16 |

We just collect some Error information and then restart for you.

17 | 18 |
19 |

20 | For more information on this issue and possible solutions, please 21 | visit the website: 22 | 26 | https://reactjs.org/docs/error-boundaries.html 27 | 28 |

29 |

30 | {error?.name} 31 | {error?.message} 32 |

33 |

{errorInfo?.componentStack}

34 |
35 |
36 |
37 | ); 38 | }; 39 | -------------------------------------------------------------------------------- /src/components/ErrorViewWindows9x.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import style from "./windows9x.module.css"; 3 | import type { ErrorState } from "../interfaces"; 4 | 5 | export const ErrorViewWindows9x: React.FC = ({ 6 | error, 7 | errorInfo, 8 | }) => { 9 | const errorText = React.useMemo(() => { 10 | return errorInfo?.componentStack; 11 | }, [errorInfo]); 12 | return ( 13 |
14 |
15 |

ERROR

16 |

An error has occureed. To continue:

17 |

Press Enter to return to Website, or

18 |

19 | Press Alt+F4 to close this application. If you do this, you will lose 20 | any unsaved information in all open applications. 21 |

22 |

23 | Error: {error?.name},{error?.message} 24 |

25 | {errorText &&

{errorText}

} 26 |
27 |
28 | ); 29 | }; 30 | -------------------------------------------------------------------------------- /src/components/macOS.module.css: -------------------------------------------------------------------------------- 1 | .errorView { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | z-index: 99999; 6 | width: 100%; 7 | height: 100%; 8 | background: transparent; 9 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, 10 | Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 11 | overflow: hidden; 12 | display: flex; 13 | align-items: flex-start; 14 | justify-content: center; 15 | } 16 | 17 | .errorView .body { 18 | box-sizing: border-box; 19 | } 20 | .errorView .body > p { 21 | display: inline-block; 22 | margin: 0; 23 | padding: 0; 24 | font-size: 1rem; 25 | line-height: 1.2; 26 | letter-spacing: 0.02em; 27 | color: #ffffff; 28 | background: black; 29 | } 30 | -------------------------------------------------------------------------------- /src/components/windows10.module.css: -------------------------------------------------------------------------------- 1 | .errorView { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | z-index: 99999; 6 | width: 100%; 7 | height: 100%; 8 | background: rgba(0, 120, 215, 1); 9 | color: #ffffff; 10 | font-family: "Segoe UI", sans-serif; 11 | overflow: hidden; 12 | display: flex; 13 | align-items: center; 14 | justify-content: center; 15 | } 16 | 17 | .errorView .body { 18 | box-sizing: border-box; 19 | padding: 0 4em; 20 | } 21 | 22 | .errorView .heading { 23 | font-size: 8rem; 24 | font-weight: 400; 25 | margin: 0 0 0.4em 0; 26 | padding: 0; 27 | } 28 | .errorView a { 29 | color: inherit; 30 | text-decoration: none; 31 | } 32 | .errorView .body > p { 33 | margin: 0; 34 | padding: 0; 35 | font-size: 1.2rem; 36 | line-height: 1.64; 37 | letter-spacing: 0.02em; 38 | } 39 | .errorView .body .details { 40 | font-size: 0.7rem; 41 | margin: 0; 42 | padding: 0; 43 | } 44 | .errorView .body .details > p { 45 | font-size: 1em; 46 | margin: 1em 0; 47 | padding: 0; 48 | line-height: 1.64; 49 | letter-spacing: 0.02em; 50 | } 51 | -------------------------------------------------------------------------------- /src/components/windows9x.module.css: -------------------------------------------------------------------------------- 1 | .errorViewWindows9x { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | z-index: 99999; 6 | width: 100%; 7 | height: 100%; 8 | 9 | font-family: Fixedsys, "Courier New", "PCMyungjo", Courier, monospace; 10 | background: rgb(0, 0, 170); 11 | color: #ffffff; 12 | font-smooth: never; 13 | -moz-font-smooth: none; 14 | -webkit-font-smoothing: none; 15 | -moz-osx-font-smoothing: grayscale; 16 | display: flex; 17 | align-items: center; 18 | justify-content: center; 19 | } 20 | .errorViewWindows9x .body { 21 | width: 100%; 22 | display: flex; 23 | flex-direction: column; 24 | align-items: flex-start; 25 | justify-content: flex-start; 26 | max-width: 640px; 27 | max-height: 480px; 28 | font-size: 1rem; 29 | padding: 0 3em; 30 | } 31 | .errorViewWindows9x .heading { 32 | display: inline-block; 33 | font-size: 1em; 34 | padding: 0 0.5em; 35 | background: rgb(170, 170, 170); 36 | color: rgb(0, 0, 170); 37 | letter-spacing: -0.01em; 38 | line-height: 1.2; 39 | font-weight: 700; 40 | margin: 0; 41 | place-self: center; 42 | } 43 | .errorViewWindows9x .body > p { 44 | font-weight: 700; 45 | margin: 1em 0 0; 46 | } 47 | -------------------------------------------------------------------------------- /src/example.tsx: -------------------------------------------------------------------------------- 1 | import { createRoot } from "react-dom/client"; 2 | import { ErrorBoundary } from "./components/ErrorBoundary"; 3 | import * as React from "react"; 4 | import { ErrorViewVariants } from "./components/ErrorView"; 5 | const App = () => { 6 | const [variant, setVariant] = React.useState("windows9x"); 7 | return ( 8 | 9 |

React-BlueScreen

10 |
11 | 12 |

Theme

13 | 22 |
23 | ); 24 | }; 25 | const ErrorButton = () => { 26 | const [error, setError] = React.useState(undefined); 27 | React.useEffect(() => { 28 | if (error) { 29 | throw error; 30 | } 31 | }, [error]); 32 | return ( 33 | 40 | ); 41 | }; 42 | window.addEventListener("DOMContentLoaded", () => { 43 | const mountNode = document.getElementById("root"); 44 | if (!mountNode) { 45 | throw new Error("#root element is not found"); 46 | } 47 | const root = createRoot(mountNode); 48 | root.render(); 49 | }); 50 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | export { ErrorBoundary } from "./components/ErrorBoundary"; 2 | -------------------------------------------------------------------------------- /src/interfaces.ts: -------------------------------------------------------------------------------- 1 | export type ErrorState = { 2 | error?: Error; 3 | errorInfo?: React.ErrorInfo; 4 | }; 5 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "esModuleInterop": true, 4 | "forceConsistentCasingInFileNames": true, 5 | "strict": true, 6 | "skipLibCheck": true, 7 | "outDir": "./lib", 8 | "declaration": true, 9 | "declarationMap": true, 10 | "jsx": "react" 11 | }, 12 | "include": ["src/**/*", "types.d.ts"] 13 | } 14 | -------------------------------------------------------------------------------- /types.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.css" { 2 | const value: Record; 3 | export default value; 4 | } 5 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { defineConfig } from "vitest/config"; 3 | 4 | import path from "node:path"; 5 | 6 | export default defineConfig({ 7 | plugins: [], 8 | test: { 9 | globals: true, 10 | }, 11 | build: { 12 | outDir: "lib", 13 | lib: { 14 | entry: path.resolve(__dirname, "src/index.tsx"), 15 | formats: ["es", "cjs"], 16 | name: "react-bluescreen", 17 | fileName: (format) => { 18 | switch (format) { 19 | case "es": 20 | return "index.mjs"; 21 | case "cjs": 22 | return "index.cjs"; 23 | } 24 | return "index.js"; 25 | }, 26 | }, 27 | rollupOptions: { 28 | external: ["react", "react-dom"], 29 | output: { 30 | globals: { 31 | react: "React", 32 | "react-dom": "ReactDOM", 33 | }, 34 | }, 35 | }, 36 | }, 37 | }); 38 | -------------------------------------------------------------------------------- /vite.doc.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import path from "node:path"; 3 | 4 | export default defineConfig({ 5 | base: "", 6 | plugins: [], 7 | build: { 8 | outDir: "docs", 9 | rollupOptions: { 10 | input: { 11 | main: path.resolve(__dirname, "index.html"), 12 | }, 13 | }, 14 | }, 15 | }); 16 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 5 6 | cacheKey: 8 7 | 8 | "@cspotcode/source-map-support@npm:^0.8.0": 9 | version: 0.8.1 10 | resolution: "@cspotcode/source-map-support@npm:0.8.1" 11 | dependencies: 12 | "@jridgewell/trace-mapping": 0.3.9 13 | checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa 14 | languageName: node 15 | linkType: hard 16 | 17 | "@esbuild/linux-loong64@npm:0.14.54": 18 | version: 0.14.54 19 | resolution: "@esbuild/linux-loong64@npm:0.14.54" 20 | conditions: os=linux & cpu=loong64 21 | languageName: node 22 | linkType: hard 23 | 24 | "@gar/promisify@npm:^1.1.3": 25 | version: 1.1.3 26 | resolution: "@gar/promisify@npm:1.1.3" 27 | checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 28 | languageName: node 29 | linkType: hard 30 | 31 | "@jridgewell/resolve-uri@npm:^3.0.3": 32 | version: 3.1.0 33 | resolution: "@jridgewell/resolve-uri@npm:3.1.0" 34 | checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 35 | languageName: node 36 | linkType: hard 37 | 38 | "@jridgewell/sourcemap-codec@npm:^1.4.10": 39 | version: 1.4.14 40 | resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" 41 | checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 42 | languageName: node 43 | linkType: hard 44 | 45 | "@jridgewell/trace-mapping@npm:0.3.9": 46 | version: 0.3.9 47 | resolution: "@jridgewell/trace-mapping@npm:0.3.9" 48 | dependencies: 49 | "@jridgewell/resolve-uri": ^3.0.3 50 | "@jridgewell/sourcemap-codec": ^1.4.10 51 | checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef 52 | languageName: node 53 | linkType: hard 54 | 55 | "@npmcli/fs@npm:^2.1.0": 56 | version: 2.1.0 57 | resolution: "@npmcli/fs@npm:2.1.0" 58 | dependencies: 59 | "@gar/promisify": ^1.1.3 60 | semver: ^7.3.5 61 | checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b 62 | languageName: node 63 | linkType: hard 64 | 65 | "@npmcli/move-file@npm:^2.0.0": 66 | version: 2.0.0 67 | resolution: "@npmcli/move-file@npm:2.0.0" 68 | dependencies: 69 | mkdirp: ^1.0.4 70 | rimraf: ^3.0.2 71 | checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 72 | languageName: node 73 | linkType: hard 74 | 75 | "@tootallnate/once@npm:2": 76 | version: 2.0.0 77 | resolution: "@tootallnate/once@npm:2.0.0" 78 | checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 79 | languageName: node 80 | linkType: hard 81 | 82 | "@tsconfig/node10@npm:^1.0.7": 83 | version: 1.0.8 84 | resolution: "@tsconfig/node10@npm:1.0.8" 85 | checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a 86 | languageName: node 87 | linkType: hard 88 | 89 | "@tsconfig/node12@npm:^1.0.7": 90 | version: 1.0.9 91 | resolution: "@tsconfig/node12@npm:1.0.9" 92 | checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 93 | languageName: node 94 | linkType: hard 95 | 96 | "@tsconfig/node14@npm:^1.0.0": 97 | version: 1.0.1 98 | resolution: "@tsconfig/node14@npm:1.0.1" 99 | checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be 100 | languageName: node 101 | linkType: hard 102 | 103 | "@tsconfig/node16@npm:^1.0.2": 104 | version: 1.0.2 105 | resolution: "@tsconfig/node16@npm:1.0.2" 106 | checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa 107 | languageName: node 108 | linkType: hard 109 | 110 | "@types/chai-subset@npm:^1.3.3": 111 | version: 1.3.3 112 | resolution: "@types/chai-subset@npm:1.3.3" 113 | dependencies: 114 | "@types/chai": "*" 115 | checksum: 4481da7345022995f5a105e6683744f7203d2c3d19cfe88d8e17274d045722948abf55e0adfd97709e0f043dade37a4d4e98cd4c660e2e8a14f23e6ecf79418f 116 | languageName: node 117 | linkType: hard 118 | 119 | "@types/chai@npm:*": 120 | version: 4.3.1 121 | resolution: "@types/chai@npm:4.3.1" 122 | checksum: 2ee246b76c469cd620a7a1876a73bc597074361b67d547b4bd96a0c1adb43597ede2d8589ab626192e14349d83cbb646cc11e2c179eeeb43ff11596de94d82c4 123 | languageName: node 124 | linkType: hard 125 | 126 | "@types/chai@npm:^4.3.3": 127 | version: 4.3.3 128 | resolution: "@types/chai@npm:4.3.3" 129 | checksum: 20cd094753e137cfc35939cae7f0ed78ecda7861e5c94704efab6979b9121a63807e9b631bdcf3a2792d6c6dba44050b13387262f9e63ebb040741c01c345f0a 130 | languageName: node 131 | linkType: hard 132 | 133 | "@types/node@npm:*": 134 | version: 18.7.15 135 | resolution: "@types/node@npm:18.7.15" 136 | checksum: 1435fc7fe44744467a3ba8ace646455be228516530dbb3db64a03cca6abcfdc5ba2e48a3eafc71f25f836d2ca871132361c58a5e760237a53674cb09151147d9 137 | languageName: node 138 | linkType: hard 139 | 140 | "@types/prop-types@npm:*": 141 | version: 15.7.5 142 | resolution: "@types/prop-types@npm:15.7.5" 143 | checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 144 | languageName: node 145 | linkType: hard 146 | 147 | "@types/react-dom@npm:^18.0.6": 148 | version: 18.0.6 149 | resolution: "@types/react-dom@npm:18.0.6" 150 | dependencies: 151 | "@types/react": "*" 152 | checksum: db571047af1a567631758700b9f7d143e566df939cfe5fbf7535347cc0c726a1cdbb5e3f8566d076e54cf708b6c1166689de194a9ba09ee35efc9e1d45911685 153 | languageName: node 154 | linkType: hard 155 | 156 | "@types/react@npm:*": 157 | version: 18.0.5 158 | resolution: "@types/react@npm:18.0.5" 159 | dependencies: 160 | "@types/prop-types": "*" 161 | "@types/scheduler": "*" 162 | csstype: ^3.0.2 163 | checksum: 70d3336d43ef25509fa89ef3278f57fdf1945fc921e69b7890a78ab9a52a55ee38e2f13aa71eb4f6032b7311e7557860ce8836c1acf3028304989571c9736a96 164 | languageName: node 165 | linkType: hard 166 | 167 | "@types/react@npm:^18.0.18": 168 | version: 18.0.18 169 | resolution: "@types/react@npm:18.0.18" 170 | dependencies: 171 | "@types/prop-types": "*" 172 | "@types/scheduler": "*" 173 | csstype: ^3.0.2 174 | checksum: 6d72d35ab3eecf382a5e0f225923f5a2c753045fce02e4e29713f36c99a24f0f770666a49dde96167f37c86271f93339d1b7e2b8969d011b137a9ebd24ee6806 175 | languageName: node 176 | linkType: hard 177 | 178 | "@types/scheduler@npm:*": 179 | version: 0.16.2 180 | resolution: "@types/scheduler@npm:0.16.2" 181 | checksum: b6b4dcfeae6deba2e06a70941860fb1435730576d3689225a421280b7742318d1548b3d22c1f66ab68e414f346a9542f29240bc955b6332c5b11e561077583bc 182 | languageName: node 183 | linkType: hard 184 | 185 | "abbrev@npm:1": 186 | version: 1.1.1 187 | resolution: "abbrev@npm:1.1.1" 188 | checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 189 | languageName: node 190 | linkType: hard 191 | 192 | "acorn-walk@npm:^8.1.1": 193 | version: 8.2.0 194 | resolution: "acorn-walk@npm:8.2.0" 195 | checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 196 | languageName: node 197 | linkType: hard 198 | 199 | "acorn@npm:^8.4.1": 200 | version: 8.7.0 201 | resolution: "acorn@npm:8.7.0" 202 | bin: 203 | acorn: bin/acorn 204 | checksum: e0f79409d68923fbf1aa6d4166f3eedc47955320d25c89a20cc822e6ba7c48c5963d5bc657bc242d68f7a4ac9faf96eef033e8f73656da6c640d4219935fdfd0 205 | languageName: node 206 | linkType: hard 207 | 208 | "acorn@npm:^8.7.1": 209 | version: 8.8.0 210 | resolution: "acorn@npm:8.8.0" 211 | bin: 212 | acorn: bin/acorn 213 | checksum: 7270ca82b242eafe5687a11fea6e088c960af712683756abf0791b68855ea9cace3057bd5e998ffcef50c944810c1e0ca1da526d02b32110e13c722aa959afdc 214 | languageName: node 215 | linkType: hard 216 | 217 | "agent-base@npm:6, agent-base@npm:^6.0.2": 218 | version: 6.0.2 219 | resolution: "agent-base@npm:6.0.2" 220 | dependencies: 221 | debug: 4 222 | checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d 223 | languageName: node 224 | linkType: hard 225 | 226 | "agentkeepalive@npm:^4.2.1": 227 | version: 4.2.1 228 | resolution: "agentkeepalive@npm:4.2.1" 229 | dependencies: 230 | debug: ^4.1.0 231 | depd: ^1.1.2 232 | humanize-ms: ^1.2.1 233 | checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 234 | languageName: node 235 | linkType: hard 236 | 237 | "aggregate-error@npm:^3.0.0": 238 | version: 3.1.0 239 | resolution: "aggregate-error@npm:3.1.0" 240 | dependencies: 241 | clean-stack: ^2.0.0 242 | indent-string: ^4.0.0 243 | checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 244 | languageName: node 245 | linkType: hard 246 | 247 | "ansi-regex@npm:^5.0.1": 248 | version: 5.0.1 249 | resolution: "ansi-regex@npm:5.0.1" 250 | checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b 251 | languageName: node 252 | linkType: hard 253 | 254 | "aproba@npm:^1.0.3 || ^2.0.0": 255 | version: 2.0.0 256 | resolution: "aproba@npm:2.0.0" 257 | checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 258 | languageName: node 259 | linkType: hard 260 | 261 | "are-we-there-yet@npm:^3.0.0": 262 | version: 3.0.0 263 | resolution: "are-we-there-yet@npm:3.0.0" 264 | dependencies: 265 | delegates: ^1.0.0 266 | readable-stream: ^3.6.0 267 | checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 268 | languageName: node 269 | linkType: hard 270 | 271 | "arg@npm:^4.1.0": 272 | version: 4.1.3 273 | resolution: "arg@npm:4.1.3" 274 | checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 275 | languageName: node 276 | linkType: hard 277 | 278 | "assertion-error@npm:^1.1.0": 279 | version: 1.1.0 280 | resolution: "assertion-error@npm:1.1.0" 281 | checksum: fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf 282 | languageName: node 283 | linkType: hard 284 | 285 | "balanced-match@npm:^1.0.0": 286 | version: 1.0.2 287 | resolution: "balanced-match@npm:1.0.2" 288 | checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 289 | languageName: node 290 | linkType: hard 291 | 292 | "brace-expansion@npm:^1.1.7": 293 | version: 1.1.11 294 | resolution: "brace-expansion@npm:1.1.11" 295 | dependencies: 296 | balanced-match: ^1.0.0 297 | concat-map: 0.0.1 298 | checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 299 | languageName: node 300 | linkType: hard 301 | 302 | "cacache@npm:^16.0.2": 303 | version: 16.0.4 304 | resolution: "cacache@npm:16.0.4" 305 | dependencies: 306 | "@npmcli/fs": ^2.1.0 307 | "@npmcli/move-file": ^2.0.0 308 | chownr: ^2.0.0 309 | fs-minipass: ^2.1.0 310 | glob: ^7.2.0 311 | infer-owner: ^1.0.4 312 | lru-cache: ^7.7.1 313 | minipass: ^3.1.6 314 | minipass-collect: ^1.0.2 315 | minipass-flush: ^1.0.5 316 | minipass-pipeline: ^1.2.4 317 | mkdirp: ^1.0.4 318 | p-map: ^4.0.0 319 | promise-inflight: ^1.0.1 320 | rimraf: ^3.0.2 321 | ssri: ^9.0.0 322 | tar: ^6.1.11 323 | unique-filename: ^1.1.1 324 | checksum: f5ddd45e5b1ff5001f9d1fcbc95f1dc210e6b04fbaf92782dd16a514e9a8082efba6eac43dac3d881e2ab5829f5ad857d7deda58cbef235e93d075e8f378214a 325 | languageName: node 326 | linkType: hard 327 | 328 | "chai@npm:^4.3.6": 329 | version: 4.3.6 330 | resolution: "chai@npm:4.3.6" 331 | dependencies: 332 | assertion-error: ^1.1.0 333 | check-error: ^1.0.2 334 | deep-eql: ^3.0.1 335 | get-func-name: ^2.0.0 336 | loupe: ^2.3.1 337 | pathval: ^1.1.1 338 | type-detect: ^4.0.5 339 | checksum: acff93fd537f96d4a4d62dd83810285dffcfccb5089e1bf2a1205b28ec82d93dff551368722893cf85004282df10ee68802737c33c90c5493957ed449ed7ce71 340 | languageName: node 341 | linkType: hard 342 | 343 | "check-error@npm:^1.0.2": 344 | version: 1.0.2 345 | resolution: "check-error@npm:1.0.2" 346 | checksum: d9d106504404b8addd1ee3f63f8c0eaa7cd962a1a28eb9c519b1c4a1dc7098be38007fc0060f045ee00f075fbb7a2a4f42abcf61d68323677e11ab98dc16042e 347 | languageName: node 348 | linkType: hard 349 | 350 | "chownr@npm:^2.0.0": 351 | version: 2.0.0 352 | resolution: "chownr@npm:2.0.0" 353 | checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f 354 | languageName: node 355 | linkType: hard 356 | 357 | "clean-stack@npm:^2.0.0": 358 | version: 2.2.0 359 | resolution: "clean-stack@npm:2.2.0" 360 | checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 361 | languageName: node 362 | linkType: hard 363 | 364 | "color-support@npm:^1.1.3": 365 | version: 1.1.3 366 | resolution: "color-support@npm:1.1.3" 367 | bin: 368 | color-support: bin.js 369 | checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b 370 | languageName: node 371 | linkType: hard 372 | 373 | "concat-map@npm:0.0.1": 374 | version: 0.0.1 375 | resolution: "concat-map@npm:0.0.1" 376 | checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af 377 | languageName: node 378 | linkType: hard 379 | 380 | "console-control-strings@npm:^1.1.0": 381 | version: 1.1.0 382 | resolution: "console-control-strings@npm:1.1.0" 383 | checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed 384 | languageName: node 385 | linkType: hard 386 | 387 | "create-require@npm:^1.1.0": 388 | version: 1.1.1 389 | resolution: "create-require@npm:1.1.1" 390 | checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff 391 | languageName: node 392 | linkType: hard 393 | 394 | "csstype@npm:^3.0.2": 395 | version: 3.0.11 396 | resolution: "csstype@npm:3.0.11" 397 | checksum: 95e56abfe9ca219ae065acb4e43f61771a03170eed919127f558dfa168240867aba7629c8d98a201a0dd06d9a5ce82686f0570031c928516c61816adbc7c877f 398 | languageName: node 399 | linkType: hard 400 | 401 | "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.4": 402 | version: 4.3.4 403 | resolution: "debug@npm:4.3.4" 404 | dependencies: 405 | ms: 2.1.2 406 | peerDependenciesMeta: 407 | supports-color: 408 | optional: true 409 | checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 410 | languageName: node 411 | linkType: hard 412 | 413 | "deep-eql@npm:^3.0.1": 414 | version: 3.0.1 415 | resolution: "deep-eql@npm:3.0.1" 416 | dependencies: 417 | type-detect: ^4.0.0 418 | checksum: 4f4c9fb79eb994fb6e81d4aa8b063adc40c00f831588aa65e20857d5d52f15fb23034a6576ecf886f7ff6222d5ae42e71e9b7d57113e0715b1df7ea1e812b125 419 | languageName: node 420 | linkType: hard 421 | 422 | "delegates@npm:^1.0.0": 423 | version: 1.0.0 424 | resolution: "delegates@npm:1.0.0" 425 | checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd 426 | languageName: node 427 | linkType: hard 428 | 429 | "depd@npm:^1.1.2": 430 | version: 1.1.2 431 | resolution: "depd@npm:1.1.2" 432 | checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 433 | languageName: node 434 | linkType: hard 435 | 436 | "diff@npm:^4.0.1": 437 | version: 4.0.2 438 | resolution: "diff@npm:4.0.2" 439 | checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d 440 | languageName: node 441 | linkType: hard 442 | 443 | "emoji-regex@npm:^8.0.0": 444 | version: 8.0.0 445 | resolution: "emoji-regex@npm:8.0.0" 446 | checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 447 | languageName: node 448 | linkType: hard 449 | 450 | "encoding@npm:^0.1.13": 451 | version: 0.1.13 452 | resolution: "encoding@npm:0.1.13" 453 | dependencies: 454 | iconv-lite: ^0.6.2 455 | checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f 456 | languageName: node 457 | linkType: hard 458 | 459 | "env-paths@npm:^2.2.0": 460 | version: 2.2.1 461 | resolution: "env-paths@npm:2.2.1" 462 | checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e 463 | languageName: node 464 | linkType: hard 465 | 466 | "err-code@npm:^2.0.2": 467 | version: 2.0.3 468 | resolution: "err-code@npm:2.0.3" 469 | checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 470 | languageName: node 471 | linkType: hard 472 | 473 | "esbuild-android-64@npm:0.14.54": 474 | version: 0.14.54 475 | resolution: "esbuild-android-64@npm:0.14.54" 476 | conditions: os=android & cpu=x64 477 | languageName: node 478 | linkType: hard 479 | 480 | "esbuild-android-arm64@npm:0.14.54": 481 | version: 0.14.54 482 | resolution: "esbuild-android-arm64@npm:0.14.54" 483 | conditions: os=android & cpu=arm64 484 | languageName: node 485 | linkType: hard 486 | 487 | "esbuild-darwin-64@npm:0.14.54": 488 | version: 0.14.54 489 | resolution: "esbuild-darwin-64@npm:0.14.54" 490 | conditions: os=darwin & cpu=x64 491 | languageName: node 492 | linkType: hard 493 | 494 | "esbuild-darwin-arm64@npm:0.14.54": 495 | version: 0.14.54 496 | resolution: "esbuild-darwin-arm64@npm:0.14.54" 497 | conditions: os=darwin & cpu=arm64 498 | languageName: node 499 | linkType: hard 500 | 501 | "esbuild-freebsd-64@npm:0.14.54": 502 | version: 0.14.54 503 | resolution: "esbuild-freebsd-64@npm:0.14.54" 504 | conditions: os=freebsd & cpu=x64 505 | languageName: node 506 | linkType: hard 507 | 508 | "esbuild-freebsd-arm64@npm:0.14.54": 509 | version: 0.14.54 510 | resolution: "esbuild-freebsd-arm64@npm:0.14.54" 511 | conditions: os=freebsd & cpu=arm64 512 | languageName: node 513 | linkType: hard 514 | 515 | "esbuild-linux-32@npm:0.14.54": 516 | version: 0.14.54 517 | resolution: "esbuild-linux-32@npm:0.14.54" 518 | conditions: os=linux & cpu=ia32 519 | languageName: node 520 | linkType: hard 521 | 522 | "esbuild-linux-64@npm:0.14.54": 523 | version: 0.14.54 524 | resolution: "esbuild-linux-64@npm:0.14.54" 525 | conditions: os=linux & cpu=x64 526 | languageName: node 527 | linkType: hard 528 | 529 | "esbuild-linux-arm64@npm:0.14.54": 530 | version: 0.14.54 531 | resolution: "esbuild-linux-arm64@npm:0.14.54" 532 | conditions: os=linux & cpu=arm64 533 | languageName: node 534 | linkType: hard 535 | 536 | "esbuild-linux-arm@npm:0.14.54": 537 | version: 0.14.54 538 | resolution: "esbuild-linux-arm@npm:0.14.54" 539 | conditions: os=linux & cpu=arm 540 | languageName: node 541 | linkType: hard 542 | 543 | "esbuild-linux-mips64le@npm:0.14.54": 544 | version: 0.14.54 545 | resolution: "esbuild-linux-mips64le@npm:0.14.54" 546 | conditions: os=linux & cpu=mips64el 547 | languageName: node 548 | linkType: hard 549 | 550 | "esbuild-linux-ppc64le@npm:0.14.54": 551 | version: 0.14.54 552 | resolution: "esbuild-linux-ppc64le@npm:0.14.54" 553 | conditions: os=linux & cpu=ppc64 554 | languageName: node 555 | linkType: hard 556 | 557 | "esbuild-linux-riscv64@npm:0.14.54": 558 | version: 0.14.54 559 | resolution: "esbuild-linux-riscv64@npm:0.14.54" 560 | conditions: os=linux & cpu=riscv64 561 | languageName: node 562 | linkType: hard 563 | 564 | "esbuild-linux-s390x@npm:0.14.54": 565 | version: 0.14.54 566 | resolution: "esbuild-linux-s390x@npm:0.14.54" 567 | conditions: os=linux & cpu=s390x 568 | languageName: node 569 | linkType: hard 570 | 571 | "esbuild-netbsd-64@npm:0.14.54": 572 | version: 0.14.54 573 | resolution: "esbuild-netbsd-64@npm:0.14.54" 574 | conditions: os=netbsd & cpu=x64 575 | languageName: node 576 | linkType: hard 577 | 578 | "esbuild-openbsd-64@npm:0.14.54": 579 | version: 0.14.54 580 | resolution: "esbuild-openbsd-64@npm:0.14.54" 581 | conditions: os=openbsd & cpu=x64 582 | languageName: node 583 | linkType: hard 584 | 585 | "esbuild-sunos-64@npm:0.14.54": 586 | version: 0.14.54 587 | resolution: "esbuild-sunos-64@npm:0.14.54" 588 | conditions: os=sunos & cpu=x64 589 | languageName: node 590 | linkType: hard 591 | 592 | "esbuild-windows-32@npm:0.14.54": 593 | version: 0.14.54 594 | resolution: "esbuild-windows-32@npm:0.14.54" 595 | conditions: os=win32 & cpu=ia32 596 | languageName: node 597 | linkType: hard 598 | 599 | "esbuild-windows-64@npm:0.14.54": 600 | version: 0.14.54 601 | resolution: "esbuild-windows-64@npm:0.14.54" 602 | conditions: os=win32 & cpu=x64 603 | languageName: node 604 | linkType: hard 605 | 606 | "esbuild-windows-arm64@npm:0.14.54": 607 | version: 0.14.54 608 | resolution: "esbuild-windows-arm64@npm:0.14.54" 609 | conditions: os=win32 & cpu=arm64 610 | languageName: node 611 | linkType: hard 612 | 613 | "esbuild@npm:^0.14.47": 614 | version: 0.14.54 615 | resolution: "esbuild@npm:0.14.54" 616 | dependencies: 617 | "@esbuild/linux-loong64": 0.14.54 618 | esbuild-android-64: 0.14.54 619 | esbuild-android-arm64: 0.14.54 620 | esbuild-darwin-64: 0.14.54 621 | esbuild-darwin-arm64: 0.14.54 622 | esbuild-freebsd-64: 0.14.54 623 | esbuild-freebsd-arm64: 0.14.54 624 | esbuild-linux-32: 0.14.54 625 | esbuild-linux-64: 0.14.54 626 | esbuild-linux-arm: 0.14.54 627 | esbuild-linux-arm64: 0.14.54 628 | esbuild-linux-mips64le: 0.14.54 629 | esbuild-linux-ppc64le: 0.14.54 630 | esbuild-linux-riscv64: 0.14.54 631 | esbuild-linux-s390x: 0.14.54 632 | esbuild-netbsd-64: 0.14.54 633 | esbuild-openbsd-64: 0.14.54 634 | esbuild-sunos-64: 0.14.54 635 | esbuild-windows-32: 0.14.54 636 | esbuild-windows-64: 0.14.54 637 | esbuild-windows-arm64: 0.14.54 638 | dependenciesMeta: 639 | "@esbuild/linux-loong64": 640 | optional: true 641 | esbuild-android-64: 642 | optional: true 643 | esbuild-android-arm64: 644 | optional: true 645 | esbuild-darwin-64: 646 | optional: true 647 | esbuild-darwin-arm64: 648 | optional: true 649 | esbuild-freebsd-64: 650 | optional: true 651 | esbuild-freebsd-arm64: 652 | optional: true 653 | esbuild-linux-32: 654 | optional: true 655 | esbuild-linux-64: 656 | optional: true 657 | esbuild-linux-arm: 658 | optional: true 659 | esbuild-linux-arm64: 660 | optional: true 661 | esbuild-linux-mips64le: 662 | optional: true 663 | esbuild-linux-ppc64le: 664 | optional: true 665 | esbuild-linux-riscv64: 666 | optional: true 667 | esbuild-linux-s390x: 668 | optional: true 669 | esbuild-netbsd-64: 670 | optional: true 671 | esbuild-openbsd-64: 672 | optional: true 673 | esbuild-sunos-64: 674 | optional: true 675 | esbuild-windows-32: 676 | optional: true 677 | esbuild-windows-64: 678 | optional: true 679 | esbuild-windows-arm64: 680 | optional: true 681 | bin: 682 | esbuild: bin/esbuild 683 | checksum: 49e360b1185c797f5ca3a7f5f0a75121494d97ddf691f65ed1796e6257d318f928342a97f559bb8eced6a90cf604dd22db4a30e0dbbf15edd9dbf22459b639af 684 | languageName: node 685 | linkType: hard 686 | 687 | "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": 688 | version: 2.1.0 689 | resolution: "fs-minipass@npm:2.1.0" 690 | dependencies: 691 | minipass: ^3.0.0 692 | checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 693 | languageName: node 694 | linkType: hard 695 | 696 | "fs.realpath@npm:^1.0.0": 697 | version: 1.0.0 698 | resolution: "fs.realpath@npm:1.0.0" 699 | checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 700 | languageName: node 701 | linkType: hard 702 | 703 | "fsevents@npm:~2.3.2": 704 | version: 2.3.2 705 | resolution: "fsevents@npm:2.3.2" 706 | dependencies: 707 | node-gyp: latest 708 | checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f 709 | conditions: os=darwin 710 | languageName: node 711 | linkType: hard 712 | 713 | "fsevents@patch:fsevents@~2.3.2#~builtin": 714 | version: 2.3.2 715 | resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" 716 | dependencies: 717 | node-gyp: latest 718 | conditions: os=darwin 719 | languageName: node 720 | linkType: hard 721 | 722 | "function-bind@npm:^1.1.1": 723 | version: 1.1.1 724 | resolution: "function-bind@npm:1.1.1" 725 | checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a 726 | languageName: node 727 | linkType: hard 728 | 729 | "gauge@npm:^4.0.0": 730 | version: 4.0.4 731 | resolution: "gauge@npm:4.0.4" 732 | dependencies: 733 | aproba: ^1.0.3 || ^2.0.0 734 | color-support: ^1.1.3 735 | console-control-strings: ^1.1.0 736 | has-unicode: ^2.0.1 737 | signal-exit: ^3.0.7 738 | string-width: ^4.2.3 739 | strip-ansi: ^6.0.1 740 | wide-align: ^1.1.5 741 | checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d 742 | languageName: node 743 | linkType: hard 744 | 745 | "get-func-name@npm:^2.0.0": 746 | version: 2.0.0 747 | resolution: "get-func-name@npm:2.0.0" 748 | checksum: 8d82e69f3e7fab9e27c547945dfe5cc0c57fc0adf08ce135dddb01081d75684a03e7a0487466f478872b341d52ac763ae49e660d01ab83741f74932085f693c3 749 | languageName: node 750 | linkType: hard 751 | 752 | "glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": 753 | version: 7.2.0 754 | resolution: "glob@npm:7.2.0" 755 | dependencies: 756 | fs.realpath: ^1.0.0 757 | inflight: ^1.0.4 758 | inherits: 2 759 | minimatch: ^3.0.4 760 | once: ^1.3.0 761 | path-is-absolute: ^1.0.0 762 | checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 763 | languageName: node 764 | linkType: hard 765 | 766 | "graceful-fs@npm:^4.2.6": 767 | version: 4.2.10 768 | resolution: "graceful-fs@npm:4.2.10" 769 | checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da 770 | languageName: node 771 | linkType: hard 772 | 773 | "has-unicode@npm:^2.0.1": 774 | version: 2.0.1 775 | resolution: "has-unicode@npm:2.0.1" 776 | checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 777 | languageName: node 778 | linkType: hard 779 | 780 | "has@npm:^1.0.3": 781 | version: 1.0.3 782 | resolution: "has@npm:1.0.3" 783 | dependencies: 784 | function-bind: ^1.1.1 785 | checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 786 | languageName: node 787 | linkType: hard 788 | 789 | "http-cache-semantics@npm:^4.1.0": 790 | version: 4.1.0 791 | resolution: "http-cache-semantics@npm:4.1.0" 792 | checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 793 | languageName: node 794 | linkType: hard 795 | 796 | "http-proxy-agent@npm:^5.0.0": 797 | version: 5.0.0 798 | resolution: "http-proxy-agent@npm:5.0.0" 799 | dependencies: 800 | "@tootallnate/once": 2 801 | agent-base: 6 802 | debug: 4 803 | checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 804 | languageName: node 805 | linkType: hard 806 | 807 | "https-proxy-agent@npm:^5.0.0": 808 | version: 5.0.1 809 | resolution: "https-proxy-agent@npm:5.0.1" 810 | dependencies: 811 | agent-base: 6 812 | debug: 4 813 | checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 814 | languageName: node 815 | linkType: hard 816 | 817 | "humanize-ms@npm:^1.2.1": 818 | version: 1.2.1 819 | resolution: "humanize-ms@npm:1.2.1" 820 | dependencies: 821 | ms: ^2.0.0 822 | checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 823 | languageName: node 824 | linkType: hard 825 | 826 | "iconv-lite@npm:^0.6.2": 827 | version: 0.6.3 828 | resolution: "iconv-lite@npm:0.6.3" 829 | dependencies: 830 | safer-buffer: ">= 2.1.2 < 3.0.0" 831 | checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf 832 | languageName: node 833 | linkType: hard 834 | 835 | "imurmurhash@npm:^0.1.4": 836 | version: 0.1.4 837 | resolution: "imurmurhash@npm:0.1.4" 838 | checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 839 | languageName: node 840 | linkType: hard 841 | 842 | "indent-string@npm:^4.0.0": 843 | version: 4.0.0 844 | resolution: "indent-string@npm:4.0.0" 845 | checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 846 | languageName: node 847 | linkType: hard 848 | 849 | "infer-owner@npm:^1.0.4": 850 | version: 1.0.4 851 | resolution: "infer-owner@npm:1.0.4" 852 | checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 853 | languageName: node 854 | linkType: hard 855 | 856 | "inflight@npm:^1.0.4": 857 | version: 1.0.6 858 | resolution: "inflight@npm:1.0.6" 859 | dependencies: 860 | once: ^1.3.0 861 | wrappy: 1 862 | checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd 863 | languageName: node 864 | linkType: hard 865 | 866 | "inherits@npm:2, inherits@npm:^2.0.3": 867 | version: 2.0.4 868 | resolution: "inherits@npm:2.0.4" 869 | checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 870 | languageName: node 871 | linkType: hard 872 | 873 | "ip@npm:^1.1.5": 874 | version: 1.1.5 875 | resolution: "ip@npm:1.1.5" 876 | checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a 877 | languageName: node 878 | linkType: hard 879 | 880 | "is-core-module@npm:^2.9.0": 881 | version: 2.10.0 882 | resolution: "is-core-module@npm:2.10.0" 883 | dependencies: 884 | has: ^1.0.3 885 | checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 886 | languageName: node 887 | linkType: hard 888 | 889 | "is-fullwidth-code-point@npm:^3.0.0": 890 | version: 3.0.0 891 | resolution: "is-fullwidth-code-point@npm:3.0.0" 892 | checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 893 | languageName: node 894 | linkType: hard 895 | 896 | "is-lambda@npm:^1.0.1": 897 | version: 1.0.1 898 | resolution: "is-lambda@npm:1.0.1" 899 | checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 900 | languageName: node 901 | linkType: hard 902 | 903 | "isexe@npm:^2.0.0": 904 | version: 2.0.0 905 | resolution: "isexe@npm:2.0.0" 906 | checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 907 | languageName: node 908 | linkType: hard 909 | 910 | "js-tokens@npm:^3.0.0 || ^4.0.0": 911 | version: 4.0.0 912 | resolution: "js-tokens@npm:4.0.0" 913 | checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 914 | languageName: node 915 | linkType: hard 916 | 917 | "local-pkg@npm:^0.4.2": 918 | version: 0.4.2 919 | resolution: "local-pkg@npm:0.4.2" 920 | checksum: 22be451353c25c4411b552bf01880ebc9e995b93574b2facc7757968d888356df59199cacada14162ab53bbc9da055bb692c907b4171f008dbce45a2afc777c1 921 | languageName: node 922 | linkType: hard 923 | 924 | "loose-envify@npm:^1.1.0": 925 | version: 1.4.0 926 | resolution: "loose-envify@npm:1.4.0" 927 | dependencies: 928 | js-tokens: ^3.0.0 || ^4.0.0 929 | bin: 930 | loose-envify: cli.js 931 | checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 932 | languageName: node 933 | linkType: hard 934 | 935 | "loupe@npm:^2.3.1": 936 | version: 2.3.4 937 | resolution: "loupe@npm:2.3.4" 938 | dependencies: 939 | get-func-name: ^2.0.0 940 | checksum: 5af91db61aa18530f1749a64735ee194ac263e65e9f4d1562bf3036c591f1baa948289c193e0e34c7b5e2c1b75d3c1dc4fce87f5edb3cee10b0c0df46bc9ffb3 941 | languageName: node 942 | linkType: hard 943 | 944 | "lru-cache@npm:^6.0.0": 945 | version: 6.0.0 946 | resolution: "lru-cache@npm:6.0.0" 947 | dependencies: 948 | yallist: ^4.0.0 949 | checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 950 | languageName: node 951 | linkType: hard 952 | 953 | "lru-cache@npm:^7.7.1": 954 | version: 7.8.1 955 | resolution: "lru-cache@npm:7.8.1" 956 | checksum: 31ea67388c9774300331d70f4affd5a433869bcf0fae5405f967d19d7b447930b713b0566a2e95362c9082034a8b496f3671ccf8f0c061d8e8048412663f9432 957 | languageName: node 958 | linkType: hard 959 | 960 | "make-error@npm:^1.1.1": 961 | version: 1.3.6 962 | resolution: "make-error@npm:1.3.6" 963 | checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 964 | languageName: node 965 | linkType: hard 966 | 967 | "make-fetch-happen@npm:^10.0.3": 968 | version: 10.1.2 969 | resolution: "make-fetch-happen@npm:10.1.2" 970 | dependencies: 971 | agentkeepalive: ^4.2.1 972 | cacache: ^16.0.2 973 | http-cache-semantics: ^4.1.0 974 | http-proxy-agent: ^5.0.0 975 | https-proxy-agent: ^5.0.0 976 | is-lambda: ^1.0.1 977 | lru-cache: ^7.7.1 978 | minipass: ^3.1.6 979 | minipass-collect: ^1.0.2 980 | minipass-fetch: ^2.0.3 981 | minipass-flush: ^1.0.5 982 | minipass-pipeline: ^1.2.4 983 | negotiator: ^0.6.3 984 | promise-retry: ^2.0.1 985 | socks-proxy-agent: ^6.1.1 986 | ssri: ^9.0.0 987 | checksum: 42825d119a7e4f5b1a8e7048a86d328cd36bb1ff875d155ce7079d9a0afdd310c198fb310096af358cfa9ecdf643cecf960380686792457dccb36e17efe89eb0 988 | languageName: node 989 | linkType: hard 990 | 991 | "minimatch@npm:^3.0.4": 992 | version: 3.1.2 993 | resolution: "minimatch@npm:3.1.2" 994 | dependencies: 995 | brace-expansion: ^1.1.7 996 | checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a 997 | languageName: node 998 | linkType: hard 999 | 1000 | "minipass-collect@npm:^1.0.2": 1001 | version: 1.0.2 1002 | resolution: "minipass-collect@npm:1.0.2" 1003 | dependencies: 1004 | minipass: ^3.0.0 1005 | checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 1006 | languageName: node 1007 | linkType: hard 1008 | 1009 | "minipass-fetch@npm:^2.0.3": 1010 | version: 2.1.0 1011 | resolution: "minipass-fetch@npm:2.1.0" 1012 | dependencies: 1013 | encoding: ^0.1.13 1014 | minipass: ^3.1.6 1015 | minipass-sized: ^1.0.3 1016 | minizlib: ^2.1.2 1017 | dependenciesMeta: 1018 | encoding: 1019 | optional: true 1020 | checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f 1021 | languageName: node 1022 | linkType: hard 1023 | 1024 | "minipass-flush@npm:^1.0.5": 1025 | version: 1.0.5 1026 | resolution: "minipass-flush@npm:1.0.5" 1027 | dependencies: 1028 | minipass: ^3.0.0 1029 | checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf 1030 | languageName: node 1031 | linkType: hard 1032 | 1033 | "minipass-pipeline@npm:^1.2.4": 1034 | version: 1.2.4 1035 | resolution: "minipass-pipeline@npm:1.2.4" 1036 | dependencies: 1037 | minipass: ^3.0.0 1038 | checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b 1039 | languageName: node 1040 | linkType: hard 1041 | 1042 | "minipass-sized@npm:^1.0.3": 1043 | version: 1.0.3 1044 | resolution: "minipass-sized@npm:1.0.3" 1045 | dependencies: 1046 | minipass: ^3.0.0 1047 | checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 1048 | languageName: node 1049 | linkType: hard 1050 | 1051 | "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": 1052 | version: 3.1.6 1053 | resolution: "minipass@npm:3.1.6" 1054 | dependencies: 1055 | yallist: ^4.0.0 1056 | checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 1057 | languageName: node 1058 | linkType: hard 1059 | 1060 | "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": 1061 | version: 2.1.2 1062 | resolution: "minizlib@npm:2.1.2" 1063 | dependencies: 1064 | minipass: ^3.0.0 1065 | yallist: ^4.0.0 1066 | checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 1067 | languageName: node 1068 | linkType: hard 1069 | 1070 | "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": 1071 | version: 1.0.4 1072 | resolution: "mkdirp@npm:1.0.4" 1073 | bin: 1074 | mkdirp: bin/cmd.js 1075 | checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f 1076 | languageName: node 1077 | linkType: hard 1078 | 1079 | "ms@npm:2.1.2": 1080 | version: 2.1.2 1081 | resolution: "ms@npm:2.1.2" 1082 | checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f 1083 | languageName: node 1084 | linkType: hard 1085 | 1086 | "ms@npm:^2.0.0": 1087 | version: 2.1.3 1088 | resolution: "ms@npm:2.1.3" 1089 | checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d 1090 | languageName: node 1091 | linkType: hard 1092 | 1093 | "nanoid@npm:^3.3.4": 1094 | version: 3.3.4 1095 | resolution: "nanoid@npm:3.3.4" 1096 | bin: 1097 | nanoid: bin/nanoid.cjs 1098 | checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c 1099 | languageName: node 1100 | linkType: hard 1101 | 1102 | "negotiator@npm:^0.6.3": 1103 | version: 0.6.3 1104 | resolution: "negotiator@npm:0.6.3" 1105 | checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 1106 | languageName: node 1107 | linkType: hard 1108 | 1109 | "node-gyp@npm:latest": 1110 | version: 9.0.0 1111 | resolution: "node-gyp@npm:9.0.0" 1112 | dependencies: 1113 | env-paths: ^2.2.0 1114 | glob: ^7.1.4 1115 | graceful-fs: ^4.2.6 1116 | make-fetch-happen: ^10.0.3 1117 | nopt: ^5.0.0 1118 | npmlog: ^6.0.0 1119 | rimraf: ^3.0.2 1120 | semver: ^7.3.5 1121 | tar: ^6.1.2 1122 | which: ^2.0.2 1123 | bin: 1124 | node-gyp: bin/node-gyp.js 1125 | checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 1126 | languageName: node 1127 | linkType: hard 1128 | 1129 | "nopt@npm:^5.0.0": 1130 | version: 5.0.0 1131 | resolution: "nopt@npm:5.0.0" 1132 | dependencies: 1133 | abbrev: 1 1134 | bin: 1135 | nopt: bin/nopt.js 1136 | checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f 1137 | languageName: node 1138 | linkType: hard 1139 | 1140 | "npmlog@npm:^6.0.0": 1141 | version: 6.0.1 1142 | resolution: "npmlog@npm:6.0.1" 1143 | dependencies: 1144 | are-we-there-yet: ^3.0.0 1145 | console-control-strings: ^1.1.0 1146 | gauge: ^4.0.0 1147 | set-blocking: ^2.0.0 1148 | checksum: f1a4078a73ebc89896a832bbf869f491c32ecb12e0434b9a7499878ce8f29f22e72befe3c53cd8cdc9dbf4b4057297e783ab0b6746a8b067734de6205af4d538 1149 | languageName: node 1150 | linkType: hard 1151 | 1152 | "once@npm:^1.3.0": 1153 | version: 1.4.0 1154 | resolution: "once@npm:1.4.0" 1155 | dependencies: 1156 | wrappy: 1 1157 | checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 1158 | languageName: node 1159 | linkType: hard 1160 | 1161 | "p-map@npm:^4.0.0": 1162 | version: 4.0.0 1163 | resolution: "p-map@npm:4.0.0" 1164 | dependencies: 1165 | aggregate-error: ^3.0.0 1166 | checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c 1167 | languageName: node 1168 | linkType: hard 1169 | 1170 | "path-is-absolute@npm:^1.0.0": 1171 | version: 1.0.1 1172 | resolution: "path-is-absolute@npm:1.0.1" 1173 | checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 1174 | languageName: node 1175 | linkType: hard 1176 | 1177 | "path-parse@npm:^1.0.7": 1178 | version: 1.0.7 1179 | resolution: "path-parse@npm:1.0.7" 1180 | checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a 1181 | languageName: node 1182 | linkType: hard 1183 | 1184 | "pathval@npm:^1.1.1": 1185 | version: 1.1.1 1186 | resolution: "pathval@npm:1.1.1" 1187 | checksum: 090e3147716647fb7fb5b4b8c8e5b55e5d0a6086d085b6cd23f3d3c01fcf0ff56fd3cc22f2f4a033bd2e46ed55d61ed8379e123b42afe7d531a2a5fc8bb556d6 1188 | languageName: node 1189 | linkType: hard 1190 | 1191 | "picocolors@npm:^1.0.0": 1192 | version: 1.0.0 1193 | resolution: "picocolors@npm:1.0.0" 1194 | checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 1195 | languageName: node 1196 | linkType: hard 1197 | 1198 | "postcss@npm:^8.4.16": 1199 | version: 8.4.16 1200 | resolution: "postcss@npm:8.4.16" 1201 | dependencies: 1202 | nanoid: ^3.3.4 1203 | picocolors: ^1.0.0 1204 | source-map-js: ^1.0.2 1205 | checksum: 10eee25efd77868036403858577da0cefaf2e0905feeaba5770d5438ccdddba3d01cba8063e96b8aac4c6daa0ed413dd5ae0554a433a3c4db38df1d134cffc1f 1206 | languageName: node 1207 | linkType: hard 1208 | 1209 | "promise-inflight@npm:^1.0.1": 1210 | version: 1.0.1 1211 | resolution: "promise-inflight@npm:1.0.1" 1212 | checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 1213 | languageName: node 1214 | linkType: hard 1215 | 1216 | "promise-retry@npm:^2.0.1": 1217 | version: 2.0.1 1218 | resolution: "promise-retry@npm:2.0.1" 1219 | dependencies: 1220 | err-code: ^2.0.2 1221 | retry: ^0.12.0 1222 | checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 1223 | languageName: node 1224 | linkType: hard 1225 | 1226 | "react-bluescreen@workspace:.": 1227 | version: 0.0.0-use.local 1228 | resolution: "react-bluescreen@workspace:." 1229 | dependencies: 1230 | "@types/react": ^18.0.18 1231 | "@types/react-dom": ^18.0.6 1232 | react: ^18.2.0 1233 | react-dom: ^18.2.0 1234 | ts-node: ^10.9.1 1235 | tsc: ^2.0.4 1236 | typescript: ^4.8.2 1237 | vite: ^3.0.9 1238 | vitest: ^0.23.1 1239 | peerDependencies: 1240 | react: ^16 || ^17 || ^18 1241 | react-dom: ^16 || ^17 || ^18 1242 | languageName: unknown 1243 | linkType: soft 1244 | 1245 | "react-dom@npm:^18.2.0": 1246 | version: 18.2.0 1247 | resolution: "react-dom@npm:18.2.0" 1248 | dependencies: 1249 | loose-envify: ^1.1.0 1250 | scheduler: ^0.23.0 1251 | peerDependencies: 1252 | react: ^18.2.0 1253 | checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc 1254 | languageName: node 1255 | linkType: hard 1256 | 1257 | "react@npm:^18.2.0": 1258 | version: 18.2.0 1259 | resolution: "react@npm:18.2.0" 1260 | dependencies: 1261 | loose-envify: ^1.1.0 1262 | checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b 1263 | languageName: node 1264 | linkType: hard 1265 | 1266 | "readable-stream@npm:^3.6.0": 1267 | version: 3.6.0 1268 | resolution: "readable-stream@npm:3.6.0" 1269 | dependencies: 1270 | inherits: ^2.0.3 1271 | string_decoder: ^1.1.1 1272 | util-deprecate: ^1.0.1 1273 | checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 1274 | languageName: node 1275 | linkType: hard 1276 | 1277 | "resolve@npm:^1.22.1": 1278 | version: 1.22.1 1279 | resolution: "resolve@npm:1.22.1" 1280 | dependencies: 1281 | is-core-module: ^2.9.0 1282 | path-parse: ^1.0.7 1283 | supports-preserve-symlinks-flag: ^1.0.0 1284 | bin: 1285 | resolve: bin/resolve 1286 | checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e 1287 | languageName: node 1288 | linkType: hard 1289 | 1290 | "resolve@patch:resolve@^1.22.1#~builtin": 1291 | version: 1.22.1 1292 | resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" 1293 | dependencies: 1294 | is-core-module: ^2.9.0 1295 | path-parse: ^1.0.7 1296 | supports-preserve-symlinks-flag: ^1.0.0 1297 | bin: 1298 | resolve: bin/resolve 1299 | checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b 1300 | languageName: node 1301 | linkType: hard 1302 | 1303 | "retry@npm:^0.12.0": 1304 | version: 0.12.0 1305 | resolution: "retry@npm:0.12.0" 1306 | checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c 1307 | languageName: node 1308 | linkType: hard 1309 | 1310 | "rimraf@npm:^3.0.2": 1311 | version: 3.0.2 1312 | resolution: "rimraf@npm:3.0.2" 1313 | dependencies: 1314 | glob: ^7.1.3 1315 | bin: 1316 | rimraf: bin.js 1317 | checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 1318 | languageName: node 1319 | linkType: hard 1320 | 1321 | "rollup@npm:>=2.75.6 <2.77.0 || ~2.77.0": 1322 | version: 2.77.3 1323 | resolution: "rollup@npm:2.77.3" 1324 | dependencies: 1325 | fsevents: ~2.3.2 1326 | dependenciesMeta: 1327 | fsevents: 1328 | optional: true 1329 | bin: 1330 | rollup: dist/bin/rollup 1331 | checksum: b179c68249584565ddb5664a241e8e48c293b2207718d885b08ee25797d98857a383f06b544bb89819407da5a71557f4713309a278f61c4778bb32b1d3321a1c 1332 | languageName: node 1333 | linkType: hard 1334 | 1335 | "safe-buffer@npm:~5.2.0": 1336 | version: 5.2.1 1337 | resolution: "safe-buffer@npm:5.2.1" 1338 | checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 1339 | languageName: node 1340 | linkType: hard 1341 | 1342 | "safer-buffer@npm:>= 2.1.2 < 3.0.0": 1343 | version: 2.1.2 1344 | resolution: "safer-buffer@npm:2.1.2" 1345 | checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 1346 | languageName: node 1347 | linkType: hard 1348 | 1349 | "scheduler@npm:^0.23.0": 1350 | version: 0.23.0 1351 | resolution: "scheduler@npm:0.23.0" 1352 | dependencies: 1353 | loose-envify: ^1.1.0 1354 | checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a 1355 | languageName: node 1356 | linkType: hard 1357 | 1358 | "semver@npm:^7.3.5": 1359 | version: 7.3.7 1360 | resolution: "semver@npm:7.3.7" 1361 | dependencies: 1362 | lru-cache: ^6.0.0 1363 | bin: 1364 | semver: bin/semver.js 1365 | checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 1366 | languageName: node 1367 | linkType: hard 1368 | 1369 | "set-blocking@npm:^2.0.0": 1370 | version: 2.0.0 1371 | resolution: "set-blocking@npm:2.0.0" 1372 | checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 1373 | languageName: node 1374 | linkType: hard 1375 | 1376 | "signal-exit@npm:^3.0.7": 1377 | version: 3.0.7 1378 | resolution: "signal-exit@npm:3.0.7" 1379 | checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 1380 | languageName: node 1381 | linkType: hard 1382 | 1383 | "smart-buffer@npm:^4.2.0": 1384 | version: 4.2.0 1385 | resolution: "smart-buffer@npm:4.2.0" 1386 | checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b 1387 | languageName: node 1388 | linkType: hard 1389 | 1390 | "socks-proxy-agent@npm:^6.1.1": 1391 | version: 6.1.1 1392 | resolution: "socks-proxy-agent@npm:6.1.1" 1393 | dependencies: 1394 | agent-base: ^6.0.2 1395 | debug: ^4.3.1 1396 | socks: ^2.6.1 1397 | checksum: 9a8a4f791bba0060315cf7291ca6f9db37d6fc280fd0860d73d8887d3efe4c22e823aa25a8d5375f6079279f8dc91b50c075345179bf832bfe3c7c26d3582e3c 1398 | languageName: node 1399 | linkType: hard 1400 | 1401 | "socks@npm:^2.6.1": 1402 | version: 2.6.2 1403 | resolution: "socks@npm:2.6.2" 1404 | dependencies: 1405 | ip: ^1.1.5 1406 | smart-buffer: ^4.2.0 1407 | checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e 1408 | languageName: node 1409 | linkType: hard 1410 | 1411 | "source-map-js@npm:^1.0.2": 1412 | version: 1.0.2 1413 | resolution: "source-map-js@npm:1.0.2" 1414 | checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c 1415 | languageName: node 1416 | linkType: hard 1417 | 1418 | "ssri@npm:^9.0.0": 1419 | version: 9.0.0 1420 | resolution: "ssri@npm:9.0.0" 1421 | dependencies: 1422 | minipass: ^3.1.1 1423 | checksum: bf33174232d07cc64e77ab1c51b55d28352273380c503d35642a19627e88a2c5f160039bb0a28608a353485075dda084dbf0390c7070f9f284559eb71d01b84b 1424 | languageName: node 1425 | linkType: hard 1426 | 1427 | "string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": 1428 | version: 4.2.3 1429 | resolution: "string-width@npm:4.2.3" 1430 | dependencies: 1431 | emoji-regex: ^8.0.0 1432 | is-fullwidth-code-point: ^3.0.0 1433 | strip-ansi: ^6.0.1 1434 | checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb 1435 | languageName: node 1436 | linkType: hard 1437 | 1438 | "string_decoder@npm:^1.1.1": 1439 | version: 1.3.0 1440 | resolution: "string_decoder@npm:1.3.0" 1441 | dependencies: 1442 | safe-buffer: ~5.2.0 1443 | checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 1444 | languageName: node 1445 | linkType: hard 1446 | 1447 | "strip-ansi@npm:^6.0.1": 1448 | version: 6.0.1 1449 | resolution: "strip-ansi@npm:6.0.1" 1450 | dependencies: 1451 | ansi-regex: ^5.0.1 1452 | checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c 1453 | languageName: node 1454 | linkType: hard 1455 | 1456 | "strip-literal@npm:^0.4.0": 1457 | version: 0.4.0 1458 | resolution: "strip-literal@npm:0.4.0" 1459 | dependencies: 1460 | acorn: ^8.7.1 1461 | checksum: f764939203f24bc948dd22319de780e50b6ffa1a20915207090ddc851475a8ed7d99c94c446b75686e2f9f7fcb343dc99bc721a43ae2857f7848e79fc73b8200 1462 | languageName: node 1463 | linkType: hard 1464 | 1465 | "supports-preserve-symlinks-flag@npm:^1.0.0": 1466 | version: 1.0.0 1467 | resolution: "supports-preserve-symlinks-flag@npm:1.0.0" 1468 | checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae 1469 | languageName: node 1470 | linkType: hard 1471 | 1472 | "tar@npm:^6.1.11, tar@npm:^6.1.2": 1473 | version: 6.1.11 1474 | resolution: "tar@npm:6.1.11" 1475 | dependencies: 1476 | chownr: ^2.0.0 1477 | fs-minipass: ^2.0.0 1478 | minipass: ^3.0.0 1479 | minizlib: ^2.1.1 1480 | mkdirp: ^1.0.3 1481 | yallist: ^4.0.0 1482 | checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f 1483 | languageName: node 1484 | linkType: hard 1485 | 1486 | "tinybench@npm:^2.1.3": 1487 | version: 2.1.4 1488 | resolution: "tinybench@npm:2.1.4" 1489 | checksum: 36b32b494afb379e4cd3fa1c040ca429ac8c1c064770801c9c4c6313053a1314946eb02028d62ab7d2c8f5dd743f9447c739b56516cdb9914d12c5f1021e8d41 1490 | languageName: node 1491 | linkType: hard 1492 | 1493 | "tinypool@npm:^0.2.4": 1494 | version: 0.2.4 1495 | resolution: "tinypool@npm:0.2.4" 1496 | checksum: f050bd36c89529a2a0d3f9c1fdbba3f317114e3ee6eb5d5ba72c51e887d45ef3ef8d8533fb2ca2eba7189d19d2231712b81b3a75e099248532f5563369929c33 1497 | languageName: node 1498 | linkType: hard 1499 | 1500 | "tinyspy@npm:^1.0.2": 1501 | version: 1.0.2 1502 | resolution: "tinyspy@npm:1.0.2" 1503 | checksum: 32096121aa8d52bb625ad62c9314b3e4daba4ab9ac428217b12b1e1dfe9860e3c94d54a7affa279cc70dc6f10d88c6ba46b51de68896b318a06d02f05e87dcc3 1504 | languageName: node 1505 | linkType: hard 1506 | 1507 | "ts-node@npm:^10.9.1": 1508 | version: 10.9.1 1509 | resolution: "ts-node@npm:10.9.1" 1510 | dependencies: 1511 | "@cspotcode/source-map-support": ^0.8.0 1512 | "@tsconfig/node10": ^1.0.7 1513 | "@tsconfig/node12": ^1.0.7 1514 | "@tsconfig/node14": ^1.0.0 1515 | "@tsconfig/node16": ^1.0.2 1516 | acorn: ^8.4.1 1517 | acorn-walk: ^8.1.1 1518 | arg: ^4.1.0 1519 | create-require: ^1.1.0 1520 | diff: ^4.0.1 1521 | make-error: ^1.1.1 1522 | v8-compile-cache-lib: ^3.0.1 1523 | yn: 3.1.1 1524 | peerDependencies: 1525 | "@swc/core": ">=1.2.50" 1526 | "@swc/wasm": ">=1.2.50" 1527 | "@types/node": "*" 1528 | typescript: ">=2.7" 1529 | peerDependenciesMeta: 1530 | "@swc/core": 1531 | optional: true 1532 | "@swc/wasm": 1533 | optional: true 1534 | bin: 1535 | ts-node: dist/bin.js 1536 | ts-node-cwd: dist/bin-cwd.js 1537 | ts-node-esm: dist/bin-esm.js 1538 | ts-node-script: dist/bin-script.js 1539 | ts-node-transpile-only: dist/bin-transpile.js 1540 | ts-script: dist/bin-script-deprecated.js 1541 | checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 1542 | languageName: node 1543 | linkType: hard 1544 | 1545 | "tsc@npm:^2.0.4": 1546 | version: 2.0.4 1547 | resolution: "tsc@npm:2.0.4" 1548 | bin: 1549 | tsc: bin/tsc 1550 | checksum: 50b10240887424c66454687f0fca4e319713b35cb44f0dab228719eb4dd757251f83c3d79e60d29dfbe90c2d6f1272f793b83e75a9fca2c622b4213ad3eb8cb1 1551 | languageName: node 1552 | linkType: hard 1553 | 1554 | "type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": 1555 | version: 4.0.8 1556 | resolution: "type-detect@npm:4.0.8" 1557 | checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 1558 | languageName: node 1559 | linkType: hard 1560 | 1561 | "typescript@npm:^4.8.2": 1562 | version: 4.8.2 1563 | resolution: "typescript@npm:4.8.2" 1564 | bin: 1565 | tsc: bin/tsc 1566 | tsserver: bin/tsserver 1567 | checksum: 7f5b81d0d558c9067f952c7af52ab7f19c2e70a916817929e4a5b256c93990bf3178eccb1ac8a850bc75df35f6781b6f4cb3370ce20d8b1ded92ed462348f628 1568 | languageName: node 1569 | linkType: hard 1570 | 1571 | "typescript@patch:typescript@^4.8.2#~builtin": 1572 | version: 4.8.2 1573 | resolution: "typescript@patch:typescript@npm%3A4.8.2#~builtin::version=4.8.2&hash=ddd1e8" 1574 | bin: 1575 | tsc: bin/tsc 1576 | tsserver: bin/tsserver 1577 | checksum: 6f49363af8af2fe480da1d5fa68712644438785208b06690a3cbe5e7365fd652c3a0f1e587bc8684d78fb69de3dde4de185c0bad7bb4f3664ddfc813ce8caad6 1578 | languageName: node 1579 | linkType: hard 1580 | 1581 | "unique-filename@npm:^1.1.1": 1582 | version: 1.1.1 1583 | resolution: "unique-filename@npm:1.1.1" 1584 | dependencies: 1585 | unique-slug: ^2.0.0 1586 | checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 1587 | languageName: node 1588 | linkType: hard 1589 | 1590 | "unique-slug@npm:^2.0.0": 1591 | version: 2.0.2 1592 | resolution: "unique-slug@npm:2.0.2" 1593 | dependencies: 1594 | imurmurhash: ^0.1.4 1595 | checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a 1596 | languageName: node 1597 | linkType: hard 1598 | 1599 | "util-deprecate@npm:^1.0.1": 1600 | version: 1.0.2 1601 | resolution: "util-deprecate@npm:1.0.2" 1602 | checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 1603 | languageName: node 1604 | linkType: hard 1605 | 1606 | "v8-compile-cache-lib@npm:^3.0.1": 1607 | version: 3.0.1 1608 | resolution: "v8-compile-cache-lib@npm:3.0.1" 1609 | checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 1610 | languageName: node 1611 | linkType: hard 1612 | 1613 | "vite@npm:^2.9.12 || ^3.0.0-0, vite@npm:^3.0.9": 1614 | version: 3.0.9 1615 | resolution: "vite@npm:3.0.9" 1616 | dependencies: 1617 | esbuild: ^0.14.47 1618 | fsevents: ~2.3.2 1619 | postcss: ^8.4.16 1620 | resolve: ^1.22.1 1621 | rollup: ">=2.75.6 <2.77.0 || ~2.77.0" 1622 | peerDependencies: 1623 | less: "*" 1624 | sass: "*" 1625 | stylus: "*" 1626 | terser: ^5.4.0 1627 | dependenciesMeta: 1628 | fsevents: 1629 | optional: true 1630 | peerDependenciesMeta: 1631 | less: 1632 | optional: true 1633 | sass: 1634 | optional: true 1635 | stylus: 1636 | optional: true 1637 | terser: 1638 | optional: true 1639 | bin: 1640 | vite: bin/vite.js 1641 | checksum: 6341aa43579ae45f8a383bdc0c5041dea3dff98f14e0a546d6d884a864134b00082246a28d1de8adff0ce0dd92b468c7ade8f972ffe1ed97258671d63e0f16f7 1642 | languageName: node 1643 | linkType: hard 1644 | 1645 | "vitest@npm:^0.23.1": 1646 | version: 0.23.1 1647 | resolution: "vitest@npm:0.23.1" 1648 | dependencies: 1649 | "@types/chai": ^4.3.3 1650 | "@types/chai-subset": ^1.3.3 1651 | "@types/node": "*" 1652 | chai: ^4.3.6 1653 | debug: ^4.3.4 1654 | local-pkg: ^0.4.2 1655 | strip-literal: ^0.4.0 1656 | tinybench: ^2.1.3 1657 | tinypool: ^0.2.4 1658 | tinyspy: ^1.0.2 1659 | vite: ^2.9.12 || ^3.0.0-0 1660 | peerDependencies: 1661 | "@edge-runtime/vm": "*" 1662 | "@vitest/browser": "*" 1663 | "@vitest/ui": "*" 1664 | happy-dom: "*" 1665 | jsdom: "*" 1666 | peerDependenciesMeta: 1667 | "@edge-runtime/vm": 1668 | optional: true 1669 | "@vitest/browser": 1670 | optional: true 1671 | "@vitest/ui": 1672 | optional: true 1673 | happy-dom: 1674 | optional: true 1675 | jsdom: 1676 | optional: true 1677 | bin: 1678 | vitest: vitest.mjs 1679 | checksum: 26ca78dc0979c435f2b2f265fc94d13d4e2da5e72680812471cd0b802e5727784c1c05b7dff945bb6638da0ae50ada06dfea5c28cec318575cad95d8a769c131 1680 | languageName: node 1681 | linkType: hard 1682 | 1683 | "which@npm:^2.0.2": 1684 | version: 2.0.2 1685 | resolution: "which@npm:2.0.2" 1686 | dependencies: 1687 | isexe: ^2.0.0 1688 | bin: 1689 | node-which: ./bin/node-which 1690 | checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 1691 | languageName: node 1692 | linkType: hard 1693 | 1694 | "wide-align@npm:^1.1.5": 1695 | version: 1.1.5 1696 | resolution: "wide-align@npm:1.1.5" 1697 | dependencies: 1698 | string-width: ^1.0.2 || 2 || 3 || 4 1699 | checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 1700 | languageName: node 1701 | linkType: hard 1702 | 1703 | "wrappy@npm:1": 1704 | version: 1.0.2 1705 | resolution: "wrappy@npm:1.0.2" 1706 | checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 1707 | languageName: node 1708 | linkType: hard 1709 | 1710 | "yallist@npm:^4.0.0": 1711 | version: 4.0.0 1712 | resolution: "yallist@npm:4.0.0" 1713 | checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 1714 | languageName: node 1715 | linkType: hard 1716 | 1717 | "yn@npm:3.1.1": 1718 | version: 3.1.1 1719 | resolution: "yn@npm:3.1.1" 1720 | checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 1721 | languageName: node 1722 | linkType: hard 1723 | --------------------------------------------------------------------------------