@signageos/cli 2.5.1 → 2.6.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/dist/Applet/Generate/appletGenerateCommand.js +1 -1
- package/dist/CustomScript/customScriptFacade.d.ts +5 -5
- package/dist/CustomScript/customScriptFacade.js +5 -4
- package/dist/Plugin/Generate/pluginGenerateCommand.d.ts +7 -0
- package/dist/Plugin/Generate/pluginGenerateCommand.js +38 -0
- package/dist/Plugin/Generate/pluginGenerateFacade.d.ts +12 -0
- package/dist/Plugin/Generate/pluginGenerateFacade.js +108 -0
- package/dist/Plugin/Upload/pluginUploadCommand.d.ts +25 -0
- package/dist/Plugin/Upload/pluginUploadCommand.js +70 -0
- package/dist/Plugin/pluginCommand.d.ts +27 -0
- package/dist/Plugin/pluginCommand.js +26 -0
- package/dist/Plugin/pluginFacade.d.ts +62 -0
- package/dist/Plugin/pluginFacade.js +251 -0
- package/dist/Runner/Generate/runnerGenerateCommand.d.ts +7 -0
- package/dist/Runner/Generate/runnerGenerateCommand.js +38 -0
- package/dist/Runner/Generate/runnerGenerateFacade.d.ts +12 -0
- package/dist/Runner/Generate/runnerGenerateFacade.js +108 -0
- package/dist/Runner/Upload/runnerUploadCommand.d.ts +25 -0
- package/dist/Runner/Upload/runnerUploadCommand.js +72 -0
- package/dist/Runner/runnerCommand.d.ts +27 -0
- package/dist/Runner/runnerCommand.js +26 -0
- package/dist/Runner/runnerFacede.d.ts +15 -0
- package/dist/Runner/runnerFacede.js +234 -0
- package/dist/index.js +3 -1
- package/docs/index.md +2 -0
- package/docs/plugin/generate/index.md +43 -0
- package/docs/plugin/index.md +72 -0
- package/docs/plugin/upload/index.md +50 -0
- package/docs/runner/generate/index.md +43 -0
- package/docs/runner/index.md +72 -0
- package/docs/runner/upload/index.md +50 -0
- package/package.json +4 -8
|
@@ -0,0 +1,234 @@
|
|
|
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
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.ensureRunnerVersion = ensureRunnerVersion;
|
|
49
|
+
exports.uploadCode = uploadCode;
|
|
50
|
+
exports.loadSchemas = loadSchemas;
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
const os = __importStar(require("os"));
|
|
53
|
+
const fs = __importStar(require("fs-extra"));
|
|
54
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
55
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
56
|
+
const log_1 = require("@signageos/sdk/dist/Console/log");
|
|
57
|
+
const archive_1 = require("../Lib/archive");
|
|
58
|
+
const fileSystem_1 = require("../Lib/fileSystem");
|
|
59
|
+
const runtimeFileSystem_1 = require("@signageos/sdk/dist/Development/runtimeFileSystem");
|
|
60
|
+
const customScriptFacade_1 = require("../CustomScript/customScriptFacade");
|
|
61
|
+
const PLUGIN_BUILDS_DIRNAME = 'plugin_builds';
|
|
62
|
+
function ensureRunnerVersion(restApi, config, schema) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const runner = yield ensureRunner(restApi, config);
|
|
65
|
+
const runnerVersion = yield restApi.runner.version.get({ runnerUid: runner.uid, version: config.version });
|
|
66
|
+
if (runnerVersion) {
|
|
67
|
+
return runnerVersion;
|
|
68
|
+
}
|
|
69
|
+
const response = yield (0, prompts_1.default)({
|
|
70
|
+
type: 'confirm',
|
|
71
|
+
name: 'newVersion',
|
|
72
|
+
message: `Do you want to create new runner version ${config.version}?`,
|
|
73
|
+
});
|
|
74
|
+
if (!response.newVersion) {
|
|
75
|
+
throw new Error('Runner version creation was canceled.');
|
|
76
|
+
}
|
|
77
|
+
(0, log_1.log)('info', chalk_1.default.yellow(`Creating Runner version ${config.version}`));
|
|
78
|
+
return yield restApi.runner.version.create({
|
|
79
|
+
runnerUid: runner.uid,
|
|
80
|
+
version: config.version,
|
|
81
|
+
description: config.description,
|
|
82
|
+
input: schema.input,
|
|
83
|
+
output: schema.output,
|
|
84
|
+
telemetry: schema.telemetry,
|
|
85
|
+
configDefinition: config.configDefinition,
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function ensureRunner(restApi, config) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
if (config.uid) {
|
|
92
|
+
const runner = yield restApi.runner.get(config.uid);
|
|
93
|
+
if (runner) {
|
|
94
|
+
yield restApi.runner.update(runner.uid, {
|
|
95
|
+
name: config.name,
|
|
96
|
+
title: config.name,
|
|
97
|
+
description: config.description,
|
|
98
|
+
});
|
|
99
|
+
return runner;
|
|
100
|
+
}
|
|
101
|
+
throw new Error(`Runner with uid "${config.uid}" not found`);
|
|
102
|
+
}
|
|
103
|
+
const response = yield (0, prompts_1.default)({
|
|
104
|
+
type: 'confirm',
|
|
105
|
+
name: 'create',
|
|
106
|
+
message: `Runner "${config.name}" does not exist. Do you want to create it?`,
|
|
107
|
+
});
|
|
108
|
+
if (!response.create) {
|
|
109
|
+
throw new Error('Runner upload was canceled.');
|
|
110
|
+
}
|
|
111
|
+
(0, log_1.log)('info', chalk_1.default.yellow(`Creating Runner "${config.name}"`));
|
|
112
|
+
const createdRunner = yield restApi.runner.create({
|
|
113
|
+
name: config.name,
|
|
114
|
+
title: config.name,
|
|
115
|
+
description: config.description,
|
|
116
|
+
});
|
|
117
|
+
// TODO ask for permission or read from CLI arg
|
|
118
|
+
(0, log_1.log)('info', chalk_1.default.yellow('Adding Runner uid to the config file'));
|
|
119
|
+
yield (0, customScriptFacade_1.addToConfigFile)(process.cwd(), { uid: createdRunner.uid });
|
|
120
|
+
return createdRunner;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function uploadCode(_a) {
|
|
124
|
+
return __awaiter(this, arguments, void 0, function* ({ restApi, workDir, platform, config, runnerVersion, }) {
|
|
125
|
+
const { mainFile, runtime } = config;
|
|
126
|
+
const codeArchive = yield generateRunnerPlatformCodeArchive(workDir, config, runnerVersion, platform);
|
|
127
|
+
const runnerVersionPlatform = yield restApi.runner.version.platform.get({
|
|
128
|
+
runnerUid: runnerVersion.runnerUid,
|
|
129
|
+
version: runnerVersion.version,
|
|
130
|
+
platform,
|
|
131
|
+
});
|
|
132
|
+
if ((runnerVersionPlatform === null || runnerVersionPlatform === void 0 ? void 0 : runnerVersionPlatform.md5Checksum) === codeArchive.md5Checksum) {
|
|
133
|
+
(0, log_1.log)('info', chalk_1.default.yellow(`Skipping upload for ${platform} - no changes detected`));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
(0, log_1.log)('info', chalk_1.default.yellow(`Uploading files for ${platform}`));
|
|
138
|
+
yield uploadCodeArchive({
|
|
139
|
+
restApi,
|
|
140
|
+
runnerVersion,
|
|
141
|
+
platform,
|
|
142
|
+
codeArchive,
|
|
143
|
+
});
|
|
144
|
+
yield restApi.runner.version.platform.update({
|
|
145
|
+
runnerUid: runnerVersion.runnerUid,
|
|
146
|
+
version: runnerVersion.version,
|
|
147
|
+
platform,
|
|
148
|
+
mainFile,
|
|
149
|
+
runtime,
|
|
150
|
+
md5Checksum: codeArchive.md5Checksum,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
finally {
|
|
154
|
+
yield codeArchive.delete();
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function uploadCodeArchive(_a) {
|
|
159
|
+
return __awaiter(this, arguments, void 0, function* ({ restApi, runnerVersion, platform, codeArchive, }) {
|
|
160
|
+
const filePath = codeArchive.filePath;
|
|
161
|
+
const fileSize = (yield fs.stat(filePath)).size;
|
|
162
|
+
const fileStream = fs.createReadStream(filePath);
|
|
163
|
+
yield restApi.runner.version.platform.archive.upload({
|
|
164
|
+
runnerUid: runnerVersion.runnerUid,
|
|
165
|
+
version: runnerVersion.version,
|
|
166
|
+
platform,
|
|
167
|
+
md5Checksum: codeArchive.md5Checksum,
|
|
168
|
+
size: fileSize,
|
|
169
|
+
stream: fileStream,
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Generates an archive with the code for a particular platform, defined by the provided configuration.
|
|
175
|
+
*
|
|
176
|
+
* Archive is generated and stored in the runtime /tmp/signageos/runner_scripts_builds/:uid/:version/ directory.
|
|
177
|
+
* After archive isn't needed anymore, it should be deleted using the delete method.
|
|
178
|
+
*/
|
|
179
|
+
function generateRunnerPlatformCodeArchive(workDir, config, runnerVersion, platform) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
const buildsDir = yield ensureBuildsDirectory(runnerVersion);
|
|
182
|
+
const archiveFileName = `${platform}.zip`;
|
|
183
|
+
const archiveFilePath = path.join(buildsDir, archiveFileName);
|
|
184
|
+
yield (0, archive_1.generateZip)(workDir, config.rootDir, archiveFilePath);
|
|
185
|
+
const md5Checksum = yield (0, fileSystem_1.getFileMD5Checksum)(archiveFilePath);
|
|
186
|
+
return {
|
|
187
|
+
filePath: archiveFilePath,
|
|
188
|
+
md5Checksum,
|
|
189
|
+
delete() {
|
|
190
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
yield fs.unlink(archiveFilePath);
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Ensure that the runtime directory for runner script version exists in the current working directory.
|
|
199
|
+
*
|
|
200
|
+
* This directory is used to store temporary files generated by the CLI.
|
|
201
|
+
*/
|
|
202
|
+
function ensureBuildsDirectory(runnerVersion) {
|
|
203
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
const runtimeDir = yield ensureRuntimeDir();
|
|
205
|
+
const buildsDir = path.join(runtimeDir, runnerVersion.runnerUid, runnerVersion.version);
|
|
206
|
+
yield fs.ensureDir(buildsDir);
|
|
207
|
+
return buildsDir;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Ensure that the runtime directory exists in the current working directory.
|
|
212
|
+
*
|
|
213
|
+
* This directory is used to store temporary files generated by the CLI.
|
|
214
|
+
*/
|
|
215
|
+
function ensureRuntimeDir() {
|
|
216
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
+
const runtimeDir = path.join(os.tmpdir(), runtimeFileSystem_1.RUNTIME_DIRNAME, PLUGIN_BUILDS_DIRNAME);
|
|
218
|
+
yield fs.ensureDir(runtimeDir);
|
|
219
|
+
return runtimeDir;
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function loadSchemas(workDir) {
|
|
223
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
224
|
+
const filePath = getConfigFilePath(workDir);
|
|
225
|
+
if (!(yield fs.pathExists(filePath))) {
|
|
226
|
+
throw new Error(`Config file schema.json not found`);
|
|
227
|
+
}
|
|
228
|
+
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
|
229
|
+
return JSON.parse(fileContent);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
function getConfigFilePath(workDir) {
|
|
233
|
+
return path.join(workDir, 'schema.json');
|
|
234
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,8 @@ const deviceCommand_1 = require("./Device/deviceCommand");
|
|
|
20
20
|
const generalCommand_1 = require("./generalCommand");
|
|
21
21
|
const commandDefinition_1 = require("./Command/commandDefinition");
|
|
22
22
|
const customScriptCommand_1 = require("./CustomScript/customScriptCommand");
|
|
23
|
+
const pluginCommand_1 = require("./Plugin/pluginCommand");
|
|
24
|
+
const runnerCommand_1 = require("./Runner/runnerCommand");
|
|
23
25
|
const autocompleteCommand_1 = require("./Command/Autocomplete/autocompleteCommand");
|
|
24
26
|
/**
|
|
25
27
|
* The root command for the signageOS CLI tool that provides comprehensive management
|
|
@@ -47,7 +49,7 @@ const index = (0, commandDefinition_1.createCommandDefinition)({
|
|
|
47
49
|
name: 'sos',
|
|
48
50
|
description: 'SignageOS CLI - The central command-line tool for deploying, managing, and debugging signageOS projects and devices',
|
|
49
51
|
optionList: generalCommand_1.GENERAL_OPTION_LIST,
|
|
50
|
-
commands: [appletCommand_1.applet, loginCommand_1.login, organizationCommand_1.organization, timingCommand_1.timing, firmwareCommand_1.firmware, deviceCommand_1.device, customScriptCommand_1.customScript, autocompleteCommand_1.autocomplete],
|
|
52
|
+
commands: [appletCommand_1.applet, loginCommand_1.login, organizationCommand_1.organization, timingCommand_1.timing, firmwareCommand_1.firmware, deviceCommand_1.device, customScriptCommand_1.customScript, pluginCommand_1.plugin, runnerCommand_1.runner, autocompleteCommand_1.autocomplete],
|
|
51
53
|
run() {
|
|
52
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
55
|
throw new Error('Unknown command');
|
package/docs/index.md
CHANGED
|
@@ -161,6 +161,8 @@ sos --api-url https://api.custom.signageos.io applet list
|
|
|
161
161
|
- [`sos timing`](/cli/timing/) - Timing management
|
|
162
162
|
- [`sos device`](/cli/device/) - Device management
|
|
163
163
|
- [`sos custom-script`](/cli/custom-script/) - Custom Script management
|
|
164
|
+
- [`sos plugin`](/cli/plugin/) - Plugin management
|
|
165
|
+
- [`sos runner`](/cli/runner/) - Runner management
|
|
164
166
|
- [`sos autocomplete`](/cli/autocomplete/) - CLI auto-completion management
|
|
165
167
|
|
|
166
168
|
## See Also
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: plugin-generate-index
|
|
3
|
+
title: generate
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# generate
|
|
7
|
+
|
|
8
|
+
Generates a local repository for developing a Plugin
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos plugin generate [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Global Options
|
|
18
|
+
|
|
19
|
+
All commands support the following global options:
|
|
20
|
+
|
|
21
|
+
| Option | Alias | Description |
|
|
22
|
+
|--------|-------|-------------|
|
|
23
|
+
| `--help` | `-h` | Display help information for any command |
|
|
24
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
25
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
26
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
27
|
+
|
|
28
|
+
### Examples
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Show version
|
|
32
|
+
sos --version
|
|
33
|
+
|
|
34
|
+
# Get help for any command
|
|
35
|
+
sos applet --help
|
|
36
|
+
sos applet upload --help
|
|
37
|
+
|
|
38
|
+
# Use custom API endpoint
|
|
39
|
+
sos --api-url https://api.example.com applet upload
|
|
40
|
+
|
|
41
|
+
# Use specific profile
|
|
42
|
+
sos --profile production organization list
|
|
43
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: plugin-index
|
|
3
|
+
title: plugin
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# plugin
|
|
7
|
+
|
|
8
|
+
Plugin management
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos plugin <subcommand> [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Subcommands
|
|
18
|
+
|
|
19
|
+
### generate
|
|
20
|
+
|
|
21
|
+
Generates a local repository for developing a Plugin
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
sos plugin generate [options]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
[→ See detailed documentation](/cli/plugin/generate/)
|
|
28
|
+
|
|
29
|
+
### upload
|
|
30
|
+
|
|
31
|
+
Uploads current plugin version
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
sos plugin upload [options]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
[→ See detailed documentation](/cli/plugin/upload/)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Global Options
|
|
41
|
+
|
|
42
|
+
All commands support the following global options:
|
|
43
|
+
|
|
44
|
+
| Option | Alias | Description |
|
|
45
|
+
|--------|-------|-------------|
|
|
46
|
+
| `--help` | `-h` | Display help information for any command |
|
|
47
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
48
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
49
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
50
|
+
|
|
51
|
+
### Examples
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Show version
|
|
55
|
+
sos --version
|
|
56
|
+
|
|
57
|
+
# Get help for any command
|
|
58
|
+
sos applet --help
|
|
59
|
+
sos applet upload --help
|
|
60
|
+
|
|
61
|
+
# Use custom API endpoint
|
|
62
|
+
sos --api-url https://api.example.com applet upload
|
|
63
|
+
|
|
64
|
+
# Use specific profile
|
|
65
|
+
sos --profile production organization list
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## Related Commands
|
|
70
|
+
|
|
71
|
+
- [`sos plugin generate`](/cli/plugin/generate/) - Generates a local repository for developing a Plugin
|
|
72
|
+
- [`sos plugin upload`](/cli/plugin/upload/) - Uploads current plugin version
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: plugin-upload-index
|
|
3
|
+
title: upload
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# upload
|
|
7
|
+
|
|
8
|
+
Uploads current plugin version
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos plugin upload [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Options
|
|
18
|
+
|
|
19
|
+
| Option | Description |
|
|
20
|
+
| --------------------------- | ---------------------------------------------------------------- |
|
|
21
|
+
| `--no-default-organization` | Prevent using the defaultOrganizationUid from ~/.sosrc (boolean) |
|
|
22
|
+
| `--organization-uid` | Organization UID (string) |
|
|
23
|
+
|
|
24
|
+
## Global Options
|
|
25
|
+
|
|
26
|
+
All commands support the following global options:
|
|
27
|
+
|
|
28
|
+
| Option | Alias | Description |
|
|
29
|
+
|--------|-------|-------------|
|
|
30
|
+
| `--help` | `-h` | Display help information for any command |
|
|
31
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
32
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
33
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
34
|
+
|
|
35
|
+
### Examples
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Show version
|
|
39
|
+
sos --version
|
|
40
|
+
|
|
41
|
+
# Get help for any command
|
|
42
|
+
sos applet --help
|
|
43
|
+
sos applet upload --help
|
|
44
|
+
|
|
45
|
+
# Use custom API endpoint
|
|
46
|
+
sos --api-url https://api.example.com applet upload
|
|
47
|
+
|
|
48
|
+
# Use specific profile
|
|
49
|
+
sos --profile production organization list
|
|
50
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: runner-generate-index
|
|
3
|
+
title: generate
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# generate
|
|
7
|
+
|
|
8
|
+
Generates a local repository for developing a Runner
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos runner generate [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Global Options
|
|
18
|
+
|
|
19
|
+
All commands support the following global options:
|
|
20
|
+
|
|
21
|
+
| Option | Alias | Description |
|
|
22
|
+
|--------|-------|-------------|
|
|
23
|
+
| `--help` | `-h` | Display help information for any command |
|
|
24
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
25
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
26
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
27
|
+
|
|
28
|
+
### Examples
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Show version
|
|
32
|
+
sos --version
|
|
33
|
+
|
|
34
|
+
# Get help for any command
|
|
35
|
+
sos applet --help
|
|
36
|
+
sos applet upload --help
|
|
37
|
+
|
|
38
|
+
# Use custom API endpoint
|
|
39
|
+
sos --api-url https://api.example.com applet upload
|
|
40
|
+
|
|
41
|
+
# Use specific profile
|
|
42
|
+
sos --profile production organization list
|
|
43
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: runner-index
|
|
3
|
+
title: runner
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# runner
|
|
7
|
+
|
|
8
|
+
Runner management
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos runner <subcommand> [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Subcommands
|
|
18
|
+
|
|
19
|
+
### generate
|
|
20
|
+
|
|
21
|
+
Generates a local repository for developing a Runner
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
sos runner generate [options]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
[→ See detailed documentation](/cli/runner/generate/)
|
|
28
|
+
|
|
29
|
+
### upload
|
|
30
|
+
|
|
31
|
+
Uploads current runner version
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
sos runner upload [options]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
[→ See detailed documentation](/cli/runner/upload/)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Global Options
|
|
41
|
+
|
|
42
|
+
All commands support the following global options:
|
|
43
|
+
|
|
44
|
+
| Option | Alias | Description |
|
|
45
|
+
|--------|-------|-------------|
|
|
46
|
+
| `--help` | `-h` | Display help information for any command |
|
|
47
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
48
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
49
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
50
|
+
|
|
51
|
+
### Examples
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Show version
|
|
55
|
+
sos --version
|
|
56
|
+
|
|
57
|
+
# Get help for any command
|
|
58
|
+
sos applet --help
|
|
59
|
+
sos applet upload --help
|
|
60
|
+
|
|
61
|
+
# Use custom API endpoint
|
|
62
|
+
sos --api-url https://api.example.com applet upload
|
|
63
|
+
|
|
64
|
+
# Use specific profile
|
|
65
|
+
sos --profile production organization list
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## Related Commands
|
|
70
|
+
|
|
71
|
+
- [`sos runner generate`](/cli/runner/generate/) - Generates a local repository for developing a Runner
|
|
72
|
+
- [`sos runner upload`](/cli/runner/upload/) - Uploads current runner version
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: runner-upload-index
|
|
3
|
+
title: upload
|
|
4
|
+
sidebar_position: 0
|
|
5
|
+
---
|
|
6
|
+
# upload
|
|
7
|
+
|
|
8
|
+
Uploads current runner version
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
sos runner upload [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Options
|
|
18
|
+
|
|
19
|
+
| Option | Description |
|
|
20
|
+
| --------------------------- | ---------------------------------------------------------------- |
|
|
21
|
+
| `--no-default-organization` | Prevent using the defaultOrganizationUid from ~/.sosrc (boolean) |
|
|
22
|
+
| `--organization-uid` | Organization UID (string) |
|
|
23
|
+
|
|
24
|
+
## Global Options
|
|
25
|
+
|
|
26
|
+
All commands support the following global options:
|
|
27
|
+
|
|
28
|
+
| Option | Alias | Description |
|
|
29
|
+
|--------|-------|-------------|
|
|
30
|
+
| `--help` | `-h` | Display help information for any command |
|
|
31
|
+
| `--version` | `-v` | Display the installed version of the CLI |
|
|
32
|
+
| `--api-url` | `-u` | Override the API URL for REST requests |
|
|
33
|
+
| `--profile` | | Use a specific profile from ~/.sosrc config |
|
|
34
|
+
|
|
35
|
+
### Examples
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Show version
|
|
39
|
+
sos --version
|
|
40
|
+
|
|
41
|
+
# Get help for any command
|
|
42
|
+
sos applet --help
|
|
43
|
+
sos applet upload --help
|
|
44
|
+
|
|
45
|
+
# Use custom API endpoint
|
|
46
|
+
sos --api-url https://api.example.com applet upload
|
|
47
|
+
|
|
48
|
+
# Use specific profile
|
|
49
|
+
sos --profile production organization list
|
|
50
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signageos/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"author": "signageOS.io <dev@signageos.io>",
|
|
6
6
|
"files": [
|
|
@@ -78,16 +78,12 @@
|
|
|
78
78
|
"typescript": "5.8.3",
|
|
79
79
|
"unzipper": "0.12.3"
|
|
80
80
|
},
|
|
81
|
-
"overrides": {
|
|
82
|
-
"cross-spawn": "^7.0.6",
|
|
83
|
-
"http-cache-semantics": "^4.2.0"
|
|
84
|
-
},
|
|
85
81
|
"dependencies": {
|
|
86
|
-
"@signageos/file": "
|
|
87
|
-
"@signageos/sdk": "
|
|
82
|
+
"@signageos/file": "2.0.1",
|
|
83
|
+
"@signageos/sdk": "2.0.2",
|
|
88
84
|
"archiver": "7.0.1",
|
|
89
85
|
"chalk": "2.4.2",
|
|
90
|
-
"child-process-promise": "2.
|
|
86
|
+
"child-process-promise": "2.1.3",
|
|
91
87
|
"cli-progress": "3.12.0",
|
|
92
88
|
"command-line-args": "6.0.1",
|
|
93
89
|
"command-line-usage": "7.0.3",
|