@yandex/themekit
Version:
Build system of design-tokens for any platforms
30 lines (29 loc) • 978 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadSources = void 0;
const glob_1 = require("./glob");
const file_reader_1 = require("./file-reader");
/**
* Loads theme sources.
*/
function loadSources(paths, exclude) {
let files = [];
const result = [];
for (const path of paths) {
// Use each path separately because glob
// not save ordering with using patterns for path.
const entries = glob_1.glob(path, exclude).sort();
// Remove exists files from list for save ordering with compicated globs.
// example: "./tokens/*.tokens.yml", "./tokens/*-desktop.tokens.yml"
files = files.filter((value) => !entries.includes(value));
files.push(...entries);
}
for (const file of files) {
const tokens = file_reader_1.readFile(file);
if (tokens) {
result.push(tokens);
}
}
return result;
}
exports.loadSources = loadSources;