Updated app build process + updated docs
This commit is contained in:
parent
8c722a29db
commit
3614461cea
38 changed files with 436 additions and 111 deletions
|
|
@ -24,6 +24,7 @@ ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows.
|
||||||
|
|
||||||
- `prozilla-os` ([source][prozilla-os]) - A bundle containing 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/core` ([source][core]) - Core functionality, React components and hooks
|
||||||
|
- `@prozilla-os/shared` ([source][shared]) - Shared functions and utilities
|
||||||
- `@prozilla-os/file-explorer` ([source][file-explorer]) - File explorer app
|
- `@prozilla-os/file-explorer` ([source][file-explorer]) - File explorer app
|
||||||
- `@prozilla-os/terminal` ([source][terminal]) - Terminal/shell app
|
- `@prozilla-os/terminal` ([source][terminal]) - Terminal/shell app
|
||||||
- `@prozilla-os/text-editor` ([source][text-editor]) - Text editor app
|
- `@prozilla-os/text-editor` ([source][text-editor]) - Text editor app
|
||||||
|
|
@ -56,6 +57,7 @@ These resources can help you get started with ProzillaOS.
|
||||||
[prozilla]: https://prozilla.dev/
|
[prozilla]: https://prozilla.dev/
|
||||||
[prozilla-os]: ./packages/prozilla-os/
|
[prozilla-os]: ./packages/prozilla-os/
|
||||||
[core]: ./packages/core/
|
[core]: ./packages/core/
|
||||||
|
[shared]: ./packages/shared/
|
||||||
[file-explorer]: ./packages/apps/file-explorer/
|
[file-explorer]: ./packages/apps/file-explorer/
|
||||||
[terminal]: ./packages/apps/terminal/
|
[terminal]: ./packages/apps/terminal/
|
||||||
[text-editor]: ./packages/apps/text-editor/
|
[text-editor]: ./packages/apps/text-editor/
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
# @prozilla-os/file-explorer
|
# @prozilla-os/file-explorer
|
||||||
|
|
||||||
|
## 1.0.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
|
- Updated dependencies
|
||||||
|
- @prozilla-os/core@1.0.14
|
||||||
|
|
||||||
## 1.0.10
|
## 1.0.10
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ $ pnpm add @prozilla-os/core @prozilla-os/file-explorer
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Basic setup
|
||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
||||||
import { fileExplorer } from "@prozilla-os/file-explorer";
|
import { fileExplorer } from "@prozilla-os/file-explorer";
|
||||||
|
|
@ -51,6 +53,41 @@ function App() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Window options
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* Initial path that the app will open
|
||||||
|
* @default "~" - Home directory
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines in which mode the application is running
|
||||||
|
* 0: None
|
||||||
|
* 1: Single
|
||||||
|
* 2: Multiple
|
||||||
|
* @default 0
|
||||||
|
*/
|
||||||
|
selectorMode: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Footer component that will be displayed when `selectorMode` != 0
|
||||||
|
* Can be used to display a list of selected files for example
|
||||||
|
*/
|
||||||
|
Footer: React.FC;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets called each time the selection changes if `selectorMode` != 0
|
||||||
|
*/
|
||||||
|
onSelectionChange: (params: OnSelectionChangeParams) => void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets called when the selection is finished if `selectorMode` != 0
|
||||||
|
*/
|
||||||
|
onSelectionFinish: Function;
|
||||||
|
```
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- [Website/demo][website]
|
- [Website/demo][website]
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@prozilla-os/file-explorer",
|
"name": "@prozilla-os/file-explorer",
|
||||||
"description": "A standard ProzillaOS application for browsing files.",
|
"description": "A standard ProzillaOS application for browsing files.",
|
||||||
"version": "1.0.10",
|
"version": "1.0.11",
|
||||||
"homepage": "https://os.prozilla.dev/file-explorer",
|
"homepage": "https://os.prozilla.dev/file-explorer",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Prozilla",
|
"name": "Prozilla",
|
||||||
|
|
@ -34,7 +34,8 @@
|
||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
"vite": "^5.3.1",
|
"vite": "^5.3.1",
|
||||||
"vite-plugin-dts": "^3.9.1",
|
"vite-plugin-dts": "^3.9.1",
|
||||||
"vite-plugin-lib-inject-css": "^2.1.1"
|
"vite-plugin-lib-inject-css": "^2.1.1",
|
||||||
|
"@prozilla-os/shared": "workspace:*"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
"extends": "./tsconfig.json",
|
"extends": "./tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["packages/core/dist/main"]
|
"@prozilla-os/core": ["packages/core/dist/main"],
|
||||||
|
"@prozilla-os/shared": ["packages/shared/dist/main"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,7 +8,8 @@
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"]
|
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"],
|
||||||
|
"@prozilla-os/shared": ["./node_modules/@prozilla-os/shared/src/main"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"include": ["src", "vite.config.ts"],
|
"include": ["src", "vite.config.ts"],
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,6 @@
|
||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
import { resolve } from "path";
|
import { appViteConfig } from "@prozilla-os/shared";
|
||||||
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({
|
export default defineConfig({
|
||||||
plugins: [
|
...appViteConfig(__dirname, "src/main.ts")
|
||||||
react(),
|
|
||||||
libInjectCss(),
|
|
||||||
dts({
|
|
||||||
include: ["src"],
|
|
||||||
outDir: "dist",
|
|
||||||
rollupTypes: true,
|
|
||||||
strictOutput: true,
|
|
||||||
pathsToAliases: false,
|
|
||||||
tsconfigPath: "tsconfig.build.json"
|
|
||||||
})
|
|
||||||
],
|
|
||||||
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
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
# @prozilla-os/terminal
|
# @prozilla-os/terminal
|
||||||
|
|
||||||
|
## 1.0.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
|
- Updated dependencies
|
||||||
|
- @prozilla-os/core@1.0.14
|
||||||
|
|
||||||
## 1.0.3
|
## 1.0.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ $ pnpm add @prozilla-os/core @prozilla-os/terminal
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Basic setup
|
||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
||||||
import { terminal } from "@prozilla-os/terminal";
|
import { terminal } from "@prozilla-os/terminal";
|
||||||
|
|
@ -51,6 +53,21 @@ function App() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Window options
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* Initial path that the app will open
|
||||||
|
* @default "~" - Home directory
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initial input
|
||||||
|
*/
|
||||||
|
input: string;
|
||||||
|
```
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- [Website/demo][website]
|
- [Website/demo][website]
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@prozilla-os/terminal",
|
"name": "@prozilla-os/terminal",
|
||||||
"description": "A terminal/shell application for ProzillaOS.",
|
"description": "A terminal/shell application for ProzillaOS.",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"homepage": "https://os.prozilla.dev/terminal",
|
"homepage": "https://os.prozilla.dev/terminal",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Prozilla",
|
"name": "Prozilla",
|
||||||
|
|
@ -33,7 +33,8 @@
|
||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
"vite": "^5.3.1",
|
"vite": "^5.3.1",
|
||||||
"vite-plugin-dts": "^3.9.1",
|
"vite-plugin-dts": "^3.9.1",
|
||||||
"vite-plugin-lib-inject-css": "^2.1.1"
|
"vite-plugin-lib-inject-css": "^2.1.1",
|
||||||
|
"@prozilla-os/shared": "workspace:*"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
"extends": "./tsconfig.json",
|
"extends": "./tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["packages/core/dist/main"]
|
"@prozilla-os/core": ["packages/core/dist/main"],
|
||||||
|
"@prozilla-os/shared": ["packages/shared/dist/main"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,7 +8,8 @@
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"]
|
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"],
|
||||||
|
"@prozilla-os/shared": ["./node_modules/@prozilla-os/shared/src/main"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"include": ["src", "vite.config.ts"],
|
"include": ["src", "vite.config.ts"],
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,6 @@
|
||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
import { resolve } from "path";
|
import { appViteConfig } from "@prozilla-os/shared";
|
||||||
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({
|
export default defineConfig({
|
||||||
plugins: [
|
...appViteConfig(__dirname, "src/main.ts")
|
||||||
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
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
# @prozilla-os/text-editor
|
# @prozilla-os/text-editor
|
||||||
|
|
||||||
|
## 1.0.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
|
- Updated dependencies
|
||||||
|
- @prozilla-os/core@1.0.14
|
||||||
|
|
||||||
## 1.0.3
|
## 1.0.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ $ pnpm add @prozilla-os/core @prozilla-os/text-editor
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Basic setup
|
||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
|
||||||
import { textEditor } from "@prozilla-os/text-editor";
|
import { textEditor } from "@prozilla-os/text-editor";
|
||||||
|
|
@ -51,6 +53,28 @@ function App() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Window options
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* Initial path that the app will open
|
||||||
|
* @default "~" - Home directory
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Virtual file to open the app with
|
||||||
|
*/
|
||||||
|
file: VirtualFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mode in which to run the app
|
||||||
|
* "view" - Renders markdown files and renders syntax highlighting of other file formats, disables text editing
|
||||||
|
* "edit" - Raw text editor
|
||||||
|
*/
|
||||||
|
mode: "view" | "edit";
|
||||||
|
```
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- [Website/demo][website]
|
- [Website/demo][website]
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@prozilla-os/text-editor",
|
"name": "@prozilla-os/text-editor",
|
||||||
"description": "A text editor application for ProzillaOS.",
|
"description": "A text editor application for ProzillaOS.",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"homepage": "https://os.prozilla.dev/text-editor",
|
"homepage": "https://os.prozilla.dev/text-editor",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Prozilla",
|
"name": "Prozilla",
|
||||||
|
|
@ -35,7 +35,8 @@
|
||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
"vite": "^5.3.1",
|
"vite": "^5.3.1",
|
||||||
"vite-plugin-dts": "^3.9.1",
|
"vite-plugin-dts": "^3.9.1",
|
||||||
"vite-plugin-lib-inject-css": "^2.1.1"
|
"vite-plugin-lib-inject-css": "^2.1.1",
|
||||||
|
"@prozilla-os/shared": "workspace:*"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
"extends": "./tsconfig.json",
|
"extends": "./tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["packages/core/dist/main"]
|
"@prozilla-os/core": ["packages/core/dist/main"],
|
||||||
|
"@prozilla-os/shared": ["packages/shared/dist/main"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,9 +8,10 @@
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
"paths": {
|
"paths": {
|
||||||
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"]
|
"@prozilla-os/core": ["./node_modules/@prozilla-os/core/src/main"],
|
||||||
|
"@prozilla-os/shared": ["./node_modules/@prozilla-os/shared/src/main"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"include": ["src", "vite.config.ts"],
|
"include": ["src", "vite.config.ts"],
|
||||||
"exclude": ["node_modules"]
|
"exclude": ["node_modules"],
|
||||||
}
|
}
|
||||||
|
|
@ -1,34 +1,6 @@
|
||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
import { resolve } from "path";
|
import { appViteConfig } from "@prozilla-os/shared";
|
||||||
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({
|
export default defineConfig({
|
||||||
plugins: [
|
...appViteConfig(__dirname, "src/main.ts")
|
||||||
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
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
# @prozilla-os/core
|
# @prozilla-os/core
|
||||||
|
|
||||||
|
## 1.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
|
|
||||||
## 1.0.13
|
## 1.0.13
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
`@prozilla-os/core` is a React component library written in TypeScript for building web-based operating systems, made by Prozilla.
|
`@prozilla-os/core` is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
@ -25,6 +25,8 @@ $ pnpm add @prozilla-os/core
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Basic setup
|
||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "@prozilla-os/core";
|
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "@prozilla-os/core";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@prozilla-os/core",
|
"name": "@prozilla-os/core",
|
||||||
"description": "A React component library written in TypeScript for building web-based operating systems, made by Prozilla.",
|
"description": "A React component library written in TypeScript for building web-based operating systems, made by Prozilla.",
|
||||||
"version": "1.0.13",
|
"version": "1.0.14",
|
||||||
"homepage": "https://os.prozilla.dev",
|
"homepage": "https://os.prozilla.dev",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Prozilla",
|
"name": "Prozilla",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,18 @@
|
||||||
# prozilla-os
|
# prozilla-os
|
||||||
|
|
||||||
|
## 1.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
|
- Updated dependencies
|
||||||
|
- @prozilla-os/file-explorer@1.0.11
|
||||||
|
- @prozilla-os/text-editor@1.0.4
|
||||||
|
- @prozilla-os/terminal@1.0.4
|
||||||
|
- @prozilla-os/core@1.0.14
|
||||||
|
|
||||||
## 1.0.13
|
## 1.0.13
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
`prozilla-os` is a React component library written in TypeScript for building web-based operating systems, made by Prozilla.
|
`prozilla-os` is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla. This package combines multiple other packages for easy access to different ProzillaOS features. You can also download these packages separately instead.
|
||||||
|
|
||||||
|
**Live demo: [os.prozilla.dev][website]** - [(source)][website-source]
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
@ -23,8 +25,21 @@ $ yarn add prozilla-os
|
||||||
$ pnpm add prozilla-os
|
$ pnpm add prozilla-os
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Packages
|
||||||
|
|
||||||
|
`prozilla-os` combines the following packages into one:
|
||||||
|
|
||||||
|
- [`@prozilla-os/core`][core] - Core functionality, React components and hooks
|
||||||
|
- [`@prozilla-os/file-explorer`][file-explorer] - File explorer app
|
||||||
|
- [`@prozilla-os/terminal`][terminal] - Terminal/shell app
|
||||||
|
- [`@prozilla-os/text-editor`][text-editor] - Text editor app
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
For more information about the in-depth usage of each package, check out the links in the section above.
|
||||||
|
|
||||||
|
### Basic setup
|
||||||
|
|
||||||
```tsx
|
```tsx
|
||||||
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "prozilla-os";
|
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "prozilla-os";
|
||||||
|
|
||||||
|
|
@ -158,6 +173,11 @@ function App() {
|
||||||
- [Ko-fi][ko-fi]
|
- [Ko-fi][ko-fi]
|
||||||
|
|
||||||
[website]: https://os.prozilla.dev/
|
[website]: https://os.prozilla.dev/
|
||||||
|
[website-source]: https://github.com/prozilla-os/ProzillaOS
|
||||||
[github]: https://github.com/prozilla-os/ProzillaOS/tree/convert-to-monorepo/packages/prozilla-os
|
[github]: https://github.com/prozilla-os/ProzillaOS/tree/convert-to-monorepo/packages/prozilla-os
|
||||||
[npm]: https://www.npmjs.com/package/prozilla-os
|
[npm]: https://www.npmjs.com/package/prozilla-os
|
||||||
[ko-fi]: https://ko-fi.com/prozilla
|
[ko-fi]: https://ko-fi.com/prozilla
|
||||||
|
[core]: https://www.npmjs.com/package/@prozilla-os/core
|
||||||
|
[file-explorer]: https://www.npmjs.com/package/@prozilla-os/file-explorer
|
||||||
|
[terminal]: https://www.npmjs.com/package/@prozilla-os/terminal
|
||||||
|
[text-editor]: https://www.npmjs.com/package/@prozilla-os/text-editor
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "prozilla-os",
|
"name": "prozilla-os",
|
||||||
"description": "a React component library written in TypeScript for building web-based operating systems, made by Prozilla.",
|
"description": "a React component library written in TypeScript for building web-based operating systems, made by Prozilla.",
|
||||||
"version": "1.0.13",
|
"version": "1.0.14",
|
||||||
"homepage": "https://os.prozilla.dev",
|
"homepage": "https://os.prozilla.dev",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Prozilla",
|
"name": "Prozilla",
|
||||||
|
|
|
||||||
9
packages/shared/CHANGELOG.md
Normal file
9
packages/shared/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# @prozilla-os/shared
|
||||||
|
|
||||||
|
## 1.0.1
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Added @prozilla-os/shared package
|
||||||
|
Updated app build process
|
||||||
|
Updated documentation
|
||||||
59
packages/shared/README.md
Normal file
59
packages/shared/README.md
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
<div align="center">
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
<a href="https://os.prozilla.dev/"><img src="https://os.prozilla.dev/assets/logo.svg" height="200" alt="ProzillaOS" /></a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="https://github.com/prozilla-os/ProzillaOS/blob/main/LICENSE.md"><img alt="License" src="https://img.shields.io/github/license/Prozilla/ProzillaOS?style=flat-square&color=FF4D5B&label=License"></a>
|
||||||
|
<a href="https://github.com/prozilla-os/ProzillaOS"><img alt="Stars" src="https://img.shields.io/github/stars/Prozilla/ProzillaOS?style=flat-square&color=FED24C&label=%E2%AD%90"></a>
|
||||||
|
<a href="https://github.com/prozilla-os/ProzillaOS"><img alt="Forks" src="https://img.shields.io/github/forks/Prozilla/ProzillaOS?style=flat-square&color=4D9CFF&label=Forks&logo=github"></a>
|
||||||
|
<a href="https://www.npmjs.com/package/prozilla-os"><img alt="NPM Version" src="https://img.shields.io/npm/v/prozilla-os?logo=npm&style=flat-square&label=prozilla-os&color=FF4D5B"></a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
`@prozilla-os/shared` is a library of shared utility functions for ProzillaOS packages.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ npm install @prozilla-os/shared
|
||||||
|
$ yarn add @prozilla-os/shared
|
||||||
|
$ pnpm add @prozilla-os/shared
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### `appViteConfig(basePath, entryPath)`
|
||||||
|
|
||||||
|
Helper function for creating Vite configurations for ProzillaOS apps.
|
||||||
|
|
||||||
|
#### Params
|
||||||
|
|
||||||
|
- `basePath` (string) - Path of base directory
|
||||||
|
- `entryPath` (string) - Path of library entry
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```tsx
|
||||||
|
// vite.config.ts
|
||||||
|
|
||||||
|
import { defineConfig } from "vite";
|
||||||
|
import { appViteConfig } from "@prozilla-os/shared";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
...appViteConfig(__dirname, "src/main.ts")
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- [Website/demo][website]
|
||||||
|
- [GitHub][github]
|
||||||
|
- [npm][npm]
|
||||||
|
- [Ko-fi][ko-fi]
|
||||||
|
|
||||||
|
[website]: https://os.prozilla.dev/
|
||||||
|
[github]: https://github.com/prozilla-os/ProzillaOS/tree/convert-to-monorepo/packages/shared
|
||||||
|
[npm]: https://www.npmjs.com/package/@prozilla-os/shared
|
||||||
|
[ko-fi]: https://ko-fi.com/prozilla
|
||||||
40
packages/shared/package.json
Normal file
40
packages/shared/package.json
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
"name": "@prozilla-os/shared",
|
||||||
|
"description": "A library of shared utility functions for ProzillaOS packages.",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"homepage": "https://os.prozilla.dev",
|
||||||
|
"author": {
|
||||||
|
"name": "Prozilla",
|
||||||
|
"email": "business@prozilla.dev",
|
||||||
|
"url": "https://prozilla.dev/"
|
||||||
|
},
|
||||||
|
"type": "module",
|
||||||
|
"main": "dist/main.js",
|
||||||
|
"types": "dist/main.d.ts",
|
||||||
|
"scripts": {
|
||||||
|
"build": "tsc && vite build"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/prozilla-os/ProzillaOS.git",
|
||||||
|
"directory": "packages/shared"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {},
|
||||||
|
"devDependencies": {
|
||||||
|
"@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": [
|
||||||
|
"dist"
|
||||||
|
],
|
||||||
|
"publishConfig": {
|
||||||
|
"registry": "https://registry.npmjs.org/",
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
packages/shared/src/configs/app.vite.config.d.ts
vendored
Normal file
9
packages/shared/src/configs/app.vite.config.d.ts
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { UserConfig } from "vite";
|
||||||
|
/**
|
||||||
|
* Helper function for creating Vite configurations for ProzillaOS apps
|
||||||
|
* @param basePath - Path of base directory
|
||||||
|
* @param entryPath - Path of library entry
|
||||||
|
* @returns Vite configuration
|
||||||
|
* @see https://vitejs.dev/config/
|
||||||
|
*/
|
||||||
|
export declare const appViteConfig: (basePath: string, entryPath: string) => UserConfig;
|
||||||
52
packages/shared/src/configs/app.vite.config.ts
Normal file
52
packages/shared/src/configs/app.vite.config.ts
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
import { UserConfig } from "vite";
|
||||||
|
import react from "@vitejs/plugin-react-swc";
|
||||||
|
import dts from "vite-plugin-dts";
|
||||||
|
import { libInjectCss } from "vite-plugin-lib-inject-css";
|
||||||
|
import { posix, resolve, sep } from "path";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function for creating Vite configurations for ProzillaOS apps
|
||||||
|
* @param basePath - Path of base directory
|
||||||
|
* @param entryPath - Path of library entry
|
||||||
|
* @returns Vite configuration
|
||||||
|
* @see https://vitejs.dev/config/
|
||||||
|
*/
|
||||||
|
export const appViteConfig = (basePath: string, entryPath: string): UserConfig => {
|
||||||
|
let entryFile = resolve(basePath, entryPath);
|
||||||
|
|
||||||
|
// Normalize paths for Windows compatibility
|
||||||
|
if (sep === "\\")
|
||||||
|
entryFile = entryFile.split(sep).join(posix.sep);
|
||||||
|
|
||||||
|
console.log("Using Vite config for app");
|
||||||
|
console.log("Entry: " + entryFile);
|
||||||
|
|
||||||
|
return {
|
||||||
|
plugins: [
|
||||||
|
react(),
|
||||||
|
libInjectCss(),
|
||||||
|
dts({
|
||||||
|
include: ["src"],
|
||||||
|
outDir: "dist",
|
||||||
|
rollupTypes: true,
|
||||||
|
strictOutput: true,
|
||||||
|
pathsToAliases: false,
|
||||||
|
tsconfigPath: "tsconfig.build.json"
|
||||||
|
})
|
||||||
|
],
|
||||||
|
build: {
|
||||||
|
lib: {
|
||||||
|
entry: entryFile,
|
||||||
|
formats: ["es"],
|
||||||
|
},
|
||||||
|
rollupOptions: {
|
||||||
|
external: ["react", "react/jsx-runtime", "@prozilla-os/core"],
|
||||||
|
output: {
|
||||||
|
assetFileNames: "assets/[name][extname]",
|
||||||
|
entryFileNames: "[name].js",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sourcemap: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
1
packages/shared/src/configs/index.d.ts
vendored
Normal file
1
packages/shared/src/configs/index.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { appViteConfig } from "./app.vite.config";
|
||||||
1
packages/shared/src/configs/index.ts
Normal file
1
packages/shared/src/configs/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { appViteConfig } from "./app.vite.config";
|
||||||
1
packages/shared/src/main.ts
Normal file
1
packages/shared/src/main.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export * from "./configs";
|
||||||
13
packages/shared/tsconfig.json
Normal file
13
packages/shared/tsconfig.json
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": "../..",
|
||||||
|
"composite": true,
|
||||||
|
"outDir": "dist",
|
||||||
|
"declaration": true,
|
||||||
|
"emitDeclarationOnly": true,
|
||||||
|
"noEmit": false
|
||||||
|
},
|
||||||
|
"include": ["src", "vite.config.ts"],
|
||||||
|
"exclude": ["node_modules"]
|
||||||
|
}
|
||||||
29
packages/shared/vite.config.ts
Normal file
29
packages/shared/vite.config.ts
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
import { defineConfig } from "vite";
|
||||||
|
import { resolve } from "path";
|
||||||
|
import dts from "vite-plugin-dts";
|
||||||
|
|
||||||
|
// https://vitejs.dev/config/
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
dts({
|
||||||
|
include: ["src"],
|
||||||
|
outDir: "dist",
|
||||||
|
rollupTypes: true,
|
||||||
|
strictOutput: true
|
||||||
|
})
|
||||||
|
],
|
||||||
|
build: {
|
||||||
|
lib: {
|
||||||
|
entry: resolve(__dirname, "src/main.ts"),
|
||||||
|
formats: ["es"],
|
||||||
|
},
|
||||||
|
rollupOptions: {
|
||||||
|
external: ["vite", "path", /vite-plugin-/g, /@vitejs\/plugin-/g, "rollup"],
|
||||||
|
output: {
|
||||||
|
assetFileNames: "assets/[name][extname]",
|
||||||
|
entryFileNames: "[name].js",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sourcemap: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -115,6 +115,9 @@ importers:
|
||||||
specifier: ^18.3.1
|
specifier: ^18.3.1
|
||||||
version: 18.3.1
|
version: 18.3.1
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@prozilla-os/shared':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../../shared
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.14.5
|
specifier: ^20.14.5
|
||||||
version: 20.14.6
|
version: 20.14.6
|
||||||
|
|
@ -152,6 +155,9 @@ importers:
|
||||||
specifier: ^18.3.1
|
specifier: ^18.3.1
|
||||||
version: 18.3.1
|
version: 18.3.1
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@prozilla-os/shared':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../../shared
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.14.5
|
specifier: ^20.14.5
|
||||||
version: 20.14.6
|
version: 20.14.6
|
||||||
|
|
@ -195,6 +201,9 @@ importers:
|
||||||
specifier: ^15.5.0
|
specifier: ^15.5.0
|
||||||
version: 15.5.0(react@18.3.1)
|
version: 15.5.0(react@18.3.1)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@prozilla-os/shared':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../../shared
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.14.5
|
specifier: ^20.14.5
|
||||||
version: 20.14.6
|
version: 20.14.6
|
||||||
|
|
@ -315,6 +324,30 @@ importers:
|
||||||
specifier: ^2.1.1
|
specifier: ^2.1.1
|
||||||
version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))
|
version: 2.1.1(vite@5.3.1(@types/node@20.14.6)(less@4.2.0))
|
||||||
|
|
||||||
|
packages/shared:
|
||||||
|
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:
|
packages:
|
||||||
|
|
||||||
'@ampproject/remapping@2.3.0':
|
'@ampproject/remapping@2.3.0':
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@
|
||||||
"include": [
|
"include": [
|
||||||
"src/**/*",
|
"src/**/*",
|
||||||
"vite.config.ts",
|
"vite.config.ts",
|
||||||
|
"*.vite.config.ts",
|
||||||
// "scripts/**/*", // TO DO: uncomment this line
|
// "scripts/**/*", // TO DO: uncomment this line
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ function generateAliases() {
|
||||||
|
|
||||||
const localPackages = [
|
const localPackages = [
|
||||||
{ name: "prozilla-os", path: resolve(__dirname, "packages/prozilla-os/" + entryFile) },
|
{ name: "prozilla-os", path: resolve(__dirname, "packages/prozilla-os/" + entryFile) },
|
||||||
{ name: "@prozilla-os/core", path: resolve(__dirname, "packages/core/" + entryFile) }
|
{ name: "@prozilla-os/core", path: resolve(__dirname, "packages/core/" + entryFile) },
|
||||||
|
{ name: "@prozilla-os/shared", path: resolve(__dirname, "packages/shared/" + entryFile) }
|
||||||
];
|
];
|
||||||
|
|
||||||
const localApps = [
|
const localApps = [
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue