@24i/smartapps-bigscreen-rnv-build-engine 0.17.1-alpha.2012 → 0.17.1-alpha.2055

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 (42) hide show
  1. package/README.md +3 -1
  2. package/dist/package.json +88 -0
  3. package/dist/src/constants/platforms.js +1 -0
  4. package/dist/src/engine.js +5 -0
  5. package/dist/src/scripts/release/urlsMarkdown.js +1 -0
  6. package/dist/src/sdks/sdk-xbox/sdkXbox.js +1 -1
  7. package/dist/src/tasks/task.rnv.build.js +1 -0
  8. package/dist/src/tasks/task.rnv.configure.js +1 -0
  9. package/dist/src/tasks/task.rnv.deploy.js +1 -0
  10. package/dist/src/tasks/task.rnv.project.configure.js +2 -1
  11. package/dist/src/tasks/task.rnv.start.js +1 -0
  12. package/dist/templates/platforms/_shared/webpack.base.js +8 -8
  13. package/docs/PLATFORM_ADD.md +1 -1
  14. package/package.json +6 -6
  15. package/renative.engine.json +1 -0
  16. package/dist/src/__tests__/engine.spec.js +0 -57
  17. package/dist/src/__tests__/resolvers/resolveBaseUrl.spec.js +0 -99
  18. package/dist/src/__tests__/resolvers/resolveBuildFileExtension.spec.js +0 -26
  19. package/dist/src/__tests__/resolvers/resolveBuildFileName.spec.js +0 -89
  20. package/dist/src/__tests__/resolvers/resolveBuildVersion.spec.js +0 -50
  21. package/dist/src/__tests__/resolvers/resolveBuildVersionOffset.spec.js +0 -111
  22. package/dist/src/__tests__/resolvers/resolveDeployLocations.spec.js +0 -98
  23. package/dist/src/__tests__/resolvers/resolveGenericRnvConfig.spec.js +0 -92
  24. package/dist/src/__tests__/resolvers/resolveHbbtvDeployConfig.spec.js +0 -35
  25. package/dist/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.js +0 -41
  26. package/dist/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.js +0 -49
  27. package/dist/src/__tests__/resolvers/resolveSupportedPlatforms.spec.js +0 -22
  28. package/dist/src/__tests__/resolvers/resolveUsedFlavours.spec.js +0 -38
  29. package/dist/src/__tests__/resolvers/resolveZippedPlatformBuildsRelativeFilePath.spec.js +0 -18
  30. package/dist/src/__tests__/sdks/sdk-utils/registerSdkPath.spec.js +0 -60
  31. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/sdkInstaller.spec.js +0 -85
  32. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/clean.spec.js +0 -50
  33. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/download.spec.js +0 -103
  34. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/install.spec.js +0 -57
  35. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/unzip.spec.js +0 -51
  36. package/dist/src/__tests__/utils/forEachSupportedPlatformFlavour.spec.js +0 -104
  37. package/dist/src/__tests__/utils/generatePngSpriteMap.spec.js +0 -81
  38. package/dist/src/__tests__/utils/generateSvgSpriteMap.spec.js +0 -108
  39. package/dist/src/__tests__/utils/mergeSvgAndPngIcons.spec.js +0 -112
  40. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.spec.js +0 -116
  41. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceTemplateString.spec.js +0 -65
  42. package/dist/src/__tests__/utils/zipBuildsByPlatforms.spec.js +0 -69
package/README.md CHANGED
@@ -45,6 +45,7 @@ it
45
45
  | **KreaTV** | Arris | `kreatv` | `.zip` | `*.kreatv.{js,jsx,ts,tsx,json}` | set-top boxes |
46
46
  | **Saphi** | Philips | `saphi` | `.zip` | `*.saphi.tv.{js,jsx,ts,tsx,json}` | |
47
47
  | **Tizen** | Samsung | `tizen` | `.wgt` | `*.tizen.tv.{js,jsx,ts,tsx,json}` | |
48
+ | **VIDAA** | Hisense | `vidaa` | `.zip` | `*.vidaa.tv.{js,jsx,ts,tsx,json}` | |
48
49
  | **webOS** | LG | `webos` | `.ipk` | `*.webos.tv.{js,jsx,ts,tsx,json}` | |
49
50
  | **WebTV** | N/A | `webtv` | `.zip` | `*.webtv.{js,jsx,ts,tsx,json}` | for previewing builds in browser |
50
51
  | **Xbox** | Microsoft | `xbox` | `.zip` | `*.xbox.{js,jsx,ts,tsx,json}` | |
@@ -61,6 +62,7 @@ drivers/
61
62
  index.kreatv.ts
62
63
  index.saphi.tv.ts
63
64
  index.tizen.tv.ts
65
+ index.vidaa.tv.ts
64
66
  index.webos.tv.ts
65
67
  index.webtv.ts
66
68
  index.xbox.ts
@@ -151,7 +153,7 @@ Firstly, the package contains main ReNative npm packages, namely:
151
153
  #### npm dependencies related to custom ReNative build engine
152
154
  Following dependencies are used in source code for custom build engine for ReNative:
153
155
 
154
- - `@24i/smartapps-bigscreen-icon` *(generating SVG icons)*
156
+ - `@24i/bigscreen-sdk/icon` *(generating SVG icons)*
155
157
  - `glob` *(searching output builds)*
156
158
  - `node-ssh` *(connection to HbbTV server)*
157
159
  - `svgo` *(generating SVG icons)*
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
+ "version": "0.17.1-alpha.2055",
4
+ "description": "Package with build engine for SmartApps BIGscreen projects...",
5
+ "main": "dist/src/index.js",
6
+ "scripts": {
7
+ "build:clean": "rm -rf dist",
8
+ "build": "npm run build:clean && tsc && npm run copy:projects",
9
+ "copy:project:tizen": "mkdir -p dist/templates/platforms/tizen && cp -R templates/platforms/tizen/project dist/templates/platforms/tizen/",
10
+ "copy:project:webos": "mkdir -p dist/templates/platforms/webos && cp -R templates/platforms/webos/project dist/templates/platforms/webos/",
11
+ "copy:projects": "npm run copy:project:tizen && npm run copy:project:webos",
12
+ "eslint": "eslint \"./src/**/*.{js,jsx,ts,tsx}\" \"./templates/**/*.{js,jsx,ts,tsx}\"",
13
+ "stylelint": "stylelint \"./src/**/*.scss\" --aei --rd --risd --rdd",
14
+ "lintcheck": "npm run eslint && npm run stylelint",
15
+ "typecheck": "tsc --noEmit",
16
+ "lintcheck:cached": "npm run eslint -- --cache && npm run stylelint -- --cache",
17
+ "typecheck:cached": "tsc --noEmit --incremental",
18
+ "test": "jest --passWithNoTests",
19
+ "prepublishOnly": "npm run build",
20
+ "postinstall": "node fixDependency.js"
21
+ },
22
+ "deleteDependencies": [
23
+ {
24
+ "path": "../../unzip2/node_modules/graceful-fs/",
25
+ "version": "^4.2.8"
26
+ },
27
+ {
28
+ "path": "./node_modules/fstream/node_modules/graceful-fs/",
29
+ "version": "^4.2.8"
30
+ },
31
+ {
32
+ "path": "../../fstream/node_modules/graceful-fs/",
33
+ "version": "^4.2.8"
34
+ }
35
+ ],
36
+ "dependencies": {
37
+ "xml2js": "^0.4.23"
38
+ },
39
+ "devDependencies": {
40
+ "@types/inquirer": "8.2.1",
41
+ "@types/ip": "1.1.0",
42
+ "@types/mini-css-extract-plugin": "1.4.3",
43
+ "@types/node": "18.0.3",
44
+ "@types/semver": "7.3.10",
45
+ "@types/ssh2": "1.11.4",
46
+ "@types/tapable": "2.2.2",
47
+ "@types/webpack": "5.28.0",
48
+ "@types/xml2js": "0.4.11",
49
+ "nock": "13.2.8",
50
+ "svgo": "1.3.2"
51
+ },
52
+ "peerDependencies": {
53
+ "@24i/smartapps-bigscreen-device": "*",
54
+ "@rnv/sdk-webpack": "0.35.0-alpha.2",
55
+ "assign-deep": "1.0.1",
56
+ "core-js": "3.22.4",
57
+ "coveralls": "3.1.1",
58
+ "css-hot-loader": "1.4.4",
59
+ "css-loader": "5.2.7",
60
+ "filemanager-webpack-plugin": "6.1.7",
61
+ "fork-ts-checker-webpack-plugin": "7.2.11",
62
+ "glob": "8.0.1",
63
+ "html-webpack-harddisk-plugin": "2.0.0",
64
+ "html-webpack-plugin": "5.5.0",
65
+ "ip": "1.1.5",
66
+ "manifoldjs-windows10": "0.1.8",
67
+ "mini-css-extract-plugin": "2.6.0",
68
+ "node-ssh": "12.0.4",
69
+ "ora": "5.4.1",
70
+ "raf": "3.4.1",
71
+ "regenerator-runtime": "0.13.9",
72
+ "renative-template-blank": "0.35.0-alpha.2",
73
+ "rnv": "0.35.0-alpha.2",
74
+ "sass": "1.51.0",
75
+ "sass-loader": "12.6.0",
76
+ "source-map-loader": "3.0.1",
77
+ "svgo": "1.3.2",
78
+ "ts-loader": "9.3.0",
79
+ "webpack": "5.72.0",
80
+ "webpack-cli": "4.10.0",
81
+ "webpack-dev-server": "4.9.0",
82
+ "webpack-spritesmith": "1.1.0"
83
+ },
84
+ "keywords": [],
85
+ "author": "24i",
86
+ "license": "ISC",
87
+ "gitHead": "e2d768806787e222c8e6f5bdf25cd6e97a1167cd"
88
+ }
@@ -7,6 +7,7 @@ const Platforms = {
7
7
  KREATV: 'kreatv',
8
8
  SAPHI: 'saphi',
9
9
  TIZEN: 'tizen',
10
+ VIDAA: 'vidaa',
10
11
  WEBOS: 'webos',
11
12
  WEBTV: 'webtv',
12
13
  XBOX: 'xbox',
@@ -79,6 +79,11 @@ exports.default = {
79
79
  defaultPort: 8087,
80
80
  isWebHosted: true,
81
81
  },
82
+ [constants_1.Platforms.VIDAA]: {
83
+ extensions: generateEngineExtensions(['vidaa.tv']),
84
+ defaultPort: 8099,
85
+ isWebHosted: true,
86
+ },
82
87
  [constants_1.Platforms.WEBOS]: {
83
88
  extensions: generateEngineExtensions(['webos.tv']),
84
89
  defaultPort: 8088,
@@ -27,6 +27,7 @@ const beautifyPlatformName = (platformName) => {
27
27
  case constants_1.Platforms.KREATV: return 'KreaTV';
28
28
  case constants_1.Platforms.SAPHI: return 'Saphi (Philips)';
29
29
  case constants_1.Platforms.TIZEN: return 'Tizen (Samsung)';
30
+ case constants_1.Platforms.VIDAA: return 'VIDAA (Hisense)';
30
31
  case constants_1.Platforms.WEBOS: return 'webOS (LG)';
31
32
  case constants_1.Platforms.WEBTV: return 'WebTV';
32
33
  case constants_1.Platforms.XBOX: return 'Xbox';
@@ -22,7 +22,7 @@ const hostedSourceImages = '/output/hosted/windows10/source/images';
22
22
  const packagedSourceImages = '/output/packaged/windows10/source/images';
23
23
  const hostedManifestImages = '/output/hosted/windows10/manifest/images';
24
24
  const packagedManifestImages = '/output/packaged/windows10/manifest/images';
25
- const directionalNavPath = '/node_modules/@24i/smartapps-bigscreen-driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js';
25
+ const directionalNavPath = '/node_modules/@24i/bigscreen-sdk/driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js';
26
26
  const identityNamePlaceholder = 'INSERT-YOUR-PACKAGE-IDENTITY-NAME-HERE';
27
27
  const identityPublisherPlaceholder = 'INSERT-YOUR-PACKAGE-IDENTITY-PUBLISHER-HERE';
28
28
  const publisherDisplayNamePlaceholder = 'INSERT-YOUR-PACKAGE-PROPERTIES-PUBLISHERDISPLAYNAME-HERE';
@@ -66,6 +66,7 @@ const buildFn = async (c, parentTask, originTask) => {
66
66
  case constants_1.Platforms.HBBTV:
67
67
  case constants_1.Platforms.KREATV:
68
68
  case constants_1.Platforms.SAPHI:
69
+ case constants_1.Platforms.VIDAA:
69
70
  case constants_1.Platforms.WEBTV:
70
71
  await sdks_1.SDKWebpack.buildCoreWebpackProject(c);
71
72
  makeZipOutput(c);
@@ -18,6 +18,7 @@ const configureFn = async (c, parentTask, originTask) => {
18
18
  case constants_1.Platforms.HBBTV:
19
19
  case constants_1.Platforms.KREATV:
20
20
  case constants_1.Platforms.SAPHI:
21
+ case constants_1.Platforms.VIDAA:
21
22
  case constants_1.Platforms.WEBTV:
22
23
  case constants_1.Platforms.XBOX:
23
24
  await sdks_1.SDKWebpack.configureWebProject(c);
@@ -21,6 +21,7 @@ const deployFn = async (c, parentTask, originTask) => {
21
21
  case constants_1.Platforms.KREATV:
22
22
  case constants_1.Platforms.SAPHI:
23
23
  case constants_1.Platforms.TIZEN:
24
+ case constants_1.Platforms.VIDAA:
24
25
  case constants_1.Platforms.WEBOS:
25
26
  case constants_1.Platforms.WEBTV:
26
27
  case constants_1.Platforms.XBOX:
@@ -28,6 +28,7 @@ const path = __importStar(require("path"));
28
28
  const rnv_1 = require("rnv");
29
29
  const crypto_1 = require("rnv/dist/core/systemManager/crypto");
30
30
  const replaceRelevantStringsInConfig_1 = require("../utils/replaceRelevantStringsInConfig");
31
+ const package_json_1 = require("../../package.json");
31
32
  const { configurePlugins, overrideTemplatePlugins, resolvePluginDependants, } = rnv_1.PluginManager;
32
33
  const { chalk, logTask, logInfo } = rnv_1.Logger;
33
34
  const { checkIsRenativeProject, generateRuntimeConfig } = rnv_1.ConfigManager;
@@ -39,7 +40,7 @@ const { checkAndCreateBabelConfig, copyRuntimeAssets, cleanPlaformAssets, checkA
39
40
  const { configureEngines, getEngineRunnerByPlatform } = rnv_1.EngineManager;
40
41
  const { executeTask, initializeTask, findSuitableTask } = rnv_1.TaskManager;
41
42
  const patchEngineTemplatesPath = (c) => {
42
- const templatesPath = path.join(process.cwd(), 'node_modules', '@24i', 'smartapps-bigscreen-rnv-build-engine', 'dist', 'templates');
43
+ const templatesPath = path.join(process.cwd(), 'node_modules', package_json_1.name, 'dist', 'templates');
43
44
  const engine = getEngineRunnerByPlatform(c, c.platform);
44
45
  engine.originalTemplatePlatformsDir = path.join(templatesPath, 'platforms');
45
46
  engine.originalTemplateAssetsDir = path.join(templatesPath, 'assets');
@@ -22,6 +22,7 @@ const startFn = async (c, parentTask, originTask) => {
22
22
  case constants_1.Platforms.KREATV:
23
23
  case constants_1.Platforms.SAPHI:
24
24
  case constants_1.Platforms.TIZEN:
25
+ case constants_1.Platforms.VIDAA:
25
26
  case constants_1.Platforms.WEBOS:
26
27
  case constants_1.Platforms.WEBTV:
27
28
  case constants_1.Platforms.XBOX:
@@ -11,7 +11,7 @@ const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plug
11
11
  const filemanager_webpack_plugin_1 = __importDefault(require("filemanager-webpack-plugin"));
12
12
  const html_webpack_plugin_1 = __importDefault(require("html-webpack-plugin"));
13
13
  const fork_ts_checker_webpack_plugin_1 = __importDefault(require("fork-ts-checker-webpack-plugin"));
14
- const smartapps_bigscreen_rnv_build_engine_1 = require("@24i/smartapps-bigscreen-rnv-build-engine");
14
+ const rnv_build_engine_1 = require("@24i/bigscreen-sdk/rnv-build-engine");
15
15
  const extendSass_1 = require("./utils/extendSass");
16
16
  const getAnimationType = (isAnimated = false) => (isAnimated ? 'animated' : 'basic');
17
17
  const generateFlavourJSExtensions = ({ resolution: { height }, animated, extensions }) => {
@@ -97,9 +97,9 @@ const makeRules = (config, projectDir, isDevServer) => ({
97
97
  });
98
98
  const makeAliases = (config, projectDir) => {
99
99
  const aliases = {
100
- '@24i/smartapps-bigscreen-device': config.environment === 'production'
101
- ? '@24i/smartapps-bigscreen-device'
102
- : '@24i/smartapps-bigscreen-device/resolver',
100
+ '@24i/bigscreen-sdk/device': config.environment === 'production'
101
+ ? '@24i/bigscreen-sdk/device'
102
+ : '@24i/bigscreen-sdk/device/resolver',
103
103
  };
104
104
  const { moduleAliases } = config;
105
105
  if (moduleAliases) {
@@ -125,9 +125,9 @@ function generateConfig(config) {
125
125
  scheme: config.scheme,
126
126
  flavour: config.appConfigId,
127
127
  };
128
- const { buildConfig } = smartapps_bigscreen_rnv_build_engine_1.Resolvers.getBaseConfig();
129
- const buildVersion = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBuildVersion(platformSchemeAppIdObj);
130
- const baseUrl = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
128
+ const { buildConfig } = rnv_build_engine_1.Resolvers.getBaseConfig();
129
+ const buildVersion = rnv_build_engine_1.Resolvers.resolveBuildVersion(platformSchemeAppIdObj);
130
+ const baseUrl = rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
131
131
  const devServerHost = config.devServerHost || '0.0.0.0';
132
132
  const isDevServer = appBuildEngineProjectDir.endsWith('/server');
133
133
  const { PLATFORM } = process.env;
@@ -165,7 +165,7 @@ function generateConfig(config) {
165
165
  environment: config.environment,
166
166
  baseUrl,
167
167
  },
168
- xhtml: PLATFORM === smartapps_bigscreen_rnv_build_engine_1.Constants.Platforms.HBBTV,
168
+ xhtml: PLATFORM === rnv_build_engine_1.Constants.Platforms.HBBTV,
169
169
  }),
170
170
  harddisk: new html_webpack_harddisk_plugin_1.default(),
171
171
  css: new mini_css_extract_plugin_1.default({
@@ -33,7 +33,7 @@ add `index.<platform_extension>.ts` file and inside it, export new driver by the
33
33
 
34
34
  ---
35
35
  ### How to extend build engine with new platform
36
- - in [package.json](../package.json), in `peerDependencies`, update version of `@24i/smartapps-bigscreen-device` package to new version (created in step above)
36
+ - in [package.json](../package.json), in `peerDependencies`, update version of `@24i/bigscreen-sdk/device` package to new version (created in step above)
37
37
  - add requested platform record into [renative.engine.json](../renative.engine.json)
38
38
  - add requested platform record into [src/constants/platforms.ts](../src/constants/platforms.ts)
39
39
  - add requested platform record into [src/index.ts](../src/index.ts):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.17.1-alpha.2012+a2de1742",
3
+ "version": "0.17.1-alpha.2055",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
@@ -40,13 +40,13 @@
40
40
  "@types/inquirer": "8.2.1",
41
41
  "@types/ip": "1.1.0",
42
42
  "@types/mini-css-extract-plugin": "1.4.3",
43
- "@types/node": "17.0.40",
44
- "@types/semver": "7.3.9",
45
- "@types/ssh2": "0.5.52",
43
+ "@types/node": "18.0.3",
44
+ "@types/semver": "7.3.10",
45
+ "@types/ssh2": "1.11.4",
46
46
  "@types/tapable": "2.2.2",
47
47
  "@types/webpack": "5.28.0",
48
48
  "@types/xml2js": "0.4.11",
49
- "nock": "13.2.6",
49
+ "nock": "13.2.8",
50
50
  "svgo": "1.3.2"
51
51
  },
52
52
  "peerDependencies": {
@@ -84,5 +84,5 @@
84
84
  "keywords": [],
85
85
  "author": "24i",
86
86
  "license": "ISC",
87
- "gitHead": "a2de1742c7e259a4a3168f2b5bcffb618d3f9188"
87
+ "gitHead": "e2d768806787e222c8e6f5bdf25cd6e97a1167cd"
88
88
  }
@@ -11,6 +11,7 @@
11
11
  "kreatv": {},
12
12
  "saphi": {},
13
13
  "tizen": {},
14
+ "vidaa": {},
14
15
  "webos": {},
15
16
  "webtv": {},
16
17
  "xbox": {}
@@ -1,57 +0,0 @@
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
- const engine_1 = __importDefault(require("../engine"));
7
- const constants_1 = require("../constants");
8
- const engineTasks_1 = require("../tasks/engineTasks");
9
- jest.mock('../../../renative.engine.json', () => ({ __esModule: true, id: 'engineID', plugins: {} }), { virtual: true });
10
- describe('engine config', () => {
11
- afterAll(() => {
12
- jest.resetModules();
13
- jest.resetAllMocks();
14
- jest.clearAllMocks();
15
- });
16
- const configuredFileExtensions = ['js', 'jsx', 'ts', 'tsx', 'json'];
17
- it('generates task', () => {
18
- expect(Object.keys(engine_1.default.tasks)).toHaveLength(engineTasks_1.engineTaskList.length);
19
- });
20
- it('loads parses renative.engine.json file content into "config" property', () => {
21
- expect(engine_1.default.config).toStrictEqual({
22
- __esModule: true, id: 'engineID', plugins: {},
23
- });
24
- });
25
- it('has defined "projectDirName"', () => {
26
- expect(engine_1.default.projectDirName).toBeDefined();
27
- });
28
- it('has defined "serverDirName"', () => {
29
- expect(engine_1.default.serverDirName).toBeDefined();
30
- });
31
- describe('platform properties', () => {
32
- it('has defined platform specific file extensions for each platform', () => {
33
- Object.values(constants_1.Platforms).forEach((platform) => {
34
- const { extensions } = engine_1.default.platforms[platform];
35
- expect(extensions).toBeInstanceOf(Array);
36
- const customExtensions = extensions
37
- .filter((extension) => !configuredFileExtensions.includes(extension));
38
- expect(customExtensions.length)
39
- .toBeGreaterThanOrEqual(configuredFileExtensions.length);
40
- });
41
- });
42
- it('has set isWebHosted property to true for each platform', () => {
43
- Object.values(constants_1.Platforms).forEach((platform) => {
44
- expect(engine_1.default.platforms[platform].isWebHosted).toBe(true);
45
- });
46
- });
47
- it('has set defaultPort property for each platform', () => {
48
- const minAllowedPortNumber = 1024;
49
- const maxAllowedPortNumber = 49151;
50
- Object.values(constants_1.Platforms).forEach((platform) => {
51
- const { defaultPort } = engine_1.default.platforms[platform];
52
- expect(defaultPort).toBeGreaterThanOrEqual(minAllowedPortNumber);
53
- expect(defaultPort).toBeLessThanOrEqual(maxAllowedPortNumber);
54
- });
55
- });
56
- });
57
- });
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resolveBaseUrl_1 = require("../../resolvers/resolveBaseUrl");
4
- const resolveGenericRnvConfig_1 = require("../../resolvers/resolveGenericRnvConfig");
5
- const constants_1 = require("../../constants");
6
- jest.mock('../../resolvers/resolveGenericRnvConfig');
7
- describe('resolveBaseUrl', () => {
8
- const bucketName = 'test-bucket';
9
- const flavour = 'test_flavour';
10
- const packageVersion = '1.0.0';
11
- const expectEmptyStringOutputForEachPlatformAndSchemeByFlavour = (customFlavour) => {
12
- Object.values(constants_1.Platforms).forEach((platform) => {
13
- Object.values(constants_1.BuildSchemes).forEach((scheme) => {
14
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, scheme, flavour: customFlavour })).toBe('');
15
- });
16
- });
17
- };
18
- afterEach(() => {
19
- jest.clearAllMocks();
20
- jest.resetAllMocks();
21
- jest.resetModules();
22
- });
23
- it('returns empty string when c.common.packageVersion is not set', () => {
24
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
25
- runtime: {},
26
- buildConfig: {
27
- common: {
28
- packageVersion: '',
29
- deploy: { aws3: { bucketName } },
30
- },
31
- },
32
- });
33
- expectEmptyStringOutputForEachPlatformAndSchemeByFlavour(flavour);
34
- });
35
- it('returns empty string when c.buildConfig.common.deploy.aws3.bucketName is not set', () => {
36
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
37
- runtime: {},
38
- buildConfig: { common: { packageVersion } },
39
- });
40
- expectEmptyStringOutputForEachPlatformAndSchemeByFlavour(flavour);
41
- });
42
- describe('resolving baseUrl for configured schemes', () => {
43
- const bucketUrl = `http://${bucketName}.s3.amazonaws.com`;
44
- beforeEach(() => {
45
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
46
- runtime: {},
47
- buildConfig: {
48
- common: {
49
- packageVersion,
50
- deploy: { aws3: { bucketName } },
51
- },
52
- },
53
- });
54
- });
55
- it('returns empty string for other build schemes as latest or distribution', () => {
56
- const schemesWithDefinedBaseUrl = [
57
- constants_1.BuildSchemes.DEV_LATEST,
58
- constants_1.BuildSchemes.RC_LATEST,
59
- constants_1.BuildSchemes.RELEASE_LATEST,
60
- constants_1.BuildSchemes.RELEASE_DIST,
61
- ];
62
- Object.values(constants_1.Platforms).forEach((platform) => {
63
- Object.values(constants_1.BuildSchemes).forEach((scheme) => {
64
- const baseUrl = (0, resolveBaseUrl_1.resolveBaseUrl)({ platform, scheme, flavour });
65
- if (schemesWithDefinedBaseUrl.includes(scheme)) {
66
- expect(baseUrl).not.toBe('');
67
- }
68
- else {
69
- expect(baseUrl).toBe('');
70
- }
71
- });
72
- });
73
- });
74
- it('returns proper url for "latest development" build scheme', () => {
75
- const scheme = constants_1.BuildSchemes.DEV_LATEST;
76
- Object.values(constants_1.Platforms).forEach((platform) => {
77
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/dev`);
78
- });
79
- });
80
- it('returns proper url for "latest release candidate" scheme', () => {
81
- const scheme = constants_1.BuildSchemes.RC_LATEST;
82
- Object.values(constants_1.Platforms).forEach((platform) => {
83
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc`);
84
- });
85
- });
86
- it('returns proper url for "latest release" build scheme', () => {
87
- const scheme = constants_1.BuildSchemes.RELEASE_LATEST;
88
- Object.values(constants_1.Platforms).forEach((platform) => {
89
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/release`);
90
- });
91
- });
92
- it('returns proper url for "distribution release" build scheme', () => {
93
- const scheme = constants_1.BuildSchemes.RELEASE_DIST;
94
- Object.values(constants_1.Platforms).forEach((platform) => {
95
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}`);
96
- });
97
- });
98
- });
99
- });
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resolveBuildFileExtension_1 = require("../../resolvers/resolveBuildFileExtension");
4
- const constants_1 = require("../../constants");
5
- describe('resolveBuildFileExtension', () => {
6
- it('returns "wgt" for tizen platform', () => {
7
- const resolvedExtension = (0, resolveBuildFileExtension_1.resolveBuildFileExtension)(constants_1.Platforms.TIZEN);
8
- expect(resolvedExtension).toBe('wgt');
9
- });
10
- it('returns "ipk" for webos platform', () => {
11
- const resolvedExtension = (0, resolveBuildFileExtension_1.resolveBuildFileExtension)(constants_1.Platforms.WEBOS);
12
- expect(resolvedExtension).toBe('ipk');
13
- });
14
- it('returns "zip" for all platforms except tizen and webos', () => {
15
- const excludedPlatforms = [constants_1.Platforms.TIZEN, constants_1.Platforms.WEBOS];
16
- Object.values(constants_1.Platforms).forEach((platform) => {
17
- const resolvedExtension = (0, resolveBuildFileExtension_1.resolveBuildFileExtension)(platform);
18
- if (excludedPlatforms.includes(platform)) {
19
- expect(resolvedExtension).not.toBe('zip');
20
- }
21
- else {
22
- expect(resolvedExtension).toBe('zip');
23
- }
24
- });
25
- });
26
- });
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resolveBuildFileName_1 = require("../../resolvers/resolveBuildFileName");
4
- const resolveGenericRnvConfig_1 = require("../../resolvers/resolveGenericRnvConfig");
5
- const resolveBuildVersionOffset_1 = require("../../resolvers/resolveBuildVersionOffset");
6
- const constants_1 = require("../../constants");
7
- jest.mock('../../resolvers/resolveGenericRnvConfig');
8
- jest.mock('../../resolvers/resolveBuildVersionOffset');
9
- const getPackageExtensionByPlatform = (platform) => {
10
- switch (platform) {
11
- case constants_1.Platforms.TIZEN: return 'wgt';
12
- case constants_1.Platforms.WEBOS: return 'ipk';
13
- default: return 'zip';
14
- }
15
- };
16
- describe('resolveBuildFileName', () => {
17
- let c = {};
18
- beforeEach(() => {
19
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
20
- runtime: {},
21
- buildConfig: { common: { packageVersion: '1.0.0' } },
22
- });
23
- });
24
- afterEach(() => {
25
- jest.clearAllMocks();
26
- jest.resetAllMocks();
27
- jest.resetModules();
28
- });
29
- beforeEach(() => {
30
- c = {
31
- runtime: { appId: 'flavour' },
32
- buildConfig: {
33
- common: { appNameInFileName: 'appName' },
34
- },
35
- };
36
- });
37
- it('returns proper string when there is no version offset', () => {
38
- resolveBuildVersionOffset_1.resolveBuildVersionOffset.mockReturnValue('');
39
- Object.values(constants_1.Platforms).forEach((platform) => {
40
- c.platform = platform;
41
- const ext = getPackageExtensionByPlatform(platform);
42
- c.runtime.scheme = constants_1.BuildSchemes.DEBUG;
43
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.debug_flavour.${ext}`);
44
- c.runtime.scheme = constants_1.BuildSchemes.DEV;
45
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev_flavour.${ext}`);
46
- c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
47
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
48
- c.runtime.scheme = constants_1.BuildSchemes.RC;
49
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc_flavour.${ext}`);
50
- c.runtime.scheme = constants_1.BuildSchemes.RC_LATEST;
51
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc_flavour.${ext}`);
52
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE;
53
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0_flavour.${ext}`);
54
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE_LATEST;
55
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release_flavour.${ext}`);
56
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE_DIST;
57
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0_flavour.${ext}`);
58
- });
59
- });
60
- it('returns proper string when there is version offset', () => {
61
- resolveBuildVersionOffset_1.resolveBuildVersionOffset.mockReturnValue('1');
62
- Object.values(constants_1.Platforms).forEach((platform) => {
63
- c.platform = platform;
64
- const ext = getPackageExtensionByPlatform(platform);
65
- c.runtime.scheme = constants_1.BuildSchemes.DEBUG;
66
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.debug-1_flavour.${ext}`);
67
- c.runtime.scheme = constants_1.BuildSchemes.DEV;
68
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev-1_flavour.${ext}`);
69
- c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
70
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
71
- c.runtime.scheme = constants_1.BuildSchemes.RC;
72
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1_flavour.${ext}`);
73
- c.runtime.scheme = constants_1.BuildSchemes.RC_LATEST;
74
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc_flavour.${ext}`);
75
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE;
76
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1_flavour.${ext}`);
77
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE_LATEST;
78
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release_flavour.${ext}`);
79
- c.runtime.scheme = constants_1.BuildSchemes.RELEASE_DIST;
80
- expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1_flavour.${ext}`);
81
- });
82
- });
83
- it('throws an error when c.buildConfig.common.appNameInFileName is not present', () => {
84
- c.buildConfig.common.appNameInFileName = '';
85
- expect(() => {
86
- (0, resolveBuildFileName_1.resolveBuildFileName)(c);
87
- }).toThrowError(new Error('Missing value for "c.buildConfig.common.appNameInFileName"!'));
88
- });
89
- });
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resolveBuildVersion_1 = require("../../resolvers/resolveBuildVersion");
4
- const resolveBuildVersionOffset_1 = require("../../resolvers/resolveBuildVersionOffset");
5
- const resolveGenericRnvConfig_1 = require("../../resolvers/resolveGenericRnvConfig");
6
- const constants_1 = require("../../constants");
7
- jest.mock('../../resolvers/resolveBuildVersionOffset');
8
- jest.mock('../../resolvers/resolveGenericRnvConfig');
9
- describe('resolveBuildVersion', () => {
10
- const flavour = 'flavour';
11
- afterEach(() => {
12
- jest.clearAllMocks();
13
- jest.resetAllMocks();
14
- jest.resetModules();
15
- });
16
- it('returns proper string when there is no version offset', () => {
17
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
18
- runtime: {},
19
- buildConfig: { common: { packageVersion: '1.0.0' } },
20
- });
21
- resolveBuildVersionOffset_1.resolveBuildVersionOffset.mockReturnValue('');
22
- Object.values(constants_1.Platforms).forEach((platform) => {
23
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug');
24
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev');
25
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev');
26
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC })).toBe('v1.0.0.rc');
27
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_LATEST })).toBe('v1.0.0.rc');
28
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE })).toBe('v1.0.0');
29
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_LATEST })).toBe('v1.0.0');
30
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_DIST })).toBe('v1.0.0');
31
- });
32
- });
33
- it('returns proper string when there is version offset', () => {
34
- resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
35
- runtime: {},
36
- buildConfig: { common: { packageVersion: '1.0.0' } },
37
- });
38
- resolveBuildVersionOffset_1.resolveBuildVersionOffset.mockReturnValue('2');
39
- Object.values(constants_1.Platforms).forEach((platform) => {
40
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug-2');
41
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev-2');
42
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev-2');
43
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC })).toBe('v1.0.0.rc-2');
44
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_LATEST })).toBe('v1.0.0.rc-2');
45
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE })).toBe('v1.0.0-2');
46
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_LATEST })).toBe('v1.0.0-2');
47
- expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_DIST })).toBe('v1.0.0-2');
48
- });
49
- });
50
- });