create-stackkit-app 0.4.3 → 0.4.5
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 +1 -1
- package/bin/create-stackkit.js +10 -1
- package/dist/index.js +62 -3
- package/dist/lib/create-project.d.ts +20 -1
- package/dist/lib/create-project.js +193 -568
- package/dist/lib/utils/config-utils.d.ts +2 -0
- package/dist/lib/utils/config-utils.js +88 -0
- package/dist/lib/utils/file-utils.d.ts +8 -0
- package/dist/lib/utils/file-utils.js +75 -0
- package/dist/lib/utils/git-utils.d.ts +1 -0
- package/dist/lib/utils/git-utils.js +9 -0
- package/dist/lib/utils/js-conversion.d.ts +1 -0
- package/dist/lib/utils/js-conversion.js +244 -0
- package/dist/lib/utils/logger.d.ts +16 -0
- package/dist/lib/utils/logger.js +59 -0
- package/dist/lib/utils/module-utils.d.ts +2 -0
- package/dist/lib/utils/module-utils.js +461 -0
- package/dist/lib/utils/package-utils.d.ts +1 -0
- package/dist/lib/utils/package-utils.js +39 -0
- package/modules/auth/authjs/files/api/auth/[...nextauth]/route.ts +6 -0
- package/modules/auth/authjs/files/lib/auth-client.ts +11 -0
- package/modules/auth/authjs/files/lib/auth.ts +41 -0
- package/modules/auth/authjs/files/schemas/prisma-schema.prisma +45 -0
- package/modules/auth/authjs/module.json +95 -0
- package/modules/auth/better-auth/files/lib/auth-client.ts +7 -0
- package/modules/auth/better-auth/files/lib/auth.ts +75 -0
- package/modules/auth/better-auth/files/lib/email-service.ts +34 -0
- package/modules/auth/better-auth/files/lib/email-templates.ts +89 -0
- package/modules/auth/better-auth/files/schemas/prisma-schema.prisma +63 -0
- package/modules/auth/better-auth/module.json +191 -0
- package/modules/database/mongoose/files/lib/db.ts +68 -0
- package/modules/database/mongoose/files/models/User.ts +34 -0
- package/modules/database/mongoose/module.json +55 -0
- package/modules/database/prisma/files/lib/prisma.ts +4 -0
- package/modules/database/prisma/files/prisma/schema.prisma +8 -0
- package/modules/database/prisma/files/prisma.config.ts +12 -0
- package/modules/database/prisma/module.json +122 -0
- package/package.json +7 -3
- package/templates/express/.env.example +1 -10
- package/templates/express/package.json +15 -21
- package/templates/express/src/app.ts +9 -29
- package/templates/express/src/config/env.ts +3 -14
- package/templates/express/src/features/health/health.controller.ts +18 -0
- package/templates/express/src/features/health/health.route.ts +9 -0
- package/templates/express/src/features/health/health.service.ts +6 -0
- package/templates/express/src/middlewares/error.middleware.ts +2 -2
- package/templates/express/src/server.ts +1 -1
- package/templates/express/template.json +1 -5
- package/templates/express/tsconfig.json +0 -1
- package/templates/nextjs/lib/env.ts +8 -0
- package/templates/nextjs/package.json +7 -7
- package/templates/react-vite/.env.example +1 -2
- package/templates/react-vite/.prettierignore +4 -0
- package/templates/react-vite/.prettierrc +9 -0
- package/templates/react-vite/README.md +22 -0
- package/templates/react-vite/package.json +16 -16
- package/templates/react-vite/src/router.tsx +0 -12
- package/templates/react-vite/vite.config.ts +0 -6
- package/dist/lib/template-composer.d.ts +0 -16
- package/dist/lib/template-composer.js +0 -197
- package/modules/auth/better-auth-express/adapters/mongoose-mongodb.ts +0 -13
- package/modules/auth/better-auth-express/adapters/prisma-mongodb.ts +0 -15
- package/modules/auth/better-auth-express/adapters/prisma-postgresql.ts +0 -15
- package/modules/auth/better-auth-express/files/lib/auth.ts +0 -16
- package/modules/auth/better-auth-express/files/routes/auth.ts +0 -12
- package/modules/auth/better-auth-express/files/schemas/prisma-mongodb-schema.prisma +0 -72
- package/modules/auth/better-auth-express/files/schemas/prisma-postgresql-schema.prisma +0 -72
- package/modules/auth/better-auth-express/module.json +0 -61
- package/modules/auth/better-auth-nextjs/adapters/mongoose-mongodb.ts +0 -24
- package/modules/auth/better-auth-nextjs/adapters/prisma-mongodb.ts +0 -26
- package/modules/auth/better-auth-nextjs/adapters/prisma-postgresql.ts +0 -26
- package/modules/auth/better-auth-nextjs/files/lib/auth.ts +0 -26
- package/modules/auth/better-auth-nextjs/files/schemas/prisma-mongodb-schema.prisma +0 -72
- package/modules/auth/better-auth-nextjs/files/schemas/prisma-postgresql-schema.prisma +0 -72
- package/modules/auth/better-auth-nextjs/module.json +0 -62
- package/modules/auth/better-auth-react/files/lib/auth-client.ts +0 -9
- package/modules/auth/better-auth-react/module.json +0 -28
- package/modules/auth/clerk-express/files/lib/auth.ts +0 -7
- package/modules/auth/clerk-express/module.json +0 -34
- package/modules/auth/clerk-nextjs/files/lib/auth-provider.tsx +0 -5
- package/modules/auth/clerk-nextjs/files/middleware.ts +0 -9
- package/modules/auth/clerk-nextjs/module.json +0 -64
- package/modules/auth/clerk-react/files/lib/auth-provider.tsx +0 -15
- package/modules/auth/clerk-react/module.json +0 -28
- package/modules/database/mongoose-mongodb/files/lib/db.ts +0 -40
- package/modules/database/mongoose-mongodb/module.json +0 -55
- package/modules/database/prisma-mongodb/files/lib/db.ts +0 -9
- package/modules/database/prisma-mongodb/files/prisma/schema.prisma +0 -17
- package/modules/database/prisma-mongodb/module.json +0 -60
- package/modules/database/prisma-postgresql/files/lib/db.ts +0 -9
- package/modules/database/prisma-postgresql/files/prisma/schema.prisma +0 -17
- package/modules/database/prisma-postgresql/module.json +0 -60
- package/templates/react-vite/src/api/services/user.service.ts +0 -18
- package/templates/react-vite/src/pages/UserProfile.tsx +0 -40
- package/templates/react-vite/src/types/user.d.ts +0 -6
- /package/modules/auth/{better-auth-nextjs → better-auth}/files/api/auth/[...all]/route.ts +0 -0
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Interactive wizard helps you choose:
|
|
|
12
12
|
|
|
13
13
|
- **Framework**: Next.js, Express, or React + Vite
|
|
14
14
|
- **Database**: Prisma (PostgreSQL/MongoDB), Mongoose (MongoDB)
|
|
15
|
-
- **Authentication**: Better Auth,
|
|
15
|
+
- **Authentication**: Better Auth, Auth.js
|
|
16
16
|
- **Package manager**: pnpm, npm, or yarn
|
|
17
17
|
|
|
18
18
|
## Quick Start
|
package/bin/create-stackkit.js
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
try {
|
|
4
|
+
// eslint-disable-next-line
|
|
5
|
+
require("ts-node/register");
|
|
6
|
+
// eslint-disable-next-line
|
|
7
|
+
require("../src/index.ts");
|
|
8
|
+
} catch {
|
|
9
|
+
// eslint-disable-next-line
|
|
10
|
+
require("../dist/index.js");
|
|
11
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -2,14 +2,73 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const create_project_1 = require("./lib/create-project");
|
|
5
|
+
const logger_1 = require("./lib/utils/logger");
|
|
6
|
+
function parseArgs(args) {
|
|
7
|
+
const options = {};
|
|
8
|
+
let projectName;
|
|
9
|
+
for (let i = 0; i < args.length; i++) {
|
|
10
|
+
const arg = args[i];
|
|
11
|
+
if (arg === '--help' || arg === '-h') {
|
|
12
|
+
showHelp();
|
|
13
|
+
process.exit(0);
|
|
14
|
+
}
|
|
15
|
+
if (arg.startsWith('--')) {
|
|
16
|
+
const key = arg.slice(2);
|
|
17
|
+
if (args[i + 1] && !args[i + 1].startsWith('--')) {
|
|
18
|
+
options[key] = args[i + 1];
|
|
19
|
+
i++;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
options[key] = true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else if (arg.startsWith('-') && arg.length === 2) {
|
|
26
|
+
const key = arg.slice(1);
|
|
27
|
+
if (args[i + 1] && !args[i + 1].startsWith('-')) {
|
|
28
|
+
options[key] = args[i + 1];
|
|
29
|
+
i++;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
options[key] = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (!projectName) {
|
|
36
|
+
projectName = arg;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { projectName, options };
|
|
40
|
+
}
|
|
41
|
+
function showHelp() {
|
|
42
|
+
logger_1.logger.log(`
|
|
43
|
+
Create StackKit App
|
|
44
|
+
|
|
45
|
+
Usage:
|
|
46
|
+
create-stackkit-app [project-name] [options]
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
-f, --framework <framework> Framework: nextjs, express, react-vite
|
|
50
|
+
-d, --database <database> Database: prisma-postgresql, prisma-mongodb, prisma-mysql, prisma-sqlite, mongoose-mongodb, none
|
|
51
|
+
-a, --auth <auth> Auth: better-auth, authjs, none
|
|
52
|
+
-l, --language <language> Language: typescript, javascript
|
|
53
|
+
-p, --package-manager <pm> Package manager: pnpm, npm, yarn, bun
|
|
54
|
+
--skip-install Skip dependency installation
|
|
55
|
+
--no-git Skip git initialization
|
|
56
|
+
-y, --yes Use default options
|
|
57
|
+
-h, --help Show this help
|
|
58
|
+
|
|
59
|
+
Examples:
|
|
60
|
+
create-stackkit-app my-app --framework nextjs --database prisma-postgresql --auth better-auth
|
|
61
|
+
create-stackkit-app --help
|
|
62
|
+
`);
|
|
63
|
+
}
|
|
5
64
|
async function main() {
|
|
6
65
|
const args = process.argv.slice(2);
|
|
7
|
-
const projectName = args
|
|
66
|
+
const { projectName, options } = parseArgs(args);
|
|
8
67
|
try {
|
|
9
|
-
await (0, create_project_1.createProject)(projectName);
|
|
68
|
+
await (0, create_project_1.createProject)(projectName, options);
|
|
10
69
|
}
|
|
11
70
|
catch (error) {
|
|
12
|
-
|
|
71
|
+
logger_1.logger.error(`Error: ${error.message}`);
|
|
13
72
|
process.exit(1);
|
|
14
73
|
}
|
|
15
74
|
}
|
|
@@ -1 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
interface CliOptions {
|
|
2
|
+
framework?: string;
|
|
3
|
+
f?: string;
|
|
4
|
+
database?: string;
|
|
5
|
+
d?: string;
|
|
6
|
+
auth?: string;
|
|
7
|
+
a?: string;
|
|
8
|
+
language?: string;
|
|
9
|
+
l?: string;
|
|
10
|
+
packageManager?: string;
|
|
11
|
+
p?: string;
|
|
12
|
+
install?: boolean;
|
|
13
|
+
'skip-install'?: boolean;
|
|
14
|
+
git?: boolean;
|
|
15
|
+
'no-git'?: boolean;
|
|
16
|
+
yes?: boolean;
|
|
17
|
+
y?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function createProject(projectName?: string, options?: CliOptions): Promise<void>;
|
|
20
|
+
export {};
|