@idealyst/cli 1.2.0 → 1.2.3
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/add.js +233 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/index.js +13 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/info.js +193 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.js +155 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/constants.js +125 -0
- package/dist/constants.js.map +1 -0
- package/dist/generators/core/index.js +23 -0
- package/dist/generators/core/index.js.map +1 -0
- package/dist/generators/core/mobile.js +251 -0
- package/dist/generators/core/mobile.js.map +1 -0
- package/dist/generators/core/shared.js +474 -0
- package/dist/generators/core/shared.js.map +1 -0
- package/dist/generators/core/web.js +330 -0
- package/dist/generators/core/web.js.map +1 -0
- package/dist/generators/extensions/api.js +223 -0
- package/dist/generators/extensions/api.js.map +1 -0
- package/dist/generators/extensions/devcontainer.js +575 -0
- package/dist/generators/extensions/devcontainer.js.map +1 -0
- package/dist/generators/extensions/graphql.js +202 -0
- package/dist/generators/extensions/graphql.js.map +1 -0
- package/dist/generators/extensions/index.js +17 -0
- package/dist/generators/extensions/index.js.map +1 -0
- package/dist/generators/extensions/prisma.js +249 -0
- package/dist/generators/extensions/prisma.js.map +1 -0
- package/dist/generators/extensions/trpc.js +258 -0
- package/dist/generators/extensions/trpc.js.map +1 -0
- package/dist/generators/index.js +122 -4
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/reactNative.js +253 -0
- package/dist/generators/reactNative.js.map +1 -0
- package/dist/generators/workspace.js +303 -0
- package/dist/generators/workspace.js.map +1 -0
- package/dist/identifiers/android.js +75 -0
- package/dist/identifiers/android.js.map +1 -0
- package/dist/identifiers/index.js +35 -0
- package/dist/identifiers/index.js.map +1 -0
- package/dist/identifiers/ios.js +65 -0
- package/dist/identifiers/ios.js.map +1 -0
- package/dist/index.js +41 -319
- package/dist/index.js.map +1 -1
- package/dist/templates/copier.js +135 -0
- package/dist/templates/copier.js.map +1 -0
- package/dist/templates/index.js +23 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/merger.js +113 -0
- package/dist/templates/merger.js.map +1 -0
- package/dist/templates/processor.js +142 -0
- package/dist/templates/processor.js.map +1 -0
- package/dist/types/commands/add.d.ts +14 -0
- package/dist/types/commands/index.d.ts +6 -0
- package/dist/types/commands/info.d.ts +10 -0
- package/dist/types/commands/init.d.ts +19 -0
- package/dist/types/constants.d.ts +82 -0
- package/dist/types/generators/core/index.d.ts +6 -0
- package/dist/types/generators/core/mobile.d.ts +14 -0
- package/dist/types/generators/core/shared.d.ts +8 -0
- package/dist/types/generators/core/web.d.ts +8 -0
- package/dist/types/generators/extensions/api.d.ts +8 -0
- package/dist/types/generators/extensions/devcontainer.d.ts +15 -0
- package/dist/types/generators/extensions/graphql.d.ts +8 -0
- package/dist/types/generators/extensions/index.d.ts +8 -0
- package/dist/types/generators/extensions/prisma.d.ts +8 -0
- package/dist/types/generators/extensions/trpc.d.ts +9 -0
- package/dist/types/generators/index.d.ts +11 -3
- package/dist/types/generators/reactNative.d.ts +19 -0
- package/dist/types/generators/workspace.d.ts +8 -0
- package/dist/types/identifiers/android.d.ts +26 -0
- package/dist/types/identifiers/index.d.ts +26 -0
- package/dist/types/identifiers/ios.d.ts +21 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/templates/copier.d.ts +24 -0
- package/dist/types/templates/index.d.ts +6 -0
- package/dist/types/templates/merger.d.ts +43 -0
- package/dist/types/templates/processor.d.ts +39 -0
- package/dist/types/types.d.ts +184 -5
- package/dist/types/utils/filesystem.d.ts +56 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/logger.d.ts +64 -0
- package/dist/types/utils/shell.d.ts +35 -0
- package/dist/types/utils/validation.d.ts +32 -0
- package/dist/types/wizard/index.d.ts +20 -0
- package/dist/types/wizard/steps/apiExtension.d.ts +5 -0
- package/dist/types/wizard/steps/appDisplayName.d.ts +5 -0
- package/dist/types/wizard/steps/devcontainerExtension.d.ts +5 -0
- package/dist/types/wizard/steps/graphqlExtension.d.ts +5 -0
- package/dist/types/wizard/steps/index.d.ts +12 -0
- package/dist/types/wizard/steps/orgDomain.d.ts +5 -0
- package/dist/types/wizard/steps/prismaExtension.d.ts +5 -0
- package/dist/types/wizard/steps/projectName.d.ts +5 -0
- package/dist/types/wizard/steps/summary.d.ts +5 -0
- package/dist/types/wizard/steps/trpcExtension.d.ts +5 -0
- package/dist/types/wizard/validators.d.ts +17 -0
- package/dist/types.js +74 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/filesystem.js +173 -0
- package/dist/utils/filesystem.js.map +1 -0
- package/dist/utils/index.js +24 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.js +106 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/shell.js +113 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/validation.js +196 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wizard/index.js +177 -0
- package/dist/wizard/index.js.map +1 -0
- package/dist/wizard/steps/apiExtension.js +33 -0
- package/dist/wizard/steps/apiExtension.js.map +1 -0
- package/dist/wizard/steps/appDisplayName.js +53 -0
- package/dist/wizard/steps/appDisplayName.js.map +1 -0
- package/dist/wizard/steps/devcontainerExtension.js +131 -0
- package/dist/wizard/steps/devcontainerExtension.js.map +1 -0
- package/dist/wizard/steps/graphqlExtension.js +37 -0
- package/dist/wizard/steps/graphqlExtension.js.map +1 -0
- package/dist/wizard/steps/index.js +25 -0
- package/dist/wizard/steps/index.js.map +1 -0
- package/dist/wizard/steps/orgDomain.js +40 -0
- package/dist/wizard/steps/orgDomain.js.map +1 -0
- package/dist/wizard/steps/prismaExtension.js +33 -0
- package/dist/wizard/steps/prismaExtension.js.map +1 -0
- package/dist/wizard/steps/projectName.js +40 -0
- package/dist/wizard/steps/projectName.js.map +1 -0
- package/dist/wizard/steps/summary.js +119 -0
- package/dist/wizard/steps/summary.js.map +1 -0
- package/dist/wizard/steps/trpcExtension.js +37 -0
- package/dist/wizard/steps/trpcExtension.js.map +1 -0
- package/dist/wizard/validators.js +35 -0
- package/dist/wizard/validators.js.map +1 -0
- package/package.json +6 -19
- package/README.md +0 -110
- package/dist/generators/init.js +0 -268
- package/dist/generators/init.js.map +0 -1
- package/dist/generators/utils.js +0 -682
- package/dist/generators/utils.js.map +0 -1
- package/dist/scripts/configure-react-native-monorepo.js +0 -144
- package/dist/scripts/configure-react-native-monorepo.js.map +0 -1
- package/dist/template/.devcontainer/Dockerfile +0 -26
- package/dist/template/.devcontainer/devcontainer.json +0 -113
- package/dist/template/.devcontainer/docker-compose.yml +0 -59
- package/dist/template/.devcontainer/figma-mcp.sh +0 -32
- package/dist/template/.devcontainer/gitignore.template +0 -2
- package/dist/template/.devcontainer/setup.sh +0 -45
- package/dist/template/DOCKER.md +0 -0
- package/dist/template/Dockerfile +0 -111
- package/dist/template/README.md +0 -233
- package/dist/template/docker/nginx/prod.conf +0 -238
- package/dist/template/docker/nginx.conf +0 -131
- package/dist/template/docker/postgres/init.sql +0 -41
- package/dist/template/docker/prometheus/prometheus.yml +0 -52
- package/dist/template/docker-compose.prod.yml +0 -146
- package/dist/template/docker-compose.yml +0 -143
- package/dist/template/dockerignore.template +0 -151
- package/dist/template/env.example.template +0 -36
- package/dist/template/gitignore.template +0 -56
- package/dist/template/jest.config.js +0 -20
- package/dist/template/mcp.json.template +0 -8
- package/dist/template/package.json +0 -45
- package/dist/template/packages/api/README.md +0 -510
- package/dist/template/packages/api/__tests__/api.test.ts +0 -26
- package/dist/template/packages/api/env.example.template +0 -6
- package/dist/template/packages/api/gitignore.template +0 -35
- package/dist/template/packages/api/jest.config.js +0 -23
- package/dist/template/packages/api/jest.setup.js +0 -9
- package/dist/template/packages/api/package.json +0 -66
- package/dist/template/packages/api/src/context.ts +0 -52
- package/dist/template/packages/api/src/controllers/TestController.ts +0 -0
- package/dist/template/packages/api/src/graphql/builder.ts +0 -75
- package/dist/template/packages/api/src/graphql/generated.ts +0 -64
- package/dist/template/packages/api/src/graphql/index.ts +0 -75
- package/dist/template/packages/api/src/graphql/types/index.ts +0 -44
- package/dist/template/packages/api/src/graphql/types/test.ts +0 -245
- package/dist/template/packages/api/src/index.ts +0 -26
- package/dist/template/packages/api/src/lib/database.ts +0 -23
- package/dist/template/packages/api/src/router/index.ts +0 -163
- package/dist/template/packages/api/src/routers/test.ts +0 -161
- package/dist/template/packages/api/src/server.ts +0 -68
- package/dist/template/packages/api/src/trpc.ts +0 -28
- package/dist/template/packages/api/tsconfig.json +0 -44
- package/dist/template/packages/database/README.md +0 -162
- package/dist/template/packages/database/gitignore.template +0 -41
- package/dist/template/packages/database/package.json +0 -49
- package/dist/template/packages/database/prisma/seed.ts +0 -64
- package/dist/template/packages/database/schema.prisma +0 -107
- package/dist/template/packages/database/src/index.ts +0 -15
- package/dist/template/packages/database/src/validators.ts +0 -10
- package/dist/template/packages/database/tsconfig.json +0 -18
- package/dist/template/packages/mobile/README.md +0 -86
- package/dist/template/packages/mobile/__tests__/App.test.tsx +0 -156
- package/dist/template/packages/mobile/__tests__/components.test.tsx +0 -300
- package/dist/template/packages/mobile/app.json +0 -5
- package/dist/template/packages/mobile/babel.config.js +0 -10
- package/dist/template/packages/mobile/gitignore.template +0 -73
- package/dist/template/packages/mobile/index.js +0 -6
- package/dist/template/packages/mobile/jest.config.js +0 -21
- package/dist/template/packages/mobile/jest.setup.js +0 -12
- package/dist/template/packages/mobile/metro.config.js +0 -36
- package/dist/template/packages/mobile/package.json +0 -60
- package/dist/template/packages/mobile/src/App.tsx +0 -8
- package/dist/template/packages/mobile/src/utils/trpc.ts +0 -7
- package/dist/template/packages/mobile/tsconfig.json +0 -28
- package/dist/template/packages/shared/README.md +0 -135
- package/dist/template/packages/shared/__tests__/shared.test.ts +0 -51
- package/dist/template/packages/shared/gitignore.template +0 -35
- package/dist/template/packages/shared/jest.config.js +0 -22
- package/dist/template/packages/shared/package.json +0 -68
- package/dist/template/packages/shared/src/components/App.tsx +0 -57
- package/dist/template/packages/shared/src/components/HelloWorld.tsx +0 -531
- package/dist/template/packages/shared/src/components/index.ts +0 -1
- package/dist/template/packages/shared/src/graphql/client.ts +0 -34
- package/dist/template/packages/shared/src/index.ts +0 -22
- package/dist/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
- package/dist/template/packages/shared/src/trpc/client.ts +0 -44
- package/dist/template/packages/shared/tsconfig.json +0 -22
- package/dist/template/packages/web/README.md +0 -131
- package/dist/template/packages/web/__tests__/App.test.tsx +0 -342
- package/dist/template/packages/web/__tests__/components.test.tsx +0 -564
- package/dist/template/packages/web/gitignore.template +0 -35
- package/dist/template/packages/web/index.html +0 -13
- package/dist/template/packages/web/jest.config.js +0 -27
- package/dist/template/packages/web/jest.setup.js +0 -24
- package/dist/template/packages/web/package.json +0 -69
- package/dist/template/packages/web/src/App.tsx +0 -14
- package/dist/template/packages/web/src/components/TestDemo.tsx +0 -164
- package/dist/template/packages/web/src/main.tsx +0 -25
- package/dist/template/packages/web/src/utils/trpc.ts +0 -7
- package/dist/template/packages/web/tsconfig.json +0 -26
- package/dist/template/packages/web/vite.config.ts +0 -98
- package/dist/template/setup.sh +0 -30
- package/dist/template/tsconfig.json +0 -22
- package/dist/template/yarnrc.yml.template +0 -4
- package/dist/types/generators/init.d.ts +0 -5
- package/dist/types/generators/utils.d.ts +0 -45
- package/dist/types/scripts/configure-react-native-monorepo.d.ts +0 -23
- package/template/.devcontainer/Dockerfile +0 -26
- package/template/.devcontainer/devcontainer.json +0 -113
- package/template/.devcontainer/docker-compose.yml +0 -59
- package/template/.devcontainer/figma-mcp.sh +0 -32
- package/template/.devcontainer/setup.sh +0 -45
- package/template/.dockerignore +0 -151
- package/template/.env.example +0 -36
- package/template/.env.production +0 -56
- package/template/DOCKER.md +0 -0
- package/template/Dockerfile +0 -111
- package/template/README.md +0 -233
- package/template/docker/nginx/prod.conf +0 -238
- package/template/docker/nginx.conf +0 -131
- package/template/docker/postgres/init.sql +0 -41
- package/template/docker/prometheus/prometheus.yml +0 -52
- package/template/docker-compose.prod.yml +0 -146
- package/template/docker-compose.yml +0 -143
- package/template/jest.config.js +0 -20
- package/template/package.json +0 -45
- package/template/packages/api/.env.example +0 -6
- package/template/packages/api/README.md +0 -510
- package/template/packages/api/__tests__/api.test.ts +0 -26
- package/template/packages/api/jest.config.js +0 -23
- package/template/packages/api/jest.setup.js +0 -9
- package/template/packages/api/package.json +0 -66
- package/template/packages/api/src/context.ts +0 -52
- package/template/packages/api/src/controllers/TestController.ts +0 -0
- package/template/packages/api/src/graphql/builder.ts +0 -75
- package/template/packages/api/src/graphql/generated.ts +0 -64
- package/template/packages/api/src/graphql/index.ts +0 -75
- package/template/packages/api/src/graphql/types/index.ts +0 -44
- package/template/packages/api/src/graphql/types/test.ts +0 -245
- package/template/packages/api/src/index.ts +0 -26
- package/template/packages/api/src/lib/database.ts +0 -23
- package/template/packages/api/src/router/index.ts +0 -163
- package/template/packages/api/src/routers/test.ts +0 -161
- package/template/packages/api/src/server.ts +0 -68
- package/template/packages/api/src/trpc.ts +0 -28
- package/template/packages/api/tsconfig.json +0 -44
- package/template/packages/database/README.md +0 -162
- package/template/packages/database/package.json +0 -49
- package/template/packages/database/prisma/seed.ts +0 -64
- package/template/packages/database/schema.prisma +0 -107
- package/template/packages/database/src/index.ts +0 -15
- package/template/packages/database/src/validators.ts +0 -10
- package/template/packages/database/tsconfig.json +0 -18
- package/template/packages/mobile/README.md +0 -86
- package/template/packages/mobile/__tests__/App.test.tsx +0 -156
- package/template/packages/mobile/__tests__/components.test.tsx +0 -300
- package/template/packages/mobile/app.json +0 -5
- package/template/packages/mobile/babel.config.js +0 -26
- package/template/packages/mobile/index.js +0 -8
- package/template/packages/mobile/jest.config.js +0 -21
- package/template/packages/mobile/jest.setup.js +0 -12
- package/template/packages/mobile/metro.config.js +0 -36
- package/template/packages/mobile/package.json +0 -60
- package/template/packages/mobile/src/App.tsx +0 -8
- package/template/packages/mobile/src/utils/trpc.ts +0 -7
- package/template/packages/mobile/tsconfig.json +0 -28
- package/template/packages/shared/README.md +0 -135
- package/template/packages/shared/__tests__/shared.test.ts +0 -51
- package/template/packages/shared/jest.config.js +0 -22
- package/template/packages/shared/package.json +0 -68
- package/template/packages/shared/src/components/App.tsx +0 -57
- package/template/packages/shared/src/components/HelloWorld.tsx +0 -531
- package/template/packages/shared/src/components/index.ts +0 -1
- package/template/packages/shared/src/graphql/client.ts +0 -34
- package/template/packages/shared/src/index.ts +0 -25
- package/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
- package/template/packages/shared/src/trpc/client.ts +0 -44
- package/template/packages/shared/src/unistyles.ts +0 -50
- package/template/packages/shared/tsconfig.json +0 -22
- package/template/packages/web/README.md +0 -131
- package/template/packages/web/__tests__/App.test.tsx +0 -342
- package/template/packages/web/__tests__/components.test.tsx +0 -564
- package/template/packages/web/index.html +0 -13
- package/template/packages/web/jest.config.js +0 -27
- package/template/packages/web/jest.setup.js +0 -24
- package/template/packages/web/package.json +0 -69
- package/template/packages/web/src/App.tsx +0 -14
- package/template/packages/web/src/components/TestDemo.tsx +0 -164
- package/template/packages/web/src/main.tsx +0 -27
- package/template/packages/web/src/utils/trpc.ts +0 -7
- package/template/packages/web/tsconfig.json +0 -26
- package/template/packages/web/vite.config.ts +0 -114
- package/template/setup.sh +0 -30
- package/template/tsconfig.json +0 -22
package/dist/generators/init.js
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.generateFullStackProject = generateFullStackProject;
|
|
40
|
-
const path_1 = __importDefault(require("path"));
|
|
41
|
-
const fs = __importStar(require("fs-extra"));
|
|
42
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
-
const utils_1 = require("./utils");
|
|
44
|
-
/**
|
|
45
|
-
* Generate a complete full-stack workspace from the unified template
|
|
46
|
-
*/
|
|
47
|
-
async function generateFullStackProject(options) {
|
|
48
|
-
const { name, directory, skipInstall, figmaToken } = options;
|
|
49
|
-
if (!(0, utils_1.validateProjectName)(name)) {
|
|
50
|
-
throw new Error(`Invalid project name: ${name}`);
|
|
51
|
-
}
|
|
52
|
-
console.log(chalk_1.default.blue(`🚀 Creating Full-Stack Idealyst workspace: ${name}`));
|
|
53
|
-
console.log(chalk_1.default.gray(' This will generate a complete workspace with all packages integrated'));
|
|
54
|
-
const projectPath = path_1.default.join(directory, name);
|
|
55
|
-
const templatePath = path_1.default.join(__dirname, '../../template');
|
|
56
|
-
// Check if template exists
|
|
57
|
-
if (!await fs.pathExists(templatePath)) {
|
|
58
|
-
throw new Error(`Template directory not found at ${templatePath}`);
|
|
59
|
-
}
|
|
60
|
-
const templateData = (0, utils_1.getTemplateData)(name, `Full-stack Idealyst Framework workspace`, undefined, name);
|
|
61
|
-
// Copy the entire template
|
|
62
|
-
console.log(chalk_1.default.blue('📦 Copying template files...'));
|
|
63
|
-
await copyTemplateWithReplacements(templatePath, projectPath, templateData);
|
|
64
|
-
// Handle devcontainer setup
|
|
65
|
-
const devcontainerDir = path_1.default.join(projectPath, '.devcontainer');
|
|
66
|
-
const envPath = path_1.default.join(devcontainerDir, '.env');
|
|
67
|
-
const envContent = figmaToken
|
|
68
|
-
? `# Figma Integration\nFIGMA_ACCESS_TOKEN=${figmaToken.trim()}\n`
|
|
69
|
-
: `# Figma Integration\nFIGMA_ACCESS_TOKEN=\n`;
|
|
70
|
-
await fs.writeFile(envPath, envContent);
|
|
71
|
-
// Make scripts executable
|
|
72
|
-
const scriptsToMakeExecutable = [
|
|
73
|
-
path_1.default.join(devcontainerDir, 'figma-mcp.sh'),
|
|
74
|
-
path_1.default.join(projectPath, 'setup.sh'),
|
|
75
|
-
];
|
|
76
|
-
for (const script of scriptsToMakeExecutable) {
|
|
77
|
-
if (await fs.pathExists(script)) {
|
|
78
|
-
await fs.chmod(script, '755');
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
// Initialize React Native native folders for mobile package
|
|
82
|
-
console.log(chalk_1.default.blue('📱 Setting up React Native mobile package...'));
|
|
83
|
-
await initializeMobilePackage(projectPath, templatePath, templateData, skipInstall);
|
|
84
|
-
// Install dependencies
|
|
85
|
-
await (0, utils_1.installDependencies)(projectPath, skipInstall);
|
|
86
|
-
// Configure React Native for monorepo AFTER dependencies are installed
|
|
87
|
-
// TEMPORARILY DISABLED FOR TESTING
|
|
88
|
-
// if (!skipInstall) {
|
|
89
|
-
// const mobilePackagePath = path.join(projectPath, 'packages', 'mobile');
|
|
90
|
-
// if (await fs.pathExists(path.join(mobilePackagePath, 'android')) ||
|
|
91
|
-
// await fs.pathExists(path.join(mobilePackagePath, 'ios'))) {
|
|
92
|
-
// await configureReactNativeMonorepo(mobilePackagePath, projectPath);
|
|
93
|
-
// }
|
|
94
|
-
// }
|
|
95
|
-
console.log(chalk_1.default.green('✅ Full-stack workspace created successfully!'));
|
|
96
|
-
console.log(chalk_1.default.blue('📋 Your workspace includes:'));
|
|
97
|
-
console.log(chalk_1.default.white(' • 🗄️ Database package with Prisma'));
|
|
98
|
-
console.log(chalk_1.default.white(' • 🚀 API server with tRPC'));
|
|
99
|
-
console.log(chalk_1.default.white(' • 🌐 React web app'));
|
|
100
|
-
console.log(chalk_1.default.white(' • 📱 React Native mobile app'));
|
|
101
|
-
console.log(chalk_1.default.white(' • 📦 Shared component library'));
|
|
102
|
-
console.log(chalk_1.default.white(' • 🔗 All packages pre-integrated'));
|
|
103
|
-
console.log('');
|
|
104
|
-
console.log(chalk_1.default.green('🚀 Quick start:'));
|
|
105
|
-
console.log(chalk_1.default.white(` cd ${name}`));
|
|
106
|
-
console.log(chalk_1.default.white(' yarn db:generate # Generate Prisma client'));
|
|
107
|
-
console.log(chalk_1.default.white(' yarn dev # Start all development servers'));
|
|
108
|
-
console.log('');
|
|
109
|
-
console.log(chalk_1.default.gray('💡 Check README.md for detailed setup instructions'));
|
|
110
|
-
if (figmaToken) {
|
|
111
|
-
console.log(chalk_1.default.blue('🎨 Figma integration configured in .devcontainer/.env'));
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
console.log(chalk_1.default.gray('💡 Tip: Add Figma integration later by editing .devcontainer/.env'));
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Copy template directory with template variable replacements
|
|
119
|
-
*/
|
|
120
|
-
async function copyTemplateWithReplacements(srcDir, destDir, templateData) {
|
|
121
|
-
await fs.ensureDir(destDir);
|
|
122
|
-
const files = await fs.readdir(srcDir);
|
|
123
|
-
for (const file of files) {
|
|
124
|
-
const srcPath = path_1.default.join(srcDir, file);
|
|
125
|
-
// Handle .template files (renamed dotfiles from build process)
|
|
126
|
-
let destFile = file;
|
|
127
|
-
if (file.endsWith('.template')) {
|
|
128
|
-
// Rename back to dotfile (e.g., gitignore.template -> .gitignore)
|
|
129
|
-
destFile = '.' + file.replace('.template', '');
|
|
130
|
-
}
|
|
131
|
-
const destPath = path_1.default.join(destDir, destFile);
|
|
132
|
-
// Skip excluded files
|
|
133
|
-
if (shouldExcludeFile(file)) {
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
const stat = await fs.stat(srcPath);
|
|
137
|
-
if (stat.isDirectory()) {
|
|
138
|
-
// Recursively copy directories
|
|
139
|
-
await copyTemplateWithReplacements(srcPath, destPath, templateData);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
// Check if file should be processed for template variables
|
|
143
|
-
if (shouldProcessFile(file)) {
|
|
144
|
-
let content = await fs.readFile(srcPath, 'utf8');
|
|
145
|
-
content = replaceTemplateVariables(content, templateData);
|
|
146
|
-
await fs.writeFile(destPath, content);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
// Just copy binary files or files that shouldn't be processed
|
|
150
|
-
await fs.copy(srcPath, destPath);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Determine if a file should be excluded from the generated project
|
|
157
|
-
* These are template-only files that users don't need
|
|
158
|
-
*/
|
|
159
|
-
function shouldExcludeFile(filename) {
|
|
160
|
-
const baseName = path_1.default.basename(filename);
|
|
161
|
-
// No more template variants - App.tsx is the only version now
|
|
162
|
-
// Exclude development artifacts
|
|
163
|
-
if (baseName.endsWith('.bak') || baseName.endsWith('~')) {
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
// Exclude template-specific documentation
|
|
167
|
-
// (Users get the main README which is customized)
|
|
168
|
-
if (baseName === '.idealystignore' || baseName === '.templateignore') {
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Determine if a file should be processed for template variables
|
|
175
|
-
*/
|
|
176
|
-
function shouldProcessFile(filename) {
|
|
177
|
-
const textExtensions = [
|
|
178
|
-
'.ts', '.tsx', '.js', '.jsx', '.json', '.md', '.txt',
|
|
179
|
-
'.yml', '.yaml', '.env', '.example', '.gitignore',
|
|
180
|
-
'.dockerignore', '.sh', '.conf', '.sql'
|
|
181
|
-
];
|
|
182
|
-
const baseName = path_1.default.basename(filename);
|
|
183
|
-
// Check if it's a known text file
|
|
184
|
-
if (textExtensions.some(ext => baseName.endsWith(ext))) {
|
|
185
|
-
return true;
|
|
186
|
-
}
|
|
187
|
-
// Check for files without extensions that are typically text
|
|
188
|
-
if (!baseName.includes('.') && ['Dockerfile', 'LICENSE', 'README'].some(name => baseName.includes(name))) {
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Replace template variables in content
|
|
195
|
-
*/
|
|
196
|
-
function replaceTemplateVariables(content, templateData) {
|
|
197
|
-
let result = content;
|
|
198
|
-
// Replace all template variables
|
|
199
|
-
Object.entries(templateData).forEach(([key, value]) => {
|
|
200
|
-
const placeholder = `{{${key}}}`;
|
|
201
|
-
result = result.replace(new RegExp(placeholder, 'g'), String(value));
|
|
202
|
-
});
|
|
203
|
-
return result;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Initialize React Native mobile package with native iOS/Android folders
|
|
207
|
-
*/
|
|
208
|
-
async function initializeMobilePackage(projectPath, templatePath, templateData, skipInstall) {
|
|
209
|
-
const mobilePackagePath = path_1.default.join(projectPath, 'packages', 'mobile');
|
|
210
|
-
const mobileTemplatePath = path_1.default.join(templatePath, 'packages', 'mobile');
|
|
211
|
-
// Check if mobile package exists
|
|
212
|
-
if (!await fs.pathExists(mobilePackagePath)) {
|
|
213
|
-
console.log(chalk_1.default.yellow(' ⚠️ Mobile package not found, skipping React Native initialization'));
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
const displayName = templateData.appName || templateData.projectName
|
|
217
|
-
.split('-')
|
|
218
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
219
|
-
.join(' ');
|
|
220
|
-
// Try to initialize React Native project with native folders
|
|
221
|
-
const useRnCli = process.env.IDEALYST_USE_RN_CLI !== 'false';
|
|
222
|
-
if (useRnCli) {
|
|
223
|
-
try {
|
|
224
|
-
console.log(chalk_1.default.gray(' Initializing React Native with native platform support...'));
|
|
225
|
-
console.log(chalk_1.default.gray(' (This creates proper Android/iOS directories)'));
|
|
226
|
-
// Back up our Idealyst-specific files
|
|
227
|
-
const backupPath = path_1.default.join(projectPath, '.mobile-backup');
|
|
228
|
-
await fs.copy(mobilePackagePath, backupPath);
|
|
229
|
-
// Remove the mobile directory to let RN CLI create it fresh
|
|
230
|
-
await fs.remove(mobilePackagePath);
|
|
231
|
-
// Run React Native init in packages directory
|
|
232
|
-
const packagesDir = path_1.default.join(projectPath, 'packages');
|
|
233
|
-
await (0, utils_1.initializeReactNativeProject)('mobile', packagesDir, displayName, true);
|
|
234
|
-
// Overlay our Idealyst-specific files on top
|
|
235
|
-
console.log(chalk_1.default.gray(' Applying Idealyst Framework configuration...'));
|
|
236
|
-
await (0, utils_1.overlayIdealystFiles)(mobileTemplatePath, mobilePackagePath, templateData);
|
|
237
|
-
// Configure React Native for monorepo (Android/iOS paths)
|
|
238
|
-
// Only configure if we're going to install dependencies (paths need node_modules to exist)
|
|
239
|
-
if (!skipInstall) {
|
|
240
|
-
console.log(chalk_1.default.gray(' Configuring monorepo paths (will complete after dependency install)...'));
|
|
241
|
-
}
|
|
242
|
-
// Clean up backup
|
|
243
|
-
await fs.remove(backupPath);
|
|
244
|
-
console.log(chalk_1.default.green(' ✅ React Native mobile package initialized with native support'));
|
|
245
|
-
}
|
|
246
|
-
catch (rnError) {
|
|
247
|
-
console.log(chalk_1.default.yellow(' ⚠️ React Native CLI initialization failed'));
|
|
248
|
-
console.log(chalk_1.default.yellow(' The mobile package will work but may need manual setup for native platforms'));
|
|
249
|
-
console.log('');
|
|
250
|
-
console.log(chalk_1.default.gray(' You can initialize native folders later with:'));
|
|
251
|
-
console.log(chalk_1.default.gray(` cd ${path_1.default.relative(process.cwd(), mobilePackagePath)}`));
|
|
252
|
-
console.log(chalk_1.default.gray(' npx @react-native-community/cli@latest init mobile --title "' + displayName + '"'));
|
|
253
|
-
console.log('');
|
|
254
|
-
// Restore from backup if it exists
|
|
255
|
-
const backupPath = path_1.default.join(projectPath, '.mobile-backup');
|
|
256
|
-
if (await fs.pathExists(backupPath)) {
|
|
257
|
-
await fs.remove(mobilePackagePath);
|
|
258
|
-
await fs.copy(backupPath, mobilePackagePath);
|
|
259
|
-
await fs.remove(backupPath);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
console.log(chalk_1.default.gray(' ⚠️ Skipping React Native CLI (IDEALYST_USE_RN_CLI=false)'));
|
|
265
|
-
console.log(chalk_1.default.gray(' You will need to set up native platforms manually'));
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/generators/init.ts"],"names":[],"mappings":"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"}
|