@24i/bigscreen-sdk 1.0.4-alpha.2112 → 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/grid/src/UnifiedGridController/UnifiedGridController.ts +1 -1
- package/packages/grid/src/interface.ts +2 -0
- 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
package/package.json
CHANGED
|
@@ -197,8 +197,8 @@ export class UnifiedGridController<T> implements IUnifiedGridController<T> {
|
|
|
197
197
|
if (animate && scrollToPx === this.toPx) {
|
|
198
198
|
base.current!.animatedScrollFinished();
|
|
199
199
|
}
|
|
200
|
-
this.handleOnScrollChanged(scrollToPx, backward);
|
|
201
200
|
this.adjustGroupsOffsetsOnFrame(scrollToPx, backward);
|
|
201
|
+
this.handleOnScrollChanged(scrollToPx, backward);
|
|
202
202
|
this.scrollGridScroller(scrollToPx);
|
|
203
203
|
if (this.isScrollWrapFocused()) {
|
|
204
204
|
this.focusCurrentItem();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, Reference } from '@24i/bigscreen-sdk/jsx';
|
|
2
2
|
import { IFocusable } from '@24i/bigscreen-sdk/focus';
|
|
3
|
+
import { UnifiedGridController } from './UnifiedGridController/UnifiedGridController';
|
|
3
4
|
import { SharedProps, Item } from './types';
|
|
4
5
|
import { GridBase } from './Base';
|
|
5
6
|
|
|
@@ -7,6 +8,7 @@ export interface Grid<
|
|
|
7
8
|
T extends Item<U>, U, V extends SharedProps<T, U> = SharedProps<T, U>,
|
|
8
9
|
> extends IFocusable, Component<V> {
|
|
9
10
|
base: Reference<GridBase<T, U>>,
|
|
11
|
+
controller: UnifiedGridController<U>;
|
|
10
12
|
appendData(data: U[]): void,
|
|
11
13
|
prependData(data: U[]): void,
|
|
12
14
|
focusToIndex(dataIndex: number, animated?: boolean): void,
|
|
@@ -101,8 +101,8 @@ extends SharedProps<any, any> = SharedProps<any, any>>
|
|
|
101
101
|
if (animate && scrollToPx === this.toPx) {
|
|
102
102
|
base.current!.animatedScrollFinished();
|
|
103
103
|
}
|
|
104
|
-
this.handleOnScrollChanged(scrollToPx, backward);
|
|
105
104
|
this.adjustItemsOffsetsOnFrame(scrollToPx, backward);
|
|
105
|
+
this.handleOnScrollChanged(scrollToPx, backward);
|
|
106
106
|
this.scrollListScroller(scrollToPx);
|
|
107
107
|
if (this.isScrollWrapFocused()) {
|
|
108
108
|
this.focusCurrentItem();
|
|
@@ -72,8 +72,8 @@ extends SharedVariedProps<any, any> = SharedVariedProps<any, any>>
|
|
|
72
72
|
if (animate && scrollToPx === this.toPx) {
|
|
73
73
|
base.current!.animatedScrollFinished();
|
|
74
74
|
}
|
|
75
|
-
this.handleOnScrollChanged(scrollToPx, backward);
|
|
76
75
|
this.adjustItemsOffsetsOnFrame(scrollToPx, backward);
|
|
76
|
+
this.handleOnScrollChanged(scrollToPx, backward);
|
|
77
77
|
this.scrollListScroller(scrollToPx);
|
|
78
78
|
if (this.isScrollWrapFocused()) {
|
|
79
79
|
// try to focus current item if available, otherwise keep focused Scroll wrap
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component, Reference } from '@24i/bigscreen-sdk/jsx';
|
|
2
2
|
import { IFocusable } from '@24i/bigscreen-sdk/focus';
|
|
3
|
+
import { UnifiedListController } from './UnifiedListController/UnifiedListController';
|
|
4
|
+
import { UnifiedVariedListController } from './UnifiedListController/UnifiedVariedListController';
|
|
3
5
|
import { SharedProps, SharedVariedProps, Item } from './types';
|
|
4
6
|
import { ListBase } from './Base';
|
|
5
7
|
|
|
@@ -7,6 +9,7 @@ export interface List<
|
|
|
7
9
|
T extends Item<U>, U, V extends SharedProps<T, U> = SharedProps<T, U>,
|
|
8
10
|
> extends IFocusable, Component<V> {
|
|
9
11
|
base: Reference<ListBase<T, U>>,
|
|
12
|
+
controller: UnifiedListController<U>,
|
|
10
13
|
appendData(data: U[]): void,
|
|
11
14
|
prependData(data: U[]): void,
|
|
12
15
|
scrollTo(index: number): void,
|
|
@@ -15,6 +18,8 @@ export interface List<
|
|
|
15
18
|
export interface VariedList<
|
|
16
19
|
T extends Item<U>, U, V extends SharedVariedProps<T, U> = SharedVariedProps<T, U>,
|
|
17
20
|
> extends IFocusable, Component<V> {
|
|
21
|
+
base: Reference<ListBase<T, U>>,
|
|
22
|
+
controller: UnifiedVariedListController<U>,
|
|
18
23
|
appendData(data: U[]): void,
|
|
19
24
|
prependData(data: U[]): void,
|
|
20
25
|
scrollTo(index: number): void,
|
|
@@ -20,6 +20,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
const https = __importStar(require("https"));
|
|
23
|
+
const querystring = __importStar(require("querystring"));
|
|
23
24
|
const path = __importStar(require("path"));
|
|
24
25
|
const fs = __importStar(require("fs"));
|
|
25
26
|
const replaceWebhookUrl = (newWebhookUrl, channelName) => {
|
|
@@ -38,8 +39,8 @@ const postRequestCallback = (receivedData) => {
|
|
|
38
39
|
console.log(`\nGenerated slack webhook: ${url}`);
|
|
39
40
|
replaceWebhookUrl(url, channel);
|
|
40
41
|
};
|
|
41
|
-
const { redirect_uri
|
|
42
|
-
const formData =
|
|
42
|
+
const { redirect_uri, client_id, client_secret, code } = process.env;
|
|
43
|
+
const formData = querystring.stringify({ redirect_uri, client_id, client_secret, code });
|
|
43
44
|
const requestOptions = {
|
|
44
45
|
hostname: 'slack.com',
|
|
45
46
|
path: '/api/oauth.v2.access',
|
|
@@ -10,7 +10,14 @@ const getPlatformsObject = (c) => {
|
|
|
10
10
|
const { platforms = {} } = getVersionsObject(c)[version] || {};
|
|
11
11
|
return platforms;
|
|
12
12
|
};
|
|
13
|
-
const getCommonAppName = (c) =>
|
|
13
|
+
const getCommonAppName = (c) => {
|
|
14
|
+
try {
|
|
15
|
+
return c.buildConfig.common.appName;
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
};
|
|
14
21
|
const makeFlavoursMarkdown = (platformName, entries) => entries
|
|
15
22
|
.map(([flavour, flavourData]) => {
|
|
16
23
|
const { indexUrl, packageUrl } = flavourData;
|
|
@@ -50,12 +50,12 @@ const checkout = (branchName) => (0, cmdUtils_1.cmdSyncPipeOut)(`git checkout ${
|
|
|
50
50
|
exports.checkout = checkout;
|
|
51
51
|
const createBranch = (branchName) => (0, cmdUtils_1.cmdSyncPipeOut)(`git branch ${branchName}`);
|
|
52
52
|
exports.createBranch = createBranch;
|
|
53
|
-
const commit = (commitMessage, noVerify
|
|
53
|
+
const commit = (commitMessage, noVerify) => {
|
|
54
54
|
const maybeNoVerifyParam = noVerify ? '--no-verify' : '';
|
|
55
55
|
return (0, cmdUtils_1.cmdSyncPipeOut)(`git commit -m "${commitMessage}" ${maybeNoVerifyParam}`.trimEnd());
|
|
56
56
|
};
|
|
57
57
|
exports.commit = commit;
|
|
58
|
-
const push = (branchName, noVerify
|
|
58
|
+
const push = (branchName, noVerify) => {
|
|
59
59
|
const maybeNoVerifyParam = noVerify ? '--no-verify' : '';
|
|
60
60
|
const cmd = `git push --set-upstream origin ${branchName} ${maybeNoVerifyParam}`.trimEnd();
|
|
61
61
|
return (0, cmdUtils_1.cmdSyncPipeOut)(cmd);
|
|
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.handleTizenSdk = exports.configureTizenProject = exports.buildTizenProject = void 0;
|
|
22
|
+
exports.runTizen = exports.handleTizenSdk = exports.configureTizenProject = exports.configureTizenGlobal = exports.buildTizenProject = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
24
|
const path = __importStar(require("path"));
|
|
25
25
|
const os = __importStar(require("os"));
|
|
@@ -29,62 +29,135 @@ const rnv_1 = require("rnv");
|
|
|
29
29
|
const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
30
30
|
const sdk_utils_1 = require("../sdk-utils");
|
|
31
31
|
const constants_1 = require("../../constants");
|
|
32
|
-
const {
|
|
32
|
+
const { execCLI } = rnv_1.Exec;
|
|
33
|
+
const { CLI_TIZEN, REMOTE_DEBUGGER_ENABLED_PLATFORMS } = rnv_1.Constants;
|
|
34
|
+
const { getPlatformProjectDir, getAppVersion, getConfigProp, checkPortInUse, confirmActiveBundler, addSystemInjects, } = rnv_1.Common;
|
|
35
|
+
const { chalk, logTask, logDebug, logError, logSuccess, logWarning, logInfo, } = rnv_1.Logger;
|
|
36
|
+
const { isPlatformActive } = rnv_1.PlatformManager;
|
|
37
|
+
const { writeCleanFile, fsExistsSync, updateObjectSync } = rnv_1.FileUtils;
|
|
38
|
+
const { copyAssetsFolder, copyBuildsFolder } = rnv_1.ProjectManager;
|
|
39
|
+
const { runTizenSimOrDevice, createDevelopTizenCertificate, DEFAULT_CERTIFICATE_NAME, DEFAULT_SECURITY_PROFILE_NAME, } = rnv_1.SDKManager.Tizen;
|
|
33
40
|
const DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = `${DEFAULT_CERTIFICATE_NAME}.p12`;
|
|
41
|
+
const configureTizenGlobal = (c) => new Promise((resolve, reject) => {
|
|
42
|
+
logTask('configureTizenGlobal');
|
|
43
|
+
const authorCert = path.join(c.paths.workspace.dir, DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION);
|
|
44
|
+
if (fsExistsSync(authorCert)) {
|
|
45
|
+
logDebug(`${DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION} file exists!`);
|
|
46
|
+
resolve();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
logWarning(`${DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION} file missing! Creating one for you...`);
|
|
50
|
+
createDevelopTizenCertificate(c)
|
|
51
|
+
.then(() => resolve())
|
|
52
|
+
.catch((e) => reject(e));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
exports.configureTizenGlobal = configureTizenGlobal;
|
|
56
|
+
const handleRunTizenSimOrDevice = async (c) => {
|
|
57
|
+
try {
|
|
58
|
+
await runTizenSimOrDevice(c);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
return Promise.reject(e);
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
};
|
|
65
|
+
const runTizen = async (c, target) => {
|
|
66
|
+
logTask('runTizen', `target:${target}`);
|
|
67
|
+
const { platform } = c;
|
|
68
|
+
const { hosted } = c.program;
|
|
69
|
+
const isHosted = hosted && !getConfigProp(c, platform, 'bundleAssets');
|
|
70
|
+
if (isHosted) {
|
|
71
|
+
const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
|
|
72
|
+
if (isPortActive) {
|
|
73
|
+
const resetCompleted = await confirmActiveBundler(c);
|
|
74
|
+
c.runtime.skipActiveServerCheck = !resetCompleted;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
logTask('runTizen', `target:${target} hosted:${!!isHosted}`);
|
|
78
|
+
if (isHosted)
|
|
79
|
+
return;
|
|
80
|
+
const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
|
|
81
|
+
if (bundleAssets) {
|
|
82
|
+
await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
|
|
83
|
+
await handleRunTizenSimOrDevice(c);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
|
|
87
|
+
const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
|
|
88
|
+
const isWeinreEnabled = isDebuggerEnabledForPlatform && !hosted;
|
|
89
|
+
if (!isPortActive) {
|
|
90
|
+
logInfo(`Your ${chalk().white(platform)} devServer at port ${chalk().white(c.runtime.port)} is not running. Starting it up for you...`);
|
|
91
|
+
(0, sdk_webpack_1.waitForWebpack)(c)
|
|
92
|
+
.then(() => handleRunTizenSimOrDevice(c))
|
|
93
|
+
.catch(logError);
|
|
94
|
+
await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const resetCompleted = await confirmActiveBundler(c);
|
|
98
|
+
if (resetCompleted) {
|
|
99
|
+
(0, sdk_webpack_1.waitForWebpack)(c)
|
|
100
|
+
.then(() => handleRunTizenSimOrDevice(c))
|
|
101
|
+
.catch(logError);
|
|
102
|
+
await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
await handleRunTizenSimOrDevice(c);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.runTizen = runTizen;
|
|
34
111
|
const buildTizenProject = async (c) => {
|
|
35
|
-
|
|
112
|
+
logTask('buildTizenProject');
|
|
36
113
|
await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
|
|
37
114
|
if (!c.program.hosted) {
|
|
38
|
-
const
|
|
115
|
+
const { buildConfig } = c;
|
|
116
|
+
const platformConfig = buildConfig.platforms[constants_1.Platforms.TIZEN];
|
|
117
|
+
const projectDir = getPlatformProjectDir(c);
|
|
39
118
|
const projectParentDir = path.join(projectDir, '..');
|
|
40
119
|
const tBuild = path.join(projectParentDir, 'build');
|
|
41
120
|
const tOut = path.join(projectParentDir, 'output');
|
|
42
|
-
const platformConfig = c.buildConfig.platforms[c.platform];
|
|
43
121
|
const certProfile = platformConfig.certificateProfile ?? DEFAULT_SECURITY_PROFILE_NAME;
|
|
44
|
-
await
|
|
45
|
-
await
|
|
46
|
-
|
|
122
|
+
await execCLI(c, CLI_TIZEN, `build-web -- ${projectDir} -out ${tBuild}`);
|
|
123
|
+
await execCLI(c, CLI_TIZEN, `package -- ${tBuild} -s ${certProfile} -t wgt -o ${tOut}`);
|
|
124
|
+
logSuccess(`Your WGT package is located in ${chalk().cyan(tOut)} .`);
|
|
47
125
|
}
|
|
48
126
|
return true;
|
|
49
127
|
};
|
|
50
128
|
exports.buildTizenProject = buildTizenProject;
|
|
51
|
-
|
|
52
|
-
|
|
129
|
+
let isGlobalConfigured = false;
|
|
130
|
+
const configureProject = (c) => new Promise((resolve) => {
|
|
131
|
+
logTask('configureProject');
|
|
132
|
+
const platform = constants_1.Platforms.TIZEN;
|
|
53
133
|
const configFile = 'config.xml';
|
|
54
|
-
const p = c.buildConfig.platforms[
|
|
55
|
-
const injects = [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
override: semver.coerce(rnv_1.Common.getAppVersion(c, c.platform)),
|
|
67
|
-
}];
|
|
68
|
-
rnv_1.Common.addSystemInjects(c, injects);
|
|
69
|
-
const file = path.join(rnv_1.Common.getPlatformProjectDir(c), configFile);
|
|
70
|
-
rnv_1.FileUtils.writeCleanFile(file, file, injects, null, c);
|
|
71
|
-
};
|
|
134
|
+
const p = c.buildConfig.platforms[platform];
|
|
135
|
+
const injects = [
|
|
136
|
+
{ pattern: '{{PACKAGE}}', override: p.package },
|
|
137
|
+
{ pattern: '{{ID}}', override: p.id },
|
|
138
|
+
{ pattern: '{{APP_NAME}}', override: p.appName },
|
|
139
|
+
{ pattern: '{{APP_VERSION}}', override: semver.coerce(getAppVersion(c, platform)) },
|
|
140
|
+
];
|
|
141
|
+
addSystemInjects(c, injects);
|
|
142
|
+
const file = path.join(getPlatformProjectDir(c), configFile);
|
|
143
|
+
writeCleanFile(file, file, injects, null, c);
|
|
144
|
+
resolve();
|
|
145
|
+
});
|
|
72
146
|
const configureTizenProject = async (c) => {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
rnv_1.Logger.logDebug(`${DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION} file exists.`);
|
|
147
|
+
logTask('configureTizenProject');
|
|
148
|
+
const { platform } = c;
|
|
149
|
+
c.runtime.platformBuildsProjectPath = `${getPlatformProjectDir(c)}`;
|
|
150
|
+
if (!isPlatformActive(c, platform)) {
|
|
151
|
+
return;
|
|
79
152
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
await
|
|
153
|
+
if (!isGlobalConfigured) {
|
|
154
|
+
isGlobalConfigured = true;
|
|
155
|
+
await configureTizenGlobal(c);
|
|
83
156
|
}
|
|
84
|
-
await
|
|
157
|
+
await copyAssetsFolder(c, platform);
|
|
85
158
|
await (0, sdk_webpack_1.configureCoreWebProject)(c);
|
|
86
|
-
configureProject(c);
|
|
87
|
-
|
|
159
|
+
await configureProject(c);
|
|
160
|
+
copyBuildsFolder(c, platform);
|
|
88
161
|
};
|
|
89
162
|
exports.configureTizenProject = configureTizenProject;
|
|
90
163
|
const handleLinuxKeyring = () => {
|
|
@@ -130,17 +203,16 @@ const setTizenCertificate = (c) => {
|
|
|
130
203
|
tizen: { certificateProfile: TIZEN_SECURITY_PROFILE_NAME },
|
|
131
204
|
},
|
|
132
205
|
};
|
|
133
|
-
|
|
206
|
+
updateObjectSync(rnvWorkspaceConfigPath, customObjectToMerge);
|
|
134
207
|
Object.assign(c.buildConfig, customObjectToMerge);
|
|
135
208
|
return true;
|
|
136
209
|
};
|
|
137
210
|
const getSdkInstallerUrl = () => {
|
|
138
|
-
const folderUrl = 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen';
|
|
139
211
|
switch (os.platform()) {
|
|
140
212
|
case 'darwin':
|
|
141
|
-
return
|
|
213
|
+
return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_mac.zip';
|
|
142
214
|
case 'linux':
|
|
143
|
-
return
|
|
215
|
+
return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_ubuntu.zip';
|
|
144
216
|
default:
|
|
145
217
|
return '';
|
|
146
218
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sdkInstaller = void 0;
|
|
4
4
|
const path_1 = require("path");
|
|
5
|
+
const url_1 = require("url");
|
|
5
6
|
const services_1 = require("./services");
|
|
6
7
|
const log = (message) => process.stdout.write(message);
|
|
7
8
|
const noLog = () => false;
|
|
@@ -10,10 +11,11 @@ const sdkInstaller = async (remoteZipPath, installToPath, enableLogs = false) =>
|
|
|
10
11
|
const pathsToDelete = [];
|
|
11
12
|
let usedInstallPath;
|
|
12
13
|
try {
|
|
13
|
-
|
|
14
|
+
const parsedZipPath = (0, path_1.parse)(remoteZipPath);
|
|
15
|
+
const parsedZipUrl = (0, url_1.parse)(remoteZipPath);
|
|
16
|
+
if (!parsedZipUrl.protocol) {
|
|
14
17
|
throw new Error('Installation from local packages is not supported yet.');
|
|
15
18
|
}
|
|
16
|
-
const parsedZipPath = (0, path_1.parse)(remoteZipPath);
|
|
17
19
|
logger('Downloading...');
|
|
18
20
|
const downloadedFilePath = `${process.cwd()}/${parsedZipPath.base}`;
|
|
19
21
|
pathsToDelete.push(downloadedFilePath);
|
package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js
CHANGED
|
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.download = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
24
|
const path = __importStar(require("path"));
|
|
25
|
+
const url = __importStar(require("url"));
|
|
25
26
|
const http = __importStar(require("http"));
|
|
26
27
|
const https = __importStar(require("https"));
|
|
27
28
|
const createDirPathIfDoesntExist = async (dirPath) => {
|
|
@@ -30,13 +31,10 @@ const createDirPathIfDoesntExist = async (dirPath) => {
|
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
const getNetworkProtocolAdapter = (requestedUrl) => {
|
|
33
|
-
const
|
|
34
|
-
if (!rest) {
|
|
35
|
-
throw new Error('unknown protocol');
|
|
36
|
-
}
|
|
34
|
+
const { protocol } = url.parse(requestedUrl);
|
|
37
35
|
switch (protocol) {
|
|
38
|
-
case 'http': return http;
|
|
39
|
-
case 'https': return https;
|
|
36
|
+
case 'http:': return http;
|
|
37
|
+
case 'https:': return https;
|
|
40
38
|
default: throw new Error(`${protocol} protocol is not supported`);
|
|
41
39
|
}
|
|
42
40
|
};
|
|
@@ -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 = {
|