Content-Length: 450759 | pFad | https://github.com/NativeScript/NativeScript/commit/47e18c8df43b7c4c2a08caa52220d145861d20a4

51 fix(webpack): use existing runtime version to determine the supported… · NativeScript/NativeScript@47e18c8 · GitHub
Skip to content

Commit 47e18c8

Browse files
committed
fix(webpack): use existing runtime version to determine the supported browsers
1 parent 109dad1 commit 47e18c8

File tree

3 files changed

+46
-2
lines changed

3 files changed

+46
-2
lines changed

packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap

+8-2
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,10 @@ exports[`angular configuration for android 1`] = `
208208
{
209209
loader: '@angular-devkit/build-angular/src/babel/webpack-loader',
210210
options: {
211-
aot: true
211+
aot: true,
212+
supportedBrowsers: [
213+
'chrome 83'
214+
]
212215
}
213216
}
214217
],
@@ -634,7 +637,10 @@ exports[`angular configuration for ios 1`] = `
634637
{
635638
loader: '@angular-devkit/build-angular/src/babel/webpack-loader',
636639
options: {
637-
aot: true
640+
aot: true,
641+
supportedBrowsers: [
642+
'chrome 103'
643+
]
638644
}
639645
}
640646
],

packages/webpack5/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"sass": "^1.0.0",
4242
"sass-loader": "^13.0.0",
4343
"sax": "^1.0.0",
44+
"semver": "^7.5.1",
4445
"source-map": "^0.7.0",
4546
"terser-webpack-plugin": "^5.0.0",
4647
"ts-dedent": "^2.0.0",

packages/webpack5/src/configuration/angular.ts

+37
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
getPlatformName,
1414
} from '../helpers/platform';
1515
import base from './base';
16+
import semver from 'semver';
1617
// until we can switch to async/await on the webpack config, copy this from '@angular/compiler-cli'
1718
const GLOBAL_DEFS_FOR_TERSER = {
1819
ngDevMode: false,
@@ -24,6 +25,40 @@ const GLOBAL_DEFS_FOR_TERSER_WITH_AOT = {
2425
ngJitMode: false,
2526
};
2627

28+
const CHROME_VERSIONS = {
29+
android: {
30+
'0.0.0': 'chrome 83',
31+
'8.5.0': 'chrome 103',
32+
},
33+
ios: {
34+
'0.0.0': 'chrome 92',
35+
'8.5.0': 'chrome 103',
36+
},
37+
default: 'chrome 103',
38+
};
39+
40+
function getSupportedBrowsers() {
41+
const platform = getPlatformName();
42+
if (platform === 'android' || platform === 'ios') {
43+
try {
44+
const version = require(`@nativescript/${platform}/package.json`).version;
45+
let parsed = semver.parse(version);
46+
if (parsed) {
47+
let lastVersion = CHROME_VERSIONS.default;
48+
for (const k in CHROME_VERSIONS[platform]) {
49+
if (semver.gte(parsed, k)) {
50+
lastVersion = CHROME_VERSIONS[platform][k];
51+
} else {
52+
break;
53+
}
54+
}
55+
return [lastVersion];
56+
}
57+
} catch (e) {}
58+
}
59+
return [CHROME_VERSIONS.default];
60+
}
61+
2762
export default function (config: Config, env: IWebpackEnv = _env): Config {
2863
base(config, env);
2964

@@ -197,6 +232,8 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
197232
const { ScriptTarget } = getTypescript();
198233
buildAngularOptions.scriptTarget =
199234
tsConfig.options.target ?? ScriptTarget.ESNext;
235+
} else {
236+
buildAngularOptions.supportedBrowsers = getSupportedBrowsers();
200237
}
201238

202239
if (disableAOT) {

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/NativeScript/NativeScript/commit/47e18c8df43b7c4c2a08caa52220d145861d20a4

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy