@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.
Files changed (73) hide show
  1. package/dist/boilerplates/@batijs/edgedb/files/$package.json.js +3 -3
  2. package/dist/boilerplates/@batijs/edgedb/{package-HMOHSPQH.js → package-Z3MWAXVW.js} +1 -1
  3. package/dist/boilerplates/@batijs/eslint/files/$package.json.js +17 -0
  4. package/dist/boilerplates/@batijs/eslint/files/.eslintignore +7 -0
  5. package/dist/boilerplates/@batijs/eslint/files/.eslintrc.json +10 -0
  6. package/dist/boilerplates/@batijs/eslint/package-6IZEDCMJ.js +61 -0
  7. package/dist/boilerplates/@batijs/express/files/$package.json.js +4 -4
  8. package/dist/boilerplates/@batijs/express/{package-LVAF3GMH.js → package-TAXLRPPG.js} +1 -1
  9. package/dist/boilerplates/@batijs/h3/files/$package.json.js +4 -4
  10. package/dist/boilerplates/@batijs/h3/{package-OCNH7HWJ.js → package-GAI6KFVK.js} +1 -1
  11. package/dist/boilerplates/@batijs/hattip/files/$package.json.js +4 -4
  12. package/dist/boilerplates/@batijs/hattip/files/$vite.config.ts.js +2 -2
  13. package/dist/boilerplates/@batijs/hattip/{package-FDRQH742.js → package-3BN33DJA.js} +1 -1
  14. package/dist/boilerplates/@batijs/prisma/files/$.env.js +2 -2
  15. package/dist/boilerplates/@batijs/prisma/files/$package.json.js +3 -3
  16. package/dist/boilerplates/@batijs/prisma/{package-JX35CIXF.js → package-5JR5MUIX.js} +1 -1
  17. package/dist/boilerplates/@batijs/react/files/$.eslintrc.json.js +16 -0
  18. package/dist/boilerplates/@batijs/react/files/$package.json.js +8 -3
  19. package/dist/boilerplates/@batijs/react/files/$tsconfig.json.js +2 -2
  20. package/dist/boilerplates/@batijs/react/files/$vite.config.ts.js +3 -3
  21. package/dist/boilerplates/@batijs/react/files/components/Link.tsx +8 -10
  22. package/dist/boilerplates/@batijs/react/files/layouts/LayoutDefault.tsx +1 -1
  23. package/dist/boilerplates/@batijs/react/files/pages/_error/+Page.tsx +1 -3
  24. package/dist/boilerplates/@batijs/react/files/pages/index/Counter.tsx +1 -3
  25. package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+Page.tsx +1 -3
  26. package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+onBeforeRender.ts +2 -4
  27. package/dist/boilerplates/@batijs/react/files/pages/star-wars/filterMovieData.ts +1 -5
  28. package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+Page.tsx +1 -3
  29. package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+onBeforeRender.ts +2 -5
  30. package/dist/boilerplates/@batijs/react/{package-5YB3UKUO.js → package-EYTH4VNP.js} +7 -3
  31. package/dist/boilerplates/@batijs/react-telefunc/files/database/todoItems.ts +2 -5
  32. package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+config.h.ts +3 -1
  33. package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/+onBeforeRender.ts +1 -3
  34. package/dist/boilerplates/@batijs/react-telefunc/files/pages/todo/TodoList.telefunc.ts +2 -4
  35. package/dist/boilerplates/@batijs/shared/files/$index.html.js +2 -2
  36. package/dist/boilerplates/@batijs/solid/files/$.eslintrc.json.js +13 -0
  37. package/dist/boilerplates/@batijs/solid/files/$package.json.js +8 -3
  38. package/dist/boilerplates/@batijs/solid/files/$tsconfig.json.js +2 -2
  39. package/dist/boilerplates/@batijs/solid/files/$vite.config.ts.js +3 -3
  40. package/dist/boilerplates/@batijs/solid/files/layouts/HeadDefault.tsx +1 -1
  41. package/dist/boilerplates/@batijs/solid/files/pages/_error/+Page.tsx +17 -16
  42. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+Page.tsx +1 -1
  43. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforeRender.ts +3 -2
  44. package/dist/boilerplates/@batijs/solid/{package-BLWCB4NH.js → package-3SC4XVSR.js} +4 -3
  45. package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+Page.tsx +3 -4
  46. package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/+onBeforeRender.ts +2 -2
  47. package/dist/boilerplates/@batijs/solid-telefunc/files/pages/todo/TodoList.tsx +3 -4
  48. package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +3 -3
  49. package/dist/boilerplates/@batijs/tailwindcss/{package-34V34OFJ.js → package-GTN2QH7M.js} +1 -1
  50. package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +3 -3
  51. package/dist/boilerplates/@batijs/telefunc/files/$vite.config.ts.js +2 -2
  52. package/dist/boilerplates/@batijs/telefunc/{package-LPS6TFJV.js → package-3G2SQFKV.js} +1 -1
  53. package/dist/boilerplates/@batijs/vercel/files/$package.json.js +3 -3
  54. package/dist/boilerplates/@batijs/vercel/files/$vite.config.ts.js +2 -2
  55. package/dist/boilerplates/@batijs/vercel/{package-EAL6NF5P.js → package-2NMHCJGC.js} +1 -1
  56. package/dist/boilerplates/@batijs/vue/files/$.eslintrc.json.js +16 -0
  57. package/dist/boilerplates/@batijs/vue/files/$package.json.js +15 -4
  58. package/dist/boilerplates/@batijs/vue/files/$tsconfig.json.js +2 -2
  59. package/dist/boilerplates/@batijs/vue/files/$vite.config.ts.js +2 -2
  60. package/dist/boilerplates/@batijs/vue/files/components/Counter.vue +2 -2
  61. package/dist/boilerplates/@batijs/vue/files/components/Link.vue +13 -11
  62. package/dist/boilerplates/@batijs/vue/files/components/Logo.vue +5 -1
  63. package/dist/boilerplates/@batijs/vue/files/layouts/HeadDefault.vue +9 -2
  64. package/dist/boilerplates/@batijs/vue/files/layouts/LayoutDefault.vue +9 -3
  65. package/dist/boilerplates/@batijs/vue/files/pages/star-wars/@id/+Page.vue +8 -3
  66. package/dist/boilerplates/@batijs/vue/files/pages/star-wars/index/+Page.vue +10 -2
  67. package/dist/boilerplates/@batijs/vue/files/pages/star-wars/index/+onBeforeRender.ts +3 -2
  68. package/dist/boilerplates/@batijs/vue/{package-HDC4A5UP.js → package-SEZV7AAY.js} +3 -2
  69. package/dist/boilerplates/@batijs/vue-telefunc/files/components/TodoList.vue +15 -4
  70. package/dist/boilerplates/@batijs/vue-telefunc/files/pages/todo/+Page.vue +3 -2
  71. package/dist/boilerplates/boilerplates.json +15 -1
  72. package/dist/index.js +84 -45
  73. package/package.json +4 -4
@@ -1,10 +1,10 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson } from "@batijs/core";
3
- async function getPackageJson(currentContent) {
4
- const packageJson = await loadAsJson(currentContent);
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
5
  packageJson.scripts["edgedb:generate-queries"] = "@edgedb/generate queries";
6
6
  packageJson.scripts["edgedb:generate-edgeql-js"] = "@edgedb/generate edgeql-js";
7
- return addDependency(packageJson, await import("../package-HMOHSPQH.js"), {
7
+ return addDependency(packageJson, await import("../package-Z3MWAXVW.js"), {
8
8
  devDependencies: ["@edgedb/generate"],
9
9
  dependencies: ["edgedb"]
10
10
  });
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/edgedb";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -0,0 +1,17 @@
1
+ // files/$package.json.ts
2
+ import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
+ setScripts(packageJson, {
6
+ lint: {
7
+ value: "eslint --ext .js,.jsx,.ts,.tsx .",
8
+ precedence: 0
9
+ }
10
+ });
11
+ return addDependency(packageJson, await import("../package-6IZEDCMJ.js"), {
12
+ devDependencies: ["eslint", "@typescript-eslint/parser", "@typescript-eslint/eslint-plugin"]
13
+ });
14
+ }
15
+ export {
16
+ getPackageJson as default
17
+ };
@@ -0,0 +1,7 @@
1
+ # Build artifacts
2
+ dist/**
3
+
4
+ # JS files at the root of the project
5
+ *.js
6
+ *.cjs
7
+ *.mjs
@@ -0,0 +1,10 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
5
+ "plugins": ["@typescript-eslint"],
6
+ "parserOptions": {
7
+ "sourceType": "module",
8
+ "ecmaVersion": "latest"
9
+ }
10
+ }
@@ -0,0 +1,61 @@
1
+ // package.json
2
+ var name = "@batijs/eslint";
3
+ var private2 = true;
4
+ var version = "0.0.88";
5
+ var description = "";
6
+ var type = "module";
7
+ var keywords = [];
8
+ var author = "";
9
+ var license = "MIT";
10
+ var scripts = {
11
+ build: "tsup"
12
+ };
13
+ var devDependencies = {
14
+ "@batijs/tsup": "workspace:^",
15
+ "@typescript-eslint/eslint-plugin": "^6.7.3",
16
+ "@typescript-eslint/parser": "^6.7.3",
17
+ eslint: "^8.50.0",
18
+ tsup: "^7.2.0"
19
+ };
20
+ var dependencies = {
21
+ "@batijs/core": "workspace:*"
22
+ };
23
+ var files = [
24
+ "dist/"
25
+ ];
26
+ var bati = {
27
+ flag: "eslint",
28
+ name: "ESLint",
29
+ homepage: "https://eslint.org"
30
+ };
31
+ var package_default = {
32
+ name,
33
+ private: private2,
34
+ version,
35
+ description,
36
+ type,
37
+ keywords,
38
+ author,
39
+ license,
40
+ scripts,
41
+ devDependencies,
42
+ dependencies,
43
+ files,
44
+ bati
45
+ };
46
+ export {
47
+ author,
48
+ bati,
49
+ package_default as default,
50
+ dependencies,
51
+ description,
52
+ devDependencies,
53
+ files,
54
+ keywords,
55
+ license,
56
+ name,
57
+ private2 as private,
58
+ scripts,
59
+ type,
60
+ version
61
+ };
@@ -1,7 +1,7 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
- async function getPackageJson(currentContent, meta) {
4
- const packageJson = await loadAsJson(currentContent);
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
5
  setScripts(packageJson, {
6
6
  dev: {
7
7
  value: "esno ./express-entry.ts",
@@ -18,7 +18,7 @@ async function getPackageJson(currentContent, meta) {
18
18
  precedence: 20
19
19
  }
20
20
  });
21
- return addDependency(packageJson, await import("../package-LVAF3GMH.js"), {
21
+ return addDependency(packageJson, await import("../package-TAXLRPPG.js"), {
22
22
  devDependencies: ["@types/express"],
23
23
  dependencies: [
24
24
  "@hattip/adapter-node",
@@ -26,7 +26,7 @@ async function getPackageJson(currentContent, meta) {
26
26
  "esno",
27
27
  "vite",
28
28
  "vike",
29
- ...meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
29
+ ...props.meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
30
30
  ]
31
31
  });
32
32
  }
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/express";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -1,7 +1,7 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
- async function getPackageJson(currentContent, meta) {
4
- const packageJson = await loadAsJson(currentContent);
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
5
  setScripts(packageJson, {
6
6
  dev: {
7
7
  value: "esno ./h3-entry.ts",
@@ -18,7 +18,7 @@ async function getPackageJson(currentContent, meta) {
18
18
  precedence: 20
19
19
  }
20
20
  });
21
- return addDependency(packageJson, await import("../package-OCNH7HWJ.js"), {
21
+ return addDependency(packageJson, await import("../package-GAI6KFVK.js"), {
22
22
  devDependencies: ["@types/serve-static"],
23
23
  dependencies: [
24
24
  "@hattip/polyfills",
@@ -27,7 +27,7 @@ async function getPackageJson(currentContent, meta) {
27
27
  "esno",
28
28
  "vike",
29
29
  "vite",
30
- ...meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
30
+ ...props.meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
31
31
  ]
32
32
  });
33
33
  }
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/h3";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -1,7 +1,7 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
- async function getPackageJson(currentContent, meta) {
4
- const packageJson = await loadAsJson(currentContent);
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
5
  setScripts(packageJson, {
6
6
  dev: {
7
7
  value: "hattip serve ./hattip-entry.ts --client",
@@ -17,14 +17,14 @@ async function getPackageJson(currentContent, meta) {
17
17
  if (packageJson.scripts.preview) {
18
18
  delete packageJson.scripts.preview;
19
19
  }
20
- return addDependency(packageJson, await import("../package-FDRQH742.js"), {
20
+ return addDependency(packageJson, await import("../package-3BN33DJA.js"), {
21
21
  devDependencies: ["@hattip/vite", "@hattip/adapter-node"],
22
22
  dependencies: [
23
23
  "@hattip/router",
24
24
  "hattip",
25
25
  "vite",
26
26
  "vike",
27
- ...meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
27
+ ...props.meta.BATI_MODULES?.includes("auth:authjs") ? ["@auth/core", "vike-authjs"] : []
28
28
  ]
29
29
  });
30
30
  }
@@ -1,7 +1,7 @@
1
1
  // files/$vite.config.ts.ts
2
2
  import { addVitePlugin, loadAsMagicast } from "@batijs/core";
3
- async function getViteConfig(currentContent) {
4
- const mod = await loadAsMagicast(currentContent);
3
+ async function getViteConfig(props) {
4
+ const mod = await loadAsMagicast(props);
5
5
  addVitePlugin(mod, {
6
6
  from: "@hattip/vite",
7
7
  imported: "hattip",
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/hattip";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -1,7 +1,7 @@
1
1
  // files/$.env.ts
2
2
  import "@batijs/core";
3
- async function getEnv(currentContent) {
4
- let envContent = await currentContent?.() ?? "";
3
+ async function getEnv(props) {
4
+ let envContent = await props.readfile?.() ?? "";
5
5
  if (envContent.endsWith("\n\n")) {
6
6
  } else if (envContent.endsWith("\n")) {
7
7
  envContent = envContent + "\n";
@@ -1,10 +1,10 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson } from "@batijs/core";
3
- async function getPackageJson(currentContent) {
4
- const packageJson = await loadAsJson(currentContent);
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
5
  packageJson.scripts["prisma:studio"] = "prisma studio";
6
6
  packageJson.scripts["prisma:generate"] = "prisma generate";
7
- return addDependency(packageJson, await import("../package-JX35CIXF.js"), {
7
+ return addDependency(packageJson, await import("../package-5JR5MUIX.js"), {
8
8
  devDependencies: ["prisma"],
9
9
  dependencies: ["@prisma/client"]
10
10
  });
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/prisma";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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 = eslintConfig.extends.filter(
8
+ (p) => p !== "eslint:recommended" && p !== "plugin:@typescript-eslint/recommended"
9
+ );
10
+ eslintConfig.extends.push("react-app");
11
+ eslintConfig.plugins = eslintConfig.plugins.filter((p) => p !== "@typescript-eslint");
12
+ return eslintConfig;
13
+ }
14
+ export {
15
+ getEslintConfig as default
16
+ };
@@ -1,8 +1,13 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson } from "@batijs/core";
3
- async function getPackageJson(currentContent) {
4
- const packageJson = await loadAsJson(currentContent);
5
- return addDependency(packageJson, await import("../package-5YB3UKUO.js"), {
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
+ if (props.meta.BATI_MODULES?.includes("tool:eslint")) {
6
+ addDependency(packageJson, await import("../package-EYTH4VNP.js"), {
7
+ devDependencies: ["eslint-config-react-app"]
8
+ });
9
+ }
10
+ return addDependency(packageJson, await import("../package-EYTH4VNP.js"), {
6
11
  devDependencies: ["vite", "@types/react", "@types/react-dom"],
7
12
  dependencies: ["@vitejs/plugin-react", "cross-fetch", "react", "react-dom", "vike", "vike-react"]
8
13
  });
@@ -1,7 +1,7 @@
1
1
  // files/$tsconfig.json.ts
2
2
  import { loadAsJson } from "@batijs/core";
3
- async function getTsConfig(currentContent) {
4
- const tsConfig = await loadAsJson(currentContent);
3
+ async function getTsConfig(props) {
4
+ const tsConfig = await loadAsJson(props);
5
5
  tsConfig.compilerOptions.jsx = "preserve";
6
6
  tsConfig.compilerOptions.jsxImportSource = "react";
7
7
  tsConfig.compilerOptions.types = [...tsConfig.compilerOptions.types ?? [], "vike-react"];
@@ -1,8 +1,8 @@
1
1
  // files/$vite.config.ts.ts
2
2
  import { addVitePlugin, loadAsMagicast } from "@batijs/core";
3
- async function getViteConfig(currentContent, meta) {
4
- const mod = await loadAsMagicast(currentContent);
5
- const options = meta.BATI_MODULES?.includes("hosting:vercel") ? {
3
+ async function getViteConfig(props) {
4
+ const mod = await loadAsMagicast(props);
5
+ const options = props.meta.BATI_MODULES?.includes("hosting:vercel") ? {
6
6
  prerender: true
7
7
  } : {};
8
8
  addVitePlugin(mod, {
@@ -1,15 +1,13 @@
1
- export { Link }
1
+ import React from "react";
2
+ import { usePageContext } from "vike-react/usePageContext";
2
3
 
3
- import { usePageContext } from 'vike-react/usePageContext'
4
- import React from 'react'
5
-
6
- function Link({ href, children }: { href: string; children: string }) {
7
- const pageContext = usePageContext()
8
- const { urlPathname } = pageContext
9
- const isActive = href === '/' ? urlPathname === href : urlPathname.startsWith(href)
4
+ export function Link({ href, children }: { href: string; children: string }) {
5
+ const pageContext = usePageContext();
6
+ const { urlPathname } = pageContext;
7
+ const isActive = href === "/" ? urlPathname === href : urlPathname.startsWith(href);
10
8
  return (
11
- <a href={href} className={isActive ? 'is-active' : undefined}>
9
+ <a href={href} className={isActive ? "is-active" : undefined}>
12
10
  {children}
13
11
  </a>
14
- )
12
+ );
15
13
  }
@@ -81,7 +81,7 @@ function Logo() {
81
81
  }}
82
82
  >
83
83
  <a href="/">
84
- <img src={logoUrl} height={64} width={64} />
84
+ <img src={logoUrl} height={64} width={64} alt="logo" />
85
85
  </a>
86
86
  </div>
87
87
  );
@@ -1,8 +1,6 @@
1
- export default Page;
2
-
3
1
  import React from "react";
4
2
 
5
- function Page({ is404, errorInfo }: { is404: boolean; errorInfo?: string }) {
3
+ export default function Page({ is404, errorInfo }: { is404: boolean; errorInfo?: string }) {
6
4
  if (is404) {
7
5
  return (
8
6
  <>
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from "react";
2
2
 
3
- export { Counter };
4
-
5
- function Counter() {
3
+ export function Counter() {
6
4
  const [count, setCount] = useState(0);
7
5
 
8
6
  return (
@@ -1,9 +1,7 @@
1
- export default Page;
2
-
3
1
  import React from "react";
4
2
  import type { MovieDetails } from "../types";
5
3
 
6
- function Page({ movie }: { movie: MovieDetails }) {
4
+ export default function Page({ movie }: { movie: MovieDetails }) {
7
5
  return (
8
6
  <>
9
7
  <h1>{movie.title}</h1>
@@ -1,11 +1,9 @@
1
- export default onBeforeRender;
2
-
3
1
  import fetch from "cross-fetch";
4
- import { filterMovieData } from "../filterMovieData";
5
2
  import type { PageContextBuiltInServer } from "vike/types";
3
+ import { filterMovieData } from "../filterMovieData";
6
4
  import type { MovieDetails } from "../types";
7
5
 
8
- async function onBeforeRender(pageContext: PageContextBuiltInServer) {
6
+ export default async function onBeforeRender(pageContext: PageContextBuiltInServer) {
9
7
  const response = await fetch(`https://star-wars.brillout.com/api/films/${pageContext.routeParams.id}.json`);
10
8
  let movie = (await response.json()) as MovieDetails;
11
9
 
@@ -1,10 +1,6 @@
1
1
  import type { MovieDetails } from "./types";
2
2
 
3
- export { filterMovieData };
4
-
5
- function filterMovieData(
6
- movie: MovieDetails & Record<string, unknown>
7
- ): MovieDetails {
3
+ export function filterMovieData(movie: MovieDetails & Record<string, unknown>): MovieDetails {
8
4
  const { id, title, release_date, director, producer } = movie;
9
5
  movie = { id, title, release_date, director, producer };
10
6
  return movie;
@@ -1,9 +1,7 @@
1
- export default Page;
2
-
3
1
  import React from "react";
4
2
  import type { Movie } from "../types";
5
3
 
6
- function Page({ movies }: { movies: Movie[] }) {
4
+ export default function Page({ movies }: { movies: Movie[] }) {
7
5
  return (
8
6
  <>
9
7
  <h1>Star Wars Movies</h1>
@@ -1,12 +1,8 @@
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
 
7
- // export { prerender }
8
-
9
- async function onBeforeRender() {
5
+ export default async function onBeforeRender() {
10
6
  const movies = await getStarWarsMovies();
11
7
  return {
12
8
  pageContext: {
@@ -23,6 +19,7 @@ async function onBeforeRender() {
23
19
 
24
20
  async function getStarWarsMovies(): Promise<MovieDetails[]> {
25
21
  const response = await fetch("https://star-wars.brillout.com/api/films.json");
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
23
  let movies: MovieDetails[] = ((await response.json()) as any).results;
27
24
  movies = movies.map((movie: MovieDetails, i: number) => ({
28
25
  ...movie,
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/react";
3
3
  var private2 = true;
4
- var version = "0.0.87";
4
+ var version = "0.0.88";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -11,20 +11,24 @@ var keywords = [];
11
11
  var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
+ "@babel/core": "^7.23.0",
15
+ "@babel/plugin-syntax-flow": "^7.22.5",
16
+ "@babel/plugin-transform-react-jsx": "^7.22.15",
14
17
  "@batijs/tsup": "workspace:*",
15
18
  "@types/node": "^16.18.40",
16
19
  "@types/react": "^18.2.25",
17
20
  "@types/react-dom": "^18.2.11",
18
21
  "@vitejs/plugin-react": "^4.1.0",
19
22
  "cross-fetch": "^4.0.0",
23
+ "eslint-config-react-app": "^7.0.1",
20
24
  react: "^18.2.0",
21
25
  "react-dom": "^18.2.0",
22
26
  tailwindcss: "^3.3.3",
23
27
  tsup: "^7.2.0",
24
28
  typescript: "^5.2.2",
29
+ vike: "^0.4.143",
25
30
  "vike-react": "^0.3.0",
26
- vite: "^4.4.11",
27
- vike: "^0.4.143"
31
+ vite: "^4.4.11"
28
32
  };
29
33
  var dependencies = {
30
34
  "@batijs/core": "workspace:*"
@@ -1,8 +1,5 @@
1
- export { todoItems };
2
- export type { TodoItem };
3
-
4
- type TodoItem = { text: string };
5
- const todoItems: TodoItem[] = [];
1
+ export type TodoItem = { text: string };
2
+ export const todoItems: TodoItem[] = [];
6
3
  init();
7
4
 
8
5
  // Initial data
@@ -1,3 +1,5 @@
1
- export default {
1
+ const config = {
2
2
  prerender: false,
3
3
  };
4
+
5
+ export default config;
@@ -1,9 +1,7 @@
1
1
  // https://vike.dev/onBeforeRender
2
- export default onBeforeRender;
3
-
4
2
  import { todoItems } from "../../database/todoItems";
5
3
 
6
- function onBeforeRender() {
4
+ export default function onBeforeRender() {
7
5
  const todoItemsInitial = todoItems;
8
6
  return {
9
7
  pageContext: {
@@ -1,8 +1,6 @@
1
- export { onNewTodo };
1
+ import { todoItems, type TodoItem } from "../../database/todoItems";
2
2
 
3
- import { type TodoItem, todoItems } from "../../database/todoItems";
4
-
5
- async function onNewTodo({ text }: TodoItem) {
3
+ export async function onNewTodo({ text }: TodoItem) {
6
4
  todoItems.push({ text });
7
5
  return { todoItems };
8
6
  }
@@ -1,7 +1,7 @@
1
1
  // files/$index.html.ts
2
2
  import "@batijs/core";
3
- function createDefaultIndexHtml(_currentContent, meta) {
4
- if (meta.BATI_MODULES?.some((m) => m.startsWith("framework:")))
3
+ function createDefaultIndexHtml(props) {
4
+ if (props.meta.BATI_MODULES?.some((m) => m.startsWith("framework:")))
5
5
  return null;
6
6
  return `<html>
7
7
  <head>
@@ -0,0 +1,13 @@
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:solid/typescript");
8
+ eslintConfig.plugins.push("solid");
9
+ return eslintConfig;
10
+ }
11
+ export {
12
+ getEslintConfig as default
13
+ };
@@ -1,8 +1,13 @@
1
1
  // files/$package.json.ts
2
2
  import { addDependency, loadAsJson } from "@batijs/core";
3
- async function getPackageJson(currentContent) {
4
- const packageJson = await loadAsJson(currentContent);
5
- return addDependency(packageJson, await import("../package-BLWCB4NH.js"), {
3
+ async function getPackageJson(props) {
4
+ const packageJson = await loadAsJson(props);
5
+ if (props.meta.BATI_MODULES?.includes("tool:eslint")) {
6
+ addDependency(packageJson, await import("../package-3SC4XVSR.js"), {
7
+ devDependencies: ["eslint-plugin-solid"]
8
+ });
9
+ }
10
+ return addDependency(packageJson, await import("../package-3SC4XVSR.js"), {
6
11
  devDependencies: ["vite"],
7
12
  dependencies: ["cross-fetch", "solid-js", "vike-solid", "vike"]
8
13
  });
@@ -1,7 +1,7 @@
1
1
  // files/$tsconfig.json.ts
2
2
  import { loadAsJson } from "@batijs/core";
3
- async function getTsConfig(currentContent) {
4
- const tsConfig = await loadAsJson(currentContent);
3
+ async function getTsConfig(props) {
4
+ const tsConfig = await loadAsJson(props);
5
5
  tsConfig.compilerOptions.jsx = "preserve";
6
6
  tsConfig.compilerOptions.jsxImportSource = "solid-js";
7
7
  tsConfig.compilerOptions.types = [...tsConfig.compilerOptions.types ?? [], "vike-solid/client"];
@@ -1,9 +1,9 @@
1
1
  // files/$vite.config.ts.ts
2
2
  import { addVitePlugin, loadAsMagicast } from "@batijs/core";
3
- async function getViteConfig(currentContent, meta) {
4
- const mod = await loadAsMagicast(currentContent);
3
+ async function getViteConfig(props) {
4
+ const mod = await loadAsMagicast(props);
5
5
  let options = void 0;
6
- if (meta.BATI_MODULES?.some((m) => m === "hosting:vercel")) {
6
+ if (props.meta.BATI_MODULES?.some((m) => m === "hosting:vercel")) {
7
7
  options = {
8
8
  vps: {
9
9
  prerender: true
@@ -9,7 +9,7 @@ export default function HeadDefault() {
9
9
  <link rel="icon" href={logoUrl} />
10
10
  {/* See https://plausible.io/docs/plausible-script */}
11
11
  {/* TODO: update data-domain */}
12
- <script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"></script>
12
+ <script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js" />
13
13
  </>
14
14
  );
15
15
  } else {