@ldsg/cli 0.3.18 → 0.3.25

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.
Files changed (67) hide show
  1. package/.rush/temp/chunked-rush-logs/cli.build.chunks.jsonl +1 -0
  2. package/.rush/temp/package-deps_build.json +18 -0
  3. package/.rush/temp/shrinkwrap-deps.json +373 -0
  4. package/CHANGELOG.json +31 -0
  5. package/CHANGELOG.md +11 -0
  6. package/Dockerfile +21 -0
  7. package/README.md +41 -180
  8. package/dist/cli.d.ts +2 -0
  9. package/dist/cli.js +54 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/fetch-app-data.d.ts +2 -0
  12. package/dist/commands/fetch-app-data.js +40 -0
  13. package/dist/commands/fetch-app-data.js.map +1 -0
  14. package/dist/commands/prepare-app-code.d.ts +2 -0
  15. package/dist/commands/prepare-app-code.js +42 -0
  16. package/dist/commands/prepare-app-code.js.map +1 -0
  17. package/dist/constants.d.ts +1 -0
  18. package/dist/constants.js +5 -0
  19. package/dist/constants.js.map +1 -0
  20. package/dist/debug/constants.d.ts +2 -0
  21. package/dist/debug/constants.js +10 -0
  22. package/dist/debug/constants.js.map +1 -0
  23. package/dist/tsconfig.build.tsbuildinfo +1 -0
  24. package/dist/tsconfig.tsbuildinfo +1 -0
  25. package/dist/types/get-extend-app-data-params.d.ts +7 -0
  26. package/dist/types/get-extend-app-data-params.js +3 -0
  27. package/dist/types/get-extend-app-data-params.js.map +1 -0
  28. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.d.ts +2 -0
  29. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js +43 -0
  30. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js.map +1 -0
  31. package/dist/utils/get-extend-app-data-params-using-npm-module.d.ts +2 -0
  32. package/dist/utils/get-extend-app-data-params-using-npm-module.js +30 -0
  33. package/dist/utils/get-extend-app-data-params-using-npm-module.js.map +1 -0
  34. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/constants.d.ts +1 -0
  35. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/constants.js +9 -0
  36. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/constants.js.map +1 -0
  37. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.d.ts +2 -0
  38. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js +88 -0
  39. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js.map +1 -0
  40. package/dist/utils/get-extend-app-data-params-using-workspace-module/constants.d.ts +1 -0
  41. package/dist/utils/get-extend-app-data-params-using-workspace-module/constants.js +9 -0
  42. package/dist/utils/get-extend-app-data-params-using-workspace-module/constants.js.map +1 -0
  43. package/dist/utils/get-extend-app-data-params-using-workspace-module/index.d.ts +2 -0
  44. package/dist/utils/get-extend-app-data-params-using-workspace-module/index.js +105 -0
  45. package/dist/utils/get-extend-app-data-params-using-workspace-module/index.js.map +1 -0
  46. package/dist/utils/get-extend-app-data-params-using-workspace-module.d.ts +2 -0
  47. package/dist/utils/get-extend-app-data-params-using-workspace-module.js +105 -0
  48. package/dist/utils/get-extend-app-data-params-using-workspace-module.js.map +1 -0
  49. package/package.json +27 -20
  50. package/rush-logs/cli.build.log +1 -0
  51. package/src/cli.ts +68 -0
  52. package/src/constants.ts +1 -0
  53. package/src/types/get-extend-app-data-params.ts +8 -0
  54. package/src/utils/get-extend-app-data-params-using-npm-ldsg-module.ts +45 -0
  55. package/src/utils/get-extend-app-data-params-using-workspace-ldsg-module/constants.ts +3 -0
  56. package/src/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.ts +130 -0
  57. package/tsconfig.build.json +4 -0
  58. package/tsconfig.json +24 -0
  59. package/dist/generate.d.ts +0 -13
  60. package/dist/generate.d.ts.map +0 -1
  61. package/dist/generate.js +0 -187
  62. package/dist/index.d.ts +0 -3
  63. package/dist/index.d.ts.map +0 -1
  64. package/dist/index.js +0 -78
  65. package/dist/start.d.ts +0 -7
  66. package/dist/start.d.ts.map +0 -1
  67. package/dist/start.js +0 -76
@@ -0,0 +1,130 @@
1
+ import { FILES_IN_APP_TEMPLATE_MODULE } from '@ldsg/constants';
2
+ import { ExtendAppDataParams } from '@ldsg/utils';
3
+ import fs from 'fs-extra';
4
+ import _ from 'lodash';
5
+ import { GetExtendAppDataParams } from '../../types/get-extend-app-data-params';
6
+ import { RUSH_JSON_PATH } from './constants';
7
+
8
+ const DEBUG_APP_PACKAGE_NAME = '@ldsg/app';
9
+
10
+ /**
11
+ * 主函数,用于准备调试应用环境
12
+ *
13
+ * 主要功能包括:
14
+ * 1. 清理并重建应用目录
15
+ * 2. 配置workspace模式的ldsg模块依赖
16
+ * 3. 更新rush.json中的项目配置
17
+ * 4. 生成调试应用的package.json和入口文件
18
+ *
19
+ * @async
20
+ * @function main
21
+ * @throws {Error} 当文件读写操作失败时抛出错误
22
+ */
23
+ export const getExtendAppDataParamsUsingWorkspaceLdsgModule: GetExtendAppDataParams = async (params) => {
24
+ const { appData: paramsAppData } = params;
25
+
26
+ let appData = paramsAppData;
27
+
28
+ /**
29
+ * 相对于普通应用准备,增加了如下操作
30
+ * 1. ldsg 模块使用 workspace 模式
31
+ * 2. 在 rush.json 中增加 projects
32
+ */
33
+ {
34
+ const { resourceRecords: appDataResourceRecords } = appData;
35
+
36
+ const subspaceProjects: {
37
+ packageName: string;
38
+ projectFolder: string;
39
+ }[] = [
40
+ {
41
+ packageName: DEBUG_APP_PACKAGE_NAME,
42
+ projectFolder: 'generated/app'
43
+ }
44
+ ];
45
+
46
+ /**
47
+ * 替换资源记录中的依赖
48
+ */
49
+ const resourceRecords = appDataResourceRecords.map((resourceRecord) => {
50
+ const { id, kind } = resourceRecord;
51
+
52
+ if (kind === 'handler') {
53
+ subspaceProjects.push({
54
+ packageName: `${id}`,
55
+ projectFolder: `generated/${id}`
56
+ });
57
+
58
+ let dependencies = resourceRecord.settings.dependencies.map((dependency) => {
59
+ const res = dependency;
60
+
61
+ if (_.startsWith(dependency.name, '@ldsg/')) {
62
+ return {
63
+ ...dependency,
64
+ version: 'workspace:*'
65
+ };
66
+ }
67
+
68
+ return res;
69
+ });
70
+
71
+ dependencies = dependencies.concat([
72
+ {
73
+ name: '@types/node',
74
+ version: '^24.1.0'
75
+ },
76
+ {
77
+ name: 'typescript',
78
+ version: '^5.3.3'
79
+ }
80
+ ]);
81
+
82
+ return {
83
+ ...resourceRecord,
84
+ settings: {
85
+ ...resourceRecord.settings,
86
+ dependencies
87
+ }
88
+ };
89
+ }
90
+
91
+ return resourceRecord;
92
+ });
93
+
94
+ appData = {
95
+ ...appData,
96
+ resourceRecords
97
+ };
98
+
99
+ const debugProjects = subspaceProjects.map((item) => {
100
+ const res = {
101
+ ...item
102
+ };
103
+
104
+ return res;
105
+ });
106
+
107
+ const rushJson = await fs.readJson(RUSH_JSON_PATH);
108
+
109
+ const newRushJson = {
110
+ ...rushJson,
111
+ projects: _.sortBy(_.uniqBy(rushJson.projects.concat(debugProjects), 'projectFolder'), 'projectFolder')
112
+ };
113
+
114
+ await fs.writeJson(RUSH_JSON_PATH, newRushJson, { spaces: 2 });
115
+ }
116
+
117
+ const packageJsonFile = FILES_IN_APP_TEMPLATE_MODULE.find((file) => file.path === 'package.json');
118
+
119
+ _.set(packageJsonFile, 'data.name', DEBUG_APP_PACKAGE_NAME);
120
+
121
+ const res: ExtendAppDataParams = {
122
+ appData,
123
+ extraAppData: {
124
+ // reuseMainAppDependencies: ['graphql', 'graphql-middleware', 'graphql-shield'],
125
+ filesInAppModele: [...FILES_IN_APP_TEMPLATE_MODULE, packageJsonFile]
126
+ }
127
+ };
128
+
129
+ return res;
130
+ };
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "include": ["src"]
4
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "declaration": true,
5
+ "removeComments": true,
6
+ "emitDecoratorMetadata": true,
7
+ "experimentalDecorators": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "target": "ES2021",
10
+ "sourceMap": true,
11
+ "outDir": "./dist",
12
+ "baseUrl": "./",
13
+ "incremental": true,
14
+ "skipLibCheck": true,
15
+ "strictNullChecks": false,
16
+ "noImplicitAny": false,
17
+ "strictBindCallApply": false,
18
+ "forceConsistentCasingInFileNames": false,
19
+ "noFallthroughCasesInSwitch": false,
20
+ "resolveJsonModule": true,
21
+ "esModuleInterop": true,
22
+ "types": ["jest", "node"]
23
+ }
24
+ }
@@ -1,13 +0,0 @@
1
- export interface GenerateOptions {
2
- targetDir: string;
3
- appDataUri: string;
4
- confirm?: boolean;
5
- verbose?: boolean;
6
- build?: boolean;
7
- }
8
- export declare function checkLdsgAppDataUri(uri: string): void;
9
- export declare function copyTemplateFiles(targetDir: string, verbose?: boolean): Promise<void>;
10
- export declare function installDependencies(targetDir: string, verbose?: boolean): Promise<void>;
11
- export declare function buildApplication(targetDir: string, verbose?: boolean): Promise<void>;
12
- export declare function generate(options: GenerateOptions): Promise<void>;
13
- //# sourceMappingURL=generate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIrD;AAuBD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgClG;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBpG;AAED,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjG;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DtE"}
package/dist/generate.js DELETED
@@ -1,187 +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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.checkLdsgAppDataUri = checkLdsgAppDataUri;
37
- exports.copyTemplateFiles = copyTemplateFiles;
38
- exports.installDependencies = installDependencies;
39
- exports.buildApplication = buildApplication;
40
- exports.generate = generate;
41
- const child_process_1 = require("child_process");
42
- const fs = __importStar(require("fs-extra"));
43
- const path = __importStar(require("path"));
44
- const app_builder_1 = require("@ldsg/app-builder");
45
- const app_builder_2 = require("@ldsg/app-builder");
46
- const constants_1 = require("@ldsg/constants");
47
- const LOCKSTEP_VERSION = '0.3.24';
48
- function checkLdsgAppDataUri(uri) {
49
- if (!uri) {
50
- throw new Error('appDataUri is required. Use --data-uri <uri>');
51
- }
52
- }
53
- async function replaceWorkspaceDependencies(packageJsonPath, verbose = false) {
54
- const packageJson = await fs.readJson(packageJsonPath);
55
- let modified = false;
56
- if (packageJson.dependencies) {
57
- for (const key of Object.keys(packageJson.dependencies)) {
58
- if (packageJson.dependencies[key] === 'workspace:*' && key.startsWith('@ldsg/')) {
59
- packageJson.dependencies[key] = LOCKSTEP_VERSION;
60
- modified = true;
61
- if (verbose) {
62
- console.log(` Changed ${key}: workspace:* -> ${LOCKSTEP_VERSION}`);
63
- }
64
- }
65
- }
66
- }
67
- if (modified) {
68
- await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
69
- }
70
- }
71
- async function copyTemplateFiles(targetDir, verbose = false) {
72
- if (verbose) {
73
- console.log('Copying template files to target directory...');
74
- }
75
- try {
76
- await fs.ensureDir(targetDir);
77
- for (const file of constants_1.FILES_IN_APP_TEMPLATE_MODULE) {
78
- const { path: filename, data } = file;
79
- if (filename === 'index.ts')
80
- continue;
81
- const targetPath = path.join(targetDir, filename);
82
- if (verbose) {
83
- console.log(` - ${filename}`);
84
- }
85
- if (typeof data === 'object') {
86
- await fs.writeJson(targetPath, data, { spaces: 2 });
87
- }
88
- else {
89
- await fs.writeFile(targetPath, data);
90
- }
91
- }
92
- if (verbose) {
93
- console.log('Template files copied successfully');
94
- }
95
- }
96
- catch (error) {
97
- throw new Error(`Failed to copy template files: ${error}`);
98
- }
99
- }
100
- async function installDependencies(targetDir, verbose = false) {
101
- if (verbose) {
102
- console.log('Installing dependencies...');
103
- }
104
- try {
105
- await replaceWorkspaceDependencies(path.join(targetDir, 'package.json'), verbose);
106
- (0, child_process_1.execSync)('npm install', {
107
- cwd: targetDir,
108
- stdio: verbose ? 'inherit' : 'pipe'
109
- });
110
- if (verbose) {
111
- console.log('Dependencies installed successfully');
112
- }
113
- }
114
- catch (error) {
115
- throw new Error(`Failed to install dependencies: ${error}`);
116
- }
117
- }
118
- async function buildApplication(targetDir, verbose = false) {
119
- if (verbose) {
120
- console.log('Building application...');
121
- }
122
- try {
123
- (0, child_process_1.execSync)('npm run build', {
124
- cwd: targetDir,
125
- stdio: verbose ? 'inherit' : 'pipe'
126
- });
127
- if (verbose) {
128
- console.log('Application built successfully');
129
- }
130
- }
131
- catch (error) {
132
- throw new Error(`Failed to build application: ${error}`);
133
- }
134
- }
135
- async function generate(options) {
136
- const { targetDir, appDataUri, confirm = false, verbose = false, build = false } = options;
137
- if (verbose) {
138
- console.log('Starting application generation...');
139
- console.log(`Target directory: ${targetDir}`);
140
- console.log(`App data URI: ${appDataUri}`);
141
- }
142
- try {
143
- await checkLdsgAppDataUri(appDataUri);
144
- const targetExists = await fs.pathExists(targetDir);
145
- if (targetExists) {
146
- if (!confirm) {
147
- console.log(`Target directory ${targetDir} already exists.`);
148
- console.log('Use --confirm flag to proceed without prompting.');
149
- process.exit(1);
150
- }
151
- if (verbose) {
152
- console.log(`Overwriting existing directory: ${targetDir}`);
153
- }
154
- await fs.emptyDir(targetDir);
155
- }
156
- else {
157
- await fs.ensureDir(targetDir);
158
- }
159
- if (verbose) {
160
- console.log('Fetching application data...');
161
- }
162
- const appData = await (0, app_builder_1.fetchAppDataFromUri)({ appDataUri, outputPath: undefined });
163
- if (verbose) {
164
- console.log('Preparing application structure...');
165
- }
166
- await (0, app_builder_2.prepareApp)({ appData, outputPath: targetDir });
167
- if (verbose) {
168
- console.log('Copying template files...');
169
- }
170
- await copyTemplateFiles(targetDir, verbose);
171
- if (verbose) {
172
- console.log('Installing dependencies...');
173
- }
174
- await installDependencies(targetDir, verbose);
175
- if (build) {
176
- if (verbose) {
177
- console.log('Building application...');
178
- }
179
- await buildApplication(targetDir, verbose);
180
- }
181
- console.log('Application generation completed successfully!');
182
- }
183
- catch (error) {
184
- console.error('Generation failed:', error);
185
- process.exit(1);
186
- }
187
- }
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js DELETED
@@ -1,78 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
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
- Object.defineProperty(exports, "__esModule", { value: true });
37
- const commander_1 = require("commander");
38
- const path = __importStar(require("path"));
39
- const generate_1 = require("./generate");
40
- const start_1 = require("./start");
41
- const program = new commander_1.Command();
42
- program
43
- .name('ldsg')
44
- .description('CLI tool for generating and starting ldsg applications')
45
- .version('0.1.0');
46
- program
47
- .command('generate')
48
- .alias('g')
49
- .description('Generate ldsg application in target directory')
50
- .argument('<targetDir>', 'Target directory for application generation')
51
- .requiredOption('--data-uri <uri>', 'Application data URI (HTTP URL or file path)')
52
- .option('--confirm', 'Skip confirmation prompts')
53
- .option('--build', 'Build application after generation')
54
- .option('--verbose', 'Enable verbose output')
55
- .action(async (targetDir, options) => {
56
- const generateOptions = {
57
- targetDir: path.resolve(targetDir),
58
- appDataUri: options.dataUri,
59
- confirm: options.confirm,
60
- build: options.build,
61
- verbose: options.verbose
62
- };
63
- await (0, generate_1.generate)(generateOptions);
64
- });
65
- program
66
- .command('start')
67
- .alias('s')
68
- .description('Start generated ldsg application in target directory')
69
- .argument('<targetDir>', 'Target directory containing the application')
70
- .option('--verbose', 'Enable verbose output')
71
- .action(async (targetDir, options) => {
72
- const startOptions = {
73
- targetDir: path.resolve(targetDir),
74
- verbose: options.verbose
75
- };
76
- await (0, start_1.start)(startOptions);
77
- });
78
- program.parse();
package/dist/start.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export interface StartOptions {
2
- targetDir: string;
3
- verbose?: boolean;
4
- }
5
- export declare function validateTargetDir(targetDir: string): Promise<void>;
6
- export declare function start(options: StartOptions): Promise<void>;
7
- //# sourceMappingURL=start.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxE;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhE"}
package/dist/start.js DELETED
@@ -1,76 +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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.validateTargetDir = validateTargetDir;
37
- exports.start = start;
38
- const child_process_1 = require("child_process");
39
- const fs = __importStar(require("fs-extra"));
40
- const path = __importStar(require("path"));
41
- async function validateTargetDir(targetDir) {
42
- const exists = await fs.pathExists(targetDir);
43
- if (!exists) {
44
- throw new Error(`Target directory does not exist: ${targetDir}`);
45
- }
46
- const packageJsonPath = path.join(targetDir, 'package.json');
47
- const packageJsonExists = await fs.pathExists(packageJsonPath);
48
- if (!packageJsonExists) {
49
- throw new Error(`package.json not found in target directory. Is this a valid application?`);
50
- }
51
- const packageJson = await fs.readJson(packageJsonPath);
52
- if (!packageJson.scripts || !packageJson.scripts.start) {
53
- throw new Error(`No "start" script found in package.json`);
54
- }
55
- }
56
- async function start(options) {
57
- const { targetDir, verbose = false } = options;
58
- if (verbose) {
59
- console.log('Starting application...');
60
- console.log(`Target directory: ${targetDir}`);
61
- }
62
- try {
63
- await validateTargetDir(targetDir);
64
- if (verbose) {
65
- console.log('Running npm start...');
66
- }
67
- (0, child_process_1.execSync)('npm start', {
68
- cwd: targetDir,
69
- stdio: 'inherit'
70
- });
71
- }
72
- catch (error) {
73
- console.error('Start failed:', error);
74
- process.exit(1);
75
- }
76
- }