UNPKG

@rnv/sdk-tizen

Version:
240 lines 12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configureTizenProject = exports.buildTizenProject = exports.runTizen = exports.configureTizenGlobal = exports.checkTizenStudioCert = void 0; var tslib_1 = require("tslib"); var sdk_webpack_1 = require("@rnv/sdk-webpack"); var path_1 = tslib_1.__importDefault(require("path")); var core_1 = require("@rnv/core"); var semver_1 = tslib_1.__importDefault(require("semver")); var constants_1 = require("./constants"); var deviceManager_1 = require("./deviceManager"); var sdk_utils_1 = require("@rnv/sdk-utils"); var DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = "".concat(deviceManager_1.DEFAULT_CERTIFICATE_NAME, ".p12"); var checkTizenStudioCert = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var e_1; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "security-profiles list -n ".concat((0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile))]; case 1: _a.sent(); return [2 /*return*/, true]; case 2: e_1 = _a.sent(); return [2 /*return*/, false]; case 3: return [2 /*return*/]; } }); }); }; exports.checkTizenStudioCert = checkTizenStudioCert; var configureTizenGlobal = function () { return new Promise(function (resolve, reject) { var c = (0, core_1.getContext)(); (0, core_1.logDefault)('configureTizenGlobal'); // Check Tizen Cert // if (isPlatformActive(c, TIZEN) || isPlatformActive(c, TIZEN_WATCH)) { var tizenAuthorCert = path_1.default.join(c.paths.workspace.dir, DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION); if ((0, core_1.fsExistsSync)(tizenAuthorCert)) { (0, exports.checkTizenStudioCert)() .then(function (certificateExists) { if (certificateExists) { (0, core_1.logDebug)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file exists in Tizen Studio!")); resolve(); } else { (0, core_1.logWarning)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file missing in Tizen Studio! Adding an existing...")); var certDirPath = c.paths.workspace.dir; var certFilename = deviceManager_1.DEFAULT_CERTIFICATE_NAME; var certPassword = '1234'; (0, deviceManager_1.addDevelopTizenCertificate)(c, { profileName: (0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile, certPath: path_1.default.join(certDirPath, "".concat(certFilename, ".p12")), certPassword: certPassword, }) .then(function () { return resolve(); }) .catch(function (e) { reject(e); }); } }) .catch(function (e) { return reject(e); }); } else { (0, core_1.logWarning)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file missing! Creating one for you...")); (0, deviceManager_1.createDevelopTizenCertificate)(c) .then(function () { return resolve(); }) .catch(function (e) { reject(e); }); } // } }); }; exports.configureTizenGlobal = configureTizenGlobal; var _copyRequiredFiles = function () { var tDir = (0, core_1.getPlatformProjectDir)(); var tBuild = path_1.default.join(tDir, 'build'); var requiredFiles = ['.project', '.tproject', 'config.xml', 'icon.png']; requiredFiles.map(function (requiredFile) { var requiredFilePath = path_1.default.join(tDir, requiredFile); (0, core_1.copyFileSync)(requiredFilePath, path_1.default.join(tBuild, requiredFile)); }); }; var runTizen = function (c, target) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var platform, hosted, bundleAssets, isHosted, isPortActive, resetCompleted, isPortActive, isWeinreEnabled, resetCompleted; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: (0, core_1.logDefault)('runTizen', "target:".concat(target)); platform = c.platform; hosted = c.program.opts().hosted; if (!platform) return [2 /*return*/]; bundleAssets = (0, core_1.getConfigProp)('bundleAssets') === true; isHosted = hosted && !bundleAssets; if (!isHosted) return [3 /*break*/, 4]; return [4 /*yield*/, (0, sdk_utils_1.checkPortInUse)(c.runtime.port)]; case 1: isPortActive = _a.sent(); if (!isPortActive) return [3 /*break*/, 3]; return [4 /*yield*/, (0, sdk_utils_1.confirmActiveBundler)()]; case 2: resetCompleted = _a.sent(); c.runtime.skipActiveServerCheck = !resetCompleted; _a.label = 3; case 3: (0, core_1.logDefault)('runTizen', "target:".concat(target, " hosted:").concat(!!isHosted)); return [2 /*return*/]; case 4: if (!bundleAssets) return [3 /*break*/, 7]; return [4 /*yield*/, (0, sdk_webpack_1.buildCoreWebpackProject)()]; case 5: _a.sent(); _copyRequiredFiles(); return [4 /*yield*/, (0, deviceManager_1.runTizenSimOrDevice)()]; case 6: _a.sent(); return [3 /*break*/, 15]; case 7: return [4 /*yield*/, (0, sdk_utils_1.checkPortInUse)(c.runtime.port)]; case 8: isPortActive = _a.sent(); isWeinreEnabled = sdk_utils_1.REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform) && !bundleAssets && !hosted; if (!!isPortActive) return [3 /*break*/, 10]; (0, core_1.logInfo)("Your ".concat((0, core_1.chalk)().bold.white(platform), " devServer at port ").concat((0, core_1.chalk)().bold.white(c.runtime.port), " is not running. Starting it up for you...")); (0, sdk_utils_1.waitForHost)('') .then(function () { return (0, deviceManager_1.runTizenSimOrDevice)(); }) .catch(core_1.logError); return [4 /*yield*/, (0, sdk_webpack_1.runWebpackServer)(isWeinreEnabled)]; case 9: _a.sent(); return [3 /*break*/, 15]; case 10: return [4 /*yield*/, (0, sdk_utils_1.confirmActiveBundler)()]; case 11: resetCompleted = _a.sent(); if (!resetCompleted) return [3 /*break*/, 13]; (0, sdk_utils_1.waitForHost)('') .then(function () { return (0, deviceManager_1.runTizenSimOrDevice)(); }) .catch(core_1.logError); return [4 /*yield*/, (0, sdk_webpack_1.runWebpackServer)(isWeinreEnabled)]; case 12: _a.sent(); return [3 /*break*/, 15]; case 13: return [4 /*yield*/, (0, deviceManager_1.runTizenSimOrDevice)()]; case 14: _a.sent(); _a.label = 15; case 15: return [2 /*return*/]; } }); }); }; exports.runTizen = runTizen; var buildTizenProject = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c, platform, certProfile, tDir, tOut, tIntermediate, tBuild; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: c = (0, core_1.getContext)(); (0, core_1.logDefault)('buildTizenProject'); platform = c.platform; if (!platform) return [2 /*return*/]; certProfile = (0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile; tDir = (0, core_1.getPlatformProjectDir)(); return [4 /*yield*/, (0, sdk_webpack_1.buildCoreWebpackProject)()]; case 1: _a.sent(); if (!!c.program.opts().hosted) return [3 /*break*/, 4]; _copyRequiredFiles(); tOut = path_1.default.join(tDir, 'output'); tIntermediate = path_1.default.join(tDir, 'intermediate'); tBuild = path_1.default.join(tDir, 'build'); return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "build-web -- \"".concat(tBuild, "\" -out \"").concat(tIntermediate, "\""))]; case 2: _a.sent(); return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "package -- \"".concat(tIntermediate, "\" -s ").concat(certProfile, " -t wgt -o \"").concat(tOut, "\""))]; case 3: _a.sent(); (0, core_1.logSuccess)("Your WGT package is located in ".concat((0, core_1.chalk)().cyan(tOut), " .")); _a.label = 4; case 4: return [2 /*return*/, true]; } }); }); }; exports.buildTizenProject = buildTizenProject; var _isGlobalConfigured = false; var configureTizenProject = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: c = (0, core_1.getContext)(); (0, core_1.logDefault)('configureTizenProject'); c.runtime.platformBuildsProjectPath = "".concat((0, core_1.getPlatformProjectDir)()); if (!(0, core_1.isPlatformActive)()) { return [2 /*return*/]; } if (!(!_isGlobalConfigured && !c.program.opts().hosted)) return [3 /*break*/, 2]; _isGlobalConfigured = true; return [4 /*yield*/, (0, exports.configureTizenGlobal)()]; case 1: _a.sent(); _a.label = 2; case 2: return [4 /*yield*/, (0, core_1.copyAssetsFolder)()]; case 3: _a.sent(); return [4 /*yield*/, (0, sdk_webpack_1.configureCoreWebProject)()]; case 4: _a.sent(); return [4 /*yield*/, _configureProject(c)]; case 5: _a.sent(); return [2 /*return*/, (0, core_1.copyBuildsFolder)()]; } }); }); }; exports.configureTizenProject = configureTizenProject; var _configureProject = function (c) { return new Promise(function (resolve) { (0, core_1.logDefault)('_configureProject'); var platform = c.platform; if (!platform) return; var configFile = 'config.xml'; // const p = c.buildConfig.platforms?.[platform]; var pkg = (0, core_1.getConfigProp)('package') || ''; var id = (0, core_1.getConfigProp)('id') || ''; var appName = (0, core_1.getConfigProp)('appName') || ''; var injects = [ { pattern: '{{PACKAGE}}', override: pkg }, { pattern: '{{ID}}', override: id }, { pattern: '{{APP_NAME}}', override: appName }, { pattern: '{{APP_VERSION}}', override: semver_1.default.valid(semver_1.default.coerce((0, sdk_utils_1.getAppVersion)())) || '' }, ]; (0, sdk_utils_1.addSystemInjects)(injects); var file = path_1.default.join((0, core_1.getPlatformProjectDir)(), configFile); (0, core_1.writeCleanFile)(file, file, injects, undefined, c); resolve(); }); }; //# sourceMappingURL=runner.js.map