UNPKG

@storm-software/unbuild

Version:

A package containing `unbuild` utilities for building Storm Software libraries and applications

38 lines (33 loc) 1.4 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _chunkBGYQAVKQcjs = require('../chunk-BGYQAVKQ.cjs'); // src/plugins/type-definitions.ts var _path = require('path'); function typeDefinitionsPlugin(options) { return { name: "storm:dts-bundle", async generateBundle(_opts, bundle) { for (const file of Object.values(bundle)) { if (file.type === "asset" || !file.isEntry || file.facadeModuleId == null) { continue; } const hasDefaultExport = file.exports.includes("default"); const entrySourceFileName = _path.relative.call(void 0, options.projectRoot, file.facadeModuleId); const entrySourceDtsName = entrySourceFileName.replace(/\.[cm]?[jt]sx?$/, ""); const dtsFileName = file.fileName.replace(/\.[cm]?js$/, ".d.ts"); const relativeSourceDtsName = JSON.stringify("./" + entrySourceDtsName); const dtsFileSource = hasDefaultExport ? ` export * from ${relativeSourceDtsName}; export { default } from ${relativeSourceDtsName}; ` : `export * from ${relativeSourceDtsName}; `; this.emitFile({ type: "asset", fileName: dtsFileName, source: dtsFileSource }); } } }; } _chunkBGYQAVKQcjs.__name.call(void 0, typeDefinitionsPlugin, "typeDefinitionsPlugin"); exports.typeDefinitionsPlugin = typeDefinitionsPlugin;