@batijs/cli 0.0.196 → 0.0.198
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/boilerplates/@batijs/biome/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/compiled/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/drizzle/files/$README.md.js +29 -0
- package/dist/boilerplates/@batijs/drizzle/files/$package.json.js +112 -0
- package/dist/boilerplates/@batijs/drizzle/files/database/db.ts +6 -0
- package/dist/boilerplates/@batijs/drizzle/files/database/schema.ts +11 -0
- package/dist/boilerplates/@batijs/drizzle/files/database/seed.ts +12 -0
- package/dist/boilerplates/@batijs/drizzle/files/drizzle.config.ts +10 -0
- package/dist/boilerplates/@batijs/drizzle/types/database/db.d.ts +2 -0
- package/dist/boilerplates/@batijs/drizzle/types/database/schema.d.ts +33 -0
- package/dist/boilerplates/@batijs/drizzle/types/database/seed.d.ts +1 -0
- package/dist/boilerplates/@batijs/drizzle/types/drizzle.config.d.ts +2 -0
- package/dist/boilerplates/@batijs/edgedb/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/eslint/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/express/files/$package.json.js +7 -5
- package/dist/boilerplates/@batijs/express/files/express-entry.ts +5 -0
- package/dist/boilerplates/@batijs/fastify/files/$package.json.js +7 -5
- package/dist/boilerplates/@batijs/fastify/files/fastify-entry.ts +5 -0
- package/dist/boilerplates/@batijs/firebase-auth/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/h3/files/$package.json.js +7 -5
- package/dist/boilerplates/@batijs/h3/files/h3-entry.ts +5 -0
- package/dist/boilerplates/@batijs/hattip/files/$package.json.js +6 -4
- package/dist/boilerplates/@batijs/hattip/files/hattip-entry.ts +5 -0
- package/dist/boilerplates/@batijs/hono/files/$package.json.js +9 -7
- package/dist/boilerplates/@batijs/hono/files/hono-entry.ts +5 -0
- package/dist/boilerplates/@batijs/hono/types/hono-entry.d.ts +1 -1
- package/dist/boilerplates/@batijs/prettier/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/prisma/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/react/files/$README.md.js +9 -3
- package/dist/boilerplates/@batijs/react/files/$package.json.js +25 -9
- package/dist/boilerplates/@batijs/react/files/layouts/LayoutDefault.tsx +1 -2
- package/dist/boilerplates/@batijs/react/files/pages/todo/+Page.tsx +14 -0
- package/dist/boilerplates/@batijs/react/files/pages/todo/TodoList.tsx +51 -0
- package/dist/boilerplates/@batijs/react/types/pages/+config.d.ts +9 -6
- package/dist/boilerplates/@batijs/react/types/pages/todo/TodoList.d.ts +5 -0
- package/dist/boilerplates/@batijs/shared/files/package.json +3 -3
- package/dist/boilerplates/@batijs/shared-no-db/files/$package.json.js +91 -0
- package/dist/boilerplates/@batijs/shared-no-db/files/database/todoItems.ts +13 -0
- package/dist/boilerplates/@batijs/shared-no-db/types/database/todoItems.d.ts +9 -0
- package/dist/boilerplates/@batijs/shared-todo/files/pages/todo/+data.ts +15 -0
- package/dist/boilerplates/@batijs/shared-todo/files/server/create-todo-handler.ts +24 -0
- package/dist/boilerplates/@batijs/shared-todo/types/pages/todo/+data.d.ts +4 -0
- package/dist/boilerplates/@batijs/shared-todo/types/server/create-todo-handler.d.ts +2 -0
- package/dist/boilerplates/@batijs/solid/files/$README.md.js +9 -3
- package/dist/boilerplates/@batijs/solid/files/$package.json.js +19 -3
- package/dist/boilerplates/@batijs/solid/files/layouts/LayoutDefault.tsx +1 -2
- package/dist/boilerplates/@batijs/solid/files/pages/todo/+Page.tsx +13 -0
- package/dist/boilerplates/@batijs/solid/files/pages/todo/TodoList.tsx +49 -0
- package/dist/boilerplates/@batijs/solid/types/pages/todo/TodoList.d.ts +5 -0
- package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +4 -4
- package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +12 -3
- package/dist/boilerplates/@batijs/telefunc/files/pages/todo/TodoList.telefunc.ts +11 -0
- package/dist/boilerplates/@batijs/telefunc/types/pages/todo/TodoList.telefunc.d.ts +3 -0
- package/dist/boilerplates/@batijs/trpc/files/$package.json.js +4 -2
- package/dist/boilerplates/@batijs/trpc/files/trpc/server.ts +8 -3
- package/dist/boilerplates/@batijs/trpc/types/trpc/client.d.ts +1 -3
- package/dist/boilerplates/@batijs/trpc/types/trpc/server.d.ts +1 -3
- package/dist/boilerplates/@batijs/vercel/files/$package.json.js +2 -2
- package/dist/boilerplates/@batijs/vue/files/$README.md.js +9 -3
- package/dist/boilerplates/@batijs/vue/files/$package.json.js +9 -5
- package/dist/boilerplates/@batijs/vue/files/layouts/LayoutDefault.vue +1 -4
- package/dist/boilerplates/@batijs/vue/files/pages/todo/+Page.vue +14 -0
- package/dist/boilerplates/@batijs/vue/files/pages/todo/TodoList.vue +49 -0
- package/dist/boilerplates/@batijs/vue/types/pages/+config.d.ts +95 -2
- package/dist/boilerplates/boilerplates.json +23 -98
- package/dist/{chunk-5DE3DJHR.js → chunk-TGVSJ5SD.js} +1 -1
- package/dist/index.js +21 -30
- package/dist/{prompt-YMZWKECL.js → prompt-XFX2ZGRD.js} +27 -54
- package/package.json +8 -8
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+Page.tsx +0 -27
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+data.ts +0 -9
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/TodoList.telefunc.ts +0 -6
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/TodoList.tsx +0 -30
- package/dist/boilerplates/@batijs/react-telefunc/types/pages/todo/+data.d.ts +0 -2
- package/dist/boilerplates/@batijs/react-telefunc/types/pages/todo/TodoList.d.ts +0 -4
- package/dist/boilerplates/@batijs/react-telefunc/types/pages/todo/TodoList.telefunc.d.ts +0 -4
- package/dist/boilerplates/@batijs/react-trpc/files/pages/todo-trpc/+Page.tsx +0 -27
- package/dist/boilerplates/@batijs/react-trpc/files/pages/todo-trpc/+config.ts +0 -5
- package/dist/boilerplates/@batijs/react-trpc/files/pages/todo-trpc/+data.ts +0 -9
- package/dist/boilerplates/@batijs/react-trpc/files/pages/todo-trpc/TodoList.tsx +0 -30
- package/dist/boilerplates/@batijs/react-trpc/types/pages/todo-trpc/+Page.d.ts +0 -1
- package/dist/boilerplates/@batijs/react-trpc/types/pages/todo-trpc/+config.d.ts +0 -4
- package/dist/boilerplates/@batijs/react-trpc/types/pages/todo-trpc/+data.d.ts +0 -2
- package/dist/boilerplates/@batijs/react-trpc/types/pages/todo-trpc/TodoList.d.ts +0 -4
- package/dist/boilerplates/@batijs/shared-db/files/database/todoItems.ts +0 -12
- package/dist/boilerplates/@batijs/shared-db/types/database/todoItems.d.ts +0 -6
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+Page.tsx +0 -28
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+config.ts +0 -3
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+data.ts +0 -9
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/TodoList.telefunc.ts +0 -8
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/TodoList.tsx +0 -28
- package/dist/boilerplates/@batijs/solid-telefunc/types/pages/todo/+config.d.ts +0 -4
- package/dist/boilerplates/@batijs/solid-telefunc/types/pages/todo/+data.d.ts +0 -2
- package/dist/boilerplates/@batijs/solid-telefunc/types/pages/todo/TodoList.d.ts +0 -4
- package/dist/boilerplates/@batijs/solid-telefunc/types/pages/todo/TodoList.telefunc.d.ts +0 -5
- package/dist/boilerplates/@batijs/solid-trpc/files/pages/todo-trpc/+Page.tsx +0 -28
- package/dist/boilerplates/@batijs/solid-trpc/files/pages/todo-trpc/+config.ts +0 -3
- package/dist/boilerplates/@batijs/solid-trpc/files/pages/todo-trpc/+data.ts +0 -9
- package/dist/boilerplates/@batijs/solid-trpc/files/pages/todo-trpc/TodoList.tsx +0 -28
- package/dist/boilerplates/@batijs/solid-trpc/types/pages/todo-trpc/+Page.d.ts +0 -1
- package/dist/boilerplates/@batijs/solid-trpc/types/pages/todo-trpc/+config.d.ts +0 -4
- package/dist/boilerplates/@batijs/solid-trpc/types/pages/todo-trpc/+data.d.ts +0 -2
- package/dist/boilerplates/@batijs/solid-trpc/types/pages/todo-trpc/TodoList.d.ts +0 -4
- package/dist/boilerplates/@batijs/vue-telefunc/files/components/TodoList.telefunc.ts +0 -8
- package/dist/boilerplates/@batijs/vue-telefunc/files/components/TodoList.vue +0 -33
- package/dist/boilerplates/@batijs/vue-telefunc/files/pages/todo/+Page.vue +0 -20
- package/dist/boilerplates/@batijs/vue-telefunc/files/pages/todo/+config.ts +0 -3
- package/dist/boilerplates/@batijs/vue-telefunc/files/pages/todo/+data.ts +0 -9
- package/dist/boilerplates/@batijs/vue-telefunc/types/components/TodoList.telefunc.d.ts +0 -5
- package/dist/boilerplates/@batijs/vue-telefunc/types/pages/todo/+config.d.ts +0 -4
- package/dist/boilerplates/@batijs/vue-telefunc/types/pages/todo/+data.d.ts +0 -2
- package/dist/boilerplates/@batijs/vue-trpc/files/components/TodoListTrpc.vue +0 -31
- package/dist/boilerplates/@batijs/vue-trpc/files/pages/todo-trpc/+Page.vue +0 -20
- package/dist/boilerplates/@batijs/vue-trpc/files/pages/todo-trpc/+config.ts +0 -3
- package/dist/boilerplates/@batijs/vue-trpc/files/pages/todo-trpc/+data.ts +0 -9
- package/dist/boilerplates/@batijs/vue-trpc/types/pages/todo-trpc/+config.d.ts +0 -4
- package/dist/boilerplates/@batijs/vue-trpc/types/pages/todo-trpc/+data.d.ts +0 -2
- /package/dist/boilerplates/@batijs/{react-telefunc → react}/types/pages/todo/+Page.d.ts +0 -0
- /package/dist/boilerplates/@batijs/{react-telefunc → shared-todo}/files/pages/todo/+config.ts +0 -0
- /package/dist/boilerplates/@batijs/{react-telefunc → shared-todo}/types/pages/todo/+config.d.ts +0 -0
- /package/dist/boilerplates/@batijs/{solid-telefunc → solid}/types/pages/todo/+Page.d.ts +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { db } from "@batijs/drizzle/database/db";
|
|
2
|
+
import { todoTable } from "@batijs/drizzle/database/schema";
|
|
3
|
+
import { lowDb } from "@batijs/shared-no-db/database/todoItems";
|
|
2
4
|
import { initTRPC } from "@trpc/server";
|
|
3
5
|
|
|
4
6
|
/**
|
|
@@ -26,8 +28,11 @@ export const appRouter = router({
|
|
|
26
28
|
throw new Error("Input is not a string");
|
|
27
29
|
})
|
|
28
30
|
.mutation(async (opts) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
if (BATI.has("drizzle")) {
|
|
32
|
+
await db.insert(todoTable).values({ text: opts.input });
|
|
33
|
+
} else {
|
|
34
|
+
await lowDb.update(({ todo }) => todo.push({ text: opts.input }));
|
|
35
|
+
}
|
|
31
36
|
}),
|
|
32
37
|
});
|
|
33
38
|
|
|
@@ -31,8 +31,6 @@ export declare const trpc: {
|
|
|
31
31
|
_input_out: string;
|
|
32
32
|
_output_in: typeof import("@trpc/server").unsetMarker;
|
|
33
33
|
_output_out: typeof import("@trpc/server").unsetMarker;
|
|
34
|
-
},
|
|
35
|
-
todoItems: import("@batijs/shared-db/database/todoItems").TodoItem[];
|
|
36
|
-
}>>;
|
|
34
|
+
}, void>>;
|
|
37
35
|
};
|
|
38
36
|
};
|
|
@@ -57,8 +57,6 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
57
57
|
_input_out: string;
|
|
58
58
|
_output_in: typeof import("@trpc/server").unsetMarker;
|
|
59
59
|
_output_out: typeof import("@trpc/server").unsetMarker;
|
|
60
|
-
},
|
|
61
|
-
todoItems: import("@batijs/shared-db/database/todoItems").TodoItem[];
|
|
62
|
-
}>;
|
|
60
|
+
}, void>;
|
|
63
61
|
}>;
|
|
64
62
|
export type AppRouter = typeof appRouter;
|
|
@@ -44,8 +44,8 @@ var require_package = __commonJS({
|
|
|
44
44
|
"@batijs/compile": "workspace:*",
|
|
45
45
|
"@types/node": "^18.19.14",
|
|
46
46
|
"@vite-plugin-vercel/vike": "^7.0.0",
|
|
47
|
-
vike: "^0.4.
|
|
48
|
-
vite: "^5.2.
|
|
47
|
+
vike: "^0.4.174",
|
|
48
|
+
vite: "^5.2.12",
|
|
49
49
|
"vite-plugin-vercel": "^7.0.0"
|
|
50
50
|
},
|
|
51
51
|
dependencies: {
|
|
@@ -3,32 +3,38 @@ import { loadReadme } from "@batijs/core";
|
|
|
3
3
|
async function getReadme(props) {
|
|
4
4
|
const content = await loadReadme(props);
|
|
5
5
|
const about = `
|
|
6
|
+
|
|
6
7
|
This app is ready to start. It's powered by [Vike](https://vike.dev) and [Vue](https://vuejs.org/guide/quick-start.html).
|
|
7
8
|
|
|
8
9
|
### \`/pages/+config.ts\`
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
Such \`+\` files are [the interface](https://vike.dev/config) between Vike and your code. It defines:
|
|
10
12
|
- A default [\`<Layout>\` component](https://vike.dev/Layout) (that wraps your [\`<Page>\` components](https://vike.dev/Page)).
|
|
11
13
|
- A default [\`title\`](https://vike.dev/head).
|
|
12
14
|
- Default [\`<head>\` tags](https://vike.dev/head).
|
|
13
15
|
|
|
14
16
|
### Routing
|
|
17
|
+
|
|
15
18
|
[Vike's built-in router](https://vike.dev/routing) lets you choose between:
|
|
16
19
|
- [Filesystem Routing](https://vike.dev/filesystem-routing) (the URL of a page is determined based on where its \`+Page.vue\` file is located on the filesystem)
|
|
17
20
|
- [Route Strings](https://vike.dev/route-string)
|
|
18
21
|
- [Route Functions](https://vike.dev/route-function)
|
|
19
22
|
|
|
20
23
|
### \`/pages/_error/+Page.vue\`
|
|
24
|
+
|
|
21
25
|
The [error page](https://vike.dev/error-page) which is rendered when errors occur.
|
|
22
26
|
|
|
23
27
|
### \`/pages/+onPageTransitionStart.ts\` and \`/pages/+onPageTransitionEnd.ts\`
|
|
28
|
+
|
|
24
29
|
The [\`onPageTransitionStart()\` hook](https://vike.dev/onPageTransitionStart), together with [\`onPageTransitionEnd()\`](https://vike.dev/onPageTransitionEnd), enables you to implement page transition animations.
|
|
25
30
|
|
|
26
31
|
### SSR
|
|
32
|
+
|
|
27
33
|
SSR is enabled by default. You can [disable it](https://vike.dev/ssr) for all your pages or only for some pages.
|
|
28
34
|
|
|
29
35
|
### HTML Streaming
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
|
|
37
|
+
You can enable/disable [HTML streaming](https://vike.dev/streaming) for all your pages, or only for some pages while still using it for others.`;
|
|
32
38
|
content.addAbout(about);
|
|
33
39
|
return content.finalize();
|
|
34
40
|
}
|
|
@@ -42,18 +42,22 @@ var require_package = __commonJS({
|
|
|
42
42
|
license: "MIT",
|
|
43
43
|
devDependencies: {
|
|
44
44
|
"@batijs/compile": "workspace:*",
|
|
45
|
+
"@batijs/drizzle": "workspace:*",
|
|
46
|
+
"@batijs/shared-todo": "workspace:*",
|
|
47
|
+
"@batijs/telefunc": "workspace:*",
|
|
48
|
+
"@batijs/trpc": "workspace:^",
|
|
45
49
|
"@types/node": "^18.19.14",
|
|
46
|
-
"@vitejs/plugin-vue": "^5.0.
|
|
50
|
+
"@vitejs/plugin-vue": "^5.0.5",
|
|
47
51
|
"@vue/compiler-sfc": "^3.4.27",
|
|
48
52
|
"@vue/server-renderer": "^3.4.27",
|
|
49
53
|
"cross-fetch": "^4.0.0",
|
|
50
54
|
"eslint-plugin-vue": "^9.26.0",
|
|
51
|
-
tailwindcss: "^3.4.
|
|
55
|
+
tailwindcss: "^3.4.4",
|
|
52
56
|
typescript: "^5.4.5",
|
|
53
57
|
"unplugin-vue-markdown": "^0.26.2",
|
|
54
|
-
vike: "^0.4.
|
|
55
|
-
"vike-vue": "^0.
|
|
56
|
-
vite: "^5.2.
|
|
58
|
+
vike: "^0.4.174",
|
|
59
|
+
"vike-vue": "^0.7.1",
|
|
60
|
+
vite: "^5.2.12",
|
|
57
61
|
vue: "^3.4.27",
|
|
58
62
|
"vue-gtag": "^2.0.1"
|
|
59
63
|
},
|
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
<Sidebar>
|
|
4
4
|
<Logo />
|
|
5
5
|
<Link href="/"> Welcome </Link>
|
|
6
|
-
|
|
7
|
-
<Link href="/todo"> Todo (telefunc) </Link>
|
|
8
|
-
<!-- BATI.has("trpc") -->
|
|
9
|
-
<Link href="/todo-trpc"> Todo (tRPC) </Link>
|
|
6
|
+
<Link href="/todo"> Todo </Link>
|
|
10
7
|
<Link href="/star-wars"> Data Fetching </Link>
|
|
11
8
|
</Sidebar>
|
|
12
9
|
<Content><slot /></Content>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<h1>To-do List</h1>
|
|
4
|
+
<TodoList :initial-todo-items="initialTodoItems" />
|
|
5
|
+
</div>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script lang="ts" setup>
|
|
9
|
+
import type { Data } from "@batijs/shared-todo/pages/todo/+data";
|
|
10
|
+
import { useData } from "vike-vue/useData";
|
|
11
|
+
import TodoList from "./TodoList.vue";
|
|
12
|
+
|
|
13
|
+
const initialTodoItems = useData<Data>();
|
|
14
|
+
</script>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ul>
|
|
3
|
+
<li v-for="item in todoItems" :key="item.text">
|
|
4
|
+
{{ item.text }}
|
|
5
|
+
</li>
|
|
6
|
+
<li>
|
|
7
|
+
<form @submit.prevent="submitNewTodo()">
|
|
8
|
+
<input v-model="newTodo" type="text" />{{ " " }}
|
|
9
|
+
<button type="submit">Add to-do</button>
|
|
10
|
+
</form>
|
|
11
|
+
</li>
|
|
12
|
+
</ul>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script lang="ts" setup>
|
|
16
|
+
import { onNewTodo } from "@batijs/telefunc/pages/todo/TodoList.telefunc";
|
|
17
|
+
import { trpc } from "@batijs/trpc/trpc/client";
|
|
18
|
+
import { ref } from "vue";
|
|
19
|
+
|
|
20
|
+
const props = defineProps<{ initialTodoItems: { text: string }[] }>();
|
|
21
|
+
const todoItems = ref(props.initialTodoItems);
|
|
22
|
+
const newTodo = ref("");
|
|
23
|
+
|
|
24
|
+
const submitNewTodo = async () => {
|
|
25
|
+
// Optimistic UI update
|
|
26
|
+
todoItems.value.push({ text: newTodo.value });
|
|
27
|
+
try {
|
|
28
|
+
if (BATI.has("telefunc")) {
|
|
29
|
+
await onNewTodo({ text: newTodo.value });
|
|
30
|
+
} else if (BATI.has("trpc")) {
|
|
31
|
+
await trpc.onNewTodo.mutate(newTodo.value);
|
|
32
|
+
} else {
|
|
33
|
+
const response = await fetch("/api/todo/create", {
|
|
34
|
+
method: "POST",
|
|
35
|
+
body: JSON.stringify({ text: newTodo.value }),
|
|
36
|
+
headers: {
|
|
37
|
+
"Content-Type": "application/json",
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
await response.blob();
|
|
41
|
+
}
|
|
42
|
+
newTodo.value = "";
|
|
43
|
+
} catch (e) {
|
|
44
|
+
console.error(e);
|
|
45
|
+
// rollback
|
|
46
|
+
todoItems.value.slice(0, -1);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
</script>
|
|
@@ -1,11 +1,104 @@
|
|
|
1
|
-
import vikeVue from "vike-vue/config";
|
|
2
1
|
import Head from "../layouts/HeadDefault.vue";
|
|
3
2
|
declare const _default: {
|
|
4
3
|
Layout: typeof Head;
|
|
5
4
|
Head: typeof Head;
|
|
6
5
|
passToClient: string[];
|
|
7
6
|
title: string;
|
|
8
|
-
extends:
|
|
7
|
+
extends: {
|
|
8
|
+
name: string;
|
|
9
|
+
onRenderHtml: "import:vike-vue/renderer/onRenderHtml:onRenderHtml";
|
|
10
|
+
onRenderClient: "import:vike-vue/renderer/onRenderClient:onRenderClient";
|
|
11
|
+
passToClient: string[];
|
|
12
|
+
clientRouting: true;
|
|
13
|
+
hydrationCanBeAborted: true;
|
|
14
|
+
meta: {
|
|
15
|
+
Head: {
|
|
16
|
+
env: {
|
|
17
|
+
server: true;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
Layout: {
|
|
21
|
+
env: {
|
|
22
|
+
server: true;
|
|
23
|
+
client: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
title: {
|
|
27
|
+
env: {
|
|
28
|
+
server: true;
|
|
29
|
+
client: true;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
favicon: {
|
|
33
|
+
env: {
|
|
34
|
+
server: true;
|
|
35
|
+
client: true;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
lang: {
|
|
39
|
+
env: {
|
|
40
|
+
server: true;
|
|
41
|
+
client: true;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
ssr: {
|
|
45
|
+
env: {
|
|
46
|
+
config: true;
|
|
47
|
+
};
|
|
48
|
+
effect: import("vike/types").ConfigEffect;
|
|
49
|
+
};
|
|
50
|
+
stream: {
|
|
51
|
+
env: {
|
|
52
|
+
server: true;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
vuePlugins: {
|
|
56
|
+
env: {
|
|
57
|
+
server: true;
|
|
58
|
+
client: true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
onCreateApp: {
|
|
62
|
+
env: {
|
|
63
|
+
server: true;
|
|
64
|
+
client: true;
|
|
65
|
+
};
|
|
66
|
+
cumulative: true;
|
|
67
|
+
};
|
|
68
|
+
onAfterRenderHtml: {
|
|
69
|
+
env: {
|
|
70
|
+
server: true;
|
|
71
|
+
};
|
|
72
|
+
cumulative: true;
|
|
73
|
+
};
|
|
74
|
+
onBeforeRenderClient: {
|
|
75
|
+
env: {
|
|
76
|
+
server: false;
|
|
77
|
+
client: true;
|
|
78
|
+
};
|
|
79
|
+
cumulative: true;
|
|
80
|
+
};
|
|
81
|
+
name: {
|
|
82
|
+
env: {
|
|
83
|
+
config: true;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
bodyHtmlStart: {
|
|
87
|
+
env: {
|
|
88
|
+
server: true;
|
|
89
|
+
client: true;
|
|
90
|
+
};
|
|
91
|
+
cumulative: true;
|
|
92
|
+
};
|
|
93
|
+
bodyHtmlEnd: {
|
|
94
|
+
env: {
|
|
95
|
+
server: true;
|
|
96
|
+
client: true;
|
|
97
|
+
};
|
|
98
|
+
cumulative: true;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
9
102
|
meta: {
|
|
10
103
|
firebaseApp: {
|
|
11
104
|
env: {
|
|
@@ -48,6 +48,17 @@
|
|
|
48
48
|
"files"
|
|
49
49
|
]
|
|
50
50
|
},
|
|
51
|
+
{
|
|
52
|
+
"config": {
|
|
53
|
+
"if": {
|
|
54
|
+
"flag": "drizzle"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"folder": "@batijs/drizzle",
|
|
58
|
+
"subfolders": [
|
|
59
|
+
"files"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
51
62
|
{
|
|
52
63
|
"config": {
|
|
53
64
|
"if": {
|
|
@@ -196,38 +207,6 @@
|
|
|
196
207
|
"files"
|
|
197
208
|
]
|
|
198
209
|
},
|
|
199
|
-
{
|
|
200
|
-
"config": {
|
|
201
|
-
"if": {
|
|
202
|
-
"flag": {
|
|
203
|
-
"$all": [
|
|
204
|
-
"react",
|
|
205
|
-
"telefunc"
|
|
206
|
-
]
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"folder": "@batijs/react-telefunc",
|
|
211
|
-
"subfolders": [
|
|
212
|
-
"files"
|
|
213
|
-
]
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"config": {
|
|
217
|
-
"if": {
|
|
218
|
-
"flag": {
|
|
219
|
-
"$all": [
|
|
220
|
-
"react",
|
|
221
|
-
"trpc"
|
|
222
|
-
]
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
"folder": "@batijs/react-trpc",
|
|
227
|
-
"subfolders": [
|
|
228
|
-
"files"
|
|
229
|
-
]
|
|
230
|
-
},
|
|
231
210
|
{
|
|
232
211
|
"config": {
|
|
233
212
|
"enforce": "pre"
|
|
@@ -241,14 +220,15 @@
|
|
|
241
220
|
"config": {
|
|
242
221
|
"if": {
|
|
243
222
|
"flag": {
|
|
244
|
-
"$
|
|
245
|
-
"
|
|
246
|
-
|
|
247
|
-
|
|
223
|
+
"$not": {
|
|
224
|
+
"$in": [
|
|
225
|
+
"drizzle"
|
|
226
|
+
]
|
|
227
|
+
}
|
|
248
228
|
}
|
|
249
229
|
}
|
|
250
230
|
},
|
|
251
|
-
"folder": "@batijs/shared-db",
|
|
231
|
+
"folder": "@batijs/shared-no-db",
|
|
252
232
|
"subfolders": [
|
|
253
233
|
"files"
|
|
254
234
|
]
|
|
@@ -296,27 +276,9 @@
|
|
|
296
276
|
},
|
|
297
277
|
{
|
|
298
278
|
"config": {
|
|
299
|
-
"
|
|
300
|
-
"flag": "solid"
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
"folder": "@batijs/solid",
|
|
304
|
-
"subfolders": [
|
|
305
|
-
"files"
|
|
306
|
-
]
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
"config": {
|
|
310
|
-
"if": {
|
|
311
|
-
"flag": {
|
|
312
|
-
"$all": [
|
|
313
|
-
"solid",
|
|
314
|
-
"firebase-auth"
|
|
315
|
-
]
|
|
316
|
-
}
|
|
317
|
-
}
|
|
279
|
+
"enforce": "pre"
|
|
318
280
|
},
|
|
319
|
-
"folder": "@batijs/
|
|
281
|
+
"folder": "@batijs/shared-todo",
|
|
320
282
|
"subfolders": [
|
|
321
283
|
"files"
|
|
322
284
|
]
|
|
@@ -324,15 +286,10 @@
|
|
|
324
286
|
{
|
|
325
287
|
"config": {
|
|
326
288
|
"if": {
|
|
327
|
-
"flag":
|
|
328
|
-
"$all": [
|
|
329
|
-
"solid",
|
|
330
|
-
"telefunc"
|
|
331
|
-
]
|
|
332
|
-
}
|
|
289
|
+
"flag": "solid"
|
|
333
290
|
}
|
|
334
291
|
},
|
|
335
|
-
"folder": "@batijs/solid
|
|
292
|
+
"folder": "@batijs/solid",
|
|
336
293
|
"subfolders": [
|
|
337
294
|
"files"
|
|
338
295
|
]
|
|
@@ -343,12 +300,12 @@
|
|
|
343
300
|
"flag": {
|
|
344
301
|
"$all": [
|
|
345
302
|
"solid",
|
|
346
|
-
"
|
|
303
|
+
"firebase-auth"
|
|
347
304
|
]
|
|
348
305
|
}
|
|
349
306
|
}
|
|
350
307
|
},
|
|
351
|
-
"folder": "@batijs/solid-
|
|
308
|
+
"folder": "@batijs/solid-firebase-auth",
|
|
352
309
|
"subfolders": [
|
|
353
310
|
"files"
|
|
354
311
|
]
|
|
@@ -423,37 +380,5 @@
|
|
|
423
380
|
"subfolders": [
|
|
424
381
|
"files"
|
|
425
382
|
]
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
"config": {
|
|
429
|
-
"if": {
|
|
430
|
-
"flag": {
|
|
431
|
-
"$all": [
|
|
432
|
-
"vue",
|
|
433
|
-
"telefunc"
|
|
434
|
-
]
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
|
-
"folder": "@batijs/vue-telefunc",
|
|
439
|
-
"subfolders": [
|
|
440
|
-
"files"
|
|
441
|
-
]
|
|
442
|
-
},
|
|
443
|
-
{
|
|
444
|
-
"config": {
|
|
445
|
-
"if": {
|
|
446
|
-
"flag": {
|
|
447
|
-
"$all": [
|
|
448
|
-
"vue",
|
|
449
|
-
"trpc"
|
|
450
|
-
]
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
"folder": "@batijs/vue-trpc",
|
|
455
|
-
"subfolders": [
|
|
456
|
-
"files"
|
|
457
|
-
]
|
|
458
383
|
}
|
|
459
384
|
]
|
|
@@ -1062,7 +1062,7 @@ function createConsola2(options = {}) {
|
|
|
1062
1062
|
defaults: { level },
|
|
1063
1063
|
stdout: process.stdout,
|
|
1064
1064
|
stderr: process.stderr,
|
|
1065
|
-
prompt: (...args) => import("./prompt-
|
|
1065
|
+
prompt: (...args) => import("./prompt-XFX2ZGRD.js").then((m) => m.prompt(...args)),
|
|
1066
1066
|
reporters: options.reporters || [
|
|
1067
1067
|
options.fancy ?? !(isCI2 || isTest) ? new FancyReporter() : new BasicReporter()
|
|
1068
1068
|
],
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
__toESM,
|
|
5
5
|
colors,
|
|
6
6
|
consola
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TGVSJ5SD.js";
|
|
8
8
|
|
|
9
9
|
// ../../node_modules/.pnpm/which-pm-runs@1.1.0/node_modules/which-pm-runs/index.js
|
|
10
10
|
var require_which_pm_runs = __commonJS({
|
|
@@ -99,19 +99,16 @@ async function safeWriteFile(destination, content) {
|
|
|
99
99
|
await writeFile(destination, content, { encoding: "utf-8" });
|
|
100
100
|
}
|
|
101
101
|
async function* walk(dir) {
|
|
102
|
-
if (!existsSync(dir))
|
|
103
|
-
return;
|
|
102
|
+
if (!existsSync(dir)) return;
|
|
104
103
|
for await (const d of await opendir(dir)) {
|
|
105
104
|
const entry = path.join(dir, d.name);
|
|
106
105
|
if (d.isDirectory()) {
|
|
107
106
|
yield* walk(entry);
|
|
108
|
-
} else if (d.isFile())
|
|
109
|
-
yield entry;
|
|
107
|
+
} else if (d.isFile()) yield entry;
|
|
110
108
|
}
|
|
111
109
|
}
|
|
112
110
|
function transformFileAfterExec(filepath, fileContent) {
|
|
113
|
-
if (fileContent === void 0 || fileContent === null)
|
|
114
|
-
return null;
|
|
111
|
+
if (fileContent === void 0 || fileContent === null) return null;
|
|
115
112
|
const parsed = path.parse(filepath);
|
|
116
113
|
const toTest = [parsed.base, parsed.ext, parsed.name].filter(Boolean);
|
|
117
114
|
for (const ext of toTest) {
|
|
@@ -781,9 +778,7 @@ var extendStatics = function(d, b) {
|
|
|
781
778
|
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
|
|
782
779
|
d2.__proto__ = b2;
|
|
783
780
|
} || function(d2, b2) {
|
|
784
|
-
for (var p in b2)
|
|
785
|
-
if (Object.prototype.hasOwnProperty.call(b2, p))
|
|
786
|
-
d2[p] = b2[p];
|
|
781
|
+
for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
|
|
787
782
|
};
|
|
788
783
|
return extendStatics(d, b);
|
|
789
784
|
};
|
|
@@ -1564,7 +1559,7 @@ var import_which_pm_runs = __toESM(require_which_pm_runs(), 1);
|
|
|
1564
1559
|
// package.json
|
|
1565
1560
|
var package_default = {
|
|
1566
1561
|
name: "@batijs/cli",
|
|
1567
|
-
version: "0.0.
|
|
1562
|
+
version: "0.0.198",
|
|
1568
1563
|
type: "module",
|
|
1569
1564
|
scripts: {
|
|
1570
1565
|
"check-types": "tsc --noEmit",
|
|
@@ -1581,7 +1576,7 @@ var package_default = {
|
|
|
1581
1576
|
"@batijs/build": "workspace:*",
|
|
1582
1577
|
"@batijs/compile": "workspace:*",
|
|
1583
1578
|
"@types/node": "^18.19.14",
|
|
1584
|
-
"@types/which": "^3.0.
|
|
1579
|
+
"@types/which": "^3.0.4",
|
|
1585
1580
|
"@types/which-pm-runs": "^1.0.2",
|
|
1586
1581
|
citty: "^0.1.6",
|
|
1587
1582
|
colorette: "^2.0.20",
|
|
@@ -1589,9 +1584,9 @@ var package_default = {
|
|
|
1589
1584
|
execa: "^9.1.0",
|
|
1590
1585
|
rimraf: "^5.0.7",
|
|
1591
1586
|
sift: "^17.1.3",
|
|
1592
|
-
tsup: "^8.0
|
|
1587
|
+
tsup: "^8.1.0",
|
|
1593
1588
|
typescript: "^5.4.5",
|
|
1594
|
-
vite: "^5.2.
|
|
1589
|
+
vite: "^5.2.12",
|
|
1595
1590
|
"which-pm-runs": "^1.1.0"
|
|
1596
1591
|
},
|
|
1597
1592
|
dependencies: {
|
|
@@ -1630,7 +1625,10 @@ var rulesMessages = {
|
|
|
1630
1625
|
[RulesMessage.ERROR_COMPILED_R_REACT]: error(
|
|
1631
1626
|
`${inverse(bold("React"))} is required when using ${inverse(bold("Compiled"))}.`
|
|
1632
1627
|
),
|
|
1633
|
-
[RulesMessage.INFO_HATTIP]: info(`${inverse(bold("HatTip"))} is an experimental project`)
|
|
1628
|
+
[RulesMessage.INFO_HATTIP]: info(`${inverse(bold("HatTip"))} is an experimental project`),
|
|
1629
|
+
[RulesMessage.ERROR_DRIZZLE_R_SERVER]: error(
|
|
1630
|
+
`A ${inverse(bold("Server"))} is required when using ${inverse(bold("Drizzle"))}.`
|
|
1631
|
+
)
|
|
1634
1632
|
};
|
|
1635
1633
|
|
|
1636
1634
|
// index.ts
|
|
@@ -1650,8 +1648,7 @@ async function parseBoilerplates(dir) {
|
|
|
1650
1648
|
return JSON.parse(await readFile3(join(dir, "boilerplates.json"), "utf-8"));
|
|
1651
1649
|
}
|
|
1652
1650
|
function toArg(flag, description) {
|
|
1653
|
-
if (!flag)
|
|
1654
|
-
return {};
|
|
1651
|
+
if (!flag) return {};
|
|
1655
1652
|
return {
|
|
1656
1653
|
[flag]: {
|
|
1657
1654
|
type: "boolean",
|
|
@@ -1662,8 +1659,7 @@ function toArg(flag, description) {
|
|
|
1662
1659
|
}
|
|
1663
1660
|
function findDescription(key) {
|
|
1664
1661
|
const feat = features.find((f) => f.flag === key);
|
|
1665
|
-
if (!feat)
|
|
1666
|
-
return;
|
|
1662
|
+
if (!feat) return;
|
|
1667
1663
|
if (feat.description) {
|
|
1668
1664
|
return feat.description;
|
|
1669
1665
|
} else if (feat.label && feat.url) {
|
|
@@ -1681,11 +1677,10 @@ function printOK(dist, flags) {
|
|
|
1681
1677
|
console.log(list3(green("Vike")));
|
|
1682
1678
|
for (const key of flags) {
|
|
1683
1679
|
const feature = features.find((f) => f.flag === key);
|
|
1684
|
-
if (!feature || !feature.label)
|
|
1685
|
-
continue;
|
|
1680
|
+
if (!feature || !feature.label) continue;
|
|
1686
1681
|
console.log(list3(green(feature.label)));
|
|
1687
1682
|
}
|
|
1688
|
-
console.log("\n" + bold(arrow0("Ready to start
|
|
1683
|
+
console.log("\n" + bold(arrow0("Ready to start your app:")));
|
|
1689
1684
|
console.log(cmd3(`cd ${dist}`));
|
|
1690
1685
|
switch (pm?.name) {
|
|
1691
1686
|
case "bun": {
|
|
@@ -1844,14 +1839,10 @@ async function run() {
|
|
|
1844
1839
|
}).flat(1);
|
|
1845
1840
|
checkRules(flags);
|
|
1846
1841
|
boilerplates.sort((b1, b2) => {
|
|
1847
|
-
if (b1.config.enforce === "pre")
|
|
1848
|
-
|
|
1849
|
-
if (
|
|
1850
|
-
|
|
1851
|
-
if (b2.config.enforce === "pre")
|
|
1852
|
-
return 1;
|
|
1853
|
-
if (b2.config.enforce === "post")
|
|
1854
|
-
return -1;
|
|
1842
|
+
if (b1.config.enforce === "pre") return -1;
|
|
1843
|
+
if (b1.config.enforce === "post") return 1;
|
|
1844
|
+
if (b2.config.enforce === "pre") return 1;
|
|
1845
|
+
if (b2.config.enforce === "post") return -1;
|
|
1855
1846
|
return 0;
|
|
1856
1847
|
});
|
|
1857
1848
|
for (const bl of boilerplates) {
|