@24i/bigscreen-sdk 1.0.4-alpha.2109 → 1.0.4-alpha.2113
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/package.json +1 -1
- package/packages/epg/README.md +1 -0
- package/packages/epg/src/v2/Epg.tsx +20 -2
- package/packages/epg/src/v2/IdleController.ts +25 -0
- package/packages/epg/src/v2/InputEvents.ts +7 -0
- package/packages/epg/src/v2/basic/RowsManager.tsx +2 -1
- package/packages/epg/src/v2/interface.ts +18 -1
- package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +1 -1
- package/packages/grid/src/interface.ts +2 -0
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +1 -2
- package/packages/list/src/UnifiedListController/UnifiedListController.ts +1 -1
- package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +1 -1
- package/packages/list/src/interface.ts +5 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +3 -2
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +8 -1
- package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +2 -2
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +116 -44
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +4 -2
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +4 -6
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +73 -18
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +30 -4
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +3 -2
- package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +0 -2
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +21 -13
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +14 -11
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +1 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +3 -3
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +2 -1
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +1 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +3 -3
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +3 -4
- package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +2 -6
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +26 -3
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +5 -0
- package/packages/rnv-build-engine/dist/templates/platforms/entone/webpack.config.dev.js +63 -0
- package/packages/rnv-build-engine/dist/templates/platforms/entone/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpack.config.dev.js +80 -0
- package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpack.config.prod.js +75 -0
- package/packages/rnv-build-engine/dist/templates/platforms/kreatv/webpack.config.dev.js +63 -0
- package/packages/rnv-build-engine/dist/templates/platforms/kreatv/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/saphi/webpack.config.dev.js +63 -0
- package/packages/rnv-build-engine/dist/templates/platforms/saphi/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/webpack.config.dev.js +64 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/webpack.config.dev.js +65 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webtv/webpack.config.dev.js +63 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webtv/webpack.config.prod.js +58 -0
- package/packages/rnv-build-engine/dist/templates/platforms/xbox/webpack.config.dev.js +64 -0
- package/packages/rnv-build-engine/dist/templates/platforms/xbox/webpack.config.prod.js +58 -0
- package/packages/sdk-installer/dist/index.js +5 -0
- package/packages/sdk-installer/dist/sdkInstaller.js +38 -0
- package/packages/sdk-installer/dist/services/clean.js +11 -0
- package/packages/sdk-installer/dist/services/download.js +55 -0
- package/packages/sdk-installer/dist/services/index.js +11 -0
- package/packages/sdk-installer/dist/services/install.js +24 -0
- package/packages/sdk-installer/dist/services/unzip.js +12 -0
- package/packages/sdk-installer/dist/types/index.d.ts +1 -0
- package/packages/sdk-installer/dist/types/sdkInstaller.d.ts +7 -0
- package/packages/sdk-installer/dist/types/services/clean.d.ts +2 -0
- package/packages/sdk-installer/dist/types/services/download.d.ts +2 -0
- package/packages/sdk-installer/dist/types/services/index.d.ts +4 -0
- package/packages/sdk-installer/dist/types/services/install.d.ts +2 -0
- package/packages/sdk-installer/dist/types/services/unzip.d.ts +2 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +0 -37
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +0 -6
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +0 -6
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +0 -8
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +0 -100
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +0 -8
- package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +0 -24
- package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +0 -8
|
@@ -19,31 +19,84 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.handleWebosSdk = exports.configureWebOSProject = exports.buildWebOSProject = void 0;
|
|
22
|
+
exports.handleWebosSdk = exports.configureWebOSProject = exports.buildWebOSProject = exports.runWebOS = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
24
|
const path = __importStar(require("path"));
|
|
25
25
|
const os_1 = require("os");
|
|
26
26
|
const rnv_1 = require("rnv");
|
|
27
27
|
const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
28
28
|
const sdk_utils_1 = require("../sdk-utils");
|
|
29
|
-
const
|
|
29
|
+
const { writeCleanFile } = rnv_1.FileUtils;
|
|
30
|
+
const { execCLI } = rnv_1.Exec;
|
|
31
|
+
const { getPlatformProjectDir, getTemplateProjectDir, getPlatformBuildDir, getConfigProp, checkPortInUse, confirmActiveBundler, } = rnv_1.Common;
|
|
32
|
+
const { isPlatformActive } = rnv_1.PlatformManager;
|
|
33
|
+
const { chalk, logTask, logInfo, logSuccess, logError } = rnv_1.Logger;
|
|
34
|
+
const { copyBuildsFolder, copyAssetsFolder } = rnv_1.ProjectManager;
|
|
35
|
+
const { CLI_WEBOS_ARES_PACKAGE, REMOTE_DEBUGGER_ENABLED_PLATFORMS } = rnv_1.Constants;
|
|
36
|
+
const { runWebosSimOrDevice } = rnv_1.SDKManager.Webos;
|
|
37
|
+
const runWebOS = async (c) => {
|
|
38
|
+
const { hosted } = c.program;
|
|
39
|
+
const { target } = c.runtime;
|
|
40
|
+
const { platform } = c;
|
|
41
|
+
const isHosted = hosted && !getConfigProp(c, platform, 'bundleAssets');
|
|
42
|
+
if (isHosted) {
|
|
43
|
+
const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
|
|
44
|
+
if (isPortActive) {
|
|
45
|
+
const resetCompleted = await confirmActiveBundler(c);
|
|
46
|
+
c.runtime.skipActiveServerCheck = !resetCompleted;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
logTask('runWebOS', `target:${target} hosted:${!!isHosted}`);
|
|
50
|
+
if (isHosted)
|
|
51
|
+
return;
|
|
52
|
+
const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
|
|
53
|
+
if (bundleAssets) {
|
|
54
|
+
await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
|
|
55
|
+
await runWebosSimOrDevice(c);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
|
|
59
|
+
const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
|
|
60
|
+
const isWeinreEnabled = isDebuggerEnabledForPlatform && !hosted;
|
|
61
|
+
if (!isPortActive) {
|
|
62
|
+
logInfo(`Your ${chalk().white(platform)} devServer at port ${chalk().white(c.runtime.port)} is not running. Starting it up for you...`);
|
|
63
|
+
(0, sdk_webpack_1.waitForWebpack)(c)
|
|
64
|
+
.then(() => runWebosSimOrDevice(c))
|
|
65
|
+
.catch(logError);
|
|
66
|
+
await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const resetCompleted = await confirmActiveBundler(c);
|
|
70
|
+
if (resetCompleted) {
|
|
71
|
+
(0, sdk_webpack_1.waitForWebpack)(c)
|
|
72
|
+
.then(() => runWebosSimOrDevice(c))
|
|
73
|
+
.catch(logError);
|
|
74
|
+
await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
await runWebosSimOrDevice(c);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.runWebOS = runWebOS;
|
|
30
83
|
const buildWebOSProject = async (c) => {
|
|
31
|
-
|
|
84
|
+
logTask('buildWebOSProject');
|
|
32
85
|
await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
|
|
33
86
|
if (!c.program.hosted) {
|
|
34
|
-
const tDir =
|
|
35
|
-
const tOut = path.join(
|
|
36
|
-
await
|
|
37
|
-
|
|
87
|
+
const tDir = getPlatformProjectDir(c);
|
|
88
|
+
const tOut = path.join(getPlatformBuildDir(c), 'output');
|
|
89
|
+
await execCLI(c, CLI_WEBOS_ARES_PACKAGE, `-o ${tOut} ${tDir} -n`);
|
|
90
|
+
logSuccess(`Your IPK package is located in ${chalk().cyan(tOut)} .`);
|
|
38
91
|
}
|
|
39
92
|
};
|
|
40
93
|
exports.buildWebOSProject = buildWebOSProject;
|
|
41
|
-
const configureProject = (c) => {
|
|
42
|
-
|
|
94
|
+
const configureProject = async (c) => {
|
|
95
|
+
logTask('configureProject');
|
|
43
96
|
const configFile = 'appinfo.json';
|
|
44
|
-
const configFileSource = path.join(
|
|
45
|
-
const configFileDest = path.join(
|
|
46
|
-
|
|
97
|
+
const configFileSource = path.join(getTemplateProjectDir(c), configFile);
|
|
98
|
+
const configFileDest = path.join(getPlatformProjectDir(c), configFile);
|
|
99
|
+
writeCleanFile(configFileSource, configFileDest, [], null, c);
|
|
47
100
|
let fileContent = fs.readFileSync(configFileDest).toString();
|
|
48
101
|
fileContent = fileContent.replace(/"true"/g, 'true');
|
|
49
102
|
fileContent = fileContent.replace(/"false"/g, 'false');
|
|
@@ -51,13 +104,15 @@ const configureProject = (c) => {
|
|
|
51
104
|
return true;
|
|
52
105
|
};
|
|
53
106
|
const configureWebOSProject = async (c) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
107
|
+
logTask('configureWebOSProject');
|
|
108
|
+
const { platform } = c;
|
|
109
|
+
c.runtime.platformBuildsProjectPath = getPlatformProjectDir(c);
|
|
110
|
+
if (!isPlatformActive(c, platform))
|
|
111
|
+
return;
|
|
112
|
+
await copyAssetsFolder(c, platform);
|
|
58
113
|
await (0, sdk_webpack_1.configureCoreWebProject)(c);
|
|
59
|
-
configureProject(c);
|
|
60
|
-
await
|
|
114
|
+
await configureProject(c);
|
|
115
|
+
await copyBuildsFolder(c, platform);
|
|
61
116
|
};
|
|
62
117
|
exports.configureWebOSProject = configureWebOSProject;
|
|
63
118
|
const sdkInstallerUUrl = 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/webos/ares_webos_builder_v1.10.4_multiplatform.zip';
|
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configureWebProject = exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.exportWeb = exports.deployWeb = exports.configureWebProject = exports.buildWeb = void 0;
|
|
4
|
+
const rnv_1 = require("rnv");
|
|
5
|
+
const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
6
|
+
const { getPlatformProjectDir } = rnv_1.Common;
|
|
7
|
+
const { isPlatformActive } = rnv_1.PlatformManager;
|
|
8
|
+
const { logTask } = rnv_1.Logger;
|
|
9
|
+
const { copyBuildsFolder, copyAssetsFolder } = rnv_1.ProjectManager;
|
|
10
|
+
const buildWeb = async (c) => (0, sdk_webpack_1.buildCoreWebpackProject)(c);
|
|
11
|
+
exports.buildWeb = buildWeb;
|
|
12
|
+
const configureWebProject = async (c) => {
|
|
13
|
+
logTask('configureWebProject');
|
|
14
|
+
const { platform } = c;
|
|
15
|
+
c.runtime.platformBuildsProjectPath = getPlatformProjectDir(c);
|
|
16
|
+
if (!isPlatformActive(c, platform))
|
|
17
|
+
return;
|
|
18
|
+
await copyAssetsFolder(c, platform);
|
|
19
|
+
await (0, sdk_webpack_1.configureCoreWebProject)(c);
|
|
20
|
+
copyBuildsFolder(c, platform);
|
|
21
|
+
};
|
|
22
|
+
exports.configureWebProject = configureWebProject;
|
|
23
|
+
const deployWeb = () => {
|
|
24
|
+
logTask('deployWeb');
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
exports.deployWeb = deployWeb;
|
|
28
|
+
const exportWeb = () => {
|
|
29
|
+
logTask('exportWeb');
|
|
30
|
+
return true;
|
|
31
|
+
};
|
|
32
|
+
exports.exportWeb = exportWeb;
|
|
@@ -89,7 +89,8 @@ const readContent = (c, path) => {
|
|
|
89
89
|
let content = [];
|
|
90
90
|
try {
|
|
91
91
|
const res = (0, fs_1.readdirSync)(srcDirectory, { withFileTypes: true });
|
|
92
|
-
res.
|
|
92
|
+
for (let i = 0; i < res.length; i++) {
|
|
93
|
+
const file = res[i];
|
|
93
94
|
const fileNameWithPath = `${path}/${file.name}`;
|
|
94
95
|
if (file.isDirectory()) {
|
|
95
96
|
const subdirectoryContent = readContent(c, fileNameWithPath);
|
|
@@ -98,7 +99,7 @@ const readContent = (c, path) => {
|
|
|
98
99
|
else {
|
|
99
100
|
content.push(fileNameWithPath);
|
|
100
101
|
}
|
|
101
|
-
}
|
|
102
|
+
}
|
|
102
103
|
}
|
|
103
104
|
catch (err) {
|
|
104
105
|
throw new Error('Failed to parse project content');
|
|
@@ -9,7 +9,6 @@ const task_rnv_hooks_run_1 = require("./task.rnv.hooks.run");
|
|
|
9
9
|
const task_rnv_package_1 = require("./task.rnv.package");
|
|
10
10
|
const task_rnv_start_1 = require("./task.rnv.start");
|
|
11
11
|
const task_rnv_project_configure_1 = require("./task.rnv.project.configure");
|
|
12
|
-
const task_rnv_platform_configure_1 = require("./task.rnv.platform.configure");
|
|
13
12
|
const engineTaskList = [
|
|
14
13
|
task_rnv_build_1.customRnvBuildTask,
|
|
15
14
|
task_rnv_configure_1.customRnvConfigureTask,
|
|
@@ -17,7 +16,6 @@ const engineTaskList = [
|
|
|
17
16
|
task_rnv_deploy_1.customRnvDeployTask,
|
|
18
17
|
task_rnv_hooks_run_1.customRnvHooksRunTask,
|
|
19
18
|
task_rnv_package_1.customRnvPackageTask,
|
|
20
|
-
task_rnv_platform_configure_1.customRnvPlatformConfigureTask,
|
|
21
19
|
task_rnv_project_configure_1.customRnvProjectConfigureTask,
|
|
22
20
|
task_rnv_start_1.customRnvStartTask,
|
|
23
21
|
];
|
|
@@ -26,13 +26,21 @@ const rnv_1 = require("rnv");
|
|
|
26
26
|
const constants_1 = require("../constants");
|
|
27
27
|
const sdks_1 = require("../sdks");
|
|
28
28
|
const resolvers_1 = require("../resolvers");
|
|
29
|
+
const { getPlatformBuildDir, getPlatformProjectDir } = rnv_1.Common;
|
|
30
|
+
const { logErrorPlatform } = rnv_1.PlatformManager;
|
|
31
|
+
const { logTask } = rnv_1.Logger;
|
|
32
|
+
const { buildWeb } = sdks_1.SDKWebpack;
|
|
33
|
+
const { buildTizenProject } = sdks_1.SDKTizen;
|
|
34
|
+
const { buildWebOSProject } = sdks_1.SDKWebos;
|
|
35
|
+
const { buildXboxProject } = sdks_1.SDKXbox;
|
|
36
|
+
const { executeOrSkipTask } = rnv_1.TaskManager;
|
|
29
37
|
const { TASK_BUILD, TASK_PACKAGE, PARAMS } = rnv_1.Constants;
|
|
30
38
|
const makeZipOutput = (c) => {
|
|
31
|
-
const platformBuildDir =
|
|
39
|
+
const platformBuildDir = getPlatformBuildDir(c);
|
|
32
40
|
const copiedProjectBuildDir = `${platformBuildDir}/build`;
|
|
33
41
|
const defaultZipFileName = `${c.platform}_${c.runtime.appId}.zip`;
|
|
34
42
|
const fileName = (0, resolvers_1.resolveBuildFileName)(c) || defaultZipFileName;
|
|
35
|
-
(0, child_process_1.execSync)(`cp -r ${
|
|
43
|
+
(0, child_process_1.execSync)(`cp -r ${getPlatformProjectDir(c)}/public ${copiedProjectBuildDir}`);
|
|
36
44
|
(0, child_process_1.execSync)(`rm -rf ${platformBuildDir}/output`);
|
|
37
45
|
(0, child_process_1.execSync)(`mkdir ${platformBuildDir}/output`);
|
|
38
46
|
(0, child_process_1.execSync)(`zip -r ../output/${fileName} *`, { cwd: copiedProjectBuildDir });
|
|
@@ -52,33 +60,33 @@ const renameOutput = (c) => {
|
|
|
52
60
|
}
|
|
53
61
|
};
|
|
54
62
|
const buildFn = async (c, parentTask, originTask) => {
|
|
55
|
-
|
|
63
|
+
logTask('taskRnvBuild', `parent:${parentTask}`);
|
|
56
64
|
const { platform } = c;
|
|
57
65
|
c.runtime.forceBundleAssets = true;
|
|
58
66
|
await (0, sdks_1.handlePlatformSdk)(c);
|
|
59
|
-
await
|
|
67
|
+
await executeOrSkipTask(c, TASK_PACKAGE, TASK_BUILD, originTask);
|
|
60
68
|
switch (platform) {
|
|
61
69
|
case constants_1.Platforms.ENTONE:
|
|
62
70
|
case constants_1.Platforms.HBBTV:
|
|
63
71
|
case constants_1.Platforms.KREATV:
|
|
64
72
|
case constants_1.Platforms.SAPHI:
|
|
65
73
|
case constants_1.Platforms.WEBTV:
|
|
66
|
-
await
|
|
74
|
+
await buildWeb(c);
|
|
67
75
|
makeZipOutput(c);
|
|
68
|
-
|
|
76
|
+
return;
|
|
69
77
|
case constants_1.Platforms.XBOX:
|
|
70
|
-
await
|
|
71
|
-
|
|
78
|
+
await buildXboxProject(c);
|
|
79
|
+
return;
|
|
72
80
|
case constants_1.Platforms.TIZEN:
|
|
73
|
-
await
|
|
81
|
+
await buildTizenProject(c);
|
|
74
82
|
renameOutput(c);
|
|
75
|
-
|
|
83
|
+
return;
|
|
76
84
|
case constants_1.Platforms.WEBOS:
|
|
77
|
-
await
|
|
85
|
+
await buildWebOSProject(c);
|
|
78
86
|
renameOutput(c);
|
|
79
|
-
|
|
87
|
+
return;
|
|
80
88
|
default:
|
|
81
|
-
|
|
89
|
+
logErrorPlatform(c);
|
|
82
90
|
}
|
|
83
91
|
};
|
|
84
92
|
const customRnvBuildTask = {
|
|
@@ -5,14 +5,20 @@ const rnv_1 = require("rnv");
|
|
|
5
5
|
const generateIcons_1 = require("../scripts/utils/generateIcons");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
7
|
const sdks_1 = require("../sdks");
|
|
8
|
+
const { logErrorPlatform, copySharedPlatforms } = rnv_1.PlatformManager;
|
|
9
|
+
const { logTask } = rnv_1.Logger;
|
|
8
10
|
const { TASK_PLATFORM_CONFIGURE, TASK_CONFIGURE, PARAMS } = rnv_1.Constants;
|
|
11
|
+
const { configureWebProject } = sdks_1.SDKWebpack;
|
|
12
|
+
const { configureTizenProject } = sdks_1.SDKTizen;
|
|
13
|
+
const { configureWebOSProject } = sdks_1.SDKWebos;
|
|
14
|
+
const { executeTask } = rnv_1.TaskManager;
|
|
9
15
|
const configureFn = async (c, parentTask, originTask) => {
|
|
10
|
-
|
|
11
|
-
await
|
|
12
|
-
await
|
|
16
|
+
logTask('taskRnvConfigure');
|
|
17
|
+
await executeTask(c, TASK_PLATFORM_CONFIGURE, TASK_CONFIGURE, originTask);
|
|
18
|
+
await copySharedPlatforms(c);
|
|
13
19
|
await (0, generateIcons_1.generateIcons)(c);
|
|
14
20
|
if (c.program.only && !!parentTask)
|
|
15
|
-
return;
|
|
21
|
+
return true;
|
|
16
22
|
switch (c.platform) {
|
|
17
23
|
case constants_1.Platforms.ENTONE:
|
|
18
24
|
case constants_1.Platforms.HBBTV:
|
|
@@ -20,16 +26,13 @@ const configureFn = async (c, parentTask, originTask) => {
|
|
|
20
26
|
case constants_1.Platforms.SAPHI:
|
|
21
27
|
case constants_1.Platforms.WEBTV:
|
|
22
28
|
case constants_1.Platforms.XBOX:
|
|
23
|
-
|
|
24
|
-
break;
|
|
29
|
+
return configureWebProject(c);
|
|
25
30
|
case constants_1.Platforms.TIZEN:
|
|
26
|
-
|
|
27
|
-
break;
|
|
31
|
+
return configureTizenProject(c);
|
|
28
32
|
case constants_1.Platforms.WEBOS:
|
|
29
|
-
|
|
30
|
-
break;
|
|
33
|
+
return configureWebOSProject(c);
|
|
31
34
|
default:
|
|
32
|
-
|
|
35
|
+
return logErrorPlatform(c);
|
|
33
36
|
}
|
|
34
37
|
};
|
|
35
38
|
const customRnvConfigureTask = {
|
|
@@ -19,6 +19,7 @@ const configureSoftFn = async (c, parentTask, originTask) => {
|
|
|
19
19
|
await checkSdk(c);
|
|
20
20
|
await configureRuntimeDefaults(c);
|
|
21
21
|
(0, replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig)(c);
|
|
22
|
+
return true;
|
|
22
23
|
};
|
|
23
24
|
const customRnvConfigureSoftTask = {
|
|
24
25
|
description: 'Configure system and project without recreating files (used for --only)',
|
|
@@ -16,7 +16,7 @@ const deployFn = async (c, parentTask, originTask) => {
|
|
|
16
16
|
case constants_1.Platforms.HBBTV:
|
|
17
17
|
await (0, deployHbbtv_1.deployHbbTV)(c);
|
|
18
18
|
await (0, deployS3_1.deployToS3)(c);
|
|
19
|
-
|
|
19
|
+
return true;
|
|
20
20
|
case constants_1.Platforms.ENTONE:
|
|
21
21
|
case constants_1.Platforms.KREATV:
|
|
22
22
|
case constants_1.Platforms.SAPHI:
|
|
@@ -24,10 +24,10 @@ const deployFn = async (c, parentTask, originTask) => {
|
|
|
24
24
|
case constants_1.Platforms.WEBOS:
|
|
25
25
|
case constants_1.Platforms.WEBTV:
|
|
26
26
|
case constants_1.Platforms.XBOX:
|
|
27
|
-
|
|
28
|
-
break;
|
|
27
|
+
return (0, deployS3_1.deployToS3)(c);
|
|
29
28
|
default:
|
|
30
29
|
logErrorPlatform(c);
|
|
30
|
+
return false;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
const customRnvDeployTask = {
|
|
@@ -37,7 +37,7 @@ const hooksRunFn = async (c, parentTask, originTask) => {
|
|
|
37
37
|
}
|
|
38
38
|
await (0, buildHooks_1.buildHooks)(c);
|
|
39
39
|
if (!c.buildHooks) {
|
|
40
|
-
|
|
40
|
+
return Promise.reject(new Error('Build hooks have not been compiled properly!'));
|
|
41
41
|
}
|
|
42
42
|
let hookName = c.program?.exeMethod;
|
|
43
43
|
let showHookList = false;
|
|
@@ -55,6 +55,7 @@ const hooksRunFn = async (c, parentTask, originTask) => {
|
|
|
55
55
|
hookName = selectedHook;
|
|
56
56
|
}
|
|
57
57
|
await c.buildHooks[hookName](c);
|
|
58
|
+
return true;
|
|
58
59
|
};
|
|
59
60
|
const customRnvHooksRunTask = {
|
|
60
61
|
description: 'Run specific build hook',
|
|
@@ -7,6 +7,7 @@ const { TASK_PACKAGE, TASK_CONFIGURE, PARAMS } = rnv_1.Constants;
|
|
|
7
7
|
const packageFn = async (c, parentTask, originTask) => {
|
|
8
8
|
rnv_1.Logger.logTask('taskRnvPackage', `parent:${parentTask}`);
|
|
9
9
|
await rnv_1.TaskManager.executeOrSkipTask(c, TASK_CONFIGURE, TASK_PACKAGE, originTask);
|
|
10
|
+
return true;
|
|
10
11
|
};
|
|
11
12
|
const customRnvPackageTask = {
|
|
12
13
|
description: 'Package source files into bundle',
|
|
@@ -67,7 +67,7 @@ const projectConfigureFn = async (c, parentTask, originTask) => {
|
|
|
67
67
|
await configureRuntimeDefaults(c);
|
|
68
68
|
await executeTask(c, TASK_APP_CONFIGURE, TASK_PROJECT_CONFIGURE, originTask);
|
|
69
69
|
await generateRuntimeConfig(c);
|
|
70
|
-
return;
|
|
70
|
+
return true;
|
|
71
71
|
}
|
|
72
72
|
await checkIfTemplateConfigured(c);
|
|
73
73
|
await executeTask(c, TASK_INSTALL, TASK_PROJECT_CONFIGURE, originTask);
|
|
@@ -79,8 +79,7 @@ const projectConfigureFn = async (c, parentTask, originTask) => {
|
|
|
79
79
|
logInfo('Your template has been bootstrapped. RESTARTING...DONE');
|
|
80
80
|
const taskInstance = await findSuitableTask(c);
|
|
81
81
|
c.runtime.requiresBootstrap = false;
|
|
82
|
-
|
|
83
|
-
return;
|
|
82
|
+
return initializeTask(c, taskInstance.task);
|
|
84
83
|
}
|
|
85
84
|
await applyTemplate(c);
|
|
86
85
|
await configureRuntimeDefaults(c);
|
|
@@ -105,6 +104,7 @@ const projectConfigureFn = async (c, parentTask, originTask) => {
|
|
|
105
104
|
await generateRuntimeConfig(c);
|
|
106
105
|
await overrideTemplatePlugins(c);
|
|
107
106
|
}
|
|
107
|
+
return true;
|
|
108
108
|
};
|
|
109
109
|
const customRnvProjectConfigureTask = {
|
|
110
110
|
description: 'Configure current project',
|
|
@@ -54,13 +54,12 @@ const startFn = async (c, parentTask, originTask) => {
|
|
|
54
54
|
case constants_1.Platforms.WEBOS:
|
|
55
55
|
case constants_1.Platforms.WEBTV:
|
|
56
56
|
case constants_1.Platforms.XBOX:
|
|
57
|
-
|
|
58
|
-
break;
|
|
57
|
+
return (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
59
58
|
default:
|
|
60
59
|
if (hosted) {
|
|
61
|
-
logError('This platform does not support hosted mode', true);
|
|
60
|
+
return logError('This platform does not support hosted mode', true);
|
|
62
61
|
}
|
|
63
|
-
logErrorPlatform(c);
|
|
62
|
+
return logErrorPlatform(c);
|
|
64
63
|
}
|
|
65
64
|
};
|
|
66
65
|
const customRnvStartTask = {
|
|
@@ -9,12 +9,8 @@ const path_1 = __importDefault(require("path"));
|
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
10
|
const mergeJsonObjects = (svgJsonObject, pngJsonObject) => {
|
|
11
11
|
const merged = {};
|
|
12
|
-
Object
|
|
13
|
-
|
|
14
|
-
.forEach(([key]) => { merged[key] = ''; });
|
|
15
|
-
Object
|
|
16
|
-
.entries(pngJsonObject)
|
|
17
|
-
.forEach(([key]) => { merged[key] = ''; });
|
|
12
|
+
Object.entries(svgJsonObject).forEach(([key]) => { merged[key] = ''; });
|
|
13
|
+
Object.entries(pngJsonObject).forEach(([key]) => { merged[key] = ''; });
|
|
18
14
|
return merged;
|
|
19
15
|
};
|
|
20
16
|
const mergeSvgAndPngIcons = (c) => {
|
|
@@ -25,7 +25,7 @@ const htmlTemp = (options) => {
|
|
|
25
25
|
const config = constructCustomHtmlTemplate({
|
|
26
26
|
...DEFAULT_CONFIG, ...options,
|
|
27
27
|
});
|
|
28
|
-
const { docType, title, metaTags, htmlTag, contentType, isDebug, debug, debugIp, platform, headPrepend, headAppend, bodyPrepend, bodyAppend, } = config;
|
|
28
|
+
const { docType, title, metaTags, htmlTag, contentType, isDebug, debug, debugIp, platform, headPrepend, headAppend, bodyPrepend, bodyAppend, splashUrl, resolution, } = config;
|
|
29
29
|
const titleTag = `<title>${title}</title>`;
|
|
30
30
|
const noScript = '<noscript>You need to enable JavaScript to run this app.</noscript>';
|
|
31
31
|
let remoteDebugScript = '';
|
|
@@ -44,12 +44,33 @@ const htmlTemp = (options) => {
|
|
|
44
44
|
if (platform === 'webtv') {
|
|
45
45
|
webtvScripts = `
|
|
46
46
|
<script>
|
|
47
|
-
|
|
47
|
+
var faviconUpdate = function() {
|
|
48
48
|
var faviconElement = document.getElementById('favicon');
|
|
49
49
|
faviconElement.href = "content/favicon.ico?v" + new Date().getTime();
|
|
50
|
+
window.removeEventListener('load', this);
|
|
51
|
+
console.log('TU1');
|
|
50
52
|
}
|
|
53
|
+
window.addEventListener('load', faviconUpdate);
|
|
51
54
|
</script>
|
|
52
|
-
<link id="favicon" rel="icon" type="image/x-icon" href="content/favicon.ico
|
|
55
|
+
<link id="favicon" rel="icon" type="image/x-icon" href="content/favicon.ico">`;
|
|
56
|
+
}
|
|
57
|
+
let splashScript = '';
|
|
58
|
+
let splashDiv = '';
|
|
59
|
+
if (splashUrl) {
|
|
60
|
+
const { width, height } = resolution;
|
|
61
|
+
splashScript = `<script>
|
|
62
|
+
var splashRemove = function() {
|
|
63
|
+
var splashElement = document.getElementById('splash');
|
|
64
|
+
if (splashElement) splashElement.parentNode.removeChild(splashElement);
|
|
65
|
+
window.removeEventListener('load', this);
|
|
66
|
+
console.log('TU2');
|
|
67
|
+
}
|
|
68
|
+
window.addEventListener('load', splashRemove);
|
|
69
|
+
</script>`;
|
|
70
|
+
splashDiv = `<div id="splash" style="
|
|
71
|
+
position: absolute; left: 0; top: 0; width: ${width}; height: ${height};
|
|
72
|
+
background-image: url("${splashUrl}");
|
|
73
|
+
"></div>`;
|
|
53
74
|
}
|
|
54
75
|
const errScript = `
|
|
55
76
|
<script>window.onerror = function(err) {
|
|
@@ -72,12 +93,14 @@ ${htmlTag}
|
|
|
72
93
|
${tizenScripts}
|
|
73
94
|
${xboxScripts}
|
|
74
95
|
${webtvScripts}
|
|
96
|
+
${splashScript}
|
|
75
97
|
${headAppend}
|
|
76
98
|
</head>
|
|
77
99
|
<body>
|
|
78
100
|
${bodyPrepend}
|
|
79
101
|
${noScript}
|
|
80
102
|
${isDebug ? errDiv : ''}
|
|
103
|
+
${splashDiv}
|
|
81
104
|
${rootDiv}
|
|
82
105
|
${bodyAppend}
|
|
83
106
|
</body>
|
|
@@ -7,6 +7,7 @@ exports.generateConfig = void 0;
|
|
|
7
7
|
const html_webpack_harddisk_plugin_1 = __importDefault(require("html-webpack-harddisk-plugin"));
|
|
8
8
|
const webpack_1 = __importDefault(require("webpack"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
11
|
const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
|
|
11
12
|
const filemanager_webpack_plugin_1 = __importDefault(require("filemanager-webpack-plugin"));
|
|
12
13
|
const html_webpack_plugin_1 = __importDefault(require("html-webpack-plugin"));
|
|
@@ -138,6 +139,9 @@ function generateConfig(config) {
|
|
|
138
139
|
const isBuildHosted = config.isBuildHosted || false;
|
|
139
140
|
const appContentPath = getAppContentPath(baseUrl, isBuildHosted);
|
|
140
141
|
const copiedDirWithPublicContentPath = path_1.default.join(appBuildDir, `../${path_1.default.parse(appBuildDir).name}-public`);
|
|
142
|
+
const splashImage = config.initialSplashImage || undefined;
|
|
143
|
+
const splashPath = path_1.default.resolve(appBuildEngineProjectDir, `content/${splashImage}`);
|
|
144
|
+
const splashUrl = fs_1.default.existsSync(splashPath) ? `${appContentPath}/${splashImage}` : '';
|
|
141
145
|
const plugins = {
|
|
142
146
|
forkTsChecker: new fork_ts_checker_webpack_plugin_1.default({
|
|
143
147
|
typescript: {
|
|
@@ -168,6 +172,7 @@ function generateConfig(config) {
|
|
|
168
172
|
platform: PLATFORM,
|
|
169
173
|
environment: config.environment,
|
|
170
174
|
baseUrl,
|
|
175
|
+
splashUrl,
|
|
171
176
|
},
|
|
172
177
|
xhtml: PLATFORM === smartapps_bigscreen_rnv_build_engine_1.Constants.Platforms.HBBTV,
|
|
173
178
|
}),
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const webpack_base_1 = require("./webpack.base");
|
|
23
|
+
const Extend = __importStar(require("./webpack.extend"));
|
|
24
|
+
const config = {
|
|
25
|
+
currentDir: __dirname,
|
|
26
|
+
metaTags: `<meta name="viewport" content="width=${Extend.resolution.width}, user-scalable=no" />`,
|
|
27
|
+
environment: 'development',
|
|
28
|
+
devServerHost: '0.0.0.0',
|
|
29
|
+
...Extend,
|
|
30
|
+
};
|
|
31
|
+
const C = (0, webpack_base_1.generateConfig)(config);
|
|
32
|
+
const plugins = [
|
|
33
|
+
C.Plugins.forkTsChecker,
|
|
34
|
+
C.Plugins.webpack,
|
|
35
|
+
C.Plugins.html,
|
|
36
|
+
C.Plugins.harddisk,
|
|
37
|
+
C.Plugins.css,
|
|
38
|
+
C.Plugins.fileManager,
|
|
39
|
+
];
|
|
40
|
+
exports.default = {
|
|
41
|
+
entry: C.entry,
|
|
42
|
+
devServer: C.devServer,
|
|
43
|
+
output: C.output,
|
|
44
|
+
optimization: {
|
|
45
|
+
minimize: false,
|
|
46
|
+
},
|
|
47
|
+
module: {
|
|
48
|
+
rules: [
|
|
49
|
+
C.Rules.babel,
|
|
50
|
+
C.Rules.css,
|
|
51
|
+
C.Rules.image,
|
|
52
|
+
C.Rules.fonts,
|
|
53
|
+
C.Rules.sourcemap,
|
|
54
|
+
].filter(Boolean),
|
|
55
|
+
},
|
|
56
|
+
plugins: plugins.filter(Boolean),
|
|
57
|
+
resolve: {
|
|
58
|
+
symlinks: true,
|
|
59
|
+
extensions: C.extensions,
|
|
60
|
+
alias: C.aliases,
|
|
61
|
+
},
|
|
62
|
+
...config.extend || {},
|
|
63
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const webpack_base_1 = require("./webpack.base");
|
|
23
|
+
const Extend = __importStar(require("./webpack.extend"));
|
|
24
|
+
const config = {
|
|
25
|
+
currentDir: __dirname,
|
|
26
|
+
metaTags: `<meta name="viewport" content="width=${Extend.resolution.width}, user-scalable=no" />`,
|
|
27
|
+
environment: 'production',
|
|
28
|
+
...Extend,
|
|
29
|
+
};
|
|
30
|
+
const C = (0, webpack_base_1.generateConfig)(config);
|
|
31
|
+
const plugins = [
|
|
32
|
+
C.Plugins.forkTsChecker,
|
|
33
|
+
C.Plugins.webpack,
|
|
34
|
+
C.Plugins.html,
|
|
35
|
+
C.Plugins.harddisk,
|
|
36
|
+
C.Plugins.css,
|
|
37
|
+
C.Plugins.fileManager,
|
|
38
|
+
];
|
|
39
|
+
exports.default = {
|
|
40
|
+
entry: C.entry,
|
|
41
|
+
output: C.output,
|
|
42
|
+
module: {
|
|
43
|
+
rules: [
|
|
44
|
+
C.Rules.babel,
|
|
45
|
+
C.Rules.css,
|
|
46
|
+
C.Rules.image,
|
|
47
|
+
C.Rules.fonts,
|
|
48
|
+
C.Rules.sourcemap,
|
|
49
|
+
].filter(Boolean),
|
|
50
|
+
},
|
|
51
|
+
plugins: plugins.filter(Boolean),
|
|
52
|
+
resolve: {
|
|
53
|
+
symlinks: true,
|
|
54
|
+
extensions: C.extensions,
|
|
55
|
+
alias: C.aliases,
|
|
56
|
+
},
|
|
57
|
+
...config.extend || {},
|
|
58
|
+
};
|