flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 2.82 kB
Source Map (JSON)
{"version":3,"file":"wrap-default-export.cjs","sources":["../../../src/cli/utils/wrap-default-export.ts"],"sourcesContent":["import { getJsType } from \"./get-js-type\";\n\n/**\n * Wraps the default export of a JavaScript module with a given function.\n *\n * @param {string} content - The content of the JavaScript module.\n * @param {string} withFunction - The function to wrap the default export with.\n * @returns {string} The modified content with the default export wrapped.\n */\nexport function wrapDefaultExport(content: string, withFunction: string): string {\n const { isCJS, isESM } = getJsType(content);\n\n if (!isCJS && !isESM) {\n return content;\n }\n\n let wrappedContent = content;\n\n // Handle ESM exports\n if (isESM) {\n const esmMatch = content.match(/export\\s+default\\s+(?:class|interface|abstract\\s+class)\\s+/);\n if (!esmMatch) {\n wrappedContent = wrappedContent.replace(\n /(export\\s+default\\s+)([^;\\n]+(?:{[^}]*})?[^;\\n]*)(;?\\s*)$/gm,\n (_, prefix, exportValue, semicolon) => {\n const trimmedValue = exportValue.trim();\n return `${prefix}${withFunction}(${trimmedValue})${semicolon}`;\n },\n );\n }\n }\n\n // Handle CJS exports\n if (isCJS) {\n const cjsMatch = content.match(/module\\.exports\\s*=\\s*(?:class|interface|abstract\\s+class)\\s+/);\n if (!cjsMatch) {\n wrappedContent = wrappedContent.replace(\n /(module\\.exports\\s*=\\s*)([^;\\n]+(?:{[^}]*})?[^;\\n]*)(;?\\s*)$/gm,\n (_, prefix, exportValue, semicolon) => {\n const trimmedValue = exportValue.trim();\n return `${prefix}${withFunction}(${trimmedValue})${semicolon}`;\n },\n );\n }\n }\n\n return wrappedContent;\n}\n"],"names":["getJsType"],"mappings":";;;;AAEO,SAAS,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE;AACzD,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAGA,mBAAS,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACxB,IAAI,OAAO,OAAO;AAClB;AACA,EAAE,IAAI,cAAc,GAAG,OAAO;AAC9B,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC;AAChG,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO;AAC7C,QAAQ,6DAA6D;AACrE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,KAAK;AAC/C,UAAU,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE;AACjD,UAAU,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACxE;AACA,OAAO;AACP;AACA;AACA,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC;AACnG,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO;AAC7C,QAAQ,gEAAgE;AACxE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,KAAK;AAC/C,UAAU,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE;AACjD,UAAU,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACxE;AACA,OAAO;AACP;AACA;AACA,EAAE,OAAO,cAAc;AACvB;;;;"}