@24i/bigscreen-sdk 1.0.17-bs.player.2355 → 1.0.17
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 +2 -2
- package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
- package/packages/create-package/dist/createPackage.js +66 -0
- package/packages/create-package/dist/createPackage.js.map +1 -0
- package/packages/create-package/dist/index.js +5 -0
- package/packages/create-package/dist/index.js.map +1 -0
- package/packages/create-package/dist/questionnaire/questions.js +35 -0
- package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
- package/packages/create-package/dist/settings/Settings.js +10 -0
- package/packages/create-package/dist/settings/Settings.js.map +1 -0
- package/packages/create-package/dist/types.js +3 -0
- package/packages/create-package/dist/types.js.map +1 -0
- package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
- package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +1 -1
- package/packages/gallup/src/Gallup.ts +3 -3
- package/packages/player-ui/src/CurrentTime.tsx +2 -2
- package/packages/player-ui/src/Duration.tsx +2 -2
- package/packages/player-ui/src/PlayerUI.tsx +4 -4
- package/packages/player-ui/src/RemainingTime.tsx +2 -2
- package/packages/player-ui/src/Seekbar.tsx +3 -3
- package/packages/player-ui/src/Seeking.ts +4 -4
- package/packages/player-ui/src/Subtitles.tsx +2 -2
- package/packages/player-ui/src/mocks.ts +4 -12
- package/packages/player-ui/src/types.ts +2 -2
- package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
- package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
- package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
- package/packages/rnv-build-engine/dist/src/engine.js +94 -0
- package/packages/rnv-build-engine/dist/src/index.js +26 -0
- package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
- package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +66 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +92 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
- package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +240 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +39 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +74 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +135 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +32 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +222 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
- package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +22 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +99 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +45 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +31 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +71 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +19 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +72 -0
- package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
- package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
- package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
- package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
- package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +61 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
- package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +110 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +239 -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/project/.project +24 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -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/project/.project +35 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -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
|
@@ -0,0 +1,71 @@
|
|
|
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.customRnvHooksRunTask = void 0;
|
|
23
|
+
const inquirer = __importStar(require("inquirer"));
|
|
24
|
+
const rnv_1 = require("rnv");
|
|
25
|
+
const buildHooks_1 = require("rnv/dist/core/projectManager/buildHooks");
|
|
26
|
+
const { logTask, logInfo } = rnv_1.Logger;
|
|
27
|
+
const { executeTask } = rnv_1.TaskManager;
|
|
28
|
+
const { fsExistsSync } = rnv_1.FileUtils;
|
|
29
|
+
const { TASK_HOOKS_RUN, TASK_PROJECT_CONFIGURE, PARAMS, PARAM_KEYS } = rnv_1.Constants;
|
|
30
|
+
const hooksRunFn = async (c, parentTask, originTask) => {
|
|
31
|
+
logTask('taskRnvHooksRun');
|
|
32
|
+
if (fsExistsSync(c.paths.project.config)) {
|
|
33
|
+
await executeTask(c, TASK_PROJECT_CONFIGURE, TASK_HOOKS_RUN, originTask);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
logInfo('Your are running your buildHook outside of renative project');
|
|
37
|
+
}
|
|
38
|
+
await (0, buildHooks_1.buildHooks)(c);
|
|
39
|
+
if (!c.buildHooks) {
|
|
40
|
+
return Promise.reject(new Error('Build hooks have not been compiled properly!'));
|
|
41
|
+
}
|
|
42
|
+
let hookName = c.program?.exeMethod;
|
|
43
|
+
let showHookList = false;
|
|
44
|
+
if (!hookName || hookName === true || !c.buildHooks[hookName]) {
|
|
45
|
+
showHookList = true;
|
|
46
|
+
}
|
|
47
|
+
if (showHookList) {
|
|
48
|
+
const hooksList = Object.keys(c.buildHooks);
|
|
49
|
+
const { selectedHook } = await inquirer.prompt({
|
|
50
|
+
name: 'selectedHook',
|
|
51
|
+
type: 'list',
|
|
52
|
+
message: 'Pick an available hook:',
|
|
53
|
+
choices: hooksList,
|
|
54
|
+
});
|
|
55
|
+
hookName = selectedHook;
|
|
56
|
+
}
|
|
57
|
+
await c.buildHooks[hookName](c);
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
const customRnvHooksRunTask = {
|
|
61
|
+
description: 'Run specific build hook',
|
|
62
|
+
fn: hooksRunFn,
|
|
63
|
+
task: TASK_HOOKS_RUN,
|
|
64
|
+
params: PARAMS.withBase([PARAM_KEYS.exeMethod]),
|
|
65
|
+
platforms: [],
|
|
66
|
+
skipAppConfig: true,
|
|
67
|
+
skipPlatforms: true,
|
|
68
|
+
forceBuildHookRebuild: true,
|
|
69
|
+
isGlobalScope: true,
|
|
70
|
+
};
|
|
71
|
+
exports.customRnvHooksRunTask = customRnvHooksRunTask;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customRnvPackageTask = void 0;
|
|
4
|
+
const rnv_1 = require("rnv");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const { TASK_PACKAGE, TASK_CONFIGURE, PARAMS } = rnv_1.Constants;
|
|
7
|
+
const packageFn = async (c, parentTask, originTask) => {
|
|
8
|
+
rnv_1.Logger.logTask('taskRnvPackage', `parent:${parentTask}`);
|
|
9
|
+
await rnv_1.TaskManager.executeOrSkipTask(c, TASK_CONFIGURE, TASK_PACKAGE, originTask);
|
|
10
|
+
return true;
|
|
11
|
+
};
|
|
12
|
+
const customRnvPackageTask = {
|
|
13
|
+
description: 'Package source files into bundle',
|
|
14
|
+
fn: packageFn,
|
|
15
|
+
task: 'package',
|
|
16
|
+
params: PARAMS.withBase(PARAMS.withConfigure()),
|
|
17
|
+
platforms: Object.values(constants_1.Platforms),
|
|
18
|
+
};
|
|
19
|
+
exports.customRnvPackageTask = customRnvPackageTask;
|
|
@@ -0,0 +1,116 @@
|
|
|
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.customRnvProjectConfigureTask = void 0;
|
|
23
|
+
const path = __importStar(require("path"));
|
|
24
|
+
const rnv_1 = require("rnv");
|
|
25
|
+
const crypto_1 = require("rnv/dist/core/systemManager/crypto");
|
|
26
|
+
const replaceRelevantStringsInConfig_1 = require("../utils/replaceRelevantStringsInConfig");
|
|
27
|
+
const { configurePlugins, overrideTemplatePlugins, resolvePluginDependants, } = rnv_1.PluginManager;
|
|
28
|
+
const { chalk, logTask, logInfo } = rnv_1.Logger;
|
|
29
|
+
const { checkIsRenativeProject, generateRuntimeConfig } = rnv_1.ConfigManager;
|
|
30
|
+
const { updateRenativeConfigs, configureRuntimeDefaults } = rnv_1.RuntimeManager;
|
|
31
|
+
const { applyTemplate, checkIfTemplateConfigured, configureTemplateFiles, isTemplateInstalled, } = rnv_1.TemplateManager;
|
|
32
|
+
const { fsExistsSync, fsMkdirSync } = rnv_1.FileUtils;
|
|
33
|
+
const { TASK_INSTALL, TASK_PROJECT_CONFIGURE, TASK_TEMPLATE_APPLY, TASK_APP_CONFIGURE, TASK_WORKSPACE_CONFIGURE, PARAMS, } = rnv_1.Constants;
|
|
34
|
+
const { checkAndCreateBabelConfig, copyRuntimeAssets, cleanPlaformAssets, checkAndCreateGitignore, versionCheck, } = rnv_1.ProjectManager;
|
|
35
|
+
const { configureEngines, getEngineRunnerByPlatform } = rnv_1.EngineManager;
|
|
36
|
+
const { executeTask, initializeTask, findSuitableTask } = rnv_1.TaskManager;
|
|
37
|
+
const patchEngineTemplatesPath = (c) => {
|
|
38
|
+
const templatesPath = path.join(process.cwd(), 'node_modules', '@24i', 'smartapps-bigscreen-rnv-build-engine', 'dist', 'templates');
|
|
39
|
+
const engine = getEngineRunnerByPlatform(c, c.platform);
|
|
40
|
+
engine.originalTemplatePlatformsDir = path.join(templatesPath, 'platforms');
|
|
41
|
+
engine.originalTemplateAssetsDir = path.join(templatesPath, 'assets');
|
|
42
|
+
engine.originalTemplatePlatformProjectDir = path.join(templatesPath, 'platforms', 'project');
|
|
43
|
+
c.paths.project.platformTemplatesDirs[c.platform] = engine.originalTemplatePlatformsDir;
|
|
44
|
+
};
|
|
45
|
+
const handleReset = async (c) => {
|
|
46
|
+
if (c.program.resetHard) {
|
|
47
|
+
logInfo(`You passed ${chalk().white('-R, --resetHard')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
|
|
48
|
+
await cleanPlaformAssets(c);
|
|
49
|
+
}
|
|
50
|
+
else if (c.program.resetAssets) {
|
|
51
|
+
logInfo(`You passed ${chalk().white('-a, --resetAssets')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
|
|
52
|
+
await cleanPlaformAssets(c);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const projectConfigureFn = async (c, parentTask, originTask) => {
|
|
56
|
+
logTask('taskRnvProjectConfigure');
|
|
57
|
+
patchEngineTemplatesPath(c);
|
|
58
|
+
const buildsDirPath = c.paths.project.builds.dir;
|
|
59
|
+
if (buildsDirPath && !fsExistsSync(buildsDirPath)) {
|
|
60
|
+
logInfo(`Creating folder ${buildsDirPath} ...DONE`);
|
|
61
|
+
fsMkdirSync(buildsDirPath);
|
|
62
|
+
}
|
|
63
|
+
await updateRenativeConfigs(c);
|
|
64
|
+
await checkIsRenativeProject(c);
|
|
65
|
+
await executeTask(c, TASK_WORKSPACE_CONFIGURE, TASK_PROJECT_CONFIGURE, originTask);
|
|
66
|
+
if (c.program.only && !!parentTask) {
|
|
67
|
+
await configureRuntimeDefaults(c);
|
|
68
|
+
await executeTask(c, TASK_APP_CONFIGURE, TASK_PROJECT_CONFIGURE, originTask);
|
|
69
|
+
await generateRuntimeConfig(c);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
await checkIfTemplateConfigured(c);
|
|
73
|
+
await executeTask(c, TASK_INSTALL, TASK_PROJECT_CONFIGURE, originTask);
|
|
74
|
+
await (0, crypto_1.checkCrypto)(c, parentTask, originTask);
|
|
75
|
+
await configureRuntimeDefaults(c);
|
|
76
|
+
if (originTask !== TASK_TEMPLATE_APPLY) {
|
|
77
|
+
if (c.runtime.requiresBootstrap || !isTemplateInstalled(c)) {
|
|
78
|
+
await applyTemplate(c);
|
|
79
|
+
logInfo('Your template has been bootstrapped. RESTARTING...DONE');
|
|
80
|
+
const taskInstance = await findSuitableTask(c);
|
|
81
|
+
c.runtime.requiresBootstrap = false;
|
|
82
|
+
return initializeTask(c, taskInstance.task);
|
|
83
|
+
}
|
|
84
|
+
await applyTemplate(c);
|
|
85
|
+
await configureRuntimeDefaults(c);
|
|
86
|
+
await executeTask(c, TASK_INSTALL, TASK_PROJECT_CONFIGURE, originTask);
|
|
87
|
+
await executeTask(c, TASK_APP_CONFIGURE, TASK_PROJECT_CONFIGURE, originTask);
|
|
88
|
+
await versionCheck(c);
|
|
89
|
+
await configureEngines(c);
|
|
90
|
+
await resolvePluginDependants(c);
|
|
91
|
+
await configurePlugins(c);
|
|
92
|
+
await configureRuntimeDefaults(c);
|
|
93
|
+
if (!c.runtime.disableReset) {
|
|
94
|
+
await handleReset(c);
|
|
95
|
+
}
|
|
96
|
+
await copyRuntimeAssets(c);
|
|
97
|
+
await configureTemplateFiles(c);
|
|
98
|
+
await checkAndCreateGitignore(c);
|
|
99
|
+
await checkAndCreateBabelConfig(c);
|
|
100
|
+
if (!c.buildConfig.platforms) {
|
|
101
|
+
await updateRenativeConfigs(c);
|
|
102
|
+
}
|
|
103
|
+
(0, replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig)(c);
|
|
104
|
+
await generateRuntimeConfig(c);
|
|
105
|
+
await overrideTemplatePlugins(c);
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
};
|
|
109
|
+
const customRnvProjectConfigureTask = {
|
|
110
|
+
description: 'Configure current project',
|
|
111
|
+
fn: projectConfigureFn,
|
|
112
|
+
task: TASK_PROJECT_CONFIGURE,
|
|
113
|
+
params: PARAMS.withBase(),
|
|
114
|
+
platforms: [],
|
|
115
|
+
};
|
|
116
|
+
exports.customRnvProjectConfigureTask = customRnvProjectConfigureTask;
|
|
@@ -0,0 +1,72 @@
|
|
|
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.customRnvStartTask = void 0;
|
|
23
|
+
const open = __importStar(require("better-opn"));
|
|
24
|
+
const rnv_1 = require("rnv");
|
|
25
|
+
const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
26
|
+
const constants_1 = require("../constants");
|
|
27
|
+
const { getConfigProp } = rnv_1.Common;
|
|
28
|
+
const { logErrorPlatform } = rnv_1.PlatformManager;
|
|
29
|
+
const { logTask, logError } = rnv_1.Logger;
|
|
30
|
+
const { TASK_START, TASK_CONFIGURE, REMOTE_DEBUGGER_ENABLED_PLATFORMS, PARAMS } = rnv_1.Constants;
|
|
31
|
+
const { executeTask } = rnv_1.TaskManager;
|
|
32
|
+
const startFn = async (c, parentTask, originTask) => {
|
|
33
|
+
const { platform, runtime, program } = c;
|
|
34
|
+
const { port } = runtime;
|
|
35
|
+
const { hosted } = program;
|
|
36
|
+
logTask('taskRnvStart', `parent:${parentTask} port:${port} hosted:${!!hosted}`);
|
|
37
|
+
if (!parentTask) {
|
|
38
|
+
await executeTask(c, TASK_CONFIGURE, TASK_START, originTask);
|
|
39
|
+
}
|
|
40
|
+
if (hosted) {
|
|
41
|
+
(0, sdk_webpack_1.waitForWebpack)(c)
|
|
42
|
+
.then(() => open(`http://${c.runtime.localhost}:${port}/`))
|
|
43
|
+
.catch(logError);
|
|
44
|
+
}
|
|
45
|
+
const bundleAssets = getConfigProp(c, c.platform, 'bundleAssets');
|
|
46
|
+
const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
|
|
47
|
+
const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !hosted;
|
|
48
|
+
switch (platform) {
|
|
49
|
+
case constants_1.Platforms.ENTONE:
|
|
50
|
+
case constants_1.Platforms.HBBTV:
|
|
51
|
+
case constants_1.Platforms.KREATV:
|
|
52
|
+
case constants_1.Platforms.SAPHI:
|
|
53
|
+
case constants_1.Platforms.TIZEN:
|
|
54
|
+
case constants_1.Platforms.WEBOS:
|
|
55
|
+
case constants_1.Platforms.WEBTV:
|
|
56
|
+
case constants_1.Platforms.XBOX:
|
|
57
|
+
return (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
|
|
58
|
+
default:
|
|
59
|
+
if (hosted) {
|
|
60
|
+
return logError('This platform does not support hosted mode', true);
|
|
61
|
+
}
|
|
62
|
+
return logErrorPlatform(c);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const customRnvStartTask = {
|
|
66
|
+
description: 'Starts bundler / server',
|
|
67
|
+
fn: startFn,
|
|
68
|
+
task: 'start',
|
|
69
|
+
params: PARAMS.withBase(PARAMS.withConfigure()),
|
|
70
|
+
platforms: Object.values(constants_1.Platforms),
|
|
71
|
+
};
|
|
72
|
+
exports.customRnvStartTask = customRnvStartTask;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.forEachSupportedPlatformFlavour = void 0;
|
|
4
|
+
const resolvers_1 = require("../resolvers");
|
|
5
|
+
const getProgressMessage = (platforms, platformIndex, flavours, flavourIndex) => {
|
|
6
|
+
let string = `\nProcessing "${platforms[platformIndex]}" platform`;
|
|
7
|
+
string += ` (${platformIndex + 1}/${platforms.length})`;
|
|
8
|
+
string += ` and its "${flavours[flavourIndex]}" flavour`;
|
|
9
|
+
string += ` (${flavourIndex + 1}/${flavours.length})...`;
|
|
10
|
+
return string;
|
|
11
|
+
};
|
|
12
|
+
const forEachSupportedPlatformFlavour = (c, cb) => {
|
|
13
|
+
const processPlatformFlavours = (platform, platformIndex, platforms) => {
|
|
14
|
+
const processFlavour = (flavour, flavourIndex, flavours) => {
|
|
15
|
+
console.log(getProgressMessage(platforms, platformIndex, flavours, flavourIndex));
|
|
16
|
+
const { scheme } = c.runtime;
|
|
17
|
+
return cb({ platform, flavour, scheme });
|
|
18
|
+
};
|
|
19
|
+
const { supportedFlavours = [] } = c.buildConfig.platforms[platform]?.deploy || {};
|
|
20
|
+
supportedFlavours.forEach(processFlavour);
|
|
21
|
+
};
|
|
22
|
+
(0, resolvers_1.resolveSupportedPlatforms)(c).forEach(processPlatformFlavours);
|
|
23
|
+
};
|
|
24
|
+
exports.forEachSupportedPlatformFlavour = forEachSupportedPlatformFlavour;
|
|
@@ -0,0 +1,78 @@
|
|
|
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.generatePngSpriteMap = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const webpack_1 = __importDefault(require("webpack"));
|
|
10
|
+
const webpack_spritesmith_1 = __importDefault(require("webpack-spritesmith"));
|
|
11
|
+
const child_process_1 = require("child_process");
|
|
12
|
+
const makeWebpackSpritesmithConfig = (appBuildDir, config) => ({
|
|
13
|
+
entry: {
|
|
14
|
+
bundle: 'index.js',
|
|
15
|
+
},
|
|
16
|
+
plugins: [
|
|
17
|
+
new webpack_spritesmith_1.default({
|
|
18
|
+
src: {
|
|
19
|
+
cwd: path_1.default.resolve(appBuildDir, config.iconsFolder),
|
|
20
|
+
glob: '**/*.png',
|
|
21
|
+
},
|
|
22
|
+
target: {
|
|
23
|
+
image: path_1.default.resolve(appBuildDir, config.spriteOutput),
|
|
24
|
+
css: [
|
|
25
|
+
path_1.default.resolve(appBuildDir, config.jsonOutput),
|
|
26
|
+
path_1.default.resolve(appBuildDir, config.cssOutput),
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
apiOptions: {
|
|
30
|
+
cssImageRef: 'sprite.png',
|
|
31
|
+
generateSpriteName: (fullPathToSourceFile) => {
|
|
32
|
+
const { name } = path_1.default.parse(fullPathToSourceFile);
|
|
33
|
+
return `${config.iconPrefix}${name}`;
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
],
|
|
38
|
+
resolve: {
|
|
39
|
+
symlinks: false,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const runSpritesmith = (config) => (new Promise((resolve) => {
|
|
43
|
+
const webpackCompiler = (0, webpack_1.default)(config);
|
|
44
|
+
const spritesmith = config.plugins[0];
|
|
45
|
+
spritesmith.apply(webpackCompiler);
|
|
46
|
+
spritesmith.compile(() => {
|
|
47
|
+
spritesmith.getWatcher().close();
|
|
48
|
+
resolve();
|
|
49
|
+
});
|
|
50
|
+
}));
|
|
51
|
+
const removeEmptyFiles = (appBuildDir, config) => {
|
|
52
|
+
const spriteImagePath = path_1.default.join(appBuildDir, config.spriteOutput);
|
|
53
|
+
const spriteMapCSSPath = path_1.default.join(appBuildDir, config.cssOutput);
|
|
54
|
+
const spriteNamesJsonPath = path_1.default.join(appBuildDir, config.jsonOutput);
|
|
55
|
+
if (fs_1.default.existsSync(spriteImagePath) && !fs_1.default.statSync(spriteImagePath).size) {
|
|
56
|
+
(0, child_process_1.execSync)(`rm -rf ${spriteImagePath}`);
|
|
57
|
+
(0, child_process_1.execSync)(`rm -rf ${spriteMapCSSPath}`);
|
|
58
|
+
(0, child_process_1.execSync)(`rm -rf ${spriteNamesJsonPath}`);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const generatePngSpriteMap = async (c) => {
|
|
62
|
+
const config = {
|
|
63
|
+
iconsFolder: '../../icons',
|
|
64
|
+
spriteOutput: '../../platformAssets/runtime/sprite.png',
|
|
65
|
+
cssOutput: '../../platformAssets/runtime/png_icons.css',
|
|
66
|
+
jsonOutput: '../../platformAssets/png_icons.json',
|
|
67
|
+
iconPrefix: c.buildConfig?.common.pngIconPrefix || '',
|
|
68
|
+
};
|
|
69
|
+
const rnvBuildDirPath = `${c.paths.project.builds.dir}/${c.runtime.appId}_${c.platform}`;
|
|
70
|
+
if (!fs_1.default.existsSync(path_1.default.resolve(rnvBuildDirPath, config.iconsFolder))) {
|
|
71
|
+
console.log('No icons folder found. Skipping generating png spritemap.');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const webpackConfig = makeWebpackSpritesmithConfig(rnvBuildDirPath, config);
|
|
75
|
+
await runSpritesmith(webpackConfig);
|
|
76
|
+
removeEmptyFiles(rnvBuildDirPath, config);
|
|
77
|
+
};
|
|
78
|
+
exports.generatePngSpriteMap = generatePngSpriteMap;
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.generateSvgSpriteMap = void 0;
|
|
26
|
+
const fs_1 = __importDefault(require("fs"));
|
|
27
|
+
const path_1 = __importDefault(require("path"));
|
|
28
|
+
const glob = __importStar(require("glob"));
|
|
29
|
+
const child_process_1 = require("child_process");
|
|
30
|
+
const getSvgData = (matches) => {
|
|
31
|
+
const xlmns = 'http://www.w3.org/2000/svg';
|
|
32
|
+
const xlmnsXlink = 'http://www.w3.org/1999/xlink';
|
|
33
|
+
return `\
|
|
34
|
+
<svg version="1.1" xmlns="${xlmns}" xmlns:xlink="${xlmnsXlink}" ${matches.groups.viewbox}>
|
|
35
|
+
${matches.groups.content}
|
|
36
|
+
</svg>`;
|
|
37
|
+
};
|
|
38
|
+
const getSpriteBgStyle = (name, data, prefix = 'icon-') => `.${prefix}${name} {
|
|
39
|
+
background-image: url("data:image/svg+xml,${encodeURIComponent(data)}");
|
|
40
|
+
}`;
|
|
41
|
+
const getSpriteMaskStyle = (name, data, prefix = 'icon-mask-') => `.${prefix}${name} {
|
|
42
|
+
-webkit-mask-image: url("data:image/svg+xml,${encodeURIComponent(data)}");
|
|
43
|
+
}`;
|
|
44
|
+
const copyAllSvgRecursively = (iconsPath, allIconsPath) => {
|
|
45
|
+
const files = glob.sync(`${iconsPath}/**/*.svg`);
|
|
46
|
+
if (!files.length)
|
|
47
|
+
return false;
|
|
48
|
+
files.forEach((file) => fs_1.default.copyFileSync(file, path_1.default.resolve(allIconsPath, path_1.default.basename(file))));
|
|
49
|
+
return true;
|
|
50
|
+
};
|
|
51
|
+
const generateSvgSpriteMap = (c) => {
|
|
52
|
+
const config = {
|
|
53
|
+
iconsFolder: '../../icons',
|
|
54
|
+
cssOutput: '../../platformAssets/runtime/svg_icons.css',
|
|
55
|
+
jsonOutput: '../../platformAssets/svg_icons.json',
|
|
56
|
+
maskList: c.buildConfig?.common.svgIconsMaskList || [],
|
|
57
|
+
iconPrefix: c.buildConfig?.common.svgIconPrefix || '',
|
|
58
|
+
};
|
|
59
|
+
const rnvBuildDirPath = `${c.paths.project.builds.dir}/${c.runtime.appId}_${c.platform}`;
|
|
60
|
+
const iconsPath = path_1.default.join(rnvBuildDirPath, config.iconsFolder);
|
|
61
|
+
const spriteMapCSSPath = path_1.default.join(rnvBuildDirPath, config.cssOutput);
|
|
62
|
+
const spriteNamesJsonPath = path_1.default.join(rnvBuildDirPath, config.jsonOutput);
|
|
63
|
+
const allIconsPath = path_1.default.join(iconsPath, '_all');
|
|
64
|
+
const optimisedPath = path_1.default.join(iconsPath, '_optimised');
|
|
65
|
+
const configPath = path_1.default.join(iconsPath, '.svgo.yml');
|
|
66
|
+
if (!fs_1.default.existsSync(iconsPath)) {
|
|
67
|
+
console.log('No icons folder found. Skipping generating svg spritemap.');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
fs_1.default.mkdirSync(allIconsPath, { recursive: true });
|
|
71
|
+
if (!copyAllSvgRecursively(iconsPath, allIconsPath)) {
|
|
72
|
+
console.log('No SVG files found. Skipping generating svg spritemap.');
|
|
73
|
+
(0, child_process_1.execSync)(`rm -rf ${allIconsPath}`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!fs_1.default.existsSync(configPath)) {
|
|
77
|
+
console.log('No .svgo.yml file found. Skipping generating svg spritemap.');
|
|
78
|
+
(0, child_process_1.execSync)(`rm -rf ${allIconsPath}`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
(0, child_process_1.execSync)(`npx svgo -f "${allIconsPath}" -o "${optimisedPath}" --config="${configPath}" --multipass`);
|
|
82
|
+
const files = fs_1.default.readdirSync(optimisedPath);
|
|
83
|
+
const spriteNames = {};
|
|
84
|
+
const svgSymbols = files
|
|
85
|
+
.filter((name) => name.endsWith('.svg'))
|
|
86
|
+
.map((fileName) => {
|
|
87
|
+
const maskListIncludesFileName = config.maskList.includes(fileName);
|
|
88
|
+
const spriteName = `${config.iconPrefix}${fileName}`
|
|
89
|
+
.replace('.svg', '')
|
|
90
|
+
.replace(' ', '-')
|
|
91
|
+
.toLowerCase();
|
|
92
|
+
spriteNames[spriteName] = '';
|
|
93
|
+
if (maskListIncludesFileName) {
|
|
94
|
+
spriteNames[`mask-${spriteName}`] = '';
|
|
95
|
+
}
|
|
96
|
+
const icon = fs_1.default.readFileSync(path_1.default.join(optimisedPath, fileName)).toString().trim();
|
|
97
|
+
const matches = icon.match(/<svg.*(?<viewbox>viewBox="[\d ]+")[^>]*>(?<content>.*)<\/svg>$/s);
|
|
98
|
+
if (!matches) {
|
|
99
|
+
return '';
|
|
100
|
+
}
|
|
101
|
+
const svgData = getSvgData(matches);
|
|
102
|
+
const spriteBgStyle = getSpriteBgStyle(spriteName, svgData);
|
|
103
|
+
return maskListIncludesFileName
|
|
104
|
+
? [spriteBgStyle, getSpriteMaskStyle(spriteName, svgData)].join('\n\n')
|
|
105
|
+
: spriteBgStyle;
|
|
106
|
+
});
|
|
107
|
+
const indentSpaces = 4;
|
|
108
|
+
fs_1.default.writeFileSync(spriteNamesJsonPath, JSON.stringify(spriteNames, null, indentSpaces));
|
|
109
|
+
fs_1.default.writeFileSync(spriteMapCSSPath, svgSymbols.join('\n\n'));
|
|
110
|
+
(0, child_process_1.execSync)(`rm -rf ${allIconsPath}`);
|
|
111
|
+
(0, child_process_1.execSync)(`rm -rf ${optimisedPath}`);
|
|
112
|
+
};
|
|
113
|
+
exports.generateSvgSpriteMap = generateSvgSpriteMap;
|
|
@@ -0,0 +1,61 @@
|
|
|
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.mergeSvgAndPngIcons = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const mergeJsonObjects = (svgJsonObject, pngJsonObject) => {
|
|
11
|
+
const merged = {};
|
|
12
|
+
Object.entries(svgJsonObject).forEach(([key]) => { merged[key] = ''; });
|
|
13
|
+
Object.entries(pngJsonObject).forEach(([key]) => { merged[key] = ''; });
|
|
14
|
+
return merged;
|
|
15
|
+
};
|
|
16
|
+
const mergeSvgAndPngIcons = (c) => {
|
|
17
|
+
const config = {
|
|
18
|
+
svgCssOutput: '../../platformAssets/runtime/svg_icons.css',
|
|
19
|
+
pngCssOutput: '../../platformAssets/runtime/png_icons.css',
|
|
20
|
+
svgJsonOutput: '../../platformAssets/svg_icons.json',
|
|
21
|
+
pngJsonOutput: '../../platformAssets/png_icons.json',
|
|
22
|
+
mergedCssOutput: '../../platformAssets/runtime/icons.css',
|
|
23
|
+
mergedJsonOutput: '../../platformAssets/icons.json',
|
|
24
|
+
};
|
|
25
|
+
const projectPaths = c.paths.project;
|
|
26
|
+
const rnvBuildDirPath = `${projectPaths.builds.dir}/${c.runtime.appId}_${c.platform}`;
|
|
27
|
+
const svgSpriteMapCSSPath = path_1.default.join(rnvBuildDirPath, config.svgCssOutput);
|
|
28
|
+
const pngSpriteMapCSSPath = path_1.default.join(rnvBuildDirPath, config.pngCssOutput);
|
|
29
|
+
const svgJsonPath = path_1.default.join(rnvBuildDirPath, config.svgJsonOutput);
|
|
30
|
+
const pngJsonPath = path_1.default.join(rnvBuildDirPath, config.pngJsonOutput);
|
|
31
|
+
const mergedCssPath = path_1.default.join(rnvBuildDirPath, config.mergedCssOutput);
|
|
32
|
+
const mergedJsonPath = path_1.default.join(rnvBuildDirPath, config.mergedJsonOutput);
|
|
33
|
+
let svgSpriteCss = '';
|
|
34
|
+
let pngSpriteCss = '';
|
|
35
|
+
let svgJsonObject = {};
|
|
36
|
+
let pngJsonObject = {};
|
|
37
|
+
if (fs_1.default.existsSync(svgSpriteMapCSSPath)) {
|
|
38
|
+
svgSpriteCss = fs_1.default.readFileSync(svgSpriteMapCSSPath).toString();
|
|
39
|
+
(0, child_process_1.execSync)(`rm -rf ${svgSpriteMapCSSPath}`);
|
|
40
|
+
}
|
|
41
|
+
if (fs_1.default.existsSync(pngSpriteMapCSSPath)) {
|
|
42
|
+
pngSpriteCss = fs_1.default.readFileSync(pngSpriteMapCSSPath).toString();
|
|
43
|
+
(0, child_process_1.execSync)(`rm -rf ${pngSpriteMapCSSPath}`);
|
|
44
|
+
}
|
|
45
|
+
if (fs_1.default.existsSync(svgJsonPath)) {
|
|
46
|
+
svgJsonObject = JSON.parse(fs_1.default.readFileSync(svgJsonPath).toString());
|
|
47
|
+
}
|
|
48
|
+
if (fs_1.default.existsSync(pngJsonPath)) {
|
|
49
|
+
pngJsonObject = JSON.parse(fs_1.default.readFileSync(pngJsonPath).toString());
|
|
50
|
+
}
|
|
51
|
+
const indentSpaces = 4;
|
|
52
|
+
const mergedCss = (`${svgSpriteCss}\n${pngSpriteCss}`).trim();
|
|
53
|
+
const mergedJson = JSON.stringify(mergeJsonObjects(svgJsonObject, pngJsonObject), null, indentSpaces);
|
|
54
|
+
fs_1.default.writeFileSync(mergedCssPath, mergedCss);
|
|
55
|
+
fs_1.default.writeFileSync(mergedJsonPath, mergedJson);
|
|
56
|
+
const svgIconsCount = Object.keys(svgJsonObject).length;
|
|
57
|
+
const pngIconsCount = Object.keys(pngJsonObject).length;
|
|
58
|
+
const iconsAllCount = svgIconsCount + pngIconsCount;
|
|
59
|
+
console.log(`icons.json and icons.css created in platformAssets folder (${iconsAllCount} icons - ${svgIconsCount} svg, ${pngIconsCount} png)`);
|
|
60
|
+
};
|
|
61
|
+
exports.mergeSvgAndPngIcons = mergeSvgAndPngIcons;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceRelevantStringsInConfig = void 0;
|
|
4
|
+
var replaceRelevantStringsInConfig_1 = require("./replaceRelevantStringsInConfig");
|
|
5
|
+
Object.defineProperty(exports, "replaceRelevantStringsInConfig", { enumerable: true, get: function () { return replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig; } });
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceRelevantStringsInConfig = void 0;
|
|
4
|
+
const replaceTemplateString_1 = require("./replaceTemplateString");
|
|
5
|
+
const processObject = (c, object) => {
|
|
6
|
+
if (!object)
|
|
7
|
+
return;
|
|
8
|
+
const objectKeys = Object.keys(object);
|
|
9
|
+
const processStringValue = (string, objectKeyName) => {
|
|
10
|
+
const replacedString = (0, replaceTemplateString_1.replaceTemplateString)(c, string);
|
|
11
|
+
if (replacedString !== string) {
|
|
12
|
+
object[objectKeyName] = replacedString;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
objectKeys.forEach((key) => {
|
|
16
|
+
const keyValue = object[key];
|
|
17
|
+
if (typeof keyValue === 'string') {
|
|
18
|
+
processStringValue(keyValue, key);
|
|
19
|
+
}
|
|
20
|
+
else if (typeof keyValue === 'object' && keyValue !== null) {
|
|
21
|
+
processObject(c, keyValue);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const replaceRelevantStringsInConfig = (c) => {
|
|
26
|
+
const { defaults, common, platforms } = c.buildConfig;
|
|
27
|
+
processObject(c, defaults);
|
|
28
|
+
processObject(c, common);
|
|
29
|
+
processObject(c, platforms);
|
|
30
|
+
};
|
|
31
|
+
exports.replaceRelevantStringsInConfig = replaceRelevantStringsInConfig;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceTemplateString = void 0;
|
|
4
|
+
const rnv_1 = require("rnv");
|
|
5
|
+
const { getConfigProp } = rnv_1.Common;
|
|
6
|
+
const getValueFromConfigByStringPath = (c, stringPathToObjectProp) => {
|
|
7
|
+
const pathToPropList = stringPathToObjectProp.split('.');
|
|
8
|
+
const listLength = pathToPropList.length;
|
|
9
|
+
let currentPropValue = c;
|
|
10
|
+
for (let i = 1; i < listLength; i++) {
|
|
11
|
+
currentPropValue = currentPropValue[pathToPropList[i]];
|
|
12
|
+
if (currentPropValue === undefined) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return currentPropValue;
|
|
17
|
+
};
|
|
18
|
+
const getValue = (c, stringInsideBracelets) => {
|
|
19
|
+
if (stringInsideBracelets.startsWith('c.')) {
|
|
20
|
+
return getValueFromConfigByStringPath(c, stringInsideBracelets);
|
|
21
|
+
}
|
|
22
|
+
if (stringInsideBracelets.startsWith('configProps.')) {
|
|
23
|
+
return getConfigProp(c, c.platform, stringInsideBracelets.replace('configProps.', ''));
|
|
24
|
+
}
|
|
25
|
+
return stringInsideBracelets;
|
|
26
|
+
};
|
|
27
|
+
const injectorStartMark = '{{';
|
|
28
|
+
const injectorEndMark = '}}';
|
|
29
|
+
const injectorRegexp = new RegExp(`${injectorStartMark}.*?${injectorEndMark}`, 'g');
|
|
30
|
+
const replaceTemplateString = (c, input) => {
|
|
31
|
+
if (!input)
|
|
32
|
+
return '';
|
|
33
|
+
const replacer = (match) => {
|
|
34
|
+
const stringInBracelets = match.slice(injectorStartMark.length, -injectorEndMark.length);
|
|
35
|
+
const value = getValue(c, stringInBracelets);
|
|
36
|
+
return value === match ? value : replaceTemplateString(c, value);
|
|
37
|
+
};
|
|
38
|
+
return input.replace(injectorRegexp, replacer);
|
|
39
|
+
};
|
|
40
|
+
exports.replaceTemplateString = replaceTemplateString;
|