@24i/smartapps-bigscreen-rnv-build-engine 0.15.0 → 0.15.1-alpha.1956

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.
@@ -27,13 +27,14 @@ const semver = __importStar(require("semver"));
27
27
  const child_process_1 = require("child_process");
28
28
  const rnv_1 = require("rnv");
29
29
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
30
+ const sdk_webpack_2 = require("../sdk-webpack");
30
31
  const sdk_utils_1 = require("../sdk-utils");
31
32
  const constants_1 = require("../../constants");
32
33
  const { createDevelopTizenCertificate, DEFAULT_CERTIFICATE_NAME, DEFAULT_SECURITY_PROFILE_NAME, } = rnv_1.SDKManager.Tizen;
33
34
  const DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = `${DEFAULT_CERTIFICATE_NAME}.p12`;
34
35
  const buildTizenProject = async (c) => {
35
36
  rnv_1.Logger.logTask('buildTizenProject');
36
- await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
37
+ await (0, sdk_webpack_2.buildCoreWebpackProject)(c);
37
38
  if (!c.program.hosted) {
38
39
  const projectDir = rnv_1.Common.getPlatformProjectDir(c);
39
40
  const projectParentDir = path.join(projectDir, '..');
@@ -25,11 +25,12 @@ const path = __importStar(require("path"));
25
25
  const os_1 = require("os");
26
26
  const rnv_1 = require("rnv");
27
27
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
28
+ const sdk_webpack_2 = require("../sdk-webpack");
28
29
  const sdk_utils_1 = require("../sdk-utils");
29
30
  const constants_1 = require("../../constants");
30
31
  const buildWebOSProject = async (c) => {
31
32
  rnv_1.Logger.logTask('buildWebOSProject');
32
- await (0, sdk_webpack_1.buildCoreWebpackProject)(c);
33
+ await (0, sdk_webpack_2.buildCoreWebpackProject)(c);
33
34
  if (!c.program.hosted) {
34
35
  const tDir = rnv_1.Common.getPlatformProjectDir(c);
35
36
  const tOut = path.join(rnv_1.Common.getPlatformBuildDir(c), 'output');
@@ -1,6 +1,99 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureWebProject = exports.buildCoreWebpackProject = void 0;
6
+ exports.runWebpackServer = exports.buildCoreWebpackProject = exports.configureWebProject = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const ip_1 = __importDefault(require("ip"));
9
+ const rnv_1 = require("rnv");
4
10
  var sdk_webpack_1 = require("@rnv/sdk-webpack");
5
- Object.defineProperty(exports, "buildCoreWebpackProject", { enumerable: true, get: function () { return sdk_webpack_1.buildCoreWebpackProject; } });
6
11
  Object.defineProperty(exports, "configureWebProject", { enumerable: true, get: function () { return sdk_webpack_1.configureWebProject; } });
12
+ const getWebpackPath = () => {
13
+ const binWebpackJs = 'bin/webpack.js';
14
+ const WEBPACK = path_1.default.join(__dirname, '../../../node_modules/webpack', binWebpackJs);
15
+ if (rnv_1.FileUtils.fsExistsSync(WEBPACK)) {
16
+ return WEBPACK;
17
+ }
18
+ const WP_ALTERNATIVE = `${rnv_1.Resolver.doResolve('webpack')}/${binWebpackJs}`;
19
+ if (rnv_1.FileUtils.fsExistsSync(WP_ALTERNATIVE)) {
20
+ return WP_ALTERNATIVE;
21
+ }
22
+ return '';
23
+ };
24
+ const buildCoreWebpackProject = async (c) => {
25
+ const { debug, debugIp } = c.program;
26
+ const { appId } = c.runtime;
27
+ const { platform } = c;
28
+ rnv_1.Logger.logTask('buildCoreWebpackProject');
29
+ let debugVariables = '';
30
+ if (debug) {
31
+ rnv_1.Logger.logInfo(`Starting a remote debugger build with ip ${debugIp
32
+ || ip_1.default.address()}. If this IP is not correct, you can always override it with --debugIp`);
33
+ debugVariables += `DEBUG=true DEBUG_IP=${debugIp || ip_1.default.address()}`;
34
+ }
35
+ const environment = rnv_1.Common.getConfigProp(c, platform, 'environment', 'production');
36
+ const configName = environment === 'production' ? 'prod' : 'dev';
37
+ const wp = getWebpackPath();
38
+ if (wp === '') {
39
+ rnv_1.Logger.logWarning('Webpack not found. Will try to use globally installed one');
40
+ }
41
+ const envVars = `PLATFORM=${platform} NODE_ENV=${environment} ${debugVariables}`;
42
+ const wpConfigPath = `./platformBuilds/${appId}_${platform}/webpack.config.${configName}.js`;
43
+ const wpCmd = `node ${wp} build --config ${wpConfigPath}`;
44
+ await rnv_1.Exec.executeAsync(c, `npx cross-env ${envVars} ${wpCmd}`);
45
+ const coloredBuildDir = rnv_1.Logger.chalk().cyan(rnv_1.Common.getPlatformProjectDir(c));
46
+ rnv_1.Logger.logSuccess(`Your build is located in ${coloredBuildDir}.`);
47
+ };
48
+ exports.buildCoreWebpackProject = buildCoreWebpackProject;
49
+ const runWebDevServer = async (c) => {
50
+ rnv_1.Logger.logTask('runWebDevServer');
51
+ const environment = rnv_1.Common.getConfigProp(c, c.platform, 'environment', 'production');
52
+ const configName = environment === 'production' ? 'prod' : 'dev';
53
+ const appFolder = rnv_1.Common.getPlatformBuildDir(c);
54
+ const wpConfig = path_1.default.join(appFolder, `webpack.config.${configName}.js`);
55
+ const debugObj = { lineBreaks: '\n\n\n', debugVariables: '', remoteDebuggerActive: false };
56
+ const devServerHost = rnv_1.Common.getDevServerHost(c);
57
+ const url = rnv_1.Logger.chalk().cyan(`http://${devServerHost}:${c.runtime.port}`);
58
+ rnv_1.Logger.logRaw(`${debugObj.lineBreaks}Dev server running at: ${url}\n\n`);
59
+ const envCmd = `cross-env PLATFORM=${c.platform} ${debugObj.debugVariables}`;
60
+ const webpackServerOptions = [
61
+ `--config ${wpConfig}`,
62
+ `--mode=${environment}`,
63
+ `--host ${devServerHost}`,
64
+ `--port ${c.runtime.port}`,
65
+ '--devtool source-map',
66
+ '--progress',
67
+ '--history-api-fallback',
68
+ '--hot',
69
+ ];
70
+ const serverCmd = `webpack serve ${webpackServerOptions.join(' ')}`;
71
+ const command = `npx ${envCmd} ${serverCmd}`;
72
+ try {
73
+ await rnv_1.Exec.executeAsync(c, command, { stdio: 'inherit', silent: true });
74
+ rnv_1.Logger.logDebug('runWebDevServer: running');
75
+ }
76
+ catch (e) {
77
+ rnv_1.Logger.logDebug(e);
78
+ }
79
+ };
80
+ const runWebpackServer = async (c) => {
81
+ const { port } = c.runtime;
82
+ const { platform } = c;
83
+ rnv_1.Logger.logTask('runWeb', `port:${port}`);
84
+ const bundleAssets = rnv_1.Common.getConfigProp(c, c.platform, 'bundleAssets', false);
85
+ if (bundleAssets) {
86
+ await (0, exports.buildCoreWebpackProject)(c);
87
+ rnv_1.Logger.logSuccess('bundleAssets set to true. webpack dev server will not run');
88
+ return;
89
+ }
90
+ if (await rnv_1.Common.checkPortInUse(c, platform, port)) {
91
+ const resetSuccessful = await rnv_1.Common.confirmActiveBundler(c);
92
+ if (!resetSuccessful) {
93
+ return;
94
+ }
95
+ }
96
+ rnv_1.Logger.logSummary('BUNDLER STARTED');
97
+ await runWebDevServer(c);
98
+ };
99
+ exports.runWebpackServer = runWebpackServer;
@@ -1,33 +1,12 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  Object.defineProperty(exports, "__esModule", { value: true });
22
3
  exports.customRnvStartTask = void 0;
23
- const open = __importStar(require("better-opn"));
24
4
  const rnv_1 = require("rnv");
25
- const sdk_webpack_1 = require("@rnv/sdk-webpack");
5
+ const sdk_webpack_1 = require("../sdks/sdk-webpack");
26
6
  const constants_1 = require("../constants");
27
- const { getConfigProp } = rnv_1.Common;
28
7
  const { logErrorPlatform } = rnv_1.PlatformManager;
29
8
  const { logTask, logError } = rnv_1.Logger;
30
- const { TASK_START, TASK_CONFIGURE, REMOTE_DEBUGGER_ENABLED_PLATFORMS, PARAMS } = rnv_1.Constants;
9
+ const { TASK_START, TASK_CONFIGURE, PARAMS } = rnv_1.Constants;
31
10
  const { executeTask } = rnv_1.TaskManager;
32
11
  const startFn = async (c, parentTask, originTask) => {
33
12
  const { platform, runtime, program } = c;
@@ -37,14 +16,6 @@ const startFn = async (c, parentTask, originTask) => {
37
16
  if (!parentTask) {
38
17
  await executeTask(c, TASK_CONFIGURE, TASK_START, originTask);
39
18
  }
40
- if (hosted) {
41
- (0, sdk_webpack_1.waitForWebpack)(c)
42
- .then(() => open(`http://${c.runtime.localhost}:${port}/`))
43
- .catch(logError);
44
- }
45
- const bundleAssets = getConfigProp(c, c.platform, 'bundleAssets');
46
- const isDebuggerEnabledForPlatform = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform);
47
- const isWeinreEnabled = isDebuggerEnabledForPlatform && !bundleAssets && !hosted;
48
19
  switch (platform) {
49
20
  case constants_1.Platforms.ENTONE:
50
21
  case constants_1.Platforms.HBBTV:
@@ -54,7 +25,7 @@ const startFn = async (c, parentTask, originTask) => {
54
25
  case constants_1.Platforms.WEBOS:
55
26
  case constants_1.Platforms.WEBTV:
56
27
  case constants_1.Platforms.XBOX:
57
- await (0, sdk_webpack_1.runWebpackServer)(c, isWeinreEnabled);
28
+ await (0, sdk_webpack_1.runWebpackServer)(c);
58
29
  break;
59
30
  default:
60
31
  if (hosted) {
@@ -44,7 +44,11 @@ const runSpritesmith = (config) => (new Promise((resolve) => {
44
44
  const spritesmith = config.plugins[0];
45
45
  spritesmith.apply(webpackCompiler);
46
46
  spritesmith.compile(() => {
47
- spritesmith.getWatcher().close();
47
+ webpackCompiler.close((err) => {
48
+ if (err instanceof Error) {
49
+ console.log(`Error during generating PNG spritesheet: ${err.message}`);
50
+ }
51
+ });
48
52
  resolve();
49
53
  });
50
54
  }));
@@ -74,23 +74,19 @@ const makeRules = (config, projectDir, isDevServer) => ({
74
74
  },
75
75
  image: {
76
76
  test: /\.(gif|jpe?g|png|svg)$/,
77
- use: {
78
- loader: 'file-loader',
79
- options: {
80
- outputPath: 'content/assets/',
81
- publicPath: '../assets/',
82
- },
77
+ type: 'asset/resource',
78
+ generator: {
79
+ outputPath: 'content/assets/',
80
+ publicPath: '../assets/',
83
81
  },
84
82
  },
85
83
  fonts: {
86
84
  test: /\.(woff|woff2|eot|ttf|otf)(\?[\s\S]+)?$/,
87
- use: {
88
- loader: 'file-loader',
89
- options: {
90
- outputPath: 'content/fonts',
91
- publicPath: '../fonts/',
92
- },
93
- },
85
+ type: 'asset/resource',
86
+ generator: {
87
+ outputPath: 'content/fonts/',
88
+ publicPath: '../fonts/',
89
+ }
94
90
  },
95
91
  sourcemap: {
96
92
  test: /\.[tj]sx$/,
@@ -141,7 +137,6 @@ function generateConfig(config) {
141
137
  const plugins = {
142
138
  forkTsChecker: new fork_ts_checker_webpack_plugin_1.default({
143
139
  typescript: {
144
- enabled: true,
145
140
  memoryLimit: 4096,
146
141
  },
147
142
  }),
@@ -219,7 +214,10 @@ function generateConfig(config) {
219
214
  polyfill: path_1.default.resolve(projectDir, 'polyfill/index.ts'),
220
215
  bundle: path_1.default.resolve(projectDir, `${config.entryFile}.js`),
221
216
  },
222
- devServer: { host: devServerHost },
217
+ devServer: {
218
+ host: devServerHost,
219
+ static: appBuildEngineProjectDir,
220
+ },
223
221
  output: {
224
222
  filename: 'content/js/[name].js',
225
223
  publicPath: isBuildHosted ? `${baseUrl}/public` : '',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.15.0",
3
+ "version": "0.15.1-alpha.1956+528644e7",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
@@ -33,56 +33,55 @@
33
33
  "version": "^4.2.8"
34
34
  }
35
35
  ],
36
+ "dependencies": {
37
+ "xml2js": "^0.4.23"
38
+ },
36
39
  "devDependencies": {
37
40
  "@types/inquirer": "8.2.1",
38
- "@types/mini-css-extract-plugin": "1.4.3",
41
+ "@types/ip": "1.1.0",
39
42
  "@types/node": "17.0.31",
40
43
  "@types/semver": "7.3.9",
41
44
  "@types/ssh2": "0.5.52",
42
- "@types/tapable": "1.0.6",
43
- "@types/webpack": "4.41.26",
44
- "@types/xml2js": "^0.4.11",
45
+ "@types/tapable": "2.2.2",
46
+ "@types/webpack": "5.28.0",
47
+ "@types/xml2js": "0.4.11",
45
48
  "nock": "13.2.4",
46
49
  "svgo": "1.3.2"
47
50
  },
48
51
  "peerDependencies": {
49
52
  "@24i/smartapps-bigscreen-device": "*",
50
53
  "@rnv/sdk-webpack": "0.35.0-alpha.2",
51
- "assign-deep": "^1.0.1",
52
- "better-opn": "1.0.0",
53
- "core-js": "3.15.2",
54
+ "assign-deep": "1.0.1",
55
+ "core-js": "3.22.4",
54
56
  "coveralls": "3.1.1",
55
57
  "css-hot-loader": "1.4.4",
56
58
  "css-loader": "5.2.7",
57
- "file-loader": "6.2.0",
58
- "filemanager-webpack-plugin": "3.1.1",
59
- "fork-ts-checker-webpack-plugin": "6.2.12",
60
- "glob": "7.1.7",
61
- "html-webpack-harddisk-plugin": "1.0.2",
62
- "html-webpack-plugin": "4.5.2",
63
- "manifoldjs-windows10": "^0.1.8",
64
- "mini-css-extract-plugin": "1.6.2",
65
- "node-ssh": "11.1.1",
59
+ "filemanager-webpack-plugin": "6.1.7",
60
+ "fork-ts-checker-webpack-plugin": "7.2.11",
61
+ "glob": "8.0.1",
62
+ "html-webpack-harddisk-plugin": "2.0.0",
63
+ "html-webpack-plugin": "5.5.0",
64
+ "ip": "1.1.5",
65
+ "manifoldjs-windows10": "0.1.8",
66
+ "mini-css-extract-plugin": "2.6.0",
67
+ "node-ssh": "12.0.4",
66
68
  "ora": "5.4.1",
67
69
  "raf": "3.4.1",
68
- "regenerator-runtime": "0.13.7",
70
+ "regenerator-runtime": "0.13.9",
69
71
  "renative-template-blank": "0.35.0-alpha.2",
70
72
  "rnv": "0.35.0-alpha.2",
71
- "sass": "1.37.0",
72
- "sass-loader": "10.1.1",
73
- "source-map-loader": "1.1.3",
73
+ "sass": "1.51.0",
74
+ "sass-loader": "12.6.0",
75
+ "source-map-loader": "3.0.1",
74
76
  "svgo": "1.3.2",
75
- "ts-loader": "8.1.0",
76
- "webpack": "4.46.0",
77
- "webpack-cli": "3.3.12",
78
- "webpack-dev-server": "3.11.2",
79
- "webpack-spritesmith": "^1.1.0"
77
+ "ts-loader": "9.3.0",
78
+ "webpack": "5.72.0",
79
+ "webpack-cli": "4.9.2",
80
+ "webpack-dev-server": "4.9.0",
81
+ "webpack-spritesmith": "1.1.0"
80
82
  },
81
83
  "keywords": [],
82
84
  "author": "24i",
83
85
  "license": "ISC",
84
- "gitHead": "287f24f9eecf9349c5a8cab183f30c87a2061a4e",
85
- "dependencies": {
86
- "xml2js": "^0.4.23"
87
- }
86
+ "gitHead": "528644e72b4fa5bdd3fdc8853d7bb061c8cd9048"
88
87
  }