native-run
Advanced tools
Comparing version 1.4.1 to 1.5.0
@@ -95,2 +95,3 @@ "use strict"; | ||
const apis = await api_1.getAPILevels(packages); | ||
const errors = []; | ||
for (const api of apis) { | ||
@@ -106,6 +107,13 @@ try { | ||
} | ||
errors.push(e); | ||
debug('Issue with API %s: %s', api.apiLevel, e.message); | ||
} | ||
} | ||
throw new errors_1.AVDException('No suitable API installation found.', errors_1.ERR_UNSUITABLE_API_INSTALLATION, 1); | ||
if (errors.length > 0) { | ||
const unsupportedError = errors.find(e => e.code === errors_1.ERR_UNSUPPORTED_API_LEVEL); | ||
if (unsupportedError) { | ||
throw unsupportedError; | ||
} | ||
} | ||
throw new errors_1.AVDException('No suitable API installation found. Use --sdk-info to reveal missing packages and other issues.', errors_1.ERR_UNSUITABLE_API_INSTALLATION, 1); | ||
} | ||
@@ -112,0 +120,0 @@ exports.getDefaultAVDSchematic = getDefaultAVDSchematic; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.API_LEVEL_SCHEMAS = exports.API_LEVEL_24 = exports.API_LEVEL_25 = exports.API_LEVEL_26 = exports.API_LEVEL_27 = exports.API_LEVEL_28 = exports.API_LEVEL_29 = exports.API_LEVEL_30 = exports.findPackageBySchemaPath = exports.findPackageBySchema = exports.findUnsatisfiedPackages = exports.getAPILevels = void 0; | ||
exports.API_LEVEL_SCHEMAS = exports.API_LEVEL_24 = exports.API_LEVEL_25 = exports.API_LEVEL_26 = exports.API_LEVEL_27 = exports.API_LEVEL_28 = exports.API_LEVEL_29 = exports.API_LEVEL_30 = exports.API_LEVEL_31 = exports.findPackageBySchemaPath = exports.findPackageBySchema = exports.findUnsatisfiedPackages = exports.getAPILevels = void 0; | ||
const Debug = require("debug"); | ||
@@ -50,2 +50,25 @@ const modulePrefix = 'native-run:android:utils:sdk:api'; | ||
exports.findPackageBySchemaPath = findPackageBySchemaPath; | ||
exports.API_LEVEL_31 = Object.freeze({ | ||
apiLevel: '31', | ||
validate: (packages) => { | ||
const schemas = [ | ||
{ name: 'Android Emulator', path: 'emulator', version: /.+/ }, | ||
{ | ||
name: 'Android SDK Platform 31', | ||
path: 'platforms;android-31', | ||
version: /.+/, | ||
}, | ||
]; | ||
const missingPackages = findUnsatisfiedPackages(packages, schemas); | ||
if (!findPackageBySchemaPath(packages, /^system-images;android-31;/)) { | ||
missingPackages.push({ | ||
name: 'Google Play Intel x86 Atom System Image', | ||
path: 'system-images;android-31;google_apis_playstore;x86', | ||
version: '/.+/', | ||
}); | ||
} | ||
return missingPackages; | ||
}, | ||
loadPartialAVDSchematic: async () => Promise.resolve().then(() => require('../../data/avds/Pixel_3_API_31.json')), | ||
}); | ||
exports.API_LEVEL_30 = Object.freeze({ | ||
@@ -213,2 +236,3 @@ apiLevel: '30', | ||
exports.API_LEVEL_SCHEMAS = [ | ||
exports.API_LEVEL_31, | ||
exports.API_LEVEL_30, | ||
@@ -215,0 +239,0 @@ exports.API_LEVEL_29, |
{ | ||
"name": "native-run", | ||
"version": "1.4.1", | ||
"version": "1.5.0", | ||
"description": "A CLI for running apps on iOS/Android devices and simulators/emulators", | ||
@@ -36,12 +36,12 @@ "bin": { | ||
"dependencies": { | ||
"@ionic/utils-fs": "^3.0.0", | ||
"@ionic/utils-fs": "^3.1.5", | ||
"@ionic/utils-terminal": "^2.3.1", | ||
"bplist-parser": "0.2.0", | ||
"debug": "^4.1.1", | ||
"bplist-parser": "^0.3.0", | ||
"debug": "^4.3.2", | ||
"elementtree": "^0.1.7", | ||
"ini": "^1.3.5", | ||
"plist": "^3.0.1", | ||
"split2": "^3.1.0", | ||
"plist": "^3.0.4", | ||
"split2": "^3.2.2", | ||
"through2": "^4.0.2", | ||
"tslib": "^2.0.1", | ||
"tslib": "^2.3.1", | ||
"yauzl": "^2.10.0" | ||
@@ -48,0 +48,0 @@ }, |
2176110
93
5063
+ Addedbplist-parser@0.3.2(transitive)
- Removedbplist-parser@0.2.0(transitive)
Updated@ionic/utils-fs@^3.1.5
Updatedbplist-parser@^0.3.0
Updateddebug@^4.3.2
Updatedplist@^3.0.4
Updatedsplit2@^3.2.2
Updatedtslib@^2.3.1