@idealyst/cli 1.1.9 → 1.2.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/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 +119 -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 +286 -0
- package/dist/generators/core/mobile.js.map +1 -0
- package/dist/generators/core/shared.js +207 -0
- package/dist/generators/core/shared.js.map +1 -0
- package/dist/generators/core/web.js +377 -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 +510 -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 +106 -4
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/reactNative.js +177 -0
- package/dist/generators/reactNative.js.map +1 -0
- package/dist/generators/workspace.js +272 -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 +76 -0
- package/dist/types/generators/core/index.d.ts +6 -0
- package/dist/types/generators/core/mobile.d.ts +13 -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 +153 -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 +58 -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 +41 -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 +95 -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 +78 -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 +107 -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/index.js
CHANGED
|
@@ -1,333 +1,55 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
3
|
+
/**
|
|
4
|
+
* Idealyst CLI Beta - Main entry point
|
|
5
|
+
*/
|
|
39
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
7
|
const commander_1 = require("commander");
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const utils_1 = require("./generators/utils");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const init_1 = require("./commands/init");
|
|
10
|
+
const add_1 = require("./commands/add");
|
|
11
|
+
const info_1 = require("./commands/info");
|
|
46
12
|
const program = new commander_1.Command();
|
|
47
13
|
program
|
|
48
|
-
.name('idealyst')
|
|
49
|
-
.description('CLI tool for generating Idealyst Framework projects')
|
|
50
|
-
.version(
|
|
14
|
+
.name('idealyst-beta')
|
|
15
|
+
.description('CLI tool for generating Idealyst Framework projects (beta)')
|
|
16
|
+
.version(constants_1.VERSION);
|
|
17
|
+
// Main init command with wizard
|
|
51
18
|
program
|
|
52
19
|
.command('init [project-name]')
|
|
53
|
-
.description('Initialize a new
|
|
54
|
-
.option('-d, --directory <
|
|
55
|
-
.option('--
|
|
56
|
-
.option('--
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (!validateProjectName(projectName.toLowerCase())) {
|
|
67
|
-
console.error(chalk_1.default.red(`Invalid project name: ${projectName}`));
|
|
68
|
-
console.error(chalk_1.default.yellow('Project name must be a valid npm package name (lowercase, no spaces)'));
|
|
69
|
-
process.exit(1);
|
|
70
|
-
}
|
|
71
|
-
projectName = projectName.toLowerCase();
|
|
72
|
-
}
|
|
73
|
-
await (0, index_1.generateProject)({
|
|
74
|
-
name: projectName,
|
|
75
|
-
directory: options.directory,
|
|
76
|
-
skipInstall: options.skipInstall || false,
|
|
77
|
-
figmaToken: options.figmaToken
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
console.error(chalk_1.default.red('❌ Failed to create project:'));
|
|
82
|
-
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
83
|
-
process.exit(1);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
// LLM Reference Data Structure
|
|
87
|
-
function getLLMReference() {
|
|
88
|
-
return {
|
|
89
|
-
overview: {
|
|
90
|
-
description: "The Idealyst Framework CLI generates complete full-stack TypeScript monorepo projects with React Native, React Web, API server, database layer, and shared libraries.",
|
|
91
|
-
warning: "⚠️ CRITICAL: Always provide the project name to avoid interactive prompts!"
|
|
92
|
-
},
|
|
93
|
-
safeCommands: {
|
|
94
|
-
init: {
|
|
95
|
-
command: "idealyst init <project-name>",
|
|
96
|
-
description: "Create a new full-stack workspace with all packages pre-integrated",
|
|
97
|
-
example: "idealyst init my-awesome-project",
|
|
98
|
-
options: [
|
|
99
|
-
"--figma-token <token> - Optional Figma personal access token for MCP integration",
|
|
100
|
-
"--skip-install - Skip installing dependencies"
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
dangerousCommands: [
|
|
105
|
-
{
|
|
106
|
-
command: "idealyst init",
|
|
107
|
-
issue: "Missing project name - will prompt interactively"
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
includes: {
|
|
111
|
-
mobile: "React Native app with Idealyst components (packages/mobile)",
|
|
112
|
-
web: "React web app with Vite and Idealyst components (packages/web)",
|
|
113
|
-
api: "Express + tRPC API server (packages/api)",
|
|
114
|
-
database: "Prisma database layer with PostgreSQL (packages/database)",
|
|
115
|
-
shared: "Cross-platform shared components and utilities (packages/shared)"
|
|
116
|
-
},
|
|
117
|
-
architecture: {
|
|
118
|
-
integration: "All packages are pre-integrated with proper dependencies",
|
|
119
|
-
typescript: "Full end-to-end type safety from database to frontend",
|
|
120
|
-
monorepo: "Yarn workspaces for dependency management",
|
|
121
|
-
commands: "Unified dev commands (yarn dev starts all servers)"
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
function generateTextReference(reference) {
|
|
126
|
-
const lines = [];
|
|
127
|
-
lines.push('🤖 IDEALYST CLI - COMPLETE LLM REFERENCE');
|
|
128
|
-
lines.push('='.repeat(50));
|
|
129
|
-
lines.push('');
|
|
130
|
-
lines.push(reference.overview.description);
|
|
131
|
-
lines.push('');
|
|
132
|
-
lines.push(reference.overview.warning);
|
|
133
|
-
lines.push('');
|
|
134
|
-
lines.push('✅ LLM-SAFE COMMANDS:');
|
|
135
|
-
lines.push('-'.repeat(25));
|
|
136
|
-
Object.entries(reference.safeCommands).forEach(([key, cmd]) => {
|
|
137
|
-
lines.push(`\n${key.toUpperCase()}:`);
|
|
138
|
-
lines.push(` Command: ${cmd.command}`);
|
|
139
|
-
lines.push(` Description: ${cmd.description}`);
|
|
140
|
-
if (cmd.example) {
|
|
141
|
-
lines.push(` Example: ${cmd.example}`);
|
|
142
|
-
}
|
|
143
|
-
if (cmd.examples) {
|
|
144
|
-
lines.push(` Examples:`);
|
|
145
|
-
cmd.examples.forEach((ex) => lines.push(` ${ex}`));
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
lines.push('\n❌ DANGEROUS COMMANDS (WILL HANG):');
|
|
149
|
-
lines.push('-'.repeat(35));
|
|
150
|
-
reference.dangerousCommands.forEach((cmd) => {
|
|
151
|
-
lines.push(` ${cmd.command}`);
|
|
152
|
-
lines.push(` Issue: ${cmd.issue}`);
|
|
153
|
-
});
|
|
154
|
-
lines.push('\n📋 PROJECT TYPES:');
|
|
155
|
-
lines.push('-'.repeat(20));
|
|
156
|
-
Object.entries(reference.projectTypes).forEach(([type, desc]) => {
|
|
157
|
-
lines.push(` ${type}: ${desc}`);
|
|
158
|
-
});
|
|
159
|
-
lines.push('\n🏗️ ARCHITECTURE:');
|
|
160
|
-
lines.push('-'.repeat(18));
|
|
161
|
-
Object.entries(reference.architecture).forEach(([key, desc]) => {
|
|
162
|
-
lines.push(` ${key}: ${desc}`);
|
|
163
|
-
});
|
|
164
|
-
return lines.join('\n');
|
|
165
|
-
}
|
|
166
|
-
function generateMarkdownReference(reference) {
|
|
167
|
-
const lines = [];
|
|
168
|
-
lines.push('# Idealyst CLI - LLM Reference');
|
|
169
|
-
lines.push('');
|
|
170
|
-
lines.push(reference.overview.description);
|
|
171
|
-
lines.push('');
|
|
172
|
-
lines.push(`> ${reference.overview.warning}`);
|
|
173
|
-
lines.push('');
|
|
174
|
-
lines.push('## ✅ LLM-Safe Commands');
|
|
175
|
-
lines.push('');
|
|
176
|
-
Object.entries(reference.safeCommands).forEach(([key, cmd]) => {
|
|
177
|
-
lines.push(`### ${key.charAt(0).toUpperCase() + key.slice(1)}`);
|
|
178
|
-
lines.push('');
|
|
179
|
-
lines.push('```bash');
|
|
180
|
-
lines.push(cmd.command);
|
|
181
|
-
lines.push('```');
|
|
182
|
-
lines.push('');
|
|
183
|
-
lines.push(cmd.description);
|
|
184
|
-
lines.push('');
|
|
185
|
-
if (cmd.example) {
|
|
186
|
-
lines.push('**Example:**');
|
|
187
|
-
lines.push('```bash');
|
|
188
|
-
lines.push(cmd.example);
|
|
189
|
-
lines.push('```');
|
|
190
|
-
lines.push('');
|
|
191
|
-
}
|
|
192
|
-
if (cmd.examples) {
|
|
193
|
-
lines.push('**Examples:**');
|
|
194
|
-
lines.push('```bash');
|
|
195
|
-
cmd.examples.forEach((ex) => lines.push(ex));
|
|
196
|
-
lines.push('```');
|
|
197
|
-
lines.push('');
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
lines.push('## ❌ Dangerous Commands');
|
|
201
|
-
lines.push('');
|
|
202
|
-
lines.push('These commands will hang by prompting for user input:');
|
|
203
|
-
lines.push('');
|
|
204
|
-
reference.dangerousCommands.forEach((cmd) => {
|
|
205
|
-
lines.push(`- \`${cmd.command}\` - ${cmd.issue}`);
|
|
206
|
-
});
|
|
207
|
-
lines.push('');
|
|
208
|
-
lines.push('## 📋 Project Types');
|
|
209
|
-
lines.push('');
|
|
210
|
-
Object.entries(reference.projectTypes).forEach(([type, desc]) => {
|
|
211
|
-
lines.push(`- **${type}**: ${desc}`);
|
|
212
|
-
});
|
|
213
|
-
lines.push('');
|
|
214
|
-
lines.push('## 🏗️ Architecture');
|
|
215
|
-
lines.push('');
|
|
216
|
-
Object.entries(reference.architecture).forEach(([key, desc]) => {
|
|
217
|
-
lines.push(`- **${key}**: ${desc}`);
|
|
218
|
-
});
|
|
219
|
-
return lines.join('\n');
|
|
220
|
-
}
|
|
20
|
+
.description('Initialize a new Idealyst workspace with interactive wizard')
|
|
21
|
+
.option('-d, --directory <dir>', 'Output directory', '.')
|
|
22
|
+
.option('--org-domain <domain>', 'Organization domain (e.g., com.company)')
|
|
23
|
+
.option('--app-name <name>', 'Mobile app display name')
|
|
24
|
+
.option('--with-api', 'Enable API server')
|
|
25
|
+
.option('--with-prisma', 'Enable Prisma database')
|
|
26
|
+
.option('--with-trpc', 'Enable tRPC (requires --with-api)')
|
|
27
|
+
.option('--with-graphql', 'Enable GraphQL (requires --with-api)')
|
|
28
|
+
.option('--with-devcontainer', 'Enable devcontainer setup (Docker, PostgreSQL, Redis, Claude Code)')
|
|
29
|
+
.option('--no-interactive', 'Disable interactive mode (requires all options)')
|
|
30
|
+
.option('--skip-install', 'Skip dependency installation')
|
|
31
|
+
.action(init_1.initCommand);
|
|
32
|
+
// Add projects to existing workspace
|
|
221
33
|
program
|
|
222
|
-
.command('
|
|
223
|
-
.description('
|
|
224
|
-
.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
});
|
|
34
|
+
.command('add <name>')
|
|
35
|
+
.description('Add a new project to an existing workspace')
|
|
36
|
+
.requiredOption('-t, --type <type>', 'Project type: web, mobile, api, shared')
|
|
37
|
+
.option('--app-name <name>', 'Mobile app display name (for mobile type)')
|
|
38
|
+
.option('--with-trpc', 'Include tRPC setup')
|
|
39
|
+
.option('--with-graphql', 'Include GraphQL setup')
|
|
40
|
+
.option('--skip-install', 'Skip dependency installation')
|
|
41
|
+
.action(add_1.addCommand);
|
|
42
|
+
// Info command
|
|
234
43
|
program
|
|
235
|
-
.command('
|
|
236
|
-
.description('Display
|
|
237
|
-
.
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
console.log(chalk_1.default.white(' idealyst llm-help ') + chalk_1.default.gray('- Quick reference with safe commands'));
|
|
241
|
-
console.log(chalk_1.default.white(' idealyst llm-commands ') + chalk_1.default.gray('- Just the command templates'));
|
|
242
|
-
console.log(chalk_1.default.white(' idealyst llm-reference ') + chalk_1.default.gray('- Complete reference (text format)'));
|
|
243
|
-
console.log(chalk_1.default.white(' idealyst llm-reference --format json ') + chalk_1.default.gray('- Machine-readable JSON'));
|
|
244
|
-
console.log(chalk_1.default.white(' idealyst llm-reference --format markdown ') + chalk_1.default.gray('- Generated markdown'));
|
|
245
|
-
console.log(chalk_1.default.white(' idealyst llm-reference --format file ') + chalk_1.default.gray('- Full markdown documentation\n'));
|
|
246
|
-
console.log(chalk_1.default.yellow('⚠️ Critical for LLMs:'));
|
|
247
|
-
console.log(chalk_1.default.red(' • Never use commands without required arguments'));
|
|
248
|
-
console.log(chalk_1.default.red(' • Always specify --type for create commands'));
|
|
249
|
-
console.log(chalk_1.default.red(' • Always specify --app-name for native projects'));
|
|
250
|
-
console.log(chalk_1.default.red(' • Always specify --with-trpc or --no-trpc for web/native\n'));
|
|
251
|
-
console.log(chalk_1.default.blue('📖 Documentation:'));
|
|
252
|
-
console.log(chalk_1.default.white(' • Built-in: Use commands above'));
|
|
253
|
-
console.log(chalk_1.default.white(' • Files: docs/LLM-CLI-REFERENCE.md (comprehensive)'));
|
|
254
|
-
console.log(chalk_1.default.white(' • Files: docs/LLM-CLI-QUICK-REFERENCE.md (condensed)'));
|
|
255
|
-
});
|
|
256
|
-
program
|
|
257
|
-
.command('llm-reference')
|
|
258
|
-
.description('Display complete LLM reference documentation')
|
|
259
|
-
.option('--format <format>', 'Output format: text, json, markdown, or file', 'text')
|
|
260
|
-
.action((options) => {
|
|
261
|
-
const reference = getLLMReference();
|
|
262
|
-
switch (options.format) {
|
|
263
|
-
case 'json':
|
|
264
|
-
console.log(JSON.stringify(reference, null, 2));
|
|
265
|
-
break;
|
|
266
|
-
case 'markdown':
|
|
267
|
-
console.log(generateMarkdownReference(reference));
|
|
268
|
-
break;
|
|
269
|
-
case 'file':
|
|
270
|
-
// Try to read the markdown file from docs
|
|
271
|
-
const docsPath = path.join(__dirname, '..', 'docs', 'LLM-CLI-REFERENCE.md');
|
|
272
|
-
try {
|
|
273
|
-
if (fs.existsSync(docsPath)) {
|
|
274
|
-
const content = fs.readFileSync(docsPath, 'utf8');
|
|
275
|
-
console.log(content);
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
console.log(chalk_1.default.yellow('⚠️ Docs file not found, generating markdown instead:'));
|
|
279
|
-
console.log(generateMarkdownReference(reference));
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
console.log(chalk_1.default.yellow('⚠️ Error reading docs file, generating markdown instead:'));
|
|
284
|
-
console.log(generateMarkdownReference(reference));
|
|
285
|
-
}
|
|
286
|
-
break;
|
|
287
|
-
default:
|
|
288
|
-
console.log(generateTextReference(reference));
|
|
289
|
-
}
|
|
290
|
-
});
|
|
44
|
+
.command('info')
|
|
45
|
+
.description('Display CLI information and usage')
|
|
46
|
+
.option('--format <format>', 'Output format: text, json, markdown', 'text')
|
|
47
|
+
.action(info_1.infoCommand);
|
|
48
|
+
// LLM-friendly help command
|
|
291
49
|
program
|
|
292
50
|
.command('llm-help')
|
|
293
|
-
.description('
|
|
294
|
-
.action(() => {
|
|
295
|
-
|
|
296
|
-
console.log(chalk_1.default.yellow('⚠️ CRITICAL: Always provide ALL required arguments to avoid interactive prompts!\n'));
|
|
297
|
-
console.log(chalk_1.default.green.bold('✅ LLM-Safe Commands:\n'));
|
|
298
|
-
console.log(chalk_1.default.white('📁 Initialize Workspace:'));
|
|
299
|
-
console.log(chalk_1.default.cyan(' idealyst init <workspace-name>\n'));
|
|
300
|
-
console.log(chalk_1.default.white('📦 Create Projects (No extra args needed):'));
|
|
301
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type database'));
|
|
302
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type api'));
|
|
303
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type shared\n'));
|
|
304
|
-
console.log(chalk_1.default.white('🌐 Create Web Projects (tRPC choice required):'));
|
|
305
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type web --with-trpc'));
|
|
306
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type web --no-trpc\n'));
|
|
307
|
-
console.log(chalk_1.default.white('📱 Create Native Projects (app-name + tRPC required):'));
|
|
308
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type native --app-name "Display Name" --with-trpc'));
|
|
309
|
-
console.log(chalk_1.default.cyan(' idealyst create <name> --type native --app-name "Display Name" --no-trpc\n'));
|
|
310
|
-
console.log(chalk_1.default.red.bold('❌ Commands That Will Hang LLMs:\n'));
|
|
311
|
-
console.log(chalk_1.default.red(' idealyst init # Missing name'));
|
|
312
|
-
console.log(chalk_1.default.red(' idealyst create my-app # Missing --type'));
|
|
313
|
-
console.log(chalk_1.default.red(' idealyst create my-app --type web # Missing tRPC choice'));
|
|
314
|
-
console.log(chalk_1.default.red(' idealyst create my-app --type native # Missing --app-name + tRPC\n'));
|
|
315
|
-
console.log(chalk_1.default.blue('📋 Project Types:'));
|
|
316
|
-
console.log(chalk_1.default.white(' • workspace - Monorepo setup with Yarn workspaces'));
|
|
317
|
-
console.log(chalk_1.default.white(' • database - Prisma + Zod schemas (new standalone type)'));
|
|
318
|
-
console.log(chalk_1.default.white(' • api - Express + tRPC server (no database included)'));
|
|
319
|
-
console.log(chalk_1.default.white(' • shared - Shared utilities and types'));
|
|
320
|
-
console.log(chalk_1.default.white(' • web - React web app with Vite'));
|
|
321
|
-
console.log(chalk_1.default.white(' • native - React Native app\n'));
|
|
322
|
-
console.log(chalk_1.default.magenta('🔗 Key Architecture:'));
|
|
323
|
-
console.log(chalk_1.default.white(' • Database packages export: { db, schemas, PrismaClient, types }'));
|
|
324
|
-
console.log(chalk_1.default.white(' • API packages consume database packages as dependencies'));
|
|
325
|
-
console.log(chalk_1.default.white(' • All projects are TypeScript with strict type safety'));
|
|
326
|
-
console.log(chalk_1.default.white(' • Monorepo uses Yarn workspaces for dependency management\n'));
|
|
327
|
-
console.log(chalk_1.default.green('📖 For complete documentation:'));
|
|
328
|
-
console.log(chalk_1.default.cyan(' idealyst llm-reference'));
|
|
329
|
-
console.log(chalk_1.default.cyan(' idealyst llm-reference --format markdown'));
|
|
330
|
-
console.log(chalk_1.default.cyan(' idealyst llm-reference --format json'));
|
|
331
|
-
});
|
|
51
|
+
.description('Quick reference for LLM usage (non-interactive)')
|
|
52
|
+
.action(() => (0, info_1.infoCommand)({ format: 'llm' }));
|
|
53
|
+
// Parse arguments
|
|
332
54
|
program.parse();
|
|
333
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
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,eAAe,CAAC;KACrB,WAAW,CAAC,4DAA4D,CAAC;KACzE,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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template file copying utilities
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.copyTemplateDirectory = copyTemplateDirectory;
|
|
10
|
+
exports.copyTemplateFile = copyTemplateFile;
|
|
11
|
+
exports.getTemplatePath = getTemplatePath;
|
|
12
|
+
exports.templateExists = templateExists;
|
|
13
|
+
exports.templateHasContent = templateHasContent;
|
|
14
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const processor_1 = require("./processor");
|
|
17
|
+
const constants_1 = require("../constants");
|
|
18
|
+
/**
|
|
19
|
+
* Check if a path matches any ignore patterns
|
|
20
|
+
*/
|
|
21
|
+
function shouldIgnore(filePath) {
|
|
22
|
+
const basename = path_1.default.basename(filePath);
|
|
23
|
+
for (const pattern of constants_1.IGNORE_PATTERNS) {
|
|
24
|
+
if (pattern.includes('*')) {
|
|
25
|
+
// Simple glob matching for *.ext patterns
|
|
26
|
+
const regex = new RegExp('^' + pattern.replace(/\*/g, '.*') + '$');
|
|
27
|
+
if (regex.test(basename)) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (basename === pattern) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if a file should have template variables processed
|
|
39
|
+
*/
|
|
40
|
+
function shouldProcessTemplate(filePath) {
|
|
41
|
+
const ext = path_1.default.extname(filePath).toLowerCase();
|
|
42
|
+
return constants_1.TEMPLATE_EXTENSIONS.includes(ext);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Copy a template directory with variable replacement
|
|
46
|
+
*/
|
|
47
|
+
async function copyTemplateDirectory(sourceDir, destDir, data) {
|
|
48
|
+
// Ensure destination exists
|
|
49
|
+
await fs_extra_1.default.ensureDir(destDir);
|
|
50
|
+
// Check if source exists
|
|
51
|
+
if (!await fs_extra_1.default.pathExists(sourceDir)) {
|
|
52
|
+
throw new Error(`Template directory not found: ${sourceDir}`);
|
|
53
|
+
}
|
|
54
|
+
const entries = await fs_extra_1.default.readdir(sourceDir, { withFileTypes: true });
|
|
55
|
+
for (const entry of entries) {
|
|
56
|
+
const sourcePath = path_1.default.join(sourceDir, entry.name);
|
|
57
|
+
let destName = entry.name;
|
|
58
|
+
// Handle .template suffix (for dotfiles)
|
|
59
|
+
if (destName.endsWith('.template')) {
|
|
60
|
+
destName = '.' + destName.replace('.template', '');
|
|
61
|
+
}
|
|
62
|
+
const destPath = path_1.default.join(destDir, destName);
|
|
63
|
+
// Skip ignored files/directories
|
|
64
|
+
if (shouldIgnore(entry.name)) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (entry.isDirectory()) {
|
|
68
|
+
// Recursively copy directory
|
|
69
|
+
await copyTemplateDirectory(sourcePath, destPath, data);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Copy file
|
|
73
|
+
if (shouldProcessTemplate(sourcePath)) {
|
|
74
|
+
// Read, process, and write
|
|
75
|
+
const content = await fs_extra_1.default.readFile(sourcePath, 'utf8');
|
|
76
|
+
const processed = (0, processor_1.processTemplateContent)(content, data);
|
|
77
|
+
await fs_extra_1.default.writeFile(destPath, processed);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// Binary file - copy directly
|
|
81
|
+
await fs_extra_1.default.copy(sourcePath, destPath);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Copy a single template file with variable replacement
|
|
88
|
+
*/
|
|
89
|
+
async function copyTemplateFile(sourceFile, destFile, data) {
|
|
90
|
+
await fs_extra_1.default.ensureDir(path_1.default.dirname(destFile));
|
|
91
|
+
if (shouldProcessTemplate(sourceFile)) {
|
|
92
|
+
const content = await fs_extra_1.default.readFile(sourceFile, 'utf8');
|
|
93
|
+
const processed = (0, processor_1.processTemplateContent)(content, data);
|
|
94
|
+
await fs_extra_1.default.writeFile(destFile, processed);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
await fs_extra_1.default.copy(sourceFile, destFile);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get the path to a template directory
|
|
102
|
+
*/
|
|
103
|
+
function getTemplatePath(...segments) {
|
|
104
|
+
// In production, templates are in dist/templates
|
|
105
|
+
// In development, they're in templates/
|
|
106
|
+
const distPath = path_1.default.resolve(__dirname, '..', '..', 'templates', ...segments);
|
|
107
|
+
const devPath = path_1.default.resolve(__dirname, '..', '..', '..', 'templates', ...segments);
|
|
108
|
+
if (fs_extra_1.default.existsSync(distPath)) {
|
|
109
|
+
return distPath;
|
|
110
|
+
}
|
|
111
|
+
return devPath;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if a template exists and has content
|
|
115
|
+
*/
|
|
116
|
+
async function templateExists(...segments) {
|
|
117
|
+
const templatePath = getTemplatePath(...segments);
|
|
118
|
+
if (!await fs_extra_1.default.pathExists(templatePath)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
// Check if directory has any files
|
|
122
|
+
const entries = await fs_extra_1.default.readdir(templatePath);
|
|
123
|
+
return entries.length > 0;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if a template has content (non-empty directory)
|
|
127
|
+
*/
|
|
128
|
+
async function templateHasContent(templatePath) {
|
|
129
|
+
if (!await fs_extra_1.default.pathExists(templatePath)) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
const entries = await fs_extra_1.default.readdir(templatePath);
|
|
133
|
+
return entries.length > 0;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=copier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copier.js","sourceRoot":"","sources":["../../src/templates/copier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template utilities exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./processor"), exports);
|
|
21
|
+
__exportStar(require("./copier"), exports);
|
|
22
|
+
__exportStar(require("./merger"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB"}
|