nativescript
Version:
Command-line interface for building NativeScript projects
49 lines (43 loc) • 1.45 kB
TypeScript
import { IProjectData } from "./project";
/**
* Describes service used to generate necessary files to filter the native metadata generation.
*/
interface INativeApiUsageConfiguration {
/**
* Defines if the content of plugins' native-api-usage files will be used and included in the whitelist content.
*/
["whitelist-plugins-usages"]: boolean;
/**
* Defines APIs which will be inlcuded in the metadata.
*/
whitelist: string[];
/**
* Defines APIs which will be excluded from the metadata.
*/
blacklist: string[];
}
/**
* Describes the content of plugin's native-api-usage.json file located in `<path to plugin>/platforms/<platform> directory.
*/
interface INativeApiUsagePluginConfiguration {
/**
* Defines APIs which are used by the plugin and which should be whitelisted by the application using this plugin.
*/
uses: string[];
/**
* Defines APIs which can be safely ignored by this plugin
*/
blacklist?: string[];
}
/**
* Describes service used to generate neccesary files to filter the metadata generation.
*/
interface IMetadataFilteringService {
/**
* Cleans old metadata filters and creates new ones for the current project and platform.
* @param {IProjectData} projectData Information about the current project.
* @param {string} platform The platform for which metadata should be generated.
* @returns {void}
*/
generateMetadataFilters(projectData: IProjectData, platform: string): void;
}