@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.
- package/dist/src/sdks/sdk-tizen/sdkTizen.js +2 -1
- package/dist/src/sdks/sdk-webos/sdkWebos.js +2 -1
- package/dist/src/sdks/sdk-webpack/sdkWebpack.js +95 -2
- package/dist/src/tasks/task.rnv.start.js +3 -32
- package/dist/src/utils/generatePngSpriteMap.js +5 -1
- package/dist/templates/platforms/_shared/webpack.base.js +13 -15
- package/package.json +29 -30
|
@@ -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,
|
|
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,
|
|
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.
|
|
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("
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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: {
|
|
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.
|
|
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/
|
|
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": "
|
|
43
|
-
"@types/webpack": "
|
|
44
|
-
"@types/xml2js": "
|
|
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": "
|
|
52
|
-
"
|
|
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
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"html-webpack-
|
|
62
|
-
"
|
|
63
|
-
"manifoldjs-windows10": "
|
|
64
|
-
"mini-css-extract-plugin": "
|
|
65
|
-
"node-ssh": "
|
|
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.
|
|
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.
|
|
72
|
-
"sass-loader": "
|
|
73
|
-
"source-map-loader": "
|
|
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": "
|
|
76
|
-
"webpack": "
|
|
77
|
-
"webpack-cli": "
|
|
78
|
-
"webpack-dev-server": "
|
|
79
|
-
"webpack-spritesmith": "
|
|
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": "
|
|
85
|
-
"dependencies": {
|
|
86
|
-
"xml2js": "^0.4.23"
|
|
87
|
-
}
|
|
86
|
+
"gitHead": "528644e72b4fa5bdd3fdc8853d7bb061c8cd9048"
|
|
88
87
|
}
|