@batijs/cli 0.0.19 → 0.0.21

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 (51) hide show
  1. package/dist/boilerplates/@batijs/edgedb/{$package.json.js → files/$package.json.js} +1 -1
  2. package/dist/boilerplates/@batijs/edgedb/hooks/cli.js +138 -0
  3. package/dist/boilerplates/@batijs/edgedb/{chunk-package-6XVB2UQ4.js → package-DZIHWI7X.js} +5 -5
  4. package/dist/boilerplates/@batijs/express/{$package.json.js → files/$package.json.js} +1 -1
  5. package/dist/boilerplates/@batijs/express/{chunk-package-PV3SP4BH.js → package-5NSRHQZE.js} +5 -6
  6. package/dist/boilerplates/@batijs/hattip/{$package.json.js → files/$package.json.js} +1 -1
  7. package/dist/boilerplates/@batijs/hattip/{chunk-package-IIUDDCIK.js → package-I7NBEJSY.js} +5 -6
  8. package/dist/boilerplates/@batijs/prisma/{$package.json.js → files/$package.json.js} +1 -1
  9. package/dist/boilerplates/@batijs/prisma/{chunk-package-GV2AUFEK.js → package-IVG3TSGJ.js} +5 -6
  10. package/dist/boilerplates/@batijs/shared/{package.json → files/package.json} +1 -1
  11. package/dist/boilerplates/@batijs/solid/{$package.json.js → files/$package.json.js} +1 -1
  12. package/dist/boilerplates/@batijs/solid/files/layouts/HeadDefault.tsx +22 -0
  13. package/dist/boilerplates/@batijs/solid/{pages → files/pages}/+config.ts +2 -0
  14. package/dist/boilerplates/@batijs/solid/{chunk-package-R2WSGRDQ.js → package-FSC2U4BR.js} +6 -7
  15. package/dist/boilerplates/@batijs/tailwindcss/{$package.json.js → files/$package.json.js} +1 -1
  16. package/dist/boilerplates/@batijs/tailwindcss/{chunk-package-JW467NB7.js → package-7RHE2T2L.js} +6 -7
  17. package/dist/boilerplates/@batijs/telefunc/{$package.json.js → files/$package.json.js} +1 -1
  18. package/dist/boilerplates/@batijs/telefunc/{chunk-package-EACKTJ7X.js → package-DPE77NEB.js} +5 -6
  19. package/dist/boilerplates/boilerplates.json +115 -1
  20. package/dist/index.js +57 -21
  21. package/package.json +7 -7
  22. package/dist/boilerplates/@batijs/edgedb/dbschema/default.esdl +0 -3
  23. package/dist/boilerplates/@batijs/edgedb/dbschema/futures.esdl +0 -4
  24. package/dist/boilerplates/@batijs/edgedb/dbschema/migrations/.gitkeep +0 -0
  25. package/dist/boilerplates/@batijs/edgedb/edgedb.toml +0 -2
  26. /package/dist/boilerplates/@batijs/express/{express-entry.ts → files/express-entry.ts} +0 -0
  27. /package/dist/boilerplates/@batijs/hattip/{$vite.config.ts.js → files/$vite.config.ts.js} +0 -0
  28. /package/dist/boilerplates/@batijs/hattip/{hattip-entry.ts → files/hattip-entry.ts} +0 -0
  29. /package/dist/boilerplates/@batijs/prisma/{$.env.js → files/$.env.js} +0 -0
  30. /package/dist/boilerplates/@batijs/prisma/{prisma → files/prisma}/schema.prisma +0 -0
  31. /package/dist/boilerplates/@batijs/shared/{tsconfig.json → files/tsconfig.json} +0 -0
  32. /package/dist/boilerplates/@batijs/shared/{vite.config.ts → files/vite.config.ts} +0 -0
  33. /package/dist/boilerplates/@batijs/solid/{$tsconfig.json.js → files/$tsconfig.json.js} +0 -0
  34. /package/dist/boilerplates/@batijs/solid/{$vite.config.ts.js → files/$vite.config.ts.js} +0 -0
  35. /package/dist/boilerplates/@batijs/solid/{assets → files/assets}/logo.svg +0 -0
  36. /package/dist/boilerplates/@batijs/solid/{components → files/components}/Link.tsx +0 -0
  37. /package/dist/boilerplates/@batijs/solid/{layouts → files/layouts}/LayoutDefault.tsx +0 -0
  38. /package/dist/boilerplates/@batijs/solid/{layouts → files/layouts}/style.css +0 -0
  39. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/_error/+Page.tsx +0 -0
  40. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/index/+Page.tsx +0 -0
  41. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/index/Counter.tsx +0 -0
  42. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/@id/+Page.tsx +0 -0
  43. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/@id/+onBeforeRender.ts +0 -0
  44. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/filterMovieData.ts +0 -0
  45. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/index/+Page.tsx +0 -0
  46. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/index/+onBeforeRender.ts +0 -0
  47. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/types.ts +0 -0
  48. /package/dist/boilerplates/@batijs/tailwindcss/{layouts → files/layouts}/tailwind.css +0 -0
  49. /package/dist/boilerplates/@batijs/tailwindcss/{postcss.config.js → files/postcss.config.js} +0 -0
  50. /package/dist/boilerplates/@batijs/tailwindcss/{tailwind.config.js → files/tailwind.config.js} +0 -0
  51. /package/dist/boilerplates/@batijs/telefunc/{$vite.config.ts.js → files/$vite.config.ts.js} +0 -0
@@ -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("./chunk-package-6XVB2UQ4.js"), {
7
+ return addDependency(packageJson, await import("../package-DZIHWI7X.js"), {
8
8
  devDependencies: ["@edgedb/generate"],
9
9
  dependencies: ["edgedb"]
10
10
  });
@@ -0,0 +1,138 @@
1
+ // hooks/cli.ts
2
+ import { which, withIcon } from "@batijs/core";
3
+
4
+ // ../../../node_modules/.pnpm/colorette@2.0.20/node_modules/colorette/index.js
5
+ import * as tty from "tty";
6
+ var {
7
+ env = {},
8
+ argv = [],
9
+ platform = ""
10
+ } = typeof process === "undefined" ? {} : process;
11
+ var isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
12
+ var isForced = "FORCE_COLOR" in env || argv.includes("--color");
13
+ var isWindows = platform === "win32";
14
+ var isDumbTerminal = env.TERM === "dumb";
15
+ var isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;
16
+ var isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
17
+ var isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);
18
+ var replaceClose = (index, string, close, replace, head = string.substring(0, index) + replace, tail = string.substring(index + close.length), next = tail.indexOf(close)) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
19
+ var clearBleed = (index, string, open, close, replace) => index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;
20
+ var filterEmpty = (open, close, replace = open, at = open.length + 1) => (string) => string || !(string === "" || string === void 0) ? clearBleed(
21
+ ("" + string).indexOf(close, at),
22
+ string,
23
+ open,
24
+ close,
25
+ replace
26
+ ) : "";
27
+ var init = (open, close, replace) => filterEmpty(`\x1B[${open}m`, `\x1B[${close}m`, replace);
28
+ var colors = {
29
+ reset: init(0, 0),
30
+ bold: init(1, 22, "\x1B[22m\x1B[1m"),
31
+ dim: init(2, 22, "\x1B[22m\x1B[2m"),
32
+ italic: init(3, 23),
33
+ underline: init(4, 24),
34
+ inverse: init(7, 27),
35
+ hidden: init(8, 28),
36
+ strikethrough: init(9, 29),
37
+ black: init(30, 39),
38
+ red: init(31, 39),
39
+ green: init(32, 39),
40
+ yellow: init(33, 39),
41
+ blue: init(34, 39),
42
+ magenta: init(35, 39),
43
+ cyan: init(36, 39),
44
+ white: init(37, 39),
45
+ gray: init(90, 39),
46
+ bgBlack: init(40, 49),
47
+ bgRed: init(41, 49),
48
+ bgGreen: init(42, 49),
49
+ bgYellow: init(43, 49),
50
+ bgBlue: init(44, 49),
51
+ bgMagenta: init(45, 49),
52
+ bgCyan: init(46, 49),
53
+ bgWhite: init(47, 49),
54
+ blackBright: init(90, 39),
55
+ redBright: init(91, 39),
56
+ greenBright: init(92, 39),
57
+ yellowBright: init(93, 39),
58
+ blueBright: init(94, 39),
59
+ magentaBright: init(95, 39),
60
+ cyanBright: init(96, 39),
61
+ whiteBright: init(97, 39),
62
+ bgBlackBright: init(100, 49),
63
+ bgRedBright: init(101, 49),
64
+ bgGreenBright: init(102, 49),
65
+ bgYellowBright: init(103, 49),
66
+ bgBlueBright: init(104, 49),
67
+ bgMagentaBright: init(105, 49),
68
+ bgCyanBright: init(106, 49),
69
+ bgWhiteBright: init(107, 49)
70
+ };
71
+ var createColors = ({ useColor = isColorSupported } = {}) => useColor ? colors : Object.keys(colors).reduce(
72
+ (colors2, key) => ({ ...colors2, [key]: String }),
73
+ {}
74
+ );
75
+ var {
76
+ reset,
77
+ bold,
78
+ dim,
79
+ italic,
80
+ underline,
81
+ inverse,
82
+ hidden,
83
+ strikethrough,
84
+ black,
85
+ red,
86
+ green,
87
+ yellow,
88
+ blue,
89
+ magenta,
90
+ cyan,
91
+ white,
92
+ gray,
93
+ bgBlack,
94
+ bgRed,
95
+ bgGreen,
96
+ bgYellow,
97
+ bgBlue,
98
+ bgMagenta,
99
+ bgCyan,
100
+ bgWhite,
101
+ blackBright,
102
+ redBright,
103
+ greenBright,
104
+ yellowBright,
105
+ blueBright,
106
+ magentaBright,
107
+ cyanBright,
108
+ whiteBright,
109
+ bgBlackBright,
110
+ bgRedBright,
111
+ bgGreenBright,
112
+ bgYellowBright,
113
+ bgBlueBright,
114
+ bgMagentaBright,
115
+ bgCyanBright,
116
+ bgWhiteBright
117
+ } = createColors();
118
+
119
+ // hooks/cli.ts
120
+ function oncli() {
121
+ const found = which.sync("edgedb", { nothrow: true });
122
+ const arrow0 = withIcon("\u2192", blueBright);
123
+ const dot1 = withIcon("\u2022", blueBright, 1);
124
+ const cmd3 = withIcon("$", gray, 3);
125
+ console.log("\n" + bold(arrow0(`Next steps: ${underline("EdgeDB")}`)));
126
+ if (found === null) {
127
+ console.log(dim(dot1(`${yellowBright("edgedb")} command not found`)));
128
+ console.log(cmd3("curl https://sh.edgedb.com --proto '=https' -sSf1 | sh"));
129
+ } else {
130
+ console.log(dim(dot1(`${greenBright("edgedb")} command found at ${cyanBright(found)}`)));
131
+ }
132
+ console.log(dim(dot1(`initialize a project`)));
133
+ console.log(cmd3("edgedb project init"));
134
+ console.log(dim(dot1("then follow instructions at https://www.edgedb.com/docs/intro/quickstart#set-up-your-schema")));
135
+ }
136
+ export {
137
+ oncli as default
138
+ };
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/edgedb";
3
3
  var private2 = true;
4
- var version = "0.0.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -13,8 +13,9 @@ var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
15
  "@edgedb/generate": "^0.1.1",
16
- "@prisma/client": "^4.14.0",
17
- "@types/node": "^16.18.27",
16
+ "@prisma/client": "^4.15.0",
17
+ "@types/node": "^16.18.34",
18
+ colorette: "^2.0.20",
18
19
  edgedb: "^1.2.2"
19
20
  };
20
21
  var dependencies = {
@@ -26,8 +27,7 @@ var files = [
26
27
  var bati = {
27
28
  flag: "edgedb",
28
29
  name: "EdgeDB",
29
- homepage: "https://www.edgedb.com",
30
- boilerplate: "./dist/files"
30
+ homepage: "https://www.edgedb.com"
31
31
  };
32
32
  var package_default = {
33
33
  name,
@@ -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("./chunk-package-PV3SP4BH.js"), {
7
+ return addDependency(packageJson, await import("../package-5NSRHQZE.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.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -15,13 +15,13 @@ var devDependencies = {
15
15
  "@batijs/tsup": "workspace:*",
16
16
  "@hattip/adapter-node": "^0.0.33",
17
17
  "@types/express": "^4.17.17",
18
- "@types/node": "^16.18.27",
18
+ "@types/node": "^16.18.34",
19
19
  express: "^4.18.2",
20
20
  telefunc: "^0.1.53",
21
21
  tsx: "^3.12.7",
22
22
  "vike-authjs": "^0.0.2",
23
- vite: "^4.3.5",
24
- "vite-plugin-ssr": "^0.4.123"
23
+ vite: "^4.3.9",
24
+ "vite-plugin-ssr": "^0.4.131"
25
25
  };
26
26
  var dependencies = {
27
27
  "@batijs/core": "workspace:*"
@@ -32,8 +32,7 @@ var files = [
32
32
  var bati = {
33
33
  flag: "express",
34
34
  name: "Express",
35
- homepage: "https://expressjs.com",
36
- boilerplate: "./dist/files"
35
+ homepage: "https://expressjs.com"
37
36
  };
38
37
  var package_default = {
39
38
  name,
@@ -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("./chunk-package-IIUDDCIK.js"), {
10
+ return addDependency(packageJson, await import("../package-I7NBEJSY.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.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -16,12 +16,12 @@ var devDependencies = {
16
16
  "@hattip/adapter-node": "^0.0.33",
17
17
  "@hattip/router": "^0.0.33",
18
18
  "@hattip/vite": "^0.0.33",
19
- "@types/node": "^16.18.27",
19
+ "@types/node": "^16.18.34",
20
20
  hattip: "^0.0.33",
21
21
  telefunc: "^0.1.53",
22
22
  "vike-authjs": "^0.0.2",
23
- vite: "^4.3.5",
24
- "vite-plugin-ssr": "^0.4.123"
23
+ vite: "^4.3.9",
24
+ "vite-plugin-ssr": "^0.4.131"
25
25
  };
26
26
  var dependencies = {
27
27
  "@batijs/core": "workspace:*"
@@ -32,8 +32,7 @@ var files = [
32
32
  var bati = {
33
33
  flag: "hattip",
34
34
  name: "Hattip",
35
- homepage: "https://github.com/hattipjs/hattip",
36
- boilerplate: "./dist/files"
35
+ homepage: "https://github.com/hattipjs/hattip"
37
36
  };
38
37
  var package_default = {
39
38
  name,
@@ -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("./chunk-package-GV2AUFEK.js"), {
5
+ return addDependency(packageJson, await import("../package-IVG3TSGJ.js"), {
6
6
  devDependencies: ["prisma"],
7
7
  dependencies: ["@prisma/client"]
8
8
  });
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/prisma";
3
3
  var private2 = true;
4
- var version = "0.0.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,9 +12,9 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@prisma/client": "^4.14.0",
16
- "@types/node": "^16.18.27",
17
- prisma: "^4.14.0"
15
+ "@prisma/client": "^4.15.0",
16
+ "@types/node": "^16.18.34",
17
+ prisma: "^4.15.0"
18
18
  };
19
19
  var dependencies = {
20
20
  "@batijs/core": "workspace:*"
@@ -25,8 +25,7 @@ var files = [
25
25
  var bati = {
26
26
  flag: "prisma",
27
27
  name: "Prisma",
28
- homepage: "https://www.prisma.io",
29
- boilerplate: "./dist/files"
28
+ homepage: "https://www.prisma.io"
30
29
  };
31
30
  var package_default = {
32
31
  name,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-app",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "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("./chunk-package-R2WSGRDQ.js"), {
5
+ return addDependency(packageJson, await import("../package-FSC2U4BR.js"), {
6
6
  devDependencies: ["vite"],
7
7
  dependencies: ["cross-fetch", "solid-js", "vike-solid"]
8
8
  });
@@ -0,0 +1,22 @@
1
+ // Default <head> (can be overriden by pages)
2
+
3
+ import logoUrl from "../assets/logo.svg";
4
+
5
+ export default function HeadDefault() {
6
+ if (import.meta.BATI_MODULES?.includes("analytics:plausible.io")) {
7
+ return (
8
+ <>
9
+ <link rel="icon" href={logoUrl} />
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
+ <link rel="icon" href={logoUrl} />
19
+ </>
20
+ );
21
+ }
22
+ }
@@ -1,9 +1,11 @@
1
1
  import type { Config } from "vike-solid";
2
2
  import Layout from "../layouts/LayoutDefault";
3
+ import Head from "../layouts/HeadDefault";
3
4
 
4
5
  // Default config (can be overriden by pages)
5
6
  export default {
6
7
  Layout,
8
+ Head,
7
9
  // <title>
8
10
  title: "My Vike App",
9
11
  // <meta name="description">
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/solid";
3
3
  var private2 = true;
4
- var version = "0.0.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,15 +12,15 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.27",
16
- "cross-fetch": "^3.1.5",
15
+ "@types/node": "^16.18.34",
16
+ "cross-fetch": "^3.1.6",
17
17
  "solid-js": "^1.7.5",
18
18
  tailwindcss: "^3.3.2",
19
19
  typescript: "^5.0.4",
20
20
  "vike-solid": "^0.0.7",
21
- vite: "^4.3.5",
21
+ vite: "^4.3.9",
22
22
  "vite-plugin-solid": "^2.7.0",
23
- "vite-plugin-ssr": "^0.4.123"
23
+ "vite-plugin-ssr": "^0.4.131"
24
24
  };
25
25
  var dependencies = {
26
26
  "@batijs/core": "workspace:*"
@@ -31,8 +31,7 @@ var files = [
31
31
  var bati = {
32
32
  flag: "solid",
33
33
  name: "SolidJS",
34
- homepage: "https://www.solidjs.com",
35
- boilerplate: "./dist/files"
34
+ homepage: "https://www.solidjs.com"
36
35
  };
37
36
  var package_default = {
38
37
  name,
@@ -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("./chunk-package-JW467NB7.js"), {
5
+ return addDependency(packageJson, await import("../package-7RHE2T2L.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.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,12 +12,12 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.27",
15
+ "@types/node": "^16.18.34",
16
16
  autoprefixer: "^10.4.14",
17
- postcss: "^8.4.23",
17
+ postcss: "^8.4.24",
18
18
  tailwindcss: "^3.3.2",
19
- vite: "^4.3.5",
20
- "vite-plugin-ssr": "^0.4.123"
19
+ vite: "^4.3.9",
20
+ "vite-plugin-ssr": "^0.4.131"
21
21
  };
22
22
  var dependencies = {
23
23
  "@batijs/core": "workspace:*"
@@ -28,8 +28,7 @@ var files = [
28
28
  var bati = {
29
29
  flag: "tailwindcss",
30
30
  name: "TailwindCSS",
31
- homepage: "https://tailwindcss.com",
32
- boilerplate: "./dist/files"
31
+ homepage: "https://tailwindcss.com"
33
32
  };
34
33
  var package_default = {
35
34
  name,
@@ -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("./chunk-package-EACKTJ7X.js"), {
5
+ return addDependency(packageJson, await import("../package-DPE77NEB.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.19";
4
+ var version = "0.0.21";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -12,10 +12,10 @@ var author = "";
12
12
  var license = "MIT";
13
13
  var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
- "@types/node": "^16.18.27",
15
+ "@types/node": "^16.18.34",
16
16
  telefunc: "^0.1.53",
17
- vite: "^4.3.5",
18
- "vite-plugin-ssr": "^0.4.123"
17
+ vite: "^4.3.9",
18
+ "vite-plugin-ssr": "^0.4.131"
19
19
  };
20
20
  var dependencies = {
21
21
  "@batijs/core": "workspace:*"
@@ -26,8 +26,7 @@ var files = [
26
26
  var bati = {
27
27
  flag: "telefunc",
28
28
  name: "Telefunc",
29
- homepage: "https://telefunc.com",
30
- boilerplate: "./dist/files"
29
+ homepage: "https://telefunc.com"
31
30
  };
32
31
  var package_default = {
33
32
  name,
@@ -1 +1,115 @@
1
- [{"config":{"flag":"authjs","name":"Auth.js","homepage":"https://authjs.dev"},"folder":"@batijs/authjs","description":""},{"config":{"flag":"edgedb","name":"EdgeDB","homepage":"https://www.edgedb.com","boilerplate":"./dist/files"},"folder":"@batijs/edgedb","description":""},{"config":{"flag":"express","name":"Express","homepage":"https://expressjs.com","boilerplate":"./dist/files"},"folder":"@batijs/express","description":""},{"config":{"flag":"hattip","name":"Hattip","homepage":"https://github.com/hattipjs/hattip","boilerplate":"./dist/files"},"folder":"@batijs/hattip","description":""},{"config":{"flag":"prisma","name":"Prisma","homepage":"https://www.prisma.io","boilerplate":"./dist/files"},"folder":"@batijs/prisma","description":""},{"config":{"boilerplate":"./files"},"folder":"@batijs/shared","description":""},{"config":{"flag":"solid","name":"SolidJS","homepage":"https://www.solidjs.com","boilerplate":"./dist/files"},"folder":"@batijs/solid","description":""},{"config":{"flag":"tailwindcss","name":"TailwindCSS","homepage":"https://tailwindcss.com","boilerplate":"./dist/files"},"folder":"@batijs/tailwindcss","description":""},{"config":{"flag":"telefunc","name":"Telefunc","homepage":"https://telefunc.com","boilerplate":"./dist/files"},"folder":"@batijs/telefunc","description":""}]
1
+ [
2
+ {
3
+ "config": {
4
+ "flag": "authjs",
5
+ "name": "Auth.js",
6
+ "homepage": "https://authjs.dev"
7
+ },
8
+ "folder": "@batijs/authjs",
9
+ "description": "",
10
+ "subfolders": []
11
+ },
12
+ {
13
+ "config": {
14
+ "flag": "edgedb",
15
+ "name": "EdgeDB",
16
+ "homepage": "https://www.edgedb.com"
17
+ },
18
+ "folder": "@batijs/edgedb",
19
+ "description": "",
20
+ "subfolders": [
21
+ "files",
22
+ "hooks"
23
+ ]
24
+ },
25
+ {
26
+ "config": {
27
+ "flag": "express",
28
+ "name": "Express",
29
+ "homepage": "https://expressjs.com"
30
+ },
31
+ "folder": "@batijs/express",
32
+ "description": "",
33
+ "subfolders": [
34
+ "files"
35
+ ]
36
+ },
37
+ {
38
+ "config": {
39
+ "flag": "hattip",
40
+ "name": "Hattip",
41
+ "homepage": "https://github.com/hattipjs/hattip"
42
+ },
43
+ "folder": "@batijs/hattip",
44
+ "description": "",
45
+ "subfolders": [
46
+ "files"
47
+ ]
48
+ },
49
+ {
50
+ "config": {
51
+ "flag": "plausible.io",
52
+ "name": "Plausible Analytics",
53
+ "homepage": "https://plausible.io"
54
+ },
55
+ "folder": "@batijs/plausible.io",
56
+ "description": "",
57
+ "subfolders": []
58
+ },
59
+ {
60
+ "config": {
61
+ "flag": "prisma",
62
+ "name": "Prisma",
63
+ "homepage": "https://www.prisma.io"
64
+ },
65
+ "folder": "@batijs/prisma",
66
+ "description": "",
67
+ "subfolders": [
68
+ "files"
69
+ ]
70
+ },
71
+ {
72
+ "config": {},
73
+ "folder": "@batijs/shared",
74
+ "description": "",
75
+ "subfolders": [
76
+ "files"
77
+ ]
78
+ },
79
+ {
80
+ "config": {
81
+ "flag": "solid",
82
+ "name": "SolidJS",
83
+ "homepage": "https://www.solidjs.com"
84
+ },
85
+ "folder": "@batijs/solid",
86
+ "description": "",
87
+ "subfolders": [
88
+ "files"
89
+ ]
90
+ },
91
+ {
92
+ "config": {
93
+ "flag": "tailwindcss",
94
+ "name": "TailwindCSS",
95
+ "homepage": "https://tailwindcss.com"
96
+ },
97
+ "folder": "@batijs/tailwindcss",
98
+ "description": "",
99
+ "subfolders": [
100
+ "files"
101
+ ]
102
+ },
103
+ {
104
+ "config": {
105
+ "flag": "telefunc",
106
+ "name": "Telefunc",
107
+ "homepage": "https://telefunc.com"
108
+ },
109
+ "folder": "@batijs/telefunc",
110
+ "description": "",
111
+ "subfolders": [
112
+ "files"
113
+ ]
114
+ }
115
+ ]
package/dist/index.js CHANGED
@@ -573,13 +573,13 @@ async function safeWriteFile(destination, content) {
573
573
  });
574
574
  await writeFile(destination, content, { encoding: "utf-8" });
575
575
  }
576
- async function* walk(dir, meta) {
576
+ async function* walk(dir) {
577
577
  if (!existsSync(dir))
578
578
  return;
579
579
  for await (const d of await opendir(dir)) {
580
580
  const entry = path.join(dir, d.name);
581
581
  if (d.isDirectory()) {
582
- yield* walk(entry, meta);
582
+ yield* walk(entry);
583
583
  } else if (d.isFile())
584
584
  yield entry;
585
585
  }
@@ -608,7 +608,7 @@ async function main(options, meta) {
608
608
  const sources = Array.isArray(options.source) ? options.source : [options.source];
609
609
  const targets = /* @__PURE__ */ new Set();
610
610
  for (const source of sources) {
611
- for await (const p of walk(source, meta)) {
611
+ for await (const p of walk(source)) {
612
612
  const target = toDist(p, source, options.dist);
613
613
  const parsed = path.parse(p);
614
614
  if (parsed.name.match(reIgnoreFile)) {
@@ -648,7 +648,7 @@ Please report this issue to https://github.com/magne4000/bati`
648
648
  // package.json
649
649
  var package_default = {
650
650
  name: "@batijs/cli",
651
- version: "0.0.19",
651
+ version: "0.0.21",
652
652
  description: "Scaffold typescript projects with ease and modularity",
653
653
  type: "module",
654
654
  scripts: {
@@ -663,16 +663,16 @@ var package_default = {
663
663
  devDependencies: {
664
664
  "@batijs/build": "workspace:*",
665
665
  "@batijs/tsup": "workspace:*",
666
- "@types/node": "^16.18.27",
666
+ "@types/node": "^16.18.34",
667
667
  citty: "^0.1.1",
668
668
  colorette: "^2.0.20",
669
- esbuild: "^0.17.18",
669
+ esbuild: "^0.17.19",
670
670
  espree: "^9.5.2",
671
671
  execa: "^7.1.1",
672
672
  "get-port": "^6.1.2",
673
673
  "node-fetch": "^3.3.1",
674
674
  typescript: "^5.0.4",
675
- vitest: "^0.31.0",
675
+ vitest: "^0.31.2",
676
676
  "wait-for-localhost": "^4.0.1"
677
677
  },
678
678
  dependencies: {
@@ -695,10 +695,10 @@ var package_default = {
695
695
  };
696
696
 
697
697
  // index.ts
698
- import { flags as coreFlags } from "@batijs/core";
698
+ import { flags as coreFlags, withIcon } from "@batijs/core";
699
699
  import { existsSync as existsSync2 } from "fs";
700
700
  import { fileURLToPath } from "url";
701
- import { dirname, join } from "path";
701
+ import { dirname, join, parse } from "path";
702
702
  import { access, constants, lstat, readdir, readFile as readFile2 } from "fs/promises";
703
703
 
704
704
  // ../../node_modules/.pnpm/colorette@2.0.20/node_modules/colorette/index.js
@@ -854,18 +854,21 @@ function findDescription(key, boilerplates) {
854
854
  }
855
855
  }
856
856
  function printOK(dist, flags, boilerplates) {
857
+ const arrow0 = withIcon("\u2192", blueBright2);
858
+ const list3 = withIcon("-", void 0, 3);
859
+ const cmd3 = withIcon("$", gray2, 3);
857
860
  console.log(bold2(`${green2("\u2713")} Project created at ${cyan2(dist)} with:`));
858
- console.log(` - ${green2("Typescript")}`);
861
+ console.log(list3(green2("Typescript")));
859
862
  for (const key of flags) {
860
863
  const bl = boilerplates.find((b) => b.config.flag === key);
861
864
  if (!bl || !bl.config.name)
862
865
  continue;
863
- console.log(` - ${green2(bl.config.name)}`);
866
+ console.log(list3(green2(bl.config.name)));
864
867
  }
865
- console.log("\n" + bold2(`${blue2("\u2192")} Next steps:`));
866
- console.log(` ${gray2("$")} cd ${dist}`);
867
- console.log(` ${gray2("$")} pnpm install`);
868
- console.log(` ${gray2("$")} pnpm run dev`);
868
+ console.log("\n" + bold2(arrow0("Next steps:")));
869
+ console.log(cmd3(`cd ${dist}`));
870
+ console.log(cmd3("pnpm install"));
871
+ console.log(cmd3("pnpm run dev"));
869
872
  }
870
873
  var defaultDef = {
871
874
  project: {
@@ -915,6 +918,25 @@ async function checkArguments(args) {
915
918
  }
916
919
  }
917
920
  }
921
+ async function retrieveHooks(hooks) {
922
+ const map = /* @__PURE__ */ new Map();
923
+ for (const hook of hooks) {
924
+ for await (const file of walk(hook)) {
925
+ const parsed = parse(file);
926
+ switch (parsed.name) {
927
+ case "cli":
928
+ if (!map.has("cli")) {
929
+ map.set("cli", []);
930
+ }
931
+ map.get("cli").push((await import(file)).default);
932
+ break;
933
+ default:
934
+ throw new Error(`Unsupported hook ${parsed.name}`);
935
+ }
936
+ }
937
+ }
938
+ return map;
939
+ }
918
940
  async function run() {
919
941
  const dir = boilerplatesDir();
920
942
  const boilerplates = await parseBoilerplates(dir);
@@ -932,29 +954,43 @@ async function run() {
932
954
  async run({ args }) {
933
955
  await checkArguments(args);
934
956
  const sources = [];
957
+ const hooks = [];
935
958
  const features = [];
936
959
  const flags = Object.entries(args).filter(([, val]) => val === true).map(([key]) => key);
937
960
  for (const bl of boilerplates.filter((b) => !b.config.flag)) {
938
- sources.push(join(dir, bl.folder));
961
+ if (bl.subfolders.includes("files")) {
962
+ sources.push(join(dir, bl.folder, "files"));
963
+ }
964
+ if (bl.subfolders.includes("hooks")) {
965
+ hooks.push(join(dir, bl.folder, "hooks"));
966
+ }
939
967
  }
940
968
  for (const bl of boilerplates.filter((b) => Boolean(b.config.flag))) {
941
- if (flags.includes(bl.config.flag)) {
942
- sources.push(join(dir, bl.folder));
969
+ if (flags.includes(bl.config.flag) && bl.subfolders.includes("files")) {
970
+ sources.push(join(dir, bl.folder, "files"));
971
+ }
972
+ if (bl.subfolders.includes("hooks")) {
973
+ hooks.push(join(dir, bl.folder, "hooks"));
943
974
  }
944
975
  }
945
976
  for (const flag of flags) {
946
977
  features.push(coreFlags.get(flag));
947
978
  }
979
+ const hooksMap = await retrieveHooks(hooks);
980
+ const meta = {
981
+ BATI_MODULES: features
982
+ };
948
983
  await main(
949
984
  {
950
985
  source: sources,
951
986
  dist: args.project
952
987
  },
953
- {
954
- BATI_MODULES: features
955
- }
988
+ meta
956
989
  );
957
990
  printOK(args.project, flags, boilerplates);
991
+ for (const oncli of hooksMap.get("cli") ?? []) {
992
+ await oncli(meta);
993
+ }
958
994
  }
959
995
  });
960
996
  await runMain(main2);
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
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.27",
10
+ "@types/node": "^16.18.34",
11
11
  "citty": "^0.1.1",
12
12
  "colorette": "^2.0.20",
13
- "esbuild": "^0.17.18",
13
+ "esbuild": "^0.17.19",
14
14
  "espree": "^9.5.2",
15
15
  "execa": "^7.1.1",
16
16
  "get-port": "^6.1.2",
17
17
  "node-fetch": "^3.3.1",
18
18
  "typescript": "^5.0.4",
19
- "vitest": "^0.31.0",
19
+ "vitest": "^0.31.2",
20
20
  "wait-for-localhost": "^4.0.1",
21
- "@batijs/build": "0.0.19",
22
- "@batijs/tsup": "0.0.19"
21
+ "@batijs/build": "0.0.21",
22
+ "@batijs/tsup": "0.0.21"
23
23
  },
24
24
  "dependencies": {
25
- "@batijs/core": "0.0.19"
25
+ "@batijs/core": "0.0.21"
26
26
  },
27
27
  "bin": "./dist/index.js",
28
28
  "exports": {
@@ -1,3 +0,0 @@
1
- module default {
2
-
3
- };
@@ -1,4 +0,0 @@
1
- # Disable the application of access policies within access policies
2
- # themselves. This behavior will become the default in EdgeDB 3.0.
3
- # See: https://www.edgedb.com/docs/reference/ddl/access_policies#nonrecursive
4
- using future nonrecursive_access_policies;
@@ -1,2 +0,0 @@
1
- [edgedb]
2
- server-version = "2.15"