UNPKG

shaman-website-compiler

Version:

Compile raw HTML, CSS and Javascript into the smallest possible, SEO friendly website.

77 lines 4.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Configure = exports.TYPES = exports.IoC = void 0; require("reflect-metadata"); var inversify_1 = require("inversify"); var logger_1 = require("../logger"); var website_compiler_1 = require("../website-compiler"); var website_router_1 = require("../website-router"); var event_service_1 = require("../services/event.service"); var glob_service_1 = require("../services/glob.service"); var compiler_context_1 = require("../data/compiler.context"); var json_repo_1 = require("json-repo"); var file_import_service_1 = require("../services/file-import.service"); var handlebars_service_1 = require("../services/handlebars.service"); var add_text_handler_1 = require("../events/add-text.handler"); var add_model_handler_1 = require("../events/add-model.handler"); var javascript_content_handler_1 = require("../events/javascript-content.handler"); var css_content_handler_1 = require("../events/css-content.handler"); var process_model_handler_1 = require("../events/process-model.handler"); var html_content_handler_1 = require("../events/html-content.handler"); var bundle_service_1 = require("../services/bundle.service"); var website_server_1 = require("../website-server"); var adapter_functions_1 = require("../functions/adapter.functions"); exports.IoC = new inversify_1.Container(); exports.TYPES = { Logger: "Logger", WebsiteConfig: "WebsiteConfig", WebsiteCompiler: "WebsiteCompiler", WebsiteRouter: "WebsiteRouter", WebsiteServer: "WebsiteServer", CompilerEvents: "CompilerEvents", CompilerEventHandler: "CompilerEventHandler", CompilerDataContext: "CompilerDataContext", GlobService: "GlobService", FileImportService: "FileImportService", HandlebarsService: "HandlebarsService", BundleService: "BundleService", QueryAdapter: "QueryAdapter" }; function Configure(config) { ConfigureCompilerDataContext(config); ConfigureServices(config); ConfigureEventHandlers(); ConfigureQueryAdapter(config); } exports.Configure = Configure; function ConfigureCompilerDataContext(config) { (0, inversify_1.decorate)(inversify_1.injectable, json_repo_1.RepositoryContext); exports.IoC.bind(exports.TYPES.Logger).toConstantValue(new logger_1.Logger(config.logLevel)); } function ConfigureServices(config) { exports.IoC.bind(exports.TYPES.WebsiteConfig).toConstantValue(config); exports.IoC.bind(exports.TYPES.WebsiteCompiler).to(website_compiler_1.WebsiteCompiler); exports.IoC.bind(exports.TYPES.WebsiteRouter).to(website_router_1.WebsiteRouter); exports.IoC.bind(exports.TYPES.WebsiteServer).to(website_server_1.WebsiteServer); exports.IoC.bind(exports.TYPES.CompilerEvents) .to(event_service_1.EventService).inSingletonScope(); exports.IoC.bind(exports.TYPES.CompilerDataContext) .toConstantValue(new compiler_context_1.CompilerDataContext()); exports.IoC.bind(exports.TYPES.GlobService).to(glob_service_1.GlobService); exports.IoC.bind(exports.TYPES.FileImportService).to(file_import_service_1.FileImportService); exports.IoC.bind(exports.TYPES.HandlebarsService).toConstantValue(new handlebars_service_1.HandlebarsService()); exports.IoC.bind(exports.TYPES.BundleService).to(bundle_service_1.BundleService); } function ConfigureEventHandlers() { exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(add_text_handler_1.AddTextHandler); exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(add_model_handler_1.AddModelHandler); exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(javascript_content_handler_1.JavascriptContentHandler); exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(css_content_handler_1.CssContentHandler); exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(process_model_handler_1.ProcessModelHandler); exports.IoC.bind(exports.TYPES.CompilerEventHandler).to(html_content_handler_1.HtmlContentHandler); } function ConfigureQueryAdapter(config) { var adapter = (0, adapter_functions_1.RequireAdapter)(config.adapter); exports.IoC.bind(exports.TYPES.QueryAdapter).toConstantValue(adapter); } //# sourceMappingURL=app.composition.js.map