@idealyst/cli 1.0.31 → 1.0.33

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.
@@ -0,0 +1,33 @@
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.generateApiProject = generateApiProject;
7
+ const path_1 = __importDefault(require("path"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const utils_1 = require("./utils");
10
+ async function generateApiProject(options) {
11
+ const { name, directory, skipInstall } = options;
12
+ if (!(0, utils_1.validateProjectName)(name)) {
13
+ throw new Error(`Invalid project name: ${name}`);
14
+ }
15
+ console.log(chalk_1.default.blue(`🚀 Creating API project: ${name}`));
16
+ const { projectPath, workspacePath, workspaceScope } = await (0, utils_1.resolveProjectPath)(name, directory);
17
+ const templatePath = path_1.default.join(__dirname, '..', 'templates', 'api');
18
+ const templateData = (0, utils_1.getTemplateData)(name, `Clean API server template with tRPC, Prisma, and Zod`, undefined, workspaceScope || undefined);
19
+ await (0, utils_1.copyTemplate)(templatePath, projectPath, templateData);
20
+ await (0, utils_1.installDependencies)(projectPath, skipInstall);
21
+ await (0, utils_1.updateWorkspacePackageJson)(workspacePath, directory);
22
+ console.log(chalk_1.default.green('✅ API project created successfully!'));
23
+ console.log(chalk_1.default.blue('📋 Project includes:'));
24
+ console.log(chalk_1.default.white(' • tRPC for type-safe APIs'));
25
+ console.log(chalk_1.default.white(' • Prisma for database management'));
26
+ console.log(chalk_1.default.white(' • Zod for schema validation'));
27
+ console.log(chalk_1.default.white(' • Express.js server'));
28
+ console.log(chalk_1.default.white(' • TypeScript configuration'));
29
+ console.log(chalk_1.default.white(' • CORS and middleware setup'));
30
+ console.log(chalk_1.default.white(' • Database migration scripts'));
31
+ console.log(chalk_1.default.white(' • Clean template ready for your models'));
32
+ }
33
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generators/api.ts"],"names":[],"mappings":";;;;;AAKA,gDA4BC;AAjCD,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAkJ;AAE3I,KAAK,UAAU,kBAAkB,CAAC,OAA+B;IACtE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,sDAAsD,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;IAE3I,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,IAAA,kCAA0B,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.generateProject = generateProject;
18
+ const native_1 = require("./native");
19
+ const web_1 = require("./web");
20
+ const shared_1 = require("./shared");
21
+ const workspace_1 = require("./workspace");
22
+ const api_1 = require("./api");
23
+ async function generateProject(options) {
24
+ const { type } = options;
25
+ switch (type) {
26
+ case 'native':
27
+ await (0, native_1.generateNativeProject)(options);
28
+ break;
29
+ case 'web':
30
+ await (0, web_1.generateWebProject)(options);
31
+ break;
32
+ case 'shared':
33
+ await (0, shared_1.generateSharedLibrary)(options);
34
+ break;
35
+ case 'workspace':
36
+ await (0, workspace_1.generateWorkspace)(options);
37
+ break;
38
+ case 'api':
39
+ await (0, api_1.generateApiProject)(options);
40
+ break;
41
+ default:
42
+ throw new Error(`Unknown project type: ${type}`);
43
+ }
44
+ }
45
+ __exportStar(require("./native"), exports);
46
+ __exportStar(require("./web"), exports);
47
+ __exportStar(require("./shared"), exports);
48
+ __exportStar(require("./workspace"), exports);
49
+ __exportStar(require("./api"), exports);
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA,0CAsBC;AA5BD,qCAAiD;AACjD,+BAA2C;AAC3C,qCAAiD;AACjD,2CAAgD;AAChD,+BAA2C;AAEpC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,WAAW;YACd,MAAM,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,2CAAyB;AACzB,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,wCAAsB"}
@@ -0,0 +1,99 @@
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.generateNativeProject = generateNativeProject;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const utils_1 = require("./utils");
11
+ async function generateNativeProject(options) {
12
+ const { name, directory, skipInstall, appName, withTrpc } = options;
13
+ if (!(0, utils_1.validateProjectName)(name)) {
14
+ throw new Error(`Invalid project name: ${name}`);
15
+ }
16
+ const displayName = appName || name.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(' ');
17
+ console.log(chalk_1.default.blue(`📱 Creating React Native project: ${name}`));
18
+ console.log(chalk_1.default.gray(` App display name: ${displayName}`));
19
+ const { projectPath, workspacePath, workspaceScope } = await (0, utils_1.resolveProjectPath)(name, directory);
20
+ const templatePath = path_1.default.join(__dirname, '..', 'templates', 'native');
21
+ const templateData = (0, utils_1.getTemplateData)(name, `React Native app built with Idealyst Framework`, displayName, workspaceScope || undefined);
22
+ try {
23
+ // Step 1: Update workspace configuration FIRST
24
+ await (0, utils_1.updateWorkspacePackageJson)(workspacePath, directory);
25
+ // Step 2: Try React Native CLI initialization, with fallback to template-only
26
+ const useRnCli = process.env.IDEALYST_USE_RN_CLI !== 'false';
27
+ if (useRnCli) {
28
+ try {
29
+ console.log(chalk_1.default.blue('🚀 Attempting React Native CLI initialization...'));
30
+ console.log(chalk_1.default.gray(' (This creates proper Android/iOS native directories)'));
31
+ // Initialize React Native project using CLI with --skip-install
32
+ const projectDir = path_1.default.dirname(projectPath);
33
+ const projectName = path_1.default.basename(projectPath);
34
+ await (0, utils_1.initializeReactNativeProject)(projectName, projectDir, displayName, true);
35
+ // Step 3: Overlay Idealyst-specific files
36
+ await (0, utils_1.overlayIdealystFiles)(templatePath, projectPath, templateData);
37
+ console.log(chalk_1.default.green('✅ React Native project created with native platform support'));
38
+ }
39
+ catch (rnError) {
40
+ console.log(chalk_1.default.yellow('⚠️ React Native CLI failed, falling back to template-only approach...'));
41
+ await createNativeProjectFromTemplate(templatePath, projectPath, templateData);
42
+ console.log(chalk_1.default.yellow('📝 Template-only project created. You may need to run "npx react-native init" later for native platforms.'));
43
+ }
44
+ }
45
+ else {
46
+ console.log(chalk_1.default.blue('��️ Creating project from template only (IDEALYST_USE_RN_CLI=false)'));
47
+ await createNativeProjectFromTemplate(templatePath, projectPath, templateData);
48
+ }
49
+ // Step 4: Handle tRPC setup
50
+ if (withTrpc) {
51
+ await (0, utils_1.copyTrpcFiles)(templatePath, projectPath, templateData);
52
+ await (0, utils_1.copyTrpcAppComponent)(templatePath, projectPath, templateData);
53
+ }
54
+ // Step 5: Configure Android vector icons (only if we have Android directory)
55
+ const hasAndroid = await fs_extra_1.default.pathExists(path_1.default.join(projectPath, 'android'));
56
+ if (hasAndroid) {
57
+ await (0, utils_1.configureAndroidVectorIcons)(projectPath);
58
+ }
59
+ // Step 6: Remove tRPC dependencies if not requested
60
+ if (!withTrpc) {
61
+ await (0, utils_1.removeTrpcDependencies)(projectPath);
62
+ }
63
+ // Step 7: Install dependencies
64
+ await (0, utils_1.installDependencies)(projectPath, skipInstall);
65
+ console.log(chalk_1.default.green('✅ React Native project created successfully!'));
66
+ console.log(chalk_1.default.blue('📋 Project includes:'));
67
+ console.log(chalk_1.default.white(' • React Native with TypeScript'));
68
+ console.log(chalk_1.default.white(' • Idealyst Components & Navigation'));
69
+ console.log(chalk_1.default.white(' • Idealyst Theme & Styling'));
70
+ console.log(chalk_1.default.white(' • Jest testing configuration'));
71
+ console.log(chalk_1.default.white(' • Metro & Babel configuration'));
72
+ if (hasAndroid) {
73
+ console.log(chalk_1.default.white(' • Android native platform setup'));
74
+ console.log(chalk_1.default.white(' • React Native Vector Icons (configured)'));
75
+ }
76
+ const hasIos = await fs_extra_1.default.pathExists(path_1.default.join(projectPath, 'ios'));
77
+ if (hasIos) {
78
+ console.log(chalk_1.default.white(' • iOS native platform setup'));
79
+ }
80
+ if (!hasAndroid && !hasIos) {
81
+ console.log(chalk_1.default.yellow(' ⚠️ No native platforms detected'));
82
+ console.log(chalk_1.default.yellow(' Run "npx react-native init" in project directory for native support'));
83
+ }
84
+ if (withTrpc) {
85
+ console.log(chalk_1.default.white(' • tRPC client setup and utilities'));
86
+ console.log(chalk_1.default.white(' • React Query integration'));
87
+ }
88
+ }
89
+ catch (error) {
90
+ console.error(chalk_1.default.red('❌ Error creating React Native project:'));
91
+ console.error(error);
92
+ throw error;
93
+ }
94
+ }
95
+ // Helper function to create project from template only (fallback when RN CLI fails)
96
+ async function createNativeProjectFromTemplate(templatePath, projectPath, templateData) {
97
+ await (0, utils_1.copyTemplate)(templatePath, projectPath, templateData);
98
+ }
99
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/generators/native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
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.generateSharedLibrary = generateSharedLibrary;
7
+ const path_1 = __importDefault(require("path"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const utils_1 = require("./utils");
10
+ async function generateSharedLibrary(options) {
11
+ const { name, directory, skipInstall } = options;
12
+ if (!(0, utils_1.validateProjectName)(name)) {
13
+ throw new Error(`Invalid project name: ${name}`);
14
+ }
15
+ console.log(chalk_1.default.blue(`📦 Creating shared library: ${name}`));
16
+ const { projectPath, workspacePath, workspaceScope } = await (0, utils_1.resolveProjectPath)(name, directory);
17
+ const templatePath = path_1.default.join(__dirname, '..', 'templates', 'shared');
18
+ const templateData = (0, utils_1.getTemplateData)(name, `Shared library built with Idealyst Framework`, undefined, workspaceScope || undefined);
19
+ await (0, utils_1.copyTemplate)(templatePath, projectPath, templateData);
20
+ await (0, utils_1.installDependencies)(projectPath, skipInstall);
21
+ await (0, utils_1.updateWorkspacePackageJson)(workspacePath, directory);
22
+ console.log(chalk_1.default.green('✅ Shared library created successfully!'));
23
+ console.log(chalk_1.default.blue('📋 Project includes:'));
24
+ console.log(chalk_1.default.white(' • Cross-platform components'));
25
+ console.log(chalk_1.default.white(' • Idealyst Theme integration'));
26
+ console.log(chalk_1.default.white(' • TypeScript configuration'));
27
+ console.log(chalk_1.default.white(' • Rollup build system'));
28
+ console.log(chalk_1.default.white(' • React & React Native support'));
29
+ }
30
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/generators/shared.ts"],"names":[],"mappings":";;;;;AAKA,sDAyBC;AA9BD,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAkJ;AAE3I,KAAK,UAAU,qBAAqB,CAAC,OAA+B;IACzE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;IAE/D,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,8CAA8C,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;IAEnI,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,IAAA,kCAA0B,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAC/D,CAAC"}