@batijs/cli 0.0.20 → 0.0.22

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 (52) 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-FBP7Y3L4.js → package-62IQBCJI.js} +3 -3
  4. package/dist/boilerplates/@batijs/express/{$package.json.js → files/$package.json.js} +1 -1
  5. package/dist/boilerplates/@batijs/express/{chunk-package-SAQJXPHN.js → package-4AJTTZHC.js} +2 -3
  6. package/dist/boilerplates/@batijs/hattip/{$package.json.js → files/$package.json.js} +1 -1
  7. package/dist/boilerplates/@batijs/hattip/{chunk-package-YNDQG2NZ.js → package-YOSSJJI3.js} +2 -3
  8. package/dist/boilerplates/@batijs/prisma/{$package.json.js → files/$package.json.js} +3 -1
  9. package/dist/boilerplates/@batijs/prisma/hooks/cli.js +137 -0
  10. package/dist/boilerplates/@batijs/prisma/{chunk-package-SLQS4G2O.js → package-ABYNXXNL.js} +3 -3
  11. package/dist/boilerplates/@batijs/shared/{package.json → files/package.json} +1 -1
  12. package/dist/boilerplates/@batijs/solid/{$package.json.js → files/$package.json.js} +1 -1
  13. package/dist/boilerplates/@batijs/solid/{chunk-package-KU2GSLFD.js → package-ZWKOMK6Y.js} +2 -3
  14. package/dist/boilerplates/@batijs/tailwindcss/{$package.json.js → files/$package.json.js} +1 -1
  15. package/dist/boilerplates/@batijs/tailwindcss/{chunk-package-27TCISVY.js → package-LUWQRDEN.js} +2 -3
  16. package/dist/boilerplates/@batijs/telefunc/{$package.json.js → files/$package.json.js} +1 -1
  17. package/dist/boilerplates/@batijs/telefunc/{chunk-package-FUGCQQ2R.js → package-EPUHRWRN.js} +2 -3
  18. package/dist/boilerplates/boilerplates.json +116 -1
  19. package/dist/index.js +55 -17
  20. package/package.json +4 -4
  21. package/dist/boilerplates/@batijs/edgedb/dbschema/default.esdl +0 -3
  22. package/dist/boilerplates/@batijs/edgedb/dbschema/futures.esdl +0 -4
  23. package/dist/boilerplates/@batijs/edgedb/dbschema/migrations/.gitkeep +0 -0
  24. package/dist/boilerplates/@batijs/edgedb/edgedb.toml +0 -2
  25. package/dist/boilerplates/@batijs/prisma/prisma/schema.prisma +0 -11
  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/shared/{tsconfig.json → files/tsconfig.json} +0 -0
  31. /package/dist/boilerplates/@batijs/shared/{vite.config.ts → files/vite.config.ts} +0 -0
  32. /package/dist/boilerplates/@batijs/solid/{$tsconfig.json.js → files/$tsconfig.json.js} +0 -0
  33. /package/dist/boilerplates/@batijs/solid/{$vite.config.ts.js → files/$vite.config.ts.js} +0 -0
  34. /package/dist/boilerplates/@batijs/solid/{assets → files/assets}/logo.svg +0 -0
  35. /package/dist/boilerplates/@batijs/solid/{components → files/components}/Link.tsx +0 -0
  36. /package/dist/boilerplates/@batijs/solid/{layouts → files/layouts}/HeadDefault.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}/+config.ts +0 -0
  40. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/_error/+Page.tsx +0 -0
  41. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/index/+Page.tsx +0 -0
  42. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/index/Counter.tsx +0 -0
  43. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/@id/+Page.tsx +0 -0
  44. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/@id/+onBeforeRender.ts +0 -0
  45. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/filterMovieData.ts +0 -0
  46. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/index/+Page.tsx +0 -0
  47. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/index/+onBeforeRender.ts +0 -0
  48. /package/dist/boilerplates/@batijs/solid/{pages → files/pages}/star-wars/types.ts +0 -0
  49. /package/dist/boilerplates/@batijs/tailwindcss/{layouts → files/layouts}/tailwind.css +0 -0
  50. /package/dist/boilerplates/@batijs/tailwindcss/{postcss.config.js → files/postcss.config.js} +0 -0
  51. /package/dist/boilerplates/@batijs/tailwindcss/{tailwind.config.js → files/tailwind.config.js} +0 -0
  52. /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-FBP7Y3L4.js"), {
7
+ return addDependency(packageJson, await import("../package-62IQBCJI.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.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -15,6 +15,7 @@ var devDependencies = {
15
15
  "@edgedb/generate": "^0.1.1",
16
16
  "@prisma/client": "^4.15.0",
17
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-SAQJXPHN.js"), {
7
+ return addDependency(packageJson, await import("../package-4AJTTZHC.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.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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-YNDQG2NZ.js"), {
10
+ return addDependency(packageJson, await import("../package-YOSSJJI3.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.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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,9 @@
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-SLQS4G2O.js"), {
5
+ packageJson.scripts["prisma:studio"] = "prisma studio";
6
+ packageJson.scripts["prisma:generate"] = "prisma generate";
7
+ return addDependency(packageJson, await import("../package-ABYNXXNL.js"), {
6
8
  devDependencies: ["prisma"],
7
9
  dependencies: ["@prisma/client"]
8
10
  });
@@ -0,0 +1,137 @@
1
+ // hooks/cli.ts
2
+ import { 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 arrow0 = withIcon("\u2192", blueBright);
122
+ const dot1 = withIcon("\u2022", blueBright, 1);
123
+ const cmd3 = withIcon("$", gray, 3);
124
+ console.log("\n" + bold(arrow0(`Next steps: ${underline("Prisma")}`)));
125
+ console.log(dim(dot1(`setup Prisma`)));
126
+ console.log(cmd3("pnpx prisma init"));
127
+ console.log(
128
+ dim(
129
+ dot1(
130
+ "then follow instructions at https://www.prisma.io/docs/getting-started/quickstart#2-model-your-data-in-the-prisma-schema"
131
+ )
132
+ )
133
+ );
134
+ }
135
+ export {
136
+ oncli as default
137
+ };
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/prisma";
3
3
  var private2 = true;
4
- var version = "0.0.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -14,6 +14,7 @@ var devDependencies = {
14
14
  "@batijs/tsup": "workspace:*",
15
15
  "@prisma/client": "^4.15.0",
16
16
  "@types/node": "^16.18.34",
17
+ colorette: "^2.0.20",
17
18
  prisma: "^4.15.0"
18
19
  };
19
20
  var dependencies = {
@@ -25,8 +26,7 @@ var files = [
25
26
  var bati = {
26
27
  flag: "prisma",
27
28
  name: "Prisma",
28
- homepage: "https://www.prisma.io",
29
- boilerplate: "./dist/files"
29
+ homepage: "https://www.prisma.io"
30
30
  };
31
31
  var package_default = {
32
32
  name,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-app",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
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-KU2GSLFD.js"), {
5
+ return addDependency(packageJson, await import("../package-ZWKOMK6Y.js"), {
6
6
  devDependencies: ["vite"],
7
7
  dependencies: ["cross-fetch", "solid-js", "vike-solid"]
8
8
  });
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var name = "@batijs/solid";
3
3
  var private2 = true;
4
- var version = "0.0.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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-27TCISVY.js"), {
5
+ return addDependency(packageJson, await import("../package-LUWQRDEN.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.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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-FUGCQQ2R.js"), {
5
+ return addDependency(packageJson, await import("../package-EPUHRWRN.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.20";
4
+ var version = "0.0.22";
5
5
  var description = "";
6
6
  var type = "module";
7
7
  var scripts = {
@@ -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,116 @@
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":"plausible.io","name":"Plausible Analytics","homepage":"https://plausible.io"},"folder":"@batijs/plausible.io","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
+ "hooks"
70
+ ]
71
+ },
72
+ {
73
+ "config": {},
74
+ "folder": "@batijs/shared",
75
+ "description": "",
76
+ "subfolders": [
77
+ "files"
78
+ ]
79
+ },
80
+ {
81
+ "config": {
82
+ "flag": "solid",
83
+ "name": "SolidJS",
84
+ "homepage": "https://www.solidjs.com"
85
+ },
86
+ "folder": "@batijs/solid",
87
+ "description": "",
88
+ "subfolders": [
89
+ "files"
90
+ ]
91
+ },
92
+ {
93
+ "config": {
94
+ "flag": "tailwindcss",
95
+ "name": "TailwindCSS",
96
+ "homepage": "https://tailwindcss.com"
97
+ },
98
+ "folder": "@batijs/tailwindcss",
99
+ "description": "",
100
+ "subfolders": [
101
+ "files"
102
+ ]
103
+ },
104
+ {
105
+ "config": {
106
+ "flag": "telefunc",
107
+ "name": "Telefunc",
108
+ "homepage": "https://telefunc.com"
109
+ },
110
+ "folder": "@batijs/telefunc",
111
+ "description": "",
112
+ "subfolders": [
113
+ "files"
114
+ ]
115
+ }
116
+ ]
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.20",
651
+ version: "0.0.22",
652
652
  description: "Scaffold typescript projects with ease and modularity",
653
653
  type: "module",
654
654
  scripts: {
@@ -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,45 @@ 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
969
  if (flags.includes(bl.config.flag)) {
942
- sources.push(join(dir, bl.folder));
970
+ if (bl.subfolders.includes("files")) {
971
+ sources.push(join(dir, bl.folder, "files"));
972
+ }
973
+ if (bl.subfolders.includes("hooks")) {
974
+ hooks.push(join(dir, bl.folder, "hooks"));
975
+ }
943
976
  }
944
977
  }
945
978
  for (const flag of flags) {
946
979
  features.push(coreFlags.get(flag));
947
980
  }
981
+ const hooksMap = await retrieveHooks(hooks);
982
+ const meta = {
983
+ BATI_MODULES: features
984
+ };
948
985
  await main(
949
986
  {
950
987
  source: sources,
951
988
  dist: args.project
952
989
  },
953
- {
954
- BATI_MODULES: features
955
- }
990
+ meta
956
991
  );
957
992
  printOK(args.project, flags, boilerplates);
993
+ for (const oncli of hooksMap.get("cli") ?? []) {
994
+ await oncli(meta);
995
+ }
958
996
  }
959
997
  });
960
998
  await runMain(main2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "Scaffold typescript projects with ease and modularity",
5
5
  "type": "module",
6
6
  "keywords": [],
@@ -18,11 +18,11 @@
18
18
  "typescript": "^5.0.4",
19
19
  "vitest": "^0.31.2",
20
20
  "wait-for-localhost": "^4.0.1",
21
- "@batijs/build": "0.0.20",
22
- "@batijs/tsup": "0.0.20"
21
+ "@batijs/build": "0.0.22",
22
+ "@batijs/tsup": "0.0.22"
23
23
  },
24
24
  "dependencies": {
25
- "@batijs/core": "0.0.20"
25
+ "@batijs/core": "0.0.22"
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"
@@ -1,11 +0,0 @@
1
- // This is your Prisma schema file,
2
- // learn more about it in the docs: https://pris.ly/d/prisma-schema
3
-
4
- generator client {
5
- provider = "prisma-client-js"
6
- }
7
-
8
- datasource db {
9
- provider = "postgresql"
10
- url = env("DATABASE_URL")
11
- }