@telemetryos/cli 1.15.0 → 1.16.0
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/CHANGELOG.md +17 -0
- package/dist/commands/archive.d.ts +13 -0
- package/dist/commands/archive.js +49 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @telemetryos/cli
|
|
2
2
|
|
|
3
|
+
## 1.16.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 15a06b5: Iframe management, heartbeat logic, and SDK fixes
|
|
8
|
+
- Added iframe lifecycle management and heartbeat logic for monitoring application health
|
|
9
|
+
- Introduced dependency store for tracking application dependencies
|
|
10
|
+
- Added subscription registry for managing real-time subscriptions in the API coordinator
|
|
11
|
+
- Re-exported missing root-sdk types and utilities from the sdk package (Navigation class, media types, bridge utilities, client types)
|
|
12
|
+
- Fixed application store namespace from incorrect value to "application"
|
|
13
|
+
- Removed unused media fields from root-sdk
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [15a06b5]
|
|
18
|
+
- @telemetryos/development-application-host-ui@1.16.0
|
|
19
|
+
|
|
3
20
|
## 1.15.0
|
|
4
21
|
|
|
5
22
|
### Minor Changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export type ArchiveCallbacks = {
|
|
3
|
+
onLog?: (line: string) => void;
|
|
4
|
+
onStateChange?: (state: string) => void;
|
|
5
|
+
onComplete?: (data: {
|
|
6
|
+
filename: string;
|
|
7
|
+
}) => void;
|
|
8
|
+
onError?: (error: Error) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const archiveCommand: Command;
|
|
11
|
+
export declare function handleArchiveCommand(projectPath: string, options: {
|
|
12
|
+
output?: string;
|
|
13
|
+
}, callbacks?: ArchiveCallbacks): Promise<void>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { loadProjectConfig } from '../services/project-config.js';
|
|
4
|
+
import { createArchive } from '../services/archiver.js';
|
|
5
|
+
import { ansi } from '../utils/ansi.js';
|
|
6
|
+
export const archiveCommand = new Command('archive')
|
|
7
|
+
.alias('zip')
|
|
8
|
+
.description('Create a project archive for manual upload')
|
|
9
|
+
.argument('[project-path]', 'Path to the project directory. Defaults to current working directory', process.cwd())
|
|
10
|
+
.option('-o, --output <path>', 'Output directory for the archive')
|
|
11
|
+
.action(handleArchiveCommand);
|
|
12
|
+
export async function handleArchiveCommand(projectPath, options, callbacks) {
|
|
13
|
+
var _a, _b, _c, _d, _e;
|
|
14
|
+
projectPath = path.resolve(process.cwd(), projectPath);
|
|
15
|
+
const logMessage = (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onLog) || ((msg) => console.log(msg));
|
|
16
|
+
try {
|
|
17
|
+
// Step 1: Load project config
|
|
18
|
+
(_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStateChange) === null || _a === void 0 ? void 0 : _a.call(callbacks, 'loading');
|
|
19
|
+
logMessage(`\n${ansi.cyan}Loading project configuration...${ansi.reset}`);
|
|
20
|
+
const config = await loadProjectConfig(projectPath);
|
|
21
|
+
logMessage(` Project: ${ansi.bold}${config.name || path.basename(projectPath)}${ansi.reset}`);
|
|
22
|
+
if (config.version) {
|
|
23
|
+
logMessage(` Version: ${config.version}`);
|
|
24
|
+
}
|
|
25
|
+
// Step 2: Create archive directly in out/
|
|
26
|
+
(_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStateChange) === null || _b === void 0 ? void 0 : _b.call(callbacks, 'archiving');
|
|
27
|
+
logMessage(`\n${ansi.cyan}Archiving project...${ansi.reset}`);
|
|
28
|
+
const outDir = options.output
|
|
29
|
+
? path.resolve(process.cwd(), options.output)
|
|
30
|
+
: path.join(projectPath, 'out');
|
|
31
|
+
const { filename } = await createArchive(projectPath, outDir, (msg) => {
|
|
32
|
+
logMessage(` ${ansi.dim}${msg}${ansi.reset}`);
|
|
33
|
+
});
|
|
34
|
+
// Step 3: Report success
|
|
35
|
+
(_c = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStateChange) === null || _c === void 0 ? void 0 : _c.call(callbacks, 'success');
|
|
36
|
+
logMessage(`\n${ansi.green}${ansi.bold}Archive created!${ansi.reset}`);
|
|
37
|
+
logMessage(`\n ${ansi.dim}${outDir}/${filename}${ansi.reset}`);
|
|
38
|
+
logMessage('');
|
|
39
|
+
(_d = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onComplete) === null || _d === void 0 ? void 0 : _d.call(callbacks, { filename });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const err = error;
|
|
43
|
+
logMessage(`\n${ansi.red}Error: ${err.message}${ansi.reset}\n`);
|
|
44
|
+
(_e = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onError) === null || _e === void 0 ? void 0 : _e.call(callbacks, err);
|
|
45
|
+
if (!callbacks) {
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telemetryos/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "The official TelemetryOS application CLI package. Use it to build applications that run on the TelemetryOS platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"license": "",
|
|
26
26
|
"repository": "github:TelemetryTV/Application-API",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@telemetryos/development-application-host-ui": "^1.
|
|
28
|
+
"@telemetryos/development-application-host-ui": "^1.16.0",
|
|
29
29
|
"@types/serve-handler": "^6.1.4",
|
|
30
30
|
"commander": "^14.0.0",
|
|
31
31
|
"ignore": "^6.0.2",
|