The app becomes a Rails 8 application; the Vue frontend moves to app/frontend and is served through vite_rails. - Without an account documents stay in the browser (IndexedDB). Sign-in is by magic link or the 6-digit code from the same mail; afterwards local documents can be uploaded into the account. - Server documents (/d/<id>) with versioned saves and a single-editor lock per browser tab; others see them read-only and follow by polling. - Sharing via link (works without an account) and via e-mail invitation, roles viewer/editor; the owner manages links and people. - Store gains a read-only mode that blocks all content changes. - Solid Queue, Cache and Cable share the one PostgreSQL database. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
480 B
TypeScript
20 lines
480 B
TypeScript
/// <reference types="vitest/config" />
|
|
import { defineConfig } from 'vite';
|
|
import RubyPlugin from 'vite-plugin-ruby';
|
|
import vue from '@vitejs/plugin-vue';
|
|
|
|
export default defineConfig({
|
|
plugins: [RubyPlugin(), vue()],
|
|
build: {
|
|
target: 'es2020',
|
|
},
|
|
// vite-plugin-ruby makes app/frontend the root, so paths are relative to it
|
|
test: {
|
|
environment: 'node',
|
|
include: ['**/*.spec.ts'],
|
|
coverage: {
|
|
include: ['engine/**', 'store/**'],
|
|
},
|
|
},
|
|
});
|