create-taserjs 0.1.12 → 0.2.1

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 (189) hide show
  1. package/README.md +8 -44
  2. package/dist/cli-CBhdDKHU.cjs +1398 -0
  3. package/dist/cli-hL7a4VS0.js +1237 -0
  4. package/dist/cli-hL7a4VS0.js.map +1 -0
  5. package/dist/cli.cjs +4 -0
  6. package/dist/cli.d.cts +4 -0
  7. package/dist/cli.d.cts.map +1 -0
  8. package/dist/cli.d.ts +4 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +3 -0
  11. package/dist/index.cjs +25 -0
  12. package/dist/index.d.cts +119 -0
  13. package/dist/index.d.cts.map +1 -0
  14. package/dist/index.d.ts +119 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +2 -0
  17. package/package.json +39 -9
  18. package/src/addons/drizzle/index.ts +37 -40
  19. package/src/addons/kysely/index.ts +19 -22
  20. package/src/addons/pino/index.ts +2 -2
  21. package/src/addons/prisma/index.ts +18 -22
  22. package/src/addons/registry.ts +37 -73
  23. package/src/addons/types.ts +12 -13
  24. package/src/addons/validators.ts +22 -23
  25. package/src/addons/winston/index.ts +3 -3
  26. package/src/cli.ts +96 -56
  27. package/src/commands/create.ts +118 -249
  28. package/src/core/package-manager.ts +36 -55
  29. package/src/core/scaffold-engine.ts +100 -75
  30. package/src/core/targets.ts +19 -55
  31. package/src/core/types.ts +18 -53
  32. package/src/index.ts +8 -0
  33. package/src/templates/base.ts +139 -51
  34. package/dist/cjs/_virtual/_rolldown/runtime.cjs +0 -23
  35. package/dist/cjs/addons/arktype/index.cjs +0 -6
  36. package/dist/cjs/addons/arktype/index.cjs.map +0 -1
  37. package/dist/cjs/addons/arktype/index.d.cts +0 -1
  38. package/dist/cjs/addons/drizzle/index.cjs +0 -131
  39. package/dist/cjs/addons/drizzle/index.cjs.map +0 -1
  40. package/dist/cjs/addons/drizzle/index.d.cts +0 -2
  41. package/dist/cjs/addons/kysely/index.cjs +0 -103
  42. package/dist/cjs/addons/kysely/index.cjs.map +0 -1
  43. package/dist/cjs/addons/kysely/index.d.cts +0 -2
  44. package/dist/cjs/addons/pino/index.cjs +0 -30
  45. package/dist/cjs/addons/pino/index.cjs.map +0 -1
  46. package/dist/cjs/addons/pino/index.d.cts +0 -2
  47. package/dist/cjs/addons/prisma/index.cjs +0 -133
  48. package/dist/cjs/addons/prisma/index.cjs.map +0 -1
  49. package/dist/cjs/addons/prisma/index.d.cts +0 -2
  50. package/dist/cjs/addons/registry.cjs +0 -65
  51. package/dist/cjs/addons/registry.cjs.map +0 -1
  52. package/dist/cjs/addons/registry.d.cts +0 -5
  53. package/dist/cjs/addons/types.d.cts +0 -16
  54. package/dist/cjs/addons/valibot/index.cjs +0 -6
  55. package/dist/cjs/addons/valibot/index.cjs.map +0 -1
  56. package/dist/cjs/addons/valibot/index.d.cts +0 -1
  57. package/dist/cjs/addons/validators.cjs +0 -38
  58. package/dist/cjs/addons/validators.cjs.map +0 -1
  59. package/dist/cjs/addons/validators.d.cts +0 -5
  60. package/dist/cjs/addons/winston/index.cjs +0 -34
  61. package/dist/cjs/addons/winston/index.cjs.map +0 -1
  62. package/dist/cjs/addons/winston/index.d.cts +0 -2
  63. package/dist/cjs/addons/zod/index.cjs +0 -6
  64. package/dist/cjs/addons/zod/index.cjs.map +0 -1
  65. package/dist/cjs/addons/zod/index.d.cts +0 -1
  66. package/dist/cjs/cli.cjs +0 -65
  67. package/dist/cjs/cli.cjs.map +0 -1
  68. package/dist/cjs/cli.d.cts +0 -2
  69. package/dist/cjs/commands/create.cjs +0 -332
  70. package/dist/cjs/commands/create.cjs.map +0 -1
  71. package/dist/cjs/commands/create.d.cts +0 -14
  72. package/dist/cjs/core/json-output.cjs +0 -16
  73. package/dist/cjs/core/json-output.cjs.map +0 -1
  74. package/dist/cjs/core/json-output.d.cts +0 -4
  75. package/dist/cjs/core/package-manager.cjs +0 -56
  76. package/dist/cjs/core/package-manager.cjs.map +0 -1
  77. package/dist/cjs/core/package-manager.d.cts +0 -8
  78. package/dist/cjs/core/parse-options.cjs +0 -95
  79. package/dist/cjs/core/parse-options.cjs.map +0 -1
  80. package/dist/cjs/core/parse-options.d.cts +0 -35
  81. package/dist/cjs/core/project-config.cjs +0 -23
  82. package/dist/cjs/core/project-config.cjs.map +0 -1
  83. package/dist/cjs/core/project-config.d.cts +0 -2
  84. package/dist/cjs/core/resolve-packages.cjs +0 -58
  85. package/dist/cjs/core/resolve-packages.cjs.map +0 -1
  86. package/dist/cjs/core/resolve-packages.d.cts +0 -2
  87. package/dist/cjs/core/scaffold-engine.cjs +0 -72
  88. package/dist/cjs/core/scaffold-engine.cjs.map +0 -1
  89. package/dist/cjs/core/scaffold-engine.d.cts +0 -2
  90. package/dist/cjs/core/targets.cjs +0 -171
  91. package/dist/cjs/core/targets.cjs.map +0 -1
  92. package/dist/cjs/core/targets.d.cts +0 -49
  93. package/dist/cjs/core/types.cjs +0 -52
  94. package/dist/cjs/core/types.cjs.map +0 -1
  95. package/dist/cjs/core/types.d.cts +0 -57
  96. package/dist/cjs/core/validate-project-name.cjs +0 -44
  97. package/dist/cjs/core/validate-project-name.cjs.map +0 -1
  98. package/dist/cjs/core/validate-project-name.d.cts +0 -1
  99. package/dist/cjs/frameworks/index.cjs +0 -116
  100. package/dist/cjs/frameworks/index.cjs.map +0 -1
  101. package/dist/cjs/frameworks/index.d.cts +0 -18
  102. package/dist/cjs/scaffold.d.cts +0 -3
  103. package/dist/cjs/templates/base.cjs +0 -97
  104. package/dist/cjs/templates/base.cjs.map +0 -1
  105. package/dist/cjs/templates/base.d.cts +0 -9
  106. package/dist/cjs/types.d.cts +0 -1
  107. package/dist/esm/addons/arktype/index.d.ts +0 -1
  108. package/dist/esm/addons/arktype/index.js +0 -7
  109. package/dist/esm/addons/arktype/index.js.map +0 -1
  110. package/dist/esm/addons/drizzle/index.d.ts +0 -2
  111. package/dist/esm/addons/drizzle/index.js +0 -131
  112. package/dist/esm/addons/drizzle/index.js.map +0 -1
  113. package/dist/esm/addons/kysely/index.d.ts +0 -2
  114. package/dist/esm/addons/kysely/index.js +0 -103
  115. package/dist/esm/addons/kysely/index.js.map +0 -1
  116. package/dist/esm/addons/pino/index.d.ts +0 -2
  117. package/dist/esm/addons/pino/index.js +0 -30
  118. package/dist/esm/addons/pino/index.js.map +0 -1
  119. package/dist/esm/addons/prisma/index.d.ts +0 -2
  120. package/dist/esm/addons/prisma/index.js +0 -133
  121. package/dist/esm/addons/prisma/index.js.map +0 -1
  122. package/dist/esm/addons/registry.d.ts +0 -5
  123. package/dist/esm/addons/registry.js +0 -63
  124. package/dist/esm/addons/registry.js.map +0 -1
  125. package/dist/esm/addons/types.d.ts +0 -16
  126. package/dist/esm/addons/valibot/index.d.ts +0 -1
  127. package/dist/esm/addons/valibot/index.js +0 -7
  128. package/dist/esm/addons/valibot/index.js.map +0 -1
  129. package/dist/esm/addons/validators.d.ts +0 -5
  130. package/dist/esm/addons/validators.js +0 -36
  131. package/dist/esm/addons/validators.js.map +0 -1
  132. package/dist/esm/addons/winston/index.d.ts +0 -2
  133. package/dist/esm/addons/winston/index.js +0 -34
  134. package/dist/esm/addons/winston/index.js.map +0 -1
  135. package/dist/esm/addons/zod/index.d.ts +0 -1
  136. package/dist/esm/addons/zod/index.js +0 -7
  137. package/dist/esm/addons/zod/index.js.map +0 -1
  138. package/dist/esm/cli.d.ts +0 -2
  139. package/dist/esm/cli.js +0 -62
  140. package/dist/esm/cli.js.map +0 -1
  141. package/dist/esm/commands/create.d.ts +0 -14
  142. package/dist/esm/commands/create.js +0 -327
  143. package/dist/esm/commands/create.js.map +0 -1
  144. package/dist/esm/core/json-output.d.ts +0 -4
  145. package/dist/esm/core/json-output.js +0 -14
  146. package/dist/esm/core/json-output.js.map +0 -1
  147. package/dist/esm/core/package-manager.d.ts +0 -8
  148. package/dist/esm/core/package-manager.js +0 -53
  149. package/dist/esm/core/package-manager.js.map +0 -1
  150. package/dist/esm/core/parse-options.d.ts +0 -35
  151. package/dist/esm/core/parse-options.js +0 -89
  152. package/dist/esm/core/parse-options.js.map +0 -1
  153. package/dist/esm/core/project-config.d.ts +0 -2
  154. package/dist/esm/core/project-config.js +0 -21
  155. package/dist/esm/core/project-config.js.map +0 -1
  156. package/dist/esm/core/resolve-packages.d.ts +0 -2
  157. package/dist/esm/core/resolve-packages.js +0 -58
  158. package/dist/esm/core/resolve-packages.js.map +0 -1
  159. package/dist/esm/core/scaffold-engine.d.ts +0 -2
  160. package/dist/esm/core/scaffold-engine.js +0 -70
  161. package/dist/esm/core/scaffold-engine.js.map +0 -1
  162. package/dist/esm/core/targets.d.ts +0 -49
  163. package/dist/esm/core/targets.js +0 -166
  164. package/dist/esm/core/targets.js.map +0 -1
  165. package/dist/esm/core/types.d.ts +0 -57
  166. package/dist/esm/core/types.js +0 -45
  167. package/dist/esm/core/types.js.map +0 -1
  168. package/dist/esm/core/validate-project-name.d.ts +0 -1
  169. package/dist/esm/core/validate-project-name.js +0 -42
  170. package/dist/esm/core/validate-project-name.js.map +0 -1
  171. package/dist/esm/frameworks/index.d.ts +0 -18
  172. package/dist/esm/frameworks/index.js +0 -112
  173. package/dist/esm/frameworks/index.js.map +0 -1
  174. package/dist/esm/scaffold.d.ts +0 -3
  175. package/dist/esm/templates/base.d.ts +0 -9
  176. package/dist/esm/templates/base.js +0 -91
  177. package/dist/esm/templates/base.js.map +0 -1
  178. package/dist/esm/types.d.ts +0 -1
  179. package/src/addons/arktype/index.ts +0 -3
  180. package/src/addons/valibot/index.ts +0 -3
  181. package/src/addons/zod/index.ts +0 -3
  182. package/src/core/json-output.ts +0 -13
  183. package/src/core/parse-options.ts +0 -167
  184. package/src/core/project-config.ts +0 -32
  185. package/src/core/resolve-packages.ts +0 -69
  186. package/src/core/validate-project-name.ts +0 -55
  187. package/src/frameworks/index.ts +0 -120
  188. package/src/scaffold.ts +0 -3
  189. package/src/types.ts +0 -12
@@ -1,133 +0,0 @@
1
- //#region src/addons/prisma/index.ts
2
- /** Latest Prisma ORM v7 release line — keep all @prisma/* packages on this range. */
3
- var PRISMA_VERSION = "^7.10.0";
4
- function prismaPackage(name) {
5
- return `${name}@${PRISMA_VERSION}`;
6
- }
7
- function prismaProvider(driver) {
8
- switch (driver) {
9
- case "postgres": return "postgresql";
10
- case "mysql": return "mysql";
11
- default: return "sqlite";
12
- }
13
- }
14
- function envExample(driver) {
15
- switch (driver) {
16
- case "postgres": return "DATABASE_URL=postgresql://user:password@localhost:5432/mydb\n";
17
- case "mysql": return "DATABASE_URL=mysql://user:password@localhost:3306/mydb\n";
18
- default: return "DATABASE_URL=file:./local.db\n";
19
- }
20
- }
21
- function driverPackages(driver) {
22
- switch (driver) {
23
- case "postgres": return [prismaPackage("@prisma/adapter-pg"), "pg"];
24
- case "mysql": return [prismaPackage("@prisma/adapter-mariadb"), "mariadb"];
25
- default: return [prismaPackage("@prisma/adapter-better-sqlite3"), "better-sqlite3"];
26
- }
27
- }
28
- function driverDevPackages(driver) {
29
- switch (driver) {
30
- case "postgres": return ["@types/pg"];
31
- case "sqlite": return ["@types/better-sqlite3"];
32
- default: return [];
33
- }
34
- }
35
- function dbIndexSource(driver) {
36
- switch (driver) {
37
- case "postgres": return `import { PrismaPg } from '@prisma/adapter-pg'
38
-
39
- import { PrismaClient } from './prisma/client.js'
40
-
41
- export function createDb() {
42
- const adapter = new PrismaPg({
43
- connectionString: process.env.DATABASE_URL,
44
- })
45
- return new PrismaClient({ adapter })
46
- }
47
- `;
48
- case "mysql": return `import { PrismaMariaDb } from '@prisma/adapter-mariadb'
49
-
50
- import { PrismaClient } from './prisma/client.js'
51
-
52
- export function createDb() {
53
- const adapter = new PrismaMariaDb(process.env.DATABASE_URL ?? 'mariadb://root:@localhost:3306/mydb')
54
- return new PrismaClient({ adapter })
55
- }
56
- `;
57
- default: return `import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
58
-
59
- import { PrismaClient } from './prisma/client.js'
60
-
61
- export function createDb() {
62
- const adapter = new PrismaBetterSqlite3({
63
- url: process.env.DATABASE_URL ?? 'file:./local.db',
64
- })
65
- return new PrismaClient({ adapter })
66
- }
67
- `;
68
- }
69
- }
70
- function prismaConfigSource() {
71
- return `import 'dotenv/config'
72
- import { defineConfig, env } from 'prisma/config'
73
-
74
- export default defineConfig({
75
- schema: 'prisma/schema.prisma',
76
- datasource: {
77
- url: env('DATABASE_URL'),
78
- },
79
- })
80
- `;
81
- }
82
- function schemaSource(driver) {
83
- return `generator client {
84
- provider = "prisma-client"
85
- output = "../src/db/prisma"
86
- }
87
-
88
- datasource db {
89
- provider = "${prismaProvider(driver)}"
90
- }
91
-
92
- model User {
93
- id Int @id @default(autoincrement())
94
- email String
95
- }
96
- `;
97
- }
98
- var prismaAddon = {
99
- id: "prisma",
100
- category: "database",
101
- dependencies(ctx) {
102
- const driver = ctx.driver ?? "sqlite";
103
- return [prismaPackage("@prisma/client"), ...driverPackages(driver)];
104
- },
105
- devDependencies(ctx) {
106
- const driver = ctx.driver ?? "sqlite";
107
- return [prismaPackage("prisma"), ...driverDevPackages(driver)];
108
- },
109
- scripts() {
110
- return {
111
- "db:generate": "prisma generate",
112
- "db:push": "prisma db push"
113
- };
114
- },
115
- bootBinding() {
116
- return {
117
- key: "db",
118
- importPath: "./db/index.js",
119
- factoryName: "createDb"
120
- };
121
- },
122
- async apply(ctx, write) {
123
- const driver = ctx.driver ?? "sqlite";
124
- await write("prisma.config.ts", prismaConfigSource());
125
- await write("prisma/schema.prisma", schemaSource(driver));
126
- await write("src/db/index.ts", dbIndexSource(driver));
127
- await write(".env.example", envExample(driver));
128
- }
129
- };
130
- //#endregion
131
- export { prismaAddon };
132
-
133
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/addons/prisma/index.ts"],"sourcesContent":["import type { AddonDefinition } from \"../types.js\";\nimport type { DbDriver } from \"../../core/types.js\";\n\n/** Latest Prisma ORM v7 release line — keep all @prisma/* packages on this range. */\nconst PRISMA_VERSION = \"^7.10.0\";\n\nfunction prismaPackage(name: string): string {\n return `${name}@${PRISMA_VERSION}`;\n}\n\nfunction prismaProvider(driver: DbDriver): string {\n switch (driver) {\n case \"postgres\":\n return \"postgresql\";\n case \"mysql\":\n return \"mysql\";\n case \"sqlite\":\n default:\n return \"sqlite\";\n }\n}\n\nfunction envExample(driver: DbDriver): string {\n switch (driver) {\n case \"postgres\":\n return \"DATABASE_URL=postgresql://user:password@localhost:5432/mydb\\n\";\n case \"mysql\":\n return \"DATABASE_URL=mysql://user:password@localhost:3306/mydb\\n\";\n case \"sqlite\":\n default:\n return \"DATABASE_URL=file:./local.db\\n\";\n }\n}\n\nfunction driverPackages(driver: DbDriver): string[] {\n switch (driver) {\n case \"postgres\":\n return [prismaPackage(\"@prisma/adapter-pg\"), \"pg\"];\n case \"mysql\":\n return [prismaPackage(\"@prisma/adapter-mariadb\"), \"mariadb\"];\n case \"sqlite\":\n default:\n return [prismaPackage(\"@prisma/adapter-better-sqlite3\"), \"better-sqlite3\"];\n }\n}\n\nfunction driverDevPackages(driver: DbDriver): string[] {\n switch (driver) {\n case \"postgres\":\n return [\"@types/pg\"];\n case \"sqlite\":\n return [\"@types/better-sqlite3\"];\n case \"mysql\":\n default:\n return [];\n }\n}\n\nfunction dbIndexSource(driver: DbDriver): string {\n switch (driver) {\n case \"postgres\":\n return `import { PrismaPg } from '@prisma/adapter-pg'\n\nimport { PrismaClient } from './prisma/client.js'\n\nexport function createDb() {\n const adapter = new PrismaPg({\n connectionString: process.env.DATABASE_URL,\n })\n return new PrismaClient({ adapter })\n}\n`;\n case \"mysql\":\n return `import { PrismaMariaDb } from '@prisma/adapter-mariadb'\n\nimport { PrismaClient } from './prisma/client.js'\n\nexport function createDb() {\n const adapter = new PrismaMariaDb(process.env.DATABASE_URL ?? 'mariadb://root:@localhost:3306/mydb')\n return new PrismaClient({ adapter })\n}\n`;\n case \"sqlite\":\n default:\n return `import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'\n\nimport { PrismaClient } from './prisma/client.js'\n\nexport function createDb() {\n const adapter = new PrismaBetterSqlite3({\n url: process.env.DATABASE_URL ?? 'file:./local.db',\n })\n return new PrismaClient({ adapter })\n}\n`;\n }\n}\n\nfunction prismaConfigSource(): string {\n return `import 'dotenv/config'\nimport { defineConfig, env } from 'prisma/config'\n\nexport default defineConfig({\n schema: 'prisma/schema.prisma',\n datasource: {\n url: env('DATABASE_URL'),\n },\n})\n`;\n}\n\nfunction schemaSource(driver: DbDriver): string {\n const provider = prismaProvider(driver);\n return `generator client {\n provider = \"prisma-client\"\n output = \"../src/db/prisma\"\n}\n\ndatasource db {\n provider = \"${provider}\"\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n email String\n}\n`;\n}\n\nexport const prismaAddon: AddonDefinition = {\n id: \"prisma\",\n category: \"database\",\n dependencies(ctx) {\n const driver = ctx.driver ?? \"sqlite\";\n return [prismaPackage(\"@prisma/client\"), ...driverPackages(driver)];\n },\n devDependencies(ctx) {\n const driver = ctx.driver ?? \"sqlite\";\n return [prismaPackage(\"prisma\"), ...driverDevPackages(driver)];\n },\n scripts() {\n return {\n \"db:generate\": \"prisma generate\",\n \"db:push\": \"prisma db push\",\n };\n },\n bootBinding() {\n return {\n key: \"db\",\n importPath: \"./db/index.js\",\n factoryName: \"createDb\",\n };\n },\n async apply(ctx, write) {\n const driver = ctx.driver ?? \"sqlite\";\n await write(\"prisma.config.ts\", prismaConfigSource());\n await write(\"prisma/schema.prisma\", schemaSource(driver));\n await write(\"src/db/index.ts\", dbIndexSource(driver));\n await write(\".env.example\", envExample(driver));\n },\n};\n"],"mappings":";;AAIA,IAAM,iBAAiB;AAEvB,SAAS,cAAc,MAAsB;CAC3C,OAAO,GAAG,KAAK,GAAG;AACpB;AAEA,SAAS,eAAe,QAA0B;CAChD,QAAQ,QAAR;EACE,KAAK,YACH,OAAO;EACT,KAAK,SACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,SAAS,WAAW,QAA0B;CAC5C,QAAQ,QAAR;EACE,KAAK,YACH,OAAO;EACT,KAAK,SACH,OAAO;EAET,SACE,OAAO;CACX;AACF;AAEA,SAAS,eAAe,QAA4B;CAClD,QAAQ,QAAR;EACE,KAAK,YACH,OAAO,CAAC,cAAc,oBAAoB,GAAG,IAAI;EACnD,KAAK,SACH,OAAO,CAAC,cAAc,yBAAyB,GAAG,SAAS;EAE7D,SACE,OAAO,CAAC,cAAc,gCAAgC,GAAG,gBAAgB;CAC7E;AACF;AAEA,SAAS,kBAAkB,QAA4B;CACrD,QAAQ,QAAR;EACE,KAAK,YACH,OAAO,CAAC,WAAW;EACrB,KAAK,UACH,OAAO,CAAC,uBAAuB;EAEjC,SACE,OAAO,CAAC;CACZ;AACF;AAEA,SAAS,cAAc,QAA0B;CAC/C,QAAQ,QAAR;EACE,KAAK,YACH,OAAO;;;;;;;;;;;EAWT,KAAK,SACH,OAAO;;;;;;;;;EAUT,SACE,OAAO;;;;;;;;;;;CAWX;AACF;AAEA,SAAS,qBAA6B;CACpC,OAAO;;;;;;;;;;AAUT;AAEA,SAAS,aAAa,QAA0B;CAE9C,OAAO;;;;;;gBADU,eAAe,MAOlB,EAAS;;;;;;;;AAQzB;AAEA,IAAa,cAA+B;CAC1C,IAAI;CACJ,UAAU;CACV,aAAa,KAAK;EAChB,MAAM,SAAS,IAAI,UAAU;EAC7B,OAAO,CAAC,cAAc,gBAAgB,GAAG,GAAG,eAAe,MAAM,CAAC;CACpE;CACA,gBAAgB,KAAK;EACnB,MAAM,SAAS,IAAI,UAAU;EAC7B,OAAO,CAAC,cAAc,QAAQ,GAAG,GAAG,kBAAkB,MAAM,CAAC;CAC/D;CACA,UAAU;EACR,OAAO;GACL,eAAe;GACf,WAAW;EACb;CACF;CACA,cAAc;EACZ,OAAO;GACL,KAAK;GACL,YAAY;GACZ,aAAa;EACf;CACF;CACA,MAAM,MAAM,KAAK,OAAO;EACtB,MAAM,SAAS,IAAI,UAAU;EAC7B,MAAM,MAAM,oBAAoB,mBAAmB,CAAC;EACpD,MAAM,MAAM,wBAAwB,aAAa,MAAM,CAAC;EACxD,MAAM,MAAM,mBAAmB,cAAc,MAAM,CAAC;EACpD,MAAM,MAAM,gBAAgB,WAAW,MAAM,CAAC;CAChD;AACF"}
@@ -1,5 +0,0 @@
1
- import { AddonDefinition } from './types.js';
2
- import { CapabilitiesCatalog, ScaffoldContext } from '../core/types.js';
3
- export declare function getCapabilitiesCatalog(): CapabilitiesCatalog;
4
- export declare function resolveAddons(ctx: ScaffoldContext): AddonDefinition[];
5
- export declare function collectBootBindings(ctx: ScaffoldContext): import('./types.js').BootBinding[];
@@ -1,63 +0,0 @@
1
- import { arktypeAddon } from "./arktype/index.js";
2
- import { drizzleAddon } from "./drizzle/index.js";
3
- import { kyselyAddon } from "./kysely/index.js";
4
- import { pinoAddon } from "./pino/index.js";
5
- import { prismaAddon } from "./prisma/index.js";
6
- import { valibotAddon } from "./valibot/index.js";
7
- import { winstonAddon } from "./winston/index.js";
8
- import { zodAddon } from "./zod/index.js";
9
- import { DB_DRIVERS, DB_ODMS, DEFAULT_DB_DRIVER, DEPLOY_TARGETS, FRAMEWORKS, LOGGERS, RUNTIMES, VALIDATORS } from "../core/types.js";
10
- //#region src/addons/registry.ts
11
- var ALL_ADDONS = [
12
- drizzleAddon,
13
- prismaAddon,
14
- kyselyAddon,
15
- pinoAddon,
16
- winstonAddon,
17
- zodAddon,
18
- arktypeAddon,
19
- valibotAddon
20
- ];
21
- var DB_ADDONS = ALL_ADDONS.filter((addon) => addon.category === "database");
22
- var LOGGER_ADDONS = ALL_ADDONS.filter((addon) => addon.category === "logger");
23
- var VALIDATOR_ADDONS = ALL_ADDONS.filter((addon) => addon.category === "validator");
24
- function getCapabilitiesCatalog() {
25
- return {
26
- frameworks: [...FRAMEWORKS],
27
- deployTargets: [...DEPLOY_TARGETS],
28
- runtimes: [...RUNTIMES],
29
- db: {
30
- odms: [...DB_ODMS],
31
- drivers: [...DB_DRIVERS],
32
- defaultDriver: DEFAULT_DB_DRIVER
33
- },
34
- loggers: [...LOGGERS],
35
- validators: [...VALIDATORS]
36
- };
37
- }
38
- function resolveAddons(ctx) {
39
- const selected = [];
40
- if (ctx.db) {
41
- const dbAddon = DB_ADDONS.find((addon) => addon.id === ctx.db);
42
- if (!dbAddon) throw new Error(`Unknown database addon "${ctx.db}"`);
43
- selected.push(dbAddon);
44
- }
45
- if (ctx.logger) {
46
- const loggerAddon = LOGGER_ADDONS.find((addon) => addon.id === ctx.logger);
47
- if (!loggerAddon) throw new Error(`Unknown logger addon "${ctx.logger}"`);
48
- selected.push(loggerAddon);
49
- }
50
- if (ctx.validator) {
51
- const validatorAddon = VALIDATOR_ADDONS.find((addon) => addon.id === ctx.validator);
52
- if (!validatorAddon) throw new Error(`Unknown validator addon "${ctx.validator}"`);
53
- selected.push(validatorAddon);
54
- }
55
- return selected;
56
- }
57
- function collectBootBindings(ctx) {
58
- return resolveAddons(ctx).map((addon) => addon.bootBinding?.(ctx)).filter((v) => Boolean(v));
59
- }
60
- //#endregion
61
- export { collectBootBindings, getCapabilitiesCatalog, resolveAddons };
62
-
63
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","names":[],"sources":["../../../src/addons/registry.ts"],"sourcesContent":["import { arktypeAddon } from \"./arktype/index.js\";\nimport { drizzleAddon } from \"./drizzle/index.js\";\nimport { kyselyAddon } from \"./kysely/index.js\";\nimport { pinoAddon } from \"./pino/index.js\";\nimport { prismaAddon } from \"./prisma/index.js\";\nimport { valibotAddon } from \"./valibot/index.js\";\nimport { winstonAddon } from \"./winston/index.js\";\nimport { zodAddon } from \"./zod/index.js\";\nimport type { AddonDefinition } from \"./types.js\";\nimport type { CapabilitiesCatalog, ScaffoldContext } from \"../core/types.js\";\nimport {\n DB_DRIVERS,\n DB_ODMS,\n DEFAULT_DB_DRIVER,\n DEPLOY_TARGETS,\n FRAMEWORKS,\n LOGGERS,\n RUNTIMES,\n VALIDATORS,\n} from \"../core/types.js\";\n\nconst ALL_ADDONS: AddonDefinition[] = [\n drizzleAddon,\n prismaAddon,\n kyselyAddon,\n pinoAddon,\n winstonAddon,\n zodAddon,\n arktypeAddon,\n valibotAddon,\n];\n\nconst DB_ADDONS = ALL_ADDONS.filter((addon) => addon.category === \"database\");\nconst LOGGER_ADDONS = ALL_ADDONS.filter((addon) => addon.category === \"logger\");\nconst VALIDATOR_ADDONS = ALL_ADDONS.filter((addon) => addon.category === \"validator\");\n\nexport function getCapabilitiesCatalog(): CapabilitiesCatalog {\n return {\n frameworks: [...FRAMEWORKS],\n deployTargets: [...DEPLOY_TARGETS],\n runtimes: [...RUNTIMES],\n db: {\n odms: [...DB_ODMS],\n drivers: [...DB_DRIVERS],\n defaultDriver: DEFAULT_DB_DRIVER,\n },\n loggers: [...LOGGERS],\n validators: [...VALIDATORS],\n };\n}\n\nexport function resolveAddons(ctx: ScaffoldContext): AddonDefinition[] {\n const selected: AddonDefinition[] = [];\n\n if (ctx.db) {\n const dbAddon = DB_ADDONS.find((addon) => addon.id === ctx.db);\n if (!dbAddon) {\n throw new Error(`Unknown database addon \"${ctx.db}\"`);\n }\n selected.push(dbAddon);\n }\n\n if (ctx.logger) {\n const loggerAddon = LOGGER_ADDONS.find((addon) => addon.id === ctx.logger);\n if (!loggerAddon) {\n throw new Error(`Unknown logger addon \"${ctx.logger}\"`);\n }\n selected.push(loggerAddon);\n }\n\n if (ctx.validator) {\n const validatorAddon = VALIDATOR_ADDONS.find((addon) => addon.id === ctx.validator);\n if (!validatorAddon) {\n throw new Error(`Unknown validator addon \"${ctx.validator}\"`);\n }\n selected.push(validatorAddon);\n }\n\n return selected;\n}\n\nexport function collectBootBindings(ctx: ScaffoldContext) {\n return resolveAddons(ctx)\n .map((addon) => addon.bootBinding?.(ctx))\n .filter((v): v is NonNullable<typeof v> => Boolean(v));\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAM,aAAgC;CACpC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,YAAY,WAAW,QAAQ,UAAU,MAAM,aAAa,UAAU;AAC5E,IAAM,gBAAgB,WAAW,QAAQ,UAAU,MAAM,aAAa,QAAQ;AAC9E,IAAM,mBAAmB,WAAW,QAAQ,UAAU,MAAM,aAAa,WAAW;AAEpF,SAAgB,yBAA8C;CAC5D,OAAO;EACL,YAAY,CAAC,GAAG,UAAU;EAC1B,eAAe,CAAC,GAAG,cAAc;EACjC,UAAU,CAAC,GAAG,QAAQ;EACtB,IAAI;GACF,MAAM,CAAC,GAAG,OAAO;GACjB,SAAS,CAAC,GAAG,UAAU;GACvB,eAAe;EACjB;EACA,SAAS,CAAC,GAAG,OAAO;EACpB,YAAY,CAAC,GAAG,UAAU;CAC5B;AACF;AAEA,SAAgB,cAAc,KAAyC;CACrE,MAAM,WAA8B,CAAC;CAErC,IAAI,IAAI,IAAI;EACV,MAAM,UAAU,UAAU,MAAM,UAAU,MAAM,OAAO,IAAI,EAAE;EAC7D,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,2BAA2B,IAAI,GAAG,EAAE;EAEtD,SAAS,KAAK,OAAO;CACvB;CAEA,IAAI,IAAI,QAAQ;EACd,MAAM,cAAc,cAAc,MAAM,UAAU,MAAM,OAAO,IAAI,MAAM;EACzE,IAAI,CAAC,aACH,MAAM,IAAI,MAAM,yBAAyB,IAAI,OAAO,EAAE;EAExD,SAAS,KAAK,WAAW;CAC3B;CAEA,IAAI,IAAI,WAAW;EACjB,MAAM,iBAAiB,iBAAiB,MAAM,UAAU,MAAM,OAAO,IAAI,SAAS;EAClF,IAAI,CAAC,gBACH,MAAM,IAAI,MAAM,4BAA4B,IAAI,UAAU,EAAE;EAE9D,SAAS,KAAK,cAAc;CAC9B;CAEA,OAAO;AACT;AAEA,SAAgB,oBAAoB,KAAsB;CACxD,OAAO,cAAc,GAAG,CAAC,CACtB,KAAK,UAAU,MAAM,cAAc,GAAG,CAAC,CAAC,CACxC,QAAQ,MAAkC,QAAQ,CAAC,CAAC;AACzD"}
@@ -1,16 +0,0 @@
1
- import { ScaffoldContext } from '../core/types.js';
2
- export type BootBinding = {
3
- key: string;
4
- importPath: string;
5
- factoryName: string;
6
- };
7
- export type FileWriter = (filePath: string, contents: string) => Promise<void>;
8
- export type AddonDefinition = {
9
- id: string;
10
- category: "database" | "logger" | "validator";
11
- dependencies: (ctx: ScaffoldContext) => string[];
12
- devDependencies: (ctx: ScaffoldContext) => string[];
13
- scripts?: (ctx: ScaffoldContext) => Record<string, string>;
14
- bootBinding?: (ctx: ScaffoldContext) => BootBinding;
15
- apply: (ctx: ScaffoldContext, write: FileWriter) => Promise<void>;
16
- };
@@ -1 +0,0 @@
1
- export declare const valibotAddon: import('../types.js').AddonDefinition;
@@ -1,7 +0,0 @@
1
- import { ValidatorAddon } from "../validators.js";
2
- //#region src/addons/valibot/index.ts
3
- var valibotAddon = ValidatorAddon("valibot");
4
- //#endregion
5
- export { valibotAddon };
6
-
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/addons/valibot/index.ts"],"sourcesContent":["import { ValidatorAddon } from \"../validators.js\";\n\nexport const valibotAddon = ValidatorAddon(\"valibot\");\n"],"mappings":";;AAEA,IAAa,eAAe,eAAe,SAAS"}
@@ -1,5 +0,0 @@
1
- import { ValidatorId } from '../core/types.js';
2
- import { AddonDefinition } from './types.js';
3
- export declare const IMPORT_LINES: Record<ValidatorId, string>;
4
- export declare const VALIDATION_BLOCK_TEMPLATE: Record<ValidatorId, string>;
5
- export declare const ValidatorAddon: (validator: ValidatorId) => AddonDefinition;
@@ -1,36 +0,0 @@
1
- //#region src/addons/validators.ts
2
- var IMPORT_LINES = {
3
- zod: `import { z } from 'zod'`,
4
- arktype: `import { type } from 'arktype'`,
5
- valibot: `import * as v from 'valibot'`
6
- };
7
- var VALIDATION_BLOCK_TEMPLATE = {
8
- zod: `
9
- .query(z.object({ name: z.string().default('Taser.js') }))`,
10
- arktype: `
11
- .query(type({ 'name?': 'string = "Taser.js"' }))`,
12
- valibot: `
13
- .query(v.object({ name: v.optional(v.string(), 'Taser.js') }))`
14
- };
15
- var ROUTE_TEMPLATE = (validator) => `import { t } from '@taserjs/router'
16
- import { json } from '@taserjs/router/reply'
17
- ${IMPORT_LINES[validator]}
18
-
19
- export default t.get('/')${VALIDATION_BLOCK_TEMPLATE[validator]}
20
- .handler((ctx) => {
21
- return json({ message: \`Hello, \${ctx.query.name}!\` })
22
- })
23
- `;
24
- var ValidatorAddon = (validator) => {
25
- return {
26
- id: validator,
27
- category: "validator",
28
- dependencies: () => [validator],
29
- devDependencies: () => [],
30
- apply: (ctx, write) => write("src/routes/index.get.ts", ROUTE_TEMPLATE(validator))
31
- };
32
- };
33
- //#endregion
34
- export { IMPORT_LINES, VALIDATION_BLOCK_TEMPLATE, ValidatorAddon };
35
-
36
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","names":[],"sources":["../../../src/addons/validators.ts"],"sourcesContent":["import type { ValidatorId } from \"../core/types\";\nimport type { AddonDefinition } from \"./types\";\n\nexport const IMPORT_LINES: Record<ValidatorId, string> = {\n zod: `import { z } from 'zod'`,\n arktype: `import { type } from 'arktype'`,\n valibot: `import * as v from 'valibot'`,\n};\n\nexport const VALIDATION_BLOCK_TEMPLATE: Record<ValidatorId, string> = {\n zod: `\n .query(z.object({ name: z.string().default('Taser.js') }))`,\n arktype: `\n .query(type({ 'name?': 'string = \"Taser.js\"' }))`,\n valibot: `\n .query(v.object({ name: v.optional(v.string(), 'Taser.js') }))`,\n};\n\nconst ROUTE_TEMPLATE = (validator: ValidatorId) => `import { t } from '@taserjs/router'\nimport { json } from '@taserjs/router/reply'\n${IMPORT_LINES[validator]}\n\nexport default t.get('/')${VALIDATION_BLOCK_TEMPLATE[validator]}\n .handler((ctx) => {\n return json({ message: \\`Hello, \\${ctx.query.name}!\\` })\n })\n`;\n\nexport const ValidatorAddon = (validator: ValidatorId): AddonDefinition => {\n return {\n id: validator,\n category: \"validator\",\n dependencies: () => [validator],\n devDependencies: () => [],\n apply: (ctx, write) => write(\"src/routes/index.get.ts\", ROUTE_TEMPLATE(validator)),\n };\n};\n"],"mappings":";AAGA,IAAa,eAA4C;CACvD,KAAK;CACL,SAAS;CACT,SAAS;AACX;AAEA,IAAa,4BAAyD;CACpE,KAAK;;CAEL,SAAS;;CAET,SAAS;;AAEX;AAEA,IAAM,kBAAkB,cAA2B;;EAEjD,aAAa,WAAW;;2BAEC,0BAA0B,WAAW;;;;;AAMhE,IAAa,kBAAkB,cAA4C;CACzE,OAAO;EACL,IAAI;EACJ,UAAU;EACV,oBAAoB,CAAC,SAAS;EAC9B,uBAAuB,CAAC;EACxB,QAAQ,KAAK,UAAU,MAAM,2BAA2B,eAAe,SAAS,CAAC;CACnF;AACF"}
@@ -1,2 +0,0 @@
1
- import { AddonDefinition } from '../types.js';
2
- export declare const winstonAddon: AddonDefinition;
@@ -1,34 +0,0 @@
1
- //#region src/addons/winston/index.ts
2
- var winstonAddon = {
3
- id: "winston",
4
- category: "logger",
5
- dependencies() {
6
- return ["winston"];
7
- },
8
- devDependencies() {
9
- return [];
10
- },
11
- bootBinding() {
12
- return {
13
- key: "logger",
14
- importPath: "./logger.js",
15
- factoryName: "createLogger"
16
- };
17
- },
18
- async apply(_ctx, write) {
19
- await write("src/logger.ts", `import winston from 'winston'
20
-
21
- export function createLogger() {
22
- return winston.createLogger({
23
- level: process.env.LOG_LEVEL ?? 'info',
24
- format: winston.format.json(),
25
- transports: [new winston.transports.Console()],
26
- })
27
- }
28
- `);
29
- }
30
- };
31
- //#endregion
32
- export { winstonAddon };
33
-
34
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/addons/winston/index.ts"],"sourcesContent":["import type { AddonDefinition } from \"../types.js\";\n\nexport const winstonAddon: AddonDefinition = {\n id: \"winston\",\n category: \"logger\",\n dependencies() {\n return [\"winston\"];\n },\n devDependencies() {\n return [];\n },\n bootBinding() {\n return {\n key: \"logger\",\n importPath: \"./logger.js\",\n factoryName: \"createLogger\",\n };\n },\n async apply(_ctx, write) {\n await write(\n \"src/logger.ts\",\n `import winston from 'winston'\n\nexport function createLogger() {\n return winston.createLogger({\n level: process.env.LOG_LEVEL ?? 'info',\n format: winston.format.json(),\n transports: [new winston.transports.Console()],\n })\n}\n`,\n );\n },\n};\n"],"mappings":";AAEA,IAAa,eAAgC;CAC3C,IAAI;CACJ,UAAU;CACV,eAAe;EACb,OAAO,CAAC,SAAS;CACnB;CACA,kBAAkB;EAChB,OAAO,CAAC;CACV;CACA,cAAc;EACZ,OAAO;GACL,KAAK;GACL,YAAY;GACZ,aAAa;EACf;CACF;CACA,MAAM,MAAM,MAAM,OAAO;EACvB,MAAM,MACJ,iBACA;;;;;;;;;CAUF;CACF;AACF"}
@@ -1 +0,0 @@
1
- export declare const zodAddon: import('../types.js').AddonDefinition;
@@ -1,7 +0,0 @@
1
- import { ValidatorAddon } from "../validators.js";
2
- //#region src/addons/zod/index.ts
3
- var zodAddon = ValidatorAddon("zod");
4
- //#endregion
5
- export { zodAddon };
6
-
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/addons/zod/index.ts"],"sourcesContent":["import { ValidatorAddon } from \"../validators.js\";\n\nexport const zodAddon = ValidatorAddon(\"zod\");\n"],"mappings":";;AAEA,IAAa,WAAW,eAAe,KAAK"}
package/dist/esm/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/esm/cli.js DELETED
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env node
2
- import { printJsonError } from "./core/json-output.js";
3
- import { buildParsedArgsFromCli, runCreateCommand } from "./commands/create.js";
4
- import { parseArgs } from "node:util";
5
- import * as p from "@clack/prompts";
6
- import color from "picocolors";
7
- //#region src/cli.ts
8
- async function main() {
9
- const { values, positionals } = parseArgs({
10
- args: process.argv.slice(2),
11
- options: {
12
- preset: {
13
- type: "string",
14
- short: "p"
15
- },
16
- db: { type: "string" },
17
- logger: { type: "string" },
18
- validator: { type: "string" },
19
- framework: { type: "string" },
20
- runtime: { type: "string" },
21
- y: {
22
- type: "boolean",
23
- short: "y"
24
- },
25
- noInstall: { type: "boolean" },
26
- json: { type: "boolean" }
27
- },
28
- allowPositionals: true
29
- });
30
- const parsed = buildParsedArgsFromCli({
31
- ...values.preset !== void 0 ? { preset: values.preset } : {},
32
- ...values.db !== void 0 ? { db: values.db } : {},
33
- ...values.logger !== void 0 ? { logger: values.logger } : {},
34
- ...values.validator !== void 0 ? { validator: values.validator } : {},
35
- ...values.framework !== void 0 ? { framework: values.framework } : {},
36
- ...values.runtime !== void 0 ? { runtime: values.runtime } : {},
37
- ...values.y !== void 0 ? { y: values.y } : {},
38
- ...values.noInstall !== void 0 ? { noInstall: values.noInstall } : {},
39
- ...values.json !== void 0 ? { json: values.json } : {}
40
- }, positionals);
41
- if (!parsed.json) {
42
- console.clear();
43
- p.intro(color.bgCyan(color.black(" create-taserjs ")));
44
- }
45
- try {
46
- await runCreateCommand(parsed);
47
- } catch (error) {
48
- const message = error instanceof Error ? error.message : String(error);
49
- if (parsed.json) {
50
- printJsonError(message);
51
- process.exit(1);
52
- }
53
- throw error;
54
- }
55
- }
56
- main().catch((error) => {
57
- console.error(error);
58
- process.exit(1);
59
- });
60
- //#endregion
61
-
62
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","names":[],"sources":["../../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { parseArgs } from \"node:util\";\n\nimport * as p from \"@clack/prompts\";\nimport color from \"picocolors\";\n\nimport { buildParsedArgsFromCli, runCreateCommand } from \"./commands/create.js\";\nimport { printJsonError } from \"./core/json-output.js\";\n\nasync function main(): Promise<void> {\n const { values, positionals } = parseArgs({\n args: process.argv.slice(2),\n options: {\n preset: { type: \"string\", short: \"p\" },\n db: { type: \"string\" },\n logger: { type: \"string\" },\n validator: { type: \"string\" },\n framework: { type: \"string\" },\n runtime: { type: \"string\" },\n y: { type: \"boolean\", short: \"y\" },\n noInstall: { type: \"boolean\" },\n json: { type: \"boolean\" },\n },\n allowPositionals: true,\n });\n\n const parsed = buildParsedArgsFromCli(\n {\n ...(values.preset !== undefined ? { preset: values.preset } : {}),\n ...(values.db !== undefined ? { db: values.db } : {}),\n ...(values.logger !== undefined ? { logger: values.logger } : {}),\n ...(values.validator !== undefined ? { validator: values.validator } : {}),\n ...(values.framework !== undefined ? { framework: values.framework } : {}),\n ...(values.runtime !== undefined ? { runtime: values.runtime } : {}),\n ...(values.y !== undefined ? { y: values.y } : {}),\n ...(values.noInstall !== undefined ? { noInstall: values.noInstall } : {}),\n ...(values.json !== undefined ? { json: values.json } : {}),\n },\n positionals,\n );\n\n if (!parsed.json) {\n console.clear();\n p.intro(color.bgCyan(color.black(\" create-taserjs \")));\n }\n\n try {\n await runCreateCommand(parsed);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n if (parsed.json) {\n printJsonError(message);\n process.exit(1);\n }\n throw error;\n }\n}\n\nmain().catch((error: unknown) => {\n console.error(error);\n process.exit(1);\n});\n"],"mappings":";;;;;;;AASA,eAAe,OAAsB;CACnC,MAAM,EAAE,QAAQ,gBAAgB,UAAU;EACxC,MAAM,QAAQ,KAAK,MAAM,CAAC;EAC1B,SAAS;GACP,QAAQ;IAAE,MAAM;IAAU,OAAO;GAAI;GACrC,IAAI,EAAE,MAAM,SAAS;GACrB,QAAQ,EAAE,MAAM,SAAS;GACzB,WAAW,EAAE,MAAM,SAAS;GAC5B,WAAW,EAAE,MAAM,SAAS;GAC5B,SAAS,EAAE,MAAM,SAAS;GAC1B,GAAG;IAAE,MAAM;IAAW,OAAO;GAAI;GACjC,WAAW,EAAE,MAAM,UAAU;GAC7B,MAAM,EAAE,MAAM,UAAU;EAC1B;EACA,kBAAkB;CACpB,CAAC;CAED,MAAM,SAAS,uBACb;EACE,GAAI,OAAO,WAAW,KAAA,IAAY,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;EAC/D,GAAI,OAAO,OAAO,KAAA,IAAY,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC;EACnD,GAAI,OAAO,WAAW,KAAA,IAAY,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;EAC/D,GAAI,OAAO,cAAc,KAAA,IAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;EACxE,GAAI,OAAO,cAAc,KAAA,IAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;EACxE,GAAI,OAAO,YAAY,KAAA,IAAY,EAAE,SAAS,OAAO,QAAQ,IAAI,CAAC;EAClE,GAAI,OAAO,MAAM,KAAA,IAAY,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC;EAChD,GAAI,OAAO,cAAc,KAAA,IAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;EACxE,GAAI,OAAO,SAAS,KAAA,IAAY,EAAE,MAAM,OAAO,KAAK,IAAI,CAAC;CAC3D,GACA,WACF;CAEA,IAAI,CAAC,OAAO,MAAM;EAChB,QAAQ,MAAM;EACd,EAAE,MAAM,MAAM,OAAO,MAAM,MAAM,kBAAkB,CAAC,CAAC;CACvD;CAEA,IAAI;EACF,MAAM,iBAAiB,MAAM;CAC/B,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,IAAI,OAAO,MAAM;GACf,eAAe,OAAO;GACtB,QAAQ,KAAK,CAAC;EAChB;EACA,MAAM;CACR;AACF;AAEA,KAAK,CAAC,CAAC,OAAO,UAAmB;CAC/B,QAAQ,MAAM,KAAK;CACnB,QAAQ,KAAK,CAAC;AAChB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { ParsedCreateArgs } from '../core/parse-options.js';
2
- import { ScaffoldResult } from '../core/types.js';
3
- export declare function runCreateCommand(args: ParsedCreateArgs): Promise<ScaffoldResult | undefined>;
4
- export declare function buildParsedArgsFromCli(values: {
5
- preset?: string;
6
- framework?: string;
7
- runtime?: string;
8
- db?: string;
9
- logger?: string;
10
- validator?: string;
11
- y?: boolean;
12
- noInstall?: boolean;
13
- json?: boolean;
14
- }, positionals: string[]): ParsedCreateArgs;