forgestack-os-cli 0.2.0 → 0.3.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/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +7 -9
- package/dist/commands/create.js.map +1 -1
- package/dist/generators/api.js +16 -5
- package/dist/generators/api.js.map +1 -1
- package/dist/generators/auth.js +168 -347
- package/dist/generators/auth.js.map +1 -1
- package/dist/generators/backend.js +117 -98
- package/dist/generators/backend.js.map +1 -1
- package/dist/generators/common.js +5 -2
- package/dist/generators/common.js.map +1 -1
- package/dist/generators/docker.js +7 -5
- package/dist/generators/docker.js.map +1 -1
- package/dist/generators/frontend.js +145 -133
- package/dist/generators/frontend.js.map +1 -1
- package/dist/generators/index.js +41 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/utils/prompts.d.ts +1 -1
- package/dist/utils/prompts.js +5 -3
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/security.d.ts +4 -0
- package/dist/utils/security.js +14 -0
- package/dist/utils/security.js.map +1 -0
- package/package.json +12 -12
package/dist/types.d.ts
CHANGED
package/dist/utils/prompts.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { StackConfig } from '../types';
|
|
2
|
-
export declare function promptForStack(projectName: string, options?: any): Promise<StackConfig>;
|
|
2
|
+
export declare function promptForStack(projectName: string, options?: Record<string, any>): Promise<StackConfig>;
|
package/dist/utils/prompts.js
CHANGED
|
@@ -76,6 +76,8 @@ async function promptForStack(projectName, options = {}) {
|
|
|
76
76
|
: 'rest',
|
|
77
77
|
docker: options.docker !== false, // Default to true unless --no-docker
|
|
78
78
|
multiTenant: !!options.multiTenant,
|
|
79
|
+
skipInstall: !!options.skipInstall,
|
|
80
|
+
skipGit: !!options.skipGit,
|
|
79
81
|
};
|
|
80
82
|
}
|
|
81
83
|
const answers = await inquirer_1.default.prompt([
|
|
@@ -86,8 +88,8 @@ async function promptForStack(projectName, options = {}) {
|
|
|
86
88
|
choices: [
|
|
87
89
|
{ name: 'React + Vite (Recommended)', value: 'react-vite' },
|
|
88
90
|
{ name: 'Next.js 14 (App Router)', value: 'nextjs' },
|
|
89
|
-
{ name: 'Vue + Vite', value: 'vue-vite' },
|
|
90
|
-
{ name: 'SvelteKit', value: 'sveltekit' },
|
|
91
|
+
{ name: 'Vue + Vite', value: 'vue-vite', disabled: 'Coming in Phase 5' },
|
|
92
|
+
{ name: 'SvelteKit', value: 'sveltekit', disabled: 'Coming in Phase 5' },
|
|
91
93
|
],
|
|
92
94
|
default: 'react-vite',
|
|
93
95
|
},
|
|
@@ -100,7 +102,7 @@ async function promptForStack(projectName, options = {}) {
|
|
|
100
102
|
{ name: 'Node.js + Fastify', value: 'fastify' },
|
|
101
103
|
{ name: 'NestJS', value: 'nestjs' },
|
|
102
104
|
{ name: 'Bun + Elysia', value: 'bun-elysia' },
|
|
103
|
-
{ name: 'Go + Fiber (Experimental)', value: 'go-fiber' },
|
|
105
|
+
{ name: 'Go + Fiber (Experimental)', value: 'go-fiber', disabled: 'Coming in Phase 6' },
|
|
104
106
|
],
|
|
105
107
|
default: 'express',
|
|
106
108
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":";;;;;AA8DA,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateRandomSecret = generateRandomSecret;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* Generates a cryptographically secure random secret string.
|
|
10
|
+
*/
|
|
11
|
+
function generateRandomSecret(bytes = 32) {
|
|
12
|
+
return crypto_1.default.randomBytes(bytes).toString('hex');
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":";;;;;AAKA,oDAEC;AAPD,oDAA4B;AAE5B;;GAEG;AACH,SAAgB,oBAAoB,CAAC,QAAgB,EAAE;IACnD,OAAO,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forgestack-os-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "ForgeStack OS CLI - Generate production-ready full-stack SaaS applications",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -30,25 +30,25 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"chalk": "^4.1.2",
|
|
33
|
-
"commander": "^
|
|
34
|
-
"ejs": "^3.1.
|
|
33
|
+
"commander": "^13.0.0",
|
|
34
|
+
"ejs": "^3.1.10",
|
|
35
35
|
"execa": "^5.1.1",
|
|
36
36
|
"fs-extra": "^11.2.0",
|
|
37
|
-
"inquirer": "^9.2.
|
|
37
|
+
"inquirer": "^9.2.22",
|
|
38
38
|
"ora": "^5.4.1",
|
|
39
|
-
"validate-npm-package-name": "^
|
|
39
|
+
"validate-npm-package-name": "^6.0.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/ejs": "^3.1.5",
|
|
43
43
|
"@types/fs-extra": "^11.0.4",
|
|
44
44
|
"@types/inquirer": "^9.0.7",
|
|
45
|
-
"@types/node": "^
|
|
45
|
+
"@types/node": "^22.10.7",
|
|
46
46
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
48
|
-
"@typescript-eslint/parser": "^
|
|
49
|
-
"eslint": "^
|
|
50
|
-
"tsx": "^4.
|
|
51
|
-
"typescript": "^5.
|
|
52
|
-
"vitest": "^1.
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
|
48
|
+
"@typescript-eslint/parser": "^8.18.0",
|
|
49
|
+
"eslint": "^9.16.0",
|
|
50
|
+
"tsx": "^4.19.2",
|
|
51
|
+
"typescript": "^5.7.3",
|
|
52
|
+
"vitest": "^2.1.8"
|
|
53
53
|
}
|
|
54
54
|
}
|