UNPKG

1.94 kBJavaScriptView Raw
1const { join, resolve } = require("path");
2const { existsSync, readFileSync } = require("fs");
3
4const { getPackageJson } = require("./projectHelpers");
5
6const PLATFORMS_ANDROID = "platforms/android";
7const ANDROID_PROJECT_DIR = join(PLATFORMS_ANDROID, "app");
8const ANDROID_APP_PATH = join(ANDROID_PROJECT_DIR, "src/main/assets/app");
9const ANDROID_CONFIGURATIONS_PATH = join(ANDROID_PROJECT_DIR, "build/configurations");
10
11const getAndroidRuntimeVersion = (projectDir) => {
12 try {
13 const projectPackageJSON = getPackageJson(projectDir);
14
15 const version = projectPackageJSON["nativescript"]["tns-android"]["version"];
16 return version && toReleaseVersion(version);
17 } catch (e) {
18 return null;
19 }
20}
21
22const toReleaseVersion = version => version.replace(/-.*/, "");
23
24const getAndroidV8Version = (projectDir) => {
25 try {
26 const androidSettingsJSON = getAndroidSettingsJson(projectDir);
27 if (androidSettingsJSON !== null) {
28 return androidSettingsJSON.v8Version;
29 } else {
30 return null;
31 }
32 } catch (e) {
33 return null;
34 }
35}
36
37const getMksnapshotParams = (projectDir) => {
38 try {
39 const androidSettingsJSON = getAndroidSettingsJson(projectDir);
40 if (androidSettingsJSON !== null) {
41 return androidSettingsJSON.mksnapshotParams;
42 } else {
43 return null;
44 }
45 } catch (e) {
46 return null;
47 }
48};
49
50const getAndroidSettingsJson = projectDir => {
51 const androidSettingsJsonPath = resolve(projectDir, PLATFORMS_ANDROID, "settings.json");
52 if (existsSync(androidSettingsJsonPath)) {
53 return JSON.parse(readFileSync(androidSettingsJsonPath, "utf8"));
54 } else {
55 return null;
56 }
57};
58
59module.exports = {
60 ANDROID_PROJECT_DIR,
61 ANDROID_APP_PATH,
62 ANDROID_CONFIGURATIONS_PATH,
63 getAndroidRuntimeVersion,
64 getAndroidV8Version,
65 getMksnapshotParams
66};
\No newline at end of file