UNPKG

lazy-js-utils

Version:

A collection of lazy-loaded JavaScript utilities for efficient development

61 lines (56 loc) 1.92 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/vite/vitePluginCopyHtml.ts var _promises = require('fs/promises'); var _promises2 = _interopRequireDefault(_promises); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _process = require('process'); var _process2 = _interopRequireDefault(_process); async function vitePluginCopyHtml(template_url) { let content = await _promises2.default.readFile( _path2.default.resolve(_process2.default.cwd(), template_url), "utf-8" ); return { name: "vite-plugin-copy-html", writeBundle(options, data) { const outDir = `${options.dir}/index.html`; const links = []; const scripts = []; for (const key in data) { if (key.endsWith(".css")) links.push(key); else if (key.endsWith(".js")) scripts.push(key); } if (links.length) { content = content.replace( /<\/head>/, () => `</head> ${links.map((link) => `<link rel="stylesheet" href="/${link}">`)}` ); } if (scripts.length) { content = content.replace( /<\/body>/, () => ` ${scripts.map( (script) => `<script src="/${script}" type="module"></script>` )} </body>` ); } _promises2.default.writeFile(_path2.default.resolve(outDir), content, "utf-8"); } }; } // src/vite/vitePluginExport.ts function vitePluginExport(config) { return { name: "vite-plugin-export", transform(src, id) { if (id.endsWith(config)) { return { code: `export default ${JSON.stringify(src)}`, map: null }; } } }; } exports.vitePluginCopyHtml = vitePluginCopyHtml; exports.vitePluginExport = vitePluginExport;