index.js 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var tslib_1 = require("tslib");
  4. var environment_1 = tslib_1.__importDefault(require("./environment/environment"));
  5. var data_1 = tslib_1.__importDefault(require("./data"));
  6. var tree_1 = tslib_1.__importDefault(require("./tree"));
  7. var abstract_file_manager_1 = tslib_1.__importDefault(require("./environment/abstract-file-manager"));
  8. var abstract_plugin_loader_1 = tslib_1.__importDefault(require("./environment/abstract-plugin-loader"));
  9. var visitors_1 = tslib_1.__importDefault(require("./visitors"));
  10. var parser_1 = tslib_1.__importDefault(require("./parser/parser"));
  11. var functions_1 = tslib_1.__importDefault(require("./functions"));
  12. var contexts_1 = tslib_1.__importDefault(require("./contexts"));
  13. var less_error_1 = tslib_1.__importDefault(require("./less-error"));
  14. var transform_tree_1 = tslib_1.__importDefault(require("./transform-tree"));
  15. var utils = tslib_1.__importStar(require("./utils"));
  16. var plugin_manager_1 = tslib_1.__importDefault(require("./plugin-manager"));
  17. var logger_1 = tslib_1.__importDefault(require("./logger"));
  18. var source_map_output_1 = tslib_1.__importDefault(require("./source-map-output"));
  19. var source_map_builder_1 = tslib_1.__importDefault(require("./source-map-builder"));
  20. var parse_tree_1 = tslib_1.__importDefault(require("./parse-tree"));
  21. var import_manager_1 = tslib_1.__importDefault(require("./import-manager"));
  22. var parse_1 = tslib_1.__importDefault(require("./parse"));
  23. var render_1 = tslib_1.__importDefault(require("./render"));
  24. var package_json_1 = require("../../package.json");
  25. var parse_node_version_1 = tslib_1.__importDefault(require("parse-node-version"));
  26. function default_1(environment, fileManagers) {
  27. var sourceMapOutput, sourceMapBuilder, parseTree, importManager;
  28. environment = new environment_1.default(environment, fileManagers);
  29. sourceMapOutput = source_map_output_1.default(environment);
  30. sourceMapBuilder = source_map_builder_1.default(sourceMapOutput, environment);
  31. parseTree = parse_tree_1.default(sourceMapBuilder);
  32. importManager = import_manager_1.default(environment);
  33. var render = render_1.default(environment, parseTree, importManager);
  34. var parse = parse_1.default(environment, parseTree, importManager);
  35. var v = parse_node_version_1.default("v" + package_json_1.version);
  36. var initial = {
  37. version: [v.major, v.minor, v.patch],
  38. data: data_1.default,
  39. tree: tree_1.default,
  40. Environment: environment_1.default,
  41. AbstractFileManager: abstract_file_manager_1.default,
  42. AbstractPluginLoader: abstract_plugin_loader_1.default,
  43. environment: environment,
  44. visitors: visitors_1.default,
  45. Parser: parser_1.default,
  46. functions: functions_1.default(environment),
  47. contexts: contexts_1.default,
  48. SourceMapOutput: sourceMapOutput,
  49. SourceMapBuilder: sourceMapBuilder,
  50. ParseTree: parseTree,
  51. ImportManager: importManager,
  52. render: render,
  53. parse: parse,
  54. LessError: less_error_1.default,
  55. transformTree: transform_tree_1.default,
  56. utils: utils,
  57. PluginManager: plugin_manager_1.default,
  58. logger: logger_1.default
  59. };
  60. // Create a public API
  61. var ctor = function (t) {
  62. return function () {
  63. var obj = Object.create(t.prototype);
  64. t.apply(obj, Array.prototype.slice.call(arguments, 0));
  65. return obj;
  66. };
  67. };
  68. var t;
  69. var api = Object.create(initial);
  70. for (var n in initial.tree) {
  71. /* eslint guard-for-in: 0 */
  72. t = initial.tree[n];
  73. if (typeof t === 'function') {
  74. api[n.toLowerCase()] = ctor(t);
  75. }
  76. else {
  77. api[n] = Object.create(null);
  78. for (var o in t) {
  79. /* eslint guard-for-in: 0 */
  80. api[n][o.toLowerCase()] = ctor(t[o]);
  81. }
  82. }
  83. }
  84. /**
  85. * Some of the functions assume a `this` context of the API object,
  86. * which causes it to fail when wrapped for ES6 imports.
  87. *
  88. * An assumed `this` should be removed in the future.
  89. */
  90. initial.parse = initial.parse.bind(api);
  91. initial.render = initial.render.bind(api);
  92. return api;
  93. }
  94. exports.default = default_1;
  95. //# sourceMappingURL=index.js.map