@batijs/cli 0.0.69 → 0.0.72

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 (28) hide show
  1. package/dist/boilerplates/@batijs/edgedb/files/$package.json.js +1 -1
  2. package/dist/boilerplates/@batijs/edgedb/{package-LS4N573U.js → package-YWQ6YUZ7.js} +1 -1
  3. package/dist/boilerplates/@batijs/express/files/$package.json.js +14 -4
  4. package/dist/boilerplates/@batijs/express/{package-HUSTD3AA.js → package-3RIXNUDS.js} +4 -4
  5. package/dist/boilerplates/@batijs/hattip/files/$package.json.js +14 -4
  6. package/dist/boilerplates/@batijs/hattip/{package-H54ANVLS.js → package-ANYCBBN4.js} +4 -4
  7. package/dist/boilerplates/@batijs/prisma/files/$package.json.js +1 -1
  8. package/dist/boilerplates/@batijs/prisma/{package-ML7OLGIV.js → package-R4IQI5YX.js} +1 -1
  9. package/dist/boilerplates/@batijs/react/files/$package.json.js +1 -1
  10. package/dist/boilerplates/@batijs/react/files/$vite.config.ts.js +7 -2
  11. package/dist/boilerplates/@batijs/react/{package-YA6MIN7J.js → package-EAOLTRFX.js} +2 -2
  12. package/dist/boilerplates/@batijs/shared/files/tsconfig.json +2 -1
  13. package/dist/boilerplates/@batijs/solid/files/$package.json.js +1 -1
  14. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforePrerenderStart.ts +40 -0
  15. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/getStarWarsMovies.ts +29 -0
  16. package/dist/boilerplates/@batijs/solid/{package-2QJ7AU5D.js → package-NCEYFOCK.js} +2 -2
  17. package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
  18. package/dist/boilerplates/@batijs/tailwindcss/{package-O545P6XC.js → package-62W7NCSO.js} +2 -2
  19. package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
  20. package/dist/boilerplates/@batijs/telefunc/{package-WTKGDPTF.js → package-A2BZA326.js} +3 -3
  21. package/dist/boilerplates/@batijs/vercel/files/$package.json.js +19 -0
  22. package/dist/boilerplates/@batijs/vercel/files/$vite.config.ts.js +13 -0
  23. package/dist/boilerplates/@batijs/vercel/package-RSK64DY3.js +63 -0
  24. package/dist/boilerplates/@batijs/vue/files/$package.json.js +1 -1
  25. package/dist/boilerplates/@batijs/vue/{package-EV6NMSSH.js → package-ACJMGZCS.js} +6 -6
  26. package/dist/boilerplates/boilerplates.json +12 -0
  27. package/dist/index.js +39 -26
  28. package/package.json +6 -6
@@ -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-LS4N573U.js"), {
7
+ return addDependency(packageJson, await import("../package-YWQ6YUZ7.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.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -1,10 +1,20 @@
1
1
  // files/$package.json.ts
2
- import { addDependency, loadAsJson } from "@batijs/core";
2
+ import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
3
  async function getPackageJson(currentContent, meta) {
4
4
  const packageJson = await loadAsJson(currentContent);
5
- packageJson.scripts.dev = "tsx ./express-entry.ts";
6
- packageJson.scripts.build = "vite build";
7
- return addDependency(packageJson, await import("../package-HUSTD3AA.js"), {
5
+ setScripts(packageJson, {
6
+ dev: {
7
+ value: "tsx ./express-entry.ts",
8
+ precedence: 20,
9
+ warnIfReplaced: true
10
+ },
11
+ build: {
12
+ value: "vite build",
13
+ precedence: 1,
14
+ warnIfReplaced: true
15
+ }
16
+ });
17
+ return addDependency(packageJson, await import("../package-3RIXNUDS.js"), {
8
18
  devDependencies: ["@types/express"],
9
19
  dependencies: [
10
20
  "@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.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -11,18 +11,18 @@ var keywords = [];
11
11
  var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
- "@auth/core": "^0.13.0",
14
+ "@auth/core": "^0.14.0",
15
15
  "@batijs/tsup": "workspace:*",
16
16
  "@hattip/adapter-node": "^0.0.34",
17
17
  "@types/express": "^4.17.17",
18
18
  "@types/node": "^16.18.40",
19
19
  express: "^4.18.2",
20
- telefunc: "^0.1.58",
20
+ telefunc: "^0.1.59",
21
21
  tsup: "^7.2.0",
22
22
  tsx: "^3.12.8",
23
23
  "vike-authjs": "^0.0.2",
24
24
  vite: "^4.4.9",
25
- "vite-plugin-ssr": "^0.4.140"
25
+ "vite-plugin-ssr": "^0.4.141"
26
26
  };
27
27
  var dependencies = {
28
28
  "@batijs/core": "workspace:*"
@@ -1,13 +1,23 @@
1
1
  // files/$package.json.ts
2
- import { addDependency, loadAsJson } from "@batijs/core";
2
+ import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
3
  async function getPackageJson(currentContent, meta) {
4
4
  const packageJson = await loadAsJson(currentContent);
5
- packageJson.scripts.dev = "hattip serve ./hattip-entry.ts --client";
6
- packageJson.scripts.build = "hattip build ./hattip-entry.ts --client";
5
+ setScripts(packageJson, {
6
+ dev: {
7
+ value: "hattip serve ./hattip-entry.ts --client",
8
+ precedence: 20,
9
+ warnIfReplaced: true
10
+ },
11
+ build: {
12
+ value: "hattip build ./hattip-entry.ts --client",
13
+ precedence: 20,
14
+ warnIfReplaced: true
15
+ }
16
+ });
7
17
  if (packageJson.scripts.preview) {
8
18
  delete packageJson.scripts.preview;
9
19
  }
10
- return addDependency(packageJson, await import("../package-H54ANVLS.js"), {
20
+ return addDependency(packageJson, await import("../package-ANYCBBN4.js"), {
11
21
  devDependencies: ["@hattip/vite", "@hattip/adapter-node"],
12
22
  dependencies: [
13
23
  "@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.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -11,18 +11,18 @@ var keywords = [];
11
11
  var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
- "@auth/core": "^0.13.0",
14
+ "@auth/core": "^0.14.0",
15
15
  "@batijs/tsup": "workspace:*",
16
16
  "@hattip/adapter-node": "^0.0.34",
17
17
  "@hattip/router": "^0.0.34",
18
18
  "@hattip/vite": "^0.0.34",
19
19
  "@types/node": "^16.18.40",
20
20
  hattip: "^0.0.33",
21
- telefunc: "^0.1.58",
21
+ telefunc: "^0.1.59",
22
22
  tsup: "^7.2.0",
23
23
  "vike-authjs": "^0.0.2",
24
24
  vite: "^4.4.9",
25
- "vite-plugin-ssr": "^0.4.140"
25
+ "vite-plugin-ssr": "^0.4.141"
26
26
  };
27
27
  var dependencies = {
28
28
  "@batijs/core": "workspace:*"
@@ -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-ML7OLGIV.js"), {
7
+ return addDependency(packageJson, await import("../package-R4IQI5YX.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.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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-YA6MIN7J.js"), {
5
+ return addDependency(packageJson, await import("../package-EAOLTRFX.js"), {
6
6
  devDependencies: ["vite", "@types/react", "@types/react-dom"],
7
7
  dependencies: ["@vitejs/plugin-react", "cross-fetch", "react", "react-dom", "vite-plugin-ssr", "vike-react"]
8
8
  });
@@ -1,14 +1,19 @@
1
1
  // files/$vite.config.ts.ts
2
2
  import { addVitePlugin, loadAsMagicast } from "@batijs/core";
3
- async function getViteConfig(currentContent) {
3
+ async function getViteConfig(currentContent, meta) {
4
4
  const mod = await loadAsMagicast(currentContent);
5
+ const options = meta.BATI_MODULES?.includes("hosting:vercel") ? {
6
+ prerender: true,
7
+ disableAutoFullBuild: true
8
+ } : {};
5
9
  addVitePlugin(mod, {
6
10
  from: "@vitejs/plugin-react",
7
11
  constructor: "react"
8
12
  });
9
13
  addVitePlugin(mod, {
10
14
  from: "vite-plugin-ssr/plugin",
11
- constructor: "ssr"
15
+ constructor: "ssr",
16
+ options
12
17
  });
13
18
  return mod.generate().code;
14
19
  }
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/react";
3
3
  var private2 = true;
4
- var version = "0.0.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -24,7 +24,7 @@ var devDependencies = {
24
24
  typescript: "^5.2.2",
25
25
  "vike-react": "^0.1.6",
26
26
  vite: "^4.4.9",
27
- "vite-plugin-ssr": "^0.4.140"
27
+ "vite-plugin-ssr": "^0.4.141"
28
28
  };
29
29
  var dependencies = {
30
30
  "@batijs/core": "workspace:*"
@@ -14,5 +14,6 @@
14
14
  "target": "ES2020",
15
15
  "lib": ["DOM", "DOM.Iterable", "ESNext"],
16
16
  "types": ["vite/client"]
17
- }
17
+ },
18
+ "exclude": ["dist"]
18
19
  }
@@ -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-2QJ7AU5D.js"), {
5
+ return addDependency(packageJson, await import("../package-NCEYFOCK.js"), {
6
6
  devDependencies: ["vite"],
7
7
  dependencies: ["cross-fetch", "solid-js", "vike-solid", "vite-plugin-ssr"]
8
8
  });
@@ -0,0 +1,40 @@
1
+ // https://vite-plugin-ssr.com/onBeforePrerenderStart
2
+ export default onBeforePrerenderStart;
3
+
4
+ import { filterMovieData } from "../filterMovieData";
5
+ import { filterMoviesData, getStarWarsMovies, getTitle } from "./getStarWarsMovies.js";
6
+
7
+ async function onBeforePrerenderStart() {
8
+ const movies = await getStarWarsMovies();
9
+
10
+ return [
11
+ {
12
+ url: "/star-wars",
13
+ // We already provide `pageContext` here so that `vite-plugin-ssr`
14
+ // will *not* have to call the `onBeforeRender()` hook defined
15
+ // above in this file.
16
+ pageContext: {
17
+ pageProps: {
18
+ movies: filterMoviesData(movies),
19
+ },
20
+ title: getTitle(movies),
21
+ },
22
+ },
23
+ ...movies.map((movie) => {
24
+ const url = `/star-wars/${movie.id}`;
25
+ return {
26
+ url,
27
+ // Note that we can also provide the `pageContext` of other pages.
28
+ // This means that `vite-plugin-ssr` will not call any
29
+ // `onBeforeRender()` hook and the Star Wars API will be called
30
+ // only once (in this `prerender()` hook).
31
+ pageContext: {
32
+ pageProps: {
33
+ movie: filterMovieData(movie),
34
+ },
35
+ title: movie.title,
36
+ },
37
+ };
38
+ }),
39
+ ];
40
+ }
@@ -0,0 +1,29 @@
1
+ export { getStarWarsMovies };
2
+ export { filterMoviesData };
3
+ export { getTitle };
4
+
5
+ import fetch from "cross-fetch";
6
+ import type { Movie, MovieDetails } from "../types";
7
+
8
+ async function getStarWarsMovies(): Promise<MovieDetails[]> {
9
+ const response = await fetch("https://star-wars.brillout.com/api/films.json");
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ let movies: MovieDetails[] = ((await response.json()) as any).results;
12
+ movies = movies.map((movie: MovieDetails, i: number) => ({
13
+ ...movie,
14
+ id: String(i + 1),
15
+ }));
16
+ return movies;
17
+ }
18
+
19
+ function filterMoviesData(movies: MovieDetails[]): Movie[] {
20
+ return movies.map((movie: MovieDetails) => {
21
+ const { title, release_date, id } = movie;
22
+ return { title, release_date, id };
23
+ });
24
+ }
25
+
26
+ function getTitle(movies: Movie[] | MovieDetails[]): string {
27
+ const title = `${movies.length} Star Wars Movies`;
28
+ return title;
29
+ }
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/solid";
3
3
  var private2 = true;
4
- var version = "0.0.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -21,7 +21,7 @@ var devDependencies = {
21
21
  "vike-solid": "^0.1.1",
22
22
  vite: "^4.4.9",
23
23
  "vite-plugin-solid": "^2.7.0",
24
- "vite-plugin-ssr": "^0.4.140"
24
+ "vite-plugin-ssr": "^0.4.141"
25
25
  };
26
26
  var dependencies = {
27
27
  "@batijs/core": "workspace:*"
@@ -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-O545P6XC.js"), {
5
+ return addDependency(packageJson, await import("../package-62W7NCSO.js"), {
6
6
  devDependencies: ["tailwindcss", "postcss", "autoprefixer"]
7
7
  });
8
8
  }
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/tailwindcss";
3
3
  var private2 = true;
4
- var version = "0.0.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -18,7 +18,7 @@ var devDependencies = {
18
18
  tailwindcss: "^3.3.3",
19
19
  tsup: "^7.2.0",
20
20
  vite: "^4.4.9",
21
- "vite-plugin-ssr": "^0.4.140"
21
+ "vite-plugin-ssr": "^0.4.141"
22
22
  };
23
23
  var dependencies = {
24
24
  "@batijs/core": "workspace:*"
@@ -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-WTKGDPTF.js"), {
5
+ return addDependency(packageJson, await import("../package-A2BZA326.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.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -13,10 +13,10 @@ var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
15
  "@types/node": "^16.18.40",
16
- telefunc: "^0.1.58",
16
+ telefunc: "^0.1.59",
17
17
  tsup: "^7.2.0",
18
18
  vite: "^4.4.9",
19
- "vite-plugin-ssr": "^0.4.140"
19
+ "vite-plugin-ssr": "^0.4.141"
20
20
  };
21
21
  var dependencies = {
22
22
  "@batijs/core": "workspace:*"
@@ -0,0 +1,19 @@
1
+ // files/$package.json.ts
2
+ import { addDependency, loadAsJson, setScripts } from "@batijs/core";
3
+ async function getPackageJson(currentContent, meta) {
4
+ const packageJson = await loadAsJson(currentContent);
5
+ setScripts(packageJson, {
6
+ build: {
7
+ value: "vite build && vite build --ssr",
8
+ precedence: 10,
9
+ // hattip supersedes vite-plugin-vercel build script without issue
10
+ warnIfReplaced: !meta.BATI_MODULES?.includes("server:hattip")
11
+ }
12
+ });
13
+ return addDependency(packageJson, await import("../package-RSK64DY3.js"), {
14
+ dependencies: ["vite-plugin-vercel", "@vite-plugin-vercel/vike"]
15
+ });
16
+ }
17
+ export {
18
+ getPackageJson as default
19
+ };
@@ -0,0 +1,13 @@
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: "vite-plugin-vercel",
7
+ constructor: "vercel"
8
+ });
9
+ return mod.generate().code;
10
+ }
11
+ export {
12
+ getViteConfig as default
13
+ };
@@ -0,0 +1,63 @@
1
+ // package.json
2
+ var name = "@batijs/vercel";
3
+ var private2 = true;
4
+ var version = "0.0.72";
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.40",
16
+ "@vite-plugin-vercel/vike": "^0.3.3",
17
+ "vite-plugin-vercel": "^0.3.2",
18
+ tsup: "^7.2.0",
19
+ vite: "^4.4.9",
20
+ "vite-plugin-ssr": "^0.4.141"
21
+ };
22
+ var dependencies = {
23
+ "@batijs/core": "workspace:*"
24
+ };
25
+ var files = [
26
+ "dist/"
27
+ ];
28
+ var bati = {
29
+ flag: "vercel",
30
+ name: "Vercel",
31
+ homepage: "https://vercel.com"
32
+ };
33
+ var package_default = {
34
+ name,
35
+ private: private2,
36
+ version,
37
+ description,
38
+ type,
39
+ scripts,
40
+ keywords,
41
+ author,
42
+ license,
43
+ devDependencies,
44
+ dependencies,
45
+ files,
46
+ bati
47
+ };
48
+ export {
49
+ author,
50
+ bati,
51
+ package_default as default,
52
+ dependencies,
53
+ description,
54
+ devDependencies,
55
+ files,
56
+ keywords,
57
+ license,
58
+ name,
59
+ private2 as private,
60
+ scripts,
61
+ type,
62
+ version
63
+ };
@@ -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-EV6NMSSH.js"), {
5
+ return addDependency(packageJson, await import("../package-ACJMGZCS.js"), {
6
6
  devDependencies: ["vite"],
7
7
  dependencies: [
8
8
  "@vitejs/plugin-vue",
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/vue";
3
3
  var private2 = true;
4
- var version = "0.0.69";
4
+ var version = "0.0.72";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -13,17 +13,17 @@ var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
15
  "@types/node": "^16.18.40",
16
- "@vitejs/plugin-vue": "^4.0.0",
17
- "@vue/compiler-sfc": "^3.2.47",
18
- "@vue/server-renderer": "^3.2.47",
16
+ "@vitejs/plugin-vue": "^4.3.4",
17
+ "@vue/compiler-sfc": "^3.3.4",
18
+ "@vue/server-renderer": "^3.3.4",
19
19
  "cross-fetch": "^4.0.0",
20
20
  tailwindcss: "^3.3.3",
21
21
  tsup: "^7.2.0",
22
- typescript: "^5.1.6",
22
+ typescript: "^5.2.2",
23
23
  "unplugin-vue-markdown": "^0.24.3",
24
24
  "vike-vue": "^0.2.3",
25
25
  vite: "^4.4.9",
26
- "vite-plugin-ssr": "^0.4.140",
26
+ "vite-plugin-ssr": "^0.4.141",
27
27
  vue: "^3.3.4"
28
28
  };
29
29
  var dependencies = {
@@ -151,6 +151,18 @@
151
151
  "files"
152
152
  ]
153
153
  },
154
+ {
155
+ "config": {
156
+ "flag": "vercel",
157
+ "name": "Vercel",
158
+ "homepage": "https://vercel.com"
159
+ },
160
+ "folder": "@batijs/vercel",
161
+ "description": "",
162
+ "subfolders": [
163
+ "files"
164
+ ]
165
+ },
154
166
  {
155
167
  "config": {
156
168
  "flag": "vue",
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  consola
5
5
  } from "./chunk-chunk-HOVHXSZ5.js";
6
6
 
7
- // ../../node_modules/.pnpm/citty@0.1.3/node_modules/citty/dist/index.mjs
7
+ // ../../node_modules/.pnpm/citty@0.1.4/node_modules/citty/dist/index.mjs
8
8
  function toArray(val) {
9
9
  if (Array.isArray(val)) {
10
10
  return val;
@@ -287,30 +287,37 @@ async function runCommand(cmd, opts) {
287
287
  if (typeof cmd.setup === "function") {
288
288
  await cmd.setup(context);
289
289
  }
290
- const subCommands = await resolveValue(cmd.subCommands);
291
- if (subCommands && Object.keys(subCommands).length > 0) {
292
- const subCommandArgIndex = opts.rawArgs.findIndex(
293
- (arg) => !arg.startsWith("-")
294
- );
295
- const subCommandName = opts.rawArgs[subCommandArgIndex];
296
- if (!subCommandName && !cmd.run) {
297
- throw new CLIError(`No command specified.`, "E_NO_COMMAND");
298
- }
299
- if (!subCommands[subCommandName]) {
300
- throw new CLIError(
301
- `Unknown command \`${subCommandName}\``,
302
- "E_UNKNOWN_COMMAND"
290
+ try {
291
+ const subCommands = await resolveValue(cmd.subCommands);
292
+ if (subCommands && Object.keys(subCommands).length > 0) {
293
+ const subCommandArgIndex = opts.rawArgs.findIndex(
294
+ (arg) => !arg.startsWith("-")
303
295
  );
296
+ const subCommandName = opts.rawArgs[subCommandArgIndex];
297
+ if (subCommandName) {
298
+ if (!subCommands[subCommandName]) {
299
+ throw new CLIError(
300
+ `Unknown command \`${subCommandName}\``,
301
+ "E_UNKNOWN_COMMAND"
302
+ );
303
+ }
304
+ const subCommand = await resolveValue(subCommands[subCommandName]);
305
+ if (subCommand) {
306
+ await runCommand(subCommand, {
307
+ rawArgs: opts.rawArgs.slice(subCommandArgIndex + 1)
308
+ });
309
+ }
310
+ } else if (!cmd.run) {
311
+ throw new CLIError(`No command specified.`, "E_NO_COMMAND");
312
+ }
304
313
  }
305
- const subCommand = await resolveValue(subCommands[subCommandName]);
306
- if (subCommand) {
307
- await runCommand(subCommand, {
308
- rawArgs: opts.rawArgs.slice(subCommandArgIndex + 1)
309
- });
314
+ if (typeof cmd.run === "function") {
315
+ await cmd.run(context);
316
+ }
317
+ } finally {
318
+ if (typeof cmd.cleanup === "function") {
319
+ await cmd.cleanup(context);
310
320
  }
311
- }
312
- if (typeof cmd.run === "function") {
313
- await cmd.run(context);
314
321
  }
315
322
  }
316
323
  async function resolveSubCommand(cmd, rawArgs, parent) {
@@ -419,6 +426,12 @@ async function runMain(cmd, opts = {}) {
419
426
  if (rawArgs.includes("--help") || rawArgs.includes("-h")) {
420
427
  await showUsage(...await resolveSubCommand(cmd, rawArgs));
421
428
  process.exit(0);
429
+ } else if (rawArgs.length === 1 && rawArgs[0] === "--version") {
430
+ const meta = typeof cmd.meta === "function" ? await cmd.meta() : await cmd.meta;
431
+ if (!meta?.version) {
432
+ throw new CLIError("No version specified", "E_NO_VERSION");
433
+ }
434
+ consola.log(meta.version);
422
435
  } else {
423
436
  await runCommand(cmd, { rawArgs });
424
437
  }
@@ -437,8 +450,8 @@ async function runMain(cmd, opts = {}) {
437
450
 
438
451
  // ../build/dist/exec.js
439
452
  import { loadFile, renderSquirrelly, transformAstAndGenerate } from "@batijs/core";
440
- import { copyFile, mkdir, opendir, readFile, writeFile } from "fs/promises";
441
453
  import { existsSync } from "fs";
454
+ import { copyFile, mkdir, opendir, readFile, writeFile } from "fs/promises";
442
455
  import path from "path";
443
456
  var reIgnoreFile = /^(chunk-|asset-|#)/gi;
444
457
  var isWin = process.platform === "win32";
@@ -551,7 +564,7 @@ Please report this issue to https://github.com/magne4000/bati`
551
564
  // package.json
552
565
  var package_default = {
553
566
  name: "@batijs/cli",
554
- version: "0.0.69",
567
+ version: "0.0.72",
555
568
  type: "module",
556
569
  scripts: {
557
570
  prerelease: "rimraf ./dist",
@@ -569,7 +582,7 @@ var package_default = {
569
582
  "@batijs/tsup": "workspace:*",
570
583
  "@types/node": "^16.18.40",
571
584
  "@types/which": "^3.0.0",
572
- citty: "^0.1.3",
585
+ citty: "^0.1.4",
573
586
  colorette: "^2.0.20",
574
587
  esbuild: "^0.19.2",
575
588
  espree: "^9.6.1",
@@ -581,7 +594,7 @@ var package_default = {
581
594
  tsup: "^7.2.0",
582
595
  typescript: "^5.2.2",
583
596
  vite: "^4.4.9",
584
- vitest: "^0.34.3",
597
+ vitest: "^0.34.4",
585
598
  which: "^4.0.0"
586
599
  },
587
600
  dependencies: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.69",
3
+ "version": "0.0.72",
4
4
  "type": "module",
5
5
  "keywords": [],
6
6
  "description": "Next-gen scaffolder. Get started with fully-functional apps, and choose any tool you want",
@@ -10,7 +10,7 @@
10
10
  "devDependencies": {
11
11
  "@types/node": "^16.18.40",
12
12
  "@types/which": "^3.0.0",
13
- "citty": "^0.1.3",
13
+ "citty": "^0.1.4",
14
14
  "colorette": "^2.0.20",
15
15
  "esbuild": "^0.19.2",
16
16
  "espree": "^9.6.1",
@@ -22,13 +22,13 @@
22
22
  "tsup": "^7.2.0",
23
23
  "typescript": "^5.2.2",
24
24
  "vite": "^4.4.9",
25
- "vitest": "^0.34.3",
25
+ "vitest": "^0.34.4",
26
26
  "which": "^4.0.0",
27
- "@batijs/build": "0.0.69",
28
- "@batijs/tsup": "0.0.69"
27
+ "@batijs/build": "0.0.72",
28
+ "@batijs/tsup": "0.0.72"
29
29
  },
30
30
  "dependencies": {
31
- "@batijs/core": "0.0.69"
31
+ "@batijs/core": "0.0.72"
32
32
  },
33
33
  "bin": "./dist/index.js",
34
34
  "exports": {