OS for the browser
- MacOS like interface
- Forked from the awesome PuruVijay's macos-web
- Full screen experience for apps
- Cross-tab experience using service worker
- VSCode inbuilt (real version)
- Web assembly + WASI based OS
- Persisted File system
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
<link | |
rel="icon" | |
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🛢</text></svg>" | |
/> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
import { render } from "solid-js/web"; | |
import type { getOwner } from "solid-js"; | |
import { | |
createEffect, | |
createMemo, | |
createResource, | |
createSignal, | |
For, | |
Match, |
OS for the browser
import reactRefresh from "@vitejs/plugin-react-refresh"; | |
export default { | |
plugins: [reactRefresh()], | |
}; |
|
|
export const LoadingIcon = (props) => { | |
return ( | |
<svg | |
{...props} | |
xmlns="http://www.w3.org/2000/svg" | |
fill="none" | |
viewBox="0 0 24 24" | |
> | |
<circle | |
className={tw`opacity-25`} |
/** | |
* Shamelessly copied from the amazing `urql` client | |
* https://github.com/FormidableLabs/urql/blob/main/packages/core/src/utils/error.ts | |
*/ | |
import { GraphQLError } from "graphql/error/GraphQLError"; | |
const generateErrorMessage = ( | |
networkErr?: Error, | |
graphQlErrs?: GraphQLError[] |
#!/usr/bin/env node | |
const { existsSync, promises: fs } = require('fs') | |
const path = require('path') | |
if (require.main === module) { | |
main().catch((error) => { | |
console.error(error) | |
process.exit(1) | |
}) |
const shellac = require('shellac').default; | |
shellac` | |
$$ node scripts.js ${process.argv.slice(1).join(' ')} | |
` |