@batijs/cli 0.0.24 → 0.0.26
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 +1 -1
- package/dist/boilerplates/@batijs/edgedb/{package-N7DN6762.js → package-L6QX4DU3.js} +1 -1
- package/dist/boilerplates/@batijs/express/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/express/{package-MQDB4QVK.js → package-A6VFZMH3.js} +2 -2
- package/dist/boilerplates/@batijs/hattip/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/hattip/{package-ZHZMC652.js → package-CWCBXXG7.js} +2 -2
- package/dist/boilerplates/@batijs/prisma/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/prisma/{package-3DP6BNRZ.js → package-4DL673EC.js} +1 -1
- package/dist/boilerplates/@batijs/react/files/$package.json.js +12 -0
- package/dist/boilerplates/@batijs/react/files/$tsconfig.json.js +12 -0
- package/dist/boilerplates/@batijs/react/files/$vite.config.ts.js +17 -0
- package/dist/boilerplates/@batijs/react/files/assets/logo.svg +36 -0
- package/dist/boilerplates/@batijs/react/files/components/Link.tsx +15 -0
- package/dist/boilerplates/@batijs/react/files/layouts/HeadDefault.tsx +22 -0
- package/dist/boilerplates/@batijs/react/files/layouts/LayoutDefault.tsx +87 -0
- package/dist/boilerplates/@batijs/react/files/layouts/style.css +29 -0
- package/dist/boilerplates/@batijs/react/files/pages/+config.h.ts +18 -0
- package/dist/boilerplates/@batijs/react/files/pages/_error/+Page.tsx +22 -0
- package/dist/boilerplates/@batijs/react/files/pages/index/+Page.tsx +22 -0
- package/dist/boilerplates/@batijs/react/files/pages/index/Counter.tsx +18 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+Page.tsx +17 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/@id/+onBeforeRender.ts +27 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/filterMovieData.ts +11 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+Page.tsx +22 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/index/+onBeforeRender.ts +80 -0
- package/dist/boilerplates/@batijs/react/files/pages/star-wars/types.ts +13 -0
- package/dist/boilerplates/@batijs/react/package-MZ4IK25N.js +70 -0
- package/dist/boilerplates/@batijs/shared/files/package.json +1 -1
- package/dist/boilerplates/@batijs/solid/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/solid/{package-6HR5REIL.js → package-T22CK2KR.js} +1 -1
- package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/tailwindcss/{package-G265GCGU.js → package-DRVAXC5Y.js} +1 -1
- package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/telefunc/{package-JYH3G3DH.js → package-G7FSLIMJ.js} +2 -2
- package/dist/boilerplates/boilerplates.json +12 -0
- package/dist/index.js +15 -8
- package/package.json +12 -9
|
@@ -4,7 +4,7 @@ async function getPackageJson(currentContent) {
|
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
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-
|
|
7
|
+
return addDependency(packageJson, await import("../package-L6QX4DU3.js"), {
|
|
8
8
|
devDependencies: ["@edgedb/generate"],
|
|
9
9
|
dependencies: ["edgedb"]
|
|
10
10
|
});
|
|
@@ -4,7 +4,7 @@ async function getPackageJson(currentContent, meta) {
|
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
5
5
|
packageJson.scripts.dev = "tsx ./express-entry.ts";
|
|
6
6
|
packageJson.scripts.build = "vite build";
|
|
7
|
-
return addDependency(packageJson, await import("../package-
|
|
7
|
+
return addDependency(packageJson, await import("../package-A6VFZMH3.js"), {
|
|
8
8
|
devDependencies: ["@types/express"],
|
|
9
9
|
dependencies: [
|
|
10
10
|
"@hattip/adapter-node",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@batijs/express";
|
|
3
3
|
var private2 = true;
|
|
4
|
-
var version = "0.0.
|
|
4
|
+
var version = "0.0.26";
|
|
5
5
|
var description = "";
|
|
6
6
|
var type = "module";
|
|
7
7
|
var scripts = {
|
|
@@ -17,7 +17,7 @@ var devDependencies = {
|
|
|
17
17
|
"@types/express": "^4.17.17",
|
|
18
18
|
"@types/node": "^16.18.36",
|
|
19
19
|
express: "^4.18.2",
|
|
20
|
-
telefunc: "^0.1.
|
|
20
|
+
telefunc: "^0.1.56",
|
|
21
21
|
tsup: "^6.7.0",
|
|
22
22
|
tsx: "^3.12.7",
|
|
23
23
|
"vike-authjs": "^0.0.2",
|
|
@@ -7,7 +7,7 @@ async function getPackageJson(currentContent, meta) {
|
|
|
7
7
|
if (packageJson.scripts.preview) {
|
|
8
8
|
delete packageJson.scripts.preview;
|
|
9
9
|
}
|
|
10
|
-
return addDependency(packageJson, await import("../package-
|
|
10
|
+
return addDependency(packageJson, await import("../package-CWCBXXG7.js"), {
|
|
11
11
|
devDependencies: ["@hattip/vite", "@hattip/adapter-node"],
|
|
12
12
|
dependencies: [
|
|
13
13
|
"@hattip/router",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@batijs/hattip";
|
|
3
3
|
var private2 = true;
|
|
4
|
-
var version = "0.0.
|
|
4
|
+
var version = "0.0.26";
|
|
5
5
|
var description = "";
|
|
6
6
|
var type = "module";
|
|
7
7
|
var scripts = {
|
|
@@ -18,7 +18,7 @@ var devDependencies = {
|
|
|
18
18
|
"@hattip/vite": "^0.0.34",
|
|
19
19
|
"@types/node": "^16.18.36",
|
|
20
20
|
hattip: "^0.0.33",
|
|
21
|
-
telefunc: "^0.1.
|
|
21
|
+
telefunc: "^0.1.56",
|
|
22
22
|
tsup: "^6.7.0",
|
|
23
23
|
"vike-authjs": "^0.0.2",
|
|
24
24
|
vite: "^4.3.9",
|
|
@@ -4,7 +4,7 @@ async function getPackageJson(currentContent) {
|
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
5
5
|
packageJson.scripts["prisma:studio"] = "prisma studio";
|
|
6
6
|
packageJson.scripts["prisma:generate"] = "prisma generate";
|
|
7
|
-
return addDependency(packageJson, await import("../package-
|
|
7
|
+
return addDependency(packageJson, await import("../package-4DL673EC.js"), {
|
|
8
8
|
devDependencies: ["prisma"],
|
|
9
9
|
dependencies: ["@prisma/client"]
|
|
10
10
|
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// files/$package.json.ts
|
|
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-MZ4IK25N.js"), {
|
|
6
|
+
devDependencies: ["vite"],
|
|
7
|
+
dependencies: ["@vitejs/plugin-react", "cross-fetch", "react", "react-dom", "vite-plugin-ssr", "vike-react"]
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
getPackageJson as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// files/$tsconfig.json.ts
|
|
2
|
+
import { loadAsJson } from "@batijs/core";
|
|
3
|
+
async function getTsConfig(currentContent) {
|
|
4
|
+
const tsConfig = await loadAsJson(currentContent);
|
|
5
|
+
tsConfig.compilerOptions.jsx = "preserve";
|
|
6
|
+
tsConfig.compilerOptions.jsxImportSource = "react";
|
|
7
|
+
tsConfig.compilerOptions.types = [...tsConfig.compilerOptions.types ?? [], "vike-react/client"];
|
|
8
|
+
return tsConfig;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
getTsConfig as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// files/$vite.config.ts.ts
|
|
2
|
+
import { addVitePlugin, loadAsMagicast } from "@batijs/core";
|
|
3
|
+
async function getViteConfig(currentContent) {
|
|
4
|
+
const mod = await loadAsMagicast(currentContent);
|
|
5
|
+
addVitePlugin(mod, {
|
|
6
|
+
from: "@vitejs/plugin-react",
|
|
7
|
+
constructor: "react"
|
|
8
|
+
});
|
|
9
|
+
addVitePlugin(mod, {
|
|
10
|
+
from: "vite-plugin-ssr/plugin",
|
|
11
|
+
constructor: "ssr"
|
|
12
|
+
});
|
|
13
|
+
return mod.generate().code;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
getViteConfig as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="175" height="175" fill="none" version="1.1" viewBox="0 0 175 175" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
|
3
|
+
<metadata>
|
|
4
|
+
<rdf:RDF>
|
|
5
|
+
<cc:Work rdf:about="">
|
|
6
|
+
<dc:format>image/svg+xml</dc:format>
|
|
7
|
+
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
|
8
|
+
<dc:title/>
|
|
9
|
+
</cc:Work>
|
|
10
|
+
</rdf:RDF>
|
|
11
|
+
</metadata>
|
|
12
|
+
<defs>
|
|
13
|
+
<linearGradient id="linearGradient880" x1="108.64" x2="115.51" y1="88.726" y2="136.2" gradientTransform="matrix(1.0498 0 0 1.0498 -2.9171 -2.9658)" gradientUnits="userSpaceOnUse">
|
|
14
|
+
<stop stop-color="#ffea83" offset="0"/>
|
|
15
|
+
<stop stop-color="#FFDD35" offset=".083333"/>
|
|
16
|
+
<stop stop-color="#FFA800" offset="1"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<linearGradient id="paint2_linear" x1="48.975" x2="61.299" y1="3.9232" y2="158.04" gradientTransform="translate(-2.832e-5)" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#FFEA83" offset="0"/>
|
|
20
|
+
<stop stop-color="#FFDD35" offset=".083333"/>
|
|
21
|
+
<stop stop-color="#FFA800" offset="1"/>
|
|
22
|
+
</linearGradient>
|
|
23
|
+
<linearGradient id="paint0_linear-6" x1="-1.4492" x2="116.62" y1="-5.8123" y2="137.08" gradientTransform="translate(-2.832e-5)" gradientUnits="userSpaceOnUse">
|
|
24
|
+
<stop stop-color="#41D1FF" offset="0"/>
|
|
25
|
+
<stop stop-color="#BD34FE" offset="1"/>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
</defs>
|
|
28
|
+
<circle cx="87.5" cy="87.5" r="87.5" fill="#c4c4c4"/>
|
|
29
|
+
<circle cx="87.5" cy="87.5" r="87.5" fill="url(#paint0_linear-6)"/>
|
|
30
|
+
<g transform="translate(632.92 54.355)" fill="#d38787" stroke-width="1.0614">
|
|
31
|
+
<path d="m-549.75 68.457c-5.7533-3.1217-6.1166-5.2295-6.1166-35.489 0-30.458 0.35464-32.448 6.3339-35.54 3.9943-2.0655 24.279-2.2805 26.735-0.28333 0.89718 0.72974 6.7203 6.6637 12.94 13.187l11.309 11.86v19.575c0 18.473-0.12956 19.74-2.3011 22.5-4.0223 5.1136-7.558 5.8565-27.65 5.8099-14.15-0.03287-19.008-0.40294-21.25-1.6191zm42.473-6.3594c2.27-1.59 2.359-2.2909 2.359-18.575v-16.923h-6.9521c-12.443 0-16.4-4.0845-16.4-16.93v-7.4828h-8.9464c-6.7178 0-9.3619 0.41549-10.614 1.668-2.5031 2.5031-2.5031 55.724 0 58.228 2.4502 2.4502 37.058 2.4636 40.553 0.01609zm-1.8867-42.165c0-0.16422-2.8659-3.1346-6.3686-6.6008l-6.3686-6.3022v4.9328c0 6.3185 1.8955 8.2687 8.0366 8.2687 2.5854 0 4.7007-0.13434 4.7007-0.29859zm-57.57 44.279c-5.6185-3.0486-6.1166-5.593-6.1166-31.243 0-18.891 0.31331-24.063 1.6101-26.571 1.809-3.4981 6.5048-6.3339 10.489-6.3339 2.4847 0 2.5814 0.19984 1.541 3.1843-0.61054 1.7514-1.7457 3.1843-2.5226 3.1843-0.77686 0-2.1631 0.75059-3.0805 1.668-2.4923 2.4923-2.4923 47.244 0 49.736 0.91739 0.9174 2.3036 1.668 3.0805 1.668 0.77688 0 1.912 1.4329 2.5226 3.1843 1.0562 3.0298 0.97108 3.1822-1.7537 3.1418-1.575-0.02331-4.1713-0.75194-5.7694-1.6191zm-16.983-4.2458c-5.4392-2.9512-6.1166-5.9415-6.1166-26.997 0-15.096 0.345-19.878 1.6101-22.325 1.7476-3.3796 6.4758-6.3339 10.137-6.3339 1.8666 0 2.1789 0.44955 1.6594 2.3882-0.35184 1.3135-0.64655 2.7465-0.65453 3.1843-8e-3 0.43784-0.69682 0.79608-1.5308 0.79608-0.83399 0-2.2669 0.75059-3.1843 1.668-2.4767 2.4767-2.4767 38.768 0 41.244 0.91741 0.91739 2.2946 1.668 3.0605 1.668 1.196 0 2.6402 2.995 2.6871 5.5726 0.0241 1.3294-4.5804 0.80962-7.6676-0.8655z" style="mix-blend-mode:lighten"/>
|
|
32
|
+
<path d="m-552.2 68.911c-5.7533-3.1217-6.1166-5.2295-6.1166-35.489 0-30.458 0.35463-32.448 6.3339-35.54 3.9943-2.0655 24.279-2.2805 26.735-0.28333 0.89718 0.72974 6.7203 6.6637 12.94 13.187l11.309 11.86v19.575c0 18.473-0.12957 19.74-2.3011 22.5-4.0223 5.1136-7.558 5.8565-27.65 5.8099-14.15-0.03287-19.008-0.40294-21.25-1.6191zm42.473-6.3594c2.27-1.59 2.359-2.2909 2.359-18.575v-16.923h-6.952c-12.443 0-16.4-4.0845-16.4-16.93v-7.4828h-8.9464c-6.7179 0-9.3619 0.41549-10.614 1.668-2.5031 2.5031-2.5031 55.724 0 58.228 2.4502 2.4502 37.058 2.4636 40.553 0.01609zm-1.8867-42.165c0-0.16422-2.8659-3.1346-6.3686-6.6008l-6.3686-6.3022v4.9328c0 6.3185 1.8955 8.2688 8.0366 8.2688 2.5854 0 4.7007-0.13434 4.7007-0.29859zm-57.57 44.279c-5.6185-3.0486-6.1166-5.593-6.1166-31.243 0-18.891 0.31331-24.063 1.6101-26.571 1.809-3.4981 6.5048-6.3339 10.489-6.3339 2.4847 0 2.5814 0.19984 1.541 3.1843-0.61054 1.7514-1.7457 3.1843-2.5226 3.1843-0.77687 0-2.1631 0.75059-3.0805 1.668-2.4923 2.4923-2.4923 47.244 0 49.736 0.91741 0.91739 2.3036 1.668 3.0805 1.668 0.77686 0 1.912 1.4329 2.5226 3.1843 1.0562 3.0298 0.97107 3.1822-1.7537 3.1418-1.575-0.02331-4.1713-0.75194-5.7694-1.6191zm-16.983-4.2458c-5.4392-2.9512-6.1166-5.9415-6.1166-26.997 0-15.096 0.34502-19.878 1.6101-22.325 1.7476-3.3796 6.4758-6.3339 10.137-6.3339 1.8666 0 2.1789 0.44955 1.6594 2.3882-0.35182 1.3135-0.64653 2.7465-0.65452 3.1843-8e-3 0.43784-0.69683 0.79608-1.5308 0.79608-0.83397 0-2.2669 0.75059-3.1843 1.668-2.4767 2.4767-2.4767 38.768 0 41.245 0.9174 0.91739 2.2946 1.668 3.0605 1.668 1.196 0 2.6402 2.995 2.6871 5.5726 0.0241 1.3294-4.5804 0.80962-7.6676-0.8655z" fill-opacity=".47466" style="mix-blend-mode:lighten"/>
|
|
33
|
+
</g>
|
|
34
|
+
<path d="m128.48 88.913-24.027 4.6784c-0.39475 0.07685-0.68766 0.40944-0.71076 0.80849l-1.4782 24.805c-0.0347 0.58371 0.50497 1.0372 1.0792 0.90602l6.6886-1.5338c0.62676-0.14383 1.1916 0.40419 1.0635 1.0299l-1.9874 9.6702c-0.13438 0.65091 0.48084 1.2073 1.1202 1.0142l4.1322-1.2472c0.64041-0.19317 1.2556 0.36535 1.1202 1.0162l-3.158 15.191c-0.19842 0.95011 1.074 1.4677 1.6042 0.653l0.35485-0.54382 19.578-38.827c0.32755-0.64985-0.23727-1.391-0.95641-1.2535l-6.8849 1.3207c-0.6467 0.12389-1.1979-0.47453-1.0152-1.1034l4.4944-15.482c0.18266-0.63012-0.36955-1.2295-1.0173-1.1034z" fill="url(#linearGradient880)" stroke-width="1.0498"/>
|
|
35
|
+
<rect x="3" y="3" width="169" height="169" rx="84.5" stroke="url(#paint2_linear)" stroke-width="6" style="mix-blend-mode:soft-light"/>
|
|
36
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { Link }
|
|
2
|
+
|
|
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)
|
|
10
|
+
return (
|
|
11
|
+
<a href={href} className={isActive ? 'is-active' : undefined}>
|
|
12
|
+
{children}
|
|
13
|
+
</a>
|
|
14
|
+
)
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
// Default <head> (can be overriden by pages)
|
|
4
|
+
|
|
5
|
+
export default function HeadDefault() {
|
|
6
|
+
if (import.meta.BATI_MODULES?.includes("analytics:plausible.io")) {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
10
|
+
{/* See https://plausible.io/docs/plausible-script */}
|
|
11
|
+
{/* TODO: update data-domain */}
|
|
12
|
+
<script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"></script>
|
|
13
|
+
</>
|
|
14
|
+
);
|
|
15
|
+
} else {
|
|
16
|
+
return (
|
|
17
|
+
<>
|
|
18
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
19
|
+
</>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import "./style.css";
|
|
2
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
3
|
+
import "./tailwind.css";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import logoUrl from "../assets/logo.svg";
|
|
6
|
+
import { Link } from "../components/Link";
|
|
7
|
+
|
|
8
|
+
export default function LayoutDefault({ children }: { children: React.ReactNode }) {
|
|
9
|
+
return (
|
|
10
|
+
<div
|
|
11
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
12
|
+
className="flex max-w-5xl m-auto"
|
|
13
|
+
//# !import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
14
|
+
style={{
|
|
15
|
+
display: "flex",
|
|
16
|
+
maxWidth: 900,
|
|
17
|
+
margin: "auto",
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
<Sidebar>
|
|
21
|
+
<Logo />
|
|
22
|
+
<Link href="/">Welcome</Link>
|
|
23
|
+
<Link href="/star-wars">Data Fetching</Link>
|
|
24
|
+
</Sidebar>
|
|
25
|
+
<Content>{children}</Content>
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function Sidebar({ children }: { children: React.ReactNode }) {
|
|
31
|
+
return (
|
|
32
|
+
<div
|
|
33
|
+
id="sidebar"
|
|
34
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
35
|
+
className="p-5 flex flex-col shrink-0 border-r-2 border-r-gray-200"
|
|
36
|
+
//# !import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
37
|
+
style={{
|
|
38
|
+
padding: 20,
|
|
39
|
+
flexShrink: 0,
|
|
40
|
+
display: "flex",
|
|
41
|
+
flexDirection: "column",
|
|
42
|
+
lineHeight: "1.8em",
|
|
43
|
+
borderRight: "2px solid #eee",
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
{children}
|
|
47
|
+
</div>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function Content({ children }: { children: React.ReactNode }) {
|
|
52
|
+
return (
|
|
53
|
+
<div id="page-container">
|
|
54
|
+
<div
|
|
55
|
+
id="page-content"
|
|
56
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
57
|
+
className="p-5 pb-12 min-h-screen"
|
|
58
|
+
//# !import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
59
|
+
style={{
|
|
60
|
+
padding: 20,
|
|
61
|
+
paddingBottom: 50,
|
|
62
|
+
minHeight: "100vh",
|
|
63
|
+
}}
|
|
64
|
+
>
|
|
65
|
+
{children}
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function Logo() {
|
|
72
|
+
return (
|
|
73
|
+
<div
|
|
74
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
75
|
+
className="p-5 mb-2"
|
|
76
|
+
//# !import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
77
|
+
style={{
|
|
78
|
+
marginTop: 20,
|
|
79
|
+
marginBottom: 10,
|
|
80
|
+
}}
|
|
81
|
+
>
|
|
82
|
+
<a href="/">
|
|
83
|
+
<img src={logoUrl} height={64} width={64} />
|
|
84
|
+
</a>
|
|
85
|
+
</div>
|
|
86
|
+
);
|
|
87
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* Links */
|
|
2
|
+
a {
|
|
3
|
+
text-decoration: none;
|
|
4
|
+
}
|
|
5
|
+
#sidebar a {
|
|
6
|
+
padding: 2px 10px;
|
|
7
|
+
margin-left: -10px;
|
|
8
|
+
}
|
|
9
|
+
#sidebar a.is-active {
|
|
10
|
+
background-color: #eee;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Reset */
|
|
14
|
+
body {
|
|
15
|
+
margin: 0;
|
|
16
|
+
font-family: sans-serif;
|
|
17
|
+
}
|
|
18
|
+
* {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Page Transition Anmiation */
|
|
23
|
+
#page-content {
|
|
24
|
+
opacity: 1;
|
|
25
|
+
transition: opacity 0.3s ease-in-out;
|
|
26
|
+
}
|
|
27
|
+
body.page-is-transitioning #page-content {
|
|
28
|
+
opacity: 0;
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Config } from "vike-react/types";
|
|
2
|
+
import Layout from "../layouts/LayoutDefault";
|
|
3
|
+
import Head from "../layouts/HeadDefault";
|
|
4
|
+
import logoUrl from "../assets/logo.svg";
|
|
5
|
+
import vikeReact from "vike-react";
|
|
6
|
+
|
|
7
|
+
// Default config (can be overriden by pages)
|
|
8
|
+
export default {
|
|
9
|
+
Layout,
|
|
10
|
+
Head,
|
|
11
|
+
// <title>
|
|
12
|
+
title: "My Vike App",
|
|
13
|
+
// <meta name="description">
|
|
14
|
+
description: "Demo showcasing Vike",
|
|
15
|
+
// <link rel="icon" href="${favicon}" />
|
|
16
|
+
favicon: logoUrl,
|
|
17
|
+
extends: vikeReact,
|
|
18
|
+
} satisfies Config;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default Page;
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
function Page({ is404, errorInfo }: { is404: boolean; errorInfo?: string }) {
|
|
6
|
+
if (is404) {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<h1>404 Page Not Found</h1>
|
|
10
|
+
<p>This page could not be found.</p>
|
|
11
|
+
<p>{errorInfo}</p>
|
|
12
|
+
</>
|
|
13
|
+
);
|
|
14
|
+
} else {
|
|
15
|
+
return (
|
|
16
|
+
<>
|
|
17
|
+
<h1>500 Internal Server Error</h1>
|
|
18
|
+
<p>Something went wrong.</p>
|
|
19
|
+
</>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Counter } from "./Counter";
|
|
3
|
+
|
|
4
|
+
export default function Page() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<h1
|
|
8
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
9
|
+
className="font-bold text-3xl pb-4"
|
|
10
|
+
>
|
|
11
|
+
My Vike app
|
|
12
|
+
</h1>
|
|
13
|
+
This page is:
|
|
14
|
+
<ul>
|
|
15
|
+
<li>Rendered to HTML.</li>
|
|
16
|
+
<li>
|
|
17
|
+
Interactive. <Counter />
|
|
18
|
+
</li>
|
|
19
|
+
</ul>
|
|
20
|
+
</>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
|
|
3
|
+
export { Counter };
|
|
4
|
+
|
|
5
|
+
function Counter() {
|
|
6
|
+
const [count, setCount] = useState(0);
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<button
|
|
10
|
+
type="button"
|
|
11
|
+
//# import.meta.BATI_MODULES?.includes("uikit:tailwindcss")
|
|
12
|
+
className="inline-block border border-black rounded bg-gray-200 px-2 py-1 text-xs font-medium uppercase leading-normal"
|
|
13
|
+
onClick={() => setCount((count) => count + 1)}
|
|
14
|
+
>
|
|
15
|
+
Counter {count}
|
|
16
|
+
</button>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default Page;
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import type { MovieDetails } from "../types";
|
|
5
|
+
|
|
6
|
+
function Page({ movie }: { movie: MovieDetails }) {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<h1>{movie.title}</h1>
|
|
10
|
+
Release Date: {movie.release_date}
|
|
11
|
+
<br />
|
|
12
|
+
Director: {movie.director}
|
|
13
|
+
<br />
|
|
14
|
+
Producer: {movie.producer}
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default onBeforeRender;
|
|
2
|
+
|
|
3
|
+
import fetch from "cross-fetch";
|
|
4
|
+
import { filterMovieData } from "../filterMovieData";
|
|
5
|
+
import type { PageContextBuiltIn } from "vike-react/types";
|
|
6
|
+
import type { MovieDetails } from "../types";
|
|
7
|
+
|
|
8
|
+
async function onBeforeRender(pageContext: PageContextBuiltIn) {
|
|
9
|
+
const response = await fetch(`https://star-wars.brillout.com/api/films/${pageContext.routeParams.id}.json`);
|
|
10
|
+
let movie = (await response.json()) as MovieDetails;
|
|
11
|
+
|
|
12
|
+
// We remove data we don't need because we pass `pageContext.movie` to
|
|
13
|
+
// the client; we want to minimize what is sent over the network.
|
|
14
|
+
movie = filterMovieData(movie);
|
|
15
|
+
|
|
16
|
+
const { title } = movie;
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
pageContext: {
|
|
20
|
+
pageProps: {
|
|
21
|
+
movie,
|
|
22
|
+
},
|
|
23
|
+
// The page's <title>
|
|
24
|
+
title,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { MovieDetails } from "./types";
|
|
2
|
+
|
|
3
|
+
export { filterMovieData };
|
|
4
|
+
|
|
5
|
+
function filterMovieData(
|
|
6
|
+
movie: MovieDetails & Record<string, unknown>
|
|
7
|
+
): MovieDetails {
|
|
8
|
+
const { id, title, release_date, director, producer } = movie;
|
|
9
|
+
movie = { id, title, release_date, director, producer };
|
|
10
|
+
return movie;
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default Page;
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import type { Movie } from "../types";
|
|
5
|
+
|
|
6
|
+
function Page({ movies }: { movies: Movie[] }) {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<h1>Star Wars Movies</h1>
|
|
10
|
+
<ol>
|
|
11
|
+
{movies.map(({ id, title, release_date }) => (
|
|
12
|
+
<li key={id}>
|
|
13
|
+
<a href={`/star-wars/${id}`}>{title}</a> ({release_date})
|
|
14
|
+
</li>
|
|
15
|
+
))}
|
|
16
|
+
</ol>
|
|
17
|
+
<p>
|
|
18
|
+
Source: <a href="https://star-wars.brillout.com">star-wars.brillout.com</a>.
|
|
19
|
+
</p>
|
|
20
|
+
</>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export default onBeforeRender;
|
|
2
|
+
|
|
3
|
+
import fetch from "cross-fetch";
|
|
4
|
+
//import { filterMovieData } from '../filterMovieData'
|
|
5
|
+
import type { Movie, MovieDetails } from "../types";
|
|
6
|
+
|
|
7
|
+
// export { prerender }
|
|
8
|
+
|
|
9
|
+
async function onBeforeRender() {
|
|
10
|
+
const movies = await getStarWarsMovies();
|
|
11
|
+
return {
|
|
12
|
+
pageContext: {
|
|
13
|
+
pageProps: {
|
|
14
|
+
// We remove data we don't need because we pass `pageContext.movies` to
|
|
15
|
+
// the client; we want to minimize what is sent over the network.
|
|
16
|
+
movies: filterMoviesData(movies),
|
|
17
|
+
},
|
|
18
|
+
// The page's <title>
|
|
19
|
+
title: getTitle(movies),
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async function getStarWarsMovies(): Promise<MovieDetails[]> {
|
|
25
|
+
const response = await fetch("https://star-wars.brillout.com/api/films.json");
|
|
26
|
+
let movies: MovieDetails[] = ((await response.json()) as any).results;
|
|
27
|
+
movies = movies.map((movie: MovieDetails, i: number) => ({
|
|
28
|
+
...movie,
|
|
29
|
+
id: String(i + 1),
|
|
30
|
+
}));
|
|
31
|
+
return movies;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function filterMoviesData(movies: MovieDetails[]): Movie[] {
|
|
35
|
+
return movies.map((movie: MovieDetails) => {
|
|
36
|
+
const { title, release_date, id } = movie;
|
|
37
|
+
return { title, release_date, id };
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
async function prerender() {
|
|
43
|
+
const movies = await getStarWarsMovies()
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
url: '/star-wars',
|
|
47
|
+
// We already provide `pageContext` here so that Vike
|
|
48
|
+
// will *not* have to call the `onBeforeRender()` hook defined
|
|
49
|
+
// above in this file.
|
|
50
|
+
pageContext: {
|
|
51
|
+
pageProps: {
|
|
52
|
+
movies: filterMoviesData(movies)
|
|
53
|
+
},
|
|
54
|
+
documentProps: { title: getTitle(movies) }
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
...movies.map((movie) => {
|
|
58
|
+
const url = `/star-wars/${movie.id}`
|
|
59
|
+
return {
|
|
60
|
+
url,
|
|
61
|
+
// Note that we can also provide the `pageContext` of other pages.
|
|
62
|
+
// This means that Vike will not call any
|
|
63
|
+
// `onBeforeRender()` hook and the Star Wars API will be called
|
|
64
|
+
// only once (in this `prerender()` hook).
|
|
65
|
+
pageContext: {
|
|
66
|
+
pageProps: {
|
|
67
|
+
movie: filterMovieData(movie)
|
|
68
|
+
},
|
|
69
|
+
documentProps: { title: movie.title }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
function getTitle(movies: Movie[] | MovieDetails[]): string {
|
|
78
|
+
const title = `${movies.length} Star Wars Movies`;
|
|
79
|
+
return title;
|
|
80
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// package.json
|
|
2
|
+
var name = "@batijs/react";
|
|
3
|
+
var private2 = true;
|
|
4
|
+
var version = "0.0.26";
|
|
5
|
+
var description = "";
|
|
6
|
+
var type = "module";
|
|
7
|
+
var scripts = {
|
|
8
|
+
build: "tsup"
|
|
9
|
+
};
|
|
10
|
+
var keywords = [];
|
|
11
|
+
var author = "";
|
|
12
|
+
var license = "MIT";
|
|
13
|
+
var devDependencies = {
|
|
14
|
+
"@batijs/tsup": "workspace:*",
|
|
15
|
+
"@types/node": "^16.18.36",
|
|
16
|
+
"@types/react": "^18.2.12",
|
|
17
|
+
"@types/react-dom": "^18.2.5",
|
|
18
|
+
"@vitejs/plugin-react": "^4.0.0",
|
|
19
|
+
"cross-fetch": "^3.1.6",
|
|
20
|
+
react: "^18.2.0",
|
|
21
|
+
"react-dom": "^18.2.0",
|
|
22
|
+
tailwindcss: "^3.3.2",
|
|
23
|
+
tsup: "^6.7.0",
|
|
24
|
+
typescript: "^5.1.3",
|
|
25
|
+
"vike-react": "^0.1.5",
|
|
26
|
+
vite: "^4.3.9",
|
|
27
|
+
"vite-plugin-ssr": "^0.4.131"
|
|
28
|
+
};
|
|
29
|
+
var dependencies = {
|
|
30
|
+
"@batijs/core": "workspace:*"
|
|
31
|
+
};
|
|
32
|
+
var files = [
|
|
33
|
+
"dist/"
|
|
34
|
+
];
|
|
35
|
+
var bati = {
|
|
36
|
+
flag: "react",
|
|
37
|
+
name: "ReactJS",
|
|
38
|
+
homepage: "https://react.dev"
|
|
39
|
+
};
|
|
40
|
+
var package_default = {
|
|
41
|
+
name,
|
|
42
|
+
private: private2,
|
|
43
|
+
version,
|
|
44
|
+
description,
|
|
45
|
+
type,
|
|
46
|
+
scripts,
|
|
47
|
+
keywords,
|
|
48
|
+
author,
|
|
49
|
+
license,
|
|
50
|
+
devDependencies,
|
|
51
|
+
dependencies,
|
|
52
|
+
files,
|
|
53
|
+
bati
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
author,
|
|
57
|
+
bati,
|
|
58
|
+
package_default as default,
|
|
59
|
+
dependencies,
|
|
60
|
+
description,
|
|
61
|
+
devDependencies,
|
|
62
|
+
files,
|
|
63
|
+
keywords,
|
|
64
|
+
license,
|
|
65
|
+
name,
|
|
66
|
+
private2 as private,
|
|
67
|
+
scripts,
|
|
68
|
+
type,
|
|
69
|
+
version
|
|
70
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
3
|
async function getPackageJson(currentContent) {
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
5
|
+
return addDependency(packageJson, await import("../package-T22CK2KR.js"), {
|
|
6
6
|
devDependencies: ["vite"],
|
|
7
7
|
dependencies: ["cross-fetch", "solid-js", "vike-solid"]
|
|
8
8
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
3
|
async function getPackageJson(currentContent, meta) {
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
5
|
+
return addDependency(packageJson, await import("../package-DRVAXC5Y.js"), {
|
|
6
6
|
devDependencies: ["tailwindcss", "postcss", "autoprefixer"]
|
|
7
7
|
});
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { addDependency, loadAsJson } from "@batijs/core";
|
|
3
3
|
async function getPackageJson(currentContent) {
|
|
4
4
|
const packageJson = await loadAsJson(currentContent);
|
|
5
|
-
return addDependency(packageJson, await import("../package-
|
|
5
|
+
return addDependency(packageJson, await import("../package-G7FSLIMJ.js"), {
|
|
6
6
|
dependencies: ["telefunc"]
|
|
7
7
|
});
|
|
8
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var name = "@batijs/telefunc";
|
|
3
3
|
var private2 = true;
|
|
4
|
-
var version = "0.0.
|
|
4
|
+
var version = "0.0.26";
|
|
5
5
|
var description = "";
|
|
6
6
|
var type = "module";
|
|
7
7
|
var scripts = {
|
|
@@ -13,7 +13,7 @@ var license = "MIT";
|
|
|
13
13
|
var devDependencies = {
|
|
14
14
|
"@batijs/tsup": "workspace:*",
|
|
15
15
|
"@types/node": "^16.18.36",
|
|
16
|
-
telefunc: "^0.1.
|
|
16
|
+
telefunc: "^0.1.56",
|
|
17
17
|
tsup: "^6.7.0",
|
|
18
18
|
vite: "^4.3.9",
|
|
19
19
|
"vite-plugin-ssr": "^0.4.131"
|
|
@@ -69,6 +69,18 @@
|
|
|
69
69
|
"hooks"
|
|
70
70
|
]
|
|
71
71
|
},
|
|
72
|
+
{
|
|
73
|
+
"config": {
|
|
74
|
+
"flag": "react",
|
|
75
|
+
"name": "ReactJS",
|
|
76
|
+
"homepage": "https://react.dev"
|
|
77
|
+
},
|
|
78
|
+
"folder": "@batijs/react",
|
|
79
|
+
"description": "",
|
|
80
|
+
"subfolders": [
|
|
81
|
+
"files"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
72
84
|
{
|
|
73
85
|
"config": {},
|
|
74
86
|
"folder": "@batijs/shared",
|
package/dist/index.js
CHANGED
|
@@ -554,6 +554,7 @@ import { copyFile, mkdir, opendir, readFile, writeFile } from "fs/promises";
|
|
|
554
554
|
import { existsSync } from "fs";
|
|
555
555
|
import path from "path";
|
|
556
556
|
var reIgnoreFile = /^(chunk-|asset-|#)/gi;
|
|
557
|
+
var isWin = process.platform === "win32";
|
|
557
558
|
function toDist(filepath, source, dist) {
|
|
558
559
|
const split = filepath.split(path.sep);
|
|
559
560
|
split[split.length - 1] = split[split.length - 1].replace(/^\$\$?(.*)\.[tj]sx?$/, "$1");
|
|
@@ -622,7 +623,8 @@ async function main(options, meta) {
|
|
|
622
623
|
Please report this issue to https://github.com/magne4000/bati`
|
|
623
624
|
);
|
|
624
625
|
} else if (parsed.name.startsWith("$") && parsed.ext.match(/\.jsx?$/)) {
|
|
625
|
-
const
|
|
626
|
+
const importFile = isWin ? "file://" + p : p;
|
|
627
|
+
const f = await import(importFile);
|
|
626
628
|
const fileContent = transformFileAfterExec(
|
|
627
629
|
target,
|
|
628
630
|
await f.default(targets.has(target) ? () => readFile(target, { encoding: "utf-8" }) : void 0, meta)
|
|
@@ -651,14 +653,14 @@ Please report this issue to https://github.com/magne4000/bati`
|
|
|
651
653
|
// package.json
|
|
652
654
|
var package_default = {
|
|
653
655
|
name: "@batijs/cli",
|
|
654
|
-
version: "0.0.
|
|
656
|
+
version: "0.0.26",
|
|
655
657
|
description: "Scaffold typescript projects with ease and modularity",
|
|
656
658
|
type: "module",
|
|
657
659
|
scripts: {
|
|
658
|
-
prerelease: "
|
|
660
|
+
prerelease: "rimraf ./dist",
|
|
659
661
|
prepublishOnly: "pnpm run build",
|
|
660
|
-
test: "pnpm run build && vitest run
|
|
661
|
-
build: "
|
|
662
|
+
test: "pnpm run build && vitest run",
|
|
663
|
+
build: "rimraf ./dist && tsup"
|
|
662
664
|
},
|
|
663
665
|
keywords: [],
|
|
664
666
|
author: "",
|
|
@@ -669,14 +671,17 @@ var package_default = {
|
|
|
669
671
|
"@types/node": "^16.18.36",
|
|
670
672
|
citty: "^0.1.1",
|
|
671
673
|
colorette: "^2.0.20",
|
|
672
|
-
esbuild: "^0.18.
|
|
674
|
+
esbuild: "^0.18.3",
|
|
673
675
|
espree: "^9.5.2",
|
|
674
676
|
execa: "^7.1.1",
|
|
675
677
|
"get-port": "^7.0.0",
|
|
676
678
|
"node-fetch": "^3.3.1",
|
|
679
|
+
rimraf: "^5.0.1",
|
|
680
|
+
"tree-kill": "^1.2.2",
|
|
677
681
|
tsup: "^6.7.0",
|
|
678
682
|
typescript: "^5.1.3",
|
|
679
|
-
|
|
683
|
+
vite: "^4.3.9",
|
|
684
|
+
vitest: "^0.32.1"
|
|
680
685
|
},
|
|
681
686
|
dependencies: {
|
|
682
687
|
"@batijs/core": "workspace:*"
|
|
@@ -822,6 +827,7 @@ var {
|
|
|
822
827
|
// index.ts
|
|
823
828
|
var __filename = fileURLToPath(import.meta.url);
|
|
824
829
|
var __dirname = dirname(__filename);
|
|
830
|
+
var isWin2 = process.platform === "win32";
|
|
825
831
|
function boilerplatesDir() {
|
|
826
832
|
if (existsSync2(join(__dirname, "boilerplates", "boilerplates.json"))) {
|
|
827
833
|
return join(__dirname, "boilerplates");
|
|
@@ -926,12 +932,13 @@ async function retrieveHooks(hooks) {
|
|
|
926
932
|
for (const hook of hooks) {
|
|
927
933
|
for await (const file of walk(hook)) {
|
|
928
934
|
const parsed = parse(file);
|
|
935
|
+
const importFile = isWin2 ? "file://" + file : file;
|
|
929
936
|
switch (parsed.name) {
|
|
930
937
|
case "cli":
|
|
931
938
|
if (!map.has("cli")) {
|
|
932
939
|
map.set("cli", []);
|
|
933
940
|
}
|
|
934
|
-
map.get("cli").push((await import(
|
|
941
|
+
map.get("cli").push((await import(importFile)).default);
|
|
935
942
|
break;
|
|
936
943
|
default:
|
|
937
944
|
throw new Error(`Unsupported hook ${parsed.name}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@batijs/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.26",
|
|
4
4
|
"description": "Scaffold typescript projects with ease and modularity",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -10,19 +10,22 @@
|
|
|
10
10
|
"@types/node": "^16.18.36",
|
|
11
11
|
"citty": "^0.1.1",
|
|
12
12
|
"colorette": "^2.0.20",
|
|
13
|
-
"esbuild": "^0.18.
|
|
13
|
+
"esbuild": "^0.18.3",
|
|
14
14
|
"espree": "^9.5.2",
|
|
15
15
|
"execa": "^7.1.1",
|
|
16
16
|
"get-port": "^7.0.0",
|
|
17
17
|
"node-fetch": "^3.3.1",
|
|
18
|
+
"rimraf": "^5.0.1",
|
|
19
|
+
"tree-kill": "^1.2.2",
|
|
18
20
|
"tsup": "^6.7.0",
|
|
19
21
|
"typescript": "^5.1.3",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"@batijs/tsup": "0.0.
|
|
22
|
+
"vite": "^4.3.9",
|
|
23
|
+
"vitest": "^0.32.1",
|
|
24
|
+
"@batijs/tsup": "0.0.26",
|
|
25
|
+
"@batijs/build": "0.0.26"
|
|
23
26
|
},
|
|
24
27
|
"dependencies": {
|
|
25
|
-
"@batijs/core": "0.0.
|
|
28
|
+
"@batijs/core": "0.0.26"
|
|
26
29
|
},
|
|
27
30
|
"bin": "./dist/index.js",
|
|
28
31
|
"exports": {
|
|
@@ -39,8 +42,8 @@
|
|
|
39
42
|
"dist/"
|
|
40
43
|
],
|
|
41
44
|
"scripts": {
|
|
42
|
-
"prerelease": "
|
|
43
|
-
"test": "pnpm run build && vitest run
|
|
44
|
-
"build": "
|
|
45
|
+
"prerelease": "rimraf ./dist",
|
|
46
|
+
"test": "pnpm run build && vitest run",
|
|
47
|
+
"build": "rimraf ./dist && tsup"
|
|
45
48
|
}
|
|
46
49
|
}
|