* deps(web): bump the safe group across 1 directory with 2 updates Bumps the safe group with 2 updates in the /web directory: [dompurify](https://github.com/cure53/DOMPurify) and [electron](https://github.com/electron/electron). Updates `dompurify` from 3.4.14 to 3.4.15 - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](https://github.com/cure53/DOMPurify/compare/3.4.14...3.4.15) Updates `electron` from 44.2.0 to 44.3.0 - [Release notes](https://github.com/electron/electron/releases) - [Commits](https://github.com/electron/electron/compare/v44.2.0...v44.3.0) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.4.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: safe - dependency-name: electron dependency-version: 44.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: safe ... Signed-off-by: dependabot[bot] <support@github.com> * fix lints --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: swithek <52840391+swithek@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| app | ||
| electron | ||
| i18n | ||
| modules | ||
| public | ||
| .dockerignore | ||
| .nuxtrc | ||
| .prettierignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| colada.options.ts | ||
| components.json | ||
| Dockerfile.dev | ||
| eslint.config.mjs | ||
| forge.config.ts | ||
| index.d.ts | ||
| knip.ts | ||
| nuxt.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| prettier.config.js | ||
| README.md | ||
| sentry.client.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vite.electron.config.ts | ||
| vitest.config.ts | ||
| vitest.nuxt-setup.ts | ||
Web
Nuxt 4 + Vue 3 frontend of Oxynote. Ships two ways: a server-rendered web app and an Electron desktop app.
Tools and dependencies:
- Favicon processing: https://realfavicongenerator.net
- Nuxt documentation
- Vue documentation
- VueUse documentation
- Tiptap documentation
- Shadcn-vue documentation
I18N
All text needs to be placed in the i18n/ directory.
We use a separate package for validation and it uses its own internal error messages: https://vee-validate.logaretm.com/v4/guide/i18n/
Setup
Install dependencies and run the prepare step:
pnpm run setup
Environment variables are read from .env — make setup at the repository
root creates it from docker/env/web.example.env.
Development
Start the web development server on http://localhost:3000 (the backend
stack must be running — make dev at the repository root does both):
pnpm run start:dev:web
Run the desktop app against the same dev server:
pnpm run start:dev:desktop
Production
Build the web application:
pnpm run build:web
Package the desktop application (or build installers with make:desktop):
pnpm run package:desktop
QA
pnpm run qa # check-types + check-lint + check-fmt
pnpm run qa-fix # check-types + lint --fix + prettier --write