import Workspace from './Workspace'; import Manager from './Manager'; /** * Генератор пакета в директории рабочего пространства. */ export default class Package { /** * Имя пакета. * Например 'pir-client'. * @property {string} */ name: string; /** * Менеджер пространств имен и классов, * которые должны располагаться в директории src пакета. */ manager: Manager; /** * Директория с исходными кодами пакета. * Путь относительно корня пакета. * @property {string} */ sourceDir: string; /** * Директория с оверрайтами пакета. * Путь относительно корня пакета. * @property {string} */ overrideDir: string; /** * Директория пакета. * Абсолютный путь. * @property {string} */ readonly dir: string; /** * Пространство имен классов, данного пакета. * Вычисляется автоматически из имени пакета по схеме: 'scrum-sim -> Scrum.sim'. * @property {string} */ readonly namespace: string; /** * Рабочее пространство, в котором располагается данный пакет. * @property {Workspace} */ workspace?: Workspace; constructor( /** * Имя пакета. * Например 'pir-client'. * @property {string} */ name: string); /** * Сохранение новых данных пакета в директорию пакета. * Предназначен для сохранения классов на диске из менеджера классов пакета. * Производимые действия: * Удаляет все файлы в директории пакета, если они есть. * Создает директорию пакета в packages/local/<Имя пакета>. * Создает в директории файлы package.json и build.xml * Сохраняет классы в директориях src и overrides. * Внимание, классы '<Пространство имен>.override.' отделяются из общей кучи классов. */ save(): Promise; /** * Сохранение классов в директории src (sourceDir) и overrides (overrideDir). * Классы записываются в каталог /src. * Классы начинающиеся на Namespace.override записываются в каталог /override. * Если пространств имен больше одного, то в имена директорий встраиваются имена пространства имен: * //src и //override. * @returns {Promise} */ private saveClasses; /** * Запись шаблонных файлов. * Файлы считываются с __dirname/fileTpl/from, записываются в this.dir/to * В каждом файле производится замена {{ИмяПараметра}} на значения из this[<ИмяПараметра>]. * @param {string[]} paramNames Список параметров для поиска в файлах. * @param {object[]} fileMap Список путей к файлам. * @param {string} fileMap.from Путь откуда брать файл. * @param {string} fileMap.to Путь, куда записывать файл. * @returns {Promise} */ private writeConfigFiles; } //# sourceMappingURL=Package.d.ts.map