@signageos/cli 2.5.0 → 2.6.0-rc.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 +106 -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 +107 -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/applet/index.md +10 -10
- package/docs/applet/test/index.md +4 -4
- package/docs/autocomplete/index.md +4 -4
- package/docs/custom-script/index.md +4 -4
- package/docs/device/index.md +6 -6
- package/docs/index.md +16 -14
- package/docs/organization/index.md +6 -6
- 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/docs/timing/index.md +2 -2
- package/package.json +2 -2
|
@@ -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/applet/index.md
CHANGED
|
@@ -29,7 +29,7 @@ Generate new signageOS applet projects with boilerplate code
|
|
|
29
29
|
sos applet generate [options]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
[→ See detailed documentation](generate/)
|
|
32
|
+
[→ See detailed documentation](/cli/applet/generate/)
|
|
33
33
|
|
|
34
34
|
### upload
|
|
35
35
|
|
|
@@ -39,7 +39,7 @@ Uploads current applet version
|
|
|
39
39
|
sos applet upload [options]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
[→ See detailed documentation](upload/)
|
|
42
|
+
[→ See detailed documentation](/cli/applet/upload/)
|
|
43
43
|
|
|
44
44
|
### start
|
|
45
45
|
|
|
@@ -49,7 +49,7 @@ Start local applet development server with live preview
|
|
|
49
49
|
sos applet start [options]
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
[→ See detailed documentation](start/)
|
|
52
|
+
[→ See detailed documentation](/cli/applet/start/)
|
|
53
53
|
|
|
54
54
|
### test
|
|
55
55
|
|
|
@@ -59,7 +59,7 @@ Applet test management
|
|
|
59
59
|
sos applet test <subcommand> [options]
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
[→ See detailed documentation](test/)
|
|
62
|
+
[→ See detailed documentation](/cli/applet/test/)
|
|
63
63
|
|
|
64
64
|
### build
|
|
65
65
|
|
|
@@ -69,7 +69,7 @@ Build applet locally for production deployment.
|
|
|
69
69
|
sos applet build [options]
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
[→ See detailed documentation](build/)
|
|
72
|
+
[→ See detailed documentation](/cli/applet/build/)
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
## Examples
|
|
@@ -123,11 +123,11 @@ sos --profile production organization list
|
|
|
123
123
|
|
|
124
124
|
## Related Commands
|
|
125
125
|
|
|
126
|
-
- [`sos applet generate`](generate/) - Generate new signageOS applet projects with boilerplate code
|
|
127
|
-
- [`sos applet upload`](upload/) - Uploads current applet version
|
|
128
|
-
- [`sos applet start`](start/) - Start local applet development server with live preview
|
|
129
|
-
- [`sos applet test`](test/) - Applet test management
|
|
130
|
-
- [`sos applet build`](build/) - Build applet locally for production deployment.
|
|
126
|
+
- [`sos applet generate`](/cli/applet/generate/) - Generate new signageOS applet projects with boilerplate code
|
|
127
|
+
- [`sos applet upload`](/cli/applet/upload/) - Uploads current applet version
|
|
128
|
+
- [`sos applet start`](/cli/applet/start/) - Start local applet development server with live preview
|
|
129
|
+
- [`sos applet test`](/cli/applet/test/) - Applet test management
|
|
130
|
+
- [`sos applet build`](/cli/applet/build/) - Build applet locally for production deployment.
|
|
131
131
|
|
|
132
132
|
## See Also
|
|
133
133
|
|
|
@@ -29,7 +29,7 @@ Upload applet tests to the signageOS platform
|
|
|
29
29
|
sos applet test upload [options]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
[→ See detailed documentation](upload/)
|
|
32
|
+
[→ See detailed documentation](/cli/applet/test/upload/)
|
|
33
33
|
|
|
34
34
|
### run
|
|
35
35
|
|
|
@@ -39,7 +39,7 @@ Run applet tests on signageOS devices
|
|
|
39
39
|
sos applet test run [options]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
[→ See detailed documentation](run/)
|
|
42
|
+
[→ See detailed documentation](/cli/applet/test/run/)
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
## Examples
|
|
@@ -87,5 +87,5 @@ sos --profile production organization list
|
|
|
87
87
|
|
|
88
88
|
## Related Commands
|
|
89
89
|
|
|
90
|
-
- [`sos applet test upload`](upload/) - Upload applet tests to the signageOS platform
|
|
91
|
-
- [`sos applet test run`](run/) - Run applet tests on signageOS devices
|
|
90
|
+
- [`sos applet test upload`](/cli/applet/test/upload/) - Upload applet tests to the signageOS platform
|
|
91
|
+
- [`sos applet test run`](/cli/applet/test/run/) - Run applet tests on signageOS devices
|
|
@@ -30,7 +30,7 @@ Install command auto-completion for bash/zsh shells
|
|
|
30
30
|
sos autocomplete install [options]
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
[→ See detailed documentation](install/)
|
|
33
|
+
[→ See detailed documentation](/cli/autocomplete/install/)
|
|
34
34
|
|
|
35
35
|
### uninstall
|
|
36
36
|
|
|
@@ -40,7 +40,7 @@ Uninstall command auto-completion for bash/zsh shells
|
|
|
40
40
|
sos autocomplete uninstall [options]
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
[→ See detailed documentation](uninstall/)
|
|
43
|
+
[→ See detailed documentation](/cli/autocomplete/uninstall/)
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
## Examples
|
|
@@ -88,5 +88,5 @@ sos --profile production organization list
|
|
|
88
88
|
|
|
89
89
|
## Related Commands
|
|
90
90
|
|
|
91
|
-
- [`sos autocomplete install`](install/) - Install command auto-completion for bash/zsh shells
|
|
92
|
-
- [`sos autocomplete uninstall`](uninstall/) - Uninstall command auto-completion for bash/zsh shells
|
|
91
|
+
- [`sos autocomplete install`](/cli/autocomplete/install/) - Install command auto-completion for bash/zsh shells
|
|
92
|
+
- [`sos autocomplete uninstall`](/cli/autocomplete/uninstall/) - Uninstall command auto-completion for bash/zsh shells
|
|
@@ -30,7 +30,7 @@ Upload custom script to the signageOS platform
|
|
|
30
30
|
sos custom-script upload [options]
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
[→ See detailed documentation](upload/)
|
|
33
|
+
[→ See detailed documentation](/cli/custom-script/upload/)
|
|
34
34
|
|
|
35
35
|
### generate
|
|
36
36
|
|
|
@@ -40,7 +40,7 @@ Generate a local repository for developing a Custom Script
|
|
|
40
40
|
sos custom-script generate [options]
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
[→ See detailed documentation](generate/)
|
|
43
|
+
[→ See detailed documentation](/cli/custom-script/generate/)
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
## Examples
|
|
@@ -88,8 +88,8 @@ sos --profile production organization list
|
|
|
88
88
|
|
|
89
89
|
## Related Commands
|
|
90
90
|
|
|
91
|
-
- [`sos custom-script upload`](upload/) - Upload custom script to the signageOS platform
|
|
92
|
-
- [`sos custom-script generate`](generate/) - Generate a local repository for developing a Custom Script
|
|
91
|
+
- [`sos custom-script upload`](/cli/custom-script/upload/) - Upload custom script to the signageOS platform
|
|
92
|
+
- [`sos custom-script generate`](/cli/custom-script/generate/) - Generate a local repository for developing a Custom Script
|
|
93
93
|
|
|
94
94
|
## See Also
|
|
95
95
|
|
package/docs/device/index.md
CHANGED
|
@@ -29,7 +29,7 @@ Deploy applet to device
|
|
|
29
29
|
sos device set-content [options]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
[→ See detailed documentation](set-content/)
|
|
32
|
+
[→ See detailed documentation](/cli/device/set-content/)
|
|
33
33
|
|
|
34
34
|
### power-action
|
|
35
35
|
|
|
@@ -39,7 +39,7 @@ Perform power action on device
|
|
|
39
39
|
sos device power-action <actionType> [options]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
[→ See detailed documentation](power-action/)
|
|
42
|
+
[→ See detailed documentation](/cli/device/power-action/)
|
|
43
43
|
|
|
44
44
|
### connect
|
|
45
45
|
|
|
@@ -49,7 +49,7 @@ Connect device to local development server
|
|
|
49
49
|
sos device connect [options]
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
[→ See detailed documentation](connect/)
|
|
52
|
+
[→ See detailed documentation](/cli/device/connect/)
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
## Examples
|
|
@@ -100,6 +100,6 @@ sos --profile production organization list
|
|
|
100
100
|
|
|
101
101
|
## Related Commands
|
|
102
102
|
|
|
103
|
-
- [`sos device set-content`](set-content/) - Deploy applet to device
|
|
104
|
-
- [`sos device power-action`](power-action/) - Perform power action on device
|
|
105
|
-
- [`sos device connect`](connect/) - Connect device to local development server
|
|
103
|
+
- [`sos device set-content`](/cli/device/set-content/) - Deploy applet to device
|
|
104
|
+
- [`sos device power-action`](/cli/device/power-action/) - Perform power action on device
|
|
105
|
+
- [`sos device connect`](/cli/device/connect/) - Connect device to local development server
|
package/docs/index.md
CHANGED
|
@@ -81,7 +81,7 @@ Applet development and management operations
|
|
|
81
81
|
|
|
82
82
|
**Available commands**: `sos applet generate`, `sos applet upload`, `sos applet start`, `sos applet test`, `sos applet build`
|
|
83
83
|
|
|
84
|
-
[→ See detailed documentation](applet/)
|
|
84
|
+
[→ See detailed documentation](/cli/applet/)
|
|
85
85
|
|
|
86
86
|
#### `sos custom-script`
|
|
87
87
|
|
|
@@ -89,7 +89,7 @@ Custom Script management
|
|
|
89
89
|
|
|
90
90
|
**Available commands**: `sos custom-script upload`, `sos custom-script generate`
|
|
91
91
|
|
|
92
|
-
[→ See detailed documentation](custom-script/)
|
|
92
|
+
[→ See detailed documentation](/cli/custom-script/)
|
|
93
93
|
|
|
94
94
|
### Authentication
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ Custom Script management
|
|
|
97
97
|
|
|
98
98
|
Authenticate user with signageOS
|
|
99
99
|
|
|
100
|
-
[→ See detailed documentation](login/)
|
|
100
|
+
[→ See detailed documentation](/cli/login/)
|
|
101
101
|
|
|
102
102
|
### Management
|
|
103
103
|
|
|
@@ -107,7 +107,7 @@ Organization management operations
|
|
|
107
107
|
|
|
108
108
|
**Available commands**: `sos organization list`, `sos organization get`, `sos organization set-default`
|
|
109
109
|
|
|
110
|
-
[→ See detailed documentation](organization/)
|
|
110
|
+
[→ See detailed documentation](/cli/organization/)
|
|
111
111
|
|
|
112
112
|
#### `sos timing`
|
|
113
113
|
|
|
@@ -115,7 +115,7 @@ Timing management
|
|
|
115
115
|
|
|
116
116
|
**Available commands**: `sos timing list`
|
|
117
117
|
|
|
118
|
-
[→ See detailed documentation](timing/)
|
|
118
|
+
[→ See detailed documentation](/cli/timing/)
|
|
119
119
|
|
|
120
120
|
#### `sos device`
|
|
121
121
|
|
|
@@ -123,7 +123,7 @@ Device management
|
|
|
123
123
|
|
|
124
124
|
**Available commands**: `sos device set-content`, `sos device power-action`, `sos device connect`
|
|
125
125
|
|
|
126
|
-
[→ See detailed documentation](device/)
|
|
126
|
+
[→ See detailed documentation](/cli/device/)
|
|
127
127
|
|
|
128
128
|
### Tools
|
|
129
129
|
|
|
@@ -133,7 +133,7 @@ CLI auto-completion management
|
|
|
133
133
|
|
|
134
134
|
**Available commands**: `sos autocomplete install`, `sos autocomplete uninstall`
|
|
135
135
|
|
|
136
|
-
[→ See detailed documentation](autocomplete/)
|
|
136
|
+
[→ See detailed documentation](/cli/autocomplete/)
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
## Examples
|
|
@@ -155,13 +155,15 @@ sos --api-url https://api.custom.signageos.io applet list
|
|
|
155
155
|
|
|
156
156
|
## Related Commands
|
|
157
157
|
|
|
158
|
-
- [`sos applet`](applet/) - Applet development and management operations
|
|
159
|
-
- [`sos login`](login/) - Authenticate user with signageOS
|
|
160
|
-
- [`sos organization`](organization/) - Organization management operations
|
|
161
|
-
- [`sos timing`](timing/) - Timing management
|
|
162
|
-
- [`sos device`](device/) - Device management
|
|
163
|
-
- [`sos custom-script`](custom-script/) - Custom Script management
|
|
164
|
-
- [`sos
|
|
158
|
+
- [`sos applet`](/cli/applet/) - Applet development and management operations
|
|
159
|
+
- [`sos login`](/cli/login/) - Authenticate user with signageOS
|
|
160
|
+
- [`sos organization`](/cli/organization/) - Organization management operations
|
|
161
|
+
- [`sos timing`](/cli/timing/) - Timing management
|
|
162
|
+
- [`sos device`](/cli/device/) - Device management
|
|
163
|
+
- [`sos custom-script`](/cli/custom-script/) - Custom Script management
|
|
164
|
+
- [`sos plugin`](/cli/plugin/) - Plugin management
|
|
165
|
+
- [`sos runner`](/cli/runner/) - Runner management
|
|
166
|
+
- [`sos autocomplete`](/cli/autocomplete/) - CLI auto-completion management
|
|
165
167
|
|
|
166
168
|
## See Also
|
|
167
169
|
|
|
@@ -29,7 +29,7 @@ List organizations for logged account
|
|
|
29
29
|
sos organization list [options]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
[→ See detailed documentation](list/)
|
|
32
|
+
[→ See detailed documentation](/cli/organization/list/)
|
|
33
33
|
|
|
34
34
|
### get
|
|
35
35
|
|
|
@@ -39,7 +39,7 @@ Get detailed information about a specific organization
|
|
|
39
39
|
sos organization get [options]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
[→ See detailed documentation](get/)
|
|
42
|
+
[→ See detailed documentation](/cli/organization/get/)
|
|
43
43
|
|
|
44
44
|
### set-default
|
|
45
45
|
|
|
@@ -49,7 +49,7 @@ Set a default organization for CLI operations
|
|
|
49
49
|
sos organization set-default [options]
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
[→ See detailed documentation](set-default/)
|
|
52
|
+
[→ See detailed documentation](/cli/organization/set-default/)
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
## Examples
|
|
@@ -100,6 +100,6 @@ sos --profile production organization list
|
|
|
100
100
|
|
|
101
101
|
## Related Commands
|
|
102
102
|
|
|
103
|
-
- [`sos organization list`](list/) - List organizations for logged account
|
|
104
|
-
- [`sos organization get`](get/) - Get detailed information about a specific organization
|
|
105
|
-
- [`sos organization set-default`](set-default/) - Set a default organization for CLI operations
|
|
103
|
+
- [`sos organization list`](/cli/organization/list/) - List organizations for logged account
|
|
104
|
+
- [`sos organization get`](/cli/organization/get/) - Get detailed information about a specific organization
|
|
105
|
+
- [`sos organization set-default`](/cli/organization/set-default/) - Set a default organization for CLI operations
|
|
@@ -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
|