susee 1.0.4 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -143
- package/bin/index.mjs +17 -2
- package/bin/init.mjs +136 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -13
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +17 -13
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +17 -18
package/dist/index.cjs
CHANGED
|
@@ -5,4 +5,4 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
|
5
5
|
this file except in compliance with the License. You may obtain a copy of the
|
|
6
6
|
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
7
|
***************************************************************************** */
|
|
8
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var a=Object.getOwnPropertyDescriptor(t,i);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,a)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[t.length]=i);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var s=e(t),a=0;a<s.length;a++)"default"!==s[a]&&__createBinding(i,t,s[a]);return __setModuleDefault(i,t),i}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.susee=susee;const tsconfig_1=__importDefault(require("@suseejs/tsconfig")),node_fs_1=__importDefault(require("node:fs")),mhaehko_1=__importDefault(require("mhaehko")),node_path_1=__importDefault(require("node:path")),resolves_1=__importDefault(require("@phothinmaung/resolves")),tcolor_1=__importDefault(require("@suseejs/tcolor")),transformer_1=__importDefault(require("@suseejs/transformer")),typescript_1=__importDefault(require("typescript")),node_buffer_1=require("node:buffer"),depHooks=[],preProcessHooks=[];var utilities;!function(e){e.splitCamelCase=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(_|-|\/)([a-z] || [A-Z])/g," ").replace(/([A-Z])/g,e=>e.toLowerCase()).replace(/^([a-z])/,e=>e.toUpperCase())},e.wait=e=>new Promise(t=>setTimeout(t,e)),e.checkModuleType=(e,t)=>{let i=0,s=0,a=0;try{let r=!1,n=!1;function o(t){if((typescript_1.default.isImportDeclaration(t)||typescript_1.default.isImportEqualsDeclaration(t)||typescript_1.default.isExportDeclaration(t)||typescript_1.default.isExportSpecifier(t)||typescript_1.default.isExportAssignment(t))&&(r=!0),(typescript_1.default.isVariableStatement(t)||typescript_1.default.isFunctionDeclaration(t)||typescript_1.default.isInterfaceDeclaration(t)||typescript_1.default.isTypeAliasDeclaration(t)||typescript_1.default.isEnumDeclaration(t)||typescript_1.default.isClassDeclaration(t))&&t.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)&&(r=!0),typescript_1.default.isCallExpression(t)&&typescript_1.default.isIdentifier(t.expression)&&"require"===t.expression.text&&t.arguments.length>0&&(n=!0),typescript_1.default.isPropertyAccessExpression(t)){const i=t.getText(e);(i.startsWith("module.exports")||i.startsWith("exports."))&&(n=!0)}typescript_1.default.forEachChild(t,o)}o(e),r&&!n?i++:n&&!r?s++:r&&n&&i++}catch(c){console.error(tcolor_1.default.magenta(`Error checking module format for ${t} : \n ${c}`)),a++}return a>0&&(console.error(tcolor_1.default.magenta("Error checking module format.")),typescript_1.default.sys.exit(1)),{isCommonJs:s>0,isEsm:i>0}},e.isJsxContent=function(e){const t=typescript_1.default.createSourceFile("file.tsx",e,typescript_1.default.ScriptTarget.Latest,!0,typescript_1.default.ScriptKind.TSX);let i=!1;return function e(t){typescript_1.default.isJsxElement(t)||typescript_1.default.isJsxSelfClosingElement(t)||typescript_1.default.isJsxFragment(t)?i=!0:typescript_1.default.forEachChild(t,e)}(t),i},e.writeCompileFile=async function(t,i){const s=typescript_1.default.sys.resolvePath(t),a=node_path_1.default.dirname(s);typescript_1.default.sys.directoryExists(a)||await node_fs_1.default.promises.mkdir(a,{recursive:!0}),await e.wait(500),await node_fs_1.default.promises.writeFile(s,i)},e.isInsideNamespace=e=>{let t=e.parent;for(;t;){if(typescript_1.default.isModuleDeclaration(t)&&t.flags===typescript_1.default.NodeFlags.Namespace)return!0;t=t.parent}return!1},e.clearFolder=async function(e){e=node_path_1.default.resolve(process.cwd(),e);try{const t=await node_fs_1.default.promises.readdir(e,{withFileTypes:!0});await Promise.all(t.map(t=>node_fs_1.default.promises.rm(node_path_1.default.join(e,t.name),{recursive:!0})))}catch(e){if("ENOENT"!==e.code)throw e}}}(utilities||(utilities={}));const getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const i of e){const e=typescript_1.default.sys.resolvePath(i);if(typescript_1.default.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor_1.default.magenta("No entry found in susee.config file, at least one entry required")),typescript_1.default.sys.exit(1));const t={},i=[];for(const s of e){const e=s.exportPath;t[e]?i.push(`"${e}"`):t[e]=!0}i.length>0&&(console.error(tcolor_1.default.magenta(`Duplicate export paths/path (${i.join(",")}) found in your susee.config file , that will error for bundled output`)),typescript_1.default.sys.exit(1));for(const t of e)typescript_1.default.sys.fileExists(typescript_1.default.sys.resolvePath(t.entry))||(console.error(tcolor_1.default.magenta(`Entry file ${t.entry} dose not exists.`)),typescript_1.default.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor_1.default.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),typescript_1.default.sys.exit(1));const t=(await Promise.resolve(`${e}`).then(e=>__importStar(require(e)))).default,i=(0,resolves_1.default)([[checkEntries,t.entryPoints]]);await i.series(),await utilities.wait(1e3);const s=t.outDir??"dist",a=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??"esm",tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?s:`${s}${e.exportPath.slice(1)}`};a.push(t)}return{points:a,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!0,outDir:s}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new tsconfig_1.default(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:typescript_1.default.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath,allowJs:!0}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...i}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...i}}get commonjs(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.CommonJS,...i}}get esm(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.ES2020,...i}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await node_fs_1.default.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));async function generateDependencies(e){const t=(await(0,mhaehko_1.default)(e)).sort(),i=[];for(const e of t){const t=typescript_1.default.sys.resolvePath(e),s=await node_fs_1.default.promises.readFile(t,"utf8"),a=node_path_1.default.extname(t),r=await fileSizes(t),n=s.length,o=checkExport(s,t),c=typescript_1.default.createSourceFile(t,s,typescript_1.default.ScriptTarget.Latest,!0),p=utilities.checkModuleType(c,t).isCommonJs?"cjs":"esm",l={file:t,content:s,length:n,includeDefExport:o,size:{logical:r.logical,allocated:r.allocated,utf8:(new TextEncoder).encode(s).length,buffBytes:node_buffer_1.Buffer.byteLength(s,"utf8")},moduleType:p,fileExt:a,isJsx:utilities.isJsxContent(s)};i.push(l)}return i}function _typesCheck(e,t){if(!t.noCheck){const i=e.map(e=>e.file);let s=!1;const a=typescript_1.default.createProgram(i,t);for(const e of i){const t=a.getSourceFile(e);t||(console.error(tcolor_1.default.magenta(`File not found: ${e}`)),typescript_1.default.sys.exit(1));const i=[...a.getSyntacticDiagnostics(t),...a.getSemanticDiagnostics(t),...a.getDeclarationDiagnostics(t)];if(i.length>0){const e={getCurrentDirectory:()=>process.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>typescript_1.default.sys.newLine};console.error(typescript_1.default.formatDiagnosticsWithColorAndContext(i,e)),s=!0}}if(!s)return!0;typescript_1.default.sys.exit(1)}}async function typeCheck(e,t){const i=(0,resolves_1.default)([[_typesCheck,e,t]]);return(await i.series())[0]}async function depPluginParser(e,t,i){if(t.length)for(const s of t){const t="function"==typeof s?s():s;"dependency"===t.type&&(e=t.async?await t.func(e,i):t.func(e,i))}return e}async function depHookParser(e,t){if(depHooks.length)for(const i of depHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function initializer(){console.time(`${tcolor_1.default.cyan("Collected Data")}`);const e=await finalSuseeConfig(),t=e.points,i=e.plugins,s=[];for(const e of t){const t=compilerOptions(e);let a=await generateDependencies(e.entry);await typeCheck(a,t.esm)||typescript_1.default.sys.exit(1),a=await depPluginParser(a,i,t.default),await utilities.wait(1e3),a=await depHookParser(a,t.default),await utilities.wait(1e3);const r={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:a,plugins:i};s.push(r)}return console.timeEnd(`${tcolor_1.default.cyan("Collected Data")}`),{points:s,allowUpdatePackageJson:e.allowUpdatePackageJson}}function uniqueName(){const e=new Map,t={setPrefix({key:i,value:s}){if(e.has(i))throw console.warn(`${i} already exist`),new Error;return e.set(i,[s,0]),t},getName(t,i){const[s,a]=e.get(t)||[],r=s?`${s}${i}_${(a??0)+1}`:`$nyein${i}_${(a??0)+1}`;return e.set(t,[s??"$nyein",(a??0)+1]),r},getPrefix(t){const[i]=e.get(t)||[];return i}};return t}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",genName=uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});function anonymousCallExpressionHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=a=>{if(typescript_1.default.isCallExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateCallExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isPropertyAccessExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updatePropertyAccessExpression(a,i.createIdentifier(s.newName),a.name)}}else if(typescript_1.default.isNewExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateNewExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isExportSpecifier(a)&&typescript_1.default.isIdentifier(a.name)){const e=a.name.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateExportSpecifier(a,a.isTypeOnly,a.propertyName,i.createIdentifier(s.newName))}return typescript_1.default.visitEachChild(a,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousExportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{const n=node_path_1.default.basename(t).split(".")[0];if((typescript_1.default.isFunctionDeclaration(r)||typescript_1.default.isClassDeclaration(r))&&void 0===r.name){let e=!1,t=!1;if(r.modifiers?.forEach(i=>{i.kind===typescript_1.default.SyntaxKind.ExportKeyword&&(e=!0),i.kind===typescript_1.default.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,n);if(exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),typescript_1.default.isFunctionDeclaration(r))return i.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,i.createIdentifier(e),r.typeParameters,r.parameters,r.type,r.body);if(typescript_1.default.isClassDeclaration(r))return i.updateClassDeclaration(r,r.modifiers,i.createIdentifier(e),r.typeParameters,r.heritageClauses,r.members)}}else if(typescript_1.default.isExportAssignment(r)&&!r.name&&!r.isExportEquals){if(typescript_1.default.isArrowFunction(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrowFunction(r.expression.modifiers,r.expression.typeParameters,r.expression.parameters,r.expression.type,r.expression.equalsGreaterThanToken,r.expression.body),s=i.createVariableDeclaration(i.createIdentifier(e),r.expression.exclamationToken,r.expression.type,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(r.expression.modifiers,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isObjectLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,r.expression),s=i.createVariableDeclarationList([t],typescript_1.default.NodeFlags.Const),o=i.createVariableStatement(void 0,s),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[o,c],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isArrayLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrayLiteralExpression(r.expression.elements,!0),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isStringLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createStringLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isNumericLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createNumericLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousImportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{if(typescript_1.default.isImportDeclaration(r)){const e=r.moduleSpecifier.getText(a),s=node_path_1.default.basename(e).split(".")[0].trim();if(r.importClause?.name&&typescript_1.default.isIdentifier(r.importClause.name)){const e=r.importClause.name.text.trim(),a=exportDefaultExportNameMap.find(e=>e.file===s);if(a){exportDefaultImportNameMap.push({base:e,file:t,newName:a.newName,isEd:!0});const s=i.updateImportClause(r.importClause,r.importClause.phaseModifier,i.createIdentifier(a.newName),r.importClause.namedBindings);return i.updateImportDeclaration(r,r.modifiers,s,r.moduleSpecifier,r.attributes)}}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}const anonymousHandler=async(e,t)=>{const i=(0,resolves_1.default)([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),s=await i.concurrent();for(const t of s)e=e.map(t);return e};function duplicates(e,t,i){const s=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),a=new Map;for(const e of s.statements){if(!typescript_1.default.isImportDeclaration(e)||!e.importClause)continue;const t=e.importClause;if(t.name&&typescript_1.default.isIdentifier(t.name)){const e=t.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t}))}else if(t.namedBindings&&typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)){const e=t.namedBindings.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t.namedBindings}))}else if(t.namedBindings&&typescript_1.default.isNamedImports(t.namedBindings))for(const e of t.namedBindings.elements)if(typescript_1.default.isIdentifier(e.name)){const t=e.name.text;a.set(t,(a.get(t)||[]).concat({name:t,node:e}))}}const r=new Map,n=uniqueName();n.setPrefix({key:"DuplicateImport",value:"__dup__"});for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const t=n.getName("DuplicateImport",`${e}_`);r.set(`${e}::${i}`,t),r.set(`${e}::occurrence_${i}`,t)}const o=new Map;for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const s=t[i];s?.node&&o.set(s.node.pos,r.get(`${e}::${i}`))}return(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(typescript_1.default.isImportDeclaration(s)&&s.importClause){const e=s.importClause;let i=!1,a=e;if(e.name&&typescript_1.default.isIdentifier(e.name)){e.pos;const s=o.get(e.pos);s&&(a=t.updateImportClause(e,e.isTypeOnly,t.createIdentifier(s),e.namedBindings),i=!0)}if(e.namedBindings&&typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)){const s=o.get(e.namedBindings.pos);if(s){const e=t.createNamespaceImport(t.createIdentifier(s));a=t.updateImportClause(a,a.isTypeOnly,a.name,e),i=!0}}if(e.namedBindings&&typescript_1.default.isNamedImports(e.namedBindings)){const s=e.namedBindings.elements.map(e=>{if(typescript_1.default.isIdentifier(e.name)){const s=o.get(e.pos);if(s)return i=!0,t.updateImportSpecifier(e,e.isTypeOnly,e.propertyName,t.createIdentifier(s))}return e});if(i){const e=t.createNamedImports(s);a=t.updateImportClause(a,a.isTypeOnly,a.name,e)}}if(i)return t.updateImportDeclaration(s,s.modifiers,a,s.moduleSpecifier,s.assertClause)}if(typescript_1.default.isIdentifier(s)){const e=s.text;if(!(e=>{const t=e.parent;if(!t)return!1;switch(t.kind){case typescript_1.default.SyntaxKind.ImportSpecifier:case typescript_1.default.SyntaxKind.NamespaceImport:case typescript_1.default.SyntaxKind.ImportClause:case typescript_1.default.SyntaxKind.VariableDeclaration:case typescript_1.default.SyntaxKind.FunctionDeclaration:case typescript_1.default.SyntaxKind.ClassDeclaration:case typescript_1.default.SyntaxKind.InterfaceDeclaration:case typescript_1.default.SyntaxKind.TypeAliasDeclaration:case typescript_1.default.SyntaxKind.EnumDeclaration:case typescript_1.default.SyntaxKind.Parameter:case typescript_1.default.SyntaxKind.PropertyDeclaration:case typescript_1.default.SyntaxKind.MethodDeclaration:case typescript_1.default.SyntaxKind.BindingElement:return!0;default:return!1}})(s)){if(s.parent&&typescript_1.default.isPropertyAccessExpression(s.parent)&&s.parent.name===s)return s;const i=a.get(e);if(i&&i.length>1)for(let s=1;s<i.length;s++){const i=r.get(`${e}::occurrence_${s}`)||r.get(`${e}::${s}`);if(i)return t.createIdentifier(i)}}}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},s,i)}function mergeImportsStatement(e){const t=new Map,i=new Map,s=new Map,a=new Map,r=new Map;for(const n of e){const e=n.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,c]=e,p=n.includes("import type"),l=c;if(!o){const e=n.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],i=p?a:s;i.has(l)||i.set(l,new Set),i.get(l)?.add(t)}continue}if(o.startsWith("{")){const e=p?i:t;e.has(l)||e.set(l,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(l)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];r.has(l)||r.set(l,new Set),r.get(l)?.add(t)}}else{const e=p?a:s;e.has(l)||e.set(l,new Set),e.get(l)?.add(o.trim())}}const n=[];for(const[e,s]of t){const t=i.get(e)||new Set,a=new Set([...s]);for(const e of t)s.has(e)||a.add(e);if(a.size>0){const t=Array.from(a).sort().join(", ");n.push(`import { ${t} } from "${e}";`)}}for(const[e,s]of i)if(!t.has(e)&&s.size>0){const t=Array.from(s).sort().join(", ");n.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of s){const i=a.get(e)||new Set,s=new Set([...t]);for(const e of i)t.has(e)||s.add(e);if(s.size>0){const t=Array.from(s).join(", ");n.push(`import ${t} from "${e}";`)}}for(const[e,t]of a)if(!s.has(e)&&t.size>0){const i=Array.from(t).join(", ");n.push(`import type ${i} from "${e}";`)}for(const[e,t]of r)if(t.size>0){const i=Array.from(t).join(", ");n.push(`import * as ${i} from "${e}";`)}return n.sort()}function esmExportRemoveHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0);return{file:t,content:(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(!utilities.isInsideNamespace(s)&&(typescript_1.default.isFunctionDeclaration(s)||typescript_1.default.isClassDeclaration(s)||typescript_1.default.isInterfaceDeclaration(s)||typescript_1.default.isTypeAliasDeclaration(s)||typescript_1.default.isEnumDeclaration(s)||typescript_1.default.isVariableStatement(s))){const e=s.modifiers?.filter(e=>e.kind!==typescript_1.default.SyntaxKind.ExportKeyword&&e.kind!==typescript_1.default.SyntaxKind.DefaultKeyword);if(e?.length!==s.modifiers?.length){if(typescript_1.default.isFunctionDeclaration(s))return t.updateFunctionDeclaration(s,e,s.asteriskToken,s.name,s.typeParameters,s.parameters,s.type,s.body);if(typescript_1.default.isClassDeclaration(s))return t.updateClassDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isInterfaceDeclaration(s))return t.updateInterfaceDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isTypeAliasDeclaration(s))return t.updateTypeAliasDeclaration(s,e,s.name,s.typeParameters,s.type);if(typescript_1.default.isEnumDeclaration(s))return t.updateEnumDeclaration(s,e,s.name,s.members);if(typescript_1.default.isVariableStatement(s))return t.updateVariableStatement(s,e,s.declarationList)}}if(typescript_1.default.isExportDeclaration(s))return t.createEmptyStatement();if(typescript_1.default.isExportAssignment(s)){const e=s.expression;if(typescript_1.default.isIdentifier(e))return t.createEmptyStatement()}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},a,e),...s}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return typescript_1.default.isPropertyAccessExpression(e)&&typescript_1.default.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:i,content:s,...a})=>{const r=typescript_1.default.createSourceFile(i,s,typescript_1.default.ScriptTarget.Latest,!0),n=new Set;for(const e of r.statements)if(typescript_1.default.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;typescript_1.default.isExternalModuleReference(t)&&typescript_1.default.isStringLiteral(t.expression)&&n.add(e.name.text)}const o=(0,transformer_1.default)(t=>{const{factory:s}=t,a=o=>{properties=[...properties,...findProperty(o)];const c={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(typescript_1.default.isTypeReferenceNode(o)&&typescript_1.default.isQualifiedName(o.typeName)&&typescript_1.default.isIdentifier(o.typeName.left)&&typescript_1.default.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utilities.checkModuleType(r,i).isCommonJs&&"ts"!==e&&!n.has(e))return s.updateTypeReferenceNode(o,s.createIdentifier(t),void 0)}if(typescript_1.default.isImportDeclaration(o)){const t=o.getText(r);return e.push(t),s.createEmptyStatement()}if(typescript_1.default.isImportEqualsDeclaration(o)){const t=o.name.text,i=o.moduleReference;let a;if(o.isTypeOnly&&(c.isTypeOnly=!0),c.importedString=t,c.isTypeOnly||properties.includes(t)&&(c.isNamespace=!0),typescript_1.default.isExternalModuleReference(i)&&typescript_1.default.isStringLiteral(i.expression)&&(c.source=i.expression.text),c.importedString&&!c.importedObject&&(a=c.isTypeOnly?n.has(c.importedString)?`import type * as ${c.importedString} from "${c.source}";`:typesNames.includes(c.importedString)?`import type { ${typeObj[c.importedString]?.join(",")} } from "${c.source}";`:`import type ${c.importedString} from "${c.source}";`:c.isNamespace&&c.source&&"typescript"!==c.source?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}if(typescript_1.default.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const i=t[0];if(i.initializer&&typescript_1.default.isCallExpression(i.initializer)&&typescript_1.default.isIdentifier(i.initializer.expression)&&"require"===i.initializer.expression.escapedText){const t=i.initializer.arguments[0];if(typescript_1.default.isStringLiteral(t)&&(c.source=t.text),typescript_1.default.isIdentifier(i.name)){const e=i.name.text;c.importedString=e,properties.includes(e)&&(c.isNamespace=!0)}else if(typescript_1.default.isObjectBindingPattern(i.name)){const e=[];for(const t of i.name.elements)typescript_1.default.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(c.importedObject=e)}let a;if(c.importedString&&!c.importedObject&&(a=c.isNamespace?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}}}return typescript_1.default.visitEachChild(o,a,t)};return e=>typescript_1.default.visitNode(e,a)},r,t);return{file:i,content:o,...a}}}const removeHandlers=async(e,t)=>{const i=(0,resolves_1.default)([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await i.series()};function collectBindingNames(e,t){typescript_1.default.isIdentifier(e)?t.push(e.text):(typescript_1.default.isObjectBindingPattern(e)||typescript_1.default.isArrayBindingPattern(e))&&e.elements.forEach(e=>{typescript_1.default.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,i,s={treatExportsAsUsed:!0}){const a=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),r=new Map,n=new Set,o=(e,t=!1)=>{const i=r.get(e);r.set(e,{exported:!!i?.exported||t})},c=e=>{if(typescript_1.default.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&typescript_1.default.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(typescript_1.default.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&o(e.name.text,!1)}):typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(typescript_1.default.isImportEqualsDeclaration(e)&&typescript_1.default.isIdentifier(e.name))o(e.name.text,!1);else if(typescript_1.default.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const i=[];collectBindingNames(e.name,i),i.forEach(e=>o(e,t))})}else if(typescript_1.default.isFunctionDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(typescript_1.default.isClassDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(typescript_1.default.isIdentifier(e)){const t=e.parent;typescript_1.default.isVariableDeclaration(t)&&t.name===e||typescript_1.default.isFunctionDeclaration(t)&&t.name===e||typescript_1.default.isClassDeclaration(t)&&t.name===e||typescript_1.default.isImportClause(t)&&t.name===e||typescript_1.default.isImportSpecifier(t)&&t.name===e||typescript_1.default.isNamespaceImport(t)&&t.name===e||typescript_1.default.isBindingElement(t)&&t.name===e||typescript_1.default.isParameter(t)&&t.name===e||n.add(e.text)}typescript_1.default.forEachChild(e,c)};c(a);const p=new Set;r.forEach((e,t)=>{n.has(t)||s.treatExportsAsUsed&&e.exported||p.add(t)});return(0,transformer_1.default)(e=>{const t=i=>{if(typescript_1.default.isImportDeclaration(i)&&i.importClause){const e=i.importClause,t=e.name&&typescript_1.default.isIdentifier(e.name)?e.name.text:void 0;let s;const a=[];e.namedBindings&&(typescript_1.default.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&a.push(e)}):typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)&&(s=e.namedBindings.name.text));const r=!!t&&!p.has(t),n=!!s&&!p.has(s),o=a.filter(e=>!p.has(e.name.text));if(!r&&!n&&0===o.length)return typescript_1.default.factory.createNotEmittedStatement(i);if(!r&&!!e.name||void 0!==s&&!n||o.length!==a.length){let e;e=o.length>0?typescript_1.default.factory.createNamedImports(o):n&&s?typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(s)):void 0;const a=r&&t?typescript_1.default.factory.createIdentifier(t):void 0,c=typescript_1.default.factory.createImportClause(!1,a,e);return typescript_1.default.factory.updateImportDeclaration(i,i.modifiers,c,i.moduleSpecifier,i.assertClause)}return i}if((typescript_1.default.isFunctionDeclaration(i)||typescript_1.default.isClassDeclaration(i))&&i.name&&typescript_1.default.isIdentifier(i.name))return p.has(i.name.text)?typescript_1.default.factory.createNotEmittedStatement(i):i;if(typescript_1.default.isVariableStatement(i)){const e=[];i.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!p.has(e))?i:typescript_1.default.factory.createNotEmittedStatement(i)}return typescript_1.default.visitEachChild(i,t,e)};return e=>typescript_1.default.visitNode(e,t)},a,i)}async function preProcessPluginParser(e,t,i){if(e.length)for(const s of e){const e="function"==typeof s?s():s;"pre-process"===e.type&&(t=e.async?await e.func(t,i):e.func(t,i))}return t}async function preProcessHooksParser(e,t){if(preProcessHooks.length)for(const i of preProcessHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function bundler(e){const t="."===e.exportPath?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`);let i=e.depFiles;const s=e.rename,a=e.tsOptions.default,r=e.plugins;let n=[];i=await anonymousHandler(i,a);const o=await removeHandlers(n,a);i=i.map(o[0]);const c=i.slice(0,-1).map(o[1]),p=i.slice(-1),l=/["']((?!\.\/|\.\.\/)[^"']+)["']/;n=n.filter(e=>l.test(e)),n=mergeImportsStatement(n);let d=`${n.join("\n").trim()}\n${c.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${p.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return d=d.replace(/^s*;\s*$/gm,"").trim(),s&&(d=duplicates(d,e.fileName,a)),d=clearUnusedCode(d,e.fileName,a),d=await preProcessPluginParser(r,d),await utilities.wait(1e3),d=await preProcessHooksParser(d),await utilities.wait(1e3),console.timeEnd(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`),{bundledContent:d,...e}}async function bundle(e){const t=[];for(const i of e.points){const e=await bundler(i);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const i={},s={getSourceFile:(i,s)=>{if(i===t)return typescript_1.default.createSourceFile(i,e,s)},writeFile:(e,t)=>{i[e]=t},getDefaultLibFileName:e=>typescript_1.default.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:i=>i===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:i,host:s}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`},require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let i=!0;"."!==t&&(i=!1);const s=typescript_1.default.sys.resolvePath("package.json"),a=node_fs_1.default.readFileSync(s,"utf8"),r=JSON.parse(a);let{name:n,version:o,description:c,main:p,module:l,type:d,types:f,exports:u,...m}=r;await utilities.wait(500),d="module";let y={},_={},g={},h={};if(i)y=e.main?{main:node_path_1.default.relative(process.cwd(),e.main)}:{},_=e.module?{module:node_path_1.default.relative(process.cwd(),e.module)}:{},g=e.types?{types:node_path_1.default.relative(process.cwd(),e.types)}:{},h={exports:{...getExports(e,t)}};else{y=p?{main:p}:{},_=l?{module:l}:{},g=f?{types:f}:{};h={exports:{...u&&"object"==typeof u&&!Array.isArray(u)?{...u}:{},...getExports(e,t)}}}await utilities.wait(1e3);const x={name:n,version:o,description:c,type:d,...y,...g,..._,...h,...m};utilities.writeCompileFile(s,JSON.stringify(x,null,2))}class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.cjs,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.commonjs=e.replace(/.js/g,".cjs")),e.match(/.d.ts/g)&&(this.files.commonjsTypes=e.replace(/.d.ts/g,".d.cts")),!t||"both"!==r&&"commonjs"!==r||(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),e=(e=(e=e.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),await utilities.wait(500),"commonjs"===r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async _esm(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.esm,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.esm=e.replace(/.js/g,".mjs")),e.match(/.d.ts/g)&&(this.files.esmTypes=e.replace(/.d.ts/g,".d.mts")),t&&"both"===r&&this.files.esm&&(this.files.module=this.files.esm)),e=(e=(e=e.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utilities.wait(500),"commonjs"!==r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async compile(){for(const e of this.object.points){switch(await utilities.wait(500),e.format){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"both":await this._esm(e),await utilities.wait(1e3),await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}await utilities.wait(500)}}}async function susee(){console.info(`${tcolor_1.default.cyan("Susee Started")} : `),console.time(`${tcolor_1.default.cyan("Susee Done")}`);const e=await initializer();await utilities.wait(1e3);const t=await bundle(e);await utilities.wait(1e3);const i=new Compiler(t);await i.compile(),console.timeEnd(`${tcolor_1.default.cyan("Susee Done")}`)}
|
|
8
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,a){void 0===a&&(a=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,a,r)}:function(e,t,i,a){void 0===a&&(a=i),e[a]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[t.length]=i);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var a=e(t),r=0;r<a.length;r++)"default"!==a[r]&&__createBinding(i,t,a[r]);return __setModuleDefault(i,t),i}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.susee=susee;const tsconfig_1=__importDefault(require("@suseejs/tsconfig")),node_fs_1=__importDefault(require("node:fs")),mhaehko_1=__importDefault(require("mhaehko")),node_path_1=__importDefault(require("node:path")),node_process_1=__importDefault(require("node:process")),resolves_1=__importDefault(require("@suseejs/resolves")),tcolor_1=__importDefault(require("@suseejs/tcolor")),transformer_1=__importDefault(require("@suseejs/transformer")),typescript_1=__importDefault(require("typescript")),utils_1=__importDefault(require("@suseejs/utils")),node_buffer_1=require("node:buffer"),getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const i of e){const e=typescript_1.default.sys.resolvePath(i);if(typescript_1.default.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor_1.default.magenta("No entry found in susee.config file, at least one entry required")),typescript_1.default.sys.exit(1));const t={},i=[];for(const a of e){const e=a.exportPath;t[e]?i.push(`"${e}"`):t[e]=!0}i.length>0&&(console.error(tcolor_1.default.magenta(`Duplicate export paths/path (${i.join(",")}) found in your susee.config file , that will error for bundled output`)),typescript_1.default.sys.exit(1));for(const t of e)typescript_1.default.sys.fileExists(typescript_1.default.sys.resolvePath(t.entry))||(console.error(tcolor_1.default.magenta(`Entry file ${t.entry} dose not exists.`)),typescript_1.default.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor_1.default.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),typescript_1.default.sys.exit(1));const t=(await Promise.resolve(`${e}`).then(e=>__importStar(require(e)))).default,i=(0,resolves_1.default)([[checkEntries,t.entryPoints]]);await i.series();const a=t.outDir??"dist",r=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??["esm"],tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?a:`${a}${e.exportPath.slice(1)}`};r.push(t)}return{points:r,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!1,outDir:a}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new tsconfig_1.default(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:typescript_1.default.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath,allowJs:!0}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...i}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...i}}get commonjs(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.CommonJS,...i}}get esm(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.ES2020,...i}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await node_fs_1.default.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));function isJsxContent(e){const t=typescript_1.default.createSourceFile("file.tsx",e,typescript_1.default.ScriptTarget.Latest,!0,typescript_1.default.ScriptKind.TSX);let i=!1;return function e(t){typescript_1.default.isJsxElement(t)||typescript_1.default.isJsxSelfClosingElement(t)||typescript_1.default.isJsxFragment(t)?i=!0:typescript_1.default.forEachChild(t,e)}(t),i}async function generateDependencies(e){const t=(await(0,mhaehko_1.default)(e)).sort(),i=[];for(const e of t){const t=typescript_1.default.sys.resolvePath(e),a=await node_fs_1.default.promises.readFile(t,"utf8"),r=node_path_1.default.extname(t),s=await fileSizes(t),n=a.length,o=checkExport(a,t),p=typescript_1.default.createSourceFile(t,a,typescript_1.default.ScriptTarget.Latest,!0),c=utils_1.default.check.moduleType(p,t).isCommonJs?"cjs":"esm",l={file:t,content:a,length:n,includeDefExport:o,size:{logical:s.logical,allocated:s.allocated,utf8:(new TextEncoder).encode(a).length,buffBytes:node_buffer_1.Buffer.byteLength(a,"utf8")},moduleType:c,fileExt:r,isJsx:isJsxContent(a)};i.push(l)}return i}function _typesCheck(e,t){if(!t.noCheck){const i=e.map(e=>e.file);let a=!1;const r=typescript_1.default.createProgram(i,t);for(const e of i){const t=r.getSourceFile(e);t||(console.error(tcolor_1.default.magenta(`File not found: ${e}`)),typescript_1.default.sys.exit(1));const i=[...r.getSyntacticDiagnostics(t),...r.getSemanticDiagnostics(t),...r.getDeclarationDiagnostics(t)];if(i.length>0){const e={getCurrentDirectory:()=>node_process_1.default.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>typescript_1.default.sys.newLine};console.error(typescript_1.default.formatDiagnosticsWithColorAndContext(i,e)),a=!0}}if(!a)return!0;typescript_1.default.sys.exit(1)}}async function typeCheck(e,t){const i=(0,resolves_1.default)([[_typesCheck,e,t]]);return(await i.series())[0]}async function depPluginParser(e,t,i){if(t.length)for(const a of t){const t="function"==typeof a?a():a;"dependency"===t.type&&(e=t.async?await t.func(e,i):t.func(e,i))}return e}async function initializer(){const e=await finalSuseeConfig(),t=e.points,i=e.plugins,a=[];for(const e of t){const t=compilerOptions(e);let r=await generateDependencies(e.entry);await typeCheck(r,t.esm)||typescript_1.default.sys.exit(1),r=await depPluginParser(r,i,t.default);const s={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:r,plugins:i};a.push(s)}return{points:a,allowUpdatePackageJson:e.allowUpdatePackageJson}}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",createAnonymousNameGenerator=()=>utils_1.default.uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});let genName=createAnonymousNameGenerator();const resetAnonymousState=()=>{exportDefaultExportNameMap.length=0,exportDefaultImportNameMap.length=0,genName=createAnonymousNameGenerator()};function anonymousCallExpressionHandler(e){return({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=r=>{if(typescript_1.default.isCallExpression(r)){if(typescript_1.default.isIdentifier(r.expression)){const e=r.expression.text,a=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(a)return i.updateCallExpression(r,i.createIdentifier(a.newName),r.typeArguments,r.arguments)}}else if(typescript_1.default.isPropertyAccessExpression(r)){if(typescript_1.default.isIdentifier(r.expression)){const e=r.expression.text,a=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(a)return i.updatePropertyAccessExpression(r,i.createIdentifier(a.newName),r.name)}}else if(typescript_1.default.isNewExpression(r)){if(typescript_1.default.isIdentifier(r.expression)){const e=r.expression.text,a=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(a)return i.updateNewExpression(r,i.createIdentifier(a.newName),r.typeArguments,r.arguments)}}else if(typescript_1.default.isExportSpecifier(r)&&typescript_1.default.isIdentifier(r.name)){const e=r.name.text,a=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(a)return i.updateExportSpecifier(r,r.isTypeOnly,r.propertyName,i.createIdentifier(a.newName))}return typescript_1.default.visitEachChild(r,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}}}function anonymousExportHandler(e){return({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=s=>{const n=node_path_1.default.basename(t).split(".")[0];if((typescript_1.default.isFunctionDeclaration(s)||typescript_1.default.isClassDeclaration(s))&&void 0===s.name){let e=!1,t=!1;if(s.modifiers?.forEach(i=>{i.kind===typescript_1.default.SyntaxKind.ExportKeyword&&(e=!0),i.kind===typescript_1.default.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,n);if(exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),typescript_1.default.isFunctionDeclaration(s))return i.updateFunctionDeclaration(s,s.modifiers,s.asteriskToken,i.createIdentifier(e),s.typeParameters,s.parameters,s.type,s.body);if(typescript_1.default.isClassDeclaration(s))return i.updateClassDeclaration(s,s.modifiers,i.createIdentifier(e),s.typeParameters,s.heritageClauses,s.members)}}else if(typescript_1.default.isExportAssignment(s)&&!s.name&&!s.isExportEquals){if(typescript_1.default.isArrowFunction(s.expression)){const e=genName.getName(prefixKey,n),t=i.createArrowFunction(s.expression.modifiers,s.expression.typeParameters,s.expression.parameters,s.expression.type,s.expression.equalsGreaterThanToken,s.expression.body),a=i.createVariableDeclaration(i.createIdentifier(e),s.expression.exclamationToken,s.expression.type,t),o=i.createVariableDeclarationList([a],typescript_1.default.NodeFlags.Const),p=i.createVariableStatement(s.expression.modifiers,o),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(r,[p,c],r.isDeclarationFile,r.referencedFiles,r.typeReferenceDirectives,r.hasNoDefaultLib,r.libReferenceDirectives)}if(typescript_1.default.isObjectLiteralExpression(s.expression)){const e=genName.getName(prefixKey,n),t=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,s.expression),a=i.createVariableDeclarationList([t],typescript_1.default.NodeFlags.Const),o=i.createVariableStatement(void 0,a),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(r,[o,p],r.isDeclarationFile,r.referencedFiles,r.typeReferenceDirectives,r.hasNoDefaultLib,r.libReferenceDirectives)}if(typescript_1.default.isArrayLiteralExpression(s.expression)){const e=genName.getName(prefixKey,n),t=i.createArrayLiteralExpression(s.expression.elements,!0),a=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([a],typescript_1.default.NodeFlags.Const),p=i.createVariableStatement(void 0,o),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(r,[p,c],r.isDeclarationFile,r.referencedFiles,r.typeReferenceDirectives,r.hasNoDefaultLib,r.libReferenceDirectives)}if(typescript_1.default.isStringLiteral(s.expression)){const e=genName.getName(prefixKey,n),t=i.createStringLiteral(s.expression.text),a=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([a],typescript_1.default.NodeFlags.Const),p=i.createVariableStatement(void 0,o),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(r,[p,c],r.isDeclarationFile,r.referencedFiles,r.typeReferenceDirectives,r.hasNoDefaultLib,r.libReferenceDirectives)}if(typescript_1.default.isNumericLiteral(s.expression)){const e=genName.getName(prefixKey,n),t=i.createNumericLiteral(s.expression.text),a=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([a],typescript_1.default.NodeFlags.Const),p=i.createVariableStatement(void 0,o),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(r,[p,c],r.isDeclarationFile,r.referencedFiles,r.typeReferenceDirectives,r.hasNoDefaultLib,r.libReferenceDirectives)}}return typescript_1.default.visitEachChild(s,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}}}function anonymousImportHandler(e){return({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=s=>{if(typescript_1.default.isImportDeclaration(s)){const e=s.moduleSpecifier.getText(r),a=node_path_1.default.basename(e).split(".")[0].trim();if(s.importClause?.name&&typescript_1.default.isIdentifier(s.importClause.name)){const e=s.importClause.name.text.trim(),r=exportDefaultExportNameMap.find(e=>e.file===a);if(r){exportDefaultImportNameMap.push({base:e,file:t,newName:r.newName,isEd:!0});const a=i.updateImportClause(s.importClause,s.importClause.phaseModifier,i.createIdentifier(r.newName),s.importClause.namedBindings);return i.updateImportDeclaration(s,s.modifiers,a,s.moduleSpecifier,s.attributes)}}}return typescript_1.default.visitEachChild(s,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}}}const anonymousHandler=async(e,t)=>{resetAnonymousState();const i=(0,resolves_1.default)([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),a=await i.concurrent();for(const t of a)e=e.map(t);return e},namesMap=new Map,callNameMap=[],importNameMap=[],exportNameMap=[];function __uniqueName(){const e=new Map;return{setPrefix({key:t,value:i}){const a=[];let r;if(e.has(t))throw console.warn(`${t} already exist`),new Error;return r=i,e.set(t,i),{getName:function(e){const t=a.length,i=r?`${r}${e}_${t+1}`:`$nyein${e}_${t+1}`;return a.push(i),i}}},getPrefix(t){if(e.has(t))return e.get(t)}}}let dupName=__uniqueName().setPrefix({key:"DuplicatesNames",value:"__duplicatesNames__"});const resetDuplicateState=()=>{namesMap.clear(),callNameMap.length=0,importNameMap.length=0,exportNameMap.length=0,dupName=__uniqueName().setPrefix({key:"DuplicatesNames",value:"__duplicatesNames__"})},normalizePathKey=e=>{const t=node_path_1.default.parse(e);let i=node_path_1.default.join(t.dir,t.name);return"index"===t.name&&(i=t.dir),node_path_1.default.normalize(i)},getFileKey=e=>normalizePathKey(e),getModuleKeyFromSpecifier=(e,t,i)=>{let a="";if(a=typescript_1.default.isStringLiteral(e)?e.text:e.getText(t).replace(/^['"]|['"]$/g,""),a.startsWith(".")||a.startsWith("/")){const e=node_path_1.default.dirname(i);return normalizePathKey(node_path_1.default.resolve(e,a))}return a},callExpression=e=>({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=e=>{const i=callNameMap.find(i=>i.base===e&&i.file===t),a=importNameMap.find(i=>i.base===e&&i.file===t);return i?i.newName:a?a.newName:null},r=t=>{if(typescript_1.default.isCallExpression(t)){if(typescript_1.default.isIdentifier(t.expression)){const e=a(t.expression.text);if(e)return i.updateCallExpression(t,i.createIdentifier(e),t.typeArguments,t.arguments)}}else if(typescript_1.default.isPropertyAccessExpression(t)){if(typescript_1.default.isIdentifier(t.expression)){const e=a(t.expression.text);if(e)return i.updatePropertyAccessExpression(t,i.createIdentifier(e),t.name)}}else if(typescript_1.default.isNewExpression(t)){if(typescript_1.default.isIdentifier(t.expression)){const e=a(t.expression.text);if(e)return i.updateNewExpression(t,i.createIdentifier(e),t.typeArguments,t.arguments)}}else if(typescript_1.default.isIdentifier(t)&&!(e=>{const t=e.parent;return!!(t&&(typescript_1.default.isVariableDeclaration(t)&&t.name===e||(typescript_1.default.isFunctionDeclaration(t)||typescript_1.default.isClassDeclaration(t)||typescript_1.default.isInterfaceDeclaration(t)||typescript_1.default.isTypeAliasDeclaration(t)||typescript_1.default.isEnumDeclaration(t)||typescript_1.default.isParameter(t)||typescript_1.default.isBindingElement(t)||typescript_1.default.isImportClause(t)||typescript_1.default.isNamespaceImport(t)||typescript_1.default.isImportSpecifier(t)||typescript_1.default.isExportSpecifier(t)||typescript_1.default.isTypeParameterDeclaration(t))&&t.name===e||(typescript_1.default.isPropertyDeclaration(t)||typescript_1.default.isMethodDeclaration(t))&&t.name===e))})(t)){if(typescript_1.default.isPropertyAccessExpression(t.parent)&&t.parent.name===t)return t;if(typescript_1.default.isPropertyAssignment(t.parent)&&t.parent.name===t)return t;const e=a(t.text);if(e)return typescript_1.default.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?i.createPropertyAssignment(i.createIdentifier(t.text),i.createIdentifier(e)):i.createIdentifier(e)}return typescript_1.default.visitEachChild(t,r,e)};return e=>typescript_1.default.visitNode(e,r)},r,e);return{file:t,content:s,...a}},exportExpression=e=>({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=r=>{if(typescript_1.default.isExportSpecifier(r)){if(typescript_1.default.isIdentifier(r.name)){const e=r.name.text;let a=null;const s=callNameMap.find(i=>i.base===e&&i.file===t),n=importNameMap.find(i=>i.base===e&&i.file===t);if(s?(exportNameMap.push({base:e,file:getFileKey(t),newName:s.newName}),a=s.newName):n&&(a=n.newName),a)return i.updateExportSpecifier(r,r.isTypeOnly,r.propertyName,i.createIdentifier(a))}}else if(typescript_1.default.isExportAssignment(r)){const e=r.expression;if(typescript_1.default.isIdentifier(e)){const a=e.text;let s=null;const n=callNameMap.find(e=>e.base===a&&e.file===t),o=importNameMap.find(e=>e.base===a&&e.file===t);if(n?(exportNameMap.push({base:a,file:getFileKey(t),newName:n.newName}),s=n.newName):o&&(s=o.newName),s)return i.updateExportAssignment(r,r.modifiers,i.createIdentifier(s))}}return typescript_1.default.visitEachChild(r,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}},importExpression=e=>({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=s=>{if(typescript_1.default.isImportDeclaration(s)){const e=getModuleKeyFromSpecifier(s.moduleSpecifier,r,t);let a=[];if(s.importClause?.namedBindings&&typescript_1.default.isNamedImports(s.importClause.namedBindings)&&(a=s.importClause.namedBindings.elements.map(e=>e.name.text.trim())),s.importClause?.name&&typescript_1.default.isIdentifier(s.importClause.name)){const a=s.importClause.name.text.trim(),r=exportNameMap.find(t=>t.base===a&&t.file===e);if(r){importNameMap.push({base:r.base,file:t,newName:r.newName});const e=i.updateImportClause(s.importClause,s.importClause.phaseModifier,i.createIdentifier(r.newName),s.importClause.namedBindings);return i.updateImportDeclaration(s,s.modifiers,e,s.moduleSpecifier,s.attributes)}}if(a.length>0&&s.importClause&&s.importClause.namedBindings&&typescript_1.default.isNamedImports(s.importClause.namedBindings)){const a=s.importClause.namedBindings.elements.map(a=>{const r=exportNameMap.find(t=>t.base===a.name.text.trim()&&t.file===e);return r?(importNameMap.push({base:r.base,file:t,newName:r.newName}),i.updateImportSpecifier(a,a.isTypeOnly,a.propertyName,i.createIdentifier(r.newName))):a}),r=i.updateNamedImports(s.importClause.namedBindings,a),n=i.updateImportClause(s.importClause,s.importClause.phaseModifier,s.importClause.name,r);return i.updateImportDeclaration(s,s.modifiers,n,s.moduleSpecifier,s.attributes)}}return typescript_1.default.visitEachChild(s,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}},collector=e=>({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{function i(a,r=!0){if(r)if(typescript_1.default.isVariableStatement(a))a.declarationList.declarations.forEach(e=>{if(typescript_1.default.isIdentifier(e.name)){const i=e.name.text;namesMap.has(i)?namesMap.get(i).add({file:t}):namesMap.set(i,new Set([{file:t}]))}});else if(typescript_1.default.isFunctionDeclaration(a)||typescript_1.default.isClassDeclaration(a)||typescript_1.default.isEnumDeclaration(a)||typescript_1.default.isInterfaceDeclaration(a)||typescript_1.default.isTypeAliasDeclaration(a)){const e=a.name?.text;e&&(namesMap.has(e)?namesMap.get(e).add({file:t}):namesMap.set(e,new Set([{file:t}])))}return typescript_1.default.isBlock(a)||typescript_1.default.isFunctionDeclaration(a)||typescript_1.default.isFunctionExpression(a)||typescript_1.default.isArrowFunction(a)||typescript_1.default.isMethodDeclaration(a)||typescript_1.default.isClassDeclaration(a)?(typescript_1.default.isBlock(a)?typescript_1.default.visitNodes(a.statements,e=>i(e,!1)):typescript_1.default.forEachChild(a,e=>{i(e,!1)}),a):typescript_1.default.visitEachChild(a,e=>i(e,r),e)}return e=>i(e,!0)},r,e);return{file:t,content:s,...a}},updater=e=>({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),s=(0,transformer_1.default)(e=>{const{factory:i}=e,a=r=>{if(typescript_1.default.isVariableStatement(r)){const e=r.declarationList.declarations.map(e=>{if(typescript_1.default.isIdentifier(e.name)){const a=e.name.text;if(namesMap.has(a)&&namesMap.get(a).size>1){const r=dupName.getName(a);return callNameMap.push({base:a,file:t,newName:r}),i.updateVariableDeclaration(e,i.createIdentifier(r),e.exclamationToken,e.type,e.initializer)}}return e}),a=i.updateVariableDeclarationList(r.declarationList,e);return i.updateVariableStatement(r,r.modifiers,a)}if(typescript_1.default.isFunctionDeclaration(r)){if(r.name&&typescript_1.default.isIdentifier(r.name)){const e=r.name.text;if(namesMap.has(e)&&namesMap.get(e).size>1){const a=dupName.getName(e);return callNameMap.push({base:e,file:t,newName:a}),i.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,i.createIdentifier(a),r.typeParameters,r.parameters,r.type,r.body)}}}else if(typescript_1.default.isClassDeclaration(r)&&r.name&&typescript_1.default.isIdentifier(r.name)){const e=r.name.text;if(namesMap.has(e)&&namesMap.get(e).size>1){const a=dupName.getName(e);return callNameMap.push({base:e,file:t,newName:a}),i.updateClassDeclaration(r,r.modifiers,i.createIdentifier(a),r.typeParameters,r.heritageClauses,r.members)}}return typescript_1.default.visitEachChild(r,a,e)};return e=>typescript_1.default.visitNode(e,a)},r,e);return{file:t,content:s,...a}},duplicateHandlers={renamed:async(e,t)=>{resetDuplicateState();const i=(0,resolves_1.default)([[collector,t],[updater,t],[callExpression,t],[exportExpression,t],[importExpression,t],[callExpression,t],[exportExpression,t]]),a=await i.concurrent();for(const t of a)e=e.map(t);return e},notRenamed:async(e,t)=>{resetDuplicateState();let i=!1;const a=(0,resolves_1.default)([[collector,namesMap,t]]),r=await a.concurrent();return e.map(r[0]),await utils_1.default.wait(1e3),namesMap.forEach((e,t)=>{e.size>1&&(i=!0,console.warn(`Name -> ${t} declared in multiple files :`),e.forEach(e=>console.warn(` - ${e.file}`)))}),await utils_1.default.wait(500),i&&node_process_1.default.exit(1),e}};function mergeImportsStatement(e){const t=new Map,i=new Map,a=new Map,r=new Map,s=new Map;for(const n of e){const e=n.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,p]=e,c=n.includes("import type"),l=p;if(!o){const e=n.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],i=c?r:a;i.has(l)||i.set(l,new Set),i.get(l)?.add(t)}continue}if(o.startsWith("{")){const e=c?i:t;e.has(l)||e.set(l,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(l)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];s.has(l)||s.set(l,new Set),s.get(l)?.add(t)}}else{const e=c?r:a;e.has(l)||e.set(l,new Set),e.get(l)?.add(o.trim())}}const n=[];for(const[e,a]of t){const t=i.get(e)||new Set,r=new Set([...a]);for(const e of t)a.has(e)||r.add(e);if(r.size>0){const t=Array.from(r).sort().join(", ");n.push(`import { ${t} } from "${e}";`)}}for(const[e,a]of i)if(!t.has(e)&&a.size>0){const t=Array.from(a).sort().join(", ");n.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of a){const i=r.get(e)||new Set,a=new Set([...t]);for(const e of i)t.has(e)||a.add(e);if(a.size>0){const t=Array.from(a).join(", ");n.push(`import ${t} from "${e}";`)}}for(const[e,t]of r)if(!a.has(e)&&t.size>0){const i=Array.from(t).join(", ");n.push(`import type ${i} from "${e}";`)}for(const[e,t]of s)if(t.size>0){const i=Array.from(t).join(", ");n.push(`import * as ${i} from "${e}";`)}return n.sort()}function esmExportRemoveHandler(e){return({file:t,content:i,...a})=>{const r=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0);return{file:t,content:(0,transformer_1.default)(e=>{const{factory:t}=e,i=a=>{if(!utils_1.default.check.isInsideNamespace(a)&&(typescript_1.default.isFunctionDeclaration(a)||typescript_1.default.isClassDeclaration(a)||typescript_1.default.isInterfaceDeclaration(a)||typescript_1.default.isTypeAliasDeclaration(a)||typescript_1.default.isEnumDeclaration(a)||typescript_1.default.isVariableStatement(a))){const e=a.modifiers?.filter(e=>e.kind!==typescript_1.default.SyntaxKind.ExportKeyword&&e.kind!==typescript_1.default.SyntaxKind.DefaultKeyword);if(e?.length!==a.modifiers?.length){if(typescript_1.default.isFunctionDeclaration(a))return t.updateFunctionDeclaration(a,e,a.asteriskToken,a.name,a.typeParameters,a.parameters,a.type,a.body);if(typescript_1.default.isClassDeclaration(a))return t.updateClassDeclaration(a,e,a.name,a.typeParameters,a.heritageClauses,a.members);if(typescript_1.default.isInterfaceDeclaration(a))return t.updateInterfaceDeclaration(a,e,a.name,a.typeParameters,a.heritageClauses,a.members);if(typescript_1.default.isTypeAliasDeclaration(a))return t.updateTypeAliasDeclaration(a,e,a.name,a.typeParameters,a.type);if(typescript_1.default.isEnumDeclaration(a))return t.updateEnumDeclaration(a,e,a.name,a.members);if(typescript_1.default.isVariableStatement(a))return t.updateVariableStatement(a,e,a.declarationList)}}if(typescript_1.default.isExportDeclaration(a))return t.createEmptyStatement();if(typescript_1.default.isExportAssignment(a)){const e=a.expression;if(typescript_1.default.isIdentifier(e))return t.createEmptyStatement()}return typescript_1.default.visitEachChild(a,i,e)};return e=>typescript_1.default.visitNode(e,i)},r,e),...a}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return typescript_1.default.isPropertyAccessExpression(e)&&typescript_1.default.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:i,content:a,...r})=>{const s=typescript_1.default.createSourceFile(i,a,typescript_1.default.ScriptTarget.Latest,!0),n=new Set;for(const e of s.statements)if(typescript_1.default.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;typescript_1.default.isExternalModuleReference(t)&&typescript_1.default.isStringLiteral(t.expression)&&n.add(e.name.text)}const o=(0,transformer_1.default)(t=>{const{factory:a}=t,r=o=>{properties=[...properties,...findProperty(o)];const p={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(typescript_1.default.isTypeReferenceNode(o)&&typescript_1.default.isQualifiedName(o.typeName)&&typescript_1.default.isIdentifier(o.typeName.left)&&typescript_1.default.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utils_1.default.check.moduleType(s,i).isCommonJs&&"ts"!==e&&!n.has(e))return a.updateTypeReferenceNode(o,a.createIdentifier(t),void 0)}if(typescript_1.default.isImportDeclaration(o)){const t=o.getText(s);return e.push(t),a.createEmptyStatement()}if(typescript_1.default.isImportEqualsDeclaration(o)){const t=o.name.text,i=o.moduleReference;let r;if(o.isTypeOnly&&(p.isTypeOnly=!0),p.importedString=t,p.isTypeOnly||properties.includes(t)&&(p.isNamespace=!0),typescript_1.default.isExternalModuleReference(i)&&typescript_1.default.isStringLiteral(i.expression)&&(p.source=i.expression.text),p.importedString&&!p.importedObject&&(r=p.isTypeOnly?n.has(p.importedString)?`import type * as ${p.importedString} from "${p.source}";`:typesNames.includes(p.importedString)?`import type { ${typeObj[p.importedString]?.join(",")} } from "${p.source}";`:`import type ${p.importedString} from "${p.source}";`:p.isNamespace&&p.source&&"typescript"!==p.source?`import * as ${p.importedString} from "${p.source}";`:`import ${p.importedString} from "${p.source}";`),!p.importedString&&p.importedObject&&(r=`import { ${p.importedObject.join(", ")} } from "${p.source}";`),r)return e.push(r),a.createEmptyStatement()}if(typescript_1.default.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const i=t[0];if(i.initializer&&typescript_1.default.isCallExpression(i.initializer)&&typescript_1.default.isIdentifier(i.initializer.expression)&&"require"===i.initializer.expression.escapedText){const t=i.initializer.arguments[0];if(typescript_1.default.isStringLiteral(t)&&(p.source=t.text),typescript_1.default.isIdentifier(i.name)){const e=i.name.text;p.importedString=e,properties.includes(e)&&(p.isNamespace=!0)}else if(typescript_1.default.isObjectBindingPattern(i.name)){const e=[];for(const t of i.name.elements)typescript_1.default.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(p.importedObject=e)}let r;if(p.importedString&&!p.importedObject&&(r=p.isNamespace?`import * as ${p.importedString} from "${p.source}";`:`import ${p.importedString} from "${p.source}";`),!p.importedString&&p.importedObject&&(r=`import { ${p.importedObject.join(", ")} } from "${p.source}";`),r)return e.push(r),a.createEmptyStatement()}}}return typescript_1.default.visitEachChild(o,r,t)};return e=>typescript_1.default.visitNode(e,r)},s,t);return{file:i,content:o,...r}}}const removeHandlers=async(e,t)=>{const i=(0,resolves_1.default)([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await i.series()};function collectBindingNames(e,t){typescript_1.default.isIdentifier(e)?t.push(e.text):(typescript_1.default.isObjectBindingPattern(e)||typescript_1.default.isArrayBindingPattern(e))&&e.elements.forEach(e=>{typescript_1.default.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,i,a={treatExportsAsUsed:!0}){const r=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),s=new Map,n=new Set,o=(e,t=!1)=>{const i=s.get(e);s.set(e,{exported:!!i?.exported||t})},p=e=>{if(typescript_1.default.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&typescript_1.default.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(typescript_1.default.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&o(e.name.text,!1)}):typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(typescript_1.default.isImportEqualsDeclaration(e)&&typescript_1.default.isIdentifier(e.name))o(e.name.text,!1);else if(typescript_1.default.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const i=[];collectBindingNames(e.name,i),i.forEach(e=>o(e,t))})}else if(typescript_1.default.isFunctionDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(typescript_1.default.isClassDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(typescript_1.default.isIdentifier(e)){const t=e.parent;typescript_1.default.isVariableDeclaration(t)&&t.name===e||typescript_1.default.isFunctionDeclaration(t)&&t.name===e||typescript_1.default.isClassDeclaration(t)&&t.name===e||typescript_1.default.isImportClause(t)&&t.name===e||typescript_1.default.isImportSpecifier(t)&&t.name===e||typescript_1.default.isNamespaceImport(t)&&t.name===e||typescript_1.default.isBindingElement(t)&&t.name===e||typescript_1.default.isParameter(t)&&t.name===e||n.add(e.text)}typescript_1.default.forEachChild(e,p)};p(r);const c=new Set;s.forEach((e,t)=>{n.has(t)||a.treatExportsAsUsed&&e.exported||c.add(t)});return(0,transformer_1.default)(e=>{const t=i=>{if(typescript_1.default.isImportDeclaration(i)&&i.importClause){const e=i.importClause,t=e.name&&typescript_1.default.isIdentifier(e.name)?e.name.text:void 0;let a;const r=[];e.namedBindings&&(typescript_1.default.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&r.push(e)}):typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)&&(a=e.namedBindings.name.text));const s=!!t&&!c.has(t),n=!!a&&!c.has(a),o=r.filter(e=>!c.has(e.name.text));if(!s&&!n&&0===o.length)return typescript_1.default.factory.createNotEmittedStatement(i);if(!s&&!!e.name||void 0!==a&&!n||o.length!==r.length){let e;e=o.length>0?typescript_1.default.factory.createNamedImports(o):n&&a?typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(a)):void 0;const r=s&&t?typescript_1.default.factory.createIdentifier(t):void 0,p=typescript_1.default.factory.createImportClause(!1,r,e);return typescript_1.default.factory.updateImportDeclaration(i,i.modifiers,p,i.moduleSpecifier,i.assertClause)}return i}if((typescript_1.default.isFunctionDeclaration(i)||typescript_1.default.isClassDeclaration(i))&&i.name&&typescript_1.default.isIdentifier(i.name))return c.has(i.name.text)?typescript_1.default.factory.createNotEmittedStatement(i):i;if(typescript_1.default.isVariableStatement(i)){const e=[];i.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!c.has(e))?i:typescript_1.default.factory.createNotEmittedStatement(i)}return typescript_1.default.visitEachChild(i,t,e)};return e=>typescript_1.default.visitNode(e,t)},r,i)}async function preProcessPluginParser(e,t,i){if(e.length)for(const a of e){const e="function"==typeof a?a():a;"pre-process"===e.type&&(t=e.async?await e.func(t,i):e.func(t,i))}return t}async function bundler(e){"."===e.exportPath||utils_1.default.str.splitCamelCase(e.exportPath.slice(2));console.time(` > ${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `);let t=e.depFiles;const i=e.rename,a=e.tsOptions.default,r=e.plugins;let s=[];t=await anonymousHandler(t,a),t=i?await duplicateHandlers.renamed(t,a):await duplicateHandlers.notRenamed(t,a);const n=await removeHandlers(s,a);t=t.map(n[0]);const o=t.slice(0,-1).map(n[1]),p=t.slice(-1),c=/["']((?!\.\/|\.\.\/)[^"']+)["']/;s=s.filter(e=>c.test(e)),s=mergeImportsStatement(s);let l=`${s.join("\n").trim()}\n${o.map(e=>`${`//${node_path_1.default.relative(node_process_1.default.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${p.map(e=>`${`//${node_path_1.default.relative(node_process_1.default.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return l=l.replace(/^s*;\s*$/gm,"").trim(),l=clearUnusedCode(l,e.fileName,a),l=await preProcessPluginParser(r,l),console.timeEnd(` > ${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `),{bundledContent:l,...e}}async function bundle(e){const t=[];for(const i of e.points){const e=await bundler(i);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const i={},a={getSourceFile:(i,a)=>{if(i===t)return typescript_1.default.createSourceFile(i,e,a)},writeFile:(e,t)=>{i[e]=t},getDefaultLibFileName:e=>typescript_1.default.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:i=>i===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:i,host:a}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.esm)}`},require:{types:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(node_process_1.default.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let i=!0;"."!==t&&(i=!1);const a=typescript_1.default.sys.resolvePath("package.json"),r=node_fs_1.default.readFileSync(a,"utf8"),s=JSON.parse(r);let{name:n,version:o,description:p,main:c,module:l,type:f,types:d,exports:u,...m}=s;f="module";let y={},_={},h={},g={};if(i)y=e.main?{main:node_path_1.default.relative(node_process_1.default.cwd(),e.main)}:{},_=e.module?{module:node_path_1.default.relative(node_process_1.default.cwd(),e.module)}:{},h=e.types?{types:node_path_1.default.relative(node_process_1.default.cwd(),e.types)}:{},g={exports:{...getExports(e,t)}};else{y=c?{main:c}:{},_=l?{module:l}:{},h=d?{types:d}:{};g={exports:{...u&&"object"==typeof u&&!Array.isArray(u)?{...u}:{},...getExports(e,t)}}}const x={name:n,version:o,description:p,type:f,...y,...h,..._,...g,...m};await utils_1.default.file.writeFile(a,JSON.stringify(x,null,2))}const resolveSourceMappingURL=(e,t,i)=>{const a=node_path_1.default.extname(e),r=node_path_1.default.basename(e).split(".")[0],s=new RegExp(`${r}.js.map`,"gm"),n=new RegExp(`${r}.d.ts.map`,"gm"),o="cjs"===i?`${r}.cjs.map`:`${r}.mjs.map`,p="cjs"===i?`${r}.d.cts.map`:`${r}.d.mts.map`;return".js"===a?t.replace(s,o):t.replace(n,p)},postProcessPluginParser=async(e,t,i)=>{if(".js"===node_path_1.default.extname(i)&&e.length)for(let a of e)a="function"==typeof a?a():a,"post-process"===a.type&&(t=a.async?await a.func(t,i):a.func(t,i));return t};class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath;console.time(` ${tcolor_1.default.cyan("Compiled commonjs")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `);const i=e.fileName,a=e.bundledContent,r=[...new Set(e.format)],s=e.tsOptions.cjs,n=createHost(a,i),o=n.createdFiles,p=n.host;typescript_1.default.createProgram([i],s,p).emit(),Object.entries(o).map(async([i,a])=>{a=await postProcessPluginParser(e.plugins,a,i),a=resolveSourceMappingURL(i,a,"cjs"),this._isUpdate()&&(i.match(/.js/g)&&(this.files.commonjs=i.replace(/.js/g,".cjs")),i.match(/.d.ts/g)&&(this.files.commonjsTypes=i.replace(/.d.ts/g,".d.cts")),t&&r.includes("commonjs")&&(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),i=(i=(i=i.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),r.includes("commonjs")&&!r.includes("esm")&&await utils_1.default.file.clearFolder(node_path_1.default.dirname(i)),await utils_1.default.file.writeFile(i,a)}),console.timeEnd(` ${tcolor_1.default.cyan("Compiled commonjs")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `)}async _esm(e){const t="."===e.exportPath;console.time(` ${tcolor_1.default.cyan("Compiled esm")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `);const i=e.fileName,a=e.bundledContent,r=e.tsOptions.esm,s=createHost(a,i),n=s.createdFiles,o=s.host;typescript_1.default.createProgram([i],r,o).emit(),Object.entries(n).map(async([i,a])=>{a=resolveSourceMappingURL(i,a,"esm"),a=await postProcessPluginParser(e.plugins,a,i),this._isUpdate()&&(i.match(/.js/g)&&(this.files.esm=i.replace(/.js/g,".mjs")),i.match(/.d.ts/g)&&(this.files.esmTypes=i.replace(/.d.ts/g,".d.mts")),t&&this.files.esm&&(this.files.module=this.files.esm)),i=(i=(i=i.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utils_1.default.file.clearFolder(node_path_1.default.dirname(i)),await utils_1.default.file.writeFile(i,a)}),console.timeEnd(` ${tcolor_1.default.cyan("Compiled esm")} -> ${tcolor_1.default.cyan(`export path(${tcolor_1.default.magenta(`"${e.exportPath}"`)})`)} `)}async compile(){for(const e of this.object.points){const t=[...new Set(e.format)];for(const i of t)switch(i){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}}}}const finalCheck=e=>{const t=e.points;for(const e of t)for(const t of e.depFiles)"cjs"===t.moduleType||".cjs"===t.fileExt?(console.error(`> ${tcolor_1.default.cyan(`Unsupported CommonJS dependency: ${tcolor_1.default.magenta(t.file)}\n To resolve that, recommend to use @suseejs/plugin-commonjs`)}`),typescript_1.default.sys.exit(1)):(t.isJsx||".jsx"===t.fileExt||".tsx"===t.fileExt)&&(console.error(`> ${tcolor_1.default.cyan(`Unsupported JSX/TSX dependency: ${tcolor_1.default.magenta(t.file)}\n That will be fix in future versions`)}`),typescript_1.default.sys.exit(1))},getPagInfo=()=>{const e=node_fs_1.default.readFileSync(node_path_1.default.resolve(node_process_1.default.cwd(),"package.json"),"utf8"),t=JSON.parse(e),i=t.name??"",a=t.version??"";let r="";return r=""!==i&&""!==a?`${i}@${a}`:""!==i&&""===a?`${i}`:""===i&&""!==a?`the project@${a}`:"the project",r};async function susee(){console.time(`susee > ${tcolor_1.default.cyan("Done in")}`);const e=getPagInfo();console.time(`susee > ${tcolor_1.default.cyan(`Initialized ${tcolor_1.default.magenta(e)}`)} `);const t=await initializer();finalCheck(t),console.timeEnd(`susee > ${tcolor_1.default.cyan(`Initialized ${tcolor_1.default.magenta(e)}`)} `);const i=await bundle(t),a=new Compiler(i);await a.compile(),console.timeEnd(`susee > ${tcolor_1.default.cyan("Done in")}`)}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|