@24i/smartapps-bigscreen-rnv-build-engine 0.12.1 → 0.12.2-alpha.1693

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.
@@ -31,9 +31,9 @@ describe('engine config', () => {
31
31
  describe('platform properties', () => {
32
32
  it('has defined platform specific file extensions for each platform', () => {
33
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
34
+ const { extensions } = engine_1.default.platforms[platform];
35
+ expect(extensions).toBeInstanceOf(Array);
36
+ const customExtensions = extensions
37
37
  .filter((extension) => !configuredFileExtensions.includes(extension));
38
38
  expect(customExtensions.length)
39
39
  .toBeGreaterThanOrEqual(configuredFileExtensions.length);
@@ -8,6 +8,13 @@ describe('resolveBaseUrl', () => {
8
8
  const bucketName = 'test-bucket';
9
9
  const flavour = 'test_flavour';
10
10
  const packageVersion = '1.0.0';
11
+ const expectEmptyStringOutputForEachPlatformAndSchemeByFlavour = (customFlavour) => {
12
+ Object.values(constants_1.Platforms).forEach((platform) => {
13
+ Object.values(constants_1.BuildSchemes).forEach((scheme) => {
14
+ expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, scheme, flavour: customFlavour })).toBe('');
15
+ });
16
+ });
17
+ };
11
18
  afterEach(() => {
12
19
  jest.clearAllMocks();
13
20
  jest.resetAllMocks();
@@ -23,22 +30,14 @@ describe('resolveBaseUrl', () => {
23
30
  },
24
31
  },
25
32
  });
26
- Object.values(constants_1.Platforms).forEach((platform) => {
27
- Object.values(constants_1.BuildSchemes).forEach((scheme) => {
28
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, scheme, flavour })).toBe('');
29
- });
30
- });
33
+ expectEmptyStringOutputForEachPlatformAndSchemeByFlavour(flavour);
31
34
  });
32
35
  it('returns empty string when c.buildConfig.common.deploy.aws3.bucketName is not set', () => {
33
36
  resolveGenericRnvConfig_1.getBaseConfig.mockReturnValue({
34
37
  runtime: {},
35
38
  buildConfig: { common: { packageVersion } },
36
39
  });
37
- Object.values(constants_1.Platforms).forEach((platform) => {
38
- Object.values(constants_1.BuildSchemes).forEach((scheme) => {
39
- expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, scheme, flavour })).toBe('');
40
- });
41
- });
40
+ expectEmptyStringOutputForEachPlatformAndSchemeByFlavour(flavour);
42
41
  });
43
42
  describe('resolving baseUrl for configured schemes', () => {
44
43
  const bucketUrl = `http://${bucketName}.s3.amazonaws.com`;
@@ -52,7 +52,6 @@ describe('replaceTemplateString', () => {
52
52
  expect((0, replaceTemplateString_1.replaceTemplateString)(rnvC, '{{configProps.deploy.notExistingProp}}')).toBe('');
53
53
  });
54
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
55
  expect((0, replaceTemplateString_1.replaceTemplateString)({
57
56
  buildConfig: {
58
57
  projectName: '{{c.buildConfig.common.id}}',
@@ -40,7 +40,10 @@ const generateEngineExtensions = (platformExtensions) => {
40
40
  return output;
41
41
  };
42
42
  exports.default = {
43
- initializeRuntimeConfig: (c) => rnv_1.Config.initializeConfig(c),
43
+ initializeRuntimeConfig: (c) => {
44
+ rnv_1.FileUtils.configureFilesystem(rnv_1.Common.getConfigProp, rnv_1.Resolver.doResolve, rnv_1.Utils.isSystemWin);
45
+ return rnv_1.Config.initializeConfig(c);
46
+ },
44
47
  tasks: rnv_1.EngineManager.generateEngineTasks(engineTasks_1.engineTaskList),
45
48
  config: CNF,
46
49
  projectDirName: 'project',
@@ -48,42 +51,42 @@ exports.default = {
48
51
  ejectPlatform: null,
49
52
  platforms: {
50
53
  [constants_1.Platforms.ENTONE]: {
51
- extenstions: generateEngineExtensions(['entone']),
54
+ extensions: generateEngineExtensions(['entone']),
52
55
  defaultPort: 8094,
53
56
  isWebHosted: true,
54
57
  },
55
58
  [constants_1.Platforms.HBBTV]: {
56
- extenstions: generateEngineExtensions(['hbbtv.tv']),
59
+ extensions: generateEngineExtensions(['hbbtv.tv']),
57
60
  defaultPort: 8095,
58
61
  isWebHosted: true,
59
62
  },
60
63
  [constants_1.Platforms.KREATV]: {
61
- extenstions: generateEngineExtensions(['kreatv']),
64
+ extensions: generateEngineExtensions(['kreatv']),
62
65
  defaultPort: 8096,
63
66
  isWebHosted: true,
64
67
  },
65
68
  [constants_1.Platforms.SAPHI]: {
66
- extenstions: generateEngineExtensions(['saphi.tv']),
69
+ extensions: generateEngineExtensions(['saphi.tv']),
67
70
  defaultPort: 8097,
68
71
  isWebHosted: true,
69
72
  },
70
73
  [constants_1.Platforms.TIZEN]: {
71
- extenstions: generateEngineExtensions(['tizen.tv']),
74
+ extensions: generateEngineExtensions(['tizen.tv']),
72
75
  defaultPort: 8087,
73
76
  isWebHosted: true,
74
77
  },
75
78
  [constants_1.Platforms.WEBOS]: {
76
- extenstions: generateEngineExtensions(['webos.tv']),
79
+ extensions: generateEngineExtensions(['webos.tv']),
77
80
  defaultPort: 8088,
78
81
  isWebHosted: true,
79
82
  },
80
83
  [constants_1.Platforms.WEBTV]: {
81
- extenstions: generateEngineExtensions(['webtv']),
84
+ extensions: generateEngineExtensions(['webtv']),
82
85
  defaultPort: 8080,
83
86
  isWebHosted: true,
84
87
  },
85
88
  [constants_1.Platforms.XBOX]: {
86
- extenstions: generateEngineExtensions(['xbox']),
89
+ extensions: generateEngineExtensions(['xbox']),
87
90
  defaultPort: 8098,
88
91
  isWebHosted: true,
89
92
  },
@@ -44,6 +44,7 @@ const makeTableMarkdownByScheme = (rnvC, scheme) => {
44
44
  const formattedTableData = (0, formatTableDataSpaces_1.formatTableDataSpaces)(tableData);
45
45
  return tableDataToMarkdown(formattedTableData);
46
46
  };
47
+ const deployedEachTimeIntoTheSamePath = '> Deployed each time into the same path.';
47
48
  const makeMarkdownFileContentRows = (rnvC) => ([
48
49
  `# ${rnvC.buildConfig.projectName}`,
49
50
  '## Deploy URLs',
@@ -51,20 +52,20 @@ const makeMarkdownFileContentRows = (rnvC) => ([
51
52
  '---',
52
53
  '### Latest `development` builds',
53
54
  '> Latest builds against the development git branch.',
54
- '> Deployed each time into the same path.',
55
+ deployedEachTimeIntoTheSamePath,
55
56
  '',
56
57
  makeTableMarkdownByScheme(rnvC, constants_1.BuildSchemes.DEV_LATEST),
57
58
  '',
58
59
  '---',
59
60
  '### Latest `release candidate` builds',
60
61
  '> Latest builds against the release candidate git branch.',
61
- '> Deployed each time into the same path.',
62
+ deployedEachTimeIntoTheSamePath,
62
63
  '',
63
64
  makeTableMarkdownByScheme(rnvC, constants_1.BuildSchemes.RC_LATEST),
64
65
  '---',
65
66
  '### Latest `release` builds',
66
67
  '> Latest builds against the release git branch.',
67
- '> Deployed each time into the same path.',
68
+ deployedEachTimeIntoTheSamePath,
68
69
  '',
69
70
  makeTableMarkdownByScheme(rnvC, constants_1.BuildSchemes.RELEASE_LATEST),
70
71
  '---',
@@ -26,6 +26,7 @@ const os = __importStar(require("os"));
26
26
  const semver = __importStar(require("semver"));
27
27
  const child_process_1 = require("child_process");
28
28
  const rnv_1 = require("rnv");
29
+ const sdk_webpack_1 = require("@rnv/sdk-webpack");
29
30
  const sdk_utils_1 = require("../sdk-utils");
30
31
  const constants_1 = require("../../constants");
31
32
  const { execCLI } = rnv_1.Exec;
@@ -34,7 +35,6 @@ const { getPlatformProjectDir, getAppVersion, getConfigProp, checkPortInUse, con
34
35
  const { chalk, logTask, logDebug, logError, logSuccess, logWarning, logInfo, } = rnv_1.Logger;
35
36
  const { isPlatformActive } = rnv_1.PlatformManager;
36
37
  const { writeCleanFile, fsExistsSync, updateObjectSync } = rnv_1.FileUtils;
37
- const { buildCoreWebpackProject, runWebpackServer, configureCoreWebProject, waitForWebpack, } = rnv_1.WebpackUtils;
38
38
  const { copyAssetsFolder, copyBuildsFolder } = rnv_1.ProjectManager;
39
39
  const { runTizenSimOrDevice, createDevelopTizenCertificate, DEFAULT_CERTIFICATE_NAME, DEFAULT_SECURITY_PROFILE_NAME, } = rnv_1.SDKManager.Tizen;
40
40
  const DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = `${DEFAULT_CERTIFICATE_NAME}.p12`;
@@ -79,27 +79,27 @@ const runTizen = async (c, target) => {
79
79
  return;
80
80
  const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
81
81
  if (bundleAssets) {
82
- await buildCoreWebpackProject(c);
82
+ await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
83
83
  await handleRunTizenSimOrDevice(c);
84
84
  }
85
85
  else {
86
86
  const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
87
87
  const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
88
- const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !hosted;
88
+ const isWeinreEnabled = isDebuggerEnabledForPlatform && !hosted;
89
89
  if (!isPortActive) {
90
90
  logInfo(`Your ${chalk().white(platform)} devServer at port ${chalk().white(c.runtime.port)} is not running. Starting it up for you...`);
91
- waitForWebpack(c)
91
+ (0, sdk_webpack_1.waitForWebpack)(c)
92
92
  .then(() => handleRunTizenSimOrDevice(c))
93
93
  .catch(logError);
94
- await runWebpackServer(c, isWeinreEnabled);
94
+ await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
95
95
  }
96
96
  else {
97
97
  const resetCompleted = await confirmActiveBundler(c);
98
98
  if (resetCompleted) {
99
- waitForWebpack(c)
99
+ (0, sdk_webpack_1.waitForWebpack)(c)
100
100
  .then(() => handleRunTizenSimOrDevice(c))
101
101
  .catch(logError);
102
- await runWebpackServer(c, isWeinreEnabled);
102
+ await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
103
103
  }
104
104
  else {
105
105
  await handleRunTizenSimOrDevice(c);
@@ -110,7 +110,7 @@ const runTizen = async (c, target) => {
110
110
  exports.runTizen = runTizen;
111
111
  const buildTizenProject = async (c) => {
112
112
  logTask('buildTizenProject');
113
- await buildCoreWebpackProject(c);
113
+ await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
114
114
  if (!c.program.hosted) {
115
115
  const { buildConfig } = c;
116
116
  const platformConfig = buildConfig.platforms[constants_1.Platforms.TIZEN];
@@ -155,7 +155,7 @@ const configureTizenProject = async (c) => {
155
155
  await configureTizenGlobal(c);
156
156
  }
157
157
  await copyAssetsFolder(c, platform);
158
- await configureCoreWebProject(c);
158
+ await (0, sdk_webpack_1.configureCoreWebProject)(c);
159
159
  await configureProject(c);
160
160
  copyBuildsFolder(c, platform);
161
161
  };
@@ -24,11 +24,11 @@ const fs = __importStar(require("fs"));
24
24
  const path = __importStar(require("path"));
25
25
  const os_1 = require("os");
26
26
  const rnv_1 = require("rnv");
27
+ const sdk_webpack_1 = require("@rnv/sdk-webpack");
27
28
  const sdk_utils_1 = require("../sdk-utils");
28
29
  const { writeCleanFile } = rnv_1.FileUtils;
29
30
  const { execCLI } = rnv_1.Exec;
30
31
  const { getPlatformProjectDir, getTemplateProjectDir, getPlatformBuildDir, getConfigProp, checkPortInUse, confirmActiveBundler, } = rnv_1.Common;
31
- const { buildCoreWebpackProject, runWebpackServer, configureCoreWebProject, waitForWebpack, } = rnv_1.WebpackUtils;
32
32
  const { isPlatformActive } = rnv_1.PlatformManager;
33
33
  const { chalk, logTask, logInfo, logSuccess, logError } = rnv_1.Logger;
34
34
  const { copyBuildsFolder, copyAssetsFolder } = rnv_1.ProjectManager;
@@ -51,27 +51,27 @@ const runWebOS = async (c) => {
51
51
  return;
52
52
  const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
53
53
  if (bundleAssets) {
54
- await buildCoreWebpackProject(c);
54
+ await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
55
55
  await runWebosSimOrDevice(c);
56
56
  }
57
57
  else {
58
58
  const isPortActive = await checkPortInUse(c, platform, c.runtime.port);
59
59
  const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
60
- const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !hosted;
60
+ const isWeinreEnabled = isDebuggerEnabledForPlatform && !hosted;
61
61
  if (!isPortActive) {
62
62
  logInfo(`Your ${chalk().white(platform)} devServer at port ${chalk().white(c.runtime.port)} is not running. Starting it up for you...`);
63
- waitForWebpack(c)
63
+ (0, sdk_webpack_1.waitForWebpack)(c)
64
64
  .then(() => runWebosSimOrDevice(c))
65
65
  .catch(logError);
66
- await runWebpackServer(c, isWeinreEnabled);
66
+ await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
67
67
  }
68
68
  else {
69
69
  const resetCompleted = await confirmActiveBundler(c);
70
70
  if (resetCompleted) {
71
- waitForWebpack(c)
71
+ (0, sdk_webpack_1.waitForWebpack)(c)
72
72
  .then(() => runWebosSimOrDevice(c))
73
73
  .catch(logError);
74
- await runWebpackServer(c, isWeinreEnabled);
74
+ await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
75
75
  }
76
76
  else {
77
77
  await runWebosSimOrDevice(c);
@@ -82,7 +82,7 @@ const runWebOS = async (c) => {
82
82
  exports.runWebOS = runWebOS;
83
83
  const buildWebOSProject = async (c) => {
84
84
  logTask('buildWebOSProject');
85
- await buildCoreWebpackProject(c);
85
+ await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
86
86
  if (!c.program.hosted) {
87
87
  const tDir = getPlatformProjectDir(c);
88
88
  const tOut = path.join(getPlatformBuildDir(c), 'output');
@@ -110,7 +110,7 @@ const configureWebOSProject = async (c) => {
110
110
  if (!isPlatformActive(c, platform))
111
111
  return;
112
112
  await copyAssetsFolder(c, platform);
113
- await configureCoreWebProject(c);
113
+ await (0, sdk_webpack_1.configureCoreWebProject)(c);
114
114
  await configureProject(c);
115
115
  await copyBuildsFolder(c, platform);
116
116
  };
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.exportWeb = exports.deployWeb = exports.configureWebProject = exports.buildWeb = void 0;
4
4
  const rnv_1 = require("rnv");
5
+ const sdk_webpack_1 = require("@rnv/sdk-webpack");
5
6
  const { getPlatformProjectDir } = rnv_1.Common;
6
7
  const { isPlatformActive } = rnv_1.PlatformManager;
7
8
  const { logTask } = rnv_1.Logger;
8
9
  const { copyBuildsFolder, copyAssetsFolder } = rnv_1.ProjectManager;
9
- const { buildCoreWebpackProject, configureCoreWebProject } = rnv_1.WebpackUtils;
10
- const buildWeb = async (c) => buildCoreWebpackProject(c);
10
+ const buildWeb = async (c) => (0, sdk_webpack_1.buildCoreWebpackProject)(c);
11
11
  exports.buildWeb = buildWeb;
12
12
  const configureWebProject = async (c) => {
13
13
  logTask('configureWebProject');
@@ -16,7 +16,7 @@ const configureWebProject = async (c) => {
16
16
  if (!isPlatformActive(c, platform))
17
17
  return;
18
18
  await copyAssetsFolder(c, platform);
19
- await configureCoreWebProject(c);
19
+ await (0, sdk_webpack_1.configureCoreWebProject)(c);
20
20
  copyBuildsFolder(c, platform);
21
21
  };
22
22
  exports.configureWebProject = configureWebProject;
@@ -3,17 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.customRnvPackageTask = void 0;
4
4
  const rnv_1 = require("rnv");
5
5
  const constants_1 = require("../constants");
6
- const { getConfigProp } = rnv_1.Common;
7
- const { configureFilesystem } = rnv_1.FileUtils;
8
- const { doResolve } = rnv_1.Resolver;
9
- const { isSystemWin } = rnv_1.Utils;
10
- const { logTask } = rnv_1.Logger;
11
6
  const { TASK_PACKAGE, TASK_CONFIGURE, PARAMS } = rnv_1.Constants;
12
- const { executeOrSkipTask } = rnv_1.TaskManager;
13
7
  const packageFn = async (c, parentTask, originTask) => {
14
- logTask('taskRnvPackage', `parent:${parentTask}`);
15
- configureFilesystem(getConfigProp, doResolve, isSystemWin);
16
- await executeOrSkipTask(c, TASK_CONFIGURE, TASK_PACKAGE, originTask);
8
+ rnv_1.Logger.logTask('taskRnvPackage', `parent:${parentTask}`);
9
+ await rnv_1.TaskManager.executeOrSkipTask(c, TASK_CONFIGURE, TASK_PACKAGE, originTask);
17
10
  return true;
18
11
  };
19
12
  const customRnvPackageTask = {
@@ -42,12 +42,23 @@ const patchEngineTemplatesPath = (c) => {
42
42
  engine.originalTemplatePlatformProjectDir = path.join(templatesPath, 'platforms', 'project');
43
43
  c.paths.project.platformTemplatesDirs[c.platform] = engine.originalTemplatePlatformsDir;
44
44
  };
45
+ const handleReset = async (c) => {
46
+ if (c.program.resetHard) {
47
+ logInfo(`You passed ${chalk().white('-R, --resetHard')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
48
+ await cleanPlaformAssets(c);
49
+ }
50
+ else if (c.program.resetAssets) {
51
+ logInfo(`You passed ${chalk().white('-a, --resetAssets')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
52
+ await cleanPlaformAssets(c);
53
+ }
54
+ };
45
55
  const projectConfigureFn = async (c, parentTask, originTask) => {
46
56
  logTask('taskRnvProjectConfigure');
47
57
  patchEngineTemplatesPath(c);
48
- if (c.paths.project.builds.dir && !fsExistsSync(c.paths.project.builds.dir)) {
49
- logInfo(`Creating folder ${c.paths.project.builds.dir} ...DONE`);
50
- fsMkdirSync(c.paths.project.builds.dir);
58
+ const buildsDirPath = c.paths.project.builds.dir;
59
+ if (buildsDirPath && !fsExistsSync(buildsDirPath)) {
60
+ logInfo(`Creating folder ${buildsDirPath} ...DONE`);
61
+ fsMkdirSync(buildsDirPath);
51
62
  }
52
63
  await updateRenativeConfigs(c);
53
64
  await checkIsRenativeProject(c);
@@ -80,14 +91,7 @@ const projectConfigureFn = async (c, parentTask, originTask) => {
80
91
  await configurePlugins(c);
81
92
  await configureRuntimeDefaults(c);
82
93
  if (!c.runtime.disableReset) {
83
- if (c.program.resetHard) {
84
- logInfo(`You passed ${chalk().white('-R, --resetHard')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
85
- await cleanPlaformAssets(c);
86
- }
87
- else if (c.program.resetAssets) {
88
- logInfo(`You passed ${chalk().white('-a, --resetAssets')} argument. "${chalk().white('./platformAssets')}" will be cleaned up first`);
89
- await cleanPlaformAssets(c);
90
- }
94
+ await handleReset(c);
91
95
  }
92
96
  await copyRuntimeAssets(c);
93
97
  await configureTemplateFiles(c);
@@ -22,12 +22,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.customRnvStartTask = void 0;
23
23
  const open = __importStar(require("better-opn"));
24
24
  const rnv_1 = require("rnv");
25
+ const sdk_webpack_1 = require("@rnv/sdk-webpack");
25
26
  const constants_1 = require("../constants");
26
27
  const { getConfigProp } = rnv_1.Common;
27
28
  const { logErrorPlatform } = rnv_1.PlatformManager;
28
29
  const { logTask, logError } = rnv_1.Logger;
29
30
  const { TASK_START, TASK_CONFIGURE, REMOTE_DEBUGGER_ENABLED_PLATFORMS, PARAMS } = rnv_1.Constants;
30
- const { runWebpackServer, waitForWebpack } = rnv_1.WebpackUtils;
31
31
  const { executeTask } = rnv_1.TaskManager;
32
32
  const startFn = async (c, parentTask, originTask) => {
33
33
  const { platform, runtime, program } = c;
@@ -38,7 +38,7 @@ const startFn = async (c, parentTask, originTask) => {
38
38
  await executeTask(c, TASK_CONFIGURE, TASK_START, originTask);
39
39
  }
40
40
  if (hosted) {
41
- waitForWebpack(c)
41
+ (0, sdk_webpack_1.waitForWebpack)(c)
42
42
  .then(() => open(`http://${c.runtime.localhost}:${port}/`))
43
43
  .catch(logError);
44
44
  }
@@ -54,7 +54,7 @@ const startFn = async (c, parentTask, originTask) => {
54
54
  case constants_1.Platforms.WEBOS:
55
55
  case constants_1.Platforms.WEBTV:
56
56
  case constants_1.Platforms.XBOX:
57
- return runWebpackServer(c, isWeinreEnabled);
57
+ return (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
58
58
  default:
59
59
  if (hosted) {
60
60
  return logError('This platform does not support hosted mode', true);
@@ -43,79 +43,63 @@ const getAppContentPath = (baseUrl, isBuildHosted = false) => {
43
43
  ? `${baseUrl}/${relativePath}`
44
44
  : `./${relativePath}`;
45
45
  };
46
- function generateConfig(config) {
47
- const projectDir = path_1.default.resolve(config.currentDir, '../../');
48
- const platformBuildsDir = path_1.default.resolve(config.currentDir, '../');
49
- const appBuildDir = path_1.default.resolve(config.currentDir);
50
- const appBuildEngineProjectDir = path_1.default.resolve(config.currentDir, config.buildFolder);
51
- const appBuildEngineProjectPublicDir = path_1.default.resolve(appBuildEngineProjectDir, 'public');
52
- const platformSchemeAppIdObj = {
53
- platform: config.platform,
54
- scheme: config.scheme,
55
- flavour: config.appConfigId,
56
- };
57
- const buildVersion = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBuildVersion(platformSchemeAppIdObj);
58
- const baseUrl = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
59
- const devServerHost = config.devServerHost || '0.0.0.0';
60
- const isDevServer = appBuildEngineProjectDir.endsWith('/server');
61
- const { PLATFORM } = process.env;
62
- const isBuildHosted = config.isBuildHosted || false;
63
- const rules = {
64
- babel: {
65
- test: /\.[tj]sx?$/,
66
- exclude: (config.typescript?.exclude ?? []).map((exclusion) => (path_1.default.resolve(projectDir, exclusion))),
67
- use: [
68
- {
69
- loader: 'ts-loader',
70
- options: {
71
- transpileOnly: true,
72
- allowTsInNodeModules: true,
73
- },
74
- },
75
- ],
76
- },
77
- css: {
78
- test: /\.s?css$/,
79
- use: [
80
- isDevServer ? 'css-hot-loader' : null,
81
- mini_css_extract_plugin_1.default.loader,
82
- 'css-loader',
83
- {
84
- loader: 'sass-loader',
85
- options: {
86
- sourceMap: false,
87
- additionalData: (0, extendSass_1.extendSass)(config),
88
- },
89
- },
90
- ].filter(Boolean),
91
- },
92
- image: {
93
- test: /\.(gif|jpe?g|png|svg)$/,
94
- use: {
95
- loader: 'file-loader',
46
+ const makeRules = (config, projectDir, isDevServer) => ({
47
+ babel: {
48
+ test: /\.[tj]sx?$/,
49
+ exclude: (config.typescript?.exclude ?? []).map((exclusion) => (path_1.default.resolve(projectDir, exclusion))),
50
+ use: [
51
+ {
52
+ loader: 'ts-loader',
96
53
  options: {
97
- outputPath: 'content/assets/',
98
- publicPath: '../assets/',
54
+ transpileOnly: true,
55
+ allowTsInNodeModules: true,
99
56
  },
100
57
  },
101
- },
102
- fonts: {
103
- test: /\.(woff|woff2|eot|ttf|otf)(\?[\s\S]+)?$/,
104
- use: {
105
- loader: 'file-loader',
58
+ ],
59
+ },
60
+ css: {
61
+ test: /\.s?css$/,
62
+ use: [
63
+ isDevServer ? 'css-hot-loader' : null,
64
+ mini_css_extract_plugin_1.default.loader,
65
+ 'css-loader',
66
+ {
67
+ loader: 'sass-loader',
106
68
  options: {
107
- outputPath: 'content/fonts',
108
- publicPath: '../fonts/',
69
+ sourceMap: false,
70
+ additionalData: (0, extendSass_1.extendSass)(config),
109
71
  },
110
72
  },
73
+ ].filter(Boolean),
74
+ },
75
+ image: {
76
+ test: /\.(gif|jpe?g|png|svg)$/,
77
+ use: {
78
+ loader: 'file-loader',
79
+ options: {
80
+ outputPath: 'content/assets/',
81
+ publicPath: '../assets/',
82
+ },
111
83
  },
112
- sourcemap: {
113
- test: /\.[tj]sx$/,
114
- use: ['source-map-loader'],
115
- enforce: 'pre',
116
- exclude: [/node_modules/, /build/, /__test__/, /__tests__/],
84
+ },
85
+ fonts: {
86
+ test: /\.(woff|woff2|eot|ttf|otf)(\?[\s\S]+)?$/,
87
+ use: {
88
+ loader: 'file-loader',
89
+ options: {
90
+ outputPath: 'content/fonts',
91
+ publicPath: '../fonts/',
92
+ },
117
93
  },
118
- };
94
+ },
95
+ sourcemap: {
96
+ test: /\.[tj]sx$/,
97
+ use: ['source-map-loader'],
98
+ enforce: 'pre',
99
+ exclude: [/node_modules/, /build/, /__test__/, /__tests__/],
100
+ },
101
+ });
102
+ const makeAliases = (config, projectDir) => {
119
103
  const aliases = {
120
104
  '@24i/smartapps-bigscreen-device': config.environment === 'production'
121
105
  ? '@24i/smartapps-bigscreen-device'
@@ -132,6 +116,25 @@ function generateConfig(config) {
132
116
  }
133
117
  });
134
118
  }
119
+ return aliases;
120
+ };
121
+ function generateConfig(config) {
122
+ const projectDir = path_1.default.resolve(config.currentDir, '../../');
123
+ const platformBuildsDir = path_1.default.resolve(config.currentDir, '../');
124
+ const appBuildDir = path_1.default.resolve(config.currentDir);
125
+ const appBuildEngineProjectDir = path_1.default.resolve(config.currentDir, config.buildFolder);
126
+ const appBuildEngineProjectPublicDir = path_1.default.resolve(appBuildEngineProjectDir, 'public');
127
+ const platformSchemeAppIdObj = {
128
+ platform: config.platform,
129
+ scheme: config.scheme,
130
+ flavour: config.appConfigId,
131
+ };
132
+ const buildVersion = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBuildVersion(platformSchemeAppIdObj);
133
+ const baseUrl = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
134
+ const devServerHost = config.devServerHost || '0.0.0.0';
135
+ const isDevServer = appBuildEngineProjectDir.endsWith('/server');
136
+ const { PLATFORM } = process.env;
137
+ const isBuildHosted = config.isBuildHosted || false;
135
138
  const appContentPath = getAppContentPath(baseUrl, isBuildHosted);
136
139
  const copiedDirWithPublicContentPath = path_1.default.join(appBuildDir, `../${path_1.default.parse(appBuildDir).name}-public`);
137
140
  const plugins = {
@@ -203,30 +206,24 @@ function generateConfig(config) {
203
206
  },
204
207
  }),
205
208
  };
206
- const extensions = [
207
- ...generateFlavourJSExtensions(config),
208
- ...generateFlavourSCSSExtensions(config),
209
- ];
210
- const output = {
211
- filename: 'content/js/[name].js',
212
- publicPath: isBuildHosted ? `${baseUrl}/public` : '',
213
- path: appBuildEngineProjectPublicDir,
214
- };
215
- const devServer = {
216
- host: devServerHost,
217
- };
218
- const entry = {
219
- polyfill: path_1.default.resolve(projectDir, 'polyfill/index.ts'),
220
- bundle: path_1.default.resolve(projectDir, `${config.entryFile}.js`),
221
- };
222
209
  return {
223
- Rules: rules,
210
+ Rules: makeRules(config, projectDir, isDevServer),
211
+ extensions: [
212
+ ...generateFlavourJSExtensions(config),
213
+ ...generateFlavourSCSSExtensions(config),
214
+ ],
215
+ aliases: makeAliases(config, projectDir),
216
+ entry: {
217
+ polyfill: path_1.default.resolve(projectDir, 'polyfill/index.ts'),
218
+ bundle: path_1.default.resolve(projectDir, `${config.entryFile}.js`),
219
+ },
220
+ devServer: { host: devServerHost },
221
+ output: {
222
+ filename: 'content/js/[name].js',
223
+ publicPath: isBuildHosted ? `${baseUrl}/public` : '',
224
+ path: appBuildEngineProjectPublicDir,
225
+ },
224
226
  Plugins: plugins,
225
- extensions,
226
- aliases,
227
- entry,
228
- devServer,
229
- output,
230
227
  projectDir,
231
228
  platformBuildsDir,
232
229
  appBuildDir,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.12.1",
3
+ "version": "0.12.2-alpha.1693+5ba1dfd9",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@24i/smartapps-bigscreen-device": "*",
34
+ "@rnv/sdk-webpack": "0.35.0-alpha.2",
34
35
  "assign-deep": "^1.0.1",
35
36
  "core-js": "3.15.2",
36
37
  "coveralls": "3.1.1",
@@ -47,8 +48,8 @@
47
48
  "ora": "5.4.1",
48
49
  "raf": "3.4.1",
49
50
  "regenerator-runtime": "0.13.7",
50
- "renative-template-blank": "0.32.0-alpha.43",
51
- "rnv": "0.32.0-alpha.43",
51
+ "renative-template-blank": "0.35.0-alpha.2",
52
+ "rnv": "0.35.0-alpha.2",
52
53
  "sass": "1.37.0",
53
54
  "sass-loader": "10.1.1",
54
55
  "source-map-loader": "1.1.3",
@@ -62,5 +63,5 @@
62
63
  "keywords": [],
63
64
  "author": "24i",
64
65
  "license": "ISC",
65
- "gitHead": "bdf7f5083ff9e951b11a427bad0b49bf6d6e7504"
66
+ "gitHead": "5ba1dfd9109aedea738e0cef5af65edfcacc5689"
66
67
  }