@phystack/cli 4.3.40-dev

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 (192) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +24 -0
  3. package/bin/index.js +2 -0
  4. package/dist/commands/app/build-apps.js +66 -0
  5. package/dist/commands/app/build-apps.js.map +1 -0
  6. package/dist/commands/app/build-container-remote.js +171 -0
  7. package/dist/commands/app/build-container-remote.js.map +1 -0
  8. package/dist/commands/app/build-container.js +330 -0
  9. package/dist/commands/app/build-container.js.map +1 -0
  10. package/dist/commands/app/build.js +393 -0
  11. package/dist/commands/app/build.js.map +1 -0
  12. package/dist/commands/app/create.js +451 -0
  13. package/dist/commands/app/create.js.map +1 -0
  14. package/dist/commands/app/deploy.js +176 -0
  15. package/dist/commands/app/deploy.js.map +1 -0
  16. package/dist/commands/app/device-picker.js +150 -0
  17. package/dist/commands/app/device-picker.js.map +1 -0
  18. package/dist/commands/app/import.js +303 -0
  19. package/dist/commands/app/import.js.map +1 -0
  20. package/dist/commands/app/list.js +26 -0
  21. package/dist/commands/app/list.js.map +1 -0
  22. package/dist/commands/app/publish.js +327 -0
  23. package/dist/commands/app/publish.js.map +1 -0
  24. package/dist/commands/app/settings.js +129 -0
  25. package/dist/commands/app/settings.js.map +1 -0
  26. package/dist/commands/app/types.js +13 -0
  27. package/dist/commands/app/types.js.map +1 -0
  28. package/dist/commands/app/upload-description.js +139 -0
  29. package/dist/commands/app/upload-description.js.map +1 -0
  30. package/dist/commands/app/upload-settings.js +29 -0
  31. package/dist/commands/app/upload-settings.js.map +1 -0
  32. package/dist/commands/app/utils.js +86 -0
  33. package/dist/commands/app/utils.js.map +1 -0
  34. package/dist/commands/auth/login.js +111 -0
  35. package/dist/commands/auth/login.js.map +1 -0
  36. package/dist/commands/auth/logout.js +19 -0
  37. package/dist/commands/auth/logout.js.map +1 -0
  38. package/dist/commands/descriptor/create.js +143 -0
  39. package/dist/commands/descriptor/create.js.map +1 -0
  40. package/dist/commands/descriptor/index.js +36 -0
  41. package/dist/commands/descriptor/index.js.map +1 -0
  42. package/dist/commands/descriptor/publish.js +163 -0
  43. package/dist/commands/descriptor/publish.js.map +1 -0
  44. package/dist/commands/descriptor/show.js +68 -0
  45. package/dist/commands/descriptor/show.js.map +1 -0
  46. package/dist/commands/dev/develop.js +175 -0
  47. package/dist/commands/dev/develop.js.map +1 -0
  48. package/dist/commands/dev/forward.js +118 -0
  49. package/dist/commands/dev/forward.js.map +1 -0
  50. package/dist/commands/dev/index.js +66 -0
  51. package/dist/commands/dev/index.js.map +1 -0
  52. package/dist/commands/dev/list.js +96 -0
  53. package/dist/commands/dev/list.js.map +1 -0
  54. package/dist/commands/dev/screen-devtools.js +156 -0
  55. package/dist/commands/dev/screen-devtools.js.map +1 -0
  56. package/dist/commands/dev/select.js +118 -0
  57. package/dist/commands/dev/select.js.map +1 -0
  58. package/dist/commands/dev/shell.js +171 -0
  59. package/dist/commands/dev/shell.js.map +1 -0
  60. package/dist/commands/dev/vnc.js +75 -0
  61. package/dist/commands/dev/vnc.js.map +1 -0
  62. package/dist/commands/device/select.js +118 -0
  63. package/dist/commands/device/select.js.map +1 -0
  64. package/dist/commands/flash.js +1120 -0
  65. package/dist/commands/flash.js.map +1 -0
  66. package/dist/commands/inst/create.js +55 -0
  67. package/dist/commands/inst/create.js.map +1 -0
  68. package/dist/commands/inst/index.js +15 -0
  69. package/dist/commands/inst/index.js.map +1 -0
  70. package/dist/commands/inst/list.js +26 -0
  71. package/dist/commands/inst/list.js.map +1 -0
  72. package/dist/commands/legacydev/debug.js +11 -0
  73. package/dist/commands/legacydev/debug.js.map +1 -0
  74. package/dist/commands/legacydev/deploy.js +15 -0
  75. package/dist/commands/legacydev/deploy.js.map +1 -0
  76. package/dist/commands/legacydev/dumpTwin.js +27 -0
  77. package/dist/commands/legacydev/dumpTwin.js.map +1 -0
  78. package/dist/commands/legacydev/forward.js +104 -0
  79. package/dist/commands/legacydev/forward.js.map +1 -0
  80. package/dist/commands/legacydev/index.js +188 -0
  81. package/dist/commands/legacydev/index.js.map +1 -0
  82. package/dist/commands/legacydev/invoke.js +29 -0
  83. package/dist/commands/legacydev/invoke.js.map +1 -0
  84. package/dist/commands/legacydev/js.js +69 -0
  85. package/dist/commands/legacydev/js.js.map +1 -0
  86. package/dist/commands/legacydev/list.js +196 -0
  87. package/dist/commands/legacydev/list.js.map +1 -0
  88. package/dist/commands/legacydev/logs.js +60 -0
  89. package/dist/commands/legacydev/logs.js.map +1 -0
  90. package/dist/commands/legacydev/modules.js +50 -0
  91. package/dist/commands/legacydev/modules.js.map +1 -0
  92. package/dist/commands/legacydev/move.js +23 -0
  93. package/dist/commands/legacydev/move.js.map +1 -0
  94. package/dist/commands/legacydev/ota.js +88 -0
  95. package/dist/commands/legacydev/ota.js.map +1 -0
  96. package/dist/commands/legacydev/patchTwin.js +21 -0
  97. package/dist/commands/legacydev/patchTwin.js.map +1 -0
  98. package/dist/commands/legacydev/pin.js +23 -0
  99. package/dist/commands/legacydev/pin.js.map +1 -0
  100. package/dist/commands/legacydev/pub.js +25 -0
  101. package/dist/commands/legacydev/pub.js.map +1 -0
  102. package/dist/commands/legacydev/rdp.js +64 -0
  103. package/dist/commands/legacydev/rdp.js.map +1 -0
  104. package/dist/commands/legacydev/screen-devtools.js +142 -0
  105. package/dist/commands/legacydev/screen-devtools.js.map +1 -0
  106. package/dist/commands/legacydev/settingsShow.js +89 -0
  107. package/dist/commands/legacydev/settingsShow.js.map +1 -0
  108. package/dist/commands/legacydev/settingsUpdate.js +114 -0
  109. package/dist/commands/legacydev/settingsUpdate.js.map +1 -0
  110. package/dist/commands/legacydev/shell.js +167 -0
  111. package/dist/commands/legacydev/shell.js.map +1 -0
  112. package/dist/commands/legacydev/showTwin.js +9 -0
  113. package/dist/commands/legacydev/showTwin.js.map +1 -0
  114. package/dist/commands/legacydev/statusLog.js +56 -0
  115. package/dist/commands/legacydev/statusLog.js.map +1 -0
  116. package/dist/commands/legacydev/sub.js +39 -0
  117. package/dist/commands/legacydev/sub.js.map +1 -0
  118. package/dist/commands/legacydev/vnc.js +61 -0
  119. package/dist/commands/legacydev/vnc.js.map +1 -0
  120. package/dist/commands/tenant/index.js +21 -0
  121. package/dist/commands/tenant/index.js.map +1 -0
  122. package/dist/commands/tenant/list.js +14 -0
  123. package/dist/commands/tenant/list.js.map +1 -0
  124. package/dist/commands/tenant/select.js +87 -0
  125. package/dist/commands/tenant/select.js.map +1 -0
  126. package/dist/commands/vm/create.js +718 -0
  127. package/dist/commands/vm/create.js.map +1 -0
  128. package/dist/commands/vm/index.js +130 -0
  129. package/dist/commands/vm/index.js.map +1 -0
  130. package/dist/commands/vm/list.js +124 -0
  131. package/dist/commands/vm/list.js.map +1 -0
  132. package/dist/commands/vm/logs.js +66 -0
  133. package/dist/commands/vm/logs.js.map +1 -0
  134. package/dist/commands/vm/remove.js +180 -0
  135. package/dist/commands/vm/remove.js.map +1 -0
  136. package/dist/commands/vm/shell.js +400 -0
  137. package/dist/commands/vm/shell.js.map +1 -0
  138. package/dist/commands/vm/start.js +861 -0
  139. package/dist/commands/vm/start.js.map +1 -0
  140. package/dist/commands/vm/stop.js +232 -0
  141. package/dist/commands/vm/stop.js.map +1 -0
  142. package/dist/index.js +158 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/services/admin-api/admin-api.types.js +3 -0
  145. package/dist/services/admin-api/admin-api.types.js.map +1 -0
  146. package/dist/services/admin-api/device-modules.admin-api.service.js +58 -0
  147. package/dist/services/admin-api/device-modules.admin-api.service.js.map +1 -0
  148. package/dist/services/admin-api/devices-admin-api.service.js +213 -0
  149. package/dist/services/admin-api/devices-admin-api.service.js.map +1 -0
  150. package/dist/services/admin-api/gridapps-admin-api.service.js +59 -0
  151. package/dist/services/admin-api/gridapps-admin-api.service.js.map +1 -0
  152. package/dist/services/admin-api/index.js +157 -0
  153. package/dist/services/admin-api/index.js.map +1 -0
  154. package/dist/services/admin-api/installations-admin-api.service.js +29 -0
  155. package/dist/services/admin-api/installations-admin-api.service.js.map +1 -0
  156. package/dist/services/admin-api/organizations-admin-api.service.js +53 -0
  157. package/dist/services/admin-api/organizations-admin-api.service.js.map +1 -0
  158. package/dist/services/auth/device-grant-auth.service.js +224 -0
  159. package/dist/services/auth/device-grant-auth.service.js.map +1 -0
  160. package/dist/services/phyhub/index.js +200 -0
  161. package/dist/services/phyhub/index.js.map +1 -0
  162. package/dist/services/phyhub/phyhub.types.js +3 -0
  163. package/dist/services/phyhub/phyhub.types.js.map +1 -0
  164. package/dist/utils/device-fetcher.js +92 -0
  165. package/dist/utils/device-fetcher.js.map +1 -0
  166. package/dist/utils/devices.js +41 -0
  167. package/dist/utils/devices.js.map +1 -0
  168. package/dist/utils/docker-credentials.js +720 -0
  169. package/dist/utils/docker-credentials.js.map +1 -0
  170. package/dist/utils/emulated-device.js +91 -0
  171. package/dist/utils/emulated-device.js.map +1 -0
  172. package/dist/utils/index.js +180 -0
  173. package/dist/utils/index.js.map +1 -0
  174. package/dist/utils/modules.js +36 -0
  175. package/dist/utils/modules.js.map +1 -0
  176. package/dist/utils/org-selector.js +108 -0
  177. package/dist/utils/org-selector.js.map +1 -0
  178. package/dist/utils/proxy.js +31 -0
  179. package/dist/utils/proxy.js.map +1 -0
  180. package/dist/utils/registry-credentials.js +113 -0
  181. package/dist/utils/registry-credentials.js.map +1 -0
  182. package/dist/utils/statuses.js +124 -0
  183. package/dist/utils/statuses.js.map +1 -0
  184. package/dist/utils/templates.js +197 -0
  185. package/dist/utils/templates.js.map +1 -0
  186. package/dist/utils/tenant-storage.js +88 -0
  187. package/dist/utils/tenant-storage.js.map +1 -0
  188. package/dist/utils/vm.js +434 -0
  189. package/dist/utils/vm.js.map +1 -0
  190. package/dist/utils/with-spinner.js +20 -0
  191. package/dist/utils/with-spinner.js.map +1 -0
  192. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-container.js","sourceRoot":"","sources":["../../../src/commands/app/build-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,393 @@
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.getGridAppFileInfo = exports.getOutputFileInfo = void 0;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const tar_1 = __importDefault(require("tar"));
12
+ const ajv_1 = __importDefault(require("ajv"));
13
+ const child_process_1 = __importDefault(require("child_process"));
14
+ const with_spinner_1 = __importDefault(require("../../utils/with-spinner"));
15
+ var TemplateFileEnums;
16
+ (function (TemplateFileEnums) {
17
+ TemplateFileEnums["SCHEMA"] = "schema.json";
18
+ TemplateFileEnums["META_SCHEMA"] = "meta-schema.json";
19
+ TemplateFileEnums["PACKAGE"] = "package.json";
20
+ TemplateFileEnums["INDEX"] = "index.html";
21
+ TemplateFileEnums["CONTAINER_SETTINGS"] = "settings.json";
22
+ TemplateFileEnums["ANALYTICS_SCHEMA"] = "analytics-schema.json";
23
+ })(TemplateFileEnums || (TemplateFileEnums = {}));
24
+ const defaultBuildFolder = 'build';
25
+ const defaultSchema = {
26
+ type: 'object',
27
+ title: 'Application Settings',
28
+ properties: {},
29
+ };
30
+ const DEFAULT_META_SCHEMA = {};
31
+ const DEFAULT_ANALYTICS_SCHEMA = [];
32
+ const archiveExcludedFiles = [
33
+ TemplateFileEnums.SCHEMA,
34
+ TemplateFileEnums.PACKAGE,
35
+ TemplateFileEnums.META_SCHEMA,
36
+ TemplateFileEnums.ANALYTICS_SCHEMA,
37
+ defaultBuildFolder,
38
+ ];
39
+ const validateAndGetSchema = async (templatePath, requireIndex = true) => {
40
+ try {
41
+ if (requireIndex) {
42
+ const indexPath = path_1.default.join(templatePath, TemplateFileEnums.INDEX);
43
+ if (!fs_extra_1.default.existsSync(indexPath)) {
44
+ throw new Error(`Missing required file: ${TemplateFileEnums.INDEX}`);
45
+ }
46
+ }
47
+ let schema = defaultSchema;
48
+ const schemaPath = path_1.default.join(templatePath, TemplateFileEnums.SCHEMA);
49
+ if (fs_extra_1.default.existsSync(schemaPath)) {
50
+ schema = JSON.parse(await fs_extra_1.default.readFile(schemaPath, 'utf8'));
51
+ }
52
+ const metaSchemaPath = path_1.default.join(templatePath, TemplateFileEnums.META_SCHEMA);
53
+ let metaSchema = DEFAULT_META_SCHEMA;
54
+ if (fs_extra_1.default.existsSync(metaSchemaPath)) {
55
+ metaSchema = JSON.parse(await fs_extra_1.default.readFile(metaSchemaPath, 'utf8'));
56
+ }
57
+ const validator = new ajv_1.default();
58
+ if (!validator.validateSchema(schema)) {
59
+ throw new Error(`${TemplateFileEnums.SCHEMA} is not valid JSON schema file!`);
60
+ }
61
+ const analyticsSchemaPath = path_1.default.join(templatePath, TemplateFileEnums.ANALYTICS_SCHEMA);
62
+ let analyticsSchema = DEFAULT_ANALYTICS_SCHEMA;
63
+ if (fs_extra_1.default.existsSync(analyticsSchemaPath)) {
64
+ analyticsSchema = JSON.parse(await fs_extra_1.default.readFile(analyticsSchemaPath, 'utf8'));
65
+ }
66
+ return {
67
+ schema: JSON.stringify(schema),
68
+ metaSchema: JSON.stringify(metaSchema),
69
+ analyticsSchema,
70
+ };
71
+ }
72
+ catch (err) {
73
+ throw new Error(`Error during template files validation: ${err.message}`);
74
+ }
75
+ };
76
+ const readPackageJson = async (templatePath) => {
77
+ const packageJsonPath = path_1.default.join(templatePath, TemplateFileEnums.PACKAGE);
78
+ if (fs_extra_1.default.existsSync(packageJsonPath)) {
79
+ const packageJson = await fs_extra_1.default.promises.readFile(packageJsonPath, 'utf8');
80
+ return JSON.parse(packageJson);
81
+ }
82
+ return null;
83
+ };
84
+ const build = async ({ templatePath, schema, metaSchema, analyticsSchema, outputFilePath, appInfo, }) => {
85
+ const outputPath = path_1.default.dirname(outputFilePath);
86
+ await fs_extra_1.default.emptyDir(outputPath);
87
+ const files = fs_extra_1.default.readdirSync(templatePath);
88
+ // check for icon presence
89
+ let iconPath;
90
+ const manifestJsonPath = path_1.default.join(templatePath, 'manifest.json');
91
+ if (fs_extra_1.default.existsSync(manifestJsonPath)) {
92
+ const manifestJson = await fs_extra_1.default.readFile(manifestJsonPath, 'utf8');
93
+ const manifestObject = JSON.parse(manifestJson);
94
+ // try and find matching icon
95
+ iconPath = manifestObject?.icons?.find((icon) => icon.type === 'image/png' && icon.sizes?.includes('192x192'))?.src;
96
+ }
97
+ const info = {
98
+ ...appInfo,
99
+ analyticsSchema,
100
+ createdAt: Math.floor(Date.now() / 1000),
101
+ iconPath,
102
+ };
103
+ await fs_extra_1.default.promises.writeFile(path_1.default.join(templatePath, '_info.json'), JSON.stringify(info));
104
+ await fs_extra_1.default.promises.writeFile(path_1.default.join(templatePath, '_schema.json'), schema);
105
+ await fs_extra_1.default.promises.writeFile(path_1.default.join(templatePath, '_meta-schema.json'), metaSchema);
106
+ files.push('_info.json', '_schema.json', '_meta-schema.json');
107
+ const outputFileStream = fs_extra_1.default.createWriteStream(outputFilePath);
108
+ const filesToAdd = files.filter((file) => !archiveExcludedFiles.includes(file));
109
+ if (filesToAdd.length === 0) {
110
+ // cannot create tar with no files, so create a stub file - only important for edge apps
111
+ await fs_extra_1.default.promises.writeFile(path_1.default.join(templatePath, 'index.html'), '');
112
+ filesToAdd.push('index.html');
113
+ }
114
+ const archiveReadable = await tar_1.default.create({
115
+ gzip: true,
116
+ cwd: templatePath,
117
+ }, filesToAdd);
118
+ await new Promise((resolve) => archiveReadable.pipe(outputFileStream).on('finish', resolve));
119
+ };
120
+ const getOutputFileInfo = async ({ buildPath, tag, arch, }) => {
121
+ // Fallback values
122
+ let version = '1.0.0';
123
+ let name = path_1.default.basename(process.cwd());
124
+ let license = 'UNLICENSED';
125
+ let tagName;
126
+ let tagVersion;
127
+ if (tag) {
128
+ const fileAndVersionArr = tag.split(':');
129
+ if (fileAndVersionArr.length < 2) {
130
+ throw new Error('Invalid tag option, --tag <filename:version>');
131
+ }
132
+ [tagName, tagVersion] = fileAndVersionArr;
133
+ }
134
+ let applicationType = 'screen';
135
+ let iotOptions = {};
136
+ // if app name and version are known, use them
137
+ const packageObject = await readPackageJson(process.cwd());
138
+ if (packageObject) {
139
+ name = tagName || packageObject.name || name;
140
+ license = packageObject.license || license;
141
+ version = tagVersion || packageObject.version || version;
142
+ if (packageObject['application-type'] === 'iot' ||
143
+ packageObject['application-type'] === 'module' ||
144
+ packageObject['application-type'] === 'edge') {
145
+ applicationType = 'module';
146
+ if (!fs_extra_1.default.existsSync(TemplateFileEnums.CONTAINER_SETTINGS))
147
+ throw new Error(`${TemplateFileEnums.CONTAINER_SETTINGS} is required for Edge apps`);
148
+ console.log('Container Settings:', TemplateFileEnums.CONTAINER_SETTINGS);
149
+ const continerOpttions = JSON.parse(fs_extra_1.default.readFileSync(TemplateFileEnums.CONTAINER_SETTINGS).toString());
150
+ const registry = packageObject['docker-credentials']?.registry ||
151
+ packageObject['container-registry'];
152
+ if (!registry)
153
+ throw new Error('package.json should contain "container-registry" entry or "docker-credentials.registry" entry');
154
+ console.log(chalk_1.default.dim('Reading container registry credentials from package.json'));
155
+ const dockerCredentials = packageObject['docker-credentials'];
156
+ // Architecture selection priority: --arch flag > package.json > default to both
157
+ let archs;
158
+ if (arch) {
159
+ // Explicit --arch flag (highest priority)
160
+ archs = [arch];
161
+ console.log(chalk_1.default.dim(`Using architecture from --arch flag: ${chalk_1.default.blue(arch)}`));
162
+ }
163
+ else if (dockerCredentials?.architectures && dockerCredentials.architectures.length > 0) {
164
+ // Use architectures from package.json
165
+ archs = dockerCredentials.architectures;
166
+ console.log(chalk_1.default.dim(`Using architectures from package.json: ${chalk_1.default.blue(archs.join(', '))}`));
167
+ }
168
+ else {
169
+ // Default to both
170
+ archs = ['arm64', 'amd64'];
171
+ console.log(chalk_1.default.dim(`Using default architectures: ${chalk_1.default.blue('arm64, amd64')}`));
172
+ }
173
+ if (!dockerCredentials?.pull?.username || !dockerCredentials?.pull?.password) {
174
+ throw new Error('Docker credentials not found in package.json. Please run create command again.');
175
+ }
176
+ // Check if a custom image name is specified in docker-credentials
177
+ let image;
178
+ if (dockerCredentials.image) {
179
+ image = dockerCredentials.image;
180
+ console.log(chalk_1.default.dim(`Using custom image name from docker-credentials: ${chalk_1.default.blue(image)}`));
181
+ // Ensure the custom image has a version tag
182
+ if (!image.includes(':')) {
183
+ image = `${image}:${version}`;
184
+ console.log(chalk_1.default.dim(`Adding version tag to custom image: ${chalk_1.default.blue(image)}`));
185
+ }
186
+ }
187
+ else {
188
+ image = `${registry}/${name}:${version}`;
189
+ }
190
+ let credentials = null;
191
+ const pullUsername = dockerCredentials.pull.username;
192
+ const pullPassword = dockerCredentials.pull.password;
193
+ const pushUsername = dockerCredentials.push?.username;
194
+ const pushPassword = dockerCredentials.push?.password;
195
+ credentials = { username: pullUsername, password: pullPassword };
196
+ if (pushUsername && pushPassword) {
197
+ try {
198
+ child_process_1.default.execSync(`docker login ${registry} -u ${pushUsername} -p ${pushPassword}`, {
199
+ stdio: 'inherit',
200
+ });
201
+ }
202
+ catch (error) {
203
+ console.log(chalk_1.default.yellow('Warning: Failed to store push credentials locally'));
204
+ }
205
+ }
206
+ console.log(chalk_1.default.dim(`Image found ${chalk_1.default.blue(image)}`));
207
+ // Update createOptions with pull credentials for the container
208
+ const updatedCreateOptions = {
209
+ ...continerOpttions,
210
+ RegistryCredentials: {
211
+ [registry]: {
212
+ username: pullUsername,
213
+ password: pullPassword,
214
+ },
215
+ },
216
+ };
217
+ iotOptions = {
218
+ image,
219
+ createOptions: JSON.stringify(updatedCreateOptions),
220
+ platforms: archs,
221
+ credentials,
222
+ };
223
+ }
224
+ }
225
+ const outputFileName = `${name}-${version}.gridapp`;
226
+ return {
227
+ outputFilePath: path_1.default.join(buildPath, outputFileName),
228
+ appInfo: {
229
+ name,
230
+ license,
231
+ version,
232
+ ...iotOptions,
233
+ applicationType,
234
+ // TODO: credentials, platforms, createOptions
235
+ },
236
+ };
237
+ };
238
+ exports.getOutputFileInfo = getOutputFileInfo;
239
+ // Alt version of getOutputFileInfo
240
+ const getGridAppFileInfo = async (appRootDir, tag) => {
241
+ const currentDir = appRootDir || process.cwd();
242
+ // Fallback values
243
+ let version = '1.0.0';
244
+ let name = path_1.default.basename(currentDir);
245
+ let license = 'UNLICENSED';
246
+ if (tag) {
247
+ const fileAndVersionArr = tag.split(':');
248
+ if (fileAndVersionArr.length < 2) {
249
+ throw new Error('Invalid tag option, --tag <filename:version>');
250
+ }
251
+ [name, version] = fileAndVersionArr;
252
+ }
253
+ let applicationType = 'screen';
254
+ let iotOptions = {};
255
+ // if app name and version are known, use them
256
+ const packageObject = await readPackageJson(appRootDir || process.cwd());
257
+ if (packageObject) {
258
+ name = packageObject.name || name;
259
+ license = packageObject.license || license;
260
+ version = packageObject.version || version;
261
+ if (packageObject['application-type'] === 'iot' ||
262
+ packageObject['application-type'] === 'module' ||
263
+ packageObject['application-type'] === 'edge') {
264
+ applicationType = 'module';
265
+ const settingsFilePath = `${currentDir}/${TemplateFileEnums.CONTAINER_SETTINGS}`;
266
+ if (!fs_extra_1.default.existsSync(settingsFilePath))
267
+ throw new Error(`${TemplateFileEnums.CONTAINER_SETTINGS} is required for Edge apps`);
268
+ const createOptions = JSON.parse(fs_extra_1.default.readFileSync(settingsFilePath).toString());
269
+ const registry = packageObject['docker-credentials']?.registry ||
270
+ packageObject['container-registry'];
271
+ if (!registry)
272
+ throw new Error('package.json should contain "container-registry" entry or "docker-credentials.registry" entry');
273
+ // Get architectures from package.json or default to both
274
+ console.log(chalk_1.default.dim('Reading container registry credentials from package.json'));
275
+ const dockerCredentials = packageObject['docker-credentials'];
276
+ const archs = dockerCredentials?.architectures && dockerCredentials.architectures.length > 0
277
+ ? dockerCredentials.architectures
278
+ : ['arm64', 'amd64'];
279
+ console.log(chalk_1.default.dim(`Using architectures: ${chalk_1.default.blue(archs.join(', '))}`));
280
+ if (!dockerCredentials?.pull?.username || !dockerCredentials?.pull?.password) {
281
+ throw new Error('Docker credentials not found in package.json. Please run create command again.');
282
+ }
283
+ // Check if a custom image name is specified in docker-credentials
284
+ let image;
285
+ if (dockerCredentials.image) {
286
+ image = dockerCredentials.image;
287
+ console.log(chalk_1.default.dim(`Using custom image name from docker-credentials: ${chalk_1.default.blue(image)}`));
288
+ // Ensure the custom image has a version tag
289
+ if (!image.includes(':')) {
290
+ image = `${image}:${version}`;
291
+ console.log(chalk_1.default.dim(`Adding version tag to custom image: ${chalk_1.default.blue(image)}`));
292
+ }
293
+ }
294
+ else {
295
+ image = `${registry}/${name}:${version}`;
296
+ }
297
+ let credentials = null;
298
+ const pullUsername = dockerCredentials.pull.username;
299
+ const pullPassword = dockerCredentials.pull.password;
300
+ const pushUsername = dockerCredentials.push?.username;
301
+ const pushPassword = dockerCredentials.push?.password;
302
+ credentials = { username: pullUsername, password: pullPassword };
303
+ if (pushUsername && pushPassword) {
304
+ try {
305
+ child_process_1.default.execSync(`docker login ${registry} -u ${pushUsername} -p ${pushPassword}`, {
306
+ stdio: 'inherit',
307
+ });
308
+ }
309
+ catch (error) {
310
+ console.log(chalk_1.default.yellow('Warning: Failed to store push credentials locally'));
311
+ }
312
+ }
313
+ console.log(chalk_1.default.dim(`Image found ${chalk_1.default.blue(image)}`));
314
+ // Update createOptions with pull credentials for the container
315
+ const updatedCreateOptions = {
316
+ ...createOptions,
317
+ RegistryCredentials: {
318
+ [registry]: {
319
+ username: pullUsername,
320
+ password: pullPassword,
321
+ },
322
+ },
323
+ };
324
+ iotOptions = {
325
+ image,
326
+ createOptions: JSON.stringify(updatedCreateOptions),
327
+ platforms: archs,
328
+ credentials,
329
+ };
330
+ }
331
+ }
332
+ const buildPath = `${currentDir}/build/build`;
333
+ const outputFileName = `${name}-${version}.gridapp`;
334
+ return {
335
+ outputFilePath: path_1.default.join(buildPath, outputFileName),
336
+ appInfo: {
337
+ name,
338
+ license,
339
+ version,
340
+ ...iotOptions,
341
+ applicationType,
342
+ // TODO: credentials, platforms, createOptions
343
+ },
344
+ };
345
+ };
346
+ exports.getGridAppFileInfo = getGridAppFileInfo;
347
+ exports.default = async (moduleName, options = {}) => {
348
+ try {
349
+ // Extract options with defaults to avoid undefined destructuring errors
350
+ const { arch } = options;
351
+ const tagArg = options.tag;
352
+ let templatePathArg = options.templatePath;
353
+ const buildPathArg = options.buildPath;
354
+ let tag = null;
355
+ // TRICKY: if this is an iot app build via yarn deploy
356
+ if (templatePathArg && templatePathArg.indexOf('@') >= 0) {
357
+ tag = templatePathArg.replace('@', ':');
358
+ templatePathArg = null; // Reset templatePathArg to null after extracting the tag
359
+ }
360
+ const templatePath = templatePathArg
361
+ ? path_1.default.resolve(templatePathArg)
362
+ : path_1.default.resolve('build');
363
+ const buildPath = buildPathArg
364
+ ? path_1.default.resolve(buildPathArg)
365
+ : path_1.default.resolve('build/build');
366
+ console.log(chalk_1.default.dim(`Reading package information`));
367
+ const outputFileInfo = await (0, exports.getOutputFileInfo)({ tag, moduleName, buildPath, arch });
368
+ const isIotApp = outputFileInfo.appInfo.applicationType === 'module';
369
+ if (isIotApp) {
370
+ // For IoT/Edge apps, just verify that Docker configuration is present
371
+ // The actual Docker build will happen during publish
372
+ const { image } = outputFileInfo.appInfo;
373
+ console.log(chalk_1.default.dim('Edge application detected'));
374
+ console.log(chalk_1.default.dim(`Docker image will be built during publish: ${chalk_1.default.blue(image)}`));
375
+ console.log(chalk_1.default.yellow('⚠️ Note: Run "yarn pub" to build and push the Edge app Docker image'));
376
+ }
377
+ console.log(chalk_1.default.dim('Using metadata'));
378
+ Object.entries(outputFileInfo.appInfo).map(([key, value]) => console.log(chalk_1.default.dim(` ${key}: ${chalk_1.default.blue(value)}`)));
379
+ console.log(chalk_1.default.dim(`Validating template files in ${templatePath}...`));
380
+ const requireIndex = !isIotApp;
381
+ const schemaInfo = await (0, with_spinner_1.default)(() => validateAndGetSchema(templatePath, requireIndex), `Validating...`);
382
+ console.log(chalk_1.default.green(`✓ Template files are valid`));
383
+ console.log(chalk_1.default.dim(`Creating gridapp file...`));
384
+ await (0, with_spinner_1.default)(() => build({ templatePath, ...schemaInfo, ...outputFileInfo }), `Building...`);
385
+ console.log(chalk_1.default.green(`✓ Build successful: ${outputFileInfo.outputFilePath}`));
386
+ }
387
+ catch (err) {
388
+ // TODO: setup logging (Sentry, file, console output)
389
+ console.error(chalk_1.default.red(`❗️There was an error: ${err.message}`));
390
+ throw err;
391
+ }
392
+ };
393
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/app/build.ts"],"names":[],"mappings":"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"}