UNPKG

@globexit/websoft-types

Version:

<h1 align="center">Websoft Types</h1> <div align="center"> Typescript типы и трансформеры для WebSoft HCM.

39 lines (38 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SsjsProjectBuilder = void 0; const transformer_configurator_1 = require("../transformers/transformer-configurator"); const import_manager_1 = require("../core/utils/import-manager"); const project_config_1 = require("../core/config/project-config"); const ts_morph_1 = require("ts-morph"); const type_script_program_helper_1 = require("../core/utils/type-script-program-helper"); class SsjsProjectBuilder { constructor() { this._transformerConfigurator = new transformer_configurator_1.TransformerConfigurator(); this._importManager = new import_manager_1.ImportManager(); this._morphProject = new ts_morph_1.Project(); } setProjectLocationRelativeServerFolder(path) { project_config_1.projectConfig.projectLocationRelativeServerFolder = path; return this; } setTsConfigPath(path) { project_config_1.projectConfig.tsConfigPath = path; return this; } build() { this._transformerConfigurator.configure({ projectLocationRelativeServerFolder: project_config_1.projectConfig.projectLocationRelativeServerFolder, tsConfigPath: project_config_1.projectConfig.tsConfigPath }); const program = type_script_program_helper_1.TypeScriptProgramHelper.createProgramFromConfig(project_config_1.projectConfig.tsConfigPath); const tsConfig = type_script_program_helper_1.TypeScriptProgramHelper.createTsConfig(project_config_1.projectConfig.tsConfigPath); this._transformerConfigurator.initialize(program, this._morphProject); (0, project_config_1.setTsProjectConfig)(tsConfig); return { transformerConfigurator: this._transformerConfigurator, importManager: this._importManager }; } } exports.SsjsProjectBuilder = SsjsProjectBuilder;