nativescript
Version:
Command-line interface for building NativeScript projects
46 lines • 2.61 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarkingModeService = void 0;
const os_1 = require("os");
const constants_1 = require("../constants");
const yok_1 = require("../common/yok");
const semver = require("semver/preload");
const MARKING_MODE_PROP = "markingMode";
const MARKING_MODE_FULL_DEPRECATION_MSG = `In the current version of NativeScript "${MARKING_MODE_PROP}:${"full" /* MarkingMode.Full */}" is no longer supported.`;
class MarkingModeService {
constructor($logger, $projectConfigService, $projectHelper, $projectDataService) {
this.$logger = $logger;
this.$projectConfigService = $projectConfigService;
this.$projectHelper = $projectHelper;
this.$projectDataService = $projectDataService;
}
async handleMarkingModeFullDeprecation(options) {
const markingModeValue = this.$projectConfigService.getValue("android.markingMode");
const { skipWarnings, forceSwitch } = options;
if (forceSwitch) {
await this.setMarkingMode("none" /* MarkingMode.None */);
return;
}
if (!skipWarnings && (markingModeValue === null || markingModeValue === void 0 ? void 0 : markingModeValue.toLowerCase()) !== "none" /* MarkingMode.None */) {
// only warn if runtime is less than 7.0.0-rc.5 - where the default has been changed to None
// if version is null - we are about to add the latest runtime, so no need to warn
const { version } = this.$projectDataService.getRuntimePackage(this.$projectHelper.projectDir, "android" /* PlatformTypes.android */);
const isMarkingModeFullDefault = version && semver.lt(semver.coerce(version), "7.0.0-rc.5");
if (isMarkingModeFullDefault) {
this.showMarkingModeFullWarning();
}
}
}
async setMarkingMode(newMode) {
await this.$projectConfigService.setValue("android.markingMode", newMode);
}
showMarkingModeFullWarning() {
const markingModeFullWarning = `You are using the deprecated "${MARKING_MODE_PROP}:${"full" /* MarkingMode.Full */}".${os_1.EOL}${os_1.EOL}${MARKING_MODE_FULL_DEPRECATION_MSG}${os_1.EOL}${os_1.EOL}You should update your marking mode by executing 'ns update --markingMode'.`;
this.$logger.warn(markingModeFullWarning, {
[constants_1.LoggerConfigData.wrapMessageWithBorders]: true,
});
}
}
exports.MarkingModeService = MarkingModeService;
yok_1.injector.register("markingModeService", MarkingModeService);
//# sourceMappingURL=marking-mode-service.js.map
;