UNPKG

nativescript

Version:

Command-line interface for building NativeScript projects

54 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FontsCommand = void 0; const yok_1 = require("../common/yok"); const constants = require("../constants"); const fontFinder = require("font-finder"); const helpers_1 = require("../common/helpers"); const path = require("path"); class FontsCommand { constructor($projectData, $fs, $logger, $projectConfigService) { this.$projectData = $projectData; this.$fs = $fs; this.$logger = $logger; this.$projectConfigService = $projectConfigService; this.allowedParameters = []; this.$projectData.initializeProjectData(); } async execute(args) { var _a; const supportedExtensions = [".ttf", ".otf"]; const defaultFontsFolderPaths = [ path.join((_a = this.$projectConfigService.getValue("appPath")) !== null && _a !== void 0 ? _a : "", constants.FONTS_DIR), path.join(constants.APP_FOLDER_NAME, constants.FONTS_DIR), path.join(constants.SRC_DIR, constants.FONTS_DIR), ].map((entry) => path.resolve(this.$projectData.projectDir, entry)); const fontsFolderPath = defaultFontsFolderPaths.find((entry) => this.$fs.exists(entry)); if (!fontsFolderPath) { this.$logger.warn("No fonts folder found."); return; } const files = this.$fs .readDirectory(fontsFolderPath) .map((entry) => path.parse(entry)) .filter((entry) => { return supportedExtensions.includes(entry.ext); }); if (!files.length) { this.$logger.warn("No custom fonts found."); return; } const table = (0, helpers_1.createTable)(["Font", "CSS Properties"], []); for (const file of files) { const font = await fontFinder.get(fontsFolderPath + "/" + file.base); table.push([ file.base, `font-family: "${font.name}", "${file.name}"; font-weight: ${font.weight};`, ]); } this.$logger.info(table.toString()); } } exports.FontsCommand = FontsCommand; yok_1.injector.registerCommand("fonts", FontsCommand); //# sourceMappingURL=fonts.js.map