From ea2c5c3f00a4d013619959354b6c698e27f87f5e Mon Sep 17 00:00:00 2001 From: Prozilla Date: Thu, 20 Jun 2024 18:19:03 +0200 Subject: [PATCH] Optimized package builds --- .gitignore | 12 +- README.md | 8 +- eslint.config.js | 1 + package.json | 10 +- packages/apps/file-explorer/CHANGELOG.md | 8 + packages/apps/file-explorer/package.json | 20 +- packages/apps/file-explorer/src/index.ts | 8 - packages/apps/file-explorer/src/main.ts | 8 + .../src/types/{index.d.ts => utils.ts} | 0 packages/apps/file-explorer/tsconfig.json | 13 +- packages/apps/file-explorer/vite.config.ts | 34 + packages/apps/terminal/CHANGELOG.md | 8 + packages/apps/terminal/package.json | 20 +- .../apps/terminal/src/components/Terminal.tsx | 2 +- packages/apps/terminal/src/core/commands.ts | 7 +- packages/apps/terminal/src/index.ts | 7 - packages/apps/terminal/src/main.ts | 7 + packages/apps/terminal/tsconfig.json | 13 +- packages/apps/terminal/vite.config.ts | 35 + packages/apps/text-editor/CHANGELOG.md | 8 + packages/apps/text-editor/package.json | 20 +- .../text-editor/src/components/TextEditor.tsx | 8 +- packages/apps/text-editor/src/index.ts | 7 - packages/apps/text-editor/src/main.ts | 7 + packages/apps/text-editor/tsconfig.json | 13 +- packages/apps/text-editor/vite.config.ts | 34 + packages/core/CHANGELOG.md | 6 + packages/core/package.json | 25 +- .../core/src/components/desktop/Desktop.tsx | 20 +- .../modals/file-selector/FileSelector.tsx | 114 +- packages/core/src/components/modals/index.ts | 4 +- .../src/components/prozilla-os/ProzillaOS.tsx | 2 +- .../src/components/taskbar/menus/HomeMenu.tsx | 8 +- .../src/features/system/configs/appsConfig.ts | 2 +- .../features/system/configs/desktopConfig.ts | 2 +- .../src/features/system/configs/miscConfig.ts | 2 +- .../features/system/configs/modalsConfig.ts | 2 +- .../features/system/configs/taskbarConfig.ts | 2 +- .../features/system/configs/trackingConfig.ts | 2 +- .../system/configs/virtualDriveConfig.ts | 2 +- .../features/system/configs/windowsConfig.ts | 2 +- .../virtual-drive/folder/virtualFolder.ts | 4 +- packages/core/src/{index.ts => main.ts} | 6 +- packages/core/src/styles/index.ts | 2 - .../core/src/types/{util.d.ts => utils.ts} | 0 packages/core/tsconfig.json | 10 +- packages/core/vite.config.ts | 33 + packages/prozilla-os/CHANGELOG.md | 11 + packages/prozilla-os/package.json | 43 +- .../prozilla-os/src/{index.ts => main.ts} | 2 +- packages/prozilla-os/src/types/utils.ts | 5 + packages/prozilla-os/src/types/vite-env.d.ts | 1 + packages/prozilla-os/tsconfig.json | 14 +- packages/prozilla-os/vite.config.ts | 35 + pnpm-lock.yaml | 1029 +++++++++++++++-- src/Main.tsx | 2 +- .../standalone/StandaloneHeader.tsx | 2 +- src/index.tsx | 2 +- tsconfig.json | 11 +- vite.config.ts | 81 +- 60 files changed, 1531 insertions(+), 275 deletions(-) delete mode 100644 packages/apps/file-explorer/src/index.ts create mode 100644 packages/apps/file-explorer/src/main.ts rename packages/apps/file-explorer/src/types/{index.d.ts => utils.ts} (100%) create mode 100644 packages/apps/file-explorer/vite.config.ts delete mode 100644 packages/apps/terminal/src/index.ts create mode 100644 packages/apps/terminal/src/main.ts create mode 100644 packages/apps/terminal/vite.config.ts delete mode 100644 packages/apps/text-editor/src/index.ts create mode 100644 packages/apps/text-editor/src/main.ts create mode 100644 packages/apps/text-editor/vite.config.ts rename packages/core/src/{index.ts => main.ts} (66%) rename packages/core/src/types/{util.d.ts => utils.ts} (100%) create mode 100644 packages/core/vite.config.ts rename packages/prozilla-os/src/{index.ts => main.ts} (73%) create mode 100644 packages/prozilla-os/src/types/utils.ts create mode 100644 packages/prozilla-os/src/types/vite-env.d.ts create mode 100644 packages/prozilla-os/vite.config.ts diff --git a/.gitignore b/.gitignore index e90cb4c..aa47b69 100644 --- a/.gitignore +++ b/.gitignore @@ -4,23 +4,15 @@ /node_modules /packages/*/node_modules /packages/apps/*/node_modules -/.pnp -.pnp.js # testing -/coverage # production -/build /dist +/packages/*/dist +/packages/apps/*/dist # misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - npm-debug.log* yarn-debug.log* yarn-error.log* diff --git a/README.md b/README.md index 3aa4f45..2631304 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,11 @@ ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows. ## Packages -- `prozilla-os` ([source][prozilla-os]) - Contains all other packages +- `prozilla-os` ([source][prozilla-os]) - A bundle containing all other packages - `@prozilla-os/core` ([source][core]) - Core functionality, React components and hooks - `@prozilla-os/file-explorer` ([source][file-explorer]) - File explorer app +- `@prozilla-os/terminal` ([source][terminal]) - Terminal/shell app +- `@prozilla-os/text-editor` ([source][text-editor]) - Text editor app ## Links @@ -54,4 +56,6 @@ These resources can help you get started with ProzillaOS. [prozilla]: https://prozilla.dev/ [prozilla-os]: ./packages/prozilla-os/ [core]: ./packages/core/ -[file-explorer]: ./packages/apps/file-explorer/ \ No newline at end of file +[file-explorer]: ./packages/apps/file-explorer/ +[terminal]: ./packages/apps/terminal/ +[text-editor]: ./packages/apps/text-editor/ \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js index 8ab6996..4342e26 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -18,6 +18,7 @@ export default tseslint.config( }, ignores: [ "eslint.config.js", + "**/dist/**/*" ], plugins: { react, diff --git a/package.json b/package.json index 7ad770b..e047c27 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "predeploy": "pnpm run build && pnpm run stage", "deploy": "tsx scripts/deploy", "fetch": "tsx scripts/fetchRepository", - "packages:test": "pnpm -r --parallel run test", + "packages:build": "pnpm -r --sequential run build", "packages:update": "npx changeset && pnpm changeset version", "packages:release": "pnpm changeset publish" }, @@ -33,11 +33,10 @@ "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.2", - "@vitejs/plugin-react-swc": "^3.7.0", "anser": "^2.1.1", "escape-carriage": "^1.3.1", "markdown-to-jsx": "^7.4.7", - "prozilla-os": "workspace:^", + "prozilla-os": "workspace:*", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.23.1", @@ -52,12 +51,13 @@ "@eslint/js": "^9.5.0", "@types/eslint": "^8.56.10", "@types/gh-pages": "^6.1.0", - "@types/node": "^20.14.5", + "@types/node": "^20.14.6", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/react-syntax-highlighter": "^15.5.13", + "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", - "eslint-plugin-react": "^7.34.2", + "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-refresh": "^0.4.7", "gh-pages": "^5.0.0", "stylelint": "^16.6.1", diff --git a/packages/apps/file-explorer/CHANGELOG.md b/packages/apps/file-explorer/CHANGELOG.md index ada22aa..59d7368 100644 --- a/packages/apps/file-explorer/CHANGELOG.md +++ b/packages/apps/file-explorer/CHANGELOG.md @@ -1,5 +1,13 @@ # @prozilla-os/file-explorer +## 1.0.9 + +### Patch Changes + +- Optimized building process for each package using Vite +- Updated dependencies + - @prozilla-os/core@1.0.12 + ## 1.0.8 ### Patch Changes diff --git a/packages/apps/file-explorer/package.json b/packages/apps/file-explorer/package.json index 56e8234..1d7db7a 100644 --- a/packages/apps/file-explorer/package.json +++ b/packages/apps/file-explorer/package.json @@ -1,17 +1,18 @@ { "name": "@prozilla-os/file-explorer", "description": "A standard ProzillaOS application for browsing files.", - "version": "1.0.8", + "version": "1.0.9", "homepage": "https://os.prozilla.dev/file-explorer", "author": { "name": "Prozilla", "email": "business@prozilla.dev", "url": "https://prozilla.dev/" }, - "main": "src/index.ts", "type": "module", + "main": "dist/main.js", + "types": "dist/main.d.ts", "scripts": { - "test": "tsc --watch" + "build": "tsc && vite build" }, "repository": { "type": "git", @@ -27,10 +28,19 @@ "react": "^18.3.1" }, "devDependencies": { - "typescript": "^5.4.5" + "@types/node": "^20.14.5", + "@types/react": "^18.3.3", + "@vitejs/plugin-react-swc": "^3.7.0", + "typescript": "^5.4.5", + "vite": "^5.3.1", + "vite-plugin-dts": "^3.9.1", + "vite-plugin-lib-inject-css": "^2.1.1" }, "files": [ - "src/**/*" + "dist" + ], + "sideEffects": [ + "**/*.css" ], "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/packages/apps/file-explorer/src/index.ts b/packages/apps/file-explorer/src/index.ts deleted file mode 100644 index d6acf5d..0000000 --- a/packages/apps/file-explorer/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { App } from "@prozilla-os/core"; -import { FileExplorer } from "./components/FileExplorer"; - -const fileExplorer = new App("File Explorer", "file-explorer", FileExplorer) - .setIconUrl("https://os.prozilla.dev/assets/apps/icons/file-explorer.svg"); - -export { fileExplorer }; -export { FileSelectorMode } from "./types/index.d"; \ No newline at end of file diff --git a/packages/apps/file-explorer/src/main.ts b/packages/apps/file-explorer/src/main.ts new file mode 100644 index 0000000..d97ee8f --- /dev/null +++ b/packages/apps/file-explorer/src/main.ts @@ -0,0 +1,8 @@ +import { App } from "@prozilla-os/core"; +import { FileExplorer, FileExplorerProps } from "./components/FileExplorer"; + +const fileExplorer = new App("File Explorer", "file-explorer", FileExplorer) + .setIconUrl("https://os.prozilla.dev/assets/apps/icons/file-explorer.svg"); + +export { fileExplorer }; +export { FileSelectorMode } from "./types/utils"; \ No newline at end of file diff --git a/packages/apps/file-explorer/src/types/index.d.ts b/packages/apps/file-explorer/src/types/utils.ts similarity index 100% rename from packages/apps/file-explorer/src/types/index.d.ts rename to packages/apps/file-explorer/src/types/utils.ts diff --git a/packages/apps/file-explorer/tsconfig.json b/packages/apps/file-explorer/tsconfig.json index 777df14..aa4a7f6 100644 --- a/packages/apps/file-explorer/tsconfig.json +++ b/packages/apps/file-explorer/tsconfig.json @@ -1,5 +1,16 @@ { "extends": "../../../tsconfig.json", - "include": ["src/**/*"], + "compilerOptions": { + "baseUrl": "../../..", + "composite": true, + "outDir": "dist", + "declaration": true, + "emitDeclarationOnly": true, + "noEmit": false, + "paths": { + "@prozilla-os/core": ["packages/core/dist/main"] + } + }, + "include": ["src", "vite.config.ts"], "exclude": ["node_modules"] } \ No newline at end of file diff --git a/packages/apps/file-explorer/vite.config.ts b/packages/apps/file-explorer/vite.config.ts new file mode 100644 index 0000000..d216a24 --- /dev/null +++ b/packages/apps/file-explorer/vite.config.ts @@ -0,0 +1,34 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react-swc"; +import dts from "vite-plugin-dts"; +import { libInjectCss } from "vite-plugin-lib-inject-css"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + react(), + libInjectCss(), + dts({ + include: ["src"], + outDir: "dist", + rollupTypes: true, + strictOutput: true, + pathsToAliases: false, + }) + ], + build: { + lib: { + entry: resolve(__dirname, "src/main.ts"), + formats: ["es"], + }, + rollupOptions: { + external: ["react", "react/jsx-runtime", "@prozilla-os/core"], + output: { + assetFileNames: "assets/[name][extname]", + entryFileNames: "[name].js", + } + }, + sourcemap: true + } +}); \ No newline at end of file diff --git a/packages/apps/terminal/CHANGELOG.md b/packages/apps/terminal/CHANGELOG.md index 9e07176..f3b37ef 100644 --- a/packages/apps/terminal/CHANGELOG.md +++ b/packages/apps/terminal/CHANGELOG.md @@ -1,5 +1,13 @@ # @prozilla-os/terminal +## 1.0.2 + +### Patch Changes + +- Optimized building process for each package using Vite +- Updated dependencies + - @prozilla-os/core@1.0.12 + ## 1.0.1 ### Patch Changes diff --git a/packages/apps/terminal/package.json b/packages/apps/terminal/package.json index 80ef409..a98dc3b 100644 --- a/packages/apps/terminal/package.json +++ b/packages/apps/terminal/package.json @@ -1,17 +1,18 @@ { "name": "@prozilla-os/terminal", "description": "A terminal/shell application for ProzillaOS.", - "version": "1.0.1", + "version": "1.0.2", "homepage": "https://os.prozilla.dev/terminal", "author": { "name": "Prozilla", "email": "business@prozilla.dev", "url": "https://prozilla.dev/" }, - "main": "src/index.ts", "type": "module", + "main": "dist/main.js", + "types": "dist/main.d.ts", "scripts": { - "test": "tsc --watch" + "build": "tsc && vite build" }, "repository": { "type": "git", @@ -26,10 +27,19 @@ "react": "^18.3.1" }, "devDependencies": { - "typescript": "^5.4.5" + "@types/node": "^20.14.5", + "@types/react": "^18.3.3", + "@vitejs/plugin-react-swc": "^3.7.0", + "typescript": "^5.4.5", + "vite": "^5.3.1", + "vite-plugin-dts": "^3.9.1", + "vite-plugin-lib-inject-css": "^2.1.1" }, "files": [ - "src/**/*" + "dist" + ], + "sideEffects": [ + "**/*.css" ], "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/packages/apps/terminal/src/components/Terminal.tsx b/packages/apps/terminal/src/components/Terminal.tsx index 85af423..3bd4db3 100644 --- a/packages/apps/terminal/src/components/Terminal.tsx +++ b/packages/apps/terminal/src/components/Terminal.tsx @@ -9,7 +9,7 @@ import { CommandResponse } from "../core/command"; import { formatError } from "../core/_utils/terminal.utils"; import { CommandsManager } from "../core/commands"; -interface TerminalProps extends WindowProps { +export interface TerminalProps extends WindowProps { path: string; input: string; } diff --git a/packages/apps/terminal/src/core/commands.ts b/packages/apps/terminal/src/core/commands.ts index a8ab463..a3e0980 100644 --- a/packages/apps/terminal/src/core/commands.ts +++ b/packages/apps/terminal/src/core/commands.ts @@ -2,14 +2,15 @@ import { Command } from "./command"; let commands: Command[] = []; +// https://vitejs.dev/guide/features.html#glob-import +const modules = import.meta.glob("./commands/*.ts"); + /** * Dynamically import commands */ const loadCommands = () => { commands = []; - - // https://vitejs.dev/guide/features.html#glob-import - const modules = import.meta.glob("./commands/*.ts"); + for (const path in modules) { void modules[path]().then((commandModule) => { const commandName = Object.keys(commandModule as Record)[0]; diff --git a/packages/apps/terminal/src/index.ts b/packages/apps/terminal/src/index.ts deleted file mode 100644 index 6239d9d..0000000 --- a/packages/apps/terminal/src/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { App } from "@prozilla-os/core"; -import { Terminal } from "./components/Terminal"; - -const terminal = new App("Terminal", "terminal", Terminal) - .setIconUrl("https://os.prozilla.dev/assets/apps/icons/terminal.svg"); - -export { terminal }; \ No newline at end of file diff --git a/packages/apps/terminal/src/main.ts b/packages/apps/terminal/src/main.ts new file mode 100644 index 0000000..69bbe0b --- /dev/null +++ b/packages/apps/terminal/src/main.ts @@ -0,0 +1,7 @@ +import { App } from "@prozilla-os/core"; +import { Terminal, TerminalProps } from "./components/Terminal"; + +const terminal = new App("Terminal", "terminal", Terminal) + .setIconUrl("https://os.prozilla.dev/assets/apps/icons/terminal.svg"); + +export { terminal }; \ No newline at end of file diff --git a/packages/apps/terminal/tsconfig.json b/packages/apps/terminal/tsconfig.json index 777df14..aa4a7f6 100644 --- a/packages/apps/terminal/tsconfig.json +++ b/packages/apps/terminal/tsconfig.json @@ -1,5 +1,16 @@ { "extends": "../../../tsconfig.json", - "include": ["src/**/*"], + "compilerOptions": { + "baseUrl": "../../..", + "composite": true, + "outDir": "dist", + "declaration": true, + "emitDeclarationOnly": true, + "noEmit": false, + "paths": { + "@prozilla-os/core": ["packages/core/dist/main"] + } + }, + "include": ["src", "vite.config.ts"], "exclude": ["node_modules"] } \ No newline at end of file diff --git a/packages/apps/terminal/vite.config.ts b/packages/apps/terminal/vite.config.ts new file mode 100644 index 0000000..e706d3e --- /dev/null +++ b/packages/apps/terminal/vite.config.ts @@ -0,0 +1,35 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react-swc"; +import dts from "vite-plugin-dts"; +import { libInjectCss } from "vite-plugin-lib-inject-css"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + react(), + libInjectCss(), + dts({ + include: ["src"], + outDir: "dist", + rollupTypes: true, + strictOutput: true, + pathsToAliases: false, + staticImport: true + }) + ], + build: { + lib: { + entry: resolve(__dirname, "src/main.ts"), + formats: ["es"], + }, + rollupOptions: { + external: ["react", "react/jsx-runtime", "@prozilla-os/core"], + output: { + assetFileNames: "assets/[name][extname]", + entryFileNames: "[name].js", + } + }, + sourcemap: true + } +}); \ No newline at end of file diff --git a/packages/apps/text-editor/CHANGELOG.md b/packages/apps/text-editor/CHANGELOG.md index ded5c59..7b247ec 100644 --- a/packages/apps/text-editor/CHANGELOG.md +++ b/packages/apps/text-editor/CHANGELOG.md @@ -1,5 +1,13 @@ # @prozilla-os/text-editor +## 1.0.2 + +### Patch Changes + +- Optimized building process for each package using Vite +- Updated dependencies + - @prozilla-os/core@1.0.12 + ## 1.0.1 ### Patch Changes diff --git a/packages/apps/text-editor/package.json b/packages/apps/text-editor/package.json index 58b4d99..660e875 100644 --- a/packages/apps/text-editor/package.json +++ b/packages/apps/text-editor/package.json @@ -1,17 +1,18 @@ { "name": "@prozilla-os/text-editor", "description": "A text editor application for ProzillaOS.", - "version": "1.0.1", + "version": "1.0.2", "homepage": "https://os.prozilla.dev/text-editor", "author": { "name": "Prozilla", "email": "business@prozilla.dev", "url": "https://prozilla.dev/" }, - "main": "src/index.ts", "type": "module", + "main": "dist/main.js", + "types": "dist/main.d.ts", "scripts": { - "test": "tsc --watch" + "build": "tsc && vite build" }, "repository": { "type": "git", @@ -24,10 +25,19 @@ "react": "^18.3.1" }, "devDependencies": { - "typescript": "^5.4.5" + "@types/node": "^20.14.5", + "@types/react": "^18.3.3", + "@vitejs/plugin-react-swc": "^3.7.0", + "typescript": "^5.4.5", + "vite": "^5.3.1", + "vite-plugin-dts": "^3.9.1", + "vite-plugin-lib-inject-css": "^2.1.1" }, "files": [ - "src/**/*" + "dist" + ], + "sideEffects": [ + "**/*.css" ], "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/packages/apps/text-editor/src/components/TextEditor.tsx b/packages/apps/text-editor/src/components/TextEditor.tsx index 8838c23..c707b4b 100644 --- a/packages/apps/text-editor/src/components/TextEditor.tsx +++ b/packages/apps/text-editor/src/components/TextEditor.tsx @@ -5,7 +5,7 @@ import { MarkdownLink } from "./overrides/MarkdownLink"; import { MarkdownImage } from "./overrides/MarkdownImage"; import SyntaxHighlighter from "react-syntax-highlighter"; import { MarkdownBlockquote } from "./overrides/MarkdownBlockquote"; -import { App, ClickAction, CODE_EXTENSIONS, Divider, DropdownAction, FileSelector, FileSelectorMode, HeaderMenu, ModalsManager, useSystemManager, useVirtualRoot, useWindowedModal, useWindowsManager, VirtualFile, WindowProps, WindowsManager } from "@prozilla-os/core"; +import { App, ClickAction, CODE_EXTENSIONS, Divider, DropdownAction, HeaderMenu, ModalsManager, useSystemManager, useVirtualRoot, useWindowedModal, useWindowsManager, VirtualFile, WindowProps, WindowsManager } from "@prozilla-os/core"; import { DEFAULT_ZOOM, EXTENSION_TO_LANGUAGE, ZOOM_FACTOR } from "../constants/textEditor.const"; const OVERRIDES = { @@ -23,7 +23,7 @@ export interface MarkdownProps { children?: ReactNode; } -interface TextEditorProps extends WindowProps { +export interface TextEditorProps extends WindowProps { file?: VirtualFile; mode?: "view" | "edit"; path?: string; @@ -141,7 +141,7 @@ export function TextEditor({ file, path, setTitle, setIconUrl, close, mode, app, { newText(); }} shortcut={["Control", "e"]}/> - { + {/* { openWindowedModal({ size: modalsConfig.defaultFileSelectorSize, Modal: (props: object) => }); - }} shortcut={["Control", "o"]}/> + }} shortcut={["Control", "o"]}/> */} { saveText(); }} shortcut={["Control", "s"]}/> {/* { diff --git a/packages/apps/text-editor/src/index.ts b/packages/apps/text-editor/src/index.ts deleted file mode 100644 index 0100959..0000000 --- a/packages/apps/text-editor/src/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { App } from "@prozilla-os/core"; -import { TextEditor } from "./components/TextEditor"; - -const textEditor = new App("Text Editor", "text-editor", TextEditor) - .setIconUrl("https://os.prozilla.dev/assets/apps/icons/text-editor.svg"); - -export { textEditor }; \ No newline at end of file diff --git a/packages/apps/text-editor/src/main.ts b/packages/apps/text-editor/src/main.ts new file mode 100644 index 0000000..67b3bd7 --- /dev/null +++ b/packages/apps/text-editor/src/main.ts @@ -0,0 +1,7 @@ +import { App } from "@prozilla-os/core"; +import { TextEditor, TextEditorProps } from "./components/TextEditor"; + +const textEditor = new App("Text Editor", "text-editor", TextEditor) + .setIconUrl("https://os.prozilla.dev/assets/apps/icons/text-editor.svg"); + +export { textEditor }; \ No newline at end of file diff --git a/packages/apps/text-editor/tsconfig.json b/packages/apps/text-editor/tsconfig.json index 777df14..aa4a7f6 100644 --- a/packages/apps/text-editor/tsconfig.json +++ b/packages/apps/text-editor/tsconfig.json @@ -1,5 +1,16 @@ { "extends": "../../../tsconfig.json", - "include": ["src/**/*"], + "compilerOptions": { + "baseUrl": "../../..", + "composite": true, + "outDir": "dist", + "declaration": true, + "emitDeclarationOnly": true, + "noEmit": false, + "paths": { + "@prozilla-os/core": ["packages/core/dist/main"] + } + }, + "include": ["src", "vite.config.ts"], "exclude": ["node_modules"] } \ No newline at end of file diff --git a/packages/apps/text-editor/vite.config.ts b/packages/apps/text-editor/vite.config.ts new file mode 100644 index 0000000..d216a24 --- /dev/null +++ b/packages/apps/text-editor/vite.config.ts @@ -0,0 +1,34 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react-swc"; +import dts from "vite-plugin-dts"; +import { libInjectCss } from "vite-plugin-lib-inject-css"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + react(), + libInjectCss(), + dts({ + include: ["src"], + outDir: "dist", + rollupTypes: true, + strictOutput: true, + pathsToAliases: false, + }) + ], + build: { + lib: { + entry: resolve(__dirname, "src/main.ts"), + formats: ["es"], + }, + rollupOptions: { + external: ["react", "react/jsx-runtime", "@prozilla-os/core"], + output: { + assetFileNames: "assets/[name][extname]", + entryFileNames: "[name].js", + } + }, + sourcemap: true + } +}); \ No newline at end of file diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index bc29d63..ebd22d5 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # @prozilla-os/core +## 1.0.12 + +### Patch Changes + +- Optimized building process for each package using Vite + ## 1.0.11 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 5177386..13104be 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,17 +1,18 @@ { "name": "@prozilla-os/core", "description": "A React component library written in TypeScript for building web-based operating systems, made by Prozilla.", - "version": "1.0.11", - "homepage": "https://os.prozilla.dev/", + "version": "1.0.12", + "homepage": "https://os.prozilla.dev", "author": { "name": "Prozilla", "email": "business@prozilla.dev", "url": "https://prozilla.dev/" }, - "main": "src/index.ts", "type": "module", + "main": "dist/main.js", + "types": "dist/main.d.ts", "scripts": { - "test": "tsc --watch" + "build": "tsc && vite build" }, "repository": { "type": "git", @@ -24,7 +25,6 @@ "@fortawesome/free-regular-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.2", - "@prozilla-os/file-explorer": "workspace:*", "react": "^18.3.1", "react-draggable": "^4.4.6", "react-error-boundary": "^4.0.13", @@ -33,10 +33,21 @@ }, "devDependencies": { "@types/node": "^20.14.5", - "typescript": "^5.4.5" + "@types/react": "^18.3.3", + "@vitejs/plugin-react-swc": "^3.7.0", + "typescript": "^5.4.5", + "vite": "^5.3.1", + "vite-plugin-css-modules": "^0.0.1", + "vite-plugin-dts": "^3.9.1" + }, + "peerDependencies": { + "react": "^18.3.1" }, "files": [ - "src/**/*" + "dist" + ], + "sideEffects": [ + "**/*.css" ], "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/packages/core/src/components/desktop/Desktop.tsx b/packages/core/src/components/desktop/Desktop.tsx index 171cead..852f5a1 100644 --- a/packages/core/src/components/desktop/Desktop.tsx +++ b/packages/core/src/components/desktop/Desktop.tsx @@ -16,7 +16,7 @@ import { VirtualFolder, VirtualFolderLink } from "../../features/virtual-drive/f import { useSettingsManager, useWindowsManager, useVirtualRoot, useWindowedModal, useContextMenu, useSystemManager } from "../../hooks"; import { DirectoryList } from "../_utils"; import { FileEventHandler, FolderEventHandler } from "../_utils/directory-list/DirectoryList"; -import { fileExplorer } from "@prozilla-os/file-explorer"; +// import { fileExplorer } from "@prozilla-os/file-explorer"; export const Desktop = memo(() => { const { desktopConfig } = useSystemManager(); @@ -83,9 +83,9 @@ export const Desktop = memo(() => { windowsManager?.open("settings", { tab: 2 }); }}/> - { + {/* { windowsManager?.open(fileExplorer.id, { path: directory?.path }); - }}/> + }}/> */} {/* { windowsManager?.open(APPS.TERMINAL, { path: directory?.path }); }}/> */} @@ -103,9 +103,9 @@ export const Desktop = memo(() => { { if (windowsManager != null) (file as VirtualFile).open(windowsManager); }}/> - { + {/* { if (windowsManager != null) (file as VirtualFile).parent?.open(windowsManager); - }}/> + }}/> */} { (file as VirtualFile).delete(); }}/> @@ -119,9 +119,9 @@ export const Desktop = memo(() => { {/* { windowsManager?.open(APPS.TERMINAL, { path: (folder as VirtualFolder).path }); }}/> */} - { + {/* { if (windowsManager != null) (folder as VirtualFolder).parent?.open(windowsManager); - }}/> + }}/> */} { (folder as VirtualFolder).delete(); @@ -183,9 +183,9 @@ export const Desktop = memo(() => { windowsManager?.openFile(file, options); }} onOpenFolder={(event, folder) => { - windowsManager?.open(fileExplorer.id, { - path: (folder as VirtualFolderLink).linkedPath ?? folder.path - }); + // windowsManager?.open(fileExplorer.id, { + // path: (folder as VirtualFolderLink).linkedPath ?? folder.path + // }); }} onContextMenuFile={onContextMenuFile as unknown as FileEventHandler} onContextMenuFolder={onContextMenuFolder as unknown as FolderEventHandler} diff --git a/packages/core/src/components/modals/file-selector/FileSelector.tsx b/packages/core/src/components/modals/file-selector/FileSelector.tsx index 679d654..9d8d90f 100644 --- a/packages/core/src/components/modals/file-selector/FileSelector.tsx +++ b/packages/core/src/components/modals/file-selector/FileSelector.tsx @@ -5,73 +5,73 @@ import styles from "./FileSelector.module.css"; import { ModalProps } from "../ModalView"; import { VirtualFile } from "../../../features/virtual-drive/file"; import { VirtualFolder } from "../../../features/virtual-drive/folder"; -import { FileSelectorMode, fileExplorer } from "@prozilla-os/file-explorer"; +// import { FileSelectorMode, fileExplorer } from "@prozilla-os/file-explorer"; interface FileSelectorProps extends ModalProps { - type: FileSelectorMode; - allowedFormats?: string[]; - onFinish: (result: VirtualFile | VirtualFile[]) => void; +// type: FileSelectorMode; +// allowedFormats?: string[]; +// onFinish: (result: VirtualFile | VirtualFile[]) => void; } export function FileSelector({ modal, params, type, allowedFormats, onFinish, ...props }: FileSelectorProps) { - const multi = (type == FileSelectorMode.Multi); + // const multi = (type == FileSelectorMode.Multi); - const [selection, setSelection] = useState(multi ? [] : null); - const [directory, setDirectory] = useState(null); + // const [selection, setSelection] = useState(multi ? [] : null); + // const [directory, setDirectory] = useState(null); - const finish = (event: Event) => { - event?.preventDefault(); + // const finish = (event: Event) => { + // event?.preventDefault(); - if (directory == null || selection == null) - return; + // if (directory == null || selection == null) + // return; - const files = selection.map((id) => { - const { name, extension } = VirtualFile.splitId(id); - return directory.findFile(name, extension); - }).filter((file) => { - if (file == null) - return false; - const validFormat = (allowedFormats == null || (file.extension != null && allowedFormats.includes(file.extension))); - return validFormat; - }) as VirtualFile[]; + // const files = selection.map((id) => { + // const { name, extension } = VirtualFile.splitId(id); + // return directory.findFile(name, extension); + // }).filter((file) => { + // if (file == null) + // return false; + // const validFormat = (allowedFormats == null || (file.extension != null && allowedFormats.includes(file.extension))); + // return validFormat; + // }) as VirtualFile[]; - if (files.length === 0) - return; + // if (files.length === 0) + // return; - modal?.close(); - onFinish?.(multi ? files : files[0]); - }; + // modal?.close(); + // onFinish?.(multi ? files : files[0]); + // }; - return - -
- - {multi - ?

Selected file(s): {selection != null ? selection.join(", ") : ""}

- :

Selected file: {selection ?? ""}

- } -
-
- - -
-
- } - onSelectionChange={({ files, directory }) => { - setSelection(files as string[] | null); - setDirectory(directory as VirtualFolder); - }} - onSelectionFinish={finish} - /> -
; + // return + // + //
+ // + // {multi + // ?

Selected file(s): {selection != null ? selection.join(", ") : ""}

+ // :

Selected file: {selection ?? ""}

+ // } + //
+ //
+ // + // + //
+ //
+ // } + // onSelectionChange={({ files, directory }) => { + // setSelection(files as string[] | null); + // setDirectory(directory as VirtualFolder); + // }} + // onSelectionFinish={finish} + // /> + //
; } \ No newline at end of file diff --git a/packages/core/src/components/modals/index.ts b/packages/core/src/components/modals/index.ts index 9f34c9a..fb36cfd 100644 --- a/packages/core/src/components/modals/index.ts +++ b/packages/core/src/components/modals/index.ts @@ -1,8 +1,8 @@ export { DialogBox } from "./dialog-box/DialogBox"; export { WindowedModal } from "./_utils/WindowedModal"; -export { FileSelector } from "./file-selector/FileSelector"; +// export { FileSelector } from "./file-selector/FileSelector"; export { Share } from "./share/Share"; export { ModalsView } from "./ModalsView"; export type { ModalProps } from "./ModalView"; -export { FileSelectorMode } from "@prozilla-os/file-explorer"; \ No newline at end of file +// export { FileSelectorMode } from "@prozilla-os/file-explorer"; \ No newline at end of file diff --git a/packages/core/src/components/prozilla-os/ProzillaOS.tsx b/packages/core/src/components/prozilla-os/ProzillaOS.tsx index 48e9e2f..f8a823a 100644 --- a/packages/core/src/components/prozilla-os/ProzillaOS.tsx +++ b/packages/core/src/components/prozilla-os/ProzillaOS.tsx @@ -15,7 +15,7 @@ import { ModalsConfig, ModalsConfigOptions } from "../../features/system/configs import { TaskbarConfig, TaskbarConfigOptions } from "../../features/system/configs/taskbarConfig"; import { TrackingConfig, TrackingConfigOptions } from "../../features/system/configs/trackingConfig"; import { WindowsConfig, WindowsConfigOptions } from "../../features/system/configs/windowsConfig"; -import { OptionalInterface } from "../../types/util"; +import { OptionalInterface } from "../../types/utils"; import { TrackingManagerProvider } from "../../hooks/tracking/trackingManagerProvider"; import { VirtualDriveConfig, VirtualDriveConfigOptions } from "../../features/system/configs/virtualDriveConfig"; diff --git a/packages/core/src/components/taskbar/menus/HomeMenu.tsx b/packages/core/src/components/taskbar/menus/HomeMenu.tsx index 44ee342..5e03014 100644 --- a/packages/core/src/components/taskbar/menus/HomeMenu.tsx +++ b/packages/core/src/components/taskbar/menus/HomeMenu.tsx @@ -5,10 +5,10 @@ import taskbarStyles from "../Taskbar.module.css"; import { faCircleInfo, faFileLines, faGear, faImage, faPowerOff } from "@fortawesome/free-solid-svg-icons"; import { ReactSVG } from "react-svg"; import { useEffect, useState } from "react"; -import { utilStyles } from "../../.."; import { closeViewport, Vector2 } from "../../../features"; import { useWindowsManager, useVirtualRoot, useKeyboardListener, useSystemManager } from "../../../hooks"; -import { fileExplorer } from "@prozilla-os/file-explorer"; +import { utilStyles } from "../../../styles"; +// import { fileExplorer } from "@prozilla-os/file-explorer"; interface HomeMenuProps { active: boolean; @@ -82,7 +82,7 @@ export function HomeMenu({ active, setActive, search }: HomeMenuProps) {

Info

- + */}
diff --git a/packages/core/src/features/system/configs/appsConfig.ts b/packages/core/src/features/system/configs/appsConfig.ts index 628d412..f2a2d0d 100644 --- a/packages/core/src/features/system/configs/appsConfig.ts +++ b/packages/core/src/features/system/configs/appsConfig.ts @@ -1,5 +1,5 @@ import { App } from "."; -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface AppsConfigOptions { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/core/src/features/system/configs/desktopConfig.ts b/packages/core/src/features/system/configs/desktopConfig.ts index 9c976bc..662196a 100644 --- a/packages/core/src/features/system/configs/desktopConfig.ts +++ b/packages/core/src/features/system/configs/desktopConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface DesktopConfigOptions { /** Array of URLs of wallpaper images */ diff --git a/packages/core/src/features/system/configs/miscConfig.ts b/packages/core/src/features/system/configs/miscConfig.ts index 2490dd1..7908f7e 100644 --- a/packages/core/src/features/system/configs/miscConfig.ts +++ b/packages/core/src/features/system/configs/miscConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface MiscConfigOptions { /** diff --git a/packages/core/src/features/system/configs/modalsConfig.ts b/packages/core/src/features/system/configs/modalsConfig.ts index 3de4b69..e9d0e3d 100644 --- a/packages/core/src/features/system/configs/modalsConfig.ts +++ b/packages/core/src/features/system/configs/modalsConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; import { Vector2 } from "../../math/vector2"; export interface ModalsConfigOptions { diff --git a/packages/core/src/features/system/configs/taskbarConfig.ts b/packages/core/src/features/system/configs/taskbarConfig.ts index abb40e3..d2f9077 100644 --- a/packages/core/src/features/system/configs/taskbarConfig.ts +++ b/packages/core/src/features/system/configs/taskbarConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface TaskbarConfigOptions { /** diff --git a/packages/core/src/features/system/configs/trackingConfig.ts b/packages/core/src/features/system/configs/trackingConfig.ts index 3c2bcdc..5eab2fa 100644 --- a/packages/core/src/features/system/configs/trackingConfig.ts +++ b/packages/core/src/features/system/configs/trackingConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface TrackingConfigOptions { /** diff --git a/packages/core/src/features/system/configs/virtualDriveConfig.ts b/packages/core/src/features/system/configs/virtualDriveConfig.ts index aa9175e..972a03a 100644 --- a/packages/core/src/features/system/configs/virtualDriveConfig.ts +++ b/packages/core/src/features/system/configs/virtualDriveConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; export interface VirtualDriveConfigOptions { fileIcon: string; diff --git a/packages/core/src/features/system/configs/windowsConfig.ts b/packages/core/src/features/system/configs/windowsConfig.ts index 012a719..b143451 100644 --- a/packages/core/src/features/system/configs/windowsConfig.ts +++ b/packages/core/src/features/system/configs/windowsConfig.ts @@ -1,4 +1,4 @@ -import { OptionalInterface } from "../../../types/util"; +import { OptionalInterface } from "../../../types/utils"; import { Vector2 } from "../../math/vector2"; export interface WindowsConfigOptions { diff --git a/packages/core/src/features/virtual-drive/folder/virtualFolder.ts b/packages/core/src/features/virtual-drive/folder/virtualFolder.ts index 9df831a..6123956 100644 --- a/packages/core/src/features/virtual-drive/folder/virtualFolder.ts +++ b/packages/core/src/features/virtual-drive/folder/virtualFolder.ts @@ -4,7 +4,7 @@ import { VirtualFileJson } from "../file/virtualFile"; import { VirtualBase, VirtualBaseJson } from "../virtualBase"; import { VirtualFolderLink } from "."; import { VirtualFile, VirtualFileLink } from "../file"; -import { fileExplorer } from "@prozilla-os/file-explorer"; +// import { fileExplorer } from "@prozilla-os/file-explorer"; export interface VirtualFolderJson extends VirtualBaseJson { fls?: VirtualFileJson[]; @@ -288,7 +288,7 @@ export class VirtualFolder extends VirtualBase { * Opens this folder in file explorer */ open(windowsManager: WindowsManager) { - return windowsManager.open(fileExplorer.id, { path: this.path }); + return windowsManager.open("file-explorer", { path: this.path }); } /** diff --git a/packages/core/src/index.ts b/packages/core/src/main.ts similarity index 66% rename from packages/core/src/index.ts rename to packages/core/src/main.ts index 68035a1..250a51e 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/main.ts @@ -1,5 +1,9 @@ export * from "./features"; -export * from "./styles"; export * from "./components"; export * from "./hooks"; export * from "./constants"; +export * from "./styles"; + +import "./styles/global.css"; + +export type * from "./types/utils"; diff --git a/packages/core/src/styles/index.ts b/packages/core/src/styles/index.ts index 67d9480..cfcec05 100644 --- a/packages/core/src/styles/index.ts +++ b/packages/core/src/styles/index.ts @@ -1,3 +1 @@ -import "./global.css"; - export { default as utilStyles } from "./utils.module.css"; \ No newline at end of file diff --git a/packages/core/src/types/util.d.ts b/packages/core/src/types/utils.ts similarity index 100% rename from packages/core/src/types/util.d.ts rename to packages/core/src/types/utils.ts diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 5edb5fa..dc6269e 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,5 +1,13 @@ { "extends": "../../tsconfig.json", - "include": ["src/**/*"], + "compilerOptions": { + "baseUrl": "../..", + "composite": true, + "outDir": "dist", + "declaration": true, + "emitDeclarationOnly": true, + "noEmit": false + }, + "include": ["src", "vite.config.ts"], "exclude": ["node_modules"] } \ No newline at end of file diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts new file mode 100644 index 0000000..97392d7 --- /dev/null +++ b/packages/core/vite.config.ts @@ -0,0 +1,33 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react-swc"; +import dts from "vite-plugin-dts"; +import { libInjectCss } from "vite-plugin-lib-inject-css"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + react(), + libInjectCss(), + dts({ + include: ["src"], + outDir: "dist", + rollupTypes: true, + strictOutput: true + }) + ], + build: { + lib: { + entry: resolve(__dirname, "src/main.ts"), + formats: ["es"], + }, + rollupOptions: { + external: ["react", "react/jsx-runtime"], + output: { + assetFileNames: "assets/[name][extname]", + entryFileNames: "[name].js", + } + }, + sourcemap: true + } +}); \ No newline at end of file diff --git a/packages/prozilla-os/CHANGELOG.md b/packages/prozilla-os/CHANGELOG.md index b1b8e98..006a237 100644 --- a/packages/prozilla-os/CHANGELOG.md +++ b/packages/prozilla-os/CHANGELOG.md @@ -1,5 +1,16 @@ # prozilla-os +## 1.0.12 + +### Patch Changes + +- Optimized building process for each package using Vite +- Updated dependencies + - @prozilla-os/file-explorer@1.0.9 + - @prozilla-os/text-editor@1.0.2 + - @prozilla-os/terminal@1.0.2 + - @prozilla-os/core@1.0.12 + ## 1.0.11 ### Patch Changes diff --git a/packages/prozilla-os/package.json b/packages/prozilla-os/package.json index eecc6f9..42c53ef 100644 --- a/packages/prozilla-os/package.json +++ b/packages/prozilla-os/package.json @@ -1,17 +1,18 @@ { "name": "prozilla-os", "description": "a React component library written in TypeScript for building web-based operating systems, made by Prozilla.", - "version": "1.0.11", - "homepage": "https://os.prozilla.dev/", + "version": "1.0.12", + "homepage": "https://os.prozilla.dev", "author": { "name": "Prozilla", "email": "business@prozilla.dev", "url": "https://prozilla.dev/" }, - "main": "src/index.ts", "type": "module", + "main": "dist/main.js", + "types": "dist/main.d.ts", "scripts": { - "test": "tsc --watch" + "build": "tsc && vite build" }, "repository": { "type": "git", @@ -19,14 +20,6 @@ "directory": "packages/prozilla-os" }, "license": "MIT", - "keywords": [ - "react", - "typescript", - "web-os", - "components", - "internet-os", - "virtual-desktop" - ], "dependencies": { "@prozilla-os/core": "workspace:*", "@prozilla-os/file-explorer": "workspace:*", @@ -34,13 +27,33 @@ "@prozilla-os/text-editor": "workspace:*" }, "devDependencies": { - "typescript": "^5.4.5" + "@types/node": "^20.14.5", + "@types/react": "^18.3.3", + "@vitejs/plugin-react-swc": "^3.7.0", + "typescript": "^5.4.5", + "vite": "^5.3.1", + "vite-plugin-dts": "^3.9.1", + "vite-plugin-lib-inject-css": "^2.1.1" + }, + "peerDependencies": { + "react": "^18.3.1" }, "files": [ - "src/**/*" + "dist" + ], + "sideEffects": [ + "**/*.css" ], "publishConfig": { "registry": "https://registry.npmjs.org/", "access": "public" - } + }, + "keywords": [ + "react", + "typescript", + "web-os", + "components", + "internet-os", + "virtual-desktop" + ] } diff --git a/packages/prozilla-os/src/index.ts b/packages/prozilla-os/src/main.ts similarity index 73% rename from packages/prozilla-os/src/index.ts rename to packages/prozilla-os/src/main.ts index 12805d6..7a8f07c 100644 --- a/packages/prozilla-os/src/index.ts +++ b/packages/prozilla-os/src/main.ts @@ -1,4 +1,4 @@ export * from "@prozilla-os/core"; export * from "@prozilla-os/file-explorer"; export * from "@prozilla-os/terminal"; -export * from "@prozilla-os/text-editor"; \ No newline at end of file +export * from "@prozilla-os/text-editor"; diff --git a/packages/prozilla-os/src/types/utils.ts b/packages/prozilla-os/src/types/utils.ts new file mode 100644 index 0000000..a4a292b --- /dev/null +++ b/packages/prozilla-os/src/types/utils.ts @@ -0,0 +1,5 @@ +export enum FileSelectorMode { + None = 0, + Single = 1, + Multi = 2 +} \ No newline at end of file diff --git a/packages/prozilla-os/src/types/vite-env.d.ts b/packages/prozilla-os/src/types/vite-env.d.ts new file mode 100644 index 0000000..151aa68 --- /dev/null +++ b/packages/prozilla-os/src/types/vite-env.d.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/packages/prozilla-os/tsconfig.json b/packages/prozilla-os/tsconfig.json index 5edb5fa..bbbda39 100644 --- a/packages/prozilla-os/tsconfig.json +++ b/packages/prozilla-os/tsconfig.json @@ -1,5 +1,17 @@ { "extends": "../../tsconfig.json", - "include": ["src/**/*"], + "compilerOptions": { + "baseUrl": "../..", + "composite": true, + "outDir": "dist", + "declaration": true, + "emitDeclarationOnly": true, + "noEmit": false, + "paths": { + "@prozilla-os/core": ["packages/core/dist/main"], + "@prozilla-os/*": ["packages/apps/*/dist/main"] + } + }, + "include": ["src", "vite.config.ts"], "exclude": ["node_modules"] } \ No newline at end of file diff --git a/packages/prozilla-os/vite.config.ts b/packages/prozilla-os/vite.config.ts new file mode 100644 index 0000000..5a25b8b --- /dev/null +++ b/packages/prozilla-os/vite.config.ts @@ -0,0 +1,35 @@ +import { defineConfig } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react-swc"; +import dts from "vite-plugin-dts"; +import { libInjectCss } from "vite-plugin-lib-inject-css"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + react(), + libInjectCss(), + dts({ + include: ["src"], + outDir: "dist", + rollupTypes: true, + strictOutput: true, + pathsToAliases: false, + bundledPackages: ["@prozilla-os/*"] + }) + ], + build: { + lib: { + entry: resolve(__dirname, "src/main.ts"), + formats: ["es"], + }, + rollupOptions: { + external: ["react", "react/jsx-runtime", /^@prozilla-os\//g], + output: { + assetFileNames: "assets/[name][extname]", + entryFileNames: "[name].js", + } + }, + sourcemap: true + } +}); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ec6a84..30bb3ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,9 +17,6 @@ importers: '@fortawesome/react-fontawesome': specifier: ^0.2.2 version: 0.2.2(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.3.1) - '@vitejs/plugin-react-swc': - specifier: ^3.7.0 - version: 3.7.0(vite@5.3.1(@types/node@20.14.5)) anser: specifier: ^2.1.1 version: 2.1.1 @@ -30,7 +27,7 @@ importers: specifier: ^7.4.7 version: 7.4.7(react@18.3.1) prozilla-os: - specifier: workspace:^ + specifier: workspace:* version: link:packages/prozilla-os react: specifier: ^18.3.1 @@ -52,10 +49,10 @@ importers: version: 6.0.2(react@18.3.1) vite: specifier: ^5.3.1 - version: 5.3.1(@types/node@20.14.5) + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) vite-plugin-svgr: specifier: ^4.2.0 - version: 4.2.0(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.5)) + version: 4.2.0(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) devDependencies: '@changesets/cli': specifier: ^2.27.5 @@ -70,8 +67,8 @@ importers: specifier: ^6.1.0 version: 6.1.0 '@types/node': - specifier: ^20.14.5 - version: 20.14.5 + specifier: ^20.14.6 + version: 20.14.6 '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -81,12 +78,15 @@ importers: '@types/react-syntax-highlighter': specifier: ^15.5.13 version: 15.5.13 + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.3.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) eslint: specifier: ^8.57.0 version: 8.57.0 eslint-plugin-react: - specifier: ^7.34.2 - version: 7.34.2(eslint@8.57.0) + specifier: ^7.34.3 + version: 7.34.3(eslint@8.57.0) eslint-plugin-react-refresh: specifier: ^0.4.7 version: 0.4.7(eslint@8.57.0) @@ -107,7 +107,7 @@ importers: version: 7.13.1(eslint@8.57.0)(typescript@5.4.5) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(optionator@0.9.4)(stylelint@16.6.1(typescript@5.4.5))(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.5)) + version: 0.6.4(eslint@8.57.0)(optionator@0.9.4)(stylelint@16.6.1(typescript@5.4.5))(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))(vue-tsc@1.8.27(typescript@5.4.5)) packages/apps/file-explorer: dependencies: @@ -127,9 +127,27 @@ importers: specifier: ^18.3.1 version: 18.3.1 devDependencies: + '@types/node': + specifier: ^20.14.5 + version: 20.14.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) typescript: specifier: ^5.4.5 version: 5.4.5 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) + vite-plugin-lib-inject-css: + specifier: ^2.1.1 + version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) packages/apps/terminal: dependencies: @@ -146,9 +164,27 @@ importers: specifier: ^18.3.1 version: 18.3.1 devDependencies: + '@types/node': + specifier: ^20.14.5 + version: 20.14.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) typescript: specifier: ^5.4.5 version: 5.4.5 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) + vite-plugin-lib-inject-css: + specifier: ^2.1.1 + version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) packages/apps/text-editor: dependencies: @@ -159,9 +195,27 @@ importers: specifier: ^18.3.1 version: 18.3.1 devDependencies: + '@types/node': + specifier: ^20.14.5 + version: 20.14.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) typescript: specifier: ^5.4.5 version: 5.4.5 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) + vite-plugin-lib-inject-css: + specifier: ^2.1.1 + version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) packages/core: dependencies: @@ -177,9 +231,6 @@ importers: '@fortawesome/react-fontawesome': specifier: ^0.2.2 version: 0.2.2(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.3.1) - '@prozilla-os/file-explorer': - specifier: workspace:* - version: link:../apps/file-explorer react: specifier: ^18.3.1 version: 18.3.1 @@ -198,10 +249,25 @@ importers: devDependencies: '@types/node': specifier: ^20.14.5 - version: 20.14.5 + version: 20.14.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) typescript: specifier: ^5.4.5 version: 5.4.5 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) + vite-plugin-css-modules: + specifier: ^0.0.1 + version: 0.0.1(@babel/generator@7.24.7)(@babel/parser@7.24.7)(@babel/traverse@7.24.7)(less@4.2.0)(postcss-modules@4.3.1(postcss@8.4.38))(postcss@8.4.38)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) packages/prozilla-os: dependencies: @@ -217,10 +283,31 @@ importers: '@prozilla-os/text-editor': specifier: workspace:* version: link:../apps/text-editor + react: + specifier: ^18.3.1 + version: 18.3.1 devDependencies: + '@types/node': + specifier: ^20.14.5 + version: 20.14.6 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) typescript: specifier: ^5.4.5 version: 5.4.5 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.6)(less@4.2.0) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) + vite-plugin-lib-inject-css: + specifier: ^2.1.1 + version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)) packages: @@ -228,6 +315,58 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@ast-grep/napi-darwin-arm64@0.22.6': + resolution: {integrity: sha512-L9rEGJ8fNi5LxbZj860wbXxjX7DLNV799zcTaPOSzYadvNyhMY3LWvDXd45Vtx6Dh8QRtCoEMQmw8KaRCEjm9A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@ast-grep/napi-darwin-x64@0.22.6': + resolution: {integrity: sha512-0iuM6iDJNhcPd6a/JJr64AallR7ttGW/MvUujfQdvJEZY5p9LK35xm23dULznW0tIMgwtMKPRaprgk8LPondKg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@ast-grep/napi-linux-arm64-gnu@0.22.6': + resolution: {integrity: sha512-9PAqNJlAQfFm1RW0DVCM/S4gFHdppxUTWacB3qEeJZXgdLnoH0KGQa4z3Xo559SPYDKZy0VnY02mZ3XJ+v6/Vw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@ast-grep/napi-linux-x64-gnu@0.22.6': + resolution: {integrity: sha512-nZf+gxXVrZqvP1LN6HwzOMA4brF3umBXfMequQzv8S6HeJ4c34P23F0Tw8mHtQpVYP9PQWJUvt3LJQ8Xvd5Hiw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@ast-grep/napi-linux-x64-musl@0.22.6': + resolution: {integrity: sha512-gcJeBMgJQf2pZZo0lgH0Vg4ycyujM7Am8VlomXhavC/dPpkddA1tiHSIC4fCNneLU1EqHITy3ALSmM4GLdsjBw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@ast-grep/napi-win32-arm64-msvc@0.22.6': + resolution: {integrity: sha512-YDDzvPIyl4ti8xZfjvGSGVCX9JJjMQjyWPlXcwRpiLRnHThtHTDL8PyE2yq+gAPuZ28QbrygMkP9EKXIyYFVcQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@ast-grep/napi-win32-ia32-msvc@0.22.6': + resolution: {integrity: sha512-w5P0MDcBD3bifC2K9nCDEFYacy8HQnXdf6fX6cIE/7xL8XEDs6D1lQjGewrZDcMAXVXUQfupj4P27ZsJRmuIoQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@ast-grep/napi-win32-x64-msvc@0.22.6': + resolution: {integrity: sha512-1aaHvgsCBwUP0tDf4HXPMpUV/nUwsOWgRCiBc2zIJjdEjT9TTk795EIX9Z1Nc0OMCrxVEceyiKcYTofXa0Fpxw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@ast-grep/napi@0.22.6': + resolution: {integrity: sha512-kNF87HiI4omHC7VzyBZSvqOAXtMlSDRF2YX+O5ya0XKv/7/GYms1opLQ+BQ9twLLDj0WsSFX4MYg0TrinZTxTg==} + engines: {node: '>= 10'} + '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -270,6 +409,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + '@babel/helper-simple-access@7.24.7': resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} @@ -303,6 +446,18 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.24.7': resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} @@ -619,6 +774,19 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@microsoft/api-extractor-model@7.28.13': + resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} + + '@microsoft/api-extractor@7.43.0': + resolution: {integrity: sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==} + hasBin: true + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -724,6 +892,28 @@ packages: cpu: [x64] os: [win32] + '@rushstack/node-core-library@4.0.2': + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.2': + resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + + '@rushstack/terminal@0.10.0': + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@4.19.1': + resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -792,68 +982,68 @@ packages: peerDependencies: '@svgr/core': '*' - '@swc/core-darwin-arm64@1.6.1': - resolution: {integrity: sha512-u6GdwOXsOEdNAdSI6nWq6G2BQw5HiSNIZVcBaH1iSvBnxZvWbnIKyDiZKaYnDwTLHLzig2GuUjjE2NaCJPy4jg==} + '@swc/core-darwin-arm64@1.6.3': + resolution: {integrity: sha512-3r7cJf1BcE30iyF1rnOSKrEzIR+cqnyYSZvivrm62TZdXVsIjfXe1xulsKGxZgNeLY5erIu7ukvMvBvPhnQvqA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.6.1': - resolution: {integrity: sha512-/tXwQibkDNLVbAtr7PUQI0iQjoB708fjhDDDfJ6WILSBVZ3+qs/LHjJ7jHwumEYxVq1XA7Fv2Q7SE/ZSQoWHcQ==} + '@swc/core-darwin-x64@1.6.3': + resolution: {integrity: sha512-8GLZ23IgVpF5xh2SbS5ZW/12/EEBuRU1hFOLB5rKERJU0y1RJ6YhDMf/FuOWhfHQcFM7TeedBwHIzaF+tdKKlw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.6.1': - resolution: {integrity: sha512-aDgipxhJTms8iH78emHVutFR2c16LNhO+NTRCdYi+X4PyIn58/DyYTH6VDZ0AeEcS5f132ZFldU5AEgExwihXA==} + '@swc/core-linux-arm-gnueabihf@1.6.3': + resolution: {integrity: sha512-VQ/bduX7WhLOlGbJLMG7UH0LBehjjx43R4yuk55rjjJLqpvX5fQzMsWhQdIZ5vsc+4ORzdgtEAlpumTv6bsD1A==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.6.1': - resolution: {integrity: sha512-XkJ+eO4zUKG5g458RyhmKPyBGxI0FwfWFgpfIj5eDybxYJ6s4HBT5MoxyBLorB5kMlZ0XoY/usUMobPVY3nL0g==} + '@swc/core-linux-arm64-gnu@1.6.3': + resolution: {integrity: sha512-jHIQ/PCwtdDBIF/BiC5DochswuCAIW/T5skJ+eDMbta7+QtEnZCXTZWpT5ORoEY/gtsE2fjpOA4TS6fBBvXqUw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.6.1': - resolution: {integrity: sha512-dr6YbLBg/SsNxs1hDqJhxdcrS8dGMlOXJwXIrUvACiA8jAd6S5BxYCaqsCefLYXtaOmu0bbx1FB/evfodqB70Q==} + '@swc/core-linux-arm64-musl@1.6.3': + resolution: {integrity: sha512-gA6velEUD27Dwu0BlR9hCcFzkWq2YL2pDAU5qbgeuGhaMiUCBssfqTQB+2ctEnV+AZx+hSMJOHvtA+uFZjfRrw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.6.1': - resolution: {integrity: sha512-A0b/3V+yFy4LXh3O9umIE7LXPC7NBWdjl6AQYqymSMcMu0EOb1/iygA6s6uWhz9y3e172Hpb9b/CGsuD8Px/bg==} + '@swc/core-linux-x64-gnu@1.6.3': + resolution: {integrity: sha512-fy4qoBDr5I8r+ZNCZxs/oZcmu4j/8mtSud6Ka102DaSxEjNg0vfIdo9ITsVIPsofhUTmDKjQsPB2O7YUlJAioQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.6.1': - resolution: {integrity: sha512-5dJjlzZXhC87nZZZWbpiDP8kBIO0ibis893F/rtPIQBI5poH+iJuA32EU3wN4/WFHeK4et8z6SGSVghPtWyk4g==} + '@swc/core-linux-x64-musl@1.6.3': + resolution: {integrity: sha512-c/twcMbq/Gpq47G+b3kWgoaCujpXO11aRgJx6am+CprvP4uNeBHEpQkxD+DQmdWFHisZd0i9GB8NG3e7L9Rz9Q==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.6.1': - resolution: {integrity: sha512-HBi1ZlwvfcUibLtT3g/lP57FaDPC799AD6InolB2KSgkqyBbZJ9wAXM8/CcH67GLIP0tZ7FqblrJTzGXxetTJQ==} + '@swc/core-win32-arm64-msvc@1.6.3': + resolution: {integrity: sha512-y6RxMtX45acReQmzkxcEfJscfBXce6QjuNgWQHHs9exA592BZzmolDUwgmAyjyvopz1lWX+KdymdZFKvuDSx4w==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.6.1': - resolution: {integrity: sha512-AKqHohlWERclexar5y6ux4sQ8yaMejEXNxeKXm7xPhXrp13/1p4/I3E5bPVX/jMnvpm4HpcKSP0ee2WsqmhhPw==} + '@swc/core-win32-ia32-msvc@1.6.3': + resolution: {integrity: sha512-41h7z3xgukl1HDDwhquaeOPSP1OWeHl+mWKnJVmmwd3ui/oowUDCO856qa6JagBgPSnAGfyXwv6vthuXwyCcWA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.6.1': - resolution: {integrity: sha512-0dLdTLd+ONve8kgC5T6VQ2Y5G+OZ7y0ujjapnK66wpvCBM6BKYGdT/OKhZKZydrC5gUKaxFN6Y5oOt9JOFUrOQ==} + '@swc/core-win32-x64-msvc@1.6.3': + resolution: {integrity: sha512-//bnwo9b8Vp1ED06eXCHyGZ5xIpdkQgg2fuFDdtd1FITl7r5bdQh2ryRzPiKiGwgXZwZQitUshI4JeEX9IuW+Q==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.6.1': - resolution: {integrity: sha512-Yz5uj5hNZpS5brLtBvKY0L4s2tBAbQ4TjmW8xF1EC3YLFxQRrUjMP49Zm1kp/KYyYvTkSaG48Ffj2YWLu9nChw==} + '@swc/core@1.6.3': + resolution: {integrity: sha512-mZpei+LqE+AL+nwgERMQey9EJA9/yhHTN6nwbobH5GnSij/lhfTdGfAb1iumOrroqEcXbHUaK//7wOw7DjBGdA==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -870,6 +1060,21 @@ packages: '@tanem/svg-injector@10.1.68': resolution: {integrity: sha512-UkJajeR44u73ujtr5GVSbIlELDWD/mzjqWe54YMK61ljKxFcJoPd9RBSaO7xj02ISCWUqJW99GjrS+sVF0UnrA==} + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/eslint@8.56.10': resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} @@ -891,8 +1096,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.14.5': - resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + '@types/node@20.14.6': + resolution: {integrity: sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -981,6 +1186,38 @@ packages: peerDependencies: vite: ^4 || ^5 + '@vitejs/plugin-react@4.3.1': + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + + '@volar/language-core@1.11.1': + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + + '@volar/source-map@1.11.1': + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + + '@volar/typescript@1.11.1': + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + + '@vue/compiler-core@3.4.29': + resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} + + '@vue/compiler-dom@3.4.29': + resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} + + '@vue/language-core@1.8.27': + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.4.29': + resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1220,9 +1457,16 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1233,6 +1477,9 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} @@ -1299,6 +1546,9 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -1349,8 +1599,8 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - electron-to-chromium@1.4.805: - resolution: {integrity: sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw==} + electron-to-chromium@1.4.807: + resolution: {integrity: sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A==} email-addresses@5.0.0: resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} @@ -1370,6 +1620,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1429,8 +1683,8 @@ packages: peerDependencies: eslint: '>=7' - eslint-plugin-react@7.34.2: - resolution: {integrity: sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==} + eslint-plugin-react@7.34.3: + resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -1589,6 +1843,9 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + generic-names@4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -1708,6 +1965,10 @@ packages: hastscript@6.0.0: resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} @@ -1725,14 +1986,36 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-replace-symbols@1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -1890,6 +2173,9 @@ packages: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} engines: {node: '>= 0.4'} + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -1903,6 +2189,9 @@ packages: iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1963,6 +2252,14 @@ packages: known-css-properties@0.31.0: resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + less@4.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} + engines: {node: '>=6'} + hasBin: true + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1974,6 +2271,10 @@ packages: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -1982,6 +2283,15 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -1991,6 +2301,9 @@ packages: lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -2007,6 +2320,17 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -2047,10 +2371,18 @@ packages: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2069,6 +2401,9 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2077,6 +2412,11 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + engines: {node: '>= 4.4.x'} + hasBin: true + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -2178,6 +2518,13 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2228,6 +2575,35 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules@4.3.1: + resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + peerDependencies: + postcss: ^8.0.0 + postcss-resolve-nested-selector@0.1.1: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} @@ -2275,6 +2651,9 @@ packages: property-information@5.6.0: resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} @@ -2311,6 +2690,10 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + react-router-dom@6.23.1: resolution: {integrity: sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==} engines: {node: '>=14.0.0'} @@ -2400,6 +2783,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -2436,6 +2822,9 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} @@ -2447,6 +2836,11 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} @@ -2510,6 +2904,10 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + space-separated-tokens@1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} @@ -2534,6 +2932,13 @@ packages: stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-hash@1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2590,6 +2995,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-hyperlinks@3.0.0: resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} engines: {node: '>=14.18'} @@ -2707,6 +3116,11 @@ packages: typescript: optional: true + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} @@ -2741,6 +3155,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validator@13.12.0: + resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} + engines: {node: '>= 0.10'} + vite-plugin-checker@0.6.4: resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} @@ -2772,6 +3190,33 @@ packages: vue-tsc: optional: true + vite-plugin-css-modules@0.0.1: + resolution: {integrity: sha512-032ydX4sl5iwaPLwEsSHBFIHfHax80tiOYIZI2qxUtafBIBIhGP5RwvfEPsW3C4DNzmwf7pBKDWK27W4Kb742A==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + '@babel/generator': ^7.15.4 + '@babel/parser': ^7.15.6 + '@babel/traverse': ^7.15.4 + less: ^4.1.1 + postcss: ^8.3.6 + postcss-modules: ^4.2.2 + vite: '>2.0.0-0' + + vite-plugin-dts@3.9.1: + resolution: {integrity: sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + + vite-plugin-lib-inject-css@2.1.1: + resolution: {integrity: sha512-RIMeVnqBK/8I0E9nnQWzws6pdj5ilRMPJSnXYb6nWxNR4EmDPnksnb/ACoR5Fy7QfzULqS4gtQMrjwnNCC9zoA==} + peerDependencies: + vite: '*' + vite-plugin-svgr@4.2.0: resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==} peerDependencies: @@ -2829,6 +3274,15 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue-tsc@1.8.27: + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} @@ -2899,6 +3353,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -2919,6 +3376,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + snapshots: '@ampproject/remapping@2.3.0': @@ -2926,6 +3388,41 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@ast-grep/napi-darwin-arm64@0.22.6': + optional: true + + '@ast-grep/napi-darwin-x64@0.22.6': + optional: true + + '@ast-grep/napi-linux-arm64-gnu@0.22.6': + optional: true + + '@ast-grep/napi-linux-x64-gnu@0.22.6': + optional: true + + '@ast-grep/napi-linux-x64-musl@0.22.6': + optional: true + + '@ast-grep/napi-win32-arm64-msvc@0.22.6': + optional: true + + '@ast-grep/napi-win32-ia32-msvc@0.22.6': + optional: true + + '@ast-grep/napi-win32-x64-msvc@0.22.6': + optional: true + + '@ast-grep/napi@0.22.6': + optionalDependencies: + '@ast-grep/napi-darwin-arm64': 0.22.6 + '@ast-grep/napi-darwin-x64': 0.22.6 + '@ast-grep/napi-linux-arm64-gnu': 0.22.6 + '@ast-grep/napi-linux-x64-gnu': 0.22.6 + '@ast-grep/napi-linux-x64-musl': 0.22.6 + '@ast-grep/napi-win32-arm64-msvc': 0.22.6 + '@ast-grep/napi-win32-ia32-msvc': 0.22.6 + '@ast-grep/napi-win32-x64-msvc': 0.22.6 + '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -2999,6 +3496,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-simple-access@7.24.7': dependencies: '@babel/traverse': 7.24.7 @@ -3032,6 +3531,16 @@ snapshots: dependencies: '@babel/types': 7.24.7 + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 @@ -3396,6 +3905,41 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 + '@microsoft/api-extractor-model@7.28.13(@types/node@20.14.6)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.6) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.43.0(@types/node@20.14.6)': + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.14.6) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.6) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@20.14.6) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.14.6) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.16.2': + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + + '@microsoft/tsdoc@0.14.2': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -3466,6 +4010,38 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true + '@rushstack/node-core-library@4.0.2(@types/node@20.14.6)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 20.14.6 + + '@rushstack/rig-package@0.5.2': + dependencies: + resolve: 1.22.8 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.10.0(@types/node@20.14.6)': + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.6) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.14.6 + + '@rushstack/ts-command-line@4.19.1(@types/node@20.14.6)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.14.6) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 @@ -3536,51 +4112,51 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.6.1': + '@swc/core-darwin-arm64@1.6.3': optional: true - '@swc/core-darwin-x64@1.6.1': + '@swc/core-darwin-x64@1.6.3': optional: true - '@swc/core-linux-arm-gnueabihf@1.6.1': + '@swc/core-linux-arm-gnueabihf@1.6.3': optional: true - '@swc/core-linux-arm64-gnu@1.6.1': + '@swc/core-linux-arm64-gnu@1.6.3': optional: true - '@swc/core-linux-arm64-musl@1.6.1': + '@swc/core-linux-arm64-musl@1.6.3': optional: true - '@swc/core-linux-x64-gnu@1.6.1': + '@swc/core-linux-x64-gnu@1.6.3': optional: true - '@swc/core-linux-x64-musl@1.6.1': + '@swc/core-linux-x64-musl@1.6.3': optional: true - '@swc/core-win32-arm64-msvc@1.6.1': + '@swc/core-win32-arm64-msvc@1.6.3': optional: true - '@swc/core-win32-ia32-msvc@1.6.1': + '@swc/core-win32-ia32-msvc@1.6.3': optional: true - '@swc/core-win32-x64-msvc@1.6.1': + '@swc/core-win32-x64-msvc@1.6.3': optional: true - '@swc/core@1.6.1': + '@swc/core@1.6.3': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.8 optionalDependencies: - '@swc/core-darwin-arm64': 1.6.1 - '@swc/core-darwin-x64': 1.6.1 - '@swc/core-linux-arm-gnueabihf': 1.6.1 - '@swc/core-linux-arm64-gnu': 1.6.1 - '@swc/core-linux-arm64-musl': 1.6.1 - '@swc/core-linux-x64-gnu': 1.6.1 - '@swc/core-linux-x64-musl': 1.6.1 - '@swc/core-win32-arm64-msvc': 1.6.1 - '@swc/core-win32-ia32-msvc': 1.6.1 - '@swc/core-win32-x64-msvc': 1.6.1 + '@swc/core-darwin-arm64': 1.6.3 + '@swc/core-darwin-x64': 1.6.3 + '@swc/core-linux-arm-gnueabihf': 1.6.3 + '@swc/core-linux-arm64-gnu': 1.6.3 + '@swc/core-linux-arm64-musl': 1.6.3 + '@swc/core-linux-x64-gnu': 1.6.3 + '@swc/core-linux-x64-musl': 1.6.3 + '@swc/core-win32-arm64-msvc': 1.6.3 + '@swc/core-win32-ia32-msvc': 1.6.3 + '@swc/core-win32-x64-msvc': 1.6.3 '@swc/counter@0.1.3': {} @@ -3594,6 +4170,29 @@ snapshots: content-type: 1.0.5 tslib: 2.6.3 + '@types/argparse@1.0.38': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.24.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.24.7 + '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 @@ -3613,7 +4212,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.14.5': + '@types/node@20.14.6': dependencies: undici-types: 5.26.5 @@ -3721,13 +4320,66 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react-swc@3.7.0(vite@5.3.1(@types/node@20.14.5))': + '@vitejs/plugin-react-swc@3.7.0(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))': dependencies: - '@swc/core': 1.6.1 - vite: 5.3.1(@types/node@20.14.5) + '@swc/core': 1.6.3 + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) transitivePeerDependencies: - '@swc/helpers' + '@vitejs/plugin-react@4.3.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) + transitivePeerDependencies: + - supports-color + + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/typescript@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + '@vue/compiler-core@3.4.29': + dependencies: + '@babel/parser': 7.24.7 + '@vue/shared': 3.4.29 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.29': + dependencies: + '@vue/compiler-core': 3.4.29 + '@vue/shared': 3.4.29 + + '@vue/language-core@1.8.27(typescript@5.4.5)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.29 + '@vue/shared': 3.4.29 + computeds: 0.0.1 + minimatch: 9.0.4 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.4.5 + + '@vue/shared@3.4.29': {} + acorn-jsx@5.3.2(acorn@8.12.0): dependencies: acorn: 8.12.0 @@ -3890,7 +4542,7 @@ snapshots: browserslist@4.23.1: dependencies: caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.805 + electron-to-chromium: 1.4.807 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -3987,14 +4639,23 @@ snapshots: commander@8.3.0: {} + commander@9.5.0: + optional: true + commondir@1.0.1: {} + computeds@0.0.1: {} + concat-map@0.0.1: {} content-type@1.0.5: {} convert-source-map@2.0.0: {} + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + cosmiconfig@8.3.6(typescript@5.4.5): dependencies: import-fresh: 3.3.0 @@ -4067,6 +4728,8 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 + de-indent@1.0.2: {} + debug@4.3.5: dependencies: ms: 2.1.2 @@ -4115,7 +4778,7 @@ snapshots: no-case: 3.0.4 tslib: 2.6.3 - electron-to-chromium@1.4.805: {} + electron-to-chromium@1.4.807: {} email-addresses@5.0.0: {} @@ -4130,6 +4793,11 @@ snapshots: env-paths@2.2.1: {} + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -4264,7 +4932,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-react@7.34.2(eslint@8.57.0): + eslint-plugin-react@7.34.3(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -4484,6 +5152,10 @@ snapshots: functions-have-names@1.2.3: {} + generic-names@4.0.0: + dependencies: + loader-utils: 3.3.1 + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -4617,6 +5289,8 @@ snapshots: property-information: 5.6.0 space-separated-tokens: 1.1.5 + he@1.2.0: {} + highlight.js@10.7.3: {} hosted-git-info@2.8.9: {} @@ -4629,13 +5303,29 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + + icss-replace-symbols@1.1.0: {} + + icss-utils@5.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + ignore@5.3.1: {} + image-size@0.5.5: + optional: true + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -4774,6 +5464,8 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 + is-what@3.14.1: {} + is-windows@1.0.2: {} isarray@2.0.5: {} @@ -4788,6 +5480,8 @@ snapshots: reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 + jju@1.4.0: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -4840,6 +5534,22 @@ snapshots: known-css-properties@0.31.0: {} + kolorist@1.8.0: {} + + less@4.2.0: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.6.3 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -4854,6 +5564,8 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + loader-utils@3.3.1: {} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -4862,12 +5574,20 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.camelcase@4.3.0: {} + + lodash.get@4.4.2: {} + + lodash.isequal@4.5.0: {} + lodash.merge@4.6.2: {} lodash.startcase@4.4.0: {} lodash.truncate@4.4.2: {} + lodash@4.17.21: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -4890,6 +5610,20 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + make-dir@3.1.0: dependencies: semver: 6.3.1 @@ -4929,8 +5663,15 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime@1.6.0: + optional: true + min-indent@1.0.1: {} + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.11 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -4949,10 +5690,18 @@ snapshots: ms@2.1.2: {} + muggle-string@0.3.1: {} + nanoid@3.3.7: {} natural-compare@1.4.0: {} + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.4.1 + optional: true + no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -5072,6 +5821,10 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-node-version@1.0.1: {} + + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -5102,6 +5855,39 @@ snapshots: possible-typed-array-names@1.0.0: {} + postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-modules-values@4.0.0(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + + postcss-modules@4.3.1(postcss@8.4.38): + dependencies: + generic-names: 4.0.0 + icss-replace-symbols: 1.1.0 + lodash.camelcase: 4.3.0 + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) + string-hash: 1.1.3 + postcss-resolve-nested-selector@0.1.1: {} postcss-safe-parser@7.0.0(postcss@8.4.38): @@ -5146,6 +5932,9 @@ snapshots: dependencies: xtend: 4.0.2 + prr@1.0.1: + optional: true + pseudomap@1.0.2: {} punycode@2.3.1: {} @@ -5176,6 +5965,8 @@ snapshots: react-is@16.13.1: {} + react-refresh@0.14.2: {} + react-router-dom@6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@remix-run/router': 1.16.1 @@ -5282,6 +6073,11 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.19.0: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + resolve@1.22.8: dependencies: is-core-module: 2.13.1 @@ -5341,6 +6137,9 @@ snapshots: safer-buffer@2.1.2: {} + sax@1.4.1: + optional: true + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -5349,6 +6148,10 @@ snapshots: semver@6.3.1: {} + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.6.2: {} set-blocking@2.0.0: {} @@ -5416,6 +6219,8 @@ snapshots: source-map-js@1.2.0: {} + source-map@0.6.1: {} + space-separated-tokens@1.1.5: {} spawndamnit@2.0.0: @@ -5443,6 +6248,10 @@ snapshots: dependencies: mixme: 0.5.10 + string-argv@0.3.2: {} + + string-hash@1.1.3: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5556,6 +6365,10 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-hyperlinks@3.0.0: dependencies: has-flag: 4.0.0 @@ -5677,6 +6490,8 @@ snapshots: transitivePeerDependencies: - supports-color + typescript@5.4.2: {} + typescript@5.4.5: {} unbox-primitive@1.0.2: @@ -5709,7 +6524,9 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-plugin-checker@0.6.4(eslint@8.57.0)(optionator@0.9.4)(stylelint@16.6.1(typescript@5.4.5))(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.5)): + validator@13.12.0: {} + + vite-plugin-checker@0.6.4(eslint@8.57.0)(optionator@0.9.4)(stylelint@16.6.1(typescript@5.4.5))(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))(vue-tsc@1.8.27(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.7 ansi-escapes: 4.3.2 @@ -5722,7 +6539,7 @@ snapshots: semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.3.1(@types/node@20.14.5) + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -5732,26 +6549,62 @@ snapshots: optionator: 0.9.4 stylelint: 16.6.1(typescript@5.4.5) typescript: 5.4.5 + vue-tsc: 1.8.27(typescript@5.4.5) - vite-plugin-svgr@4.2.0(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.5)): + vite-plugin-css-modules@0.0.1(@babel/generator@7.24.7)(@babel/parser@7.24.7)(@babel/traverse@7.24.7)(less@4.2.0)(postcss-modules@4.3.1(postcss@8.4.38))(postcss@8.4.38)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)): + dependencies: + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/traverse': 7.24.7 + less: 4.2.0 + postcss: 8.4.38 + postcss-modules: 4.3.1(postcss@8.4.38) + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) + + vite-plugin-dts@3.9.1(@types/node@20.14.6)(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@20.14.6) + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@vue/language-core': 1.8.27(typescript@5.4.5) + debug: 4.3.5 + kolorist: 1.8.0 + magic-string: 0.30.10 + typescript: 5.4.5 + vue-tsc: 1.8.27(typescript@5.4.5) + optionalDependencies: + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-plugin-lib-inject-css@2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)): + dependencies: + '@ast-grep/napi': 0.22.6 + magic-string: 0.30.10 + picocolors: 1.0.1 + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) + + vite-plugin-svgr@4.2.0(rollup@4.18.0)(typescript@5.4.5)(vite@5.3.1(@types/node@20.14.6)(less@4.2.0)): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.18.0) '@svgr/core': 8.1.0(typescript@5.4.5) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5)) - vite: 5.3.1(@types/node@20.14.5) + vite: 5.3.1(@types/node@20.14.6)(less@4.2.0) transitivePeerDependencies: - rollup - supports-color - typescript - vite@5.3.1(@types/node@20.14.5): + vite@5.3.1(@types/node@20.14.6)(less@4.2.0): dependencies: esbuild: 0.21.5 postcss: 8.4.38 rollup: 4.18.0 optionalDependencies: - '@types/node': 20.14.5 + '@types/node': 20.14.6 fsevents: 2.3.3 + less: 4.2.0 vscode-jsonrpc@6.0.0: {} @@ -5776,6 +6629,18 @@ snapshots: vscode-uri@3.0.8: {} + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@1.8.27(typescript@5.4.5): + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.4.5) + semver: 7.6.2 + typescript: 5.4.5 + wcwidth@1.0.1: dependencies: defaults: 1.0.4 @@ -5864,6 +6729,8 @@ snapshots: yallist@3.1.1: {} + yallist@4.0.0: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -5896,3 +6763,11 @@ snapshots: yargs-parser: 21.1.1 yocto-queue@0.1.0: {} + + z-schema@5.0.5: + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.12.0 + optionalDependencies: + commander: 9.5.0 diff --git a/src/Main.tsx b/src/Main.tsx index 32f9d7a..343c646 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -1,10 +1,10 @@ -import { ProzillaOS } from "prozilla-os"; import { ReactElement } from "react"; import { Router } from "./router/Router"; import { desktopConfig } from "./config/desktop.config"; import { NAME, TAG_LINE } from "./config/branding.config"; import { appsConfig } from "./config/apps.config"; import { virtualDriveConfig } from "./config/virtualDrive.config"; +import { ProzillaOS } from "prozilla-os"; export function Main(): ReactElement { return { + const name = `@prozilla-os/${id}`; + const path = resolve(__dirname, `packages/apps/${id}/${entryFile}`); + localPackages.push({ name, path }); + }); + + return localPackages.reduce((aliases, localPackage) => { + aliases[localPackage.name] = localPackage.path; + return aliases; + }, {} as Record); +} // https://vitejs.dev/config/ -export default defineConfig({ - base: "/", - plugins: [ - react(), - checker({ - typescript: true, - }), - ], - build: { - outDir: BUILD_DIR - }, - server: { - port: 3000, - host: true - }, +export default defineConfig(({ command }) => { + const devMode = command == "serve"; + + return { + base: "/", + plugins: [ + react(), + checker({ + typescript: true, + }), + ], + build: { + outDir: BUILD_DIR + }, + resolve: { + alias: devMode ? generateAliases() : {}, + }, + server: { + port: 3000, + }, + optimizeDeps: { + force: (devMode && !ENABLE_ALIASES) + } + }; }); \ No newline at end of file