@24i/smartapps-bigscreen-rnv-build-engine 0.17.9 → 0.17.10-alpha.2

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 (233) hide show
  1. package/package.json +5 -5
  2. package/dist/src/__tests__/engine.spec.js +0 -57
  3. package/dist/src/__tests__/resolvers/resolveBaseUrl.spec.js +0 -120
  4. package/dist/src/__tests__/resolvers/resolveBuildEnvName.spec.js +0 -23
  5. package/dist/src/__tests__/resolvers/resolveBuildEnvType.spec.js +0 -23
  6. package/dist/src/__tests__/resolvers/resolveBuildFileBaseName.spec.js +0 -100
  7. package/dist/src/__tests__/resolvers/resolveBuildFileExtension.spec.js +0 -26
  8. package/dist/src/__tests__/resolvers/resolveBuildFileName.spec.js +0 -109
  9. package/dist/src/__tests__/resolvers/resolveBuildVersion.spec.js +0 -60
  10. package/dist/src/__tests__/resolvers/resolveBuildVersionOffset.spec.js +0 -111
  11. package/dist/src/__tests__/resolvers/resolveDeployLocations.spec.js +0 -98
  12. package/dist/src/__tests__/resolvers/resolveGenericRnvConfig.spec.js +0 -92
  13. package/dist/src/__tests__/resolvers/resolveHbbtvDeployConfig.spec.js +0 -35
  14. package/dist/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.js +0 -53
  15. package/dist/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.js +0 -68
  16. package/dist/src/__tests__/resolvers/resolveSupportedPlatforms.spec.js +0 -22
  17. package/dist/src/__tests__/resolvers/resolveUsedFlavours.spec.js +0 -38
  18. package/dist/src/__tests__/resolvers/resolveZippedPlatformBuildsRelativeFilePath.spec.js +0 -18
  19. package/dist/src/__tests__/sdks/sdk-utils/registerSdkPath.spec.js +0 -60
  20. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/sdkInstaller.spec.js +0 -85
  21. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/clean.spec.js +0 -50
  22. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/download.spec.js +0 -103
  23. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/install.spec.js +0 -57
  24. package/dist/src/__tests__/sdks/sdk-utils/sdk-installer/services/unzip.spec.js +0 -51
  25. package/dist/src/__tests__/utils/forEachSupportedPlatformFlavour.spec.js +0 -104
  26. package/dist/src/__tests__/utils/generatePngSpriteMap.spec.js +0 -81
  27. package/dist/src/__tests__/utils/generateSvgSpriteMap.spec.js +0 -108
  28. package/dist/src/__tests__/utils/mergeSvgAndPngIcons.spec.js +0 -112
  29. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.spec.js +0 -116
  30. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceTemplateString.spec.js +0 -65
  31. package/dist/src/__tests__/utils/zipBuildsByPlatforms.spec.js +0 -69
  32. package/dist/src/constants/buildEnvironments.js +0 -9
  33. package/dist/src/constants/buildProductionPackages.js +0 -10
  34. package/dist/src/constants/buildSchemes.js +0 -19
  35. package/dist/src/constants/delopyLivePlatforms.js +0 -14
  36. package/dist/src/constants/index.js +0 -9
  37. package/dist/src/constants/platforms.js +0 -18
  38. package/dist/src/engine.js +0 -118
  39. package/dist/src/index.js +0 -30
  40. package/dist/src/resolvers/index.js +0 -42
  41. package/dist/src/resolvers/resolveBaseUrl.js +0 -27
  42. package/dist/src/resolvers/resolveBuildEnvName.js +0 -16
  43. package/dist/src/resolvers/resolveBuildEnvType.js +0 -23
  44. package/dist/src/resolvers/resolveBuildFileBaseName.js +0 -46
  45. package/dist/src/resolvers/resolveBuildFileExtension.js +0 -12
  46. package/dist/src/resolvers/resolveBuildFileName.js +0 -12
  47. package/dist/src/resolvers/resolveBuildVersion.js +0 -47
  48. package/dist/src/resolvers/resolveBuildVersionOffset.js +0 -34
  49. package/dist/src/resolvers/resolveDeployLocations.js +0 -76
  50. package/dist/src/resolvers/resolveGenericRnvConfig.js +0 -58
  51. package/dist/src/resolvers/resolveHbbtvDeployConfig.js +0 -13
  52. package/dist/src/resolvers/resolveHbbtvDeployUrl.js +0 -11
  53. package/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +0 -29
  54. package/dist/src/resolvers/resolvePackageVersions.js +0 -57
  55. package/dist/src/resolvers/resolveProductionZipFileRelativePath.js +0 -35
  56. package/dist/src/resolvers/resolveS3BucketAppPath.js +0 -15
  57. package/dist/src/resolvers/resolveSupportedFlavoursForPlatform.js +0 -8
  58. package/dist/src/resolvers/resolveSupportedPlatforms.js +0 -5
  59. package/dist/src/resolvers/resolveUsedFlavours.js +0 -23
  60. package/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +0 -38
  61. package/dist/src/resolvers/shared/constructFullUrl.js +0 -25
  62. package/dist/src/scripts/buildAllWithScheme.js +0 -25
  63. package/dist/src/scripts/buildAllWithSchemes.js +0 -88
  64. package/dist/src/scripts/buildProductionPackagesAll.js +0 -75
  65. package/dist/src/scripts/deployLiveAll.js +0 -27
  66. package/dist/src/scripts/deployLivePlatform.js +0 -44
  67. package/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +0 -30
  68. package/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +0 -151
  69. package/dist/src/scripts/generateDeployUrls/index.js +0 -4
  70. package/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +0 -65
  71. package/dist/src/scripts/gitReleaser/afterVersionBump.js +0 -18
  72. package/dist/src/scripts/gitReleaser/beforeVersionBump.js +0 -12
  73. package/dist/src/scripts/gitReleaser/checkReleaseNotes.js +0 -16
  74. package/dist/src/scripts/gitReleaser/pushRelease.js +0 -31
  75. package/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +0 -6
  76. package/dist/src/scripts/gitReleaser/pushReleaseNotes.js +0 -37
  77. package/dist/src/scripts/release/appCenter/appCenter.js +0 -17
  78. package/dist/src/scripts/release/appCenter/deployProductionPackagesToAppCenter.js +0 -127
  79. package/dist/src/scripts/release/appCenter/deployToAppCenter.js +0 -76
  80. package/dist/src/scripts/release/deleteSourceMaps.js +0 -11
  81. package/dist/src/scripts/release/githubRelease.js +0 -132
  82. package/dist/src/scripts/release/notifySlack/generateWebhoook.js +0 -69
  83. package/dist/src/scripts/release/notifySlack/makePayload.js +0 -89
  84. package/dist/src/scripts/release/notifySlack/notifySlack.js +0 -56
  85. package/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +0 -39
  86. package/dist/src/scripts/release/sentryRelease.js +0 -95
  87. package/dist/src/scripts/release/urlsMarkdown.js +0 -66
  88. package/dist/src/scripts/releaseAllWithScheme.js +0 -90
  89. package/dist/src/scripts/releaseAllWithSchemes.js +0 -158
  90. package/dist/src/scripts/releaseProductionPackagesAll.js +0 -13
  91. package/dist/src/scripts/utils/cmdUtils.js +0 -12
  92. package/dist/src/scripts/utils/fsUtils.js +0 -37
  93. package/dist/src/scripts/utils/generateIcons.js +0 -29
  94. package/dist/src/scripts/utils/gitUtils.js +0 -78
  95. package/dist/src/scripts/utils/index.js +0 -31
  96. package/dist/src/scripts/utils/stringUtils.js +0 -5
  97. package/dist/src/sdks/index.js +0 -51
  98. package/dist/src/sdks/sdk-androidtv/index.js +0 -17
  99. package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +0 -290
  100. package/dist/src/sdks/sdk-tizen/index.js +0 -17
  101. package/dist/src/sdks/sdk-tizen/sdkTizen.js +0 -178
  102. package/dist/src/sdks/sdk-utils/index.js +0 -18
  103. package/dist/src/sdks/sdk-utils/registerSdkPath.js +0 -14
  104. package/dist/src/sdks/sdk-utils/sdk-installer/index.js +0 -5
  105. package/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +0 -37
  106. package/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +0 -11
  107. package/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +0 -80
  108. package/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +0 -11
  109. package/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +0 -23
  110. package/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +0 -13
  111. package/dist/src/sdks/sdk-webos/index.js +0 -17
  112. package/dist/src/sdks/sdk-webos/sdkWebos.js +0 -90
  113. package/dist/src/sdks/sdk-webpack/index.js +0 -17
  114. package/dist/src/sdks/sdk-webpack/sdkWebpack.js +0 -121
  115. package/dist/src/sdks/sdk-xbox/index.js +0 -17
  116. package/dist/src/sdks/sdk-xbox/sdkXbox.js +0 -221
  117. package/dist/src/tasks/deploy/aswS3/aws.js +0 -40
  118. package/dist/src/tasks/deploy/aswS3/deployS3.js +0 -74
  119. package/dist/src/tasks/deploy/aswS3/distToLiveS3.js +0 -75
  120. package/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +0 -104
  121. package/dist/src/tasks/engineTasks.js +0 -24
  122. package/dist/src/tasks/task.rnv.build.js +0 -118
  123. package/dist/src/tasks/task.rnv.configure.js +0 -48
  124. package/dist/src/tasks/task.rnv.configureSoft.js +0 -30
  125. package/dist/src/tasks/task.rnv.deploy.js +0 -53
  126. package/dist/src/tasks/task.rnv.hooks.run.js +0 -74
  127. package/dist/src/tasks/task.rnv.package.js +0 -18
  128. package/dist/src/tasks/task.rnv.platform.configure.js +0 -79
  129. package/dist/src/tasks/task.rnv.project.configure.js +0 -120
  130. package/dist/src/tasks/task.rnv.start.js +0 -48
  131. package/dist/src/types/c.js +0 -2
  132. package/dist/src/types/constants.js +0 -2
  133. package/dist/src/types/index.js +0 -2
  134. package/dist/src/utils/copyEnvironmentFolder.js +0 -65
  135. package/dist/src/utils/copyTheoPlayerLibs.js +0 -48
  136. package/dist/src/utils/forEachSupportedPlatformFlavour.js +0 -46
  137. package/dist/src/utils/generatePngSpriteMap.js +0 -81
  138. package/dist/src/utils/generateSvgSpriteMap.js +0 -117
  139. package/dist/src/utils/getSafeSchemeString.js +0 -7
  140. package/dist/src/utils/mergeSvgAndPngIcons.js +0 -65
  141. package/dist/src/utils/replaceRelevantStringsInConfig/index.js +0 -5
  142. package/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +0 -31
  143. package/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +0 -40
  144. package/dist/src/utils/zipBuildsByPlatforms.js +0 -68
  145. package/dist/src/utils/zipStagingProdBuildsByPlatforms.js +0 -114
  146. package/dist/templates/platforms/_shared/template.js +0 -87
  147. package/dist/templates/platforms/_shared/utils/extendSass.js +0 -29
  148. package/dist/templates/platforms/_shared/utils/joinStrings.js +0 -5
  149. package/dist/templates/platforms/_shared/webpack.base.js +0 -248
  150. package/dist/templates/platforms/_shared/webpack.config.dev.js +0 -6
  151. package/dist/templates/platforms/_shared/webpack.config.prod.js +0 -6
  152. package/dist/templates/platforms/_shared/webpack.extend.js +0 -8
  153. package/dist/templates/platforms/_shared/webpackConfigAdapter.js +0 -99
  154. package/dist/templates/platforms/_shared/webpackPlatformProps.js +0 -8
  155. package/dist/templates/platforms/androidtv/project/README.md +0 -196
  156. package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +0 -38
  157. package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
  158. package/dist/templates/platforms/androidtv/project/amazoniap/libs/in-app-purchasing-2.0.76.jar +0 -0
  159. package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +0 -21
  160. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/java/com/twentyfouri/bridgetv/amazoniap/AmazonIapSevice.kt +0 -106
  161. package/dist/templates/platforms/androidtv/project/app/build.gradle +0 -110
  162. package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +0 -47
  163. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  164. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +0 -8
  165. package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +0 -52
  166. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +0 -12
  167. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +0 -382
  168. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +0 -104
  169. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +0 -17
  170. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +0 -6
  171. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +0 -27
  172. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +0 -10
  173. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +0 -6
  174. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +0 -73
  175. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +0 -13
  176. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +0 -14
  177. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +0 -26
  178. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +0 -51
  179. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +0 -26
  180. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +0 -30
  181. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +0 -38
  182. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/OverriddenHttpMediaDrmCallback.kt +0 -134
  183. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryConfigured.kt +0 -33
  184. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +0 -90
  185. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryTheoPlayerCustomized.kt +0 -14
  186. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryVersion.kt +0 -27
  187. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +0 -32
  188. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +0 -91
  189. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +0 -86
  190. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +0 -82
  191. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +0 -114
  192. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +0 -10
  193. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +0 -14
  194. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +0 -20
  195. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -25
  196. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +0 -10
  197. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/SourceParser.kt +0 -89
  198. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +0 -58
  199. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +0 -17
  200. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +0 -15
  201. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +0 -247
  202. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -557
  203. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +0 -10
  204. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +0 -7
  205. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +0 -7
  206. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +0 -8
  207. package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +0 -28
  208. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
  209. package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +0 -12
  210. package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +0 -4
  211. package/dist/templates/platforms/androidtv/project/build.gradle +0 -47
  212. package/dist/templates/platforms/androidtv/project/common/build.gradle +0 -37
  213. package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
  214. package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +0 -21
  215. package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +0 -114
  216. package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +0 -39
  217. package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
  218. package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +0 -21
  219. package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +0 -29
  220. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
  221. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +0 -6
  222. package/dist/templates/platforms/androidtv/project/gradle.properties +0 -4
  223. package/dist/templates/platforms/androidtv/project/gradlew +0 -185
  224. package/dist/templates/platforms/androidtv/project/gradlew.bat +0 -104
  225. package/dist/templates/platforms/androidtv/project/proguard-rules.pro +0 -42
  226. package/dist/templates/platforms/androidtv/project/settings.gradle +0 -4
  227. package/dist/templates/platforms/hbbtv/webpackPlatformProps.js +0 -24
  228. package/dist/templates/platforms/tizen/project/.project +0 -24
  229. package/dist/templates/platforms/tizen/project/.tproject +0 -12
  230. package/dist/templates/platforms/tizen/project/config.xml +0 -17
  231. package/dist/templates/platforms/webos/project/.project +0 -35
  232. package/dist/templates/platforms/webos/project/appinfo.json +0 -19
  233. package/dist/templates/platforms/webos/webpackPlatformProps.js +0 -8
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sdk_installer_1 = require("../../../../sdks/sdk-utils/sdk-installer");
4
- const services_1 = require("../../../../sdks/sdk-utils/sdk-installer/services");
5
- jest.mock('../../../../sdks/sdk-utils/sdk-installer/services/download');
6
- jest.mock('../../../../sdks/sdk-utils/sdk-installer/services/unzip');
7
- jest.mock('../../../../sdks/sdk-utils/sdk-installer/services/install');
8
- jest.mock('../../../../sdks/sdk-utils/sdk-installer/services/clean');
9
- describe('SDK Installer', () => {
10
- const URL_TO_DOWNLOAD_FILE_FROM = 'https://s3.amazonaws.com/file.zip';
11
- const runSdkInstallerWithDefinedZipPath = async () => {
12
- await (0, sdk_installer_1.sdkInstaller)(URL_TO_DOWNLOAD_FILE_FROM);
13
- };
14
- afterEach(() => {
15
- jest.clearAllMocks();
16
- });
17
- describe('throwing the errors', () => {
18
- it('throws an error when zipPath is not a URL', async () => {
19
- await expect(async () => {
20
- await (0, sdk_installer_1.sdkInstaller)('/local/path.zip');
21
- }).rejects.toBeInstanceOf(Error);
22
- });
23
- });
24
- describe('printing log messages', () => {
25
- it('do not print log messages by default', async () => {
26
- const writeSpy = jest.spyOn(process.stdout, 'write');
27
- await runSdkInstallerWithDefinedZipPath();
28
- expect(writeSpy).not.toHaveBeenCalled();
29
- });
30
- it('shows log messages when enabled', async () => {
31
- const writeSpy = jest.spyOn(process.stdout, 'write');
32
- writeSpy.mockImplementation(() => true);
33
- await (0, sdk_installer_1.sdkInstaller)(URL_TO_DOWNLOAD_FILE_FROM, '', true);
34
- expect(writeSpy).toHaveBeenCalled();
35
- });
36
- it('does not print log messages when it is not enabled', async () => {
37
- const writeSpy = jest.spyOn(process.stdout, 'write');
38
- await (0, sdk_installer_1.sdkInstaller)(URL_TO_DOWNLOAD_FILE_FROM, '', false);
39
- expect(writeSpy).not.toHaveBeenCalled();
40
- });
41
- });
42
- describe('passing values to services when correct URL to ZIP file is provided', () => {
43
- it('calls downloader with requested url to download file from', async () => {
44
- await runSdkInstallerWithDefinedZipPath();
45
- const filePathToSave = `${process.cwd()}/file.zip`;
46
- expect(services_1.download).toHaveBeenCalledWith(URL_TO_DOWNLOAD_FILE_FROM, filePathToSave);
47
- });
48
- it('calls unzipper with requested file path to unzip', async () => {
49
- await runSdkInstallerWithDefinedZipPath();
50
- expect(services_1.unzip).toHaveBeenCalledWith(`${process.cwd()}/file.zip`);
51
- });
52
- it('calls installer with path to unzipped directory only', async () => {
53
- await runSdkInstallerWithDefinedZipPath();
54
- expect(services_1.install).toHaveBeenCalledWith(`${process.cwd()}/file`, undefined);
55
- });
56
- it('calls installer with path to unzipped directory and path to install to', async () => {
57
- await (0, sdk_installer_1.sdkInstaller)(URL_TO_DOWNLOAD_FILE_FROM, '/install/path');
58
- expect(services_1.install).toHaveBeenCalledWith(`${process.cwd()}/file`, '/install/path');
59
- });
60
- it('calls cleaner with array including downloaded zip and unzipped dir paths', async () => {
61
- await runSdkInstallerWithDefinedZipPath();
62
- expect(services_1.clean).toHaveBeenCalledWith([
63
- `${process.cwd()}/file.zip`,
64
- `${process.cwd()}/file`,
65
- ]);
66
- });
67
- });
68
- describe('cleaning when error occurs', () => {
69
- it('calls cleaner when downloader throws an error', async () => {
70
- services_1.download.mockImplementationOnce(async () => { throw new Error(); });
71
- await expect(runSdkInstallerWithDefinedZipPath).rejects.toBeInstanceOf(Error);
72
- expect(services_1.clean).toBeCalledTimes(1);
73
- });
74
- it('calls cleaner when unzipper throws an error', async () => {
75
- services_1.unzip.mockImplementationOnce(() => { throw new Error(); });
76
- await expect(runSdkInstallerWithDefinedZipPath).rejects.toBeInstanceOf(Error);
77
- expect(services_1.clean).toBeCalledTimes(1);
78
- });
79
- it('calls cleaner when installer throws an error', async () => {
80
- services_1.install.mockImplementationOnce(() => { throw new Error(); });
81
- await expect(runSdkInstallerWithDefinedZipPath).rejects.toBeInstanceOf(Error);
82
- expect(services_1.clean).toBeCalledTimes(1);
83
- });
84
- });
85
- });
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const childProcess = __importStar(require("child_process"));
27
- const services_1 = require("../../../../../sdks/sdk-utils/sdk-installer/services");
28
- jest.mock('child_process');
29
- describe('SDK Installer - Cleaner', () => {
30
- afterEach(() => {
31
- jest.clearAllMocks();
32
- });
33
- it('removes all dirs and files listed as paths in array', () => {
34
- childProcess.spawnSync.mockImplementationOnce(() => { });
35
- const spawnSyncSpy = jest.spyOn(childProcess, 'spawnSync');
36
- const pathsToClean = [
37
- '/path/to/dir1',
38
- '/path/to/dir2',
39
- '/path/to/file1.zip',
40
- '/path/to/file2.js',
41
- ];
42
- (0, services_1.clean)(pathsToClean);
43
- expect(spawnSyncSpy).toHaveBeenCalledTimes(pathsToClean.length);
44
- const [call0, call1, call2, call3] = spawnSyncSpy.mock.calls;
45
- expect(call0).toEqual(['rm', ['-r', '/path/to/dir1']]);
46
- expect(call1).toEqual(['rm', ['-r', '/path/to/dir2']]);
47
- expect(call2).toEqual(['rm', ['-r', '/path/to/file1.zip']]);
48
- expect(call3).toEqual(['rm', ['-r', '/path/to/file2.js']]);
49
- });
50
- });
@@ -1,103 +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 stream_1 = __importDefault(require("stream"));
7
- const nock_1 = __importDefault(require("nock"));
8
- const http_1 = __importDefault(require("http"));
9
- const https_1 = __importDefault(require("https"));
10
- const fs_1 = __importDefault(require("fs"));
11
- const services_1 = require("../../../../../sdks/sdk-utils/sdk-installer/services");
12
- jest.mock('fs');
13
- fs_1.default.createWriteStream.mockImplementation(() => new stream_1.default.PassThrough());
14
- describe('SDK Installer - Downloader', () => {
15
- const HTTP_RESPONSE_STATUS_CODE_OK = 200;
16
- const HTTP_RESPONSE_STATUS_CODE_NOT_FOUND = 404;
17
- const httpBasePath = 'http://s3.amazonaws.com';
18
- const zipRelativeFilePath = '/file.zip';
19
- const zipFileHttpUrl = `${httpBasePath}${zipRelativeFilePath}`;
20
- const headersWithZipContentType = { 'Content-Type': 'application/zip' };
21
- const saveFilePath = `${process.cwd()}/test.zip`;
22
- const makeValidHttpNock = () => (0, nock_1.default)(httpBasePath)
23
- .get(zipRelativeFilePath)
24
- .reply(HTTP_RESPONSE_STATUS_CODE_OK, '', headersWithZipContentType);
25
- nock_1.default.disableNetConnect();
26
- afterEach(() => {
27
- jest.clearAllMocks();
28
- });
29
- afterAll(() => {
30
- nock_1.default.enableNetConnect();
31
- nock_1.default.cleanAll();
32
- nock_1.default.restore();
33
- });
34
- describe('Supported protocols', () => {
35
- it('calls http.get for URL with HTTP protocol', async () => {
36
- makeValidHttpNock();
37
- const getSpy = jest.spyOn(http_1.default, 'get');
38
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
39
- expect(getSpy).toBeCalledTimes(1);
40
- });
41
- it('calls https.get for URL with HTTPS protocol', async () => {
42
- (0, nock_1.default)(httpBasePath.replace('http:', 'https:'))
43
- .get(zipRelativeFilePath)
44
- .reply(HTTP_RESPONSE_STATUS_CODE_OK, '', headersWithZipContentType);
45
- const getSpy = jest.spyOn(https_1.default, 'get');
46
- await (0, services_1.download)(zipFileHttpUrl.replace('http:', 'https:'), saveFilePath);
47
- expect(getSpy).toBeCalledTimes(1);
48
- });
49
- it('throws an error when URL has unsupported protocol', async () => {
50
- await expect(async () => {
51
- await (0, services_1.download)('ftp://file.zip', saveFilePath);
52
- }).rejects.toThrow(new Error('ftp protocol is not supported'));
53
- });
54
- });
55
- describe('Handling response errors', () => {
56
- it('throws an error when returned content type is not application/zip', async () => {
57
- (0, nock_1.default)(httpBasePath)
58
- .get('/file.json')
59
- .reply(HTTP_RESPONSE_STATUS_CODE_OK, '', { 'Content-Type': 'application/json' });
60
- await expect(async () => {
61
- await (0, services_1.download)(`${httpBasePath}/file.json`, saveFilePath);
62
- }).rejects.toThrow(new Error('Wrong Content-Type: expected application/zip, received application/json'));
63
- (0, nock_1.default)(httpBasePath)
64
- .get(zipRelativeFilePath)
65
- .reply(HTTP_RESPONSE_STATUS_CODE_OK, '');
66
- await expect(async () => {
67
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
68
- }).rejects.toThrow(new Error('Missing Content-Type: expected application/zip'));
69
- });
70
- it('throws an error when request status is not 200', async () => {
71
- (0, nock_1.default)(httpBasePath)
72
- .get(zipRelativeFilePath)
73
- .reply(HTTP_RESPONSE_STATUS_CODE_NOT_FOUND, '', headersWithZipContentType);
74
- await expect(async () => {
75
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
76
- }).rejects.toThrow(new Error('Request Failed. Status Code: 404'));
77
- });
78
- });
79
- describe('Writing received data into a file', () => {
80
- beforeEach(() => {
81
- makeValidHttpNock();
82
- });
83
- it('Creates dest path if does not exist', async () => {
84
- const mkDirSync = jest.spyOn(fs_1.default, 'mkdirSync');
85
- fs_1.default.existsSync.mockImplementationOnce(() => false);
86
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
87
- expect(mkDirSync).toBeCalledTimes(1);
88
- expect(mkDirSync).toHaveBeenCalledWith(process.cwd(), { recursive: true });
89
- });
90
- it('Does not create dest path if path exists', async () => {
91
- const mkDirSync = jest.spyOn(fs_1.default, 'mkdirSync');
92
- fs_1.default.existsSync.mockImplementationOnce(() => true);
93
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
94
- expect(mkDirSync).toBeCalledTimes(0);
95
- });
96
- it('Calls write fn with dest param', async () => {
97
- const createWriteStream = jest.spyOn(fs_1.default, 'createWriteStream');
98
- await (0, services_1.download)(zipFileHttpUrl, saveFilePath);
99
- expect(createWriteStream).toBeCalledTimes(1);
100
- expect(createWriteStream).toHaveBeenCalledWith(saveFilePath);
101
- });
102
- });
103
- });
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const childProcess = __importStar(require("child_process"));
27
- const services_1 = require("../../../../../sdks/sdk-utils/sdk-installer/services");
28
- jest.mock('child_process');
29
- describe('SDK Installer - Installer', () => {
30
- childProcess.execSync.mockImplementation(() => '');
31
- afterEach(() => {
32
- jest.clearAllMocks();
33
- });
34
- describe('Calling external install.js script', () => {
35
- it('Calls with install.js path only when install path is not provided', () => {
36
- const execSyncSpy = jest.spyOn(childProcess, 'execSync');
37
- (0, services_1.install)('/install/from');
38
- expect(execSyncSpy).toHaveBeenCalledTimes(1);
39
- const params = execSyncSpy.mock.calls[0];
40
- const command = params[0];
41
- expect(command).toBe('node /install/from/install.js');
42
- });
43
- it('Calls with install path when it is provided', () => {
44
- const execSyncSpy = jest.spyOn(childProcess, 'execSync');
45
- (0, services_1.install)('/install/from', '/install/to');
46
- expect(execSyncSpy).toHaveBeenCalledTimes(1);
47
- const params = execSyncSpy.mock.calls[0];
48
- const command = params[0];
49
- expect(command).toBe('node /install/from/install.js /install/to');
50
- });
51
- });
52
- it('returns installed path', () => {
53
- childProcess.execSync.mockImplementationOnce(() => 'INSTALL_PATH=/sdk');
54
- const pathInstalledTo = (0, services_1.install)('/install/from');
55
- expect(pathInstalledTo).toBe('/sdk');
56
- });
57
- });
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const childProcess = __importStar(require("child_process"));
27
- const services_1 = require("../../../../../sdks/sdk-utils/sdk-installer/services");
28
- jest.mock('child_process');
29
- describe('SDK Installer - Unzipper', () => {
30
- childProcess.spawnSync.mockImplementation(() => ({ stderr: '' }));
31
- afterEach(() => {
32
- jest.clearAllMocks();
33
- });
34
- it('calls spawnSync with needed params', () => {
35
- const spawnSyncSpy = jest.spyOn(childProcess, 'spawnSync');
36
- (0, services_1.unzip)('/path/file.zip');
37
- expect(spawnSyncSpy).toHaveBeenCalledTimes(1);
38
- const params = spawnSyncSpy.mock.calls[0];
39
- const command = params[0];
40
- expect(command).toBe('unzip');
41
- const args = params[1] || [];
42
- expect(args).not.toBeUndefined();
43
- expect(args.includes('/path/file.zip')).toBe(true);
44
- });
45
- it('throws an error when error occurs during unzipping', async () => {
46
- childProcess.spawnSync.mockImplementationOnce(() => ({ stderr: 'error' }));
47
- expect(() => {
48
- (0, services_1.unzip)('');
49
- }).toThrow(new Error('error'));
50
- });
51
- });
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const forEachSupportedPlatformFlavour_1 = require("../../utils/forEachSupportedPlatformFlavour");
4
- describe('forEachSupportedPlatformFlavour', () => {
5
- const originalConsoleLog = console.log;
6
- beforeEach(() => {
7
- console.log = jest.fn();
8
- });
9
- afterEach(() => {
10
- console.log = originalConsoleLog;
11
- jest.resetAllMocks();
12
- jest.clearAllMocks();
13
- jest.resetModules();
14
- });
15
- it('calls provided callback for each supported flavour', () => {
16
- const rnvC = {
17
- runtime: {
18
- scheme: 'scheme1',
19
- },
20
- buildConfig: {
21
- defaults: {
22
- supportedPlatforms: [
23
- 'webtv',
24
- 'tizen',
25
- 'webos',
26
- ],
27
- },
28
- platforms: {
29
- webtv: { deploy: { supportedFlavours: ['flavour1', 'flavour2'] } },
30
- tizen: { deploy: { supportedFlavours: ['flavour2', 'flavour3'] } },
31
- webos: { deploy: { supportedFlavours: ['flavour4'] } },
32
- hbbtv: { deploy: { supportedFlavours: ['flavour1', 'flavour2'] } },
33
- },
34
- },
35
- };
36
- const spyCb = jest.fn();
37
- (0, forEachSupportedPlatformFlavour_1.forEachSupportedPlatformFlavour)(rnvC, spyCb);
38
- expect(spyCb).toBeCalledTimes(5);
39
- expect(spyCb.mock.calls[0][0]).toStrictEqual({
40
- platform: 'webtv', flavour: 'flavour1', scheme: 'scheme1',
41
- });
42
- expect(spyCb.mock.calls[1][0]).toStrictEqual({
43
- platform: 'webtv', flavour: 'flavour2', scheme: 'scheme1',
44
- });
45
- expect(spyCb.mock.calls[2][0]).toStrictEqual({
46
- platform: 'tizen', flavour: 'flavour2', scheme: 'scheme1',
47
- });
48
- expect(spyCb.mock.calls[3][0]).toStrictEqual({
49
- platform: 'tizen', flavour: 'flavour3', scheme: 'scheme1',
50
- });
51
- expect(spyCb.mock.calls[4][0]).toStrictEqual({
52
- platform: 'webos', flavour: 'flavour4', scheme: 'scheme1',
53
- });
54
- });
55
- it('logs progress message', () => {
56
- const rnvC = {
57
- runtime: {
58
- scheme: 'scheme1',
59
- },
60
- buildConfig: {
61
- defaults: {
62
- supportedPlatforms: [
63
- 'tizen',
64
- 'webos',
65
- ],
66
- },
67
- platforms: {
68
- tizen: { deploy: { supportedFlavours: ['flavour1', 'flavour2'] } },
69
- webos: { deploy: { supportedFlavours: ['flavour1'] } },
70
- },
71
- },
72
- };
73
- const spyCb = jest.fn();
74
- const mockedLog = console.log;
75
- (0, forEachSupportedPlatformFlavour_1.forEachSupportedPlatformFlavour)(rnvC, spyCb);
76
- expect(mockedLog).toBeCalledTimes(3);
77
- expect(mockedLog.mock.calls[0][0]).toBe('\nProcessing "tizen" platform (1/2) and its "flavour1" flavour (1/2)...');
78
- expect(mockedLog.mock.calls[1][0]).toBe('\nProcessing "tizen" platform (1/2) and its "flavour2" flavour (2/2)...');
79
- expect(mockedLog.mock.calls[2][0]).toBe('\nProcessing "webos" platform (2/2) and its "flavour1" flavour (1/1)...');
80
- });
81
- it('not throws when supported flavour for platform are not defined', () => {
82
- const rnvC = {
83
- runtime: {
84
- scheme: 'scheme1',
85
- },
86
- buildConfig: {
87
- defaults: {
88
- supportedPlatforms: [
89
- 'tizen',
90
- 'webos',
91
- 'webtv',
92
- ],
93
- },
94
- platforms: {
95
- tizen: { deploy: {} },
96
- webos: {},
97
- },
98
- },
99
- };
100
- const spyCb = jest.fn();
101
- expect(() => (0, forEachSupportedPlatformFlavour_1.forEachSupportedPlatformFlavour)(rnvC, spyCb)).not.toThrow();
102
- expect(spyCb).toBeCalledTimes(0);
103
- });
104
- });
@@ -1,81 +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 fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const generatePngSpriteMap_1 = require("../../utils/generatePngSpriteMap");
9
- const mockIconBase64 = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEU0OkArMjhobHEoPUPFEBIuO0L+AAC2FBZ2JyuNICOfGx7xAwTjCAlCNTvVDA1aLzQ3COjMAAAAVUlEQVQI12NgwAaCDSA0888GCItjn0szWGBJTVoGSCjWs8TleQCQYV95evdxkFT8Kpe0PLDi5WfKd4LUsN5zS1sKFolt8bwAZrCaGqNYJAgFDEpQAAAzmxafI4vZWwAAAABJRU5ErkJggg==`';
10
- describe.skip('generatePngSpriteMap', () => {
11
- jest.setTimeout(60000);
12
- const originalConsoleLogFn = console.log;
13
- const projectDir = path_1.default.resolve(process.cwd(), 'temp_generatePngSpriteMap');
14
- const platformAssetsDir = path_1.default.resolve(projectDir, 'platformAssets');
15
- const runtimeDir = path_1.default.resolve(platformAssetsDir, 'runtime');
16
- const iconsDir = path_1.default.resolve(projectDir, 'icons');
17
- const rnvC = {
18
- runtime: {
19
- appId: 'appId',
20
- },
21
- platform: 'platform1',
22
- paths: {
23
- project: {
24
- dir: projectDir,
25
- builds: {
26
- dir: path_1.default.resolve(projectDir, 'platformBuilds'),
27
- },
28
- assets: {
29
- dir: platformAssetsDir,
30
- },
31
- },
32
- },
33
- buildConfig: {
34
- common: {
35
- pngIconPrefix: 'png-',
36
- },
37
- },
38
- };
39
- beforeEach(() => {
40
- fs_1.default.mkdirSync(iconsDir, { recursive: true });
41
- fs_1.default.mkdirSync(rnvC.paths.project.builds.dir, { recursive: true });
42
- fs_1.default.mkdirSync(runtimeDir, { recursive: true });
43
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon1.png'), mockIconBase64, 'base64');
44
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon2.png'), mockIconBase64, 'base64');
45
- fs_1.default.mkdirSync(path_1.default.resolve(iconsDir, 'inner'), { recursive: true });
46
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'inner/icon3.png'), mockIconBase64, 'base64');
47
- console.log = () => { };
48
- });
49
- afterEach(() => {
50
- fs_1.default.rmSync(projectDir, { recursive: true });
51
- console.log = originalConsoleLogFn;
52
- });
53
- it('generates png_icons.css and png_icons.json files', async () => {
54
- await (0, generatePngSpriteMap_1.generatePngSpriteMap)(rnvC);
55
- expect(fs_1.default.existsSync(path_1.default.resolve(runtimeDir, 'png_icons.css'))).toBeTruthy();
56
- expect(fs_1.default.existsSync(path_1.default.resolve(platformAssetsDir, 'png_icons.json'))).toBeTruthy();
57
- const outputJsonPath = path_1.default.resolve(platformAssetsDir, 'png_icons.json');
58
- expect(fs_1.default.existsSync(outputJsonPath)).toBe(true);
59
- const outputJsonContent = JSON.parse(fs_1.default.readFileSync(outputJsonPath).toString());
60
- expect(Object.keys(outputJsonContent)).toStrictEqual([
61
- 'png-icon1',
62
- 'png-icon2',
63
- 'png-icon3',
64
- ]);
65
- });
66
- it('remove empty files when nothing is generated', async () => {
67
- fs_1.default.rmSync(iconsDir, { recursive: true });
68
- fs_1.default.mkdirSync(iconsDir, { recursive: true });
69
- await (0, generatePngSpriteMap_1.generatePngSpriteMap)(rnvC);
70
- expect(fs_1.default.existsSync(path_1.default.resolve(runtimeDir, 'sprite.png'))).toBeFalsy();
71
- expect(fs_1.default.existsSync(path_1.default.resolve(runtimeDir, 'png_icons.css'))).toBeFalsy();
72
- expect(fs_1.default.existsSync(path_1.default.resolve(platformAssetsDir, 'png_icons.json'))).toBeFalsy();
73
- });
74
- it('no empty files when icons folder is not present', async () => {
75
- fs_1.default.rmSync(iconsDir, { recursive: true });
76
- await (0, generatePngSpriteMap_1.generatePngSpriteMap)(rnvC);
77
- expect(fs_1.default.existsSync(path_1.default.resolve(runtimeDir, 'sprite.png'))).toBeFalsy();
78
- expect(fs_1.default.existsSync(path_1.default.resolve(runtimeDir, 'png_icons.css'))).toBeFalsy();
79
- expect(fs_1.default.existsSync(path_1.default.resolve(platformAssetsDir, 'png_icons.json'))).toBeFalsy();
80
- });
81
- });
@@ -1,108 +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 fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const child_process_1 = require("child_process");
9
- const generateSvgSpriteMap_1 = require("../../utils/generateSvgSpriteMap");
10
- describe('generateSvgSpriteMap', () => {
11
- const originalConsoleLogFn = console.log;
12
- const projectDir = path_1.default.resolve(process.cwd(), 'temp_generateSvgSpriteMap');
13
- const platformAssetsDir = path_1.default.resolve(projectDir, 'platformAssets');
14
- const runtimeDir = path_1.default.resolve(platformAssetsDir, 'runtime');
15
- const iconsDir = path_1.default.resolve(projectDir, 'icons');
16
- const svgoConfigPath = path_1.default.resolve(iconsDir, '.svgo.yml');
17
- const outputCssFilePath = path_1.default.resolve(runtimeDir, 'svg_icons.css');
18
- const outputJsonFilePath = path_1.default.resolve(platformAssetsDir, 'svg_icons.json');
19
- const rnvC = {
20
- runtime: {
21
- appId: 'appId',
22
- },
23
- platform: 'platform1',
24
- paths: {
25
- project: {
26
- dir: projectDir,
27
- builds: {
28
- dir: path_1.default.resolve(projectDir, 'platformBuilds'),
29
- },
30
- assets: {
31
- dir: platformAssetsDir,
32
- },
33
- },
34
- },
35
- buildConfig: {
36
- common: {
37
- svgIconsMaskList: [],
38
- svgIconPrefix: 'svg-',
39
- },
40
- },
41
- };
42
- beforeEach(() => {
43
- fs_1.default.mkdirSync(iconsDir, { recursive: true });
44
- fs_1.default.mkdirSync(rnvC.paths.project.builds.dir, { recursive: true });
45
- fs_1.default.mkdirSync(runtimeDir, { recursive: true });
46
- console.log = () => { };
47
- });
48
- afterEach(() => {
49
- fs_1.default.rmdirSync(projectDir, { recursive: true });
50
- console.log = originalConsoleLogFn;
51
- });
52
- it('should not generate any output when no icons are found', () => {
53
- (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
54
- expect(fs_1.default.existsSync(outputCssFilePath)).toBeFalsy();
55
- expect(fs_1.default.existsSync(outputJsonFilePath)).toBeFalsy();
56
- });
57
- it('should not generate any output when no .svgo.yml is not found', () => {
58
- const svgData = '<svg viewBox="0 0 10 10"><circle cx="0" cy="0" r="10" fill="red" /></svg>';
59
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon1.svg'), svgData);
60
- (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
61
- expect(fs_1.default.existsSync(outputCssFilePath)).toBeFalsy();
62
- expect(fs_1.default.existsSync(outputJsonFilePath)).toBeFalsy();
63
- });
64
- it('should not generate any output when no icons folder is not found', () => {
65
- (0, child_process_1.execSync)(`rm -rf ${iconsDir}`);
66
- (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
67
- expect(fs_1.default.existsSync(outputCssFilePath)).toBeFalsy();
68
- expect(fs_1.default.existsSync(outputJsonFilePath)).toBeFalsy();
69
- });
70
- it('generates svg_icons.css and svg_icons.json when input icons are found', () => {
71
- fs_1.default.writeFileSync(svgoConfigPath, 'multipass: true');
72
- const svgData = '<svg viewBox="0 0 10 10"><circle cx="0" cy="0" r="10" fill="red" /></svg>';
73
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon1.svg'), svgData);
74
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon2.svg'), svgData);
75
- fs_1.default.mkdirSync(path_1.default.resolve(iconsDir, 'inner'), { recursive: true });
76
- fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'inner/icon3.svg'), svgData);
77
- rnvC.buildConfig.common.svgIconsMaskList.push('icon1.svg');
78
- (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
79
- rnvC.buildConfig.common.svgIconsMaskList.length = 0;
80
- expect(fs_1.default.existsSync(outputCssFilePath)).toBe(true);
81
- const outputCssContentRows = fs_1.default.readFileSync(outputCssFilePath).toString().split('\n');
82
- expect(outputCssContentRows).toHaveLength(15);
83
- expect(outputCssContentRows[0]).toBe('.icon-svg-icon1 {');
84
- expect(outputCssContentRows[1].startsWith(' background-image: url(')).toBe(true);
85
- expect(outputCssContentRows[2]).toBe('}');
86
- expect(outputCssContentRows[3]).toBe('');
87
- expect(outputCssContentRows[4]).toBe('.icon-mask-svg-icon1 {');
88
- expect(outputCssContentRows[5].startsWith(' -webkit-mask-image: url(')).toBe(true);
89
- expect(outputCssContentRows[6]).toBe('}');
90
- expect(outputCssContentRows[7]).toBe('');
91
- expect(outputCssContentRows[8]).toBe('.icon-svg-icon2 {');
92
- expect(outputCssContentRows[9].startsWith(' background-image: url(')).toBe(true);
93
- expect(outputCssContentRows[10]).toBe('}');
94
- expect(outputCssContentRows[11]).toBe('');
95
- expect(outputCssContentRows[12]).toBe('.icon-svg-icon3 {');
96
- expect(outputCssContentRows[13].startsWith(' background-image: url(')).toBe(true);
97
- expect(outputCssContentRows[14]).toBe('}');
98
- const outputJsonPath = path_1.default.resolve(platformAssetsDir, 'svg_icons.json');
99
- expect(fs_1.default.existsSync(outputJsonPath)).toBe(true);
100
- const outputJsonContent = JSON.parse(fs_1.default.readFileSync(outputJsonPath).toString());
101
- expect(outputJsonContent).toStrictEqual({
102
- 'svg-icon1': '',
103
- 'svg-icon2': '',
104
- 'svg-icon3': '',
105
- 'mask-svg-icon1': '',
106
- });
107
- });
108
- });