nativescript
Version:
Command-line interface for building NativeScript projects
42 lines • 1.95 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CleanCommand = void 0;
const _ = require("lodash");
const yok_1 = require("../common/yok");
class CleanCommand {
constructor($errors, $options, $platformCommandHelper, $platformValidationService, $platformEnvironmentRequirements, $projectData) {
this.$errors = $errors;
this.$options = $options;
this.$platformCommandHelper = $platformCommandHelper;
this.$platformValidationService = $platformValidationService;
this.$platformEnvironmentRequirements = $platformEnvironmentRequirements;
this.$projectData = $projectData;
this.allowedParameters = [];
this.$projectData.initializeProjectData();
}
async execute(args) {
await this.$platformCommandHelper.cleanPlatforms(args, this.$projectData, this.$options.frameworkPath);
}
async canExecute(args) {
if (!args || args.length === 0) {
this.$errors.failWithHelp("No platform specified. Please specify a platform to clean.");
}
_.each(args, (platform) => {
this.$platformValidationService.validatePlatform(platform, this.$projectData);
});
for (const platform of args) {
this.$platformValidationService.validatePlatformInstalled(platform, this.$projectData);
const currentRuntimeVersion = this.$platformCommandHelper.getCurrentPlatformVersion(platform, this.$projectData);
await this.$platformEnvironmentRequirements.checkEnvironmentRequirements({
platform,
projectDir: this.$projectData.projectDir,
runtimeVersion: currentRuntimeVersion,
options: this.$options,
});
}
return true;
}
}
exports.CleanCommand = CleanCommand;
yok_1.injector.registerCommand("platform|clean", CleanCommand);
//# sourceMappingURL=platform-clean.js.map