create-taserjs 0.1.12 → 0.2.0
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.
- package/README.md +8 -44
- package/dist/cli-9fkoNOJg.js +1237 -0
- package/dist/cli-9fkoNOJg.js.map +1 -0
- package/dist/cli-DkZddFtU.cjs +1398 -0
- package/dist/cli.cjs +4 -0
- package/dist/cli.d.cts +4 -0
- package/dist/cli.d.cts.map +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/index.cjs +25 -0
- package/dist/index.d.cts +119 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +119 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/package.json +39 -9
- package/src/addons/drizzle/index.ts +37 -40
- package/src/addons/kysely/index.ts +19 -22
- package/src/addons/pino/index.ts +2 -2
- package/src/addons/prisma/index.ts +18 -22
- package/src/addons/registry.ts +37 -73
- package/src/addons/types.ts +12 -13
- package/src/addons/validators.ts +22 -23
- package/src/addons/winston/index.ts +3 -3
- package/src/cli.ts +96 -56
- package/src/commands/create.ts +118 -249
- package/src/core/package-manager.ts +36 -55
- package/src/core/scaffold-engine.ts +100 -75
- package/src/core/targets.ts +20 -56
- package/src/core/types.ts +18 -53
- package/src/index.ts +8 -0
- package/src/templates/base.ts +139 -51
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +0 -23
- package/dist/cjs/addons/arktype/index.cjs +0 -6
- package/dist/cjs/addons/arktype/index.cjs.map +0 -1
- package/dist/cjs/addons/arktype/index.d.cts +0 -1
- package/dist/cjs/addons/drizzle/index.cjs +0 -131
- package/dist/cjs/addons/drizzle/index.cjs.map +0 -1
- package/dist/cjs/addons/drizzle/index.d.cts +0 -2
- package/dist/cjs/addons/kysely/index.cjs +0 -103
- package/dist/cjs/addons/kysely/index.cjs.map +0 -1
- package/dist/cjs/addons/kysely/index.d.cts +0 -2
- package/dist/cjs/addons/pino/index.cjs +0 -30
- package/dist/cjs/addons/pino/index.cjs.map +0 -1
- package/dist/cjs/addons/pino/index.d.cts +0 -2
- package/dist/cjs/addons/prisma/index.cjs +0 -133
- package/dist/cjs/addons/prisma/index.cjs.map +0 -1
- package/dist/cjs/addons/prisma/index.d.cts +0 -2
- package/dist/cjs/addons/registry.cjs +0 -65
- package/dist/cjs/addons/registry.cjs.map +0 -1
- package/dist/cjs/addons/registry.d.cts +0 -5
- package/dist/cjs/addons/types.d.cts +0 -16
- package/dist/cjs/addons/valibot/index.cjs +0 -6
- package/dist/cjs/addons/valibot/index.cjs.map +0 -1
- package/dist/cjs/addons/valibot/index.d.cts +0 -1
- package/dist/cjs/addons/validators.cjs +0 -38
- package/dist/cjs/addons/validators.cjs.map +0 -1
- package/dist/cjs/addons/validators.d.cts +0 -5
- package/dist/cjs/addons/winston/index.cjs +0 -34
- package/dist/cjs/addons/winston/index.cjs.map +0 -1
- package/dist/cjs/addons/winston/index.d.cts +0 -2
- package/dist/cjs/addons/zod/index.cjs +0 -6
- package/dist/cjs/addons/zod/index.cjs.map +0 -1
- package/dist/cjs/addons/zod/index.d.cts +0 -1
- package/dist/cjs/cli.cjs +0 -65
- package/dist/cjs/cli.cjs.map +0 -1
- package/dist/cjs/cli.d.cts +0 -2
- package/dist/cjs/commands/create.cjs +0 -332
- package/dist/cjs/commands/create.cjs.map +0 -1
- package/dist/cjs/commands/create.d.cts +0 -14
- package/dist/cjs/core/json-output.cjs +0 -16
- package/dist/cjs/core/json-output.cjs.map +0 -1
- package/dist/cjs/core/json-output.d.cts +0 -4
- package/dist/cjs/core/package-manager.cjs +0 -56
- package/dist/cjs/core/package-manager.cjs.map +0 -1
- package/dist/cjs/core/package-manager.d.cts +0 -8
- package/dist/cjs/core/parse-options.cjs +0 -95
- package/dist/cjs/core/parse-options.cjs.map +0 -1
- package/dist/cjs/core/parse-options.d.cts +0 -35
- package/dist/cjs/core/project-config.cjs +0 -23
- package/dist/cjs/core/project-config.cjs.map +0 -1
- package/dist/cjs/core/project-config.d.cts +0 -2
- package/dist/cjs/core/resolve-packages.cjs +0 -58
- package/dist/cjs/core/resolve-packages.cjs.map +0 -1
- package/dist/cjs/core/resolve-packages.d.cts +0 -2
- package/dist/cjs/core/scaffold-engine.cjs +0 -72
- package/dist/cjs/core/scaffold-engine.cjs.map +0 -1
- package/dist/cjs/core/scaffold-engine.d.cts +0 -2
- package/dist/cjs/core/targets.cjs +0 -171
- package/dist/cjs/core/targets.cjs.map +0 -1
- package/dist/cjs/core/targets.d.cts +0 -49
- package/dist/cjs/core/types.cjs +0 -52
- package/dist/cjs/core/types.cjs.map +0 -1
- package/dist/cjs/core/types.d.cts +0 -57
- package/dist/cjs/core/validate-project-name.cjs +0 -44
- package/dist/cjs/core/validate-project-name.cjs.map +0 -1
- package/dist/cjs/core/validate-project-name.d.cts +0 -1
- package/dist/cjs/frameworks/index.cjs +0 -116
- package/dist/cjs/frameworks/index.cjs.map +0 -1
- package/dist/cjs/frameworks/index.d.cts +0 -18
- package/dist/cjs/scaffold.d.cts +0 -3
- package/dist/cjs/templates/base.cjs +0 -97
- package/dist/cjs/templates/base.cjs.map +0 -1
- package/dist/cjs/templates/base.d.cts +0 -9
- package/dist/cjs/types.d.cts +0 -1
- package/dist/esm/addons/arktype/index.d.ts +0 -1
- package/dist/esm/addons/arktype/index.js +0 -7
- package/dist/esm/addons/arktype/index.js.map +0 -1
- package/dist/esm/addons/drizzle/index.d.ts +0 -2
- package/dist/esm/addons/drizzle/index.js +0 -131
- package/dist/esm/addons/drizzle/index.js.map +0 -1
- package/dist/esm/addons/kysely/index.d.ts +0 -2
- package/dist/esm/addons/kysely/index.js +0 -103
- package/dist/esm/addons/kysely/index.js.map +0 -1
- package/dist/esm/addons/pino/index.d.ts +0 -2
- package/dist/esm/addons/pino/index.js +0 -30
- package/dist/esm/addons/pino/index.js.map +0 -1
- package/dist/esm/addons/prisma/index.d.ts +0 -2
- package/dist/esm/addons/prisma/index.js +0 -133
- package/dist/esm/addons/prisma/index.js.map +0 -1
- package/dist/esm/addons/registry.d.ts +0 -5
- package/dist/esm/addons/registry.js +0 -63
- package/dist/esm/addons/registry.js.map +0 -1
- package/dist/esm/addons/types.d.ts +0 -16
- package/dist/esm/addons/valibot/index.d.ts +0 -1
- package/dist/esm/addons/valibot/index.js +0 -7
- package/dist/esm/addons/valibot/index.js.map +0 -1
- package/dist/esm/addons/validators.d.ts +0 -5
- package/dist/esm/addons/validators.js +0 -36
- package/dist/esm/addons/validators.js.map +0 -1
- package/dist/esm/addons/winston/index.d.ts +0 -2
- package/dist/esm/addons/winston/index.js +0 -34
- package/dist/esm/addons/winston/index.js.map +0 -1
- package/dist/esm/addons/zod/index.d.ts +0 -1
- package/dist/esm/addons/zod/index.js +0 -7
- package/dist/esm/addons/zod/index.js.map +0 -1
- package/dist/esm/cli.d.ts +0 -2
- package/dist/esm/cli.js +0 -62
- package/dist/esm/cli.js.map +0 -1
- package/dist/esm/commands/create.d.ts +0 -14
- package/dist/esm/commands/create.js +0 -327
- package/dist/esm/commands/create.js.map +0 -1
- package/dist/esm/core/json-output.d.ts +0 -4
- package/dist/esm/core/json-output.js +0 -14
- package/dist/esm/core/json-output.js.map +0 -1
- package/dist/esm/core/package-manager.d.ts +0 -8
- package/dist/esm/core/package-manager.js +0 -53
- package/dist/esm/core/package-manager.js.map +0 -1
- package/dist/esm/core/parse-options.d.ts +0 -35
- package/dist/esm/core/parse-options.js +0 -89
- package/dist/esm/core/parse-options.js.map +0 -1
- package/dist/esm/core/project-config.d.ts +0 -2
- package/dist/esm/core/project-config.js +0 -21
- package/dist/esm/core/project-config.js.map +0 -1
- package/dist/esm/core/resolve-packages.d.ts +0 -2
- package/dist/esm/core/resolve-packages.js +0 -58
- package/dist/esm/core/resolve-packages.js.map +0 -1
- package/dist/esm/core/scaffold-engine.d.ts +0 -2
- package/dist/esm/core/scaffold-engine.js +0 -70
- package/dist/esm/core/scaffold-engine.js.map +0 -1
- package/dist/esm/core/targets.d.ts +0 -49
- package/dist/esm/core/targets.js +0 -166
- package/dist/esm/core/targets.js.map +0 -1
- package/dist/esm/core/types.d.ts +0 -57
- package/dist/esm/core/types.js +0 -45
- package/dist/esm/core/types.js.map +0 -1
- package/dist/esm/core/validate-project-name.d.ts +0 -1
- package/dist/esm/core/validate-project-name.js +0 -42
- package/dist/esm/core/validate-project-name.js.map +0 -1
- package/dist/esm/frameworks/index.d.ts +0 -18
- package/dist/esm/frameworks/index.js +0 -112
- package/dist/esm/frameworks/index.js.map +0 -1
- package/dist/esm/scaffold.d.ts +0 -3
- package/dist/esm/templates/base.d.ts +0 -9
- package/dist/esm/templates/base.js +0 -91
- package/dist/esm/templates/base.js.map +0 -1
- package/dist/esm/types.d.ts +0 -1
- package/src/addons/arktype/index.ts +0 -3
- package/src/addons/valibot/index.ts +0 -3
- package/src/addons/zod/index.ts +0 -3
- package/src/core/json-output.ts +0 -13
- package/src/core/parse-options.ts +0 -167
- package/src/core/project-config.ts +0 -32
- package/src/core/resolve-packages.ts +0 -69
- package/src/core/validate-project-name.ts +0 -55
- package/src/frameworks/index.ts +0 -120
- package/src/scaffold.ts +0 -3
- 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 +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,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 +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
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
|
package/dist/esm/cli.js.map
DELETED
|
@@ -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;
|