@24i/bigscreen-sdk 1.0.16 → 1.0.17-alpha.2324

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.
Files changed (147) hide show
  1. package/package.json +4 -3
  2. package/packages/create-package/dist/createPackage.js +66 -0
  3. package/packages/create-package/dist/createPackage.js.map +1 -0
  4. package/packages/create-package/dist/index.js +5 -0
  5. package/packages/create-package/dist/index.js.map +1 -0
  6. package/packages/create-package/dist/questionnaire/questions.js +35 -0
  7. package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
  8. package/packages/create-package/dist/settings/Settings.js +10 -0
  9. package/packages/create-package/dist/settings/Settings.js.map +1 -0
  10. package/packages/create-package/dist/types.js +3 -0
  11. package/packages/create-package/dist/types.js.map +1 -0
  12. package/packages/input/README.md +1 -1
  13. package/packages/input/src/Input.tsx +3 -5
  14. package/packages/interactable/src/Interactable.tsx +3 -22
  15. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  16. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  17. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  18. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  19. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  20. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  21. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  22. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  23. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  24. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  25. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  26. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  27. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  28. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  29. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  30. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  31. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  32. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  33. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  34. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  35. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  36. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  37. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  38. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  39. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  40. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  41. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  42. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  43. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  44. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  45. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  46. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  47. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  48. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +66 -0
  49. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +92 -0
  50. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  51. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  52. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  53. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  54. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  55. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  56. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  57. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  58. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  59. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  60. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  61. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  62. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  63. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +240 -0
  64. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  65. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  66. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  67. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +39 -0
  68. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  69. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +74 -0
  70. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  71. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  72. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  73. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  74. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +135 -0
  75. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  76. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +32 -0
  77. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  78. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +222 -0
  79. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  80. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  81. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  82. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +22 -0
  83. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +99 -0
  84. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +45 -0
  85. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +31 -0
  86. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  87. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +71 -0
  88. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +19 -0
  89. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  90. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +72 -0
  91. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  92. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  93. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  94. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  95. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  96. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  97. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +61 -0
  98. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  99. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  100. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  101. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  102. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +110 -0
  103. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  104. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  105. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +239 -0
  106. package/packages/rnv-build-engine/dist/templates/platforms/entone/webpack.config.dev.js +63 -0
  107. package/packages/rnv-build-engine/dist/templates/platforms/entone/webpack.config.prod.js +58 -0
  108. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpack.config.dev.js +80 -0
  109. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpack.config.prod.js +75 -0
  110. package/packages/rnv-build-engine/dist/templates/platforms/kreatv/webpack.config.dev.js +63 -0
  111. package/packages/rnv-build-engine/dist/templates/platforms/kreatv/webpack.config.prod.js +58 -0
  112. package/packages/rnv-build-engine/dist/templates/platforms/saphi/webpack.config.dev.js +63 -0
  113. package/packages/rnv-build-engine/dist/templates/platforms/saphi/webpack.config.prod.js +58 -0
  114. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  115. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  116. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  117. package/packages/rnv-build-engine/dist/templates/platforms/tizen/webpack.config.dev.js +64 -0
  118. package/packages/rnv-build-engine/dist/templates/platforms/tizen/webpack.config.prod.js +58 -0
  119. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  120. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  121. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpack.config.dev.js +65 -0
  122. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpack.config.prod.js +58 -0
  123. package/packages/rnv-build-engine/dist/templates/platforms/webtv/webpack.config.dev.js +63 -0
  124. package/packages/rnv-build-engine/dist/templates/platforms/webtv/webpack.config.prod.js +58 -0
  125. package/packages/rnv-build-engine/dist/templates/platforms/xbox/webpack.config.dev.js +64 -0
  126. package/packages/rnv-build-engine/dist/templates/platforms/xbox/webpack.config.prod.js +58 -0
  127. package/packages/sdk-installer/dist/index.js +5 -0
  128. package/packages/sdk-installer/dist/sdkInstaller.js +38 -0
  129. package/packages/sdk-installer/dist/services/clean.js +11 -0
  130. package/packages/sdk-installer/dist/services/download.js +55 -0
  131. package/packages/sdk-installer/dist/services/index.js +11 -0
  132. package/packages/sdk-installer/dist/services/install.js +24 -0
  133. package/packages/sdk-installer/dist/services/unzip.js +12 -0
  134. package/packages/sdk-installer/dist/types/index.d.ts +1 -0
  135. package/packages/sdk-installer/dist/types/sdkInstaller.d.ts +7 -0
  136. package/packages/sdk-installer/dist/types/services/clean.d.ts +2 -0
  137. package/packages/sdk-installer/dist/types/services/download.d.ts +2 -0
  138. package/packages/sdk-installer/dist/types/services/index.d.ts +4 -0
  139. package/packages/sdk-installer/dist/types/services/install.d.ts +2 -0
  140. package/packages/sdk-installer/dist/types/services/unzip.d.ts +2 -0
  141. package/packages/types-bigscreen-jsx/README.md +5 -4
  142. package/packages/types-bigscreen-jsx/index.d.ts +4 -4
  143. package/packages/utils/README.md +10 -0
  144. package/packages/utils/src/index.ts +5 -0
  145. package/packages/utils/src/keyPress/index.ts +2 -0
  146. package/packages/utils/src/keyPress/keyPressSimulator.ts +44 -0
  147. package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -0
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const child_process_1 = require("child_process");
4
+ const forEachSupportedPlatformFlavour_1 = require("../utils/forEachSupportedPlatformFlavour");
5
+ const resolvers_1 = require("../resolvers");
6
+ const zipBuildsByPlatforms_1 = require("../utils/zipBuildsByPlatforms");
7
+ const deleteSourceMaps_1 = require("./release/deleteSourceMaps");
8
+ const deployToAppCenter_1 = require("./release/deployToAppCenter");
9
+ const githubRelease_1 = require("./release/githubRelease");
10
+ const notifySlack_1 = require("./release/notifySlack/notifySlack");
11
+ const sentryRelease_1 = require("./release/sentryRelease");
12
+ const constants_1 = require("../constants");
13
+ const deployTask = (options) => {
14
+ const { scheme, platform, flavour } = options;
15
+ const cmd = `npx rnv deploy -s ${scheme} -p ${platform} -c ${flavour} --ci --only`;
16
+ (0, child_process_1.execSync)(cmd, { stdio: 'inherit' });
17
+ };
18
+ const deployBuilds = (c) => {
19
+ console.log('Deploying the builds...');
20
+ (0, forEachSupportedPlatformFlavour_1.forEachSupportedPlatformFlavour)(c, deployTask);
21
+ return true;
22
+ };
23
+ const doLatestDevelopmentRelease = (c) => {
24
+ console.log('doLatestDevelopmentRelease');
25
+ return deployBuilds(c);
26
+ };
27
+ const doLatestReleaseCandidateRelease = (c) => {
28
+ console.log('doLatestReleaseCandidateRelease');
29
+ deployBuilds(c);
30
+ (0, notifySlack_1.notifySlack)(c);
31
+ return true;
32
+ };
33
+ const doLatestRelease = (c) => {
34
+ console.log('doLatestRelease');
35
+ return deployBuilds(c);
36
+ };
37
+ const doDistributionRelease = (c) => {
38
+ console.log('doDistributionRelease');
39
+ (0, zipBuildsByPlatforms_1.zipBuildsByPlatforms)(c);
40
+ deployBuilds(c);
41
+ (0, sentryRelease_1.sentryRelease)(c);
42
+ (0, deleteSourceMaps_1.deleteSourceMaps)(c);
43
+ (0, githubRelease_1.githubRelease)(c);
44
+ (0, deployToAppCenter_1.deployToAppCenter)(c);
45
+ (0, notifySlack_1.notifySlack)(c);
46
+ return true;
47
+ };
48
+ const releaseAllWithScheme = () => {
49
+ const scheme = process.argv[2];
50
+ if (!scheme) {
51
+ throw new Error('No scheme name to use found! Please use rnv scheme name as a param.');
52
+ }
53
+ const c = (0, resolvers_1.getBaseConfig)();
54
+ c.runtime.scheme = scheme;
55
+ switch (scheme) {
56
+ case constants_1.BuildSchemes.DEV_LATEST:
57
+ doLatestDevelopmentRelease(c);
58
+ break;
59
+ case constants_1.BuildSchemes.RC_LATEST:
60
+ doLatestReleaseCandidateRelease(c);
61
+ break;
62
+ case constants_1.BuildSchemes.RELEASE_LATEST:
63
+ doLatestRelease(c);
64
+ break;
65
+ case constants_1.BuildSchemes.RELEASE_DIST:
66
+ doDistributionRelease(c);
67
+ break;
68
+ default:
69
+ throw new Error('Unsupported scheme to release!');
70
+ }
71
+ const spacing = 4;
72
+ console.log(JSON.stringify((0, resolvers_1.resolveDeployLocations)(c), null, spacing));
73
+ return true;
74
+ };
75
+ const startTimestamp = Date.now();
76
+ releaseAllWithScheme();
77
+ const msPerSecond = 1000;
78
+ const scriptTotalTimeInSeconds = Math.ceil((Date.now() - startTimestamp) / msPerSecond);
79
+ console.log(`buildAllWithScheme: done in ${scriptTotalTimeInSeconds} second(s)!`);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdSyncTrimOut = exports.cmdSyncPipeOut = exports.cmdSyncInheritOut = exports.cmdSync = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const cmdSync = (command, options) => (0, child_process_1.execSync)(command, options);
6
+ exports.cmdSync = cmdSync;
7
+ const cmdSyncInheritOut = (command) => cmdSync(command, { stdio: 'inherit' });
8
+ exports.cmdSyncInheritOut = cmdSyncInheritOut;
9
+ const cmdSyncPipeOut = (command) => cmdSync(command, { stdio: 'pipe' });
10
+ exports.cmdSyncPipeOut = cmdSyncPipeOut;
11
+ const cmdSyncTrimOut = (command) => cmdSync(command).toString().trim();
12
+ exports.cmdSyncTrimOut = cmdSyncTrimOut;
@@ -0,0 +1,33 @@
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
+ exports.isDir = exports.assertPath = exports.getFileContentAsString = void 0;
23
+ const fs = __importStar(require("fs"));
24
+ const assert_1 = require("assert");
25
+ const getFileContentAsString = (filePath) => fs.readFileSync(filePath).toString();
26
+ exports.getFileContentAsString = getFileContentAsString;
27
+ const assertPath = (path) => {
28
+ const errorMsg = `File or path ${path} does not exist!`;
29
+ (0, assert_1.ok)(fs.existsSync(path), errorMsg);
30
+ };
31
+ exports.assertPath = assertPath;
32
+ const isDir = (verifiedPath) => (fs.existsSync(verifiedPath) && fs.lstatSync(verifiedPath).isDirectory());
33
+ exports.isDir = isDir;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateIcons = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const generatePngSpriteMap_1 = require("../../utils/generatePngSpriteMap");
10
+ const generateSvgSpriteMap_1 = require("../../utils/generateSvgSpriteMap");
11
+ const mergeSvgAndPngIcons_1 = require("../../utils/mergeSvgAndPngIcons");
12
+ const resolvers_1 = require("../../resolvers");
13
+ const createPlatformAssetsFolders = (c) => {
14
+ const rnvBuildDirPath = `${c.paths.project.builds.dir}/${c.runtime.appId}_${c.platform}`;
15
+ const platformAssetsPath = path_1.default.resolve(rnvBuildDirPath, '../../platformAssets');
16
+ const runtimePath = path_1.default.resolve(rnvBuildDirPath, '../../platformAssets/runtime');
17
+ fs_1.default.mkdirSync(platformAssetsPath, { recursive: true });
18
+ fs_1.default.mkdirSync(runtimePath, { recursive: true });
19
+ };
20
+ const generateIcons = async (c) => {
21
+ console.log('generateIcons - started');
22
+ const cc = c || (0, resolvers_1.getBaseConfig)();
23
+ createPlatformAssetsFolders(cc);
24
+ await (0, generatePngSpriteMap_1.generatePngSpriteMap)(cc);
25
+ (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(cc);
26
+ (0, mergeSvgAndPngIcons_1.mergeSvgAndPngIcons)(cc);
27
+ console.log('generateIcons - finished');
28
+ };
29
+ exports.generateIcons = generateIcons;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertRemoteBranch = exports.assertCurrentBranch = exports.assertEmptyStatusList = exports.push = exports.commit = exports.createBranch = exports.checkout = exports.add = exports.addAll = exports.pull = exports.remoteBranchExists = exports.pullRequest = exports.getCurrentBranchName = exports.statusList = void 0;
4
+ const assert_1 = require("assert");
5
+ const cmdUtils_1 = require("./cmdUtils");
6
+ const stringUtils_1 = require("./stringUtils");
7
+ const statusList = () => {
8
+ const gitCmd = 'git status --porcelain';
9
+ const outputString = (0, cmdUtils_1.cmdSyncTrimOut)(gitCmd);
10
+ if (!outputString)
11
+ return [];
12
+ const handleMultipleWhitespaces = (rowString) => {
13
+ const spaceChar = ' ';
14
+ const parts = rowString.split(spaceChar);
15
+ return parts.filter(Boolean).join(spaceChar);
16
+ };
17
+ return (0, stringUtils_1.splitByNewLine)(outputString).map(handleMultipleWhitespaces);
18
+ };
19
+ exports.statusList = statusList;
20
+ const getCurrentBranchName = () => (0, cmdUtils_1.cmdSyncTrimOut)('git branch --show-current');
21
+ exports.getCurrentBranchName = getCurrentBranchName;
22
+ const pullRequest = (fromBranch, toBranch, prTitle) => {
23
+ const cmdTool = 'hub';
24
+ const installDocUrl = 'https://github.com/github/hub#installation';
25
+ const errorMsg = `${cmdTool} is not installed! See ${installDocUrl}\n`;
26
+ try {
27
+ const toolPath = (0, cmdUtils_1.cmdSyncTrimOut)(`${cmdTool} --version`);
28
+ (0, assert_1.ok)(toolPath, errorMsg);
29
+ }
30
+ catch (error) {
31
+ throw new Error(errorMsg);
32
+ }
33
+ const cmd = `${cmdTool} pull-request -m "${prTitle}" --head ${fromBranch} --base ${toBranch}`;
34
+ (0, cmdUtils_1.cmdSyncInheritOut)(cmd);
35
+ };
36
+ exports.pullRequest = pullRequest;
37
+ const remoteBranchExists = (expectedBranchName) => {
38
+ const gitCmd = `git ls-remote --heads origin ${expectedBranchName}`;
39
+ const output = (0, cmdUtils_1.cmdSyncTrimOut)(gitCmd);
40
+ return Boolean(output);
41
+ };
42
+ exports.remoteBranchExists = remoteBranchExists;
43
+ const pull = () => (0, cmdUtils_1.cmdSyncPipeOut)('git remote update -p && git merge --ff-only @{u}');
44
+ exports.pull = pull;
45
+ const addAll = () => (0, cmdUtils_1.cmdSyncPipeOut)('git add --all');
46
+ exports.addAll = addAll;
47
+ const add = (fileList) => (0, cmdUtils_1.cmdSyncPipeOut)(`git add ${fileList.join(' ')}`);
48
+ exports.add = add;
49
+ const checkout = (branchName) => (0, cmdUtils_1.cmdSyncPipeOut)(`git checkout ${branchName}`);
50
+ exports.checkout = checkout;
51
+ const createBranch = (branchName) => (0, cmdUtils_1.cmdSyncPipeOut)(`git branch ${branchName}`);
52
+ exports.createBranch = createBranch;
53
+ const commit = (commitMessage, noVerify) => {
54
+ const maybeNoVerifyParam = noVerify ? '--no-verify' : '';
55
+ return (0, cmdUtils_1.cmdSyncPipeOut)(`git commit -m "${commitMessage}" ${maybeNoVerifyParam}`.trimEnd());
56
+ };
57
+ exports.commit = commit;
58
+ const push = (branchName, noVerify) => {
59
+ const maybeNoVerifyParam = noVerify ? '--no-verify' : '';
60
+ const cmd = `git push --set-upstream origin ${branchName} ${maybeNoVerifyParam}`.trimEnd();
61
+ return (0, cmdUtils_1.cmdSyncPipeOut)(cmd);
62
+ };
63
+ exports.push = push;
64
+ const assertEmptyStatusList = () => {
65
+ (0, assert_1.ok)(statusList().length === 0, 'An empty GIT stage is expected!');
66
+ };
67
+ exports.assertEmptyStatusList = assertEmptyStatusList;
68
+ const assertCurrentBranch = (expectedBranchName) => {
69
+ const currentGitBranchName = getCurrentBranchName();
70
+ const errorMsg = `The ${expectedBranchName} branch is expected to be active, not "${currentGitBranchName}"`;
71
+ (0, assert_1.ok)(currentGitBranchName === expectedBranchName, errorMsg);
72
+ };
73
+ exports.assertCurrentBranch = assertCurrentBranch;
74
+ const assertRemoteBranch = (expectedBranchName) => {
75
+ const errorMsg = `Remote branch ${expectedBranchName} does not exist!`;
76
+ (0, assert_1.ok)(remoteBranchExists(expectedBranchName), errorMsg);
77
+ };
78
+ exports.assertRemoteBranch = assertRemoteBranch;
@@ -0,0 +1,27 @@
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
+ exports.generateIcons = exports.stringUtils = exports.gitUtils = exports.fsUtils = exports.cmdUtils = void 0;
23
+ exports.cmdUtils = __importStar(require("./cmdUtils"));
24
+ exports.fsUtils = __importStar(require("./fsUtils"));
25
+ exports.gitUtils = __importStar(require("./gitUtils"));
26
+ exports.stringUtils = __importStar(require("./stringUtils"));
27
+ exports.generateIcons = __importStar(require("./generateIcons"));
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitByNewLine = void 0;
4
+ const splitByNewLine = (string = '') => string.split(/\r?\n/);
5
+ exports.splitByNewLine = splitByNewLine;
@@ -0,0 +1,42 @@
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
+ exports.handlePlatformSdk = exports.SDKXbox = exports.SDKWebpack = exports.SDKTizen = exports.SDKWebos = void 0;
23
+ const constants_1 = require("../constants");
24
+ const SDKWebos = __importStar(require("./sdk-webos"));
25
+ exports.SDKWebos = SDKWebos;
26
+ const SDKTizen = __importStar(require("./sdk-tizen"));
27
+ exports.SDKTizen = SDKTizen;
28
+ const SDKWebpack = __importStar(require("./sdk-webpack"));
29
+ exports.SDKWebpack = SDKWebpack;
30
+ const SDKXbox = __importStar(require("./sdk-xbox"));
31
+ exports.SDKXbox = SDKXbox;
32
+ const handlePlatformSdk = async (c) => {
33
+ switch (c.platform) {
34
+ case constants_1.Platforms.TIZEN:
35
+ return SDKTizen.handleTizenSdk(c);
36
+ case constants_1.Platforms.WEBOS:
37
+ return SDKWebos.handleWebosSdk(c);
38
+ default:
39
+ return true;
40
+ }
41
+ };
42
+ exports.handlePlatformSdk = handlePlatformSdk;
@@ -0,0 +1,13 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./sdkTizen"), exports);
@@ -0,0 +1,240 @@
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
+ exports.runTizen = exports.handleTizenSdk = exports.configureTizenProject = exports.configureTizenGlobal = exports.buildTizenProject = void 0;
23
+ const fs = __importStar(require("fs"));
24
+ const path = __importStar(require("path"));
25
+ const os = __importStar(require("os"));
26
+ const semver = __importStar(require("semver"));
27
+ const child_process_1 = require("child_process");
28
+ const rnv_1 = require("rnv");
29
+ const sdk_webpack_1 = require("@rnv/sdk-webpack");
30
+ const sdk_utils_1 = require("../sdk-utils");
31
+ const constants_1 = require("../../constants");
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;
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;
111
+ const buildTizenProject = async (c) => {
112
+ logTask('buildTizenProject');
113
+ await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
114
+ if (!c.program.hosted) {
115
+ const { buildConfig } = c;
116
+ const platformConfig = buildConfig.platforms[constants_1.Platforms.TIZEN];
117
+ const projectDir = getPlatformProjectDir(c);
118
+ const projectParentDir = path.join(projectDir, '..');
119
+ const tBuild = path.join(projectParentDir, 'build');
120
+ const tOut = path.join(projectParentDir, 'output');
121
+ const certProfile = platformConfig.certificateProfile ?? DEFAULT_SECURITY_PROFILE_NAME;
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)} .`);
125
+ }
126
+ return true;
127
+ };
128
+ exports.buildTizenProject = buildTizenProject;
129
+ let isGlobalConfigured = false;
130
+ const configureProject = (c) => new Promise((resolve) => {
131
+ logTask('configureProject');
132
+ const platform = constants_1.Platforms.TIZEN;
133
+ const configFile = 'config.xml';
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
+ });
146
+ const configureTizenProject = async (c) => {
147
+ logTask('configureTizenProject');
148
+ const { platform } = c;
149
+ c.runtime.platformBuildsProjectPath = `${getPlatformProjectDir(c)}`;
150
+ if (!isPlatformActive(c, platform)) {
151
+ return;
152
+ }
153
+ if (!isGlobalConfigured) {
154
+ isGlobalConfigured = true;
155
+ await configureTizenGlobal(c);
156
+ }
157
+ await copyAssetsFolder(c, platform);
158
+ await (0, sdk_webpack_1.configureCoreWebProject)(c);
159
+ await configureProject(c);
160
+ copyBuildsFolder(c, platform);
161
+ };
162
+ exports.configureTizenProject = configureTizenProject;
163
+ const handleLinuxKeyring = () => {
164
+ if (process.env.CI && os.platform() === 'linux') {
165
+ const options = { stdio: 'inherit' };
166
+ (0, child_process_1.execSync)('eval $(dbus-launch --sh-syntax)', options);
167
+ (0, child_process_1.execSync)('mkdir -p ~/.cache', options);
168
+ (0, child_process_1.execSync)('mkdir -p ~/.local/share/keyrings', options);
169
+ (0, child_process_1.execSync)('eval "$(printf \'\\n\' | gnome-keyring-daemon --unlock)"', options);
170
+ (0, child_process_1.execSync)('eval "$(printf \'\\n\' | /usr/bin/gnome-keyring-daemon --start)"', options);
171
+ }
172
+ };
173
+ const setTizenCertificate = (c) => {
174
+ const { TIZEN_SECURITY_PROFILE_NAME = '24i-SmartApps-BigScreen', TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH = 'certificates/24i_smartapps_bigscreen_author.p12', TIZEN_AUTHOR_CERTIFICATE_PASSWORD, } = process.env;
175
+ const tizenCliPath = c.cli.tizen;
176
+ if (!fs.existsSync(TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH)) {
177
+ console.log(`'process.env.TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH' points to not existing location: ${TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH}`);
178
+ return false;
179
+ }
180
+ if (!TIZEN_AUTHOR_CERTIFICATE_PASSWORD) {
181
+ console.log('\'process.env.TIZEN_AUTHOR_CERTIFICATE_PASSWORD\' password is not set');
182
+ return false;
183
+ }
184
+ if (!tizenCliPath) {
185
+ console.log('\'c.cli.tizen\' is not set');
186
+ return false;
187
+ }
188
+ const spawnSyncReturn = (0, child_process_1.spawnSync)(tizenCliPath, [
189
+ 'security-profiles', 'add',
190
+ '-n', TIZEN_SECURITY_PROFILE_NAME,
191
+ '-a', TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH,
192
+ '-p', TIZEN_AUTHOR_CERTIFICATE_PASSWORD,
193
+ ]);
194
+ if (spawnSyncReturn.error)
195
+ throw spawnSyncReturn.error;
196
+ if (spawnSyncReturn.stdout.toString().includes('Invalid file or password')) {
197
+ throw new Error(spawnSyncReturn.stdout.toString());
198
+ }
199
+ process.stdout.write(spawnSyncReturn.stdout || '');
200
+ const rnvWorkspaceConfigPath = c.paths.workspace.config;
201
+ const customObjectToMerge = {
202
+ platforms: {
203
+ tizen: { certificateProfile: TIZEN_SECURITY_PROFILE_NAME },
204
+ },
205
+ };
206
+ updateObjectSync(rnvWorkspaceConfigPath, customObjectToMerge);
207
+ Object.assign(c.buildConfig, customObjectToMerge);
208
+ return true;
209
+ };
210
+ const getSdkInstallerUrl = () => {
211
+ switch (os.platform()) {
212
+ case 'darwin':
213
+ return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_mac.zip';
214
+ case 'linux':
215
+ return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_ubuntu.zip';
216
+ default:
217
+ return '';
218
+ }
219
+ };
220
+ const handleTizenSdk = async (c) => {
221
+ const { TIZEN_SDK_INSTALLER_URL = getSdkInstallerUrl() } = process.env;
222
+ const { TIZEN_SDK } = c.buildConfig.sdks || {};
223
+ const installPath = `${os.homedir()}/tizen-studio`;
224
+ const rnvSdkKey = 'TIZEN_SDK';
225
+ if (!TIZEN_SDK) {
226
+ handleLinuxKeyring();
227
+ if (fs.existsSync(installPath)) {
228
+ await (0, sdk_utils_1.registerSdkPath)(c, rnvSdkKey, installPath);
229
+ }
230
+ else {
231
+ const installedToPath = await (0, sdk_utils_1.sdkInstaller)(TIZEN_SDK_INSTALLER_URL, installPath, true);
232
+ if (installedToPath) {
233
+ await (0, sdk_utils_1.registerSdkPath)(c, rnvSdkKey, installedToPath);
234
+ }
235
+ }
236
+ }
237
+ await rnv_1.SDKManager.Installer.checkAndConfigureTizenSdks(c);
238
+ setTizenCertificate(c);
239
+ };
240
+ exports.handleTizenSdk = handleTizenSdk;
@@ -0,0 +1,14 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./sdk-installer"), exports);
14
+ __exportStar(require("./registerSdkPath"), exports);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerSdkPath = void 0;
4
+ const rnv_1 = require("rnv");
5
+ const registerSdkPath = async (c, sdkKey, sdkValue) => {
6
+ const rnvWorkspaceConfigPath = c.paths.workspace.config;
7
+ const sdkEntry = { [sdkKey]: sdkValue };
8
+ rnv_1.FileUtils.updateObjectSync(rnvWorkspaceConfigPath, { sdks: sdkEntry });
9
+ if (!c.buildConfig.sdks) {
10
+ c.buildConfig.sdks = {};
11
+ }
12
+ Object.assign(c.buildConfig.sdks, sdkEntry);
13
+ };
14
+ exports.registerSdkPath = registerSdkPath;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sdkInstaller = void 0;
4
+ var sdkInstaller_1 = require("./sdkInstaller");
5
+ Object.defineProperty(exports, "sdkInstaller", { enumerable: true, get: function () { return sdkInstaller_1.sdkInstaller; } });
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sdkInstaller = void 0;
4
+ const path_1 = require("path");
5
+ const url_1 = require("url");
6
+ const services_1 = require("./services");
7
+ const log = (message) => process.stdout.write(message);
8
+ const noLog = () => false;
9
+ const sdkInstaller = async (remoteZipPath, installToPath, enableLogs = false) => {
10
+ const logger = enableLogs ? log : noLog;
11
+ const pathsToDelete = [];
12
+ let usedInstallPath;
13
+ try {
14
+ const parsedZipPath = (0, path_1.parse)(remoteZipPath);
15
+ const parsedZipUrl = (0, url_1.parse)(remoteZipPath);
16
+ if (!parsedZipUrl.protocol) {
17
+ throw new Error('Installation from local packages is not supported yet.');
18
+ }
19
+ logger('Downloading...');
20
+ const downloadedFilePath = `${process.cwd()}/${parsedZipPath.base}`;
21
+ pathsToDelete.push(downloadedFilePath);
22
+ await (0, services_1.download)(remoteZipPath, downloadedFilePath);
23
+ logger('\rUnpacking...');
24
+ const unzippedDirPath = `${process.cwd()}/${parsedZipPath.name}`;
25
+ pathsToDelete.push(unzippedDirPath);
26
+ (0, services_1.unzip)(downloadedFilePath);
27
+ logger('\rInstalling...');
28
+ usedInstallPath = (0, services_1.install)(unzippedDirPath, installToPath);
29
+ }
30
+ catch (e) {
31
+ (0, services_1.clean)(pathsToDelete);
32
+ throw e;
33
+ }
34
+ logger('\rCleaning...');
35
+ (0, services_1.clean)(pathsToDelete);
36
+ logger(`\rInstalled to ${usedInstallPath}\n`);
37
+ return usedInstallPath;
38
+ };
39
+ exports.sdkInstaller = sdkInstaller;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clean = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const deleteFileOrDirectory = (path) => {
6
+ (0, child_process_1.spawnSync)('rm', ['-r', path]);
7
+ };
8
+ const clean = (pathsToBeDeleted) => {
9
+ pathsToBeDeleted.forEach(deleteFileOrDirectory);
10
+ };
11
+ exports.clean = clean;