@batijs/cli 0.0.87 → 0.0.88
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/edgedb/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/edgedb/{package-HMOHSPQH.js → package-Z3MWAXVW.js} +1 -1
- package/dist/boilerplates/@batijs/eslint/files/$package.json.js +17 -0
- package/dist/boilerplates/@batijs/eslint/files/.eslintignore +7 -0
- package/dist/boilerplates/@batijs/eslint/files/.eslintrc.json +10 -0
- package/dist/boilerplates/@batijs/eslint/package-6IZEDCMJ.js +61 -0
- package/dist/boilerplates/@batijs/express/files/$package.json.js +4 -4
- package/dist/boilerplates/@batijs/express/{package-LVAF3GMH.js → package-TAXLRPPG.js} +1 -1
- package/dist/boilerplates/@batijs/h3/files/$package.json.js +4 -4
- package/dist/boilerplates/@batijs/h3/{package-OCNH7HWJ.js → package-GAI6KFVK.js} +1 -1
- package/dist/boilerplates/@batijs/hattip/files/$package.json.js +4 -4
- package/dist/boilerplates/@batijs/hattip/files/$vite.config.ts.js +2 -2
- package/dist/boilerplates/@batijs/hattip/{package-FDRQH742.js → package-3BN33DJA.js} +1 -1
- package/dist/boilerplates/@batijs/prisma/files/$.env.js +2 -2
- package/dist/boilerplates/@batijs/prisma/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/prisma/{package-JX35CIXF.js → package-5JR5MUIX.js} +1 -1
- package/dist/boilerplates/@batijs/react/files/$.eslintrc.json.js +16 -0
- package/dist/boilerplates/@batijs/react/files/$package.json.js +8 -3
- package/dist/boilerplates/@batijs/react/files/$tsconfig.json.js +2 -2
- package/dist/boilerplates/@batijs/react/files/$vite.config.ts.js +3 -3
- package/dist/boilerplates/@batijs/react/files/components/Link.tsx +8 -10
- package/dist/boilerplates/@batijs/react/files/layouts/LayoutDefault.tsx +1 -1
- package/dist/boilerplates/@batijs/react/files/pages/_error/+Page.tsx +1 -3
- package/dist/boilerplates/@batijs/react/files/pages/index/Counter.tsx +1 -3
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+Page.tsx +1 -3
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+onBeforeRender.ts +2 -4
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/filterMovieData.ts +1 -5
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+Page.tsx +1 -3
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+onBeforeRender.ts +2 -5
- package/dist/boilerplates/@batijs/react/{package-5YB3UKUO.js → package-EYTH4VNP.js} +7 -3
- package/dist/boilerplates/@batijs/react-telefunc/files/database/todoItems.ts +2 -5
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+config.h.ts +3 -1
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+onBeforeRender.ts +1 -3
- package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/TodoList.telefunc.ts +2 -4
- package/dist/boilerplates/@batijs/shared/files/$index.html.js +2 -2
- package/dist/boilerplates/@batijs/solid/files/$.eslintrc.json.js +13 -0
- package/dist/boilerplates/@batijs/solid/files/$package.json.js +8 -3
- package/dist/boilerplates/@batijs/solid/files/$tsconfig.json.js +2 -2
- package/dist/boilerplates/@batijs/solid/files/$vite.config.ts.js +3 -3
- package/dist/boilerplates/@batijs/solid/files/layouts/HeadDefault.tsx +1 -1
- package/dist/boilerplates/@batijs/solid/files/pages/_error/+Page.tsx +17 -16
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+Page.tsx +1 -1
- package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforeRender.ts +3 -2
- package/dist/boilerplates/@batijs/solid/{package-BLWCB4NH.js → package-3SC4XVSR.js} +4 -3
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+Page.tsx +3 -4
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+onBeforeRender.ts +2 -2
- package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/TodoList.tsx +3 -4
- package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/tailwindcss/{package-34V34OFJ.js → package-GTN2QH7M.js} +1 -1
- package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/telefunc/files/$vite.config.ts.js +2 -2
- package/dist/boilerplates/@batijs/telefunc/{package-LPS6TFJV.js → package-3G2SQFKV.js} +1 -1
- package/dist/boilerplates/@batijs/vercel/files/$package.json.js +3 -3
- package/dist/boilerplates/@batijs/vercel/files/$vite.config.ts.js +2 -2
- package/dist/boilerplates/@batijs/vercel/{package-EAL6NF5P.js → package-2NMHCJGC.js} +1 -1
- package/dist/boilerplates/@batijs/vue/files/$.eslintrc.json.js +16 -0
- package/dist/boilerplates/@batijs/vue/files/$package.json.js +15 -4
- package/dist/boilerplates/@batijs/vue/files/$tsconfig.json.js +2 -2
- package/dist/boilerplates/@batijs/vue/files/$vite.config.ts.js +2 -2
- package/dist/boilerplates/@batijs/vue/files/components/Counter.vue +2 -2
- package/dist/boilerplates/@batijs/vue/files/components/Link.vue +13 -11
- package/dist/boilerplates/@batijs/vue/files/components/Logo.vue +5 -1
- package/dist/boilerplates/@batijs/vue/files/layouts/HeadDefault.vue +9 -2
- package/dist/boilerplates/@batijs/vue/files/layouts/LayoutDefault.vue +9 -3
- package/dist/boilerplates/@batijs/vue/files/pages/star-wars/@id/+Page.vue +8 -3
- package/dist/boilerplates/@batijs/vue/files/pages/star-wars/index/+Page.vue +10 -2
- package/dist/boilerplates/@batijs/vue/files/pages/star-wars/index/+onBeforeRender.ts +3 -2
- package/dist/boilerplates/@batijs/vue/{package-HDC4A5UP.js → package-SEZV7AAY.js} +3 -2
- package/dist/boilerplates/@batijs/vue-telefunc/files/components/TodoList.vue +15 -4
- package/dist/boilerplates/@batijs/vue-telefunc/files/pages/todo/+Page.vue +3 -2
- package/dist/boilerplates/boilerplates.json +15 -1
- package/dist/index.js +84 -45
- package/package.json +4 -4
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import { Show } from "solid-js";
|
|
2
|
+
|
|
1
3
|
export default function Page(props: { is404: boolean; errorInfo?: string }) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
4
|
+
return (
|
|
5
|
+
<Show
|
|
6
|
+
when={props.is404}
|
|
7
|
+
fallback={
|
|
8
|
+
<>
|
|
9
|
+
<h1>500 Internal Server Error</h1>
|
|
10
|
+
<p>Something went wrong.</p>
|
|
11
|
+
</>
|
|
12
|
+
}
|
|
13
|
+
>
|
|
14
|
+
<h1>404 Page Not Found</h1>
|
|
15
|
+
<p>This page could not be found.</p>
|
|
16
|
+
<p>{props.errorInfo}</p>
|
|
17
|
+
</Show>
|
|
18
|
+
);
|
|
18
19
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default onBeforeRender;
|
|
2
|
-
|
|
3
1
|
import fetch from "cross-fetch";
|
|
4
2
|
//import { filterMovieData } from '../filterMovieData'
|
|
5
3
|
import type { Movie, MovieDetails } from "../types";
|
|
6
4
|
|
|
5
|
+
export default onBeforeRender;
|
|
6
|
+
|
|
7
7
|
// export { prerender }
|
|
8
8
|
|
|
9
9
|
async function onBeforeRender() {
|
|
@@ -23,6 +23,7 @@ async function onBeforeRender() {
|
|
|
23
23
|
|
|
24
24
|
async function getStarWarsMovies(): Promise<MovieDetails[]> {
|
|
25
25
|
const response = await fetch("https://star-wars.brillout.com/api/films.json");
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
27
|
let movies: MovieDetails[] = ((await response.json()) as any).results;
|
|
27
28
|
movies = movies.map((movie: MovieDetails, i: number) => ({
|
|
28
29
|
...movie,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@batijs/solid";
|
|
3
3
|
var private2 = true;
|
|
4
|
-
var version = "0.0.
|
|
4
|
+
var version = "0.0.88";
|
|
5
5
|
var description = "";
|
|
6
6
|
var type = "module";
|
|
7
7
|
var scripts = {
|
|
@@ -14,14 +14,15 @@ var devDependencies = {
|
|
|
14
14
|
"@batijs/tsup": "workspace:*",
|
|
15
15
|
"@types/node": "^16.18.40",
|
|
16
16
|
"cross-fetch": "^4.0.0",
|
|
17
|
+
"eslint-plugin-solid": "^0.13.0",
|
|
17
18
|
"solid-js": "^1.7.12",
|
|
18
19
|
tailwindcss: "^3.3.3",
|
|
19
20
|
tsup: "^7.2.0",
|
|
20
21
|
typescript: "^5.2.2",
|
|
22
|
+
vike: "^0.4.143",
|
|
21
23
|
"vike-solid": "^0.2.1",
|
|
22
24
|
vite: "^4.4.11",
|
|
23
|
-
"vite-plugin-solid": "^2.7.0"
|
|
24
|
-
vike: "^0.4.143"
|
|
25
|
+
"vite-plugin-solid": "^2.7.0"
|
|
25
26
|
};
|
|
26
27
|
var dependencies = {
|
|
27
28
|
"@batijs/core": "workspace:*"
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { createSignal } from "solid-js";
|
|
2
|
-
|
|
3
|
-
import { TodoList } from "./TodoList";
|
|
4
2
|
import type { TodoItem } from "../../database/todoItems";
|
|
3
|
+
import { TodoList } from "./TodoList";
|
|
5
4
|
|
|
6
|
-
export default function Page(
|
|
5
|
+
export default function Page(props: { initialTodoItems: TodoItem[] }) {
|
|
7
6
|
return (
|
|
8
7
|
<>
|
|
9
8
|
<h1>To-do List</h1>
|
|
10
|
-
<TodoList
|
|
9
|
+
<TodoList initialTodoItems={props.initialTodoItems} />
|
|
11
10
|
<Counter />
|
|
12
11
|
</>
|
|
13
12
|
);
|
|
@@ -4,11 +4,11 @@ export default onBeforeRender;
|
|
|
4
4
|
import { todoItems } from "../../database/todoItems";
|
|
5
5
|
|
|
6
6
|
function onBeforeRender() {
|
|
7
|
-
const
|
|
7
|
+
const initialTodoItems = todoItems;
|
|
8
8
|
return {
|
|
9
9
|
pageContext: {
|
|
10
10
|
pageProps: {
|
|
11
|
-
|
|
11
|
+
initialTodoItems,
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { createSignal, For, untrack } from "solid-js";
|
|
2
|
-
|
|
3
|
-
import { onNewTodo } from "./TodoList.telefunc.js";
|
|
4
2
|
import type { TodoItem } from "../../database/todoItems.js";
|
|
3
|
+
import { onNewTodo } from "./TodoList.telefunc.js";
|
|
5
4
|
|
|
6
|
-
export function TodoList(
|
|
7
|
-
const [todoItems, setTodoItems] = createSignal(
|
|
5
|
+
export function TodoList(props: { initialTodoItems: TodoItem[] }) {
|
|
6
|
+
const [todoItems, setTodoItems] = createSignal(props.initialTodoItems);
|
|
8
7
|
const [draft, setDraft] = createSignal("");
|
|
9
8
|
return (
|
|
10
9
|
<>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// files/$package.json.ts
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
|
-
async function getPackageJson(
|
|
4
|
-
const packageJson = await loadAsJson(
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
3
|
+
async function getPackageJson(props) {
|
|
4
|
+
const packageJson = await loadAsJson(props);
|
|
5
|
+
return addDependency(packageJson, await import("../package-GTN2QH7M.js"), {
|
|
6
6
|
devDependencies: ["tailwindcss", "postcss", "autoprefixer"]
|
|
7
7
|
});
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// files/$package.json.ts
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
|
-
async function getPackageJson(
|
|
4
|
-
const packageJson = await loadAsJson(
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
3
|
+
async function getPackageJson(props) {
|
|
4
|
+
const packageJson = await loadAsJson(props);
|
|
5
|
+
return addDependency(packageJson, await import("../package-3G2SQFKV.js"), {
|
|
6
6
|
dependencies: ["telefunc"]
|
|
7
7
|
});
|
|
8
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// files/$vite.config.ts.ts
|
|
2
2
|
import { addVitePlugin, loadAsMagicast } from "@batijs/core";
|
|
3
|
-
async function getViteConfig(
|
|
4
|
-
const mod = await loadAsMagicast(
|
|
3
|
+
async function getViteConfig(props) {
|
|
4
|
+
const mod = await loadAsMagicast(props);
|
|
5
5
|
addVitePlugin(mod, {
|
|
6
6
|
from: "telefunc/vite",
|
|
7
7
|
constructor: "telefunc",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// files/$package.json.ts
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
|
-
async function getPackageJson(
|
|
4
|
-
const packageJson = await loadAsJson(
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
3
|
+
async function getPackageJson(props) {
|
|
4
|
+
const packageJson = await loadAsJson(props);
|
|
5
|
+
return addDependency(packageJson, await import("../package-2NMHCJGC.js"), {
|
|
6
6
|
dependencies: ["vite-plugin-vercel", "@vite-plugin-vercel/vike"]
|
|
7
7
|
});
|
|
8
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// files/$vite.config.ts.ts
|
|
2
2
|
import { addVitePlugin, loadAsMagicast } from "@batijs/core";
|
|
3
|
-
async function getViteConfig(
|
|
4
|
-
const mod = await loadAsMagicast(
|
|
3
|
+
async function getViteConfig(props) {
|
|
4
|
+
const mod = await loadAsMagicast(props);
|
|
5
5
|
addVitePlugin(mod, {
|
|
6
6
|
from: "vite-plugin-vercel",
|
|
7
7
|
constructor: "vercel"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// files/$.eslintrc.json.ts
|
|
2
|
+
import { loadAsJson } from "@batijs/core";
|
|
3
|
+
async function getEslintConfig(props) {
|
|
4
|
+
if (!props.meta.BATI_MODULES?.includes("tool:eslint"))
|
|
5
|
+
return;
|
|
6
|
+
const eslintConfig = await loadAsJson(props);
|
|
7
|
+
eslintConfig.extends.push("plugin:vue/vue3-recommended");
|
|
8
|
+
eslintConfig.parser = "vue-eslint-parser";
|
|
9
|
+
eslintConfig.parserOptions.parser = "@typescript-eslint/parser";
|
|
10
|
+
eslintConfig.rules ?? (eslintConfig.rules = {});
|
|
11
|
+
eslintConfig.rules["vue/multi-word-component-names"] = "off";
|
|
12
|
+
return eslintConfig;
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
getEslintConfig as default
|
|
16
|
+
};
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
// files/$package.json.ts
|
|
2
|
-
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
|
-
async function getPackageJson(
|
|
4
|
-
const packageJson = await loadAsJson(
|
|
5
|
-
|
|
2
|
+
import { addDependency, loadAsJson, setScripts } from "@batijs/core";
|
|
3
|
+
async function getPackageJson(props) {
|
|
4
|
+
const packageJson = await loadAsJson(props);
|
|
5
|
+
if (props.meta.BATI_MODULES?.includes("tool:eslint")) {
|
|
6
|
+
setScripts(packageJson, {
|
|
7
|
+
lint: {
|
|
8
|
+
value: "eslint --ext .js,.jsx,.ts,.tsx,.vue .",
|
|
9
|
+
precedence: 20
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
addDependency(packageJson, await import("../package-SEZV7AAY.js"), {
|
|
13
|
+
devDependencies: ["eslint-plugin-vue"]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return addDependency(packageJson, await import("../package-SEZV7AAY.js"), {
|
|
6
17
|
devDependencies: ["vite"],
|
|
7
18
|
dependencies: [
|
|
8
19
|
"@vitejs/plugin-vue",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// files/$tsconfig.json.ts
|
|
2
2
|
import { loadAsJson } from "@batijs/core";
|
|
3
|
-
async function getTsConfig(
|
|
4
|
-
const tsConfig = await loadAsJson(
|
|
3
|
+
async function getTsConfig(props) {
|
|
4
|
+
const tsConfig = await loadAsJson(props);
|
|
5
5
|
tsConfig.compilerOptions.jsx = "preserve";
|
|
6
6
|
tsConfig.compilerOptions.jsxImportSource = "vue";
|
|
7
7
|
tsConfig.compilerOptions.types = [...tsConfig.compilerOptions.types ?? [], "vike-vue"];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// files/$vite.config.ts.ts
|
|
2
2
|
import { addVitePlugin, loadAsMagicast } from "@batijs/core";
|
|
3
|
-
async function getViteConfig(
|
|
4
|
-
const mod = await loadAsMagicast(
|
|
3
|
+
async function getViteConfig(props) {
|
|
4
|
+
const mod = await loadAsMagicast(props);
|
|
5
5
|
addVitePlugin(mod, {
|
|
6
6
|
from: "vike/plugin",
|
|
7
7
|
constructor: "ssr"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<button
|
|
5
5
|
type="button"
|
|
6
6
|
{{{ @if (it.import.meta.BATI_MODULES?.includes("uikit:tailwindcss")) }}}
|
|
7
|
-
|
|
7
|
+
class="inline-block border border-black rounded bg-gray-200 px-2 py-1 text-xs font-medium uppercase leading-normal"
|
|
8
8
|
{{{ /if }}}
|
|
9
9
|
@click="state.count++"
|
|
10
10
|
>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<script lang="ts">
|
|
16
16
|
import { reactive } from 'vue'
|
|
17
17
|
export default {
|
|
18
|
-
setup(
|
|
18
|
+
setup() {
|
|
19
19
|
const state = reactive({ count: 0 })
|
|
20
20
|
return {
|
|
21
21
|
state
|
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
<slot />
|
|
4
4
|
</a>
|
|
5
5
|
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts" setup>
|
|
8
|
+
import { usePageContext } from "vike-vue/usePageContext";
|
|
9
|
+
import { computed, useAttrs } from "vue";
|
|
10
|
+
|
|
11
|
+
const pageContext = usePageContext();
|
|
12
|
+
const { href } = useAttrs();
|
|
13
|
+
const isActive = computed(() => {
|
|
14
|
+
const { urlPathname } = pageContext;
|
|
15
|
+
return href === "/" ? urlPathname === href : urlPathname.startsWith(href);
|
|
16
|
+
});
|
|
17
|
+
</script>
|
|
18
|
+
|
|
6
19
|
<style scoped>
|
|
7
20
|
a {
|
|
8
21
|
padding: 2px 10px;
|
|
@@ -12,14 +25,3 @@ a.active {
|
|
|
12
25
|
background-color: #eee;
|
|
13
26
|
}
|
|
14
27
|
</style>
|
|
15
|
-
<script lang="ts" setup>
|
|
16
|
-
import { useAttrs, computed } from 'vue'
|
|
17
|
-
import { usePageContext } from 'vike-vue/usePageContext'
|
|
18
|
-
|
|
19
|
-
const pageContext = usePageContext()
|
|
20
|
-
const { href } = useAttrs()
|
|
21
|
-
const isActive = computed(() => {
|
|
22
|
-
const { urlPathname } = pageContext
|
|
23
|
-
return href === '/' ? urlPathname === href : urlPathname.startsWith(href)
|
|
24
|
-
})
|
|
25
|
-
</script>
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
<!-- Default <head> (can be overridden by pages) -->
|
|
4
4
|
|
|
5
5
|
<template>
|
|
6
|
-
<meta
|
|
6
|
+
<meta
|
|
7
|
+
name="viewport"
|
|
8
|
+
content="width=device-width, initial-scale=1"
|
|
9
|
+
>
|
|
7
10
|
{{{ @if (it.import.meta.BATI_MODULES?.includes("analytics:plausible.io")) }}}
|
|
8
11
|
<!-- See https://plausible.io/docs/plausible-script -->
|
|
9
12
|
<!-- TODO: update data-domain -->
|
|
10
|
-
<script
|
|
13
|
+
<script
|
|
14
|
+
defer
|
|
15
|
+
data-domain="yourdomain.com"
|
|
16
|
+
src="https://plausible.io/js/script.js"
|
|
17
|
+
/>
|
|
11
18
|
{{{ /if }}}
|
|
12
19
|
</template>
|
|
@@ -5,11 +5,17 @@
|
|
|
5
5
|
<div class="layout">
|
|
6
6
|
<Sidebar>
|
|
7
7
|
<Logo />
|
|
8
|
-
<Link href="/">
|
|
8
|
+
<Link href="/">
|
|
9
|
+
Welcome
|
|
10
|
+
</Link>
|
|
9
11
|
{{{ @if (it.import.meta.BATI_MODULES?.includes("rpc:telefunc")) }}}
|
|
10
|
-
<Link href="/todo">
|
|
12
|
+
<Link href="/todo">
|
|
13
|
+
Todo
|
|
14
|
+
</Link>
|
|
11
15
|
{{{ /if }}}
|
|
12
|
-
<Link href="/star-wars">
|
|
16
|
+
<Link href="/star-wars">
|
|
17
|
+
Data Fetching
|
|
18
|
+
</Link>
|
|
13
19
|
</Sidebar>
|
|
14
20
|
<Content><slot /></Content>
|
|
15
21
|
</div>
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<h1>{{ movie.title }}</h1>
|
|
3
3
|
Release Date: {{ movie.release_date }}
|
|
4
|
-
<br
|
|
4
|
+
<br>
|
|
5
5
|
Director: {{ movie.director }}
|
|
6
|
-
<br
|
|
6
|
+
<br>
|
|
7
7
|
Producer: {{ movie.producer }}
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script lang="ts" setup>
|
|
11
|
-
defineProps(
|
|
11
|
+
defineProps({
|
|
12
|
+
movies: {
|
|
13
|
+
type: Array,
|
|
14
|
+
required: true,
|
|
15
|
+
},
|
|
16
|
+
})
|
|
12
17
|
</script>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<h1>Star Wars Movies</h1>
|
|
3
3
|
<ol>
|
|
4
|
-
<li
|
|
4
|
+
<li
|
|
5
|
+
v-for="item in movies"
|
|
6
|
+
:key="item.id"
|
|
7
|
+
>
|
|
5
8
|
<a :href="'/star-wars/' + item.id">{{ item.title }}</a> ({{ item.release_date }})
|
|
6
9
|
</li>
|
|
7
10
|
</ol>
|
|
@@ -9,5 +12,10 @@
|
|
|
9
12
|
</template>
|
|
10
13
|
|
|
11
14
|
<script lang="ts" setup>
|
|
12
|
-
defineProps(
|
|
15
|
+
defineProps({
|
|
16
|
+
movies: {
|
|
17
|
+
type: Array,
|
|
18
|
+
required: true,
|
|
19
|
+
},
|
|
20
|
+
})
|
|
13
21
|
</script>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default onBeforeRender;
|
|
2
|
-
|
|
3
1
|
import fetch from "cross-fetch";
|
|
4
2
|
//import { filterMovieData } from '../filterMovieData'
|
|
5
3
|
import type { Movie, MovieDetails } from "../types";
|
|
6
4
|
|
|
5
|
+
export default onBeforeRender;
|
|
6
|
+
|
|
7
7
|
// export { prerender }
|
|
8
8
|
|
|
9
9
|
async function onBeforeRender() {
|
|
@@ -23,6 +23,7 @@ async function onBeforeRender() {
|
|
|
23
23
|
|
|
24
24
|
async function getStarWarsMovies(): Promise<MovieDetails[]> {
|
|
25
25
|
const response = await fetch("https://star-wars.brillout.com/api/films.json");
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
27
|
let movies: MovieDetails[] = ((await response.json()) as any).results;
|
|
27
28
|
movies = movies.map((movie: MovieDetails, i: number) => ({
|
|
28
29
|
...movie,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@batijs/vue";
|
|
3
3
|
var private2 = true;
|
|
4
|
-
var version = "0.0.
|
|
4
|
+
var version = "0.0.88";
|
|
5
5
|
var description = "";
|
|
6
6
|
var type = "module";
|
|
7
7
|
var scripts = {
|
|
@@ -17,13 +17,14 @@ var devDependencies = {
|
|
|
17
17
|
"@vue/compiler-sfc": "^3.3.4",
|
|
18
18
|
"@vue/server-renderer": "^3.3.4",
|
|
19
19
|
"cross-fetch": "^4.0.0",
|
|
20
|
+
"eslint-plugin-vue": "^9.17.0",
|
|
20
21
|
tailwindcss: "^3.3.3",
|
|
21
22
|
tsup: "^7.2.0",
|
|
22
23
|
typescript: "^5.2.2",
|
|
23
24
|
"unplugin-vue-markdown": "^0.24.3",
|
|
25
|
+
vike: "^0.4.143",
|
|
24
26
|
"vike-vue": "^0.4.0",
|
|
25
27
|
vite: "^4.4.11",
|
|
26
|
-
vike: "^0.4.143",
|
|
27
28
|
vue: "^3.3.4"
|
|
28
29
|
};
|
|
29
30
|
var dependencies = {
|
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<ul>
|
|
3
|
-
<li
|
|
3
|
+
<li
|
|
4
|
+
v-for="item in todoItems"
|
|
5
|
+
:key="item.text"
|
|
6
|
+
>
|
|
7
|
+
{{ item.text }}
|
|
8
|
+
</li>
|
|
4
9
|
<li>
|
|
5
10
|
<form @submit.prevent="submitDraft()">
|
|
6
|
-
<input
|
|
7
|
-
|
|
11
|
+
<input
|
|
12
|
+
v-model="draft"
|
|
13
|
+
type="text"
|
|
14
|
+
>{{ " " }}
|
|
15
|
+
<button type="submit">
|
|
16
|
+
Add to-do
|
|
17
|
+
</button>
|
|
8
18
|
</form>
|
|
9
19
|
</li>
|
|
10
20
|
</ul>
|
|
11
21
|
</template>
|
|
12
22
|
|
|
13
23
|
<script lang="ts" setup>
|
|
24
|
+
import { ref, useAttrs } from "vue";
|
|
14
25
|
import { onNewTodo } from "./TodoList.telefunc.js";
|
|
15
|
-
|
|
26
|
+
|
|
16
27
|
const { todoItemsInitial } = useAttrs();
|
|
17
28
|
|
|
18
29
|
const todoItems = ref(todoItemsInitial);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<h1>To-do List</h1>
|
|
4
|
-
<TodoList :
|
|
4
|
+
<TodoList :todo-items-initial="todoItemsInitial" />
|
|
5
5
|
<Counter />
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<script lang="ts" setup>
|
|
10
|
-
import { useAttrs } from
|
|
10
|
+
import { useAttrs } from "vue";
|
|
11
|
+
|
|
11
12
|
const { todoItemsInitial } = useAttrs();
|
|
12
13
|
</script>
|
|
13
14
|
|
|
@@ -22,6 +22,18 @@
|
|
|
22
22
|
"hooks"
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
"config": {
|
|
27
|
+
"flag": "eslint",
|
|
28
|
+
"name": "ESLint",
|
|
29
|
+
"homepage": "https://eslint.org"
|
|
30
|
+
},
|
|
31
|
+
"folder": "@batijs/eslint",
|
|
32
|
+
"description": "",
|
|
33
|
+
"subfolders": [
|
|
34
|
+
"files"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
25
37
|
{
|
|
26
38
|
"config": {
|
|
27
39
|
"flag": "express",
|
|
@@ -107,7 +119,9 @@
|
|
|
107
119
|
]
|
|
108
120
|
},
|
|
109
121
|
{
|
|
110
|
-
"config": {
|
|
122
|
+
"config": {
|
|
123
|
+
"enforce": "pre"
|
|
124
|
+
},
|
|
111
125
|
"folder": "@batijs/shared",
|
|
112
126
|
"description": "",
|
|
113
127
|
"subfolders": [
|