cleanup: wip 4
This commit is contained in:
parent
643f73c752
commit
e7b4111d2b
|
|
@ -41,7 +41,6 @@ class UserMenuComposer
|
|||
['label' => trans('general.admin-panel'), 'link' => route('admin.view')],
|
||||
['label' => trans('general.user-manage'), 'link' => route('admin.users.view')],
|
||||
['label' => trans('general.report-manage'), 'link' => route('admin.reports.view')],
|
||||
['label' => 'Web CLI', 'link' => '#launch-cli'],
|
||||
);
|
||||
}
|
||||
$menuItems = $this->filter->apply('user_menu', $menuItems, [$user]);
|
||||
|
|
|
|||
20
package.json
20
package.json
|
|
@ -69,18 +69,14 @@
|
|||
"kleur": "^4.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.0.0",
|
||||
"@emotion/react": "^11.11.4",
|
||||
"@emotion/styled": "^11.0.0",
|
||||
"@fortawesome/fontawesome-free": "^6.3.0",
|
||||
"@tweenjs/tween.js": "^23.1.1",
|
||||
"admin-lte": "^3.2.0",
|
||||
"blessing-skin-shell": "^0.3.4",
|
||||
"bootstrap": "^5.3.3",
|
||||
"cac": "6.7.14",
|
||||
"cli-spinners": "^2.5.0",
|
||||
"clsx": "^2.1.0",
|
||||
"echarts": "^5.5.0",
|
||||
"events": "^3.2.0",
|
||||
"immer": "^10.0.3",
|
||||
"jquery": "^3.6.0",
|
||||
"lodash-es": "^4.0.8",
|
||||
|
|
@ -97,9 +93,7 @@
|
|||
"skinview-utils": "^0.7.1",
|
||||
"skinview3d": "^3.0.0-alpha.1",
|
||||
"spectre.css": "^0.5.8",
|
||||
"use-immer": "^0.9.0",
|
||||
"xterm": "^5.3.0",
|
||||
"xterm-addon-fit": "^0.8.0"
|
||||
"use-immer": "^0.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/jest-dom": "^6.4.2",
|
||||
|
|
@ -110,22 +104,22 @@
|
|||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/lodash-es": "^4.0.6",
|
||||
"@types/prompts": "^2.0.9",
|
||||
"@types/react": "^18.2.57",
|
||||
"@types/react": "^18.2.62",
|
||||
"@types/react-autosuggest": "^10.1.11",
|
||||
"@types/react-dom": "^18.2.19",
|
||||
"@types/tween.js": "^18.5.0",
|
||||
"@vitejs/plugin-react-swc": "^3.6.0",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"autoprefixer": "^10.4.18",
|
||||
"browserslist": "^4.23.0",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"eslint-config-xo-react": "^0.27.0",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react": "^7.34.0",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"laravel-vite-plugin": "^1.0.1",
|
||||
"laravel-vite-plugin": "^1.0.2",
|
||||
"postcss": "^8.4.35",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.1.4",
|
||||
"vite": "^5.1.5",
|
||||
"vite-plugin-top-level-await": "^1.4.1",
|
||||
"vite-plugin-wasm": "^3.3.0",
|
||||
"vitest": "^1.3.1",
|
||||
|
|
|
|||
|
|
@ -9,12 +9,6 @@ import routes from './scripts/route';
|
|||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
Object.assign(window, {React, ReactDOM, $});
|
||||
|
||||
const entry = document.querySelector('[href="#launch-cli"]');
|
||||
entry?.addEventListener('click', async () => {
|
||||
const {launch} = await import('./scripts/cli');
|
||||
launch();
|
||||
});
|
||||
|
||||
const route = routes.find(route =>
|
||||
new RegExp(`^${route.path}$`, 'i').test(blessing.route),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,141 +0,0 @@
|
|||
import {useEffect, useRef} from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import styled from '@emotion/styled';
|
||||
import {Terminal} from 'xterm';
|
||||
import {FitAddon} from 'xterm-addon-fit';
|
||||
import {Shell, type Stdio} from 'blessing-skin-shell';
|
||||
import 'xterm/css/xterm.css';
|
||||
import Draggable from 'react-draggable';
|
||||
import * as event from './event';
|
||||
import AptCommand from './cli/AptCommand';
|
||||
import ClosetCommand from './cli/ClosetCommand';
|
||||
import DnfCommand from './cli/DnfCommand';
|
||||
import PacmanCommand from './cli/PacmanCommand';
|
||||
import RmCommand from './cli/RmCommand';
|
||||
import * as breakpoints from '@/styles/breakpoints';
|
||||
|
||||
let launched = false;
|
||||
|
||||
const TerminalContainer = styled.div`
|
||||
z-index: 1040;
|
||||
position: fixed;
|
||||
bottom: 7vh;
|
||||
user-select: none;
|
||||
|
||||
.card-body {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
${breakpoints.greaterThan(breakpoints.Breakpoint.xl)} {
|
||||
left: 25vw;
|
||||
width: 50vw;
|
||||
height: 50vh;
|
||||
}
|
||||
|
||||
${breakpoints.between(breakpoints.Breakpoint.md, breakpoints.Breakpoint.xl)} {
|
||||
left: 5vw;
|
||||
width: 90vw;
|
||||
height: 40vh;
|
||||
}
|
||||
|
||||
${breakpoints.lessThan(breakpoints.Breakpoint.md)} {
|
||||
left: 1vw;
|
||||
width: 98vw;
|
||||
height: 35vh;
|
||||
}
|
||||
`;
|
||||
|
||||
const TerminalWindow: React.FC<{onClose(): void}> = properties => {
|
||||
const mount = useRef<HTMLDivElement>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const element = mount.current;
|
||||
if (!element) {
|
||||
return;
|
||||
}
|
||||
|
||||
const terminal = new Terminal();
|
||||
const fitAddon = new FitAddon();
|
||||
terminal.loadAddon(fitAddon);
|
||||
terminal.options.fontFamily = 'Monaco, Consolas, "Roboto Mono", "Noto Sans", "Droid Sans Mono"';
|
||||
terminal.open(element);
|
||||
fitAddon.fit();
|
||||
|
||||
const programs = new Map<string, (stdio: Stdio, arguments_: string[]) => void>();
|
||||
programs.set('apt', AptCommand);
|
||||
programs.set('closet', ClosetCommand);
|
||||
programs.set('dnf', DnfCommand);
|
||||
programs.set('pacman', PacmanCommand);
|
||||
programs.set('rm', RmCommand);
|
||||
event.emit('registerCLIPrograms', programs);
|
||||
|
||||
const shell = new Shell(terminal);
|
||||
for (const [name, program] of programs.entries()) {
|
||||
shell.addExternal(name, program);
|
||||
}
|
||||
|
||||
const originalLogger = console.log;
|
||||
console.log = (data: string, ...arguments_: any[]) => {
|
||||
const {stack} = new Error();
|
||||
if (stack?.includes('outputHelp')) {
|
||||
terminal.writeln(data.replaceAll('\n', '\r\n'));
|
||||
} else {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
||||
originalLogger(data, ...arguments_);
|
||||
}
|
||||
};
|
||||
|
||||
const unbindData = terminal.onData(e => {
|
||||
shell.input(e);
|
||||
});
|
||||
const unbindKey = terminal.onKey(e => {
|
||||
event.emit('terminalKeyPress', e.key);
|
||||
},
|
||||
);
|
||||
launched = true;
|
||||
|
||||
return () => {
|
||||
unbindData.dispose();
|
||||
unbindKey.dispose();
|
||||
shell.free();
|
||||
fitAddon.dispose();
|
||||
terminal.dispose();
|
||||
console.log = originalLogger;
|
||||
launched = false;
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Draggable handle='.card-header'>
|
||||
<TerminalContainer className='card'>
|
||||
<div className='card-header'>
|
||||
<div className='d-flex justify-content-between'>
|
||||
<h4 className='card-title d-flex align-items-center'>
|
||||
Blessing Skin Shell
|
||||
</h4>
|
||||
<button className='btn btn-default' onClick={properties.onClose}>
|
||||
×
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div ref={mount} className='card-body p-2'/>
|
||||
</TerminalContainer>
|
||||
</Draggable>
|
||||
);
|
||||
};
|
||||
|
||||
export function launch() {
|
||||
if (launched) {
|
||||
return;
|
||||
}
|
||||
|
||||
const container = document.createElement('div');
|
||||
document.body.append(container);
|
||||
|
||||
const handleClose = () => {
|
||||
ReactDOM.unmountComponentAtNode(container);
|
||||
container.remove();
|
||||
};
|
||||
|
||||
ReactDOM.render(<TerminalWindow onClose={handleClose}/>, container);
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
rules:
|
||||
'@typescript-eslint/no-empty-function': off
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import cac from 'cac';
|
||||
import {install, remove} from './pluginManager';
|
||||
|
||||
export default async function apt(stdio: Stdio, arguments_: string[]) {
|
||||
const program = cac('apt');
|
||||
program.help();
|
||||
|
||||
program
|
||||
.command('install <plugin>', 'install a new plugin')
|
||||
.action(async (plugin: string) => install(plugin, stdio));
|
||||
|
||||
program
|
||||
.command('upgrade <plugin>', 'upgrade an existed plugin')
|
||||
.action(async (plugin: string) => install(plugin, stdio));
|
||||
|
||||
program
|
||||
.command('remove <plugin>', 'remove a plugin')
|
||||
.action(async (plugin: string) => remove(plugin, stdio));
|
||||
|
||||
program.parse(['', ''].concat(arguments_), {run: false});
|
||||
await program.runMatchedCommand();
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import cac from 'cac';
|
||||
import * as fetch from '../net';
|
||||
import type {User, Texture} from '../types';
|
||||
|
||||
type Response = fetch.ResponseBody<{user: User; texture: Texture}>;
|
||||
|
||||
export default async function closet(stdio: Stdio, arguments_: string[]) {
|
||||
const program = cac('closet');
|
||||
program.help();
|
||||
|
||||
program
|
||||
.command('add <uid> <tid>', 'add texture to someone\'s closet')
|
||||
.action(async (uid: string, tid: string) => {
|
||||
const {code, data} = await fetch.post<Response>(
|
||||
`/admin/closet/${uid}`,
|
||||
{tid},
|
||||
);
|
||||
if (code === 0) {
|
||||
const {texture, user} = data;
|
||||
stdio.println(
|
||||
`Texture "${texture.name}" was added to user ${user.nickname}'s closet.`,
|
||||
);
|
||||
} else {
|
||||
stdio.println('Error occurred.');
|
||||
}
|
||||
});
|
||||
program
|
||||
.command('remove <uid> <tid>', 'remove texture from someone\'s closet')
|
||||
.action(async (uid: string, tid: string) => {
|
||||
const {code, data} = await fetch.del<Response>(`/admin/closet/${uid}`, {
|
||||
tid,
|
||||
});
|
||||
if (code === 0) {
|
||||
const {texture, user} = data;
|
||||
stdio.println(
|
||||
`Texture "${texture.name}" was removed from user ${user.nickname}'s closet.`,
|
||||
);
|
||||
} else {
|
||||
stdio.println('Error occurred.');
|
||||
}
|
||||
});
|
||||
|
||||
program.parse(['', ''].concat(arguments_), {run: false});
|
||||
await program.runMatchedCommand();
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import cac from 'cac';
|
||||
import {install, remove} from './pluginManager';
|
||||
|
||||
export default async function dnf(stdio: Stdio, arguments_: string[]) {
|
||||
const program = cac('dnf');
|
||||
program.help();
|
||||
|
||||
program
|
||||
.command('install <plugin>', 'install a new plugin')
|
||||
.action(async (plugin: string) => install(plugin, stdio));
|
||||
|
||||
program
|
||||
.command('upgrade <plugin>', 'upgrade an existed plugin')
|
||||
.action(async (plugin: string) => install(plugin, stdio));
|
||||
|
||||
program
|
||||
.command('remove <plugin>', 'remove a plugin')
|
||||
.action(async (plugin: string) => remove(plugin, stdio));
|
||||
|
||||
program.parse(['', ''].concat(arguments_), {run: false});
|
||||
await program.runMatchedCommand();
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import cac from 'cac';
|
||||
import {install, remove} from './pluginManager';
|
||||
|
||||
type Options = {
|
||||
sync?: string;
|
||||
remove?: string;
|
||||
};
|
||||
|
||||
export default async function pacman(stdio: Stdio, arguments_: string[]) {
|
||||
if (arguments_.length === 0) {
|
||||
stdio.println('error: no operation specified (use -h for help)');
|
||||
return;
|
||||
}
|
||||
|
||||
const program = cac('pacman');
|
||||
program.help();
|
||||
|
||||
program.option('-S, --sync <plugin>', 'install or upgrade a plugin');
|
||||
program.option('-R, --remove <plugin>', 'remove a plugin');
|
||||
|
||||
const {options} = program.parse(['', ''].concat(arguments_), {run: false});
|
||||
|
||||
const options_: Options = options;
|
||||
/* istanbul ignore else */
|
||||
if (options_.sync) {
|
||||
await install(options_.sync, stdio);
|
||||
} else if (options_.remove) {
|
||||
await remove(options_.remove, stdio);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import cac from 'cac';
|
||||
import * as fetch from '../net';
|
||||
|
||||
type Options = {
|
||||
force?: boolean;
|
||||
recursive?: boolean;
|
||||
help?: boolean;
|
||||
};
|
||||
|
||||
export default async function rm(stdio: Stdio, arguments_: string[]) {
|
||||
const program = cac('rm');
|
||||
program.help();
|
||||
|
||||
program
|
||||
.command('<file>')
|
||||
.option(
|
||||
'-f, --force',
|
||||
'ignore nonexistent files and arguments, never prompt',
|
||||
)
|
||||
.option(
|
||||
'-r, --recursive',
|
||||
'remove directories and their contents recursively',
|
||||
)
|
||||
.option('--no-preserve-root', 'do not treat \'/\' specially');
|
||||
|
||||
const {options} = program.parse(['', ''].concat(arguments_), {
|
||||
run: false,
|
||||
});
|
||||
const path = program.args[0];
|
||||
|
||||
if (!path && !options.help) {
|
||||
stdio.println('rm: missing operand');
|
||||
stdio.println('Try \'rm --help\' for more information.');
|
||||
}
|
||||
|
||||
if (options.force && options.recursive && path?.startsWith('/')) {
|
||||
await fetch.post('/admin/resource?clear-cache');
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import spinners from 'cli-spinners/spinners.json';
|
||||
|
||||
const {dots} = spinners;
|
||||
|
||||
export class Spinner {
|
||||
private timerId = 0;
|
||||
private index = 0;
|
||||
|
||||
constructor(private readonly stdio: Stdio) {}
|
||||
|
||||
start(message = '') {
|
||||
this.timerId = window.setInterval(() => {
|
||||
this.index += 1;
|
||||
this.index %= dots.frames.length;
|
||||
|
||||
this.stdio.reset();
|
||||
this.stdio.print(`${dots.frames[this.index]} ${message}`);
|
||||
}, dots.interval);
|
||||
}
|
||||
|
||||
stop(message = '') {
|
||||
clearInterval(this.timerId);
|
||||
this.stdio.reset();
|
||||
this.stdio.println(message);
|
||||
this.stdio.print('\u001B[?25h');
|
||||
}
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import * as event from '../event';
|
||||
|
||||
export function hackStdin() {
|
||||
if (process.env.NODE_ENV === 'test') {
|
||||
return process.stdin;
|
||||
}
|
||||
|
||||
// @ts-expect-error
|
||||
return {
|
||||
on(eventName: string, handler: (string_: string, key: string) => void) {
|
||||
if (eventName === 'keypress') {
|
||||
this._off = event.on('terminalKeyPress', (key: string) => {
|
||||
handler(key, key);
|
||||
});
|
||||
}
|
||||
},
|
||||
isTTY: true,
|
||||
setRawMode() {},
|
||||
removeListener() {
|
||||
this._off();
|
||||
},
|
||||
} as NodeJS.ReadStream & {_off(): void};
|
||||
}
|
||||
|
||||
export function hackStdout(stdio: Stdio) {
|
||||
return {
|
||||
write(message: string) {
|
||||
stdio.print(message.replaceAll('\n', '\r\n'));
|
||||
return true;
|
||||
},
|
||||
} as NodeJS.WriteStream;
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
import type {Stdio} from 'blessing-skin-shell';
|
||||
import prompts from 'prompts';
|
||||
import * as fetch from '../net';
|
||||
import {hackStdout, hackStdin} from './configureStdio';
|
||||
import {Spinner} from './Spinner';
|
||||
|
||||
export async function install(plugin: string, stdio: Stdio) {
|
||||
const spinner = new Spinner(stdio);
|
||||
spinner.start('Installing plugin...');
|
||||
|
||||
const {message, data} = await fetch.post<
|
||||
fetch.ResponseBody<{reason?: string[]} | undefined>
|
||||
>('/admin/plugins/market/download', {name: plugin});
|
||||
|
||||
spinner.stop(` ${message}`);
|
||||
const reasons = data?.reason;
|
||||
if (reasons) {
|
||||
stdio.println(reasons.map(reason => `- ${reason}`).join('\r\n'));
|
||||
}
|
||||
}
|
||||
|
||||
export async function remove(plugin: string, stdio: Stdio) {
|
||||
const {confirm}: {confirm: boolean} = await prompts({
|
||||
name: 'confirm',
|
||||
type: 'confirm',
|
||||
message: `Are you sure to remove plugin "${plugin}"?`,
|
||||
stdin: hackStdin(),
|
||||
stdout: hackStdout(stdio),
|
||||
});
|
||||
|
||||
if (!confirm) {
|
||||
return;
|
||||
}
|
||||
|
||||
const spinner = new Spinner(stdio);
|
||||
spinner.start('Uninstalling plugin...');
|
||||
|
||||
const {message} = await fetch.post<fetch.ResponseBody>(
|
||||
'/admin/plugins/manage',
|
||||
{action: 'delete', name: plugin},
|
||||
);
|
||||
spinner.stop(` ${message}`);
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
export function emitKeypressEvents() {}
|
||||
|
||||
export function createInterface() {
|
||||
return {
|
||||
pause() {},
|
||||
resume() {},
|
||||
close() {},
|
||||
};
|
||||
}
|
||||
|
|
@ -25,7 +25,6 @@ export default defineConfig({
|
|||
alias: {
|
||||
'@/': root.pathname,
|
||||
readline: new URL('scripts/cli/readline.ts', root).pathname,
|
||||
prompts: 'prompts/lib/index.js',
|
||||
},
|
||||
},
|
||||
publicDir: false,
|
||||
|
|
|
|||
170
yarn.lock
170
yarn.lock
|
|
@ -107,10 +107,10 @@
|
|||
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17"
|
||||
integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
|
||||
|
||||
"@emotion/react@^11.0.0":
|
||||
version "11.11.3"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25"
|
||||
integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==
|
||||
"@emotion/react@^11.11.4":
|
||||
version "11.11.4"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d"
|
||||
integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.18.3"
|
||||
"@emotion/babel-plugin" "^11.11.0"
|
||||
|
|
@ -786,10 +786,10 @@
|
|||
"@types/scheduler" "*"
|
||||
csstype "^3.0.2"
|
||||
|
||||
"@types/react@^18.2.57":
|
||||
version "18.2.57"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.57.tgz#147b516d8bdb2900219acbfc6f939bdeecca7691"
|
||||
integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==
|
||||
"@types/react@^18.2.62":
|
||||
version "18.2.62"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.62.tgz#2527a7a54749b1a99c87a4aa8b83e26846face38"
|
||||
integrity sha512-l3f57BbaEKP0xcFzf+5qRG8/PXykZiuVM6eEoPtqBPCp6dxO3HhDkLIgIyXPhPKNAeXn3KO2pEaNgzaEo/asaw==
|
||||
dependencies:
|
||||
"@types/prop-types" "*"
|
||||
"@types/scheduler" "*"
|
||||
|
|
@ -1205,6 +1205,17 @@ array.prototype.find@^2.2.2:
|
|||
es-abstract "^1.22.1"
|
||||
es-shim-unscopables "^1.0.0"
|
||||
|
||||
array.prototype.findlast@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz#eeb9e45fc894055c82e5675c463e8077b827ad36"
|
||||
integrity sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==
|
||||
dependencies:
|
||||
call-bind "^1.0.5"
|
||||
define-properties "^1.2.1"
|
||||
es-abstract "^1.22.3"
|
||||
es-errors "^1.3.0"
|
||||
es-shim-unscopables "^1.0.2"
|
||||
|
||||
array.prototype.findlastindex@^1.2.3:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f"
|
||||
|
|
@ -1226,7 +1237,7 @@ array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2:
|
|||
es-abstract "^1.22.1"
|
||||
es-shim-unscopables "^1.0.0"
|
||||
|
||||
array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2:
|
||||
array.prototype.flatmap@^1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527"
|
||||
integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==
|
||||
|
|
@ -1236,7 +1247,17 @@ array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2:
|
|||
es-abstract "^1.22.1"
|
||||
es-shim-unscopables "^1.0.0"
|
||||
|
||||
array.prototype.tosorted@^1.1.1:
|
||||
array.prototype.toreversed@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba"
|
||||
integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==
|
||||
dependencies:
|
||||
call-bind "^1.0.2"
|
||||
define-properties "^1.2.0"
|
||||
es-abstract "^1.22.1"
|
||||
es-shim-unscopables "^1.0.0"
|
||||
|
||||
array.prototype.tosorted@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8"
|
||||
integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==
|
||||
|
|
@ -1292,13 +1313,13 @@ asynciterator.prototype@^1.0.0:
|
|||
dependencies:
|
||||
has-symbols "^1.0.3"
|
||||
|
||||
autoprefixer@^10.4.17:
|
||||
version "10.4.17"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be"
|
||||
integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==
|
||||
autoprefixer@^10.4.18:
|
||||
version "10.4.18"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.18.tgz#fcb171a3b017be7cb5d8b7a825f5aacbf2045163"
|
||||
integrity sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==
|
||||
dependencies:
|
||||
browserslist "^4.22.2"
|
||||
caniuse-lite "^1.0.30001578"
|
||||
browserslist "^4.23.0"
|
||||
caniuse-lite "^1.0.30001591"
|
||||
fraction.js "^4.3.7"
|
||||
normalize-range "^0.1.2"
|
||||
picocolors "^1.0.0"
|
||||
|
|
@ -1335,11 +1356,6 @@ base64-js@^1.1.2, base64-js@^1.3.0:
|
|||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
|
||||
blessing-skin-shell@^0.3.4:
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/blessing-skin-shell/-/blessing-skin-shell-0.3.4.tgz#d6c76f85cd5021971e7e44307989f258ea69fc97"
|
||||
integrity sha512-Rpfz9BskFOaVKoLnSHWFDCtECihWrxFFongbHzMfOTQ/wQJh9wADHPq+bGf1CnPAqktU2as1Rhn2cjMof/1DZg==
|
||||
|
||||
bootstrap-colorpicker@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/bootstrap-colorpicker/-/bootstrap-colorpicker-3.4.0.tgz#3d1873071542755a9b31cf5b314f771e2fcc7727"
|
||||
|
|
@ -1441,16 +1457,6 @@ browserslist-to-esbuild@^2.1.1:
|
|||
dependencies:
|
||||
meow "^13.0.0"
|
||||
|
||||
browserslist@^4.22.2:
|
||||
version "4.22.2"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b"
|
||||
integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001565"
|
||||
electron-to-chromium "^1.4.601"
|
||||
node-releases "^2.0.14"
|
||||
update-browserslist-db "^1.0.13"
|
||||
|
||||
browserslist@^4.22.3, browserslist@^4.23.0:
|
||||
version "4.23.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
|
||||
|
|
@ -1493,7 +1499,7 @@ builtins@^5.0.1:
|
|||
dependencies:
|
||||
semver "^7.0.0"
|
||||
|
||||
cac@6.7.14, cac@^6.7.14:
|
||||
cac@^6.7.14:
|
||||
version "6.7.14"
|
||||
resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
|
||||
integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
|
||||
|
|
@ -1523,16 +1529,16 @@ callsites@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||
|
||||
caniuse-lite@^1.0.30001565:
|
||||
version "1.0.30001576"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4"
|
||||
integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==
|
||||
|
||||
caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001587:
|
||||
caniuse-lite@^1.0.30001587:
|
||||
version "1.0.30001589"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz#7ad6dba4c9bf6561aec8291976402339dc157dfb"
|
||||
integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==
|
||||
|
||||
caniuse-lite@^1.0.30001591:
|
||||
version "1.0.30001593"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz#7cda1d9e5b0cad6ebab4133b1f239d4ea44fe659"
|
||||
integrity sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==
|
||||
|
||||
chai@^4.3.10:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1"
|
||||
|
|
@ -1618,11 +1624,6 @@ clean-regexp@^1.0.0:
|
|||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
cli-spinners@^2.5.0:
|
||||
version "2.9.2"
|
||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41"
|
||||
integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
|
||||
|
||||
clone@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||
|
|
@ -2203,11 +2204,6 @@ ekko-lightbox@^5.3.0:
|
|||
resolved "https://registry.yarnpkg.com/ekko-lightbox/-/ekko-lightbox-5.3.0.tgz#fbfcd9df93a8d1cdbf8770adc8c05aaac4d24f56"
|
||||
integrity sha512-mbacwySuVD3Ad6F2hTkjSTvJt59bcVv2l/TmBerp4xZnLak8tPtA4AScUn4DL42c1ksTiAO6sGhJZ52P/1Qgew==
|
||||
|
||||
electron-to-chromium@^1.4.601:
|
||||
version "1.4.629"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.629.tgz#9cbffe1b08a5627b6a25118360f7fd3965416caf"
|
||||
integrity sha512-5UUkr3k3CZ/k+9Sw7vaaIMyOzMC0XbPyprKI3n0tbKDqkzTDOjK4izm7DxlkueRMim6ZZQ1ja9F7hoFVplHihA==
|
||||
|
||||
electron-to-chromium@^1.4.668:
|
||||
version "1.4.679"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.679.tgz#480f497874ce2be162c0ac271eec91918bf96247"
|
||||
|
|
@ -2332,7 +2328,7 @@ es-get-iterator@^1.1.3:
|
|||
isarray "^2.0.5"
|
||||
stop-iteration-iterator "^1.0.0"
|
||||
|
||||
es-iterator-helpers@^1.0.12:
|
||||
es-iterator-helpers@^1.0.17:
|
||||
version "1.0.17"
|
||||
resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8"
|
||||
integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==
|
||||
|
|
@ -2679,27 +2675,29 @@ eslint-plugin-react-hooks@^4.6.0:
|
|||
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
|
||||
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
|
||||
|
||||
eslint-plugin-react@^7.33.2:
|
||||
version "7.33.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608"
|
||||
integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==
|
||||
eslint-plugin-react@^7.34.0:
|
||||
version "7.34.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz#ab71484d54fc409c37025c5eca00eb4177a5e88c"
|
||||
integrity sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==
|
||||
dependencies:
|
||||
array-includes "^3.1.6"
|
||||
array.prototype.flatmap "^1.3.1"
|
||||
array.prototype.tosorted "^1.1.1"
|
||||
array-includes "^3.1.7"
|
||||
array.prototype.findlast "^1.2.4"
|
||||
array.prototype.flatmap "^1.3.2"
|
||||
array.prototype.toreversed "^1.1.2"
|
||||
array.prototype.tosorted "^1.1.3"
|
||||
doctrine "^2.1.0"
|
||||
es-iterator-helpers "^1.0.12"
|
||||
es-iterator-helpers "^1.0.17"
|
||||
estraverse "^5.3.0"
|
||||
jsx-ast-utils "^2.4.1 || ^3.0.0"
|
||||
minimatch "^3.1.2"
|
||||
object.entries "^1.1.6"
|
||||
object.fromentries "^2.0.6"
|
||||
object.hasown "^1.1.2"
|
||||
object.values "^1.1.6"
|
||||
object.entries "^1.1.7"
|
||||
object.fromentries "^2.0.7"
|
||||
object.hasown "^1.1.3"
|
||||
object.values "^1.1.7"
|
||||
prop-types "^15.8.1"
|
||||
resolve "^2.0.0-next.4"
|
||||
resolve "^2.0.0-next.5"
|
||||
semver "^6.3.1"
|
||||
string.prototype.matchall "^4.0.8"
|
||||
string.prototype.matchall "^4.0.10"
|
||||
|
||||
eslint-plugin-unicorn@^51.0.0:
|
||||
version "51.0.1"
|
||||
|
|
@ -2912,11 +2910,6 @@ event-emitter@^0.3.5, event-emitter@~0.3.5:
|
|||
d "1"
|
||||
es5-ext "~0.10.14"
|
||||
|
||||
events@^3.2.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
|
||||
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
|
||||
|
||||
execa@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
|
||||
|
|
@ -3993,10 +3986,10 @@ kleur@^3.0.3, kleur@^4.1.3:
|
|||
resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
|
||||
integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
|
||||
|
||||
laravel-vite-plugin@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/laravel-vite-plugin/-/laravel-vite-plugin-1.0.1.tgz#b92d0c939ccd60879746b23282100131f753cec7"
|
||||
integrity sha512-laLEZUnSskIDZtLb2FNRdcjsRUhh1VOVvapbVGVTeaBPJTCF/b6gbPiX2dZdcH1RKoOE0an7L+2gnInk6K33Zw==
|
||||
laravel-vite-plugin@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/laravel-vite-plugin/-/laravel-vite-plugin-1.0.2.tgz#97575181a1f870532b39ab3b423b53f01385feba"
|
||||
integrity sha512-Mcclml10khYzBVxDwJro8wnVDwD4i7XOSEMACQNnarvTnHjrjXLLL+B/Snif2wYAyElsOqagJZ7VAinb/2vF5g==
|
||||
dependencies:
|
||||
picocolors "^1.0.0"
|
||||
vite-plugin-full-reload "^1.1.0"
|
||||
|
|
@ -4360,7 +4353,7 @@ object.assign@^4.1.4, object.assign@^4.1.5:
|
|||
has-symbols "^1.0.3"
|
||||
object-keys "^1.1.1"
|
||||
|
||||
object.entries@^1.1.6:
|
||||
object.entries@^1.1.7:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131"
|
||||
integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==
|
||||
|
|
@ -4369,7 +4362,7 @@ object.entries@^1.1.6:
|
|||
define-properties "^1.2.0"
|
||||
es-abstract "^1.22.1"
|
||||
|
||||
object.fromentries@^2.0.6, object.fromentries@^2.0.7:
|
||||
object.fromentries@^2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616"
|
||||
integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==
|
||||
|
|
@ -4389,7 +4382,7 @@ object.groupby@^1.0.1:
|
|||
es-abstract "^1.22.3"
|
||||
es-errors "^1.0.0"
|
||||
|
||||
object.hasown@^1.1.2:
|
||||
object.hasown@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae"
|
||||
integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==
|
||||
|
|
@ -4997,7 +4990,7 @@ resolve@^1.1.5, resolve@^1.10.0, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22
|
|||
path-parse "^1.0.7"
|
||||
supports-preserve-symlinks-flag "^1.0.0"
|
||||
|
||||
resolve@^2.0.0-next.4, resolve@^2.0.0-next.5:
|
||||
resolve@^2.0.0-next.5:
|
||||
version "2.0.0-next.5"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c"
|
||||
integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
|
||||
|
|
@ -5423,7 +5416,7 @@ string-width@^7.0.0:
|
|||
get-east-asian-width "^1.0.0"
|
||||
strip-ansi "^7.1.0"
|
||||
|
||||
string.prototype.matchall@^4.0.8:
|
||||
string.prototype.matchall@^4.0.10:
|
||||
version "4.0.10"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100"
|
||||
integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
|
||||
|
|
@ -5941,7 +5934,7 @@ vite-plugin-wasm@^3.3.0:
|
|||
resolved "https://registry.yarnpkg.com/vite-plugin-wasm/-/vite-plugin-wasm-3.3.0.tgz#2908ef2529bf8f33f4e549c8c6fda26ad273ca15"
|
||||
integrity sha512-tVhz6w+W9MVsOCHzxo6SSMSswCeIw4HTrXEi6qL3IRzATl83jl09JVO1djBqPSwfjgnpVHNLYcaMbaDX5WB/pg==
|
||||
|
||||
vite@^5.0.0, vite@^5.1.4:
|
||||
vite@^5.0.0:
|
||||
version "5.1.4"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.4.tgz#14e9d3e7a6e488f36284ef13cebe149f060bcfb6"
|
||||
integrity sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==
|
||||
|
|
@ -5952,6 +5945,17 @@ vite@^5.0.0, vite@^5.1.4:
|
|||
optionalDependencies:
|
||||
fsevents "~2.3.3"
|
||||
|
||||
vite@^5.1.5:
|
||||
version "5.1.5"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.5.tgz#bdbc2b15e8000d9cc5172f059201178f9c9de5fb"
|
||||
integrity sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==
|
||||
dependencies:
|
||||
esbuild "^0.19.3"
|
||||
postcss "^8.4.35"
|
||||
rollup "^4.2.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.3"
|
||||
|
||||
vitest@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.3.1.tgz#2d7e9861f030d88a4669392a4aecb40569d90937"
|
||||
|
|
@ -6107,16 +6111,6 @@ xtend@^4.0.2, xtend@~4.0.1:
|
|||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
xterm-addon-fit@^0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz#48ca99015385141918f955ca7819e85f3691d35f"
|
||||
integrity sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw==
|
||||
|
||||
xterm@^5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.3.0.tgz#867daf9cc826f3d45b5377320aabd996cb0fce46"
|
||||
integrity sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user