Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ playground-local
.vinext/
next-env.d.ts
docs/superpowers/
.vitest/

# Test temp dirs (unique per test; a Windows run may leave one behind when the OS has not
# yet unmapped a terminated child process image — see provision.test.ts teardown).
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/pages-routing/actions-and-forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -381,8 +381,8 @@ export default function Upload() {

```vue [Vue]
<script setup lang="ts">
import { ref } from 'vue';
import { Form, useForm } from '@void/vue';
import { ref } from 'vue';

const form = useForm('/photos', { title: '', photo: null as File | null });
const fileInput = ref<HTMLInputElement>();
Expand Down
4 changes: 2 additions & 2 deletions packages/void/src/cli/template.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ export const SCAFFOLD_BASE_DEV_DEPENDENCIES = {
} as const;

export const SCAFFOLD_VITE_PLUS_DEV_DEPENDENCIES = {
vite: 'npm:@voidzero-dev/vite-plus-core@^1.5.0',
'vite-plus': '^1.5.0',
vite: 'npm:@voidzero-dev/vite-plus-core@^1.6.0',
'vite-plus': '^1.6.0',
} as const;

export const SCAFFOLD_TOOLCHAIN_OPTIONS = [
Expand Down
2 changes: 1 addition & 1 deletion packages/void/test/integration/init-install.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ describe('init dependency installation (real subprocesses)', () => {
expect(calls()).toEqual([
{
command: 'npx',
args: ['--yes', '--package=vite-plus@^1.5.0', 'vp', 'install', '--no-frozen-lockfile'],
args: ['--yes', '--package=vite-plus@^1.6.0', 'vp', 'install', '--no-frozen-lockfile'],
cwd: root,
},
]);
Expand Down
22 changes: 11 additions & 11 deletions packages/void/test/unit/init.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1369,8 +1369,8 @@ describe('isScaffoldableEmptyProject', () => {
expect(pkg.dependencies.react).toBeDefined();
expect(pkg.dependencies['react-dom']).toBeDefined();
expect(pkg.dependencies.hono).toBeDefined();
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.5.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.6.0');
expect(pkg.devDependencies.void).toBeDefined();
expect(pkg.devDependencies.typescript).toBeDefined();
expect(pkg.devDependencies['@void/react']).toBeDefined();
Expand Down Expand Up @@ -1582,8 +1582,8 @@ describe('isScaffoldableEmptyProject', () => {
expect(pkg.dependencies.hono).toBeDefined();
expect(pkg.devDependencies.void).toBeDefined();
expect(pkg.devDependencies['@void/react']).toBeDefined();
expect(pkg.devDependencies['vite-plus']).toBe('^1.5.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.6.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
expect(pkg.packageManager).toBeUndefined();
expectPnpmAllowBuilds(root);
expect(detectProjectState(root).packageManager).toBe('pnpm');
Expand Down Expand Up @@ -1644,13 +1644,13 @@ describe('isScaffoldableEmptyProject', () => {
);
expect(installCalls()[0][0]).toBe('vp');
const pkg = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
if (packageManager.startsWith('npm@')) {
expect(pkg.overrides.vite).toBe('$vite');
} else if (packageManager.startsWith('bun@')) {
expect(pkg.overrides.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.overrides.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
} else if (packageManager.startsWith('yarn@')) {
expect(pkg.resolutions.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.resolutions.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
}
} finally {
rmSync(root, { recursive: true, force: true });
Expand Down Expand Up @@ -1725,7 +1725,7 @@ describe('isScaffoldableEmptyProject', () => {

const pkg = JSON.parse(readFileSync(join(root, 'package.json'), 'utf-8'));
expect(pkg.scripts.dev).toBe('vp dev');
expect(pkg.devDependencies['vite-plus']).toBe('^1.5.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.6.0');
expect(pkg.devDependencies.void).toBe('^0.8.9');
expect(readFileSync(join(root, 'vite.config.ts'), 'utf-8')).toContain(
'voidReact({ react: { compiler: true } })',
Expand Down Expand Up @@ -1760,7 +1760,7 @@ describe('isScaffoldableEmptyProject', () => {

const appRoot = join(root, 'my-new-app');
const pkg = JSON.parse(readFileSync(join(appRoot, 'package.json'), 'utf-8'));
expect(pkg.devDependencies['vite-plus']).toBe('^1.5.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.6.0');
expect(pkg.scripts.dev).toBe('vp dev');
expect(readFileSync(join(appRoot, 'pages', 'index.tsx'), 'utf-8')).toContain(
'Welcome to Void',
Expand Down Expand Up @@ -2878,8 +2878,8 @@ export default config;

const pkg = JSON.parse(readFileSync(join(root, 'package.json'), 'utf-8'));
expect(pkg.scripts.dev).toBe('vp dev');
expect(pkg.devDependencies['vite-plus']).toBe('^1.5.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.5.0');
expect(pkg.devDependencies['vite-plus']).toBe('^1.6.0');
expect(pkg.devDependencies.vite).toBe('npm:@voidzero-dev/vite-plus-core@^1.6.0');
expect(pkg.devDependencies.void).toBe('^0.2.3');
expect(pkg.devDependencies['@void/react']).toBe('^0.2.3');
expect(pkg.devDependencies['oxc-transform-react']).toBe('>=0.152.0 <0.157.0');
Expand Down
3 changes: 1 addition & 2 deletions platform/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
"@void/platform": "workspace:*",
"playwright": "catalog:",
"typescript": "catalog:",
"vite-plus": "catalog:",
"vitest": "catalog:"
"vite-plus": "catalog:"
}
}
4 changes: 1 addition & 3 deletions playground/kitchen-sink/pages/kv.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ function deleteKey(name: string) {
</form>
<div v-if="lookedUp" style="margin-top: 10px">
<strong>{{ lookedUp.key }}</strong> =
<span v-if="lookedUp.value !== null"
><code>{{ lookedUp.value }}</code></span
>
<span v-if="lookedUp.value !== null"><code>{{ lookedUp.value }}</code></span>
<span v-else><em>(not found)</em></span>
</div>

Expand Down
4 changes: 1 addition & 3 deletions playground/kitchen-sink/pages/revalidate.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ const form = useForm('/revalidate', {});
<p>ISR revalidation via <code>void/isr</code>.</p>

<h2>Page State</h2>
<p>
Rendered at: <code>{{ renderedAt }}</code>
</p>
<p>Rendered at: <code>{{ renderedAt }}</code></p>
<p>
Last revalidation:
<code v-if="lastRevalidation">{{ lastRevalidation }}</code>
Expand Down
5 changes: 1 addition & 4 deletions playground/kitchen-sink/pages/sandbox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,7 @@ async function runCode() {
<div v-if="error" style="color: red; margin-top: 10px"><strong>Error:</strong> {{ error }}</div>

<h2>Result</h2>
<p v-if="exitCode !== null">
Exit <code>{{ exitCode }}</code
>, {{ duration }}ms
</p>
<p v-if="exitCode !== null">Exit <code>{{ exitCode }}</code>, {{ duration }}ms</p>
<pre style="white-space: pre-wrap; background: #f5f5f5; padding: 10px; min-height: 60px">{{
result ? JSON.stringify(result, null, 2) : '(run the analyzer)'
}}</pre>
Expand Down
8 changes: 2 additions & 6 deletions playground/nuxt/pages/smoke.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ const { data } = await useFetch('/api/smoke');

<template>
<h1>Smoke Test</h1>
<p>
D1 user: <span data-testid="d1-user">{{ data?.user?.name ?? 'none' }}</span>
</p>
<p>
KV value: <span data-testid="kv-value">{{ data?.kvValue ?? 'none' }}</span>
</p>
<p>D1 user: <span data-testid="d1-user">{{ data?.user?.name ?? 'none' }}</span></p>
<p>KV value: <span data-testid="kv-value">{{ data?.kvValue ?? 'none' }}</span></p>
</template>
Loading
Loading