@idealyst/cli 1.2.1 → 1.2.4
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 +2 -2
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/info.js +25 -26
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.js +2 -2
- package/dist/constants.js +13 -4
- package/dist/constants.js.map +1 -1
- package/dist/generators/core/mobile.js +35 -69
- package/dist/generators/core/mobile.js.map +1 -1
- package/dist/generators/core/shared.js +283 -16
- package/dist/generators/core/shared.js.map +1 -1
- package/dist/generators/core/web.js +30 -76
- package/dist/generators/core/web.js.map +1 -1
- package/dist/generators/extensions/devcontainer.js +90 -25
- package/dist/generators/extensions/devcontainer.js.map +1 -1
- package/dist/generators/index.js +23 -7
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/reactNative.js +111 -35
- package/dist/generators/reactNative.js.map +1 -1
- package/dist/generators/workspace.js +31 -0
- package/dist/generators/workspace.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/types/commands/add.d.ts +1 -1
- package/dist/types/commands/info.d.ts +1 -1
- package/dist/types/commands/init.d.ts +1 -1
- package/dist/types/constants.d.ts +16 -7
- package/dist/types/generators/core/mobile.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types.d.ts +32 -1
- package/dist/types/utils/filesystem.d.ts +1 -1
- package/dist/types/utils/logger.d.ts +6 -0
- package/dist/types.js +35 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/filesystem.js +1 -1
- package/dist/utils/logger.js +11 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/shell.js +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/wizard/steps/devcontainerExtension.js +61 -8
- package/dist/wizard/steps/devcontainerExtension.js.map +1 -1
- package/dist/wizard/steps/summary.js +12 -0
- package/dist/wizard/steps/summary.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,16 +22,56 @@ const logger_1 = require("../../utils/logger");
|
|
|
22
22
|
*/
|
|
23
23
|
function normalizeDevcontainerConfig(config) {
|
|
24
24
|
if (typeof config === 'boolean') {
|
|
25
|
-
// If just --with-devcontainer flag was used, enable all services
|
|
25
|
+
// If just --with-devcontainer flag was used, enable all services with default MCP servers
|
|
26
26
|
return {
|
|
27
27
|
enabled: config,
|
|
28
28
|
postgres: config,
|
|
29
29
|
redis: config,
|
|
30
30
|
chrome: config,
|
|
31
31
|
claudeCode: config,
|
|
32
|
+
mcpServers: config ? ['idealyst', 'serena'] : [],
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
// Ensure mcpServers array exists
|
|
36
|
+
return {
|
|
37
|
+
...config,
|
|
38
|
+
mcpServers: config.mcpServers ?? [],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Generate MCP server setup commands for the selected servers
|
|
43
|
+
*/
|
|
44
|
+
function generateMcpSetupCommands(servers, config) {
|
|
45
|
+
const commands = [];
|
|
46
|
+
for (const server of servers) {
|
|
47
|
+
switch (server) {
|
|
48
|
+
case 'idealyst':
|
|
49
|
+
commands.push(`
|
|
50
|
+
# Idealyst MCP (component documentation)
|
|
51
|
+
claude mcp add idealyst -s user -- npx -y @idealyst/mcp-server@latest 2>/dev/null || true`);
|
|
52
|
+
break;
|
|
53
|
+
case 'serena':
|
|
54
|
+
commands.push(`
|
|
55
|
+
# Serena MCP (code navigation and semantic search)
|
|
56
|
+
claude mcp add serena -s user -- npx -y @anthropic-ai/mcp-serena@latest 2>/dev/null || true`);
|
|
57
|
+
break;
|
|
58
|
+
case 'playwright':
|
|
59
|
+
if (config.chrome) {
|
|
60
|
+
commands.push(`
|
|
61
|
+
# Playwright MCP (connects to browserless chrome)
|
|
62
|
+
claude mcp add playwright -s user -- npx -y @anthropic-ai/mcp-playwright@latest --browser-ws-endpoint ws://chrome:3000 2>/dev/null || true`);
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
case 'postgres':
|
|
66
|
+
if (config.postgres) {
|
|
67
|
+
commands.push(`
|
|
68
|
+
# PostgreSQL MCP (database queries)
|
|
69
|
+
claude mcp add postgres -s user -- npx -y @anthropic-ai/mcp-postgres@latest \$DATABASE_URL 2>/dev/null || true`);
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return commands.join('\n');
|
|
35
75
|
}
|
|
36
76
|
/**
|
|
37
77
|
* Apply devcontainer extension to a project
|
|
@@ -68,6 +108,10 @@ async function createDockerfile(devcontainerDir, config) {
|
|
|
68
108
|
if (config.postgres) {
|
|
69
109
|
aptPackages.push('postgresql-client');
|
|
70
110
|
}
|
|
111
|
+
// Add redis-tools (provides redis-cli) only if redis is enabled
|
|
112
|
+
if (config.redis) {
|
|
113
|
+
aptPackages.push('redis-tools');
|
|
114
|
+
}
|
|
71
115
|
const globalPackages = ['@expo/cli'];
|
|
72
116
|
// Add claude-code if enabled
|
|
73
117
|
if (config.claudeCode) {
|
|
@@ -89,16 +133,19 @@ RUN apt-get update && apt-get install -y \\
|
|
|
89
133
|
# Enable corepack for yarn
|
|
90
134
|
RUN corepack enable
|
|
91
135
|
|
|
136
|
+
# Disable corepack download prompts (auto-accept)
|
|
137
|
+
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
|
138
|
+
|
|
92
139
|
# Install global tools
|
|
93
140
|
RUN npm install -g ${globalPackages.join(' ')}
|
|
94
141
|
|
|
95
142
|
# Set up git
|
|
96
143
|
RUN git config --global init.defaultBranch main
|
|
97
144
|
|
|
98
|
-
# Create workspace directory
|
|
99
|
-
RUN mkdir -p /workspace
|
|
145
|
+
# Create workspace directory with correct ownership
|
|
146
|
+
RUN mkdir -p /workspace && chown -R node:node /workspace
|
|
147
|
+
|
|
100
148
|
WORKDIR /workspace
|
|
101
|
-
RUN chown -R node:node /workspace
|
|
102
149
|
|
|
103
150
|
# Switch to node user
|
|
104
151
|
USER node
|
|
@@ -111,14 +158,13 @@ ${claudeCodeSetup}`;
|
|
|
111
158
|
async function createDockerCompose(devcontainerDir, data, config) {
|
|
112
159
|
const dbName = data.projectName.replace(/-/g, '_') + '_db';
|
|
113
160
|
const services = [];
|
|
114
|
-
const volumes = [
|
|
161
|
+
const volumes = [];
|
|
115
162
|
const appDependsOn = [];
|
|
116
163
|
const appEnv = [
|
|
117
164
|
'NODE_ENV: development',
|
|
118
165
|
];
|
|
119
166
|
const appVolumes = [
|
|
120
167
|
'../:/workspace:cached',
|
|
121
|
-
'node_modules:/workspace/node_modules',
|
|
122
168
|
];
|
|
123
169
|
// PostgreSQL service
|
|
124
170
|
if (config.postgres) {
|
|
@@ -220,12 +266,15 @@ ${appDependsOn.join('\n')}`
|
|
|
220
266
|
${dependsOnSection}
|
|
221
267
|
command: sleep infinity
|
|
222
268
|
`;
|
|
269
|
+
const volumesSection = volumes.length > 0
|
|
270
|
+
? `volumes:
|
|
271
|
+
${volumes.map(v => ` ${v}:`).join('\n')}
|
|
272
|
+
`
|
|
273
|
+
: '';
|
|
223
274
|
const content = `services:
|
|
224
275
|
${services.join('\n')}
|
|
225
276
|
${appService}
|
|
226
|
-
|
|
227
|
-
${volumes.map(v => ` ${v}:`).join('\n')}
|
|
228
|
-
`;
|
|
277
|
+
${volumesSection}`;
|
|
229
278
|
await fs_extra_1.default.writeFile(path_1.default.join(devcontainerDir, 'docker-compose.yml'), content);
|
|
230
279
|
}
|
|
231
280
|
/**
|
|
@@ -375,45 +424,61 @@ async function createSetupScript(devcontainerDir, data, config) {
|
|
|
375
424
|
const waitSections = [];
|
|
376
425
|
if (config.postgres) {
|
|
377
426
|
waitSections.push(`
|
|
378
|
-
# Wait for database to be ready
|
|
427
|
+
# Wait for database to be ready (timeout: 30s)
|
|
379
428
|
echo "⏳ Waiting for database to be ready..."
|
|
380
|
-
|
|
429
|
+
TIMEOUT=30
|
|
430
|
+
ELAPSED=0
|
|
431
|
+
until pg_isready -h postgres -p 5432 -U postgres > /dev/null 2>&1; do
|
|
432
|
+
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
433
|
+
echo "⚠️ Database not available after \${TIMEOUT}s - continuing anyway"
|
|
434
|
+
break
|
|
435
|
+
fi
|
|
381
436
|
echo "Database is unavailable - sleeping"
|
|
382
437
|
sleep 1
|
|
438
|
+
ELAPSED=$((ELAPSED + 1))
|
|
383
439
|
done
|
|
384
|
-
echo "✅ Database is ready!"`);
|
|
440
|
+
[ $ELAPSED -lt $TIMEOUT ] && echo "✅ Database is ready!"`);
|
|
385
441
|
}
|
|
386
442
|
if (config.redis) {
|
|
387
443
|
waitSections.push(`
|
|
388
|
-
# Wait for Redis to be ready
|
|
444
|
+
# Wait for Redis to be ready (timeout: 30s)
|
|
389
445
|
echo "⏳ Waiting for Redis to be ready..."
|
|
446
|
+
TIMEOUT=30
|
|
447
|
+
ELAPSED=0
|
|
390
448
|
until redis-cli -h redis ping > /dev/null 2>&1; do
|
|
449
|
+
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
450
|
+
echo "⚠️ Redis not available after \${TIMEOUT}s - continuing anyway"
|
|
451
|
+
break
|
|
452
|
+
fi
|
|
391
453
|
echo "Redis is unavailable - sleeping"
|
|
392
454
|
sleep 1
|
|
455
|
+
ELAPSED=$((ELAPSED + 1))
|
|
393
456
|
done
|
|
394
|
-
echo "✅ Redis is ready!"`);
|
|
457
|
+
[ $ELAPSED -lt $TIMEOUT ] && echo "✅ Redis is ready!"`);
|
|
395
458
|
}
|
|
396
459
|
if (config.chrome) {
|
|
397
460
|
waitSections.push(`
|
|
398
|
-
# Wait for Chrome to be ready
|
|
461
|
+
# Wait for Chrome to be ready (timeout: 30s)
|
|
399
462
|
echo "⏳ Waiting for Chrome browser to be ready..."
|
|
463
|
+
TIMEOUT=30
|
|
464
|
+
ELAPSED=0
|
|
400
465
|
until curl -s http://chrome:3000/json/version > /dev/null; do
|
|
466
|
+
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
467
|
+
echo "⚠️ Chrome not available after \${TIMEOUT}s - continuing anyway"
|
|
468
|
+
break
|
|
469
|
+
fi
|
|
401
470
|
echo "Chrome is unavailable - sleeping"
|
|
402
471
|
sleep 1
|
|
472
|
+
ELAPSED=$((ELAPSED + 1))
|
|
403
473
|
done
|
|
404
|
-
echo "✅ Chrome browser is ready!"`);
|
|
474
|
+
[ $ELAPSED -lt $TIMEOUT ] && echo "✅ Chrome browser is ready!"`);
|
|
405
475
|
}
|
|
406
|
-
// Claude Code setup
|
|
407
|
-
const claudeSetup = config.claudeCode
|
|
476
|
+
// Claude Code setup - generate commands for selected MCP servers
|
|
477
|
+
const claudeSetup = config.claudeCode && config.mcpServers.length > 0
|
|
408
478
|
? `
|
|
409
479
|
# Setup Claude Code MCP servers
|
|
410
480
|
echo "🤖 Configuring Claude Code MCP servers..."
|
|
411
|
-
${config.
|
|
412
|
-
# Add Playwright MCP (connects to browserless chrome)
|
|
413
|
-
claude mcp add playwright --transport sse --url http://chrome:3000/playwright 2>/dev/null || true
|
|
414
|
-
` : ''}
|
|
415
|
-
# Add Serena MCP for code navigation
|
|
416
|
-
claude mcp add serena 2>/dev/null || true
|
|
481
|
+
${generateMcpSetupCommands(config.mcpServers, config)}
|
|
417
482
|
`
|
|
418
483
|
: '';
|
|
419
484
|
// Prisma setup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/generators/extensions/devcontainer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;
|
|
1
|
+
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/generators/extensions/devcontainer.ts"],"names":[],"mappings":"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"}
|
package/dist/generators/index.js
CHANGED
|
@@ -52,12 +52,15 @@ async function generateProject(config) {
|
|
|
52
52
|
logger_1.logger.step('Creating web package...');
|
|
53
53
|
await (0, core_1.generateWebPackage)(projectPath, templateData);
|
|
54
54
|
// Step 3: Generate mobile package with React Native
|
|
55
|
-
|
|
55
|
+
if (!config.isInteractive) {
|
|
56
|
+
logger_1.logger.step('Setting up React Native mobile package...');
|
|
57
|
+
}
|
|
56
58
|
const mobileResult = await (0, core_1.generateMobilePackage)(projectPath, {
|
|
57
59
|
...templateData,
|
|
58
60
|
bundleId: config.iosBundleId,
|
|
59
61
|
packageName: config.androidPackageName,
|
|
60
62
|
skipInstall: true, // We'll install all at once at the end
|
|
63
|
+
interactive: config.isInteractive,
|
|
61
64
|
});
|
|
62
65
|
if (mobileResult.warning) {
|
|
63
66
|
warnings.push(mobileResult.warning);
|
|
@@ -96,13 +99,26 @@ async function generateProject(config) {
|
|
|
96
99
|
}
|
|
97
100
|
// Step 5: Install dependencies
|
|
98
101
|
if (!config.skipInstall) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
if (config.isInteractive) {
|
|
103
|
+
const spinner = logger_1.logger.spinner('Installing dependencies...');
|
|
104
|
+
try {
|
|
105
|
+
await (0, shell_1.installDependencies)(projectPath, { silent: true });
|
|
106
|
+
spinner.succeed('Dependencies installed');
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
spinner.fail('Failed to install dependencies');
|
|
110
|
+
warnings.push('Failed to install dependencies. Run `yarn install` manually.');
|
|
111
|
+
}
|
|
103
112
|
}
|
|
104
|
-
|
|
105
|
-
|
|
113
|
+
else {
|
|
114
|
+
logger_1.logger.step('Installing dependencies...');
|
|
115
|
+
try {
|
|
116
|
+
await (0, shell_1.installDependencies)(projectPath);
|
|
117
|
+
logger_1.logger.success('Dependencies installed successfully!');
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
warnings.push('Failed to install dependencies. Run `yarn install` manually.');
|
|
121
|
+
}
|
|
106
122
|
}
|
|
107
123
|
}
|
|
108
124
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;AAmBH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,9 +51,13 @@ const constants_1 = require("../constants");
|
|
|
51
51
|
* Initialize a React Native project with correct identifiers
|
|
52
52
|
*/
|
|
53
53
|
async function initializeReactNative(options) {
|
|
54
|
-
const { projectName, displayName, bundleId, packageName, directory, skipInstall } = options;
|
|
54
|
+
const { projectName, displayName, bundleId, packageName, directory, skipInstall, interactive } = options;
|
|
55
|
+
// Use spinner in interactive mode, regular logging otherwise
|
|
56
|
+
const spinner = interactive ? logger_1.logger.spinner('Installing React Native project...') : null;
|
|
55
57
|
try {
|
|
56
|
-
|
|
58
|
+
if (!interactive) {
|
|
59
|
+
logger_1.logger.info('Initializing React Native with native platform support...');
|
|
60
|
+
}
|
|
57
61
|
// Build the React Native CLI command
|
|
58
62
|
const args = [
|
|
59
63
|
'@react-native-community/cli@latest',
|
|
@@ -70,19 +74,33 @@ async function initializeReactNative(options) {
|
|
|
70
74
|
const result = await (0, shell_1.runCommand)('npx', args, {
|
|
71
75
|
cwd: directory,
|
|
72
76
|
timeout: constants_1.RN_TIMEOUT,
|
|
73
|
-
silent:
|
|
77
|
+
silent: interactive, // Hide output in interactive mode
|
|
74
78
|
});
|
|
75
79
|
if (result.exitCode !== 0) {
|
|
76
80
|
throw new Error('React Native CLI failed');
|
|
77
81
|
}
|
|
82
|
+
if (spinner) {
|
|
83
|
+
spinner.text = 'Configuring iOS bundle identifier...';
|
|
84
|
+
}
|
|
78
85
|
// Update iOS bundle identifier (RN CLI only sets Android package name)
|
|
79
86
|
await updateIosBundleId(path_1.default.join(directory, projectName), bundleId, projectName);
|
|
80
|
-
|
|
81
|
-
|
|
87
|
+
if (spinner) {
|
|
88
|
+
spinner.text = 'Configuring Android for monorepo...';
|
|
89
|
+
}
|
|
90
|
+
// Fix Android gradle files for monorepo node_modules paths
|
|
91
|
+
await fixMonorepoGradlePaths(path_1.default.join(directory, projectName));
|
|
92
|
+
if (spinner) {
|
|
93
|
+
spinner.succeed('React Native project installed');
|
|
94
|
+
}
|
|
82
95
|
return { success: true };
|
|
83
96
|
}
|
|
84
97
|
catch (error) {
|
|
85
|
-
|
|
98
|
+
if (spinner) {
|
|
99
|
+
spinner.fail('React Native initialization failed');
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
logger_1.logger.warn('React Native CLI initialization failed');
|
|
103
|
+
}
|
|
86
104
|
logger_1.logger.dim('Native folders could not be created automatically.');
|
|
87
105
|
logger_1.logger.dim('You may need to run React Native init manually or use Expo.');
|
|
88
106
|
return {
|
|
@@ -102,44 +120,102 @@ async function updateIosBundleId(projectPath, bundleId, projectName) {
|
|
|
102
120
|
// RN CLI uses org.reactjs.native.example.{projectName} by default
|
|
103
121
|
content = content.replace(/PRODUCT_BUNDLE_IDENTIFIER = "[^"]+"/g, `PRODUCT_BUNDLE_IDENTIFIER = "${bundleId}"`);
|
|
104
122
|
await fs_extra_1.default.writeFile(pbxprojPath, content);
|
|
105
|
-
logger_1.logger.success(`Updated iOS bundle identifier to: ${bundleId}`);
|
|
106
123
|
}
|
|
107
124
|
}
|
|
108
125
|
/**
|
|
109
|
-
*
|
|
126
|
+
* Fix Android gradle files for monorepo structure
|
|
127
|
+
*
|
|
128
|
+
* In a Yarn workspace monorepo, dependencies are hoisted to the root node_modules.
|
|
129
|
+
* The React Native CLI generates paths assuming node_modules is in the package directory,
|
|
130
|
+
* but we need to point to the monorepo root instead.
|
|
131
|
+
*
|
|
132
|
+
* Directory structure:
|
|
133
|
+
* monorepo-root/
|
|
134
|
+
* node_modules/ <- hoisted dependencies here
|
|
135
|
+
* packages/
|
|
136
|
+
* mobile/
|
|
137
|
+
* android/
|
|
138
|
+
* settings.gradle <- needs ../../../node_modules (3 levels up)
|
|
139
|
+
* app/
|
|
140
|
+
* build.gradle <- needs ../../../../node_modules (4 levels up)
|
|
110
141
|
*/
|
|
111
|
-
async function
|
|
142
|
+
async function fixMonorepoGradlePaths(projectPath) {
|
|
143
|
+
await fixSettingsGradle(projectPath);
|
|
144
|
+
await fixAppBuildGradle(projectPath);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Fix settings.gradle for monorepo paths
|
|
148
|
+
*/
|
|
149
|
+
async function fixSettingsGradle(projectPath) {
|
|
150
|
+
const settingsPath = path_1.default.join(projectPath, 'android', 'settings.gradle');
|
|
151
|
+
if (!await fs_extra_1.default.pathExists(settingsPath)) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
let content = await fs_extra_1.default.readFile(settingsPath, 'utf8');
|
|
155
|
+
// Add monorepo comment at the top if not already present
|
|
156
|
+
if (!content.includes('MONOREPO NOTE')) {
|
|
157
|
+
const monorepoComment = `// MONOREPO NOTE: In a Yarn workspace monorepo, dependencies are hoisted to the root node_modules.
|
|
158
|
+
// Paths must point to the monorepo root (../../../node_modules) not the package's node_modules.
|
|
159
|
+
`;
|
|
160
|
+
content = monorepoComment + content;
|
|
161
|
+
}
|
|
162
|
+
// Fix pluginManagement includeBuild path
|
|
163
|
+
content = content.replace(/includeBuild\s*\(\s*["']\.\.\/node_modules\/@react-native\/gradle-plugin["']\s*\)/g, 'includeBuild("../../../node_modules/@react-native/gradle-plugin")');
|
|
164
|
+
// Fix any other includeBuild paths for @react-native/gradle-plugin at the end of the file
|
|
165
|
+
content = content.replace(/includeBuild\s*\(\s*["']\.\.\/node_modules\/@react-native\/gradle-plugin["']\s*\)(?!.*pluginManagement)/g, 'includeBuild(\'../../../node_modules/@react-native/gradle-plugin\')');
|
|
166
|
+
await fs_extra_1.default.writeFile(settingsPath, content);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Fix app/build.gradle for monorepo paths and add vector icons
|
|
170
|
+
*/
|
|
171
|
+
async function fixAppBuildGradle(projectPath) {
|
|
112
172
|
const buildGradlePath = path_1.default.join(projectPath, 'android', 'app', 'build.gradle');
|
|
113
|
-
if (await fs_extra_1.default.pathExists(buildGradlePath)) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
// Add
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (lastApplyIndex !== -1) {
|
|
132
|
-
lines.splice(lastApplyIndex + 1, 0, vectorIconsLine);
|
|
133
|
-
content = lines.join('\n');
|
|
173
|
+
if (!await fs_extra_1.default.pathExists(buildGradlePath)) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
let content = await fs_extra_1.default.readFile(buildGradlePath, 'utf8');
|
|
177
|
+
// Add vector icons configuration if not present
|
|
178
|
+
if (!content.includes('react-native-vector-icons')) {
|
|
179
|
+
// Add after the apply plugin lines with monorepo comment
|
|
180
|
+
const vectorIconsBlock = `
|
|
181
|
+
// MONOREPO NOTE: In a Yarn workspace monorepo, dependencies are hoisted to the root node_modules.
|
|
182
|
+
// Paths must point to the monorepo root (../../../../node_modules from android/app) not the package's node_modules.
|
|
183
|
+
apply from: file("../../../../node_modules/react-native-vector-icons/fonts.gradle")
|
|
184
|
+
`;
|
|
185
|
+
// Find the last apply plugin/from line and insert after it
|
|
186
|
+
const lines = content.split('\n');
|
|
187
|
+
let lastApplyIndex = -1;
|
|
188
|
+
for (let i = 0; i < lines.length; i++) {
|
|
189
|
+
if (lines[i].includes('apply plugin:') || lines[i].includes('apply from:')) {
|
|
190
|
+
lastApplyIndex = i;
|
|
134
191
|
}
|
|
135
192
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
content
|
|
193
|
+
if (lastApplyIndex !== -1) {
|
|
194
|
+
lines.splice(lastApplyIndex + 1, 0, vectorIconsBlock);
|
|
195
|
+
content = lines.join('\n');
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// Fix the react block to use monorepo paths
|
|
199
|
+
// We need to uncomment and update the root, reactNativeDir, codegenDir, and cliFile paths
|
|
200
|
+
// First, check if the react block exists
|
|
201
|
+
if (content.includes('react {')) {
|
|
202
|
+
// Update or add the monorepo paths in the react block
|
|
203
|
+
const reactBlockRegex = /(react\s*\{[\s\S]*?)(\/\*\s*Folders\s*\*\/[\s\S]*?)(\/\*\s*Variants\s*\*\/)/;
|
|
204
|
+
const match = content.match(reactBlockRegex);
|
|
205
|
+
if (match) {
|
|
206
|
+
const newFoldersSection = `/* Folders */
|
|
207
|
+
// MONOREPO: Point to monorepo root where package.json and node_modules live
|
|
208
|
+
root = file("../../../..")
|
|
209
|
+
// MONOREPO: Point to hoisted node_modules
|
|
210
|
+
reactNativeDir = file("../../../../node_modules/react-native")
|
|
211
|
+
codegenDir = file("../../../../node_modules/@react-native/codegen")
|
|
212
|
+
cliFile = file("../../../../node_modules/react-native/cli.js")
|
|
213
|
+
|
|
214
|
+
`;
|
|
215
|
+
content = content.replace(reactBlockRegex, `$1${newFoldersSection}$3`);
|
|
139
216
|
}
|
|
140
|
-
await fs_extra_1.default.writeFile(buildGradlePath, content);
|
|
141
|
-
logger_1.logger.success('Configured Android vector icons');
|
|
142
217
|
}
|
|
218
|
+
await fs_extra_1.default.writeFile(buildGradlePath, content);
|
|
143
219
|
}
|
|
144
220
|
/**
|
|
145
221
|
* Check if native folders exist in a mobile package
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactNative.js","sourceRoot":"","sources":["../../src/generators/reactNative.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,
|
|
1
|
+
{"version":3,"file":"reactNative.js","sourceRoot":"","sources":["../../src/generators/reactNative.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,9 @@ async function generateWorkspaceFiles(projectPath, data) {
|
|
|
49
49
|
// Generate README.md
|
|
50
50
|
const readme = createReadme(data);
|
|
51
51
|
await fs_extra_1.default.writeFile(path_1.default.join(projectPath, 'README.md'), readme);
|
|
52
|
+
// Generate react-native.config.js for monorepo setup
|
|
53
|
+
const rnConfig = createReactNativeConfig(data);
|
|
54
|
+
await fs_extra_1.default.writeFile(path_1.default.join(projectPath, 'react-native.config.js'), rnConfig);
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
57
|
* Create root package.json content
|
|
@@ -269,4 +272,32 @@ ${data.projectName}/
|
|
|
269
272
|
\`\`\`
|
|
270
273
|
`;
|
|
271
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Create react-native.config.js for monorepo setup
|
|
277
|
+
*
|
|
278
|
+
* This file tells the React Native CLI where to find the mobile project
|
|
279
|
+
* and its dependencies in a Yarn workspace monorepo structure.
|
|
280
|
+
*/
|
|
281
|
+
function createReactNativeConfig(data) {
|
|
282
|
+
return `/**
|
|
283
|
+
* React Native configuration for monorepo setup
|
|
284
|
+
*
|
|
285
|
+
* This file tells the React Native CLI where to find the mobile project
|
|
286
|
+
* and its dependencies in a Yarn workspace monorepo structure.
|
|
287
|
+
*/
|
|
288
|
+
module.exports = {
|
|
289
|
+
project: {
|
|
290
|
+
android: {
|
|
291
|
+
sourceDir: './packages/mobile/android',
|
|
292
|
+
appName: 'app',
|
|
293
|
+
packageName: '${data.androidPackageName}',
|
|
294
|
+
},
|
|
295
|
+
ios: {
|
|
296
|
+
sourceDir: './packages/mobile/ios',
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
// Dependencies are auto-detected from node_modules
|
|
300
|
+
};
|
|
301
|
+
`;
|
|
302
|
+
}
|
|
272
303
|
//# sourceMappingURL=workspace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/generators/workspace.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAWH,8CAkBC;AA3BD,wDAA0B;AAC1B,gDAAwB;AAExB,gDAAiG;AACjG,4CAAyC;AAEzC;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,IAAkB;IAElB,eAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,KAAK,CAAC,CAAC;IAEvD,kCAAkC;IAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEhC,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE1D,IAAI,MAAM,IAAA,2BAAkB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAA,8BAAqB,EAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,kEAAkE;QAClE,MAAM,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,IAAkB;IAElB,4BAA4B;IAC5B,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvD,6BAA6B;IAC7B,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvF,yBAAyB;IACzB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAErF,sBAAsB;IACtB,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAEpE,uBAAuB;IACvB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,qBAAqB;IACrB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/generators/workspace.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
|
-
* Idealyst CLI
|
|
4
|
+
* Idealyst CLI - Main entry point
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const commander_1 = require("commander");
|
|
@@ -11,8 +11,8 @@ const add_1 = require("./commands/add");
|
|
|
11
11
|
const info_1 = require("./commands/info");
|
|
12
12
|
const program = new commander_1.Command();
|
|
13
13
|
program
|
|
14
|
-
.name('idealyst
|
|
15
|
-
.description('CLI tool for generating Idealyst Framework projects
|
|
14
|
+
.name('idealyst')
|
|
15
|
+
.description('CLI tool for generating Idealyst Framework projects')
|
|
16
16
|
.version(constants_1.VERSION);
|
|
17
17
|
// Main init command with wizard
|
|
18
18
|
program
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;GAEG;;AAEH,yCAAoC;AACpC,2CAAsC;AACtC,0CAA8C;AAC9C,wCAA4C;AAC5C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;GAEG;;AAEH,yCAAoC;AACpC,2CAAsC;AACtC,0CAA8C;AAC9C,wCAA4C;AAC5C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,mBAAO,CAAC,CAAC;AAEpB,gCAAgC;AAChC,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,GAAG,CAAC;KACxD,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;KACtD,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC;KACzC,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC1D,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,oEAAoE,CAAC;KACnG,MAAM,CAAC,kBAAkB,EAAE,iDAAiD,CAAC;KAC7E,MAAM,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;KACxD,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,qCAAqC;AACrC,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4CAA4C,CAAC;KACzD,cAAc,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;KAC7E,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC;KAC3C,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACjD,MAAM,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;KACxD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,EAAE,MAAM,CAAC;KAC1E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,4BAA4B;AAC5B,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,kBAAW,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEhD,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|