@24i/smartapps-bigscreen-rnv-build-engine 0.10.1-alpha.1519 → 0.10.1-alpha.1530

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 (30) hide show
  1. package/.eslintcache +1 -0
  2. package/dist/src/__tests__/engine.spec.js +57 -0
  3. package/dist/src/__tests__/utils/forEachSupportedPlatformFlavour.spec.js +104 -0
  4. package/dist/src/__tests__/utils/generateSvgSpriteMap.spec.js +85 -0
  5. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.spec.js +116 -0
  6. package/dist/src/__tests__/utils/replaceRelevantStringsInConfig/replaceTemplateString.spec.js +66 -0
  7. package/dist/src/__tests__/utils/zipBuildsByPlatforms.spec.js +69 -0
  8. package/dist/src/engine.js +1 -2
  9. package/dist/src/resolvers/resolveGenericRnvConfig.js +5 -2
  10. package/dist/src/utils/generateSvgSpriteMap.js +4 -2
  11. package/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +3 -5
  12. package/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +8 -30
  13. package/dist/src/utils/zipBuildsByPlatforms.js +8 -3
  14. package/dist/templates/platforms/_shared/webpack.base.js +23 -7
  15. package/dist/templates/platforms/entone/webpack.config.dev.js +1 -1
  16. package/dist/templates/platforms/entone/webpack.config.prod.js +1 -1
  17. package/dist/templates/platforms/hbbtv/webpack.config.dev.js +1 -1
  18. package/dist/templates/platforms/hbbtv/webpack.config.prod.js +1 -1
  19. package/dist/templates/platforms/kreatv/webpack.config.dev.js +1 -1
  20. package/dist/templates/platforms/kreatv/webpack.config.prod.js +1 -1
  21. package/dist/templates/platforms/saphi/webpack.config.dev.js +1 -1
  22. package/dist/templates/platforms/saphi/webpack.config.prod.js +1 -1
  23. package/dist/templates/platforms/tizen/webpack.config.dev.js +1 -1
  24. package/dist/templates/platforms/tizen/webpack.config.prod.js +1 -1
  25. package/dist/templates/platforms/webos/webpack.config.dev.js +1 -1
  26. package/dist/templates/platforms/webos/webpack.config.prod.js +1 -1
  27. package/dist/templates/platforms/webtv/webpack.config.dev.js +1 -1
  28. package/dist/templates/platforms/webtv/webpack.config.prod.js +1 -1
  29. package/package.json +5 -3
  30. package/dist/src/utils/mergeDeep.js +0 -23
package/.eslintcache ADDED
@@ -0,0 +1 @@
1
+ [{"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/@24i/smartapps-bigscreen-icon/index.d.ts":"1","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/better-opn/index.d.ts":"2","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/filemanager-webpack-plugin/index.d.ts":"3","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/rnv/index.d.ts":"4","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBaseUrl.spec.ts":"5","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildFileExtension.spec.ts":"6","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildFileName.spec.ts":"7","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildVersion.spec.ts":"8","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildVersionOffset.spec.ts":"9","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveDeployLocations.spec.ts":"10","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveGenericRnvConfig.spec.ts":"11","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvDeployConfig.spec.ts":"12","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.ts":"13","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.ts":"14","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveSupportedPlatforms.spec.ts":"15","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveUsedFlavours.spec.ts":"16","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveZippedPlatformBuildsRelativeFilePath.spec.ts":"17","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/registerSdkPath.spec.ts":"18","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/sdkInstaller.spec.ts":"19","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/clean.spec.ts":"20","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/download.spec.ts":"21","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/install.spec.ts":"22","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/unzip.spec.ts":"23","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/buildSchemes.ts":"24","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/index.ts":"25","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/platforms.ts":"26","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/engine.ts":"27","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/index.ts":"28","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/index.ts":"29","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBaseUrl.ts":"30","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildFileExtension.ts":"31","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildFileName.ts":"32","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildVersion.ts":"33","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildVersionOffset.ts":"34","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveDeployLocations.ts":"35","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveGenericRnvConfig.ts":"36","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvDeployConfig.ts":"37","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvDeployUrl.ts":"38","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.ts":"39","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveSupportedPlatforms.ts":"40","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveUsedFlavours.ts":"41","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.ts":"42","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/buildAllWithScheme.ts":"43","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/formatTableDataSpaces.ts":"44","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/generateDeployUrls.ts":"45","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/index.ts":"46","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/makeTableDataByScheme.ts":"47","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/afterVersionBump.ts":"48","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/beforeVersionBump.ts":"49","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/checkReleaseNotes.ts":"50","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushRelease.ts":"51","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushReleaseCandidate.ts":"52","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushReleaseNotes.ts":"53","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/deleteSourceMaps.ts":"54","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/deployToAppCenter.ts":"55","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/githubRelease.ts":"56","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/generateWebhoook.ts":"57","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/makePayload.ts":"58","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/notifySlack.ts":"59","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/slackBlockKitBuilder.ts":"60","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/sentryRelease.ts":"61","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/urlsMarkdown.ts":"62","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/releaseAllWithScheme.ts":"63","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/cmdUtils.ts":"64","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/fsUtils.ts":"65","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/gitUtils.ts":"66","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/index.ts":"67","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/stringUtils.ts":"68","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/index.ts":"69","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-tizen/index.ts":"70","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-tizen/sdkTizen.ts":"71","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/index.ts":"72","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/registerSdkPath.ts":"73","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/index.ts":"74","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/sdkInstaller.ts":"75","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/clean.ts":"76","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/download.ts":"77","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/index.ts":"78","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/install.ts":"79","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/unzip.ts":"80","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webos/index.ts":"81","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webos/sdkWebos.ts":"82","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webpack/index.ts":"83","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webpack/sdkWebpack.ts":"84","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/aswS3/aws.ts":"85","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/aswS3/deployS3.ts":"86","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/hbbtv/deployHbbtv.ts":"87","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/engineTasks.ts":"88","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.build.ts":"89","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.configure.ts":"90","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.configureSoft.ts":"91","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.deploy.ts":"92","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.hooks.run.ts":"93","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.package.ts":"94","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.project.configure.ts":"95","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.start.ts":"96","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/c.ts":"97","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/constants.ts":"98","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/index.ts":"99","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/forEachSupportedPlatformFlavour.ts":"100","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/generateSvgSpriteMap.ts":"101","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/mergeDeep.ts":"102","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/index.ts":"103","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.ts":"104","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.ts":"105","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/zipBuildsByPlatforms.ts":"106","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/_shared/template.ts":"107","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/_shared/webpack.base.ts":"108","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/entone/webpack.config.dev.ts":"109","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/entone/webpack.config.prod.ts":"110","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/hbbtv/webpack.config.dev.ts":"111","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/hbbtv/webpack.config.prod.ts":"112","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/saphi/webpack.config.dev.ts":"113","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/saphi/webpack.config.prod.ts":"114","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/tizen/webpack.config.dev.ts":"115","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/tizen/webpack.config.prod.ts":"116","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webos/webpack.config.dev.ts":"117","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webos/webpack.config.prod.ts":"118","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webtv/webpack.config.dev.ts":"119","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webtv/webpack.config.prod.ts":"120","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/kreatv/webpack.config.dev.ts":"121","/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/kreatv/webpack.config.prod.ts":"122"},{"size":75,"mtime":1627904435043,"results":"123","hashOfConfig":"124"},{"size":29,"mtime":1627904435043,"results":"125","hashOfConfig":"124"},{"size":45,"mtime":1627904435043,"results":"126","hashOfConfig":"124"},{"size":8681,"mtime":1627904435043,"results":"127","hashOfConfig":"124"},{"size":4791,"mtime":1633521871415,"results":"128","hashOfConfig":"124"},{"size":1065,"mtime":1633521871415,"results":"129","hashOfConfig":"124"},{"size":5232,"mtime":1633521871415,"results":"130","hashOfConfig":"124"},{"size":3731,"mtime":1633521871415,"results":"131","hashOfConfig":"124"},{"size":4588,"mtime":1633521871416,"results":"132","hashOfConfig":"124"},{"size":3690,"mtime":1633521871416,"results":"133","hashOfConfig":"124"},{"size":3166,"mtime":1633521871416,"results":"134","hashOfConfig":"124"},{"size":1953,"mtime":1633521871417,"results":"135","hashOfConfig":"124"},{"size":2254,"mtime":1633521871417,"results":"136","hashOfConfig":"124"},{"size":3211,"mtime":1633521871417,"results":"137","hashOfConfig":"124"},{"size":877,"mtime":1633521871418,"results":"138","hashOfConfig":"124"},{"size":1380,"mtime":1633521871418,"results":"139","hashOfConfig":"124"},{"size":913,"mtime":1633521871418,"results":"140","hashOfConfig":"124"},{"size":2610,"mtime":1630330436500,"results":"141","hashOfConfig":"124"},{"size":4413,"mtime":1630934861294,"results":"142","hashOfConfig":"124"},{"size":1097,"mtime":1630330436500,"results":"143","hashOfConfig":"124"},{"size":4755,"mtime":1630934861294,"results":"144","hashOfConfig":"124"},{"size":1518,"mtime":1630330436501,"results":"145","hashOfConfig":"124"},{"size":1109,"mtime":1630330436501,"results":"146","hashOfConfig":"124"},{"size":270,"mtime":1629665964550,"results":"147","hashOfConfig":"124"},{"size":88,"mtime":1627904435044,"results":"148","hashOfConfig":"124"},{"size":204,"mtime":1633521871419,"results":"149","hashOfConfig":"124"},{"size":3330,"mtime":1633521871420,"results":"150","hashOfConfig":"124"},{"size":204,"mtime":1630934861294,"results":"151","hashOfConfig":"124"},{"size":930,"mtime":1629665964550,"results":"152","hashOfConfig":"124"},{"size":1153,"mtime":1633521871420,"results":"153","hashOfConfig":"124"},{"size":360,"mtime":1629665964550,"results":"154","hashOfConfig":"124"},{"size":1318,"mtime":1633521871420,"results":"155","hashOfConfig":"124"},{"size":1560,"mtime":1629665964551,"results":"156","hashOfConfig":"124"},{"size":1341,"mtime":1627904435045,"results":"157","hashOfConfig":"124"},{"size":3341,"mtime":1633521871420,"results":"158","hashOfConfig":"124"},{"size":1172,"mtime":1633521871420,"results":"159","hashOfConfig":"124"},{"size":399,"mtime":1627904435046,"results":"160","hashOfConfig":"124"},{"size":646,"mtime":1633521871421,"results":"161","hashOfConfig":"124"},{"size":1021,"mtime":1633521871421,"results":"162","hashOfConfig":"124"},{"size":261,"mtime":1629665964551,"results":"163","hashOfConfig":"124"},{"size":1017,"mtime":1629665964552,"results":"164","hashOfConfig":"124"},{"size":740,"mtime":1633521871421,"results":"165","hashOfConfig":"124"},{"size":1115,"mtime":1629665964552,"results":"166","hashOfConfig":"124"},{"size":1177,"mtime":1629665964552,"results":"167","hashOfConfig":"124"},{"size":3117,"mtime":1630934861294,"results":"168","hashOfConfig":"124"},{"size":82,"mtime":1630934861295,"results":"169","hashOfConfig":"124"},{"size":2839,"mtime":1629665964552,"results":"170","hashOfConfig":"124"},{"size":951,"mtime":1627904435047,"results":"171","hashOfConfig":"124"},{"size":386,"mtime":1628192669562,"results":"172","hashOfConfig":"124"},{"size":660,"mtime":1628192669562,"results":"173","hashOfConfig":"124"},{"size":1335,"mtime":1628192669563,"results":"174","hashOfConfig":"124"},{"size":381,"mtime":1627904435048,"results":"175","hashOfConfig":"124"},{"size":1577,"mtime":1628192669563,"results":"176","hashOfConfig":"124"},{"size":408,"mtime":1627904435048,"results":"177","hashOfConfig":"124"},{"size":2827,"mtime":1629665964552,"results":"178","hashOfConfig":"124"},{"size":4977,"mtime":1629665964553,"results":"179","hashOfConfig":"124"},{"size":1820,"mtime":1628864961979,"results":"180","hashOfConfig":"124"},{"size":3714,"mtime":1629665964553,"results":"181","hashOfConfig":"124"},{"size":1097,"mtime":1629665964553,"results":"182","hashOfConfig":"124"},{"size":923,"mtime":1627904435049,"results":"183","hashOfConfig":"124"},{"size":2885,"mtime":1629665964553,"results":"184","hashOfConfig":"124"},{"size":3003,"mtime":1633521871422,"results":"185","hashOfConfig":"124"},{"size":2963,"mtime":1629665964554,"results":"186","hashOfConfig":"124"},{"size":492,"mtime":1627904435050,"results":"187","hashOfConfig":"124"},{"size":480,"mtime":1629665964554,"results":"188","hashOfConfig":"124"},{"size":3289,"mtime":1628192669565,"results":"189","hashOfConfig":"124"},{"size":164,"mtime":1627904435051,"results":"190","hashOfConfig":"124"},{"size":96,"mtime":1627904435051,"results":"191","hashOfConfig":"124"},{"size":561,"mtime":1627904435051,"results":"192","hashOfConfig":"124"},{"size":28,"mtime":1630934861295,"results":"193","hashOfConfig":"124"},{"size":10124,"mtime":1630934861295,"results":"194","hashOfConfig":"124"},{"size":68,"mtime":1630330436501,"results":"195","hashOfConfig":"124"},{"size":489,"mtime":1630330436501,"results":"196","hashOfConfig":"124"},{"size":47,"mtime":1630330436501,"results":"197","hashOfConfig":"124"},{"size":1542,"mtime":1630934861295,"results":"198","hashOfConfig":"124"},{"size":268,"mtime":1630330436502,"results":"199","hashOfConfig":"124"},{"size":1978,"mtime":1630330436502,"results":"200","hashOfConfig":"124"},{"size":142,"mtime":1630330436502,"results":"201","hashOfConfig":"124"},{"size":1089,"mtime":1630330436502,"results":"202","hashOfConfig":"124"},{"size":407,"mtime":1630330436502,"results":"203","hashOfConfig":"124"},{"size":28,"mtime":1630934861295,"results":"204","hashOfConfig":"124"},{"size":5332,"mtime":1631721998506,"results":"205","hashOfConfig":"124"},{"size":30,"mtime":1630934861296,"results":"206","hashOfConfig":"124"},{"size":968,"mtime":1630934861296,"results":"207","hashOfConfig":"124"},{"size":607,"mtime":1629665964554,"results":"208","hashOfConfig":"124"},{"size":2189,"mtime":1629665964554,"results":"209","hashOfConfig":"124"},{"size":3989,"mtime":1633521871422,"results":"210","hashOfConfig":"124"},{"size":783,"mtime":1627904435054,"results":"211","hashOfConfig":"124"},{"size":3022,"mtime":1633521871423,"results":"212","hashOfConfig":"124"},{"size":1640,"mtime":1633521871424,"results":"213","hashOfConfig":"124"},{"size":1320,"mtime":1627904435055,"results":"214","hashOfConfig":"124"},{"size":1396,"mtime":1633521871425,"results":"215","hashOfConfig":"124"},{"size":1931,"mtime":1627904435055,"results":"216","hashOfConfig":"124"},{"size":1045,"mtime":1627904435056,"results":"217","hashOfConfig":"124"},{"size":5206,"mtime":1627904435056,"results":"218","hashOfConfig":"124"},{"size":2153,"mtime":1633521871425,"results":"219","hashOfConfig":"124"},{"size":9437,"mtime":1633521871425,"results":"220","hashOfConfig":"124"},{"size":255,"mtime":1629665964555,"results":"221","hashOfConfig":"124"},{"size":2955,"mtime":1629665964555,"results":"222","hashOfConfig":"124"},{"size":1419,"mtime":1629665964555,"results":"223","hashOfConfig":"124"},{"size":3896,"mtime":1631721998509,"results":"224","hashOfConfig":"124"},{"size":681,"mtime":1629665964555,"results":"225","hashOfConfig":"124"},{"size":83,"mtime":1627904435057,"results":"226","hashOfConfig":"124"},{"size":1168,"mtime":1627904435057,"results":"227","hashOfConfig":"124"},{"size":2593,"mtime":1627904435058,"results":"228","hashOfConfig":"124"},{"size":1963,"mtime":1629665964556,"results":"229","hashOfConfig":"124"},{"size":3219,"mtime":1627904435058,"results":"230","hashOfConfig":"124"},{"size":10576,"mtime":1631721998532,"results":"231","hashOfConfig":"124"},{"size":1461,"mtime":1627904435059,"results":"232","hashOfConfig":"124"},{"size":1327,"mtime":1627904435059,"results":"233","hashOfConfig":"124"},{"size":2659,"mtime":1627904435059,"results":"234","hashOfConfig":"124"},{"size":2525,"mtime":1627904435060,"results":"235","hashOfConfig":"124"},{"size":1461,"mtime":1627904435060,"results":"236","hashOfConfig":"124"},{"size":1327,"mtime":1627904435060,"results":"237","hashOfConfig":"124"},{"size":1488,"mtime":1627904435061,"results":"238","hashOfConfig":"124"},{"size":1327,"mtime":1627904435061,"results":"239","hashOfConfig":"124"},{"size":1552,"mtime":1627904435064,"results":"240","hashOfConfig":"124"},{"size":1364,"mtime":1627904435064,"results":"241","hashOfConfig":"124"},{"size":1461,"mtime":1627904435064,"results":"242","hashOfConfig":"124"},{"size":1327,"mtime":1627904435064,"results":"243","hashOfConfig":"124"},{"size":1461,"mtime":1633521871426,"results":"244","hashOfConfig":"124"},{"size":1327,"mtime":1633521871426,"results":"245","hashOfConfig":"124"},{"filePath":"246","messages":"247","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"ov9brn",{"filePath":"248","messages":"249","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"250","messages":"251","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"252","messages":"253","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"254","messages":"255","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"256","messages":"257","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"258","messages":"259","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"260","messages":"261","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"262","messages":"263","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"264","messages":"265","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"266","messages":"267","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"268","messages":"269","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"270","messages":"271","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"272","messages":"273","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"274","messages":"275","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"276","messages":"277","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"278","messages":"279","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"280","messages":"281","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"282","messages":"283","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"284","messages":"285","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"286","messages":"287","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"288","messages":"289","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"290","messages":"291","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"292","messages":"293","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"294","messages":"295","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"296","messages":"297","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"298","messages":"299","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"300","messages":"301","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"302","messages":"303","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"304","messages":"305","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"306","messages":"307","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"308","messages":"309","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"310","messages":"311","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"312","messages":"313","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"314","messages":"315","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"316","messages":"317","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"318","messages":"319","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"320","messages":"321","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"322","messages":"323","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"324","messages":"325","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"326","messages":"327","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"328","messages":"329","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"330","messages":"331","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"332","messages":"333","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"334","messages":"335","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"336","messages":"337","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"338","messages":"339","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"340","messages":"341","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"342","messages":"343","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"344","messages":"345","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"346","messages":"347","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"348","messages":"349","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"350","messages":"351","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"352","messages":"353","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"354","messages":"355","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"356","messages":"357","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"358","messages":"359","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"360","messages":"361","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"362","messages":"363","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"364","messages":"365","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"366","messages":"367","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"368","messages":"369","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"370","messages":"371","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"372","messages":"373","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"374","messages":"375","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"376","messages":"377","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"378","messages":"379","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"380","messages":"381","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"382","messages":"383","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"384","messages":"385","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"386","messages":"387","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"388","messages":"389","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"390","messages":"391","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"392","messages":"393","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"394","messages":"395","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"396","messages":"397","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"398","messages":"399","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"400","messages":"401","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"402","messages":"403","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"404","messages":"405","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"406","messages":"407","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"408","messages":"409","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"410","messages":"411","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"412","messages":"413","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"414","messages":"415","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"416","messages":"417","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"418","messages":"419","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"420","messages":"421","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"422","messages":"423","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"424","messages":"425","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"426","messages":"427","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"428","messages":"429","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"430","messages":"431","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"432","messages":"433","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"434","messages":"435","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"436","messages":"437","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"438","messages":"439","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"440","messages":"441","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"442","messages":"443","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"444","messages":"445","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"446","messages":"447","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"448","messages":"449","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"450","messages":"451","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"452","messages":"453","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"454","messages":"455","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"456","messages":"457","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"458","messages":"459","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"460","messages":"461","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"462","messages":"463","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"464","messages":"465","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"466","messages":"467","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"468","messages":"469","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"470","messages":"471","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"472","messages":"473","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"474","messages":"475","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"476","messages":"477","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"478","messages":"479","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"480","messages":"481","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"482","messages":"483","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"484","messages":"485","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"486","messages":"487","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"488","messages":"489","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/@24i/smartapps-bigscreen-icon/index.d.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/better-opn/index.d.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/filemanager-webpack-plugin/index.d.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/@types/rnv/index.d.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBaseUrl.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildFileExtension.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildFileName.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildVersion.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveBuildVersionOffset.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveDeployLocations.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveGenericRnvConfig.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvDeployConfig.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveSupportedPlatforms.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveUsedFlavours.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/resolvers/resolveZippedPlatformBuildsRelativeFilePath.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/registerSdkPath.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/sdkInstaller.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/clean.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/download.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/install.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/__tests__/sdks/sdk-utils/sdk-installer/services/unzip.spec.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/buildSchemes.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/constants/platforms.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/engine.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBaseUrl.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildFileExtension.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildFileName.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildVersion.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveBuildVersionOffset.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveDeployLocations.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveGenericRnvConfig.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvDeployConfig.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvDeployUrl.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveSupportedPlatforms.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveUsedFlavours.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/buildAllWithScheme.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/formatTableDataSpaces.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/generateDeployUrls.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/generateDeployUrls/makeTableDataByScheme.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/afterVersionBump.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/beforeVersionBump.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/checkReleaseNotes.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushRelease.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushReleaseCandidate.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/gitReleaser/pushReleaseNotes.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/deleteSourceMaps.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/deployToAppCenter.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/githubRelease.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/generateWebhoook.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/makePayload.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/notifySlack.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/notifySlack/slackBlockKitBuilder.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/sentryRelease.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/release/urlsMarkdown.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/releaseAllWithScheme.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/cmdUtils.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/fsUtils.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/gitUtils.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/scripts/utils/stringUtils.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-tizen/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-tizen/sdkTizen.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/registerSdkPath.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/sdkInstaller.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/clean.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/download.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/install.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-utils/sdk-installer/services/unzip.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webos/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webos/sdkWebos.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webpack/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/sdks/sdk-webpack/sdkWebpack.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/aswS3/aws.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/aswS3/deployS3.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/deploy/hbbtv/deployHbbtv.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/engineTasks.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.build.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.configure.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.configureSoft.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.deploy.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.hooks.run.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.package.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.project.configure.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/tasks/task.rnv.start.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/c.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/constants.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/types/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/forEachSupportedPlatformFlavour.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/generateSvgSpriteMap.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/mergeDeep.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/index.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/src/utils/zipBuildsByPlatforms.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/_shared/template.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/_shared/webpack.base.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/entone/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/entone/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/hbbtv/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/hbbtv/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/saphi/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/saphi/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/tizen/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/tizen/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webos/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webos/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webtv/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/webtv/webpack.config.prod.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/kreatv/webpack.config.dev.ts",[],"/Users/martin/24i/smartapps-bigscreen-sdk/packages/rnv-build-engine/templates/platforms/kreatv/webpack.config.prod.ts",[]]
@@ -0,0 +1,57 @@
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 { extenstions } = engine_1.default.platforms[platform];
35
+ expect(extenstions).toBeInstanceOf(Array);
36
+ const customExtensions = extenstions
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
+ });
@@ -0,0 +1,104 @@
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
+ });
@@ -0,0 +1,85 @@
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 generateSvgSpriteMap_1 = require("../../utils/generateSvgSpriteMap");
9
+ describe('generateSvgSpriteMap', () => {
10
+ const originalConsoleLogFn = console.log;
11
+ const projectDir = path_1.default.resolve(process.cwd(), 'temp');
12
+ const platformAssetsDir = path_1.default.resolve(projectDir, 'platformAssets');
13
+ const runtimeDir = path_1.default.resolve(platformAssetsDir, 'runtime');
14
+ const iconsDir = path_1.default.resolve(projectDir, 'icons');
15
+ const svgoConfigPath = path_1.default.resolve(iconsDir, '.svgo.yml');
16
+ const outputCssFilePath = path_1.default.resolve(runtimeDir, 'icons.css');
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
+ svgIconsMaskList: [],
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
+ console.log = () => { };
44
+ });
45
+ afterEach(() => {
46
+ fs_1.default.rmdirSync(projectDir, { recursive: true });
47
+ console.log = () => originalConsoleLogFn;
48
+ });
49
+ it('generates empty icons.css file when no input icons are found', () => {
50
+ (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
51
+ expect(fs_1.default.existsSync(outputCssFilePath)).toBe(true);
52
+ expect(fs_1.default.statSync(outputCssFilePath).size).toBe(0);
53
+ });
54
+ it('generates icons.css and icons.json when input icons are found', () => {
55
+ fs_1.default.writeFileSync(svgoConfigPath, 'multipass: true');
56
+ const svgData = '<svg viewBox="0 0 10 10"><circle cx="0" cy="0" r="10" fill="red" /></svg>';
57
+ fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon1.svg'), svgData);
58
+ fs_1.default.writeFileSync(path_1.default.resolve(iconsDir, 'icon2.svg'), svgData);
59
+ rnvC.buildConfig.common.svgIconsMaskList.push('icon1.svg');
60
+ (0, generateSvgSpriteMap_1.generateSvgSpriteMap)(rnvC);
61
+ rnvC.buildConfig.common.svgIconsMaskList.length = 0;
62
+ expect(fs_1.default.existsSync(outputCssFilePath)).toBe(true);
63
+ const outputCssContentRows = fs_1.default.readFileSync(outputCssFilePath).toString().split('\n');
64
+ expect(outputCssContentRows).toHaveLength(11);
65
+ expect(outputCssContentRows[0]).toBe('.icon-icon1 {');
66
+ expect(outputCssContentRows[1].startsWith(' background-image: url(')).toBe(true);
67
+ expect(outputCssContentRows[2]).toBe('}');
68
+ expect(outputCssContentRows[3]).toBe('');
69
+ expect(outputCssContentRows[4]).toBe('.icon-mask-icon1 {');
70
+ expect(outputCssContentRows[5].startsWith(' -webkit-mask-image: url(')).toBe(true);
71
+ expect(outputCssContentRows[6]).toBe('}');
72
+ expect(outputCssContentRows[7]).toBe('');
73
+ expect(outputCssContentRows[8]).toBe('.icon-icon2 {');
74
+ expect(outputCssContentRows[9].startsWith(' background-image: url(')).toBe(true);
75
+ expect(outputCssContentRows[10]).toBe('}');
76
+ const outputJsonPath = path_1.default.resolve(platformAssetsDir, 'icons.json');
77
+ expect(fs_1.default.existsSync(outputJsonPath)).toBe(true);
78
+ const outputJsonContent = JSON.parse(fs_1.default.readFileSync(outputJsonPath).toString());
79
+ expect(outputJsonContent).toStrictEqual({
80
+ icon1: '',
81
+ icon2: '',
82
+ 'mask-icon1': '',
83
+ });
84
+ });
85
+ });
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const replaceRelevantStringsInConfig_1 = require("../../../utils/replaceRelevantStringsInConfig");
4
+ describe('replaceRelevantStringsInConfig', () => {
5
+ it('replaces template strings inside c.buildConfig.defaults object', () => {
6
+ const rnvC = {
7
+ runtime: {
8
+ scheme: 'scheme1',
9
+ },
10
+ platform: 'platform1',
11
+ buildConfig: {
12
+ defaults: {
13
+ defaultProp1: 'defaultProp1',
14
+ defaultProp2: '{{c.buildConfig.defaults.defaultProp1}}',
15
+ defaultProp3: '{{configProps.sharedProp}}',
16
+ defaultProp4: '{{c.buildConfig.defaults.defaultProp5}}',
17
+ },
18
+ platforms: {
19
+ platform1: { sharedProp: 'sharedPropPlatform1' },
20
+ platform2: { sharedProp: 'sharedPropPlatform2' },
21
+ },
22
+ },
23
+ };
24
+ (0, replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig)(rnvC);
25
+ expect(rnvC).toStrictEqual({
26
+ runtime: {
27
+ scheme: 'scheme1',
28
+ },
29
+ platform: 'platform1',
30
+ buildConfig: {
31
+ defaults: {
32
+ defaultProp1: 'defaultProp1',
33
+ defaultProp2: 'defaultProp1',
34
+ defaultProp3: 'sharedPropPlatform1',
35
+ defaultProp4: '',
36
+ },
37
+ platforms: {
38
+ platform1: { sharedProp: 'sharedPropPlatform1' },
39
+ platform2: { sharedProp: 'sharedPropPlatform2' },
40
+ },
41
+ },
42
+ });
43
+ });
44
+ it('replaces template strings inside c.buildConfig.common object', () => {
45
+ const rnvC = {
46
+ runtime: {
47
+ scheme: 'scheme1',
48
+ },
49
+ platform: 'platform1',
50
+ buildConfig: {
51
+ common: {
52
+ commonProp1: 'commonProp1',
53
+ commonProp2: '{{c.buildConfig.common.commonProp1}}',
54
+ commonProp3: '{{configProps.commonProp1}}',
55
+ },
56
+ },
57
+ };
58
+ (0, replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig)(rnvC);
59
+ expect(rnvC).toStrictEqual({
60
+ runtime: {
61
+ scheme: 'scheme1',
62
+ },
63
+ platform: 'platform1',
64
+ buildConfig: {
65
+ common: {
66
+ commonProp1: 'commonProp1',
67
+ commonProp2: 'commonProp1',
68
+ commonProp3: 'commonProp1',
69
+ },
70
+ },
71
+ });
72
+ });
73
+ it('replaces template strings inside c.buildConfig.platforms object', () => {
74
+ const rnvC = {
75
+ runtime: {
76
+ scheme: 'scheme1',
77
+ },
78
+ platform: 'platform1',
79
+ buildConfig: {
80
+ platforms: {
81
+ platform1: {
82
+ platform1Prop1: '{{c.buildConfig.platforms.platform2.platform2Prop1}}',
83
+ platform1Prop2: 'platform1Prop2',
84
+ commonProp: 'commonPropPlatform1Value',
85
+ },
86
+ platform2: {
87
+ platform2Prop1: 'platform2Prop1',
88
+ platform2Prop2: '{{c.buildConfig.platforms.platform1.platform1Prop2}}',
89
+ commonProp: '{{configProps.commonProp}}',
90
+ },
91
+ },
92
+ },
93
+ };
94
+ (0, replaceRelevantStringsInConfig_1.replaceRelevantStringsInConfig)(rnvC);
95
+ expect(rnvC).toStrictEqual({
96
+ runtime: {
97
+ scheme: 'scheme1',
98
+ },
99
+ platform: 'platform1',
100
+ buildConfig: {
101
+ platforms: {
102
+ platform1: {
103
+ platform1Prop1: 'platform2Prop1',
104
+ platform1Prop2: 'platform1Prop2',
105
+ commonProp: 'commonPropPlatform1Value',
106
+ },
107
+ platform2: {
108
+ platform2Prop1: 'platform2Prop1',
109
+ platform2Prop2: 'platform1Prop2',
110
+ commonProp: 'commonPropPlatform1Value',
111
+ },
112
+ },
113
+ },
114
+ });
115
+ });
116
+ });
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const replaceTemplateString_1 = require("../../../utils/replaceRelevantStringsInConfig/replaceTemplateString");
4
+ describe('replaceTemplateString', () => {
5
+ describe('string input not wrapped into placeholder brackets', () => {
6
+ it('returns input value', () => {
7
+ const rnvC = {};
8
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, '')).toBe('');
9
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, 'c')).toBe('c');
10
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, 'c.buildConfig.projectName')).toBe('c.buildConfig.projectName');
11
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, 'configProps.engine')).toBe('configProps.engine');
12
+ });
13
+ });
14
+ describe('string input wrapped into placeholder brackets', () => {
15
+ describe('{{c.}} pattern', () => {
16
+ it('throws when input points to non string value in rnv c object', () => {
17
+ const rnvC = { buildConfig: { common: { deploy: true } } };
18
+ expect(() => (0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{c.buildConfig}}')).toThrow();
19
+ expect(() => (0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{c.buildConfig.common}}')).toThrow();
20
+ expect(() => (0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{c.buildConfig.common.deploy}}')).toThrow();
21
+ });
22
+ it('returns empty string when value is not found in rnv c object', () => {
23
+ const rnvC = {};
24
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{c.buildConfig.projectName}}')).toBe('');
25
+ });
26
+ it('returns correct value from rnv c object for pattern on input', () => {
27
+ expect((0, replaceTemplateString_1.replaceTemplateString)({ buildConfig: { projectName: 'prj' } }, '{{c.buildConfig.projectName}}')).toBe('prj');
28
+ expect((0, replaceTemplateString_1.replaceTemplateString)({
29
+ buildConfig: {
30
+ projectName: '{{c.buildConfig.common.id}}',
31
+ workspaceID: '{{c.buildConfig.projectName}}',
32
+ common: { id: 'id' },
33
+ },
34
+ }, '{{c.buildConfig.workspaceID}}')).toBe('id');
35
+ });
36
+ });
37
+ describe('{{configProps.}} pattern', () => {
38
+ it('throws when input points to non string value in rnv c object', () => {
39
+ const rnvC = {
40
+ runtime: { scheme: 'scheme' },
41
+ buildConfig: { common: { deploy: { testProp: true } } },
42
+ };
43
+ expect(() => (0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{configProps.deploy}}')).toThrow();
44
+ expect(() => (0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{configProps.deploy.testProp}}')).toThrow();
45
+ });
46
+ it('returns empty string when value is not found in rnv c object', () => {
47
+ const rnvC = {
48
+ platform: 'somePlatform',
49
+ runtime: { scheme: 'scheme' },
50
+ buildConfig: { common: { deploy: { testProp: true } } },
51
+ };
52
+ expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{configProps.deploy.notExistingProp}}')).toBe('');
53
+ });
54
+ it('returns correct value from rnv c object for pattern on input', () => {
55
+ expect((0, replaceTemplateString_1.replaceTemplateString)({ buildConfig: { projectName: 'prj' } }, '{{c.buildConfig.projectName}}')).toBe('prj');
56
+ expect((0, replaceTemplateString_1.replaceTemplateString)({
57
+ buildConfig: {
58
+ projectName: '{{c.buildConfig.common.id}}',
59
+ workspaceID: '{{c.buildConfig.projectName}}',
60
+ common: { id: 'id' },
61
+ },
62
+ }, '{{c.buildConfig.workspaceID}}')).toBe('id');
63
+ });
64
+ });
65
+ });
66
+ });
@@ -0,0 +1,69 @@
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 path_1 = __importDefault(require("path"));
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const child_process_1 = __importDefault(require("child_process"));
9
+ const zipBuildsByPlatforms_1 = require("../../utils/zipBuildsByPlatforms");
10
+ const constants_1 = require("../../constants");
11
+ describe('zipBuildsByPlatforms', () => {
12
+ const platformBuildsPath = path_1.default.resolve(process.cwd(), 'platformBuilds');
13
+ beforeEach(() => {
14
+ Object.values(constants_1.Platforms).forEach((platform) => {
15
+ const outputPaths = [
16
+ path_1.default.resolve(platformBuildsPath, `${platform}_any_name_1`, 'output'),
17
+ path_1.default.resolve(platformBuildsPath, `${platform}_any_name_2`, 'output'),
18
+ ];
19
+ outputPaths.forEach((outputPath) => {
20
+ fs_1.default.mkdirSync(outputPath, { recursive: true });
21
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'build.zip'), 'data');
22
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'another_build.zip'), 'data');
23
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'build.wgt'), 'data');
24
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'another_build.wgt'), 'data');
25
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'build.ipk'), 'data');
26
+ fs_1.default.writeFileSync(path_1.default.resolve(outputPath, 'another_build.ipk'), 'data');
27
+ });
28
+ });
29
+ });
30
+ afterEach(() => {
31
+ fs_1.default.rmdirSync(platformBuildsPath, { recursive: true });
32
+ });
33
+ it('create zip file for each supported platform', () => {
34
+ const rnvC = {
35
+ buildConfig: {
36
+ paths: {
37
+ platformBuildsDir: platformBuildsPath,
38
+ },
39
+ defaults: {
40
+ supportedPlatforms: Object.values(constants_1.Platforms),
41
+ },
42
+ common: {
43
+ appNameInFileName: 'appNameInFileName',
44
+ packageVersion: '1.0.0',
45
+ },
46
+ },
47
+ };
48
+ (0, zipBuildsByPlatforms_1.zipBuildsByPlatforms)(rnvC);
49
+ const zippedBuildsDirPath = path_1.default.resolve(platformBuildsPath, 'zipped_by_platform');
50
+ Object.values(constants_1.Platforms).forEach((platform) => {
51
+ const zippedPlatformBuildFilePath = path_1.default.resolve(zippedBuildsDirPath, `appNameInFileName_${platform}_1.0.0.zip`);
52
+ expect(fs_1.default.existsSync(zippedPlatformBuildFilePath)).toBe(true);
53
+ const zipFileContent = child_process_1.default
54
+ .execSync(`zipinfo -1 ${zippedPlatformBuildFilePath}`)
55
+ .toString()
56
+ .split('\n')
57
+ .filter((filename) => filename.length);
58
+ if (platform === constants_1.Platforms.TIZEN) {
59
+ expect(zipFileContent).toStrictEqual(['another_build.wgt', 'build.wgt']);
60
+ }
61
+ else if (platform === constants_1.Platforms.WEBOS) {
62
+ expect(zipFileContent).toStrictEqual(['another_build.ipk', 'build.ipk']);
63
+ }
64
+ else {
65
+ expect(zipFileContent).toStrictEqual(['another_build.zip', 'build.zip']);
66
+ }
67
+ });
68
+ });
69
+ });
@@ -28,7 +28,6 @@ exports.Resolvers = Resolvers;
28
28
  const CNF = __importStar(require("../../renative.engine.json"));
29
29
  const constants_1 = require("./constants");
30
30
  const engineTasks_1 = require("./tasks/engineTasks");
31
- const { generateEngineTasks } = rnv_1.EngineManager;
32
31
  const generateEngineExtensions = (platformExtensions) => {
33
32
  const fileExtensions = ['js', 'jsx', 'ts', 'tsx', 'json'];
34
33
  const output = [];
@@ -42,7 +41,7 @@ const generateEngineExtensions = (platformExtensions) => {
42
41
  };
43
42
  exports.default = {
44
43
  initializeRuntimeConfig: (c) => rnv_1.Config.initializeConfig(c),
45
- tasks: generateEngineTasks(engineTasks_1.engineTaskList),
44
+ tasks: rnv_1.EngineManager.generateEngineTasks(engineTasks_1.engineTaskList),
46
45
  config: CNF,
47
46
  projectDirName: 'project',
48
47
  serverDirName: 'server',
@@ -18,17 +18,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
18
18
  __setModuleDefault(result, mod);
19
19
  return result;
20
20
  };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
21
24
  Object.defineProperty(exports, "__esModule", { value: true });
22
25
  exports.getBaseConfig = void 0;
23
26
  const fs = __importStar(require("fs"));
24
27
  const path = __importStar(require("path"));
25
28
  const rnv_1 = require("rnv");
29
+ const assign_deep_1 = __importDefault(require("assign-deep"));
26
30
  const replaceRelevantStringsInConfig_1 = require("../utils/replaceRelevantStringsInConfig");
27
- const mergeDeep_1 = require("../utils/mergeDeep");
28
31
  const mergeFileJsonIntoObject = (filePath, targetObject) => {
29
32
  const fileContentAsString = fs.readFileSync(filePath).toString();
30
33
  const fileContentAsJSON = JSON.parse(fileContentAsString);
31
- (0, mergeDeep_1.mergeDeep)(targetObject, fileContentAsJSON);
34
+ (0, assign_deep_1.default)(targetObject, fileContentAsJSON);
32
35
  };
33
36
  const getBaseConfig = () => {
34
37
  const c = rnv_1.ConfigManager.createRnvConfig({ ci: true }, process);
@@ -26,7 +26,7 @@ const generateSvgSpriteMap = (c) => {
26
26
  iconsFolder: '/icons',
27
27
  cssOutput: '../../platformAssets/runtime/icons.css',
28
28
  jsonOutput: '/icons.json',
29
- maskList: c.buildConfig.common.svgIconsMaskList || [],
29
+ maskList: c.buildConfig?.common.svgIconsMaskList || [],
30
30
  };
31
31
  const projectPaths = c.paths.project;
32
32
  const iconsPath = path_1.default.join(projectPaths.dir, config.iconsFolder);
@@ -44,7 +44,9 @@ const generateSvgSpriteMap = (c) => {
44
44
  (0, child_process_1.execSync)(`npx svgo -f "${iconsPath}" -o "${optimisedPath}" --config="${configPath}" --multipass`);
45
45
  const files = fs_1.default.readdirSync(optimisedPath);
46
46
  const spriteNames = {};
47
- const svgSymbols = files.filter((name) => name.endsWith('.svg')).map((fileName) => {
47
+ const svgSymbols = files
48
+ .filter((name) => name.endsWith('.svg'))
49
+ .map((fileName) => {
48
50
  const maskListIncludesFileName = config.maskList.includes(fileName);
49
51
  const spriteName = fileName
50
52
  .replace('.svg', '')
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replaceRelevantStringsInConfig = void 0;
4
4
  const replaceTemplateString_1 = require("./replaceTemplateString");
5
- const processObject = (c, object, excludedPropsList = []) => {
5
+ const processObject = (c, object) => {
6
6
  if (!object)
7
7
  return;
8
8
  const objectKeys = Object.keys(object);
@@ -18,16 +18,14 @@ const processObject = (c, object, excludedPropsList = []) => {
18
18
  processStringValue(keyValue, key);
19
19
  }
20
20
  else if (typeof keyValue === 'object' && keyValue !== null) {
21
- if (!excludedPropsList.includes(key)) {
22
- processObject(c, keyValue);
23
- }
21
+ processObject(c, keyValue);
24
22
  }
25
23
  });
26
24
  };
27
25
  const replaceRelevantStringsInConfig = (c) => {
28
26
  const { defaults, common, platforms } = c.buildConfig;
29
27
  processObject(c, defaults);
30
- processObject(c, common, ['']);
28
+ processObject(c, common);
31
29
  processObject(c, platforms);
32
30
  };
33
31
  exports.replaceRelevantStringsInConfig = replaceRelevantStringsInConfig;
@@ -2,24 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replaceTemplateString = void 0;
4
4
  const rnv_1 = require("rnv");
5
- const resolvers_1 = require("../../resolvers");
6
5
  const { getConfigProp } = rnv_1.Common;
7
6
  const getValueFromConfigByStringPath = (c, stringPathToObjectProp) => {
8
7
  const pathToPropList = stringPathToObjectProp.split('.');
9
8
  const listLength = pathToPropList.length;
10
9
  let currentPropValue = c;
11
- try {
12
- for (let i = 1; i < listLength; i++) {
13
- currentPropValue = currentPropValue[pathToPropList[i]];
14
- if (currentPropValue === undefined) {
15
- return null;
16
- }
10
+ for (let i = 1; i < listLength; i++) {
11
+ currentPropValue = currentPropValue[pathToPropList[i]];
12
+ if (currentPropValue === undefined) {
13
+ return null;
17
14
  }
18
- return currentPropValue;
19
- }
20
- catch (error) {
21
- return null;
22
15
  }
16
+ return currentPropValue;
23
17
  };
24
18
  const getValue = (c, stringInsideBracelets) => {
25
19
  if (stringInsideBracelets.startsWith('c.')) {
@@ -28,35 +22,19 @@ const getValue = (c, stringInsideBracelets) => {
28
22
  if (stringInsideBracelets.startsWith('configProps.')) {
29
23
  return getConfigProp(c, c.platform, stringInsideBracelets.replace('configProps.', ''));
30
24
  }
31
- if (stringInsideBracelets === 'BRANCH_COMMIT_OFFSET') {
32
- return (0, resolvers_1.resolveBuildVersionOffset)(c);
33
- }
34
25
  return stringInsideBracelets;
35
26
  };
36
27
  const injectorStartMark = '{{';
37
28
  const injectorEndMark = '}}';
38
29
  const injectorRegexp = new RegExp(`${injectorStartMark}.*?${injectorEndMark}`, 'g');
39
- const handleStringEnd = (string) => {
40
- let outputString = string.replace(/\[\[[^[\]]+]]$/, '');
41
- const matches = outputString.match(/\[\[[^[\]]+]]/g);
42
- if (!matches || !matches.length)
43
- return outputString;
44
- const getStringInside = (templateString = '') => (templateString.slice(injectorStartMark.length, -injectorEndMark.length));
45
- const removeBracelets = (match) => {
46
- outputString = outputString.replace(match, getStringInside(match));
47
- };
48
- matches.forEach(removeBracelets);
49
- return outputString;
50
- };
51
- const replaceTemplateString = (c, string = '') => {
52
- if (!string)
30
+ const replaceTemplateString = (c, input) => {
31
+ if (!input)
53
32
  return '';
54
33
  const replacer = (match) => {
55
34
  const stringInBracelets = match.slice(injectorStartMark.length, -injectorEndMark.length);
56
35
  const value = getValue(c, stringInBracelets);
57
36
  return value === match ? value : replaceTemplateString(c, value);
58
37
  };
59
- const parsedString = string.replace(injectorRegexp, replacer);
60
- return handleStringEnd(parsedString);
38
+ return input.replace(injectorRegexp, replacer);
61
39
  };
62
40
  exports.replaceTemplateString = replaceTemplateString;
@@ -30,12 +30,17 @@ const getPlatformBuildsPaths = (c, platformName) => {
30
30
  const { platformBuildsDir } = c.buildConfig.paths;
31
31
  const outputGlob = `${platformBuildsDir}/**/output`;
32
32
  const platformBuildsGlob = `${outputGlob}/*.${(0, resolvers_1.resolveBuildFileExtension)(platformName)}`;
33
- const buildsPathsCandidates = glob.sync(platformBuildsGlob);
34
- return buildsPathsCandidates.filter((path) => path.includes(platformName));
33
+ try {
34
+ const buildsPathsCandidates = glob.sync(platformBuildsGlob) || [];
35
+ return buildsPathsCandidates.filter((path) => path.includes(platformName));
36
+ }
37
+ catch (e) {
38
+ return [];
39
+ }
35
40
  };
36
41
  const processPlatform = (c, platformName) => {
37
42
  const platformBuildsPaths = getPlatformBuildsPaths(c, platformName);
38
- if (platformBuildsPaths.length === 0)
43
+ if (platformBuildsPaths && platformBuildsPaths.length === 0)
39
44
  return;
40
45
  const outputZipFilePath = (0, resolvers_1.resolveZippedPlatformBuildsRelativeFilePath)(c, platformName);
41
46
  const tempPlatformDir = `${(0, path_1.dirname)(outputZipFilePath)}/${platformName}`;
@@ -12,6 +12,7 @@ const mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plug
12
12
  const filemanager_webpack_plugin_1 = __importDefault(require("filemanager-webpack-plugin"));
13
13
  const html_webpack_plugin_1 = __importDefault(require("html-webpack-plugin"));
14
14
  const fork_ts_checker_webpack_plugin_1 = __importDefault(require("fork-ts-checker-webpack-plugin"));
15
+ const webpack_spritesmith_1 = __importDefault(require("webpack-spritesmith"));
15
16
  const smartapps_bigscreen_rnv_build_engine_1 = require("@24i/smartapps-bigscreen-rnv-build-engine");
16
17
  const getAnimationType = (isAnimated = false) => (isAnimated ? 'animated' : 'basic');
17
18
  const generateFlavourJSExtensions = ({ resolution: { height }, animated, extensions }) => {
@@ -52,10 +53,10 @@ const includeRtlFiles = ({ shouldIncludeRtlFiles }) => (content, loaderContext)
52
53
  };
53
54
  const getAppContentPath = (baseUrl, isBuildHosted = false) => {
54
55
  const isBuildHostedAndHasBaseUrl = isBuildHosted && !!baseUrl;
55
- const relativePath = path_1.default.join(isBuildHostedAndHasBaseUrl ? './public' : '', 'content');
56
+ const relativePath = path_1.default.join(isBuildHostedAndHasBaseUrl ? 'public/' : '', 'content');
56
57
  return isBuildHostedAndHasBaseUrl
57
58
  ? `${baseUrl}/${relativePath}`
58
- : relativePath;
59
+ : `./${relativePath}`;
59
60
  };
60
61
  function generateConfig(config) {
61
62
  const projectDir = path_1.default.resolve(config.currentDir, '../../');
@@ -74,14 +75,9 @@ function generateConfig(config) {
74
75
  const isDevServer = appBuildEngineProjectDir.endsWith('/server');
75
76
  const { PLATFORM } = process.env;
76
77
  const isBuildHosted = config.isBuildHosted || false;
77
- const modulePaths = [
78
- 'src',
79
- 'node_modules',
80
- ].concat(config.modulePaths || []);
81
78
  const rules = {
82
79
  babel: {
83
80
  test: /\.[tj]sx?$/,
84
- include: modulePaths.map((v) => path_1.default.resolve(projectDir, v)),
85
81
  use: [
86
82
  {
87
83
  loader: 'ts-loader',
@@ -188,6 +184,26 @@ function generateConfig(config) {
188
184
  css: new mini_css_extract_plugin_1.default({
189
185
  filename: 'content/css/[name].css',
190
186
  }),
187
+ png: new webpack_spritesmith_1.default({
188
+ src: {
189
+ cwd: path_1.default.resolve(appBuildDir, '../../icons'),
190
+ glob: '*.png',
191
+ },
192
+ target: {
193
+ image: path_1.default.resolve(appBuildEngineProjectPublicDir, './sprite.png'),
194
+ css: [
195
+ path_1.default.resolve(appBuildDir, '../../platformAssets/sprite.json'),
196
+ path_1.default.resolve(appBuildEngineProjectPublicDir, './sprite.css'),
197
+ ],
198
+ },
199
+ apiOptions: {
200
+ cssImageRef: 'sprite.png',
201
+ generateSpriteName: (fullPathToSourceFile) => {
202
+ const { name } = path_1.default.parse(fullPathToSourceFile);
203
+ return `png-${name}`;
204
+ },
205
+ },
206
+ }),
191
207
  fileManager: new filemanager_webpack_plugin_1.default({
192
208
  events: {
193
209
  onStart: [
@@ -56,7 +56,7 @@ exports.default = {
56
56
  },
57
57
  plugins: plugins.filter(Boolean),
58
58
  resolve: {
59
- symlinks: false,
59
+ symlinks: true,
60
60
  extensions: C.extensions,
61
61
  alias: C.aliases,
62
62
  },
@@ -50,7 +50,7 @@ exports.default = {
50
50
  },
51
51
  plugins: plugins.filter(Boolean),
52
52
  resolve: {
53
- symlinks: false,
53
+ symlinks: true,
54
54
  extensions: C.extensions,
55
55
  alias: C.aliases,
56
56
  },
@@ -73,7 +73,7 @@ exports.default = {
73
73
  },
74
74
  plugins: plugins.filter(Boolean),
75
75
  resolve: {
76
- symlinks: false,
76
+ symlinks: true,
77
77
  extensions: C.extensions,
78
78
  alias: C.aliases,
79
79
  },
@@ -67,7 +67,7 @@ exports.default = {
67
67
  },
68
68
  plugins: plugins.filter(Boolean),
69
69
  resolve: {
70
- symlinks: false,
70
+ symlinks: true,
71
71
  extensions: C.extensions,
72
72
  alias: C.aliases,
73
73
  },
@@ -56,7 +56,7 @@ exports.default = {
56
56
  },
57
57
  plugins: plugins.filter(Boolean),
58
58
  resolve: {
59
- symlinks: false,
59
+ symlinks: true,
60
60
  extensions: C.extensions,
61
61
  alias: C.aliases,
62
62
  },
@@ -50,7 +50,7 @@ exports.default = {
50
50
  },
51
51
  plugins: plugins.filter(Boolean),
52
52
  resolve: {
53
- symlinks: false,
53
+ symlinks: true,
54
54
  extensions: C.extensions,
55
55
  alias: C.aliases,
56
56
  },
@@ -56,7 +56,7 @@ exports.default = {
56
56
  },
57
57
  plugins: plugins.filter(Boolean),
58
58
  resolve: {
59
- symlinks: false,
59
+ symlinks: true,
60
60
  extensions: C.extensions,
61
61
  alias: C.aliases,
62
62
  },
@@ -50,7 +50,7 @@ exports.default = {
50
50
  },
51
51
  plugins: plugins.filter(Boolean),
52
52
  resolve: {
53
- symlinks: false,
53
+ symlinks: true,
54
54
  extensions: C.extensions,
55
55
  alias: C.aliases,
56
56
  },
@@ -57,7 +57,7 @@ exports.default = {
57
57
  },
58
58
  plugins: plugins.filter(Boolean),
59
59
  resolve: {
60
- symlinks: false,
60
+ symlinks: true,
61
61
  extensions: C.extensions,
62
62
  alias: C.aliases,
63
63
  },
@@ -50,7 +50,7 @@ exports.default = {
50
50
  },
51
51
  plugins: plugins.filter(Boolean),
52
52
  resolve: {
53
- symlinks: false,
53
+ symlinks: true,
54
54
  extensions: C.extensions,
55
55
  alias: C.aliases,
56
56
  },
@@ -60,7 +60,7 @@ exports.default = {
60
60
  },
61
61
  plugins: plugins.filter(Boolean),
62
62
  resolve: {
63
- symlinks: false,
63
+ symlinks: true,
64
64
  extensions: C.extensions,
65
65
  alias: C.aliases,
66
66
  },
@@ -52,7 +52,7 @@ exports.default = {
52
52
  },
53
53
  plugins: plugins.filter(Boolean),
54
54
  resolve: {
55
- symlinks: false,
55
+ symlinks: true,
56
56
  extensions: C.extensions,
57
57
  alias: C.aliases,
58
58
  },
@@ -56,7 +56,7 @@ exports.default = {
56
56
  },
57
57
  plugins: plugins.filter(Boolean),
58
58
  resolve: {
59
- symlinks: false,
59
+ symlinks: true,
60
60
  extensions: C.extensions,
61
61
  alias: C.aliases,
62
62
  },
@@ -50,7 +50,7 @@ exports.default = {
50
50
  },
51
51
  plugins: plugins.filter(Boolean),
52
52
  resolve: {
53
- symlinks: false,
53
+ symlinks: true,
54
54
  extensions: C.extensions,
55
55
  alias: C.aliases,
56
56
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.10.1-alpha.1519+96b0dd6c",
3
+ "version": "0.10.1-alpha.1530+13746b3e",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
@@ -30,6 +30,7 @@
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@24i/smartapps-bigscreen-device": ">=0.10.1-alpha.1515",
33
+ "assign-deep": "^1.0.1",
33
34
  "core-js": "3.15.2",
34
35
  "coveralls": "3.1.1",
35
36
  "css-hot-loader": "1.4.4",
@@ -54,10 +55,11 @@
54
55
  "ts-loader": "8.1.0",
55
56
  "webpack": "4.46.0",
56
57
  "webpack-cli": "3.3.12",
57
- "webpack-dev-server": "3.11.2"
58
+ "webpack-dev-server": "3.11.2",
59
+ "webpack-spritesmith": "^1.1.0"
58
60
  },
59
61
  "keywords": [],
60
62
  "author": "24i",
61
63
  "license": "ISC",
62
- "gitHead": "96b0dd6c6ab84f4da0b88e455503cd7834b336ba"
64
+ "gitHead": "13746b3ea699015090a75e306d7da21c4acc9b5c"
63
65
  }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeDeep = void 0;
4
- const isObject = (item) => (item && typeof item === 'object' && !Array.isArray(item));
5
- const mergeDeep = (target, ...sources) => {
6
- if (!sources.length)
7
- return target;
8
- const source = sources.shift();
9
- if (isObject(target) && isObject(source)) {
10
- Object.keys(source).forEach((key) => {
11
- if (isObject(source[key])) {
12
- if (!target[key])
13
- Object.assign(target, { [key]: {} });
14
- mergeDeep(target[key], source[key]);
15
- }
16
- else {
17
- Object.assign(target, { [key]: source[key] });
18
- }
19
- });
20
- }
21
- return mergeDeep(target, ...sources);
22
- };
23
- exports.mergeDeep = mergeDeep;