@ldsg/cli 0.1.0-alpha.9 → 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 (63) 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 +61 -2
  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 +32 -25
  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/LICENSE +0 -22
  60. package/dist/index.d.ts +0 -2
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/index.js +0 -3
  63. package/dist/index.js.LICENSE.txt +0 -24
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getExtendAppDataParamsUsingWorkspaceLdsgModule = void 0;
7
+ const constants_1 = require("@ldsg/constants");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const constants_2 = require("./constants");
11
+ const DEBUG_APP_PACKAGE_NAME = '@ldsg/app';
12
+ const getExtendAppDataParamsUsingWorkspaceLdsgModule = async (params) => {
13
+ const { appData: paramsAppData } = params;
14
+ let appData = paramsAppData;
15
+ {
16
+ const { resourceRecords: appDataResourceRecords } = appData;
17
+ const subspaceProjects = [
18
+ {
19
+ packageName: DEBUG_APP_PACKAGE_NAME,
20
+ projectFolder: 'generated/app'
21
+ }
22
+ ];
23
+ const resourceRecords = appDataResourceRecords.map((resourceRecord) => {
24
+ const { id, kind } = resourceRecord;
25
+ if (kind === 'handler') {
26
+ subspaceProjects.push({
27
+ packageName: `${id}`,
28
+ projectFolder: `generated/${id}`
29
+ });
30
+ let dependencies = resourceRecord.settings.dependencies.map((dependency) => {
31
+ const res = dependency;
32
+ if (lodash_1.default.startsWith(dependency.name, '@ldsg/')) {
33
+ return {
34
+ ...dependency,
35
+ version: 'workspace:*'
36
+ };
37
+ }
38
+ return res;
39
+ });
40
+ dependencies = dependencies.concat([
41
+ {
42
+ name: '@types/node',
43
+ version: '^24.1.0'
44
+ },
45
+ {
46
+ name: 'typescript',
47
+ version: '^5.3.3'
48
+ }
49
+ ]);
50
+ return {
51
+ ...resourceRecord,
52
+ settings: {
53
+ ...resourceRecord.settings,
54
+ dependencies
55
+ }
56
+ };
57
+ }
58
+ return resourceRecord;
59
+ });
60
+ appData = {
61
+ ...appData,
62
+ resourceRecords
63
+ };
64
+ const debugProjects = subspaceProjects.map((item) => {
65
+ const res = {
66
+ ...item
67
+ };
68
+ return res;
69
+ });
70
+ const rushJson = await fs_extra_1.default.readJson(constants_2.RUSH_JSON_PATH);
71
+ const newRushJson = {
72
+ ...rushJson,
73
+ projects: lodash_1.default.sortBy(lodash_1.default.uniqBy(rushJson.projects.concat(debugProjects), 'projectFolder'), 'projectFolder')
74
+ };
75
+ await fs_extra_1.default.writeJson(constants_2.RUSH_JSON_PATH, newRushJson, { spaces: 2 });
76
+ }
77
+ const packageJsonFile = constants_1.FILES_IN_APP_TEMPLATE_MODULE.find((file) => file.path === 'package.json');
78
+ lodash_1.default.set(packageJsonFile, 'data.name', DEBUG_APP_PACKAGE_NAME);
79
+ const res = {
80
+ appData,
81
+ extraAppData: {
82
+ filesInAppModele: [...constants_1.FILES_IN_APP_TEMPLATE_MODULE, packageJsonFile]
83
+ }
84
+ };
85
+ return res;
86
+ };
87
+ exports.getExtendAppDataParamsUsingWorkspaceLdsgModule = getExtendAppDataParamsUsingWorkspaceLdsgModule;
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const RUSH_JSON_PATH: string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RUSH_JSON_PATH = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ exports.RUSH_JSON_PATH = path_1.default.join(process.cwd(), '../../rush.json');
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/get-extend-app-data-params-using-workspace-module/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAEX,QAAA,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GetExtendAppDataParams } from '../../types/get-extend-app-data-params';
2
+ export declare const getExtendAppDataParamsUsingWorkspaceModule: GetExtendAppDataParams;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getExtendAppDataParamsUsingWorkspaceModule = void 0;
7
+ const constants_1 = require("@ldsg/constants");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const constants_2 = require("./constants");
11
+ const DEBUG_APP_PACKAGE_NAME = '@ldsg/app';
12
+ const getExtendAppDataParamsUsingWorkspaceModule = async (params) => {
13
+ const { appData: paramsAppData } = params;
14
+ let appData = paramsAppData;
15
+ {
16
+ const { resourceRecords: appDataResourceRecords } = appData;
17
+ const subspaceProjects = [
18
+ {
19
+ packageName: DEBUG_APP_PACKAGE_NAME,
20
+ projectFolder: 'generated/app'
21
+ }
22
+ ];
23
+ const resourceRecords = appDataResourceRecords.map((resourceRecord) => {
24
+ const { id, kind } = resourceRecord;
25
+ if (kind === 'handler') {
26
+ subspaceProjects.push({
27
+ packageName: `${id}`,
28
+ projectFolder: `generated/${id}`
29
+ });
30
+ let dependencies = resourceRecord.settings.dependencies.map((dependency) => {
31
+ const res = dependency;
32
+ if (lodash_1.default.startsWith(dependency.name, '@ldsg/')) {
33
+ return {
34
+ ...dependency,
35
+ version: 'workspace:*'
36
+ };
37
+ }
38
+ return res;
39
+ });
40
+ dependencies = dependencies.concat([
41
+ {
42
+ name: '@types/node',
43
+ version: '^24.1.0'
44
+ },
45
+ {
46
+ name: 'typescript',
47
+ version: '^5.3.3'
48
+ }
49
+ ]);
50
+ return {
51
+ ...resourceRecord,
52
+ settings: {
53
+ ...resourceRecord.settings,
54
+ dependencies
55
+ }
56
+ };
57
+ }
58
+ return resourceRecord;
59
+ });
60
+ appData = {
61
+ ...appData,
62
+ resourceRecords
63
+ };
64
+ const debugProjects = subspaceProjects.map((item) => {
65
+ const res = {
66
+ ...item
67
+ };
68
+ return res;
69
+ });
70
+ const rushJson = await fs_extra_1.default.readJson(constants_2.RUSH_JSON_PATH);
71
+ const newRushJson = {
72
+ ...rushJson,
73
+ projects: lodash_1.default.sortBy(lodash_1.default.uniqBy(rushJson.projects.concat(debugProjects), 'projectFolder'), 'projectFolder')
74
+ };
75
+ await fs_extra_1.default.writeJson(constants_2.RUSH_JSON_PATH, newRushJson, { spaces: 2 });
76
+ }
77
+ const PACKAGE_JSON_PATH = 'package.json';
78
+ const packageJsonData = constants_1.FILES_IN_APP_TEMPLATE_MODULE.find((item) => item.path === PACKAGE_JSON_PATH)
79
+ .data;
80
+ const { scripts: packageJsonScripts } = packageJsonData;
81
+ const scripts = {
82
+ ...packageJsonScripts,
83
+ build: 'tsc --project tsconfig.json'
84
+ };
85
+ const newPackageJsonData = {
86
+ ...packageJsonData,
87
+ name: DEBUG_APP_PACKAGE_NAME,
88
+ scripts
89
+ };
90
+ const res = {
91
+ appData,
92
+ extraAppData: {
93
+ filesInAppModele: [
94
+ ...constants_1.FILES_IN_APP_TEMPLATE_MODULE,
95
+ {
96
+ path: PACKAGE_JSON_PATH,
97
+ data: newPackageJsonData
98
+ }
99
+ ]
100
+ }
101
+ };
102
+ return res;
103
+ };
104
+ exports.getExtendAppDataParamsUsingWorkspaceModule = getExtendAppDataParamsUsingWorkspaceModule;
105
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/get-extend-app-data-params-using-workspace-module/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { GetExtendAppDataParams } from '../types/get-extend-app-data-params';
2
+ export declare const getExtendAppDataParamsUsingWorkspaceModule: GetExtendAppDataParams;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getExtendAppDataParamsUsingWorkspaceModule = void 0;
7
+ const constants_1 = require("@ldsg/constants");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const constants_2 = require("../debug/constants");
11
+ const DEBUG_APP_PACKAGE_NAME = '@ldsg/app';
12
+ const getExtendAppDataParamsUsingWorkspaceModule = async (params) => {
13
+ const { appData: paramsAppData } = params;
14
+ let appData = paramsAppData;
15
+ {
16
+ const { resourceRecords: appDataResourceRecords } = appData;
17
+ const subspaceProjects = [
18
+ {
19
+ packageName: DEBUG_APP_PACKAGE_NAME,
20
+ projectFolder: 'generated/app'
21
+ }
22
+ ];
23
+ const resourceRecords = appDataResourceRecords.map((resourceRecord) => {
24
+ const { id, kind } = resourceRecord;
25
+ if (kind === 'handler') {
26
+ subspaceProjects.push({
27
+ packageName: `${id}`,
28
+ projectFolder: `generated/${id}`
29
+ });
30
+ let dependencies = resourceRecord.settings.dependencies.map((dependency) => {
31
+ const res = dependency;
32
+ if (lodash_1.default.startsWith(dependency.name, '@ldsg/')) {
33
+ return {
34
+ ...dependency,
35
+ version: 'workspace:*'
36
+ };
37
+ }
38
+ return res;
39
+ });
40
+ dependencies = dependencies.concat([
41
+ {
42
+ name: '@types/node',
43
+ version: '^24.1.0'
44
+ },
45
+ {
46
+ name: 'typescript',
47
+ version: '^5.3.3'
48
+ }
49
+ ]);
50
+ return {
51
+ ...resourceRecord,
52
+ settings: {
53
+ ...resourceRecord.settings,
54
+ dependencies
55
+ }
56
+ };
57
+ }
58
+ return resourceRecord;
59
+ });
60
+ appData = {
61
+ ...appData,
62
+ resourceRecords
63
+ };
64
+ const debugProjects = subspaceProjects.map((item) => {
65
+ const res = {
66
+ ...item
67
+ };
68
+ return res;
69
+ });
70
+ const rushJson = await fs_extra_1.default.readJson(constants_2.RUSH_JSON_PATH);
71
+ const newRushJson = {
72
+ ...rushJson,
73
+ projects: lodash_1.default.sortBy(lodash_1.default.uniqBy(rushJson.projects.concat(debugProjects), 'projectFolder'), 'projectFolder')
74
+ };
75
+ await fs_extra_1.default.writeJson(constants_2.RUSH_JSON_PATH, newRushJson, { spaces: 2 });
76
+ }
77
+ const PACKAGE_JSON_PATH = 'package.json';
78
+ const packageJsonData = constants_1.FILES_IN_APP_TEMPLATE_MODULE.find((item) => item.path === PACKAGE_JSON_PATH)
79
+ .data;
80
+ const { scripts: packageJsonScripts } = packageJsonData;
81
+ const scripts = {
82
+ ...packageJsonScripts,
83
+ build: 'tsc --project tsconfig.json'
84
+ };
85
+ const newPackageJsonData = {
86
+ ...packageJsonData,
87
+ name: DEBUG_APP_PACKAGE_NAME,
88
+ scripts
89
+ };
90
+ const res = {
91
+ appData,
92
+ extraAppData: {
93
+ filesInAppModele: [
94
+ ...constants_1.FILES_IN_APP_TEMPLATE_MODULE,
95
+ {
96
+ path: PACKAGE_JSON_PATH,
97
+ data: newPackageJsonData
98
+ }
99
+ ]
100
+ }
101
+ };
102
+ return res;
103
+ };
104
+ exports.getExtendAppDataParamsUsingWorkspaceModule = getExtendAppDataParamsUsingWorkspaceModule;
105
+ //# sourceMappingURL=get-extend-app-data-params-using-workspace-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-extend-app-data-params-using-workspace-module.js","sourceRoot":"","sources":["../../src/utils/get-extend-app-data-params-using-workspace-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,37 +1,44 @@
1
1
  {
2
2
  "name": "@ldsg/cli",
3
- "version": "0.1.0-alpha.9",
4
- "main": "dist/index.js",
5
- "files": [
6
- "dist/"
7
- ],
8
- "types": "dist",
3
+ "version": "0.3.25",
4
+ "description": "",
5
+ "keywords": [],
6
+ "license": "ISC",
7
+ "author": "",
8
+ "main": "dist/cli.js",
9
9
  "bin": {
10
- "ldsg": "dist/index.js"
11
- },
12
- "author": "wanxger",
13
- "license": "MIT",
14
- "publishConfig": {
15
- "access": "public"
10
+ "ldsg": "./dist/cli.js"
16
11
  },
17
- "description": "",
18
12
  "dependencies": {
19
- "commander": "^12.1.0",
20
- "@ldsg/utils": "0.1.0-alpha.9"
13
+ "axios": "^1.7.9",
14
+ "commander": "^12.0.0",
15
+ "fs-extra": "^11.3.0",
16
+ "jsonata": "^2.0.6",
17
+ "@ldsg/apaas-to-runtime": "0.3.25",
18
+ "@ldsg/constants": "0.3.25",
19
+ "@ldsg/utils": "0.3.25"
21
20
  },
22
21
  "devDependencies": {
23
- "@types/node": "^20.13.0",
24
- "@types/supertest": "^6.0.0",
25
- "supertest": "^6.3.4",
26
- "ts-loader": "^9.5.1",
22
+ "@types/fs-extra": "^11.0.4",
23
+ "@types/jest": "^30.0.0",
24
+ "@types/lodash": "^4.14.202",
25
+ "@types/node": "^24.1.0",
26
+ "@types/supertest": "^6.0.3",
27
+ "dotenv-cli": "~11.0.0",
28
+ "jest": "^29.5.0",
29
+ "lodash": "^4.17.21",
30
+ "supertest": "^7.1.4",
31
+ "ts-jest": "^29.4.1",
27
32
  "ts-node": "^10.9.2",
28
- "tslib": "^2.6.2",
29
- "typescript": "^5.5.2",
30
- "webpack": "^5.97.1",
31
- "webpack-cli": "^5.1.4"
33
+ "tslib": "^2.8.1",
34
+ "typescript": "^5.3.3",
35
+ "@ldsg/types": "0.3.25"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public"
32
39
  },
33
40
  "scripts": {
34
- "build": "rm -rf dist && webpack",
35
- "debug": "ts-node src/index.ts"
41
+ "build": "tsc --project tsconfig.build.json",
42
+ "cli": "ts-node src/cli.ts"
36
43
  }
37
44
  }
@@ -0,0 +1 @@
1
+ Invoking: tsc --project tsconfig.build.json
package/src/cli.ts ADDED
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+ import { convertApaasResourceRecordsToResourceRecords } from '@ldsg/apaas-to-runtime';
3
+ import { AppData } from '@ldsg/types';
4
+ import {
5
+ extendAppData,
6
+ ExtendAppDataParams,
7
+ loadAppResourceRecords,
8
+ prepare,
9
+ ZipAppDataLayout
10
+ } from '@ldsg/utils';
11
+ import { Command } from 'commander';
12
+ import { DEFAULT_OUTPUT_PATH } from './constants';
13
+ import { getExtendAppDataParamsUsingNpmLdsgModule } from './utils/get-extend-app-data-params-using-npm-ldsg-module';
14
+ import { getExtendAppDataParamsUsingWorkspaceLdsgModule } from './utils/get-extend-app-data-params-using-workspace-ldsg-module';
15
+
16
+ const program = new Command();
17
+
18
+ program.name('ldsg').description('LDSG CLI tools');
19
+
20
+ program
21
+ .command('generate')
22
+ .aliases(['g', 'gen'])
23
+ .description('Generate standalone application from resource records')
24
+ .option('--app-data-uri <uri>', 'runtime app data URI')
25
+ .option('--apaas-app-data-uri <uri>', 'aPaaS app data URI (GraphQL)')
26
+ .option('--apaas-app-data-expression <expression>', 'JSONata expression for aPaaS data extraction')
27
+ .option('--using-workspace-ldsg-module', 'use workspace ldsg module mode')
28
+ .option('-o, --output <path>', `output directory for prepared app code (default: ${DEFAULT_OUTPUT_PATH})`)
29
+ .action(async (options) => {
30
+ const outputPath = options.output || DEFAULT_OUTPUT_PATH;
31
+
32
+ const usingWorkspaceLdsgModule = options.usingWorkspaceLdsgModule ?? false;
33
+
34
+ const { resourceRecords, sourceType } = await loadAppResourceRecords({
35
+ appDataUri: options.appDataUri,
36
+ apaasAppDataUri: options.apaasAppDataUri,
37
+ apaasAppDataExpression: options.apaasAppDataExpression
38
+ });
39
+
40
+ let appData: AppData;
41
+
42
+ if (sourceType === 'apaas') {
43
+ const { targetResourceRecords } = convertApaasResourceRecordsToResourceRecords({
44
+ resourceRecords
45
+ });
46
+ appData = { resourceRecords: targetResourceRecords };
47
+ } else {
48
+ appData = { resourceRecords };
49
+ }
50
+
51
+ let extendAppDataParams: ExtendAppDataParams;
52
+
53
+ if (usingWorkspaceLdsgModule) {
54
+ extendAppDataParams = await getExtendAppDataParamsUsingWorkspaceLdsgModule({ appData });
55
+ } else {
56
+ extendAppDataParams = await getExtendAppDataParamsUsingNpmLdsgModule({ appData });
57
+ }
58
+
59
+ const extendAppDataRes = extendAppData(extendAppDataParams);
60
+
61
+ await prepare({
62
+ ...extendAppDataRes,
63
+ outputPath,
64
+ ...(usingWorkspaceLdsgModule ? { layout: ZipAppDataLayout.FLAT } : {})
65
+ });
66
+ });
67
+
68
+ program.parse(process.argv);
@@ -0,0 +1 @@
1
+ export const DEFAULT_OUTPUT_PATH = '.';
@@ -0,0 +1,8 @@
1
+ import { AppData } from '@ldsg/types';
2
+ import { ExtendAppDataParams } from '@ldsg/utils';
3
+
4
+ interface GetExtendAppDataParamsParams {
5
+ appData: AppData;
6
+ }
7
+
8
+ export type GetExtendAppDataParams = (params: GetExtendAppDataParamsParams) => Promise<ExtendAppDataParams>;
@@ -0,0 +1,45 @@
1
+ import { FILES_IN_APP_TEMPLATE_MODULE } from '@ldsg/constants';
2
+ import { ExtendAppDataParams } from '@ldsg/utils';
3
+ import _ from 'lodash';
4
+ import { GetExtendAppDataParams } from '../types/get-extend-app-data-params';
5
+
6
+ export const getExtendAppDataParamsUsingNpmLdsgModule: GetExtendAppDataParams = async (params) => {
7
+ const { appData } = params;
8
+
9
+ const packageJsonFile = FILES_IN_APP_TEMPLATE_MODULE.find((file) => file.path === 'package.json');
10
+
11
+ /**
12
+ * 替换模块版本
13
+ */
14
+ _.set(packageJsonFile, 'data.dependencies["@ldsg/create-app"]', 'latest');
15
+ _.set(packageJsonFile, 'data.dependencies["@ldsg/opentelemetry-node"]', 'latest');
16
+
17
+ let res: ExtendAppDataParams = {
18
+ appData,
19
+ extraAppData: {
20
+ reuseMainAppDependencies: ['graphql', 'graphql-middleware', 'graphql-shield'],
21
+ filesInAppModele: [
22
+ ...FILES_IN_APP_TEMPLATE_MODULE,
23
+ packageJsonFile,
24
+ {
25
+ path: 'app.ts',
26
+ data: `import { createApp } from '@ldsg/create-app';
27
+ import MANIFEST_JSON from './manifest.json';
28
+
29
+ const { resourceRecords } = MANIFEST_JSON as any;
30
+
31
+ export const app = createApp({
32
+ resourceRecords,
33
+ });`
34
+ },
35
+ {
36
+ path: 'pnpm-workspace.yaml',
37
+ data: `packages:
38
+ - 'handlers/*'`
39
+ }
40
+ ]
41
+ }
42
+ };
43
+
44
+ return res;
45
+ };
@@ -0,0 +1,3 @@
1
+ import path from 'path';
2
+
3
+ export const RUSH_JSON_PATH = path.join(process.cwd(), '../../rush.json');