@batijs/cli 0.0.23 → 0.0.25

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 (41) hide show
  1. package/README.md +3 -3
  2. package/dist/boilerplates/@batijs/edgedb/files/$package.json.js +1 -1
  3. package/dist/boilerplates/@batijs/edgedb/{package-O2FBEKFL.js → package-NAEM3YOJ.js} +5 -4
  4. package/dist/boilerplates/@batijs/express/files/$package.json.js +1 -1
  5. package/dist/boilerplates/@batijs/express/files/express-entry.ts +124 -124
  6. package/dist/boilerplates/@batijs/express/{package-LMTUVRVD.js → package-VWSKNQQS.js} +6 -5
  7. package/dist/boilerplates/@batijs/hattip/files/$package.json.js +1 -1
  8. package/dist/boilerplates/@batijs/hattip/files/hattip-entry.ts +88 -88
  9. package/dist/boilerplates/@batijs/hattip/{package-ZIL4YDFH.js → package-PAHNC63I.js} +8 -7
  10. package/dist/boilerplates/@batijs/prisma/files/$package.json.js +1 -1
  11. package/dist/boilerplates/@batijs/prisma/{package-BQMYX6U5.js → package-42T5MPMS.js} +4 -3
  12. package/dist/boilerplates/@batijs/shared/files/$index.html.js +19 -0
  13. package/dist/boilerplates/@batijs/shared/files/package.json +4 -3
  14. package/dist/boilerplates/@batijs/shared/files/tsconfig.json +18 -18
  15. package/dist/boilerplates/@batijs/shared/files/vite.config.ts +5 -5
  16. package/dist/boilerplates/@batijs/solid/files/$package.json.js +1 -1
  17. package/dist/boilerplates/@batijs/solid/files/assets/logo.svg +36 -36
  18. package/dist/boilerplates/@batijs/solid/files/components/Link.tsx +14 -14
  19. package/dist/boilerplates/@batijs/solid/files/layouts/HeadDefault.tsx +22 -22
  20. package/dist/boilerplates/@batijs/solid/files/layouts/LayoutDefault.tsx +87 -87
  21. package/dist/boilerplates/@batijs/solid/files/layouts/style.css +29 -29
  22. package/dist/boilerplates/@batijs/solid/files/pages/+config.ts +13 -13
  23. package/dist/boilerplates/@batijs/solid/files/pages/_error/+Page.tsx +18 -18
  24. package/dist/boilerplates/@batijs/solid/files/pages/index/+Page.tsx +21 -21
  25. package/dist/boilerplates/@batijs/solid/files/pages/index/Counter.tsx +18 -18
  26. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+Page.tsx +14 -14
  27. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/@id/+onBeforeRender.ts +27 -27
  28. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/filterMovieData.ts +11 -11
  29. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+Page.tsx +22 -22
  30. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/index/+onBeforeRender.ts +80 -80
  31. package/dist/boilerplates/@batijs/solid/files/pages/star-wars/types.ts +13 -13
  32. package/dist/boilerplates/@batijs/solid/{package-FCCXLXQM.js → package-DVZ6BETH.js} +5 -4
  33. package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
  34. package/dist/boilerplates/@batijs/tailwindcss/files/layouts/tailwind.css +2 -2
  35. package/dist/boilerplates/@batijs/tailwindcss/files/postcss.config.js +6 -6
  36. package/dist/boilerplates/@batijs/tailwindcss/files/tailwind.config.js +8 -8
  37. package/dist/boilerplates/@batijs/tailwindcss/{package-RQHE6P6I.js → package-7CSFX2AA.js} +3 -2
  38. package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
  39. package/dist/boilerplates/@batijs/telefunc/{package-KNRGQRR5.js → package-42IE3DIX.js} +4 -3
  40. package/dist/index.js +21 -11
  41. package/package.json +15 -12
@@ -1,11 +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
- }
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
+ }
@@ -1,22 +1,22 @@
1
- import { For } from "solid-js";
2
- import type { Movie } from "../types";
3
-
4
- export default function Page(props: { movies: Movie[] }) {
5
- return (
6
- <>
7
- <h1>Star Wars Movies</h1>
8
- <ol>
9
- <For each={props.movies}>
10
- {(movie, i) => (
11
- <li>
12
- <a href={`/star-wars/${movie.id}`}>{movie.title}</a> ({movie.release_date})
13
- </li>
14
- )}
15
- </For>
16
- </ol>
17
- <p>
18
- Source: <a href="https://star-wars.brillout.com">star-wars.brillout.com</a>.
19
- </p>
20
- </>
21
- );
22
- }
1
+ import { For } from "solid-js";
2
+ import type { Movie } from "../types";
3
+
4
+ export default function Page(props: { movies: Movie[] }) {
5
+ return (
6
+ <>
7
+ <h1>Star Wars Movies</h1>
8
+ <ol>
9
+ <For each={props.movies}>
10
+ {(movie, i) => (
11
+ <li>
12
+ <a href={`/star-wars/${movie.id}`}>{movie.title}</a> ({movie.release_date})
13
+ </li>
14
+ )}
15
+ </For>
16
+ </ol>
17
+ <p>
18
+ Source: <a href="https://star-wars.brillout.com">star-wars.brillout.com</a>.
19
+ </p>
20
+ </>
21
+ );
22
+ }
@@ -1,80 +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
- }
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
+ }
@@ -1,13 +1,13 @@
1
- export type Movie = {
2
- id: string;
3
- title: string;
4
- release_date: string;
5
- };
6
-
7
- export type MovieDetails = {
8
- id: string;
9
- title: string;
10
- release_date: string;
11
- director: string;
12
- producer: string;
13
- };
1
+ export type Movie = {
2
+ id: string;
3
+ title: string;
4
+ release_date: string;
5
+ };
6
+
7
+ export type MovieDetails = {
8
+ id: string;
9
+ title: string;
10
+ release_date: string;
11
+ director: string;
12
+ producer: string;
13
+ };
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/solid";
3
3
  var private2 = true;
4
- var version = "0.0.23";
4
+ var version = "0.0.25";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,11 +12,12 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.34",
15
+ "@types/node": "^16.18.36",
16
16
  "cross-fetch": "^3.1.6",
17
- "solid-js": "^1.7.5",
17
+ "solid-js": "^1.7.6",
18
18
  tailwindcss: "^3.3.2",
19
- typescript: "^5.0.4",
19
+ tsup: "^6.7.0",
20
+ typescript: "^5.1.3",
20
21
  "vike-solid": "^0.0.7",
21
22
  vite: "^4.3.9",
22
23
  "vite-plugin-solid": "^2.7.0",
@@ -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-RQHE6P6I.js"), {
5
+ return addDependency(packageJson, await import("../package-7CSFX2AA.js"), {
6
6
  devDependencies: ["tailwindcss", "postcss", "autoprefixer"]
7
7
  });
8
8
  }
@@ -1,3 +1,3 @@
1
- @tailwind base;
2
- @tailwind components;
1
+ @tailwind base;
2
+ @tailwind components;
3
3
  @tailwind utilities;
@@ -1,6 +1,6 @@
1
- export default {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
6
- }
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
@@ -1,8 +1,8 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- content: ["./{pages,layouts,components,src}/**/*.{html,js,jsx,ts,tsx}"],
4
- theme: {
5
- extend: {},
6
- },
7
- plugins: [],
8
- };
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: ["./{pages,layouts,components,src}/**/*.{html,js,jsx,ts,tsx}"],
4
+ theme: {
5
+ extend: {},
6
+ },
7
+ plugins: [],
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.23";
4
+ var version = "0.0.25";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,10 +12,11 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.34",
15
+ "@types/node": "^16.18.36",
16
16
  autoprefixer: "^10.4.14",
17
17
  postcss: "^8.4.24",
18
18
  tailwindcss: "^3.3.2",
19
+ tsup: "^6.7.0",
19
20
  vite: "^4.3.9",
20
21
  "vite-plugin-ssr": "^0.4.131"
21
22
  };
@@ -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-KNRGQRR5.js"), {
5
+ return addDependency(packageJson, await import("../package-42IE3DIX.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.23";
4
+ var version = "0.0.25";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,8 +12,9 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.34",
16
- telefunc: "^0.1.53",
15
+ "@types/node": "^16.18.36",
16
+ telefunc: "^0.1.55",
17
+ tsup: "^6.7.0",
17
18
  vite: "^4.3.9",
18
19
  "vite-plugin-ssr": "^0.4.131"
19
20
  };
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");
@@ -585,6 +586,8 @@ async function* walk(dir) {
585
586
  }
586
587
  }
587
588
  function transformFileAfterExec(filepath, fileContent) {
589
+ if (fileContent === void 0 || fileContent === null)
590
+ return null;
588
591
  const parsed = path.parse(filepath);
589
592
  const ext = parsed.ext || parsed.name;
590
593
  switch (ext) {
@@ -593,6 +596,7 @@ function transformFileAfterExec(filepath, fileContent) {
593
596
  case ".tsx":
594
597
  case ".jsx":
595
598
  case ".env":
599
+ case ".html":
596
600
  return fileContent;
597
601
  case ".json":
598
602
  return JSON.stringify(fileContent, null, 2);
@@ -619,7 +623,8 @@ async function main(options, meta) {
619
623
  Please report this issue to https://github.com/magne4000/bati`
620
624
  );
621
625
  } else if (parsed.name.startsWith("$") && parsed.ext.match(/\.jsx?$/)) {
622
- const f = await import(p);
626
+ const importFile = isWin ? "file://" + p : p;
627
+ const f = await import(importFile);
623
628
  const fileContent = transformFileAfterExec(
624
629
  target,
625
630
  await f.default(targets.has(target) ? () => readFile(target, { encoding: "utf-8" }) : void 0, meta)
@@ -648,14 +653,14 @@ Please report this issue to https://github.com/magne4000/bati`
648
653
  // package.json
649
654
  var package_default = {
650
655
  name: "@batijs/cli",
651
- version: "0.0.23",
656
+ version: "0.0.25",
652
657
  description: "Scaffold typescript projects with ease and modularity",
653
658
  type: "module",
654
659
  scripts: {
655
- prerelease: "rm -rf ./dist",
660
+ prerelease: "rimraf ./dist",
656
661
  prepublishOnly: "pnpm run build",
657
662
  test: "pnpm run build && vitest run --test-timeout=50000",
658
- build: "rm -rf dist && tsup"
663
+ build: "rimraf ./dist && tsup"
659
664
  },
660
665
  keywords: [],
661
666
  author: "",
@@ -663,17 +668,20 @@ var package_default = {
663
668
  devDependencies: {
664
669
  "@batijs/build": "workspace:*",
665
670
  "@batijs/tsup": "workspace:*",
666
- "@types/node": "^16.18.34",
671
+ "@types/node": "^16.18.36",
667
672
  citty: "^0.1.1",
668
673
  colorette: "^2.0.20",
669
- esbuild: "^0.17.19",
674
+ esbuild: "^0.18.2",
670
675
  espree: "^9.5.2",
671
676
  execa: "^7.1.1",
672
- "get-port": "^6.1.2",
677
+ "get-port": "^7.0.0",
673
678
  "node-fetch": "^3.3.1",
674
- typescript: "^5.0.4",
675
- vitest: "^0.31.2",
676
- "wait-for-localhost": "^4.0.1"
679
+ rimraf: "^5.0.1",
680
+ "tree-kill": "^1.2.2",
681
+ tsup: "^6.7.0",
682
+ typescript: "^5.1.3",
683
+ vite: "^4.3.9",
684
+ vitest: "^0.32.0"
677
685
  },
678
686
  dependencies: {
679
687
  "@batijs/core": "workspace:*"
@@ -819,6 +827,7 @@ var {
819
827
  // index.ts
820
828
  var __filename = fileURLToPath(import.meta.url);
821
829
  var __dirname = dirname(__filename);
830
+ var isWin2 = process.platform === "win32";
822
831
  function boilerplatesDir() {
823
832
  if (existsSync2(join(__dirname, "boilerplates", "boilerplates.json"))) {
824
833
  return join(__dirname, "boilerplates");
@@ -923,12 +932,13 @@ async function retrieveHooks(hooks) {
923
932
  for (const hook of hooks) {
924
933
  for await (const file of walk(hook)) {
925
934
  const parsed = parse(file);
935
+ const importFile = isWin2 ? "file://" + file : file;
926
936
  switch (parsed.name) {
927
937
  case "cli":
928
938
  if (!map.has("cli")) {
929
939
  map.set("cli", []);
930
940
  }
931
- map.get("cli").push((await import(file)).default);
941
+ map.get("cli").push((await import(importFile)).default);
932
942
  break;
933
943
  default:
934
944
  throw new Error(`Unsupported hook ${parsed.name}`);
package/package.json CHANGED
@@ -1,28 +1,31 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "Scaffold typescript projects with ease and modularity",
5
5
  "type": "module",
6
6
  "keywords": [],
7
7
  "author": "",
8
8
  "license": "MIT",
9
9
  "devDependencies": {
10
- "@types/node": "^16.18.34",
10
+ "@types/node": "^16.18.36",
11
11
  "citty": "^0.1.1",
12
12
  "colorette": "^2.0.20",
13
- "esbuild": "^0.17.19",
13
+ "esbuild": "^0.18.2",
14
14
  "espree": "^9.5.2",
15
15
  "execa": "^7.1.1",
16
- "get-port": "^6.1.2",
16
+ "get-port": "^7.0.0",
17
17
  "node-fetch": "^3.3.1",
18
- "typescript": "^5.0.4",
19
- "vitest": "^0.31.2",
20
- "wait-for-localhost": "^4.0.1",
21
- "@batijs/build": "0.0.23",
22
- "@batijs/tsup": "0.0.23"
18
+ "rimraf": "^5.0.1",
19
+ "tree-kill": "^1.2.2",
20
+ "tsup": "^6.7.0",
21
+ "typescript": "^5.1.3",
22
+ "vite": "^4.3.9",
23
+ "vitest": "^0.32.0",
24
+ "@batijs/build": "0.0.25",
25
+ "@batijs/tsup": "0.0.25"
23
26
  },
24
27
  "dependencies": {
25
- "@batijs/core": "0.0.23"
28
+ "@batijs/core": "0.0.25"
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": "rm -rf ./dist",
45
+ "prerelease": "rimraf ./dist",
43
46
  "test": "pnpm run build && vitest run --test-timeout=50000",
44
- "build": "rm -rf dist && tsup"
47
+ "build": "rimraf ./dist && tsup"
45
48
  }
46
49
  }