stackkit-cli 0.3.0 → 0.3.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.
- package/README.md +6 -0
- package/dist/commands/add.js +12 -4
- package/dist/commands/add.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/code-inject.js +1 -1
- package/dist/utils/code-inject.js.map +1 -1
- package/dist/utils/detect.d.ts.map +1 -1
- package/dist/utils/detect.js +45 -16
- package/dist/utils/detect.js.map +1 -1
- package/dist/utils/env-editor.d.ts.map +1 -1
- package/dist/utils/env-editor.js +2 -2
- package/dist/utils/env-editor.js.map +1 -1
- package/dist/utils/files.js +1 -1
- package/dist/utils/files.js.map +1 -1
- package/modules/auth/authjs-express/files/lib/auth.ts +40 -0
- package/modules/auth/authjs-express/files/routes/auth.ts +12 -0
- package/modules/auth/authjs-express/module.json +39 -0
- package/modules/auth/authjs-nextjs/files/api/auth/[...nextauth]/route.ts +3 -0
- package/modules/auth/authjs-nextjs/files/lib/auth.ts +43 -0
- package/modules/auth/authjs-nextjs/module.json +38 -0
- package/modules/auth/better-auth-express/files/lib/auth.ts +16 -0
- package/modules/auth/better-auth-express/files/routes/auth.ts +12 -0
- package/modules/auth/better-auth-express/module.json +38 -0
- package/modules/auth/better-auth-nextjs/files/api/auth/[...all]/route.ts +3 -0
- package/modules/auth/better-auth-nextjs/files/lib/auth.ts +18 -0
- package/modules/auth/better-auth-nextjs/module.json +38 -0
- package/modules/auth/better-auth-react/files/lib/auth-client.ts +9 -0
- package/modules/auth/better-auth-react/module.json +26 -0
- package/modules/database/prisma-mongodb/files/lib/db.ts +9 -0
- package/modules/database/prisma-mongodb/files/prisma/schema.prisma +17 -0
- package/modules/database/prisma-mongodb/module.json +36 -0
- package/modules/database/prisma-postgresql/files/lib/db.ts +9 -0
- package/modules/database/prisma-postgresql/files/prisma/schema.prisma +17 -0
- package/modules/database/prisma-postgresql/module.json +36 -0
- package/package.json +4 -4
- package/templates/auth/authjs-express/config.json +20 -0
- package/templates/auth/authjs-express/files/lib/auth.ts +43 -0
- package/templates/auth/authjs-express/files/routes/auth.ts +12 -0
- package/templates/auth/authjs-express/lib/auth.ts +43 -0
- package/templates/auth/authjs-express/module.json +39 -0
- package/templates/auth/authjs-express/routes/auth.ts +12 -0
- package/templates/auth/authjs-nextjs/app/api/auth/[...nextauth]/route.ts +3 -0
- package/templates/auth/authjs-nextjs/config.json +19 -0
- package/templates/auth/authjs-nextjs/files/api/auth/[...nextauth]/route.ts +3 -0
- package/templates/auth/authjs-nextjs/files/lib/auth.ts +45 -0
- package/templates/auth/authjs-nextjs/lib/auth.ts +45 -0
- package/templates/auth/authjs-nextjs/module.json +38 -0
- package/templates/auth/better-auth-react/config.json +15 -0
- package/templates/auth/better-auth-react/files/lib/auth-client.ts +9 -0
- package/templates/auth/better-auth-react/lib/auth-client.ts +9 -0
- package/templates/auth/better-auth-react/module.json +26 -0
- package/templates/next-prisma-postgres-shadcn/.env.example +0 -5
- package/templates/next-prisma-postgres-shadcn/.eslintrc.json +0 -7
- package/templates/next-prisma-postgres-shadcn/.prettierrc +0 -8
- package/templates/next-prisma-postgres-shadcn/README.md +0 -85
- package/templates/next-prisma-postgres-shadcn/app/api/health/route.ts +0 -25
- package/templates/next-prisma-postgres-shadcn/app/globals.css +0 -1
- package/templates/next-prisma-postgres-shadcn/app/layout.tsx +0 -22
- package/templates/next-prisma-postgres-shadcn/app/page.tsx +0 -29
- package/templates/next-prisma-postgres-shadcn/lib/db.ts +0 -14
- package/templates/next-prisma-postgres-shadcn/lib/env.ts +0 -15
- package/templates/next-prisma-postgres-shadcn/next.config.ts +0 -7
- package/templates/next-prisma-postgres-shadcn/package.json +0 -32
- package/templates/next-prisma-postgres-shadcn/prisma/schema.prisma +0 -20
- package/templates/next-prisma-postgres-shadcn/public/.gitkeep +0 -1
- package/templates/next-prisma-postgres-shadcn/template.json +0 -18
- package/templates/next-prisma-postgres-shadcn/tsconfig.json +0 -32
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ npx stackkit-cli add auth
|
|
|
34
34
|
Create a new project from a template.
|
|
35
35
|
|
|
36
36
|
**Options:**
|
|
37
|
+
|
|
37
38
|
- `--template <name>` - Template to use
|
|
38
39
|
- `--pm <npm|yarn|pnpm>` - Package manager (default: auto-detect)
|
|
39
40
|
- `--no-install` - Skip dependency installation
|
|
@@ -41,6 +42,7 @@ Create a new project from a template.
|
|
|
41
42
|
- `--yes` - Skip all prompts
|
|
42
43
|
|
|
43
44
|
**Examples:**
|
|
45
|
+
|
|
44
46
|
```bash
|
|
45
47
|
npx stackkit-cli init my-app
|
|
46
48
|
npx stackkit-cli init my-app --template next-prisma-postgres-shadcn --pm pnpm
|
|
@@ -52,10 +54,12 @@ npx stackkit-cli init my-app --no-install --no-git --yes
|
|
|
52
54
|
List available templates and modules.
|
|
53
55
|
|
|
54
56
|
**Options:**
|
|
57
|
+
|
|
55
58
|
- `--templates` - Show templates only
|
|
56
59
|
- `--modules` - Show modules only
|
|
57
60
|
|
|
58
61
|
**Examples:**
|
|
62
|
+
|
|
59
63
|
```bash
|
|
60
64
|
npx stackkit-cli list
|
|
61
65
|
npx stackkit-cli list --templates
|
|
@@ -67,11 +71,13 @@ npx stackkit-cli list --modules
|
|
|
67
71
|
Add a module to your existing project.
|
|
68
72
|
|
|
69
73
|
**Options:**
|
|
74
|
+
|
|
70
75
|
- `--dry-run` - Preview changes without applying
|
|
71
76
|
- `--force` - Overwrite existing files
|
|
72
77
|
- `--no-install` - Skip dependency installation
|
|
73
78
|
|
|
74
79
|
**Examples:**
|
|
80
|
+
|
|
75
81
|
```bash
|
|
76
82
|
npx stackkit-cli add auth
|
|
77
83
|
npx stackkit-cli add auth --dry-run
|
package/dist/commands/add.js
CHANGED
|
@@ -123,8 +123,12 @@ async function loadModuleMetadata(modulesDir, moduleName, provider) {
|
|
|
123
123
|
const metadataPath = path_1.default.join(modulePath, 'module.json');
|
|
124
124
|
if (await fs_extra_1.default.pathExists(metadataPath)) {
|
|
125
125
|
const metadata = await fs_extra_1.default.readJSON(metadataPath);
|
|
126
|
-
//
|
|
127
|
-
if (
|
|
126
|
+
// If provider is specified, match by directory name (exact match)
|
|
127
|
+
if (provider && moduleDir === provider) {
|
|
128
|
+
return metadata;
|
|
129
|
+
}
|
|
130
|
+
// Otherwise, match by module name (category)
|
|
131
|
+
if (!provider && metadata.name === moduleName) {
|
|
128
132
|
return metadata;
|
|
129
133
|
}
|
|
130
134
|
}
|
|
@@ -189,8 +193,12 @@ async function findModulePath(modulesDir, moduleName, provider) {
|
|
|
189
193
|
const metadataPath = path_1.default.join(modulePath, 'module.json');
|
|
190
194
|
if (await fs_extra_1.default.pathExists(metadataPath)) {
|
|
191
195
|
const metadata = await fs_extra_1.default.readJSON(metadataPath);
|
|
192
|
-
//
|
|
193
|
-
if (
|
|
196
|
+
// If provider is specified, match by directory name (exact match)
|
|
197
|
+
if (provider && moduleDir === provider) {
|
|
198
|
+
return modulePath;
|
|
199
|
+
}
|
|
200
|
+
// Otherwise, match by module name (category)
|
|
201
|
+
if (!provider && metadata.name === moduleName) {
|
|
194
202
|
return modulePath;
|
|
195
203
|
}
|
|
196
204
|
}
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,yCAAoC;AACpC,wCAA4C;AAC5C,0CAA8C;AAC9C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;KACtD,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;KAC/D,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KAChD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAC5C,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,CAAC;KACnE,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,iBAAiB;AACjB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,yCAAoC;AACpC,wCAA4C;AAC5C,0CAA8C;AAC9C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;KACtD,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;KAC/D,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KAChD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAC5C,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,CAAC;KACnE,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,iBAAiB;AACjB,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -47,12 +47,13 @@ export interface ModifyJsonPatch extends ModulePatch {
|
|
|
47
47
|
}[];
|
|
48
48
|
}
|
|
49
49
|
export interface ProjectInfo {
|
|
50
|
-
framework: 'nextjs' | 'unknown';
|
|
50
|
+
framework: 'nextjs' | 'express' | 'react' | 'react-vite' | 'unknown';
|
|
51
51
|
router: 'app' | 'pages' | 'unknown';
|
|
52
52
|
language: 'ts' | 'js';
|
|
53
53
|
packageManager: 'npm' | 'yarn' | 'pnpm';
|
|
54
54
|
hasAuth: boolean;
|
|
55
55
|
hasPrisma: boolean;
|
|
56
|
+
hasDatabase: boolean;
|
|
56
57
|
rootDir: string;
|
|
57
58
|
}
|
|
58
59
|
export interface CLIOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,CAAC;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,CAAC;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IACrE,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAC9B"}
|
|
@@ -10,7 +10,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
10
10
|
const CODE_MARKER_START = (id) => `// StackKit:${id}:start`;
|
|
11
11
|
const CODE_MARKER_END = (id) => `// StackKit:${id}:end`;
|
|
12
12
|
async function injectCode(filePath, injection, position, options = {}) {
|
|
13
|
-
if (!await fs_extra_1.default.pathExists(filePath)) {
|
|
13
|
+
if (!(await fs_extra_1.default.pathExists(filePath))) {
|
|
14
14
|
throw new Error(`File not found: ${filePath}`);
|
|
15
15
|
}
|
|
16
16
|
let content = await fs_extra_1.default.readFile(filePath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-inject.js","sourceRoot":"","sources":["../../src/utils/code-inject.ts"],"names":[],"mappings":";;;;;AAYA,gCA+CC;AAED,0CAmBC;AAED,oCAEC;AApFD,wDAA0B;AAG1B,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;AACpE,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC;AAQzD,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,SAAwB,EACxB,QAAuE,EACvE,UAA+B,EAAE;IAEjC,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"code-inject.js","sourceRoot":"","sources":["../../src/utils/code-inject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+F/E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAUlE;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAO3D"}
|
package/dist/utils/detect.js
CHANGED
|
@@ -10,27 +10,47 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
async function detectProjectInfo(targetDir) {
|
|
12
12
|
const packageJsonPath = path_1.default.join(targetDir, 'package.json');
|
|
13
|
-
if (!await fs_extra_1.default.pathExists(packageJsonPath)) {
|
|
13
|
+
if (!(await fs_extra_1.default.pathExists(packageJsonPath))) {
|
|
14
14
|
throw new Error('No package.json found. This does not appear to be a Node.js project.');
|
|
15
15
|
}
|
|
16
16
|
const packageJson = await fs_extra_1.default.readJSON(packageJsonPath);
|
|
17
17
|
// Detect framework
|
|
18
18
|
const isNextJs = packageJson.dependencies?.next || packageJson.devDependencies?.next;
|
|
19
|
-
const
|
|
19
|
+
const isExpress = packageJson.dependencies?.express || packageJson.devDependencies?.express;
|
|
20
|
+
const isReact = packageJson.dependencies?.react || packageJson.devDependencies?.react;
|
|
21
|
+
const isVite = packageJson.dependencies?.vite || packageJson.devDependencies?.vite;
|
|
22
|
+
let framework;
|
|
23
|
+
if (isNextJs) {
|
|
24
|
+
framework = 'nextjs';
|
|
25
|
+
}
|
|
26
|
+
else if (isExpress) {
|
|
27
|
+
framework = 'express';
|
|
28
|
+
}
|
|
29
|
+
else if (isReact && isVite) {
|
|
30
|
+
framework = 'react-vite';
|
|
31
|
+
}
|
|
32
|
+
else if (isReact) {
|
|
33
|
+
framework = 'react';
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
framework = 'unknown';
|
|
37
|
+
}
|
|
20
38
|
if (framework === 'unknown') {
|
|
21
|
-
throw new Error('Only Next.js projects are currently supported.');
|
|
39
|
+
throw new Error('Only Next.js, Express, and React projects are currently supported.');
|
|
22
40
|
}
|
|
23
|
-
// Detect router type
|
|
24
|
-
const appDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'app'));
|
|
25
|
-
const pagesDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'pages'));
|
|
26
|
-
const srcAppDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'src', 'app'));
|
|
27
|
-
const srcPagesDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'src', 'pages'));
|
|
41
|
+
// Detect router type (only for Next.js)
|
|
28
42
|
let router = 'unknown';
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
43
|
+
if (framework === 'nextjs') {
|
|
44
|
+
const appDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'app'));
|
|
45
|
+
const pagesDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'pages'));
|
|
46
|
+
const srcAppDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'src', 'app'));
|
|
47
|
+
const srcPagesDirExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'src', 'pages'));
|
|
48
|
+
if (appDirExists || srcAppDirExists) {
|
|
49
|
+
router = 'app';
|
|
50
|
+
}
|
|
51
|
+
else if (pagesDirExists || srcPagesDirExists) {
|
|
52
|
+
router = 'pages';
|
|
53
|
+
}
|
|
34
54
|
}
|
|
35
55
|
// Detect TypeScript vs JavaScript
|
|
36
56
|
const tsconfigExists = await fs_extra_1.default.pathExists(path_1.default.join(targetDir, 'tsconfig.json'));
|
|
@@ -47,11 +67,16 @@ async function detectProjectInfo(targetDir) {
|
|
|
47
67
|
}
|
|
48
68
|
// Check for existing integrations
|
|
49
69
|
const hasAuth = !!(packageJson.dependencies?.['next-auth'] ||
|
|
70
|
+
packageJson.dependencies?.['better-auth'] ||
|
|
50
71
|
packageJson.dependencies?.['@auth/core'] ||
|
|
51
72
|
packageJson.dependencies?.['@clerk/nextjs'] ||
|
|
52
|
-
packageJson.dependencies?.['@kinde-oss/kinde-auth-nextjs']
|
|
53
|
-
|
|
54
|
-
|
|
73
|
+
packageJson.dependencies?.['@kinde-oss/kinde-auth-nextjs'] ||
|
|
74
|
+
packageJson.dependencies?.['passport']);
|
|
75
|
+
const hasPrisma = !!(packageJson.dependencies?.['@prisma/client'] || packageJson.devDependencies?.['prisma']);
|
|
76
|
+
const hasDatabase = hasPrisma ||
|
|
77
|
+
!!(packageJson.dependencies?.['mongoose'] ||
|
|
78
|
+
packageJson.dependencies?.['typeorm'] ||
|
|
79
|
+
packageJson.dependencies?.['drizzle-orm']);
|
|
55
80
|
return {
|
|
56
81
|
framework,
|
|
57
82
|
router,
|
|
@@ -59,6 +84,7 @@ async function detectProjectInfo(targetDir) {
|
|
|
59
84
|
packageManager,
|
|
60
85
|
hasAuth,
|
|
61
86
|
hasPrisma,
|
|
87
|
+
hasDatabase,
|
|
62
88
|
rootDir: targetDir,
|
|
63
89
|
};
|
|
64
90
|
}
|
|
@@ -73,6 +99,9 @@ function getRouterBasePath(projectInfo) {
|
|
|
73
99
|
throw new Error('Unknown router type');
|
|
74
100
|
}
|
|
75
101
|
function getLibPath(projectInfo) {
|
|
102
|
+
if (projectInfo.framework === 'express') {
|
|
103
|
+
return 'src/lib';
|
|
104
|
+
}
|
|
76
105
|
const srcExists = fs_extra_1.default.existsSync(path_1.default.join(projectInfo.rootDir, 'src'));
|
|
77
106
|
return srcExists ? 'src/lib' : 'lib';
|
|
78
107
|
}
|
package/dist/utils/detect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":";;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/utils/detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-editor.d.ts","sourceRoot":"","sources":["../../src/utils/env-editor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,IAAI,CAAC,CAcf;AA8DD,wBAAsB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"env-editor.d.ts","sourceRoot":"","sources":["../../src/utils/env-editor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EAAE,EACxB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,IAAI,CAAC,CAcf;AA8DD,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F"}
|
package/dist/utils/env-editor.js
CHANGED
|
@@ -59,7 +59,7 @@ async function appendToEnvFile(filePath, variables, fileType, options = {}) {
|
|
|
59
59
|
if (variable.description) {
|
|
60
60
|
content += `# ${variable.description}\n`;
|
|
61
61
|
}
|
|
62
|
-
const value = fileType === 'example' ?
|
|
62
|
+
const value = fileType === 'example' ? variable.value || '' : variable.value || '';
|
|
63
63
|
content += `${variable.key}=${value}\n`;
|
|
64
64
|
}
|
|
65
65
|
content += `${ENV_MARKER_END}\n`;
|
|
@@ -74,7 +74,7 @@ async function removeEnvVariables(projectRoot, keys) {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
async function removeFromEnvFile(filePath, keys) {
|
|
77
|
-
if (!await fs_extra_1.default.pathExists(filePath)) {
|
|
77
|
+
if (!(await fs_extra_1.default.pathExists(filePath))) {
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
let content = await fs_extra_1.default.readFile(filePath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-editor.js","sourceRoot":"","sources":["../../src/utils/env-editor.ts"],"names":[],"mappings":";;;;;AAcA,0CAkBC;AA8DD,
|
|
1
|
+
{"version":3,"file":"env-editor.js","sourceRoot":"","sources":["../../src/utils/env-editor.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/files.js
CHANGED
|
@@ -11,7 +11,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
12
|
const logger_1 = require("./logger");
|
|
13
13
|
async function copyTemplate(templatePath, targetPath, projectName) {
|
|
14
|
-
if (!await fs_extra_1.default.pathExists(templatePath)) {
|
|
14
|
+
if (!(await fs_extra_1.default.pathExists(templatePath))) {
|
|
15
15
|
throw new Error(`Template not found: ${templatePath}`);
|
|
16
16
|
}
|
|
17
17
|
// Create target directory
|
package/dist/utils/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/utils/files.ts"],"names":[],"mappings":";;;;;AAIA,oCA8BC;AAED,gCAcC;AAED,4BAEC;AAED,gCAEC;AA1DD,wDAA0B;AAC1B,gDAAwB;AACxB,qCAAkC;AAE3B,KAAK,UAAU,YAAY,CAChC,YAAoB,EACpB,UAAkB,EAClB,WAAmB;IAEnB,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/utils/files.ts"],"names":[],"mappings":";;;;;AAIA,oCA8BC;AAED,gCAcC;AAED,4BAEC;AAED,gCAEC;AA1DD,wDAA0B;AAC1B,gDAAwB;AACxB,qCAAkC;AAE3B,KAAK,UAAU,YAAY,CAChC,YAAoB,EACpB,UAAkB,EAClB,WAAmB;IAEnB,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,0BAA0B;IAC1B,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,iBAAiB;IACjB,MAAM,kBAAE,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE;QACtC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpC,oDAAoD;YACpD,OAAO,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,cAAc,CAAC;QACrE,CAAC;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvD,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;QAC/B,MAAM,kBAAE,CAAC,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,eAAM,CAAC,OAAO,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;AACrD,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,OAAe,EACf,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,eAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,6BAA6B,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,OAAO,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,OAAO,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Credentials from '@auth/core/providers/credentials';
|
|
2
|
+
|
|
3
|
+
export const authConfig = {
|
|
4
|
+
secret: process.env.AUTH_SECRET,
|
|
5
|
+
trustHost: true,
|
|
6
|
+
providers: [
|
|
7
|
+
// GitHub OAuth Provider
|
|
8
|
+
// Uncomment and add GITHUB_ID and GITHUB_SECRET to .env
|
|
9
|
+
// GitHub({
|
|
10
|
+
// clientId: process.env.GITHUB_ID!,
|
|
11
|
+
// clientSecret: process.env.GITHUB_SECRET!,
|
|
12
|
+
// }),
|
|
13
|
+
|
|
14
|
+
// Google OAuth Provider
|
|
15
|
+
// Uncomment and add GOOGLE_ID and GOOGLE_SECRET to .env
|
|
16
|
+
// Google({
|
|
17
|
+
// clientId: process.env.GOOGLE_ID!,
|
|
18
|
+
// clientSecret: process.env.GOOGLE_SECRET!,
|
|
19
|
+
// }),
|
|
20
|
+
|
|
21
|
+
// Credentials Provider (email/password)
|
|
22
|
+
Credentials({
|
|
23
|
+
credentials: {
|
|
24
|
+
email: { label: 'Email', type: 'email' },
|
|
25
|
+
password: { label: 'Password', type: 'password' },
|
|
26
|
+
},
|
|
27
|
+
authorize: async (credentials) => {
|
|
28
|
+
// Add your own authentication logic here
|
|
29
|
+
if (credentials?.email === 'demo@example.com' && credentials?.password === 'demo') {
|
|
30
|
+
return {
|
|
31
|
+
id: '1',
|
|
32
|
+
name: 'Demo User',
|
|
33
|
+
email: 'demo@example.com',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
],
|
|
40
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Auth } from '@auth/core';
|
|
2
|
+
import { Router } from 'express';
|
|
3
|
+
import { authConfig } from '../lib/auth';
|
|
4
|
+
|
|
5
|
+
const router = Router();
|
|
6
|
+
|
|
7
|
+
router.all('/auth/*', async (req, res) => {
|
|
8
|
+
const response = await Auth(req, authConfig);
|
|
9
|
+
return res.status(response.status).json(response.body);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export default router;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "auth",
|
|
3
|
+
"displayName": "Auth.js (Express)",
|
|
4
|
+
"description": "Authentication with Auth.js for Express",
|
|
5
|
+
"category": "auth",
|
|
6
|
+
"supportedFrameworks": ["express"],
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@auth/express": "^0.7.6",
|
|
9
|
+
"@auth/core": "^0.37.4"
|
|
10
|
+
},
|
|
11
|
+
"envVars": [
|
|
12
|
+
{
|
|
13
|
+
"key": "AUTH_SECRET",
|
|
14
|
+
"value": "",
|
|
15
|
+
"description": "Secret for encrypting tokens. Generate with: openssl rand -base64 32",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "AUTH_TRUST_HOST",
|
|
20
|
+
"value": "true",
|
|
21
|
+
"description": "Trust the host header (required for Express)",
|
|
22
|
+
"required": true
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"patches": [
|
|
26
|
+
{
|
|
27
|
+
"type": "create-file",
|
|
28
|
+
"description": "Create Auth.js configuration",
|
|
29
|
+
"source": "lib/auth.ts",
|
|
30
|
+
"destination": "src/lib/auth.ts"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "create-file",
|
|
34
|
+
"description": "Create auth routes",
|
|
35
|
+
"source": "routes/auth.ts",
|
|
36
|
+
"destination": "src/routes/auth.ts"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import NextAuth from 'next-auth';
|
|
2
|
+
import Credentials from 'next-auth/providers/credentials';
|
|
3
|
+
|
|
4
|
+
export const { handlers, signIn, signOut, auth } = NextAuth({
|
|
5
|
+
providers: [
|
|
6
|
+
// GitHub OAuth Provider
|
|
7
|
+
// Uncomment and add GITHUB_ID and GITHUB_SECRET to .env
|
|
8
|
+
// GitHub({
|
|
9
|
+
// clientId: process.env.GITHUB_ID!,
|
|
10
|
+
// clientSecret: process.env.GITHUB_SECRET!,
|
|
11
|
+
// }),
|
|
12
|
+
|
|
13
|
+
// Google OAuth Provider
|
|
14
|
+
// Uncomment and add GOOGLE_ID and GOOGLE_SECRET to .env
|
|
15
|
+
// Google({
|
|
16
|
+
// clientId: process.env.GOOGLE_ID!,
|
|
17
|
+
// clientSecret: process.env.GOOGLE_SECRET!,
|
|
18
|
+
// }),
|
|
19
|
+
|
|
20
|
+
// Credentials Provider (email/password)
|
|
21
|
+
Credentials({
|
|
22
|
+
credentials: {
|
|
23
|
+
email: { label: 'Email', type: 'email' },
|
|
24
|
+
password: { label: 'Password', type: 'password' },
|
|
25
|
+
},
|
|
26
|
+
authorize: async (credentials) => {
|
|
27
|
+
// Add your own authentication logic here
|
|
28
|
+
// This is just a demo - DO NOT use in production
|
|
29
|
+
if (credentials?.email === 'demo@example.com' && credentials?.password === 'demo') {
|
|
30
|
+
return {
|
|
31
|
+
id: '1',
|
|
32
|
+
name: 'Demo User',
|
|
33
|
+
email: 'demo@example.com',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
],
|
|
40
|
+
pages: {
|
|
41
|
+
signIn: '/auth/signin',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "auth",
|
|
3
|
+
"displayName": "Auth.js v5 (Next.js)",
|
|
4
|
+
"description": "Modern authentication with Auth.js v5 (NextAuth successor)",
|
|
5
|
+
"category": "auth",
|
|
6
|
+
"supportedFrameworks": ["nextjs"],
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"next-auth": "^5.0.0-beta.25"
|
|
9
|
+
},
|
|
10
|
+
"envVars": [
|
|
11
|
+
{
|
|
12
|
+
"key": "AUTH_SECRET",
|
|
13
|
+
"value": "",
|
|
14
|
+
"description": "Secret for encrypting tokens. Generate with: openssl rand -base64 32",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"key": "AUTH_URL",
|
|
19
|
+
"value": "http://localhost:3000",
|
|
20
|
+
"description": "Canonical URL of your site (change in production)",
|
|
21
|
+
"required": false
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"patches": [
|
|
25
|
+
{
|
|
26
|
+
"type": "create-file",
|
|
27
|
+
"description": "Create Auth.js configuration",
|
|
28
|
+
"source": "lib/auth.ts",
|
|
29
|
+
"destination": "{{lib}}/auth.ts"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "create-file",
|
|
33
|
+
"description": "Create Auth.js API route",
|
|
34
|
+
"source": "api/auth/[...nextauth]/route.ts",
|
|
35
|
+
"destination": "{{router}}/api/auth/[...nextauth]/route.ts"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { betterAuth } from 'better-auth';
|
|
2
|
+
|
|
3
|
+
export const auth = betterAuth({
|
|
4
|
+
secret: process.env.BETTER_AUTH_SECRET!,
|
|
5
|
+
baseURL: process.env.BETTER_AUTH_URL!,
|
|
6
|
+
|
|
7
|
+
emailAndPassword: {
|
|
8
|
+
enabled: true,
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
// Uncomment to add database adapter
|
|
12
|
+
// database: {
|
|
13
|
+
// provider: "pg", // or "mongodb", "mysql"
|
|
14
|
+
// url: process.env.DATABASE_URL!,
|
|
15
|
+
// },
|
|
16
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { auth } from '../lib/auth';
|
|
3
|
+
|
|
4
|
+
const router = Router();
|
|
5
|
+
|
|
6
|
+
// Mount Better Auth handlers
|
|
7
|
+
router.all('/auth/*', async (req, res) => {
|
|
8
|
+
const response = await auth.handler(req);
|
|
9
|
+
return res.status(response.status).json(response.body);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export default router;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "auth",
|
|
3
|
+
"displayName": "Better Auth (Express)",
|
|
4
|
+
"description": "Modern authentication with Better Auth for Express",
|
|
5
|
+
"category": "auth",
|
|
6
|
+
"supportedFrameworks": ["express"],
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"better-auth": "^1.0.0"
|
|
9
|
+
},
|
|
10
|
+
"envVars": [
|
|
11
|
+
{
|
|
12
|
+
"key": "BETTER_AUTH_SECRET",
|
|
13
|
+
"value": "",
|
|
14
|
+
"description": "Secret key for Better Auth. Generate with: openssl rand -base64 32",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"key": "BETTER_AUTH_URL",
|
|
19
|
+
"value": "http://localhost:3000",
|
|
20
|
+
"description": "Base URL of your application (change in production)",
|
|
21
|
+
"required": true
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"patches": [
|
|
25
|
+
{
|
|
26
|
+
"type": "create-file",
|
|
27
|
+
"description": "Create Better Auth configuration",
|
|
28
|
+
"source": "lib/auth.ts",
|
|
29
|
+
"destination": "src/lib/auth.ts"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "create-file",
|
|
33
|
+
"description": "Create auth routes",
|
|
34
|
+
"source": "routes/auth.ts",
|
|
35
|
+
"destination": "src/routes/auth.ts"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|