@web/storybook-builder
Version:
Storybook builder powered by `@web/dev-server`
17 lines • 923 B
JavaScript
;
// based on https://github.com/modernweb-dev/web/blob/%40web/dev-server-storybook%400.7.1/packages/dev-server-storybook/src/shared/stories/injectExportsOrder.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.injectExportsOrder = void 0;
const es_module_lexer_1 = require("es-module-lexer");
async function injectExportsOrder(source, filePath) {
const [, exports] = await (0, es_module_lexer_1.parse)(source, filePath);
if (exports.some(e => e.n === '__namedExportsOrder')) {
// user has defined named exports already
return null;
}
const orderedExports = exports.filter(e => e.n !== 'default');
const exportsArray = `['${orderedExports.map(({ n }) => n).join("', '")}']`;
return `${source};\nexport const __namedExportsOrder = ${exportsArray};`;
}
exports.injectExportsOrder = injectExportsOrder;
//# sourceMappingURL=inject-exports-order.js.map