@24i/smartapps-bigscreen-rnv-build-engine 0.12.1-alpha.1679 → 0.12.1-alpha.1705

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 { extensions } = engine_1.default.platforms[platform];
35
- expect(extensions).toBeInstanceOf(Array);
36
- const customExtensions = extensions
34
+ const { extenstions } = engine_1.default.platforms[platform];
35
+ expect(extenstions).toBeInstanceOf(Array);
36
+ const customExtensions = extenstions
37
37
  .filter((extension) => !configuredFileExtensions.includes(extension));
38
38
  expect(customExtensions.length)
39
39
  .toBeGreaterThanOrEqual(configuredFileExtensions.length);
@@ -13,7 +13,7 @@ const c = {
13
13
  appId: 'flavour1',
14
14
  },
15
15
  buildConfig: {
16
- defaults: { supportedPlatforms: [constants_1.Platforms.TIZEN, constants_1.Platforms.WEBTV, constants_1.Platforms.HBBTV] },
16
+ defaults: { supportedPlatforms: [constants_1.Platforms.TIZEN, constants_1.Platforms.WEBTV, constants_1.Platforms.HBBTV, constants_1.Platforms.XBOX] },
17
17
  common: {
18
18
  appNameInFileName: 'appName',
19
19
  packageVersion: '1.0.0',
@@ -39,6 +39,11 @@ const c = {
39
39
  supportedFlavours: ['flavour3'],
40
40
  },
41
41
  },
42
+ xbox: {
43
+ deploy: {
44
+ supportedFlavours: ['flavour1'],
45
+ },
46
+ },
42
47
  },
43
48
  },
44
49
  };
@@ -79,6 +84,12 @@ describe('resolveDeployLocations', () => {
79
84
  packageUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/build/appName_webtv_latest.release_flavour1.zip`,
80
85
  },
81
86
  },
87
+ xbox: {
88
+ flavour1: {
89
+ indexUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/public/index.html`,
90
+ packageUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/build/appName_xbox_latest.release_flavour1.zip`,
91
+ },
92
+ },
82
93
  },
83
94
  },
84
95
  },
@@ -48,42 +48,42 @@ exports.default = {
48
48
  ejectPlatform: null,
49
49
  platforms: {
50
50
  [constants_1.Platforms.ENTONE]: {
51
- extensions: generateEngineExtensions(['entone']),
51
+ extenstions: generateEngineExtensions(['entone']),
52
52
  defaultPort: 8094,
53
53
  isWebHosted: true,
54
54
  },
55
55
  [constants_1.Platforms.HBBTV]: {
56
- extensions: generateEngineExtensions(['hbbtv.tv']),
56
+ extenstions: generateEngineExtensions(['hbbtv.tv']),
57
57
  defaultPort: 8095,
58
58
  isWebHosted: true,
59
59
  },
60
60
  [constants_1.Platforms.KREATV]: {
61
- extensions: generateEngineExtensions(['kreatv']),
61
+ extenstions: generateEngineExtensions(['kreatv']),
62
62
  defaultPort: 8096,
63
63
  isWebHosted: true,
64
64
  },
65
65
  [constants_1.Platforms.SAPHI]: {
66
- extensions: generateEngineExtensions(['saphi.tv']),
66
+ extenstions: generateEngineExtensions(['saphi.tv']),
67
67
  defaultPort: 8097,
68
68
  isWebHosted: true,
69
69
  },
70
70
  [constants_1.Platforms.TIZEN]: {
71
- extensions: generateEngineExtensions(['tizen.tv']),
71
+ extenstions: generateEngineExtensions(['tizen.tv']),
72
72
  defaultPort: 8087,
73
73
  isWebHosted: true,
74
74
  },
75
75
  [constants_1.Platforms.WEBOS]: {
76
- extensions: generateEngineExtensions(['webos.tv']),
76
+ extenstions: generateEngineExtensions(['webos.tv']),
77
77
  defaultPort: 8088,
78
78
  isWebHosted: true,
79
79
  },
80
80
  [constants_1.Platforms.WEBTV]: {
81
- extensions: generateEngineExtensions(['webtv']),
81
+ extenstions: generateEngineExtensions(['webtv']),
82
82
  defaultPort: 8080,
83
83
  isWebHosted: true,
84
84
  },
85
85
  [constants_1.Platforms.XBOX]: {
86
- extensions: generateEngineExtensions(['xbox']),
86
+ extenstions: generateEngineExtensions(['xbox']),
87
87
  defaultPort: 8098,
88
88
  isWebHosted: true,
89
89
  },
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.handlePlatformSdk = exports.SDKWebpack = exports.SDKTizen = exports.SDKWebos = void 0;
22
+ exports.handlePlatformSdk = exports.SDKXbox = exports.SDKWebpack = exports.SDKTizen = exports.SDKWebos = void 0;
23
23
  const constants_1 = require("../constants");
24
24
  const SDKWebos = __importStar(require("./sdk-webos"));
25
25
  exports.SDKWebos = SDKWebos;
@@ -27,6 +27,8 @@ const SDKTizen = __importStar(require("./sdk-tizen"));
27
27
  exports.SDKTizen = SDKTizen;
28
28
  const SDKWebpack = __importStar(require("./sdk-webpack"));
29
29
  exports.SDKWebpack = SDKWebpack;
30
+ const SDKXbox = __importStar(require("./sdk-xbox"));
31
+ exports.SDKXbox = SDKXbox;
30
32
  const handlePlatformSdk = async (c) => {
31
33
  switch (c.platform) {
32
34
  case constants_1.Platforms.TIZEN:
@@ -26,7 +26,6 @@ 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");
30
29
  const sdk_utils_1 = require("../sdk-utils");
31
30
  const constants_1 = require("../../constants");
32
31
  const { execCLI } = rnv_1.Exec;
@@ -35,6 +34,7 @@ const { getPlatformProjectDir, getAppVersion, getConfigProp, checkPortInUse, con
35
34
  const { chalk, logTask, logDebug, logError, logSuccess, logWarning, logInfo, } = rnv_1.Logger;
36
35
  const { isPlatformActive } = rnv_1.PlatformManager;
37
36
  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,7 +79,7 @@ const runTizen = async (c, target) => {
79
79
  return;
80
80
  const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
81
81
  if (bundleAssets) {
82
- await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
82
+ await buildCoreWebpackProject(c);
83
83
  await handleRunTizenSimOrDevice(c);
84
84
  }
85
85
  else {
@@ -88,18 +88,18 @@ const runTizen = async (c, target) => {
88
88
  const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !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
- (0, sdk_webpack_1.waitForWebpack)(c)
91
+ waitForWebpack(c)
92
92
  .then(() => handleRunTizenSimOrDevice(c))
93
93
  .catch(logError);
94
- await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
94
+ await runWebpackServer(c, isWeinreEnabled);
95
95
  }
96
96
  else {
97
97
  const resetCompleted = await confirmActiveBundler(c);
98
98
  if (resetCompleted) {
99
- (0, sdk_webpack_1.waitForWebpack)(c)
99
+ waitForWebpack(c)
100
100
  .then(() => handleRunTizenSimOrDevice(c))
101
101
  .catch(logError);
102
- await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
102
+ await 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 (0, sdk_webpack_1.buildCoreWebpackProject)(c);
113
+ await 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 (0, sdk_webpack_1.configureCoreWebProject)(c);
158
+ await 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");
28
27
  const sdk_utils_1 = require("../sdk-utils");
29
28
  const { writeCleanFile } = rnv_1.FileUtils;
30
29
  const { execCLI } = rnv_1.Exec;
31
30
  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,7 +51,7 @@ const runWebOS = async (c) => {
51
51
  return;
52
52
  const bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
53
53
  if (bundleAssets) {
54
- await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
54
+ await buildCoreWebpackProject(c);
55
55
  await runWebosSimOrDevice(c);
56
56
  }
57
57
  else {
@@ -60,18 +60,18 @@ const runWebOS = async (c) => {
60
60
  const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !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
- (0, sdk_webpack_1.waitForWebpack)(c)
63
+ waitForWebpack(c)
64
64
  .then(() => runWebosSimOrDevice(c))
65
65
  .catch(logError);
66
- await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
66
+ await runWebpackServer(c, isWeinreEnabled);
67
67
  }
68
68
  else {
69
69
  const resetCompleted = await confirmActiveBundler(c);
70
70
  if (resetCompleted) {
71
- (0, sdk_webpack_1.waitForWebpack)(c)
71
+ waitForWebpack(c)
72
72
  .then(() => runWebosSimOrDevice(c))
73
73
  .catch(logError);
74
- await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
74
+ await 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 (0, sdk_webpack_1.buildCoreWebpackProject)(c);
85
+ await 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 (0, sdk_webpack_1.configureCoreWebProject)(c);
113
+ await 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");
6
5
  const { getPlatformProjectDir } = rnv_1.Common;
7
6
  const { isPlatformActive } = rnv_1.PlatformManager;
8
7
  const { logTask } = rnv_1.Logger;
9
8
  const { copyBuildsFolder, copyAssetsFolder } = rnv_1.ProjectManager;
10
- const buildWeb = async (c) => (0, sdk_webpack_1.buildCoreWebpackProject)(c);
9
+ const { buildCoreWebpackProject, configureCoreWebProject } = rnv_1.WebpackUtils;
10
+ const buildWeb = async (c) => 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 (0, sdk_webpack_1.configureCoreWebProject)(c);
19
+ await configureCoreWebProject(c);
20
20
  copyBuildsFolder(c, platform);
21
21
  };
22
22
  exports.configureWebProject = configureWebProject;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./sdkXbox"), exports);
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildXboxProject = void 0;
4
+ const rnv_1 = require("rnv");
5
+ const child_process_1 = require("child_process");
6
+ const fs_1 = require("fs");
7
+ const resolvers_1 = require("../../resolvers");
8
+ const fs = fs_1.promises;
9
+ const { logTask } = rnv_1.Logger;
10
+ const { buildCoreWebpackProject } = rnv_1.WebpackUtils;
11
+ const projectBuilder = require('manifoldjs-windows10');
12
+ const hostedAppOutputPath = '/output/hosted';
13
+ const packagedAppOutputPath = '/output/packaged';
14
+ const packagedAppSrcDestination = '/output/packaged/windows10/source/src';
15
+ const appSourcePath = '/project/public';
16
+ const packagedAppEntryUrl = 'src/index.html';
17
+ const wrapperConfigPath = '/wrapperConfig.json';
18
+ const hostedSourceImages = '/output/hosted/windows10/source/images';
19
+ const packagedSourceImages = '/output/packaged/windows10/source/images';
20
+ const hostedManifestImages = '/output/hosted/windows10/manifest/images';
21
+ const packagedManifestImages = '/output/packaged/windows10/manifest/images';
22
+ const identityNamePlaceholder = 'INSERT-YOUR-PACKAGE-IDENTITY-NAME-HERE';
23
+ const identityPublisherPlaceholder = 'INSERT-YOUR-PACKAGE-IDENTITY-PUBLISHER-HERE';
24
+ const publisherDisplayNamePlaceholder = 'INSERT-YOUR-PACKAGE-PROPERTIES-PUBLISHERDISPLAYNAME-HERE';
25
+ class Manifest {
26
+ content = { start_url: '', short_name: '', theme_color: 'white' };
27
+ format = 'w3c';
28
+ }
29
+ const getHostedAppEntryUrl = (c) => {
30
+ const deployLocations = (0, resolvers_1.resolveDeployLocations)(c);
31
+ const keys = Object.keys(deployLocations.versions);
32
+ let url;
33
+ if (keys !== null && keys.length > 0) {
34
+ const version = keys[0];
35
+ if (version !== null) {
36
+ url = deployLocations.versions[version].platforms.xbox?.animated_720?.indexUrl;
37
+ }
38
+ }
39
+ return url;
40
+ };
41
+ const getBuildFolder = (c) => {
42
+ const sourceDir = `${rnv_1.Common.getPlatformBuildDir(c)}`;
43
+ return sourceDir;
44
+ };
45
+ const zipOutput = async (c) => {
46
+ logTask('zipOutput');
47
+ const defaultZipFileName = `${c.platform}_${c.runtime.appId}.zip`;
48
+ const fileName = (0, resolvers_1.resolveBuildFileName)(c) || defaultZipFileName;
49
+ const outputDirectory = `${getBuildFolder(c)}/output`;
50
+ const tmpOutputDirectory = `${getBuildFolder(c)}/tmpOutput`;
51
+ try {
52
+ await fs.mkdir(tmpOutputDirectory);
53
+ (0, child_process_1.execSync)(`cp -r ${outputDirectory} ${tmpOutputDirectory}`);
54
+ await fs.rm(outputDirectory, { recursive: true, force: true });
55
+ await fs.mkdir(outputDirectory);
56
+ (0, child_process_1.execSync)(`zip -r ${outputDirectory}/${fileName} *`, { cwd: `${tmpOutputDirectory}` });
57
+ await fs.rm(tmpOutputDirectory, { recursive: true, force: true });
58
+ }
59
+ catch { }
60
+ };
61
+ const createVSSolution = async (c, outputPath, manifest) => {
62
+ logTask('createVSSolution');
63
+ try {
64
+ manifest.content.short_name = c.buildConfig.common.appName;
65
+ const platform = new projectBuilder.Platform('package', ['windows10']);
66
+ await platform.create(manifest, outputPath, ['windows10'], '');
67
+ }
68
+ catch { }
69
+ };
70
+ const createHostedApplication = async (c) => {
71
+ logTask('createHostedApplication');
72
+ const manifest = new Manifest();
73
+ manifest.content.start_url = getHostedAppEntryUrl(c);
74
+ await createVSSolution(c, `${getBuildFolder(c)}${hostedAppOutputPath}`, manifest);
75
+ };
76
+ const createPackagedApplication = async (c) => {
77
+ logTask('createPackagedApplication');
78
+ const manifest = new Manifest();
79
+ manifest.content.start_url = packagedAppEntryUrl ?? '';
80
+ const sourceDir = `${getBuildFolder(c)}${appSourcePath}`;
81
+ const destinationDirectory = `${getBuildFolder(c)}${packagedAppSrcDestination}`;
82
+ await createVSSolution(c, `${getBuildFolder(c)}${packagedAppOutputPath}`, manifest);
83
+ (0, child_process_1.execSync)(`cp -r ${sourceDir} ${destinationDirectory}`);
84
+ };
85
+ const replacePublisherId = async (c, basePath) => {
86
+ logTask('replacePublisherId');
87
+ const output = `${basePath}/windows10/manifest/appxmanifest.xml`;
88
+ const configPath = `${getBuildFolder(c)}${wrapperConfigPath}`;
89
+ let appxmanifest = null;
90
+ let identityName = null;
91
+ let identityPublisher = null;
92
+ let publisherDisplayName = null;
93
+ try {
94
+ const data = await fs.readFile(configPath);
95
+ const config = JSON.parse(data.toString());
96
+ ({ identityName } = config);
97
+ ({ identityPublisher } = config);
98
+ ({ publisherDisplayName } = config);
99
+ const appxmanifestData = await fs.readFile(output);
100
+ appxmanifest = appxmanifestData.toString();
101
+ if (identityName !== null
102
+ && identityPublisher !== null
103
+ && publisherDisplayName !== null) {
104
+ appxmanifest = appxmanifest.replace(identityNamePlaceholder, identityName)
105
+ .replace(identityPublisherPlaceholder, identityPublisher)
106
+ .replace(publisherDisplayNamePlaceholder, publisherDisplayName);
107
+ }
108
+ await fs.writeFile(output, appxmanifest ?? '');
109
+ }
110
+ catch {
111
+ const errorMessage = 'Failed to modify the xbox appxmanifest.xml';
112
+ console.log(errorMessage);
113
+ }
114
+ };
115
+ const replaceImages = async (c) => {
116
+ logTask('replaceImages');
117
+ const hostedOutputDirectory = `${getBuildFolder(c)}${hostedSourceImages}`;
118
+ const packagedOutputDirectory = `${getBuildFolder(c)}${packagedSourceImages}`;
119
+ const hostedOutputManifestDirectory = `${getBuildFolder(c)}${hostedManifestImages}`;
120
+ const packagedOutputManifestDirectory = `${getBuildFolder(c)}${packagedManifestImages}`;
121
+ const appIconsDirectory = `${getBuildFolder(c)}/project/appIcons`;
122
+ try {
123
+ await fs.rm(hostedOutputDirectory, { recursive: true, force: true });
124
+ await fs.rm(packagedOutputDirectory, { recursive: true, force: true });
125
+ (0, child_process_1.execSync)(`cp -r ${appIconsDirectory} ${hostedOutputDirectory}`);
126
+ (0, child_process_1.execSync)(`cp -r ${appIconsDirectory} ${packagedOutputDirectory}`);
127
+ (0, child_process_1.execSync)(`cp -r ${appIconsDirectory} ${hostedOutputManifestDirectory}`);
128
+ (0, child_process_1.execSync)(`cp -r ${appIconsDirectory} ${packagedOutputManifestDirectory}`);
129
+ await fs.rm(appIconsDirectory, { recursive: true, force: true });
130
+ }
131
+ catch {
132
+ console.log('Failed to replace the xbox icons');
133
+ }
134
+ };
135
+ const buildXboxProject = async (c) => {
136
+ logTask('buildXboxProject');
137
+ const outputDirectory = `${getBuildFolder(c)}/output`;
138
+ await buildCoreWebpackProject(c);
139
+ await fs.rm(outputDirectory, { recursive: true, force: true });
140
+ await createHostedApplication(c);
141
+ await createPackagedApplication(c);
142
+ await replacePublisherId(c, `${getBuildFolder(c)}${hostedAppOutputPath}`);
143
+ await replacePublisherId(c, `${getBuildFolder(c)}${packagedAppOutputPath}`);
144
+ await replaceImages(c);
145
+ await zipOutput(c);
146
+ };
147
+ exports.buildXboxProject = buildXboxProject;
@@ -32,6 +32,7 @@ const { logTask } = rnv_1.Logger;
32
32
  const { buildWeb } = sdks_1.SDKWebpack;
33
33
  const { buildTizenProject } = sdks_1.SDKTizen;
34
34
  const { buildWebOSProject } = sdks_1.SDKWebos;
35
+ const { buildXboxProject } = sdks_1.SDKXbox;
35
36
  const { executeOrSkipTask } = rnv_1.TaskManager;
36
37
  const { TASK_BUILD, TASK_PACKAGE, PARAMS } = rnv_1.Constants;
37
38
  const makeZipOutput = (c) => {
@@ -70,10 +71,12 @@ const buildFn = async (c, parentTask, originTask) => {
70
71
  case constants_1.Platforms.KREATV:
71
72
  case constants_1.Platforms.SAPHI:
72
73
  case constants_1.Platforms.WEBTV:
73
- case constants_1.Platforms.XBOX:
74
74
  await buildWeb(c);
75
75
  makeZipOutput(c);
76
76
  return;
77
+ case constants_1.Platforms.XBOX:
78
+ await buildXboxProject(c);
79
+ return;
77
80
  case constants_1.Platforms.TIZEN:
78
81
  await buildTizenProject(c);
79
82
  renameOutput(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");
26
25
  const constants_1 = require("../constants");
27
26
  const { getConfigProp } = rnv_1.Common;
28
27
  const { logErrorPlatform } = rnv_1.PlatformManager;
29
28
  const { logTask, logError } = rnv_1.Logger;
30
29
  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
- (0, sdk_webpack_1.waitForWebpack)(c)
41
+ 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 (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
57
+ return runWebpackServer(c, isWeinreEnabled);
58
58
  default:
59
59
  if (hosted) {
60
60
  return logError('This platform does not support hosted mode', true);
@@ -120,7 +120,6 @@ function generateConfig(config) {
120
120
  '@24i/smartapps-bigscreen-device': config.environment === 'production'
121
121
  ? '@24i/smartapps-bigscreen-device'
122
122
  : '@24i/smartapps-bigscreen-device/resolver',
123
- '@rnv/sdk-webpack': '@rnv/sdk-webpack/dist/index.js',
124
123
  };
125
124
  const { moduleAliases } = config;
126
125
  if (moduleAliases) {
@@ -0,0 +1,25 @@
1
+ /* eslint-disable */
2
+
3
+ const process = require('process');
4
+ const fs = require('fs').promises;
5
+
6
+ const main = async (deleteDependencies) => {
7
+
8
+ console.log("Fix dependencies")
9
+
10
+ if (deleteDependencies === undefined) return;
11
+
12
+ for (dependency of deleteDependencies) {
13
+
14
+ const packageLockFilePath = `${dependency.path}`;
15
+
16
+ console.log(packageLockFilePath);
17
+ try {
18
+ await fs.rm(packageLockFilePath, { recursive: true, force: true });
19
+ } catch {
20
+ console.log("error")
21
+ }
22
+ }
23
+ };
24
+
25
+ main(require('./package.json').deleteDependencies);
@@ -0,0 +1,62 @@
1
+ /* eslint-disable */
2
+
3
+ const fs = require('fs').promises;
4
+ const path = require('path');
5
+
6
+ const main = async (resolutions) => {
7
+
8
+ if (resolutions === undefined) return;
9
+
10
+ const packageLockFilePath = path.resolve(__dirname, './package-lock.json');
11
+
12
+ for (const [name, version] of Object.entries(resolutions)) {
13
+
14
+ console.log(resolutions);
15
+
16
+ const packageLock = JSON.parse(await fs.readFile(packageLockFilePath));
17
+ const packagePaths = Object.keys(packageLock.packages);
18
+ const deletePaths = [];
19
+
20
+ for (const packagePath of packagePaths) {
21
+ if (packagePath.endsWith('/' + name)) {
22
+ if (packageLock.packages[packagePath].version !== version) {
23
+ //deletePaths.push(packagePath);
24
+ packageLock.packages[packagePath].version = version;
25
+ }
26
+ }
27
+
28
+ if (packageLock.packages[packagePath].dependencies !== undefined) {
29
+
30
+ const dependencies = packageLock.packages[packagePath].dependencies;
31
+ const keys = Object.keys(dependencies);
32
+ console.log(dependencies)
33
+ for (const key of keys) {
34
+ const dependency = dependencies[key];
35
+ console.log(dependency)
36
+ if (key === name) {
37
+ let dependency = dependencies[key];
38
+ if (dependency !== version) {
39
+ delete dependencies[key];
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ for (const packagePath of deletePaths) {
47
+ for (const deletePath of deletePaths) {
48
+ if (packagePath === deletePath || packagePath.startsWith(deletePath + '/')) {
49
+ // eslint-disable-next-line fp/no-delete
50
+ delete packageLock.packages[packagePath];
51
+ }
52
+ }
53
+ }
54
+
55
+ await fs.writeFile(
56
+ packageLockFilePath,
57
+ JSON.stringify(packageLock, null, ' '),
58
+ );
59
+ }
60
+ };
61
+
62
+ main(require('../../package.json').resolutions);
package/jest.config.js CHANGED
@@ -2,6 +2,7 @@ module.exports = {
2
2
  ...require('../../jest.config.base'),
3
3
  transformIgnorePatterns: [
4
4
  '/node_modules/ansi-color/', // compiler error: Octal literal in strict mode
5
+ '/node_modules/fstream', // compiler error: Octal literal in strict mode
5
6
  ],
6
7
  testEnvironment: 'node',
7
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.12.1-alpha.1679+83849247",
3
+ "version": "0.12.1-alpha.1705+7d9b1cb1",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
@@ -16,8 +16,19 @@
16
16
  "lintcheck:cached": "npm run eslint -- --cache && npm run stylelint -- --cache",
17
17
  "typecheck:cached": "tsc --noEmit --incremental",
18
18
  "test": "jest --passWithNoTests",
19
- "prepublishOnly": "npm run build"
19
+ "prepublishOnly": "npm run build",
20
+ "postinstall": "node fixDependency.js"
20
21
  },
22
+ "deleteDependencies": [
23
+ {
24
+ "path": "../../unzip2/node_modules/graceful-fs/",
25
+ "version": "^4.2.8"
26
+ },
27
+ {
28
+ "path": "./node_modules/fstream/node_modules/graceful-fs/",
29
+ "version": "^4.2.8"
30
+ }
31
+ ],
21
32
  "devDependencies": {
22
33
  "@types/inquirer": "8.1.3",
23
34
  "@types/mini-css-extract-plugin": "1.2.2",
@@ -31,7 +42,6 @@
31
42
  },
32
43
  "peerDependencies": {
33
44
  "@24i/smartapps-bigscreen-device": "*",
34
- "@rnv/sdk-webpack": "0.34.0-alpha.8",
35
45
  "assign-deep": "^1.0.1",
36
46
  "core-js": "3.15.2",
37
47
  "coveralls": "3.1.1",
@@ -43,13 +53,14 @@
43
53
  "glob": "7.1.7",
44
54
  "html-webpack-harddisk-plugin": "1.0.2",
45
55
  "html-webpack-plugin": "4.5.2",
56
+ "manifoldjs": "*",
46
57
  "mini-css-extract-plugin": "1.6.2",
47
58
  "node-ssh": "11.1.1",
48
59
  "ora": "5.4.1",
49
60
  "raf": "3.4.1",
50
61
  "regenerator-runtime": "0.13.7",
51
- "renative-template-blank": "0.34.0-alpha.8",
52
- "rnv": "0.34.0-alpha.8",
62
+ "renative-template-blank": "0.32.0-alpha.43",
63
+ "rnv": "0.32.0-alpha.43",
53
64
  "sass": "1.37.0",
54
65
  "sass-loader": "10.1.1",
55
66
  "source-map-loader": "1.1.3",
@@ -63,5 +74,5 @@
63
74
  "keywords": [],
64
75
  "author": "24i",
65
76
  "license": "ISC",
66
- "gitHead": "83849247a2ccb992e52a8a2822566ce990197718"
77
+ "gitHead": "7d9b1cb12e396b516d5996beda2ab95fe40626a4"
67
78
  }