mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-20 18:16:30 +03:00
Oracle: live-mode cases and goldens (roots, inject, wrap, insert, accept, session, manual edits, daemon)
Prepared with AI assistance (Claude Code).
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["src/layouts/Layout.astro"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,3 @@
|
||||
import { defineConfig } from 'astro/config';
|
||||
|
||||
export default defineConfig({});
|
||||
@@ -0,0 +1 @@
|
||||
{ "name": "oracle-live-astro", "private": true, "type": "module", "dependencies": { "astro": "^5.0.0" } }
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
export interface Props { title: string }
|
||||
const { title } = Astro.props;
|
||||
---
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>{title}</title>
|
||||
</head>
|
||||
<body>
|
||||
<slot />
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
---
|
||||
<Layout title="Astro Fixture">
|
||||
<main class="page">
|
||||
<h1 class="hero-title">Astro Fixture</h1>
|
||||
<p class="hero-hook">Minimal Astro tree for oracle live-mode goldens.</p>
|
||||
<section id="features" class="feature-grid">
|
||||
<article class="feature-card">One</article>
|
||||
<article class="feature-card">Two</article>
|
||||
</section>
|
||||
</main>
|
||||
</Layout>
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["index.html", "public/**/*.html"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Oracle Live HTML Fixture</title>
|
||||
<style>
|
||||
.hero-title { font-size: 2rem; }
|
||||
.hero-hook { color: #555; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="page">
|
||||
<h1 id="hero" class="hero-title">Oracle Fixture</h1>
|
||||
<p class="hero-hook">Minimal static page for oracle live-mode goldens.</p>
|
||||
<section id="features" class="feature-grid">
|
||||
<article class="feature-card">One</article>
|
||||
<article class="feature-card">Two</article>
|
||||
</section>
|
||||
<aside class="side-note">
|
||||
<h2 class="note-title">Aside</h2>
|
||||
<p>Nested content.</p>
|
||||
</aside>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Guide</title>
|
||||
</head>
|
||||
<body>
|
||||
<article class="doc">
|
||||
<h1 class="doc-title">Guide</h1>
|
||||
<p class="doc-lead">A second page covered by the config glob.</p>
|
||||
</article>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head><title>No body tag</title></head>
|
||||
<p class="orphan">This file has no closing body tag.</p>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<section class="cards">
|
||||
<div class="card">
|
||||
<h3 class="card-title">Alpha card</h3>
|
||||
<p class="card-body">First card body copy.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3 class="card-title">Beta card</h3>
|
||||
<p class="card-body">Second card body copy.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3 class="card-title">Gamma card</h3>
|
||||
<p class="card-body">Third card body copy.</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "fake-cli-tool",
|
||||
"private": true
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["index.html"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Nested Website Fixture</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.jsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "oracle-monorepo-website",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": { "dev": "vite --host 127.0.0.1" },
|
||||
"devDependencies": { "vite": "^8.0.0" }
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
export default function App() {
|
||||
return (
|
||||
<main className="page">
|
||||
<h1 className="hero-title">Vite Fixture</h1>
|
||||
<p className="hero-hook">Minimal React tree for oracle live-mode goldens.</p>
|
||||
<section id="features" className="feature-grid">
|
||||
<article className="feature-card">One</article>
|
||||
<article className="feature-card">Two</article>
|
||||
</section>
|
||||
<ul className="item-list">
|
||||
{items.map((item) => (
|
||||
<li key={item.id} className="item-row">{item.title}</li>
|
||||
))}
|
||||
</ul>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
const items = [
|
||||
{ id: 1, title: 'First' },
|
||||
{ id: 2, title: 'Second' },
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
|
||||
export default defineConfig({ plugins: [react()] });
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["app/layout.tsx"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "jsx"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,17 @@
|
||||
export const metadata = { title: 'Next Fixture' };
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta
|
||||
httpEquiv="Content-Security-Policy"
|
||||
content="default-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'"
|
||||
/>
|
||||
</head>
|
||||
<body>
|
||||
{children}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
export default function Page() {
|
||||
return (
|
||||
<main className="page">
|
||||
<h1 className="hero-title">Next Fixture</h1>
|
||||
<p className="hero-hook">Minimal Next app-router page.</p>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {};
|
||||
|
||||
module.exports = nextConfig;
|
||||
@@ -0,0 +1 @@
|
||||
{ "name": "oracle-live-next", "private": true, "dependencies": { "next": "^15.0.0", "react": "^19.0.0", "react-dom": "^19.0.0" } }
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["app.vue"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,10 @@
|
||||
<template>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Nuxt Fixture</title>
|
||||
</head>
|
||||
<body>
|
||||
<NuxtPage />
|
||||
</body>
|
||||
</html>
|
||||
</template>
|
||||
@@ -0,0 +1,4 @@
|
||||
export default defineNuxtConfig({
|
||||
compatibilityDate: '2025-01-01',
|
||||
devtools: { enabled: true },
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
{ "name": "oracle-live-nuxt", "private": true, "type": "module", "dependencies": { "nuxt": "^3.0.0" } }
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<main class="page">
|
||||
<h1 class="hero-title">Nuxt Fixture</h1>
|
||||
<p class="hero-hook">Minimal Nuxt page for oracle live-mode goldens.</p>
|
||||
</main>
|
||||
</template>
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["src/app.html"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "oracle-live-sveltekit",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": { "dev": "vite dev --host 127.0.0.1" },
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^6.0.0",
|
||||
"@sveltejs/kit": "^2.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.0.0",
|
||||
"svelte": "^5.0.0",
|
||||
"vite": "^7.0.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>SvelteKit Fixture</title>
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
<div style="display: contents">%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
<script>
|
||||
let title = 'SvelteKit Fixture';
|
||||
let expenses = [
|
||||
{ id: 1, label: 'Coffee', amount: 3 },
|
||||
{ id: 2, label: 'Lunch', amount: 12 },
|
||||
];
|
||||
</script>
|
||||
|
||||
<main class="page">
|
||||
<h1 class="hero-title">{title}</h1>
|
||||
<p class="hero-hook">Minimal SvelteKit route for oracle live-mode goldens.</p>
|
||||
<ul class="expense-list">
|
||||
{#each expenses as expense (expense.id)}
|
||||
<li class="expense-row">{expense.label}: {expense.amount}</li>
|
||||
{/each}
|
||||
</ul>
|
||||
<section id="features" class="feature-grid">
|
||||
<article class="feature-card">One</article>
|
||||
<article class="feature-card">Two</article>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
.hero-title { font-size: 2rem; }
|
||||
.expense-list { list-style: none; padding: 0; }
|
||||
.expense-row { padding: 4px 0; }
|
||||
</style>
|
||||
@@ -0,0 +1,3 @@
|
||||
import adapter from '@sveltejs/adapter-auto';
|
||||
|
||||
export default { kit: { adapter: adapter() } };
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["src/routes/__root.tsx"],
|
||||
"insertBefore": "<Scripts",
|
||||
"commentSyntax": "jsx"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "oracle-live-tanstack",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@tanstack/react-router": "^1.132.0",
|
||||
"@tanstack/react-start": "^1.132.0",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0"
|
||||
},
|
||||
"devDependencies": { "@vitejs/plugin-react": "^6.0.0", "vite": "^8.0.0" }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createRootRoute({
|
||||
head: () => ({
|
||||
meta: [
|
||||
{ charSet: 'utf-8' },
|
||||
{ title: 'TanStack Start Fixture' },
|
||||
],
|
||||
}),
|
||||
shellComponent: RootDocument,
|
||||
});
|
||||
|
||||
function RootDocument({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<HeadContent />
|
||||
</head>
|
||||
<body>
|
||||
{children}
|
||||
<Scripts />
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
|
||||
export const Route = createFileRoute('/')({
|
||||
component: Home,
|
||||
});
|
||||
|
||||
function Home() {
|
||||
return (
|
||||
<main className="page">
|
||||
<h1 className="hero-title">Start Home Hero</h1>
|
||||
<p className="hero-hook">Server-rendered by TanStack Start.</p>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import { tanstackStart } from '@tanstack/react-start/plugin/vite';
|
||||
|
||||
export default defineConfig({ plugins: [tanstackStart()] });
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": ["index.html"],
|
||||
"insertBefore": "</body>",
|
||||
"commentSyntax": "html"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Oracle Vite Fixture</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.jsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "oracle-live-vite",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": { "dev": "vite --host 127.0.0.1" },
|
||||
"dependencies": { "react": "^19.0.0", "react-dom": "^19.0.0" },
|
||||
"devDependencies": { "@vitejs/plugin-react": "^6.0.0", "vite": "^8.0.0" }
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
export default function App() {
|
||||
return (
|
||||
<main className="page">
|
||||
<h1 className="hero-title">Vite Fixture</h1>
|
||||
<p className="hero-hook">Minimal React tree for oracle live-mode goldens.</p>
|
||||
<section id="features" className="feature-grid">
|
||||
<article className="feature-card">One</article>
|
||||
<article className="feature-card">Two</article>
|
||||
</section>
|
||||
<ul className="item-list">
|
||||
{items.map((item) => (
|
||||
<li key={item.id} className="item-row">{item.title}</li>
|
||||
))}
|
||||
</ul>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
const items = [
|
||||
{ id: 1, title: 'First' },
|
||||
{ id: 2, title: 'Second' },
|
||||
];
|
||||
@@ -0,0 +1,12 @@
|
||||
type PanelProps = { title: string; children?: React.ReactNode };
|
||||
|
||||
export function Panel({ title, children }: PanelProps) {
|
||||
return (
|
||||
<section className="panel">
|
||||
<header className="panel-header">
|
||||
<h2 className="panel-title">{title}</h2>
|
||||
</header>
|
||||
<div className="panel-body">{children}</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import App from './App.jsx';
|
||||
|
||||
createRoot(document.getElementById('root')).render(<App />);
|
||||
@@ -0,0 +1,4 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
|
||||
export default defineConfig({ plugins: [react()] });
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Oracle Live Fixture
|
||||
description: A one-page fixture set in plain type on paper-white surfaces.
|
||||
colors:
|
||||
ink: "#142720"
|
||||
paper: "#ffffff"
|
||||
typography:
|
||||
body:
|
||||
fontFamily: "system-ui, sans-serif"
|
||||
fontWeight: 400
|
||||
lineHeight: 1.5
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- impeccable:product-schema 2 -->
|
||||
# Product
|
||||
|
||||
## What it is
|
||||
A fixture app used by the oracle harness for live mode.
|
||||
|
||||
## Platform
|
||||
web
|
||||
@@ -0,0 +1,3 @@
|
||||
import { defineConfig } from 'astro/config';
|
||||
|
||||
export default defineConfig({});
|
||||
@@ -0,0 +1 @@
|
||||
{ "name": "admin", "private": true, "type": "module", "dependencies": { "astro": "^5.0.0" } }
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
---
|
||||
<Layout title="Astro Fixture">
|
||||
<main class="page">
|
||||
<h1 class="hero-title">Astro Fixture</h1>
|
||||
<p class="hero-hook">Minimal Astro tree for oracle live-mode goldens.</p>
|
||||
<section id="features" class="feature-grid">
|
||||
<article class="feature-card">One</article>
|
||||
<article class="feature-card">Two</article>
|
||||
</section>
|
||||
</main>
|
||||
</Layout>
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Oracle Vite Fixture</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.jsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
{ "name": "web", "private": true, "type": "module", "devDependencies": { "vite": "^8.0.0" } }
|
||||
@@ -0,0 +1,22 @@
|
||||
export default function App() {
|
||||
return (
|
||||
<main className="page">
|
||||
<h1 className="hero-title">Vite Fixture</h1>
|
||||
<p className="hero-hook">Minimal React tree for oracle live-mode goldens.</p>
|
||||
<section id="features" className="feature-grid">
|
||||
<article className="feature-card">One</article>
|
||||
<article className="feature-card">Two</article>
|
||||
</section>
|
||||
<ul className="item-list">
|
||||
{items.map((item) => (
|
||||
<li key={item.id} className="item-row">{item.title}</li>
|
||||
))}
|
||||
</ul>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
||||
const items = [
|
||||
{ id: 1, title: 'First' },
|
||||
{ id: 2, title: 'Second' },
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
|
||||
export default defineConfig({ plugins: [react()] });
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "oracle-live-workspaces",
|
||||
"private": true,
|
||||
"workspaces": ["apps/*"]
|
||||
}
|
||||
Reference in New Issue
Block a user