export-order-loader.mjs 1.1 KB

123456789
  1. import '../chunk-3BMY5HTZ.mjs';
  2. import assert from 'assert';
  3. import { init, parse as parse$1 } from 'cjs-module-lexer';
  4. import { parse } from 'es-module-lexer';
  5. import MagicString from 'magic-string';
  6. async function loader(source,map,meta){let callback=this.async();try{let magicString=new MagicString(source);try{let namedExportsOrder=((await parse(source))[1]||[]).map(e=>source.substring(e.s,e.e)).filter(e=>e!=="default");assert(namedExportsOrder.length>0,"No named exports found. Very likely that this is not a ES module."),magicString.append(`;export const __namedExportsOrder = ${JSON.stringify(namedExportsOrder)};`);}catch{await init();let namedExportsOrder=(parse$1(source).exports||[]).filter(e=>e!=="default"&&e!=="__esModule");assert(namedExportsOrder.length>0,"No named exports found. Very likely that this is not a CJS module."),magicString.append(`;module.exports.__namedExportsOrder = ${JSON.stringify(namedExportsOrder)};`);}let generatedMap=magicString.generateMap({hires:!0});return callback(null,magicString.toString(),generatedMap,meta)}catch{return callback(null,source,map,meta)}}
  7. export { loader as default };