UNPKG

siphon-cli

Version:

Simple bundler for web applications. 📦🔧🧡

86 lines (85 loc) • 4.5 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.bundler_internals = void 0; var utils_1 = require("./utils"); var types_1 = require("../../../../types"); var creator_1 = require("../traverser/helpers/creator"); var __1 = require(".."); var transform_template_literals_1 = require("../traverser/examples/transform_template_literals"); var resolve_optional_chaining_1 = require("../traverser/examples/resolve_optional_chaining"); var resolve_nullish_coalescing_1 = require("../traverser/examples/resolve_nullish_coalescing"); var rewrite_destructured_variables_1 = require("../traverser/examples/rewrite_destructured_variables"); var transpile_jsx_1 = require("../traverser/examples/JSX_transpiling/transpile_jsx"); var default_handler_1 = require("../traverser/examples/JSX_transpiling/default_handler"); var default_parameters_1 = require("../traverser/examples/default_parameters"); var minify_1 = require("../traverser/examples/minify"); var bundler_internals = (function (_super) { __extends(bundler_internals, _super); function bundler_internals() { return _super !== null && _super.apply(this, arguments) || this; } bundler_internals.prototype.bundle = function (entry, options) { this.options = __assign(__assign({}, utils_1.defaults), options); this.tree = new types_1.Program(0); this.entry = entry; this.start(entry); var defaultJSXFunctionName = this.uniqueIdentifier("").name; if (this.hasJSX) this.tree.push((0, default_handler_1.default)(defaultJSXFunctionName)); if (this.tree.body[1] instanceof types_1.FunctionDeclaration) { this.tree.push((0, creator_1.callExpression)(this.tree.body[1].id, [])); } __1.default.traverse(this.tree, { enter: default_parameters_1.default, TemplateLiteral: transform_template_literals_1.default, MemberExpression: resolve_optional_chaining_1.default, LogicalExpression: resolve_nullish_coalescing_1.default, VariableDeclaration: rewrite_destructured_variables_1.default, ChainExpression: function (node) { return node.expression; }, JSXElement: function (node, path) { return (0, transpile_jsx_1.default)(node, path, defaultJSXFunctionName); }, JSXFragment: function (node) { var arr = new types_1.ArrayExpression(node.loc.start); arr.elements = node.children; arr.loc.end = node.loc.end; return arr; }, JSXText: function (node) { return (0, creator_1.newString)("\"".concat(node.value.replace(/"/g, '"').replace(/\n|\s[\s]*/g, " "), "\"")); }, JSXExpressionContainer: function (node) { var _a; return (_a = node.expression) !== null && _a !== void 0 ? _a : new types_1.EmptyNode(0); }, }); var final = __1.default.parse("(function(){})()"); final.body[0].expression.callee.body = (0, creator_1.blockStatement)(this.tree.body); return (0, minify_1.default)(final); }; return bundler_internals; }(utils_1.bundler_utils)); exports.bundler_internals = bundler_internals;