@shellicar/build-clean 1.1.3 → 1.2.0

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.
Files changed (186) hide show
  1. package/dist/cjs/astro.cjs +1 -1
  2. package/dist/cjs/astro.cjs.map +1 -1
  3. package/dist/cjs/astro.d.cts +2 -1
  4. package/dist/cjs/{chunk-JV6XTZ6N.cjs → chunk-2PLXB54C.cjs} +1 -1
  5. package/dist/cjs/chunk-2PLXB54C.cjs.map +1 -0
  6. package/dist/cjs/{chunk-CKDUYIXO.cjs → chunk-7K4IJ5TP.cjs} +1 -1
  7. package/dist/cjs/{chunk-CKDUYIXO.cjs.map → chunk-7K4IJ5TP.cjs.map} +1 -1
  8. package/dist/cjs/chunk-BQFECWOC.cjs +1 -0
  9. package/dist/cjs/chunk-BQFECWOC.cjs.map +1 -0
  10. package/dist/cjs/chunk-CZL5DHGR.cjs +1 -0
  11. package/dist/cjs/chunk-CZL5DHGR.cjs.map +1 -0
  12. package/dist/cjs/chunk-ENI25Z4X.cjs +1 -0
  13. package/dist/cjs/chunk-ENI25Z4X.cjs.map +1 -0
  14. package/dist/cjs/chunk-JLLRUY3K.cjs +1 -0
  15. package/dist/cjs/chunk-JLLRUY3K.cjs.map +1 -0
  16. package/dist/cjs/chunk-LCHUL6MZ.cjs +1 -0
  17. package/dist/cjs/chunk-LCHUL6MZ.cjs.map +1 -0
  18. package/dist/cjs/chunk-N7VWV6HY.cjs +1 -0
  19. package/dist/cjs/chunk-N7VWV6HY.cjs.map +1 -0
  20. package/dist/cjs/{chunk-JAUU4VPS.cjs → chunk-RLTXHBBD.cjs} +1 -1
  21. package/dist/cjs/{chunk-JAUU4VPS.cjs.map → chunk-RLTXHBBD.cjs.map} +1 -1
  22. package/dist/cjs/chunk-SWNLKPG7.cjs +1 -0
  23. package/dist/cjs/chunk-SWNLKPG7.cjs.map +1 -0
  24. package/dist/cjs/chunk-Y63O5TTS.cjs +1 -0
  25. package/dist/cjs/chunk-Y63O5TTS.cjs.map +1 -0
  26. package/dist/cjs/core/cleanUnusedFiles.cjs +1 -1
  27. package/dist/cjs/core/cleanUnusedFiles.d.cts +4 -2
  28. package/dist/cjs/core/createLogger.cjs +1 -1
  29. package/dist/cjs/core/createLogger.d.cts +9 -3
  30. package/dist/cjs/core/defaultOptions.cjs +1 -0
  31. package/dist/{esm/core/defaults.js.map → cjs/core/defaultOptions.cjs.map} +1 -1
  32. package/dist/cjs/core/defaultOptions.d.cts +10 -0
  33. package/dist/cjs/core/deleteFile.cjs +1 -1
  34. package/dist/cjs/core/deleteFile.d.cts +2 -1
  35. package/dist/cjs/core/getAllFiles.cjs +1 -1
  36. package/dist/cjs/core/getAllFiles.d.cts +2 -1
  37. package/dist/cjs/core/plugin.cjs +1 -0
  38. package/dist/cjs/core/plugin.cjs.map +1 -0
  39. package/dist/{esm/core/index.d.ts → cjs/core/plugin.d.cts} +2 -1
  40. package/dist/cjs/core/pluginFactory.cjs +1 -0
  41. package/dist/cjs/core/pluginFactory.cjs.map +1 -0
  42. package/dist/cjs/core/pluginFactory.d.cts +7 -0
  43. package/dist/cjs/core/removeEmptyDirs.cjs +1 -0
  44. package/dist/cjs/core/removeEmptyDirs.cjs.map +1 -0
  45. package/dist/cjs/core/removeEmptyDirs.d.cts +7 -0
  46. package/dist/cjs/core/resolveOptions.cjs +1 -0
  47. package/dist/cjs/core/resolveOptions.cjs.map +1 -0
  48. package/dist/cjs/core/resolveOptions.d.cts +7 -0
  49. package/dist/cjs/core/types.d.cts +9 -12
  50. package/dist/cjs/core/validateOutDir.cjs +1 -1
  51. package/dist/cjs/core/validateOutDir.d.cts +2 -1
  52. package/dist/cjs/enums.cjs +1 -0
  53. package/dist/cjs/enums.cjs.map +1 -0
  54. package/dist/cjs/enums.d.cts +8 -0
  55. package/dist/cjs/esbuild.cjs +1 -1
  56. package/dist/cjs/esbuild.cjs.map +1 -1
  57. package/dist/cjs/esbuild.d.cts +2 -1
  58. package/dist/cjs/farm.cjs +1 -1
  59. package/dist/cjs/farm.cjs.map +1 -1
  60. package/dist/cjs/farm.d.cts +2 -1
  61. package/dist/cjs/index.cjs +1 -1
  62. package/dist/cjs/index.d.cts +3 -2
  63. package/dist/cjs/nuxt.cjs +1 -1
  64. package/dist/cjs/nuxt.cjs.map +1 -1
  65. package/dist/cjs/nuxt.d.cts +2 -1
  66. package/dist/cjs/rollup.cjs +1 -1
  67. package/dist/cjs/rollup.cjs.map +1 -1
  68. package/dist/cjs/rollup.d.cts +2 -1
  69. package/dist/cjs/rspack.cjs +1 -1
  70. package/dist/cjs/rspack.cjs.map +1 -1
  71. package/dist/cjs/rspack.d.cts +2 -1
  72. package/dist/cjs/types.cjs +1 -1
  73. package/dist/cjs/types.d.cts +37 -1
  74. package/dist/cjs/vite.cjs +1 -1
  75. package/dist/cjs/vite.cjs.map +1 -1
  76. package/dist/cjs/vite.d.cts +2 -1
  77. package/dist/cjs/webpack.cjs +1 -1
  78. package/dist/cjs/webpack.cjs.map +1 -1
  79. package/dist/cjs/webpack.d.cts +2 -1
  80. package/dist/esm/astro.d.ts +2 -1
  81. package/dist/esm/astro.js +1 -1
  82. package/dist/esm/astro.js.map +1 -1
  83. package/dist/esm/chunk-5LWBSAKY.js +1 -0
  84. package/dist/esm/chunk-5LWBSAKY.js.map +1 -0
  85. package/dist/esm/{chunk-PVPUCTHV.js → chunk-6NT4DRFU.js} +1 -1
  86. package/dist/esm/chunk-6NT4DRFU.js.map +1 -0
  87. package/dist/esm/chunk-ACT7JHIR.js +1 -0
  88. package/dist/esm/chunk-ACT7JHIR.js.map +1 -0
  89. package/dist/esm/{chunk-NTAOZL73.js → chunk-DYDVEZX2.js} +1 -1
  90. package/dist/esm/{chunk-NTAOZL73.js.map → chunk-DYDVEZX2.js.map} +1 -1
  91. package/dist/esm/chunk-F4MLQCW3.js +1 -0
  92. package/dist/esm/chunk-F4MLQCW3.js.map +1 -0
  93. package/dist/esm/{chunk-XOQVNVZN.js → chunk-LUFDKQE7.js} +1 -1
  94. package/dist/esm/chunk-LUFDKQE7.js.map +1 -0
  95. package/dist/esm/chunk-ML4PEJLI.js +1 -0
  96. package/dist/esm/chunk-ML4PEJLI.js.map +1 -0
  97. package/dist/esm/chunk-QJ44JKA6.js +1 -0
  98. package/dist/esm/chunk-QJ44JKA6.js.map +1 -0
  99. package/dist/esm/chunk-UWCFV5EB.js +1 -0
  100. package/dist/esm/chunk-UWCFV5EB.js.map +1 -0
  101. package/dist/esm/chunk-W3LJ6ZCV.js +1 -0
  102. package/dist/esm/chunk-W3LJ6ZCV.js.map +1 -0
  103. package/dist/esm/chunk-YAFL67PE.js +1 -0
  104. package/dist/esm/chunk-YAFL67PE.js.map +1 -0
  105. package/dist/esm/core/cleanUnusedFiles.d.ts +4 -2
  106. package/dist/esm/core/cleanUnusedFiles.js +1 -1
  107. package/dist/esm/core/createLogger.d.ts +9 -3
  108. package/dist/esm/core/createLogger.js +1 -1
  109. package/dist/esm/core/defaultOptions.d.ts +10 -0
  110. package/dist/esm/core/defaultOptions.js +1 -0
  111. package/dist/{cjs/core/defaults.cjs.map → esm/core/defaultOptions.js.map} +1 -1
  112. package/dist/esm/core/deleteFile.d.ts +2 -1
  113. package/dist/esm/core/deleteFile.js +1 -1
  114. package/dist/esm/core/getAllFiles.d.ts +2 -1
  115. package/dist/esm/core/getAllFiles.js +1 -1
  116. package/dist/{cjs/core/index.d.cts → esm/core/plugin.d.ts} +2 -1
  117. package/dist/esm/core/plugin.js +1 -0
  118. package/dist/esm/core/plugin.js.map +1 -0
  119. package/dist/esm/core/pluginFactory.d.ts +7 -0
  120. package/dist/esm/core/pluginFactory.js +1 -0
  121. package/dist/esm/core/pluginFactory.js.map +1 -0
  122. package/dist/esm/core/removeEmptyDirs.d.ts +7 -0
  123. package/dist/esm/core/removeEmptyDirs.js +1 -0
  124. package/dist/esm/core/removeEmptyDirs.js.map +1 -0
  125. package/dist/esm/core/resolveOptions.d.ts +7 -0
  126. package/dist/esm/core/resolveOptions.js +1 -0
  127. package/dist/esm/core/resolveOptions.js.map +1 -0
  128. package/dist/esm/core/types.d.ts +9 -12
  129. package/dist/esm/core/validateOutDir.d.ts +2 -1
  130. package/dist/esm/core/validateOutDir.js +1 -1
  131. package/dist/esm/enums.d.ts +8 -0
  132. package/dist/esm/enums.js +1 -0
  133. package/dist/esm/enums.js.map +1 -0
  134. package/dist/esm/esbuild.d.ts +2 -1
  135. package/dist/esm/esbuild.js +1 -1
  136. package/dist/esm/esbuild.js.map +1 -1
  137. package/dist/esm/farm.d.ts +2 -1
  138. package/dist/esm/farm.js +1 -1
  139. package/dist/esm/farm.js.map +1 -1
  140. package/dist/esm/index.d.ts +3 -2
  141. package/dist/esm/index.js +1 -1
  142. package/dist/esm/nuxt.d.ts +2 -1
  143. package/dist/esm/nuxt.js +1 -1
  144. package/dist/esm/nuxt.js.map +1 -1
  145. package/dist/esm/rollup.d.ts +2 -1
  146. package/dist/esm/rollup.js +1 -1
  147. package/dist/esm/rollup.js.map +1 -1
  148. package/dist/esm/rspack.d.ts +2 -1
  149. package/dist/esm/rspack.js +1 -1
  150. package/dist/esm/rspack.js.map +1 -1
  151. package/dist/esm/types.d.ts +37 -1
  152. package/dist/esm/types.js +1 -1
  153. package/dist/esm/vite.d.ts +2 -1
  154. package/dist/esm/vite.js +1 -1
  155. package/dist/esm/vite.js.map +1 -1
  156. package/dist/esm/webpack.d.ts +2 -1
  157. package/dist/esm/webpack.js +1 -1
  158. package/dist/esm/webpack.js.map +1 -1
  159. package/package.json +1 -1
  160. package/dist/cjs/chunk-FD3CZK4P.cjs +0 -1
  161. package/dist/cjs/chunk-FD3CZK4P.cjs.map +0 -1
  162. package/dist/cjs/chunk-JV6XTZ6N.cjs.map +0 -1
  163. package/dist/cjs/chunk-OBABVT2T.cjs +0 -1
  164. package/dist/cjs/chunk-OBABVT2T.cjs.map +0 -1
  165. package/dist/cjs/chunk-R3PK3BJI.cjs +0 -1
  166. package/dist/cjs/chunk-R3PK3BJI.cjs.map +0 -1
  167. package/dist/cjs/chunk-SZJPBNRD.cjs +0 -1
  168. package/dist/cjs/chunk-SZJPBNRD.cjs.map +0 -1
  169. package/dist/cjs/core/defaults.cjs +0 -1
  170. package/dist/cjs/core/defaults.d.cts +0 -7
  171. package/dist/cjs/core/index.cjs +0 -1
  172. package/dist/cjs/core/index.cjs.map +0 -1
  173. package/dist/esm/chunk-3LEFYRZW.js +0 -1
  174. package/dist/esm/chunk-3LEFYRZW.js.map +0 -1
  175. package/dist/esm/chunk-4WDU3YKC.js +0 -1
  176. package/dist/esm/chunk-4WDU3YKC.js.map +0 -1
  177. package/dist/esm/chunk-M6I5B37D.js +0 -1
  178. package/dist/esm/chunk-M6I5B37D.js.map +0 -1
  179. package/dist/esm/chunk-NSB257RH.js +0 -1
  180. package/dist/esm/chunk-NSB257RH.js.map +0 -1
  181. package/dist/esm/chunk-PVPUCTHV.js.map +0 -1
  182. package/dist/esm/chunk-XOQVNVZN.js.map +0 -1
  183. package/dist/esm/core/defaults.d.ts +0 -7
  184. package/dist/esm/core/defaults.js +0 -1
  185. package/dist/esm/core/index.js +0 -1
  186. package/dist/esm/core/index.js.map +0 -1
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs");var u=require("./chunk-PK6SKIKE.cjs"),c=u.__name(c=>({name:"build-clean",hooks:{"astro:config:setup":u.__name(async u=>{u.config.vite.plugins||=[],u.config.vite.plugins.push(e.plugin.vite(c))},"astro:config:setup")}}),"default");module.exports=c;//# sourceMappingURL=astro.cjs.map
1
+ "use strict";var e=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs");var u=require("./chunk-PK6SKIKE.cjs"),c=u.__name(c=>({name:"build-clean",hooks:{"astro:config:setup":u.__name(async u=>{u.config.vite.plugins||=[],u.config.vite.plugins.push(e.plugin.vite(c))},"astro:config:setup")}}),"default");module.exports=c;//# sourceMappingURL=astro.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/astro.ts"],"names":["plugin"],"mappings":";AAGA,IAAO,aAAA,6CAAS,OAAA,MAA2B;AAAA,EACzC,IAAA,EAAM,aAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,oBAAA,kDAA6B,KAAA,KAAe;AAC1C,MAAA,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA,KAAY,EAAC;AAC/B,MAAA,KAAA,CAAM,OAAO,IAAA,CAAK,OAAA,CAAQ,KAAKA,wBAAA,CAAO,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,IACrD,CAAA,EAHsB,oBAAA;AAAA;AAK1B,CAAA,CAAA,EARe,SAAA","file":"astro.cjs","sourcesContent":["import { plugin } from './core';\nimport type { Options } from './core/types';\n\nexport default (options: Options): any => ({\n name: 'build-clean',\n hooks: {\n 'astro:config:setup': async (astro: any) => {\n astro.config.vite.plugins ||= [];\n astro.config.vite.plugins.push(plugin.vite(options));\n },\n },\n});\n"]}
1
+ {"version":3,"sources":["../../src/astro.ts"],"names":["plugin"],"mappings":";AAGA,IAAO,aAAA,6CAAS,OAAA,MAA2B;AAAA,EACzC,IAAA,EAAM,aAAA;AAAA,EACN,KAAA,EAAO;AAAA,IACL,oBAAA,kDAA6B,KAAA,KAAe;AAC1C,MAAA,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA,KAAY,EAAC;AAC/B,MAAA,KAAA,CAAM,OAAO,IAAA,CAAK,OAAA,CAAQ,KAAKA,wBAAA,CAAO,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,IACrD,CAAA,EAHsB,oBAAA;AAAA;AAK1B,CAAA,CAAA,EARe,SAAA","file":"astro.cjs","sourcesContent":["import { plugin } from './core/plugin';\nimport type { Options } from './types';\n\nexport default (options: Options): any => ({\n name: 'build-clean',\n hooks: {\n 'astro:config:setup': async (astro: any) => {\n astro.config.vite.plugins ||= [];\n astro.config.vite.plugins.push(plugin.vite(options));\n },\n },\n});\n"]}
@@ -1,4 +1,5 @@
1
- import { Options } from './core/types.cjs';
1
+ import { Options } from './types.cjs';
2
+ import './enums.cjs';
2
3
 
3
4
  declare const _default: (options: Options) => any;
4
5
 
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-PK6SKIKE.cjs"),r=require("node:path"),t=e.__name((e,t)=>{const o=process.cwd(),s=r.resolve(e),i=r.relative(o,s),a=e.replace(/\\/g,"/"),c=r.resolve(e)!==r.resolve(o,e),u=s===o,d=o.startsWith(`${s}/`),n=o.startsWith(`${s}\\`),l=d||n,b=i.startsWith("..");if(t.verbose("Path validation:"),t.verbose(` Input: "${e}"`),t.verbose(` Current working directory: "${o}"`),t.verbose(` Resolved output directory: "${s}"`),t.verbose(` Relative path from cwd: "${i}"`),t.verbose(` Normalized path: "${a}"`),t.verbose(` Is absolute path outside project: ${c}`),t.verbose(` Is same as current directory: ${u}`),t.verbose(` Is parent of current directory (Unix): ${d}`),t.verbose(` Is parent of current directory (Windows): ${n}`),t.verbose(` Is parent of current directory: ${l}`),t.verbose(` Goes up directory levels: ${b}`),u)throw new Error(`[build-cleaner] Refusing to clean current directory: "${e}". Use a subdirectory like "dist" or "build".`);if(l)throw new Error(`[build-cleaner] Refusing to clean parent directory: "${e}". This would delete the current project.`);if(b)throw new Error(`[build-cleaner] Refusing to clean directory outside project: "${e}". Use a subdirectory like "dist" or "build".`);if(c)throw new Error(`[build-cleaner] Refusing to clean absolute path outside project: "${e}". Use a relative subdirectory.`);if(["src","source","lib","app","components","pages","routes"].some(e=>a===e||a.endsWith(`/${e}`)))throw new Error(`[build-cleaner] Refusing to clean source directory: "${e}". Use a build output directory like "dist" or "build".`);t.debug(`Validated output directory: "${e}" -> "${s}"`)},"validateOutDir");exports.validateOutDir=t;//# sourceMappingURL=chunk-JV6XTZ6N.cjs.map
1
+ "use strict";var e=require("./chunk-PK6SKIKE.cjs"),r=require("node:path"),t=e.__name((e,t)=>{const o=process.cwd(),s=r.resolve(e),i=r.relative(o,s),a=e.replace(/\\/g,"/"),c=r.resolve(e)!==r.resolve(o,e),u=s===o,d=o.startsWith(`${s}/`),n=o.startsWith(`${s}\\`),l=d||n,b=i.startsWith("..");if(t.verbose("Path validation:"),t.verbose(` Input: "${e}"`),t.verbose(` Current working directory: "${o}"`),t.verbose(` Resolved output directory: "${s}"`),t.verbose(` Relative path from cwd: "${i}"`),t.verbose(` Normalized path: "${a}"`),t.verbose(` Is absolute path outside project: ${c}`),t.verbose(` Is same as current directory: ${u}`),t.verbose(` Is parent of current directory (Unix): ${d}`),t.verbose(` Is parent of current directory (Windows): ${n}`),t.verbose(` Is parent of current directory: ${l}`),t.verbose(` Goes up directory levels: ${b}`),u)throw new Error(`[build-cleaner] Refusing to clean current directory: "${e}". Use a subdirectory like "dist" or "build".`);if(l)throw new Error(`[build-cleaner] Refusing to clean parent directory: "${e}". This would delete the current project.`);if(b)throw new Error(`[build-cleaner] Refusing to clean directory outside project: "${e}". Use a subdirectory like "dist" or "build".`);if(c)throw new Error(`[build-cleaner] Refusing to clean absolute path outside project: "${e}". Use a relative subdirectory.`);if(["src","source","lib","app","components","pages","routes"].some(e=>a===e||a.endsWith(`/${e}`)))throw new Error(`[build-cleaner] Refusing to clean source directory: "${e}". Use a build output directory like "dist" or "build".`);t.debug(`Validated output directory: "${e}" -> "${s}"`)},"validateOutDir");exports.validateOutDir=t;//# sourceMappingURL=chunk-2PLXB54C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/validateOutDir.ts"],"names":["__name","resolve","relative"],"mappings":"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","file":"chunk-2PLXB54C.cjs","sourcesContent":["import { relative, resolve } from 'node:path';\nimport type { ILogger } from '../types';\n\nexport const validateOutDir = (outDir: string, logger: ILogger) => {\n const cwd = process.cwd();\n const resolvedOutDir = resolve(outDir);\n const relativePath = relative(cwd, resolvedOutDir);\n const normalizedPath = outDir.replace(/\\\\/g, '/');\n const isAbsolutePath = resolve(outDir) !== resolve(cwd, outDir);\n const isSameAsCurrentDir = resolvedOutDir === cwd;\n const isParentOfCurrentDirUnix = cwd.startsWith(`${resolvedOutDir}/`);\n const isParentOfCurrentDirWindows = cwd.startsWith(`${resolvedOutDir}\\\\`);\n const isParentOfCurrentDir = isParentOfCurrentDirUnix || isParentOfCurrentDirWindows;\n const goesUpDirectory = relativePath.startsWith('..');\n\n logger.verbose('Path validation:');\n logger.verbose(` Input: \"${outDir}\"`);\n logger.verbose(` Current working directory: \"${cwd}\"`);\n logger.verbose(` Resolved output directory: \"${resolvedOutDir}\"`);\n logger.verbose(` Relative path from cwd: \"${relativePath}\"`);\n logger.verbose(` Normalized path: \"${normalizedPath}\"`);\n logger.verbose(` Is absolute path outside project: ${isAbsolutePath}`);\n logger.verbose(` Is same as current directory: ${isSameAsCurrentDir}`);\n logger.verbose(` Is parent of current directory (Unix): ${isParentOfCurrentDirUnix}`);\n logger.verbose(` Is parent of current directory (Windows): ${isParentOfCurrentDirWindows}`);\n logger.verbose(` Is parent of current directory: ${isParentOfCurrentDir}`);\n logger.verbose(` Goes up directory levels: ${goesUpDirectory}`);\n\n // Check if the resolved path is the same as current directory\n if (isSameAsCurrentDir) {\n throw new Error(`[build-cleaner] Refusing to clean current directory: \"${outDir}\". Use a subdirectory like \"dist\" or \"build\".`);\n }\n\n // Check if the resolved path is a parent of current directory\n if (isParentOfCurrentDir) {\n throw new Error(`[build-cleaner] Refusing to clean parent directory: \"${outDir}\". This would delete the current project.`);\n }\n\n // Check if the relative path goes up (.., ../.., etc.)\n if (goesUpDirectory) {\n throw new Error(`[build-cleaner] Refusing to clean directory outside project: \"${outDir}\". Use a subdirectory like \"dist\" or \"build\".`);\n }\n\n // Check if it's an absolute path outside the project\n if (isAbsolutePath) {\n throw new Error(`[build-cleaner] Refusing to clean absolute path outside project: \"${outDir}\". Use a relative subdirectory.`);\n }\n\n // Prevent cleaning common source directories (even as subdirectories)\n const dangerousPaths = ['src', 'source', 'lib', 'app', 'components', 'pages', 'routes'];\n const isDangerousPath = dangerousPaths.some((dangerous) => normalizedPath === dangerous || normalizedPath.endsWith(`/${dangerous}`));\n\n if (isDangerousPath) {\n throw new Error(`[build-cleaner] Refusing to clean source directory: \"${outDir}\". Use a build output directory like \"dist\" or \"build\".`);\n }\n\n logger.debug(`Validated output directory: \"${outDir}\" -> \"${resolvedOutDir}\"`);\n};\n"]}
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-PK6SKIKE.cjs"),r=require("node:fs/promises"),n=require("node:path");async function o(e,s){const i=[];try{s.verbose(`Reading directory: "${e}"`);const t=await r.readdir(e,{withFileTypes:!0});s.verbose(`Found ${t.length} entries in "${e}"`);for(const r of t){const t=n.join(e,r.name);if(r.isDirectory()){s.verbose(`Recursing into subdirectory: "${r.name}"`);const e=await o(t,s);i.push(...e)}else i.push(t),s.verbose(`Found file: "${r.name}"`)}}catch(r){s.debug(`Could not read directory "${e}":`,r)}return s.verbose(`Total files found in "${e}": ${i.length}`),i}e.__name(o,"getAllFiles"),exports.getAllFiles=o;//# sourceMappingURL=chunk-CKDUYIXO.cjs.map
1
+ "use strict";var e=require("./chunk-PK6SKIKE.cjs"),r=require("node:fs/promises"),n=require("node:path");async function o(e,s){const i=[];try{s.verbose(`Reading directory: "${e}"`);const t=await r.readdir(e,{withFileTypes:!0});s.verbose(`Found ${t.length} entries in "${e}"`);for(const r of t){const t=n.join(e,r.name);if(r.isDirectory()){s.verbose(`Recursing into subdirectory: "${r.name}"`);const e=await o(t,s);i.push(...e)}else i.push(t),s.verbose(`Found file: "${r.name}"`)}}catch(r){s.debug(`Could not read directory "${e}":`,r)}return s.verbose(`Total files found in "${e}": ${i.length}`),i}e.__name(o,"getAllFiles"),exports.getAllFiles=o;//# sourceMappingURL=chunk-7K4IJ5TP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/getAllFiles.ts"],"names":["readdir","join","__name"],"mappings":"uIAIA,eAAsB,WAAA,CAAY,KAAa,MAAA,EAAoC;AACjF,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI;AACF,IAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,oBAAA,EAAuB,GAAG,CAAA,CAAA,CAAG,CAAA;AAC5C,IAAA,MAAM,UAAU,MAAMA,gBAAA,CAAQ,KAAK,EAAE,aAAA,EAAe,MAAM,CAAA;AAC1D,IAAA,MAAA,CAAO,QAAQ,CAAA,MAAA,EAAS,OAAA,CAAQ,MAAM,CAAA,aAAA,EAAgB,GAAG,CAAA,CAAA,CAAG,CAAA;AAE5D,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,GAAA,EAAK,KAAA,CAAM,IAAI,CAAA;AACrC,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACvB,QAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,8BAAA,EAAiC,KAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA;AAC7D,QAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,QAAA,EAAU,MAAM,CAAA;AACnD,QAAA,KAAA,CAAM,IAAA,CAAK,GAAG,QAAQ,CAAA;AAAA,MACxB,CAAA,MAAO;AACL,QAAA,KAAA,CAAM,KAAK,QAAQ,CAAA;AACnB,QAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,aAAA,EAAgB,KAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA;AAAA,MAC9C;AAAA,IACF;AAAA,EACF,SAAS,KAAA,EAAO;AAEd,IAAA,MAAA,CAAO,KAAA,CAAM,CAAA,0BAAA,EAA6B,GAAG,CAAA,EAAA,CAAA,EAAM,KAAK,CAAA;AAAA,EAC1D;AAEA,EAAA,MAAA,CAAO,QAAQ,CAAA,sBAAA,EAAyB,GAAG,CAAA,GAAA,EAAM,KAAA,CAAM,MAAM,CAAA,CAAE,CAAA;AAC/D,EAAA,OAAO,KAAA;AACT;AA1BsBC,wBAAA,CAAA,WAAA,EAAA,aAAA,CAAA","file":"chunk-CKDUYIXO.cjs","sourcesContent":["import { readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { ILogger } from './types';\n\nexport async function getAllFiles(dir: string, logger: ILogger): Promise<string[]> {\n const files: string[] = [];\n\n try {\n logger.verbose(`Reading directory: \"${dir}\"`);\n const entries = await readdir(dir, { withFileTypes: true });\n logger.verbose(`Found ${entries.length} entries in \"${dir}\"`);\n\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n logger.verbose(`Recursing into subdirectory: \"${entry.name}\"`);\n const subFiles = await getAllFiles(fullPath, logger);\n files.push(...subFiles);\n } else {\n files.push(fullPath);\n logger.verbose(`Found file: \"${entry.name}\"`);\n }\n }\n } catch (error) {\n // Directory might not exist yet\n logger.debug(`Could not read directory \"${dir}\":`, error);\n }\n\n logger.verbose(`Total files found in \"${dir}\": ${files.length}`);\n return files;\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/getAllFiles.ts"],"names":["readdir","join","__name"],"mappings":"uIAIA,eAAsB,WAAA,CAAY,KAAa,MAAA,EAAoC;AACjF,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI;AACF,IAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,oBAAA,EAAuB,GAAG,CAAA,CAAA,CAAG,CAAA;AAC5C,IAAA,MAAM,UAAU,MAAMA,gBAAA,CAAQ,KAAK,EAAE,aAAA,EAAe,MAAM,CAAA;AAC1D,IAAA,MAAA,CAAO,QAAQ,CAAA,MAAA,EAAS,OAAA,CAAQ,MAAM,CAAA,aAAA,EAAgB,GAAG,CAAA,CAAA,CAAG,CAAA;AAE5D,IAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,MAAA,MAAM,QAAA,GAAWC,cAAA,CAAK,GAAA,EAAK,KAAA,CAAM,IAAI,CAAA;AACrC,MAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACvB,QAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,8BAAA,EAAiC,KAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA;AAC7D,QAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,QAAA,EAAU,MAAM,CAAA;AACnD,QAAA,KAAA,CAAM,IAAA,CAAK,GAAG,QAAQ,CAAA;AAAA,MACxB,CAAA,MAAO;AACL,QAAA,KAAA,CAAM,KAAK,QAAQ,CAAA;AACnB,QAAA,MAAA,CAAO,OAAA,CAAQ,CAAA,aAAA,EAAgB,KAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA;AAAA,MAC9C;AAAA,IACF;AAAA,EACF,SAAS,KAAA,EAAO;AAEd,IAAA,MAAA,CAAO,KAAA,CAAM,CAAA,0BAAA,EAA6B,GAAG,CAAA,EAAA,CAAA,EAAM,KAAK,CAAA;AAAA,EAC1D;AAEA,EAAA,MAAA,CAAO,QAAQ,CAAA,sBAAA,EAAyB,GAAG,CAAA,GAAA,EAAM,KAAA,CAAM,MAAM,CAAA,CAAE,CAAA;AAC/D,EAAA,OAAO,KAAA;AACT;AA1BsBC,wBAAA,CAAA,WAAA,EAAA,aAAA,CAAA","file":"chunk-7K4IJ5TP.cjs","sourcesContent":["import { readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { ILogger } from '../types';\n\nexport async function getAllFiles(dir: string, logger: ILogger): Promise<string[]> {\n const files: string[] = [];\n\n try {\n logger.verbose(`Reading directory: \"${dir}\"`);\n const entries = await readdir(dir, { withFileTypes: true });\n logger.verbose(`Found ${entries.length} entries in \"${dir}\"`);\n\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n logger.verbose(`Recursing into subdirectory: \"${entry.name}\"`);\n const subFiles = await getAllFiles(fullPath, logger);\n files.push(...subFiles);\n } else {\n files.push(fullPath);\n logger.verbose(`Found file: \"${entry.name}\"`);\n }\n }\n } catch (error) {\n // Directory might not exist yet\n logger.debug(`Could not read directory \"${dir}\":`, error);\n }\n\n logger.verbose(`Total files found in \"${dir}\": ${files.length}`);\n return files;\n}\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./chunk-LCHUL6MZ.cjs"),r=require("./chunk-SWNLKPG7.cjs"),s=require("./chunk-PK6SKIKE.cjs").__name(s=>{const u={...r.defaultOptions,...s,features:{...r.defaultOptions.features,...s.features}};return{...u,logger:s.logger??e.createLogger({prefix:"build-cleaner",debug:u.debug,verbose:u.verbose})}},"resolveOptions");exports.resolveOptions=s;//# sourceMappingURL=chunk-BQFECWOC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/resolveOptions.ts"],"names":["defaultOptions","createLogger"],"mappings":";AAKO,IAAM,cAAA,6CAAkB,YAAA,KAA2C;AACxE,EAAA,MAAM,IAAA,GAAO;AAAA,IACX,GAAGA,gCAAA;AAAA,IACH,GAAG,YAAA;AAAA,IACH,QAAA,EAAU;AAAA,MACR,GAAGA,gCAAA,CAAe,QAAA;AAAA,MAClB,GAAG,YAAA,CAAa;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,GAAG,IAAA;AAAA,IACH,MAAA,EAAQ,YAAA,CAAa,MAAA,IAAUC,8BAAA,CAAa,EAAE,MAAA,EAAQ,eAAA,EAAiB,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS,IAAA,CAAK,SAAS;AAAA,GACnH;AAEA,EAAA,OAAO,OAAA;AACT,CAAA,EAhB8B,gBAAA","file":"chunk-BQFECWOC.cjs","sourcesContent":["import type { Options } from '../types';\nimport { createLogger } from './createLogger';\nimport { defaultOptions } from './defaultOptions';\nimport type { ResolvedOptions } from './types';\n\nexport const resolveOptions = (inputOptions: Options): ResolvedOptions => {\n const base = {\n ...defaultOptions,\n ...inputOptions,\n features: {\n ...defaultOptions.features,\n ...inputOptions.features,\n },\n };\n\n const options = {\n ...base,\n logger: inputOptions.logger ?? createLogger({ prefix: 'build-cleaner', debug: base.debug, verbose: base.verbose }),\n } satisfies ResolvedOptions;\n\n return options;\n};\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e=(e=>(e.RemoveEmptyDirs="REMOVE_EMPTY_DIRS",e))(e||{});exports.Feature=e;//# sourceMappingURL=chunk-CZL5DHGR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/enums.ts"],"names":["Feature"],"mappings":";AAAO,IAAK,OAAA,qBAAAA,QAAAA,KAAL;AAIL,EAAAA,SAAA,iBAAA,CAAA,GAAkB,mBAAA;AAJR,EAAA,OAAAA,QAAAA;AAAA,CAAA,EAAA,OAAA,IAAA,EAAA","file":"chunk-CZL5DHGR.cjs","sourcesContent":["export enum Feature {\n /**\n * Enables removal of empty directories after cleaning unused files.\n */\n RemoveEmptyDirs = 'REMOVE_EMPTY_DIRS',\n}\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var r=require("./chunk-PK6SKIKE.cjs"),e=require("node:fs/promises"),t=require("node:path"),i=r.__name(async(r,n)=>{const{logger:o}=n,s=await a(r,o);for(const e of s)e.isDirectory()&&await i(t.join(r,e.name),n);return!((await e.readdir(r)).length>0)&&(o.info(`Removing empty directory: "${r}"`),n.destructive&&await e.rmdir(r),!0)},"removeEmptyDirs"),a=r.__name(async(r,t)=>{try{return await e.readdir(r,{withFileTypes:!0})}catch(r){return t.error("Error reading directory:",r),[]}},"getEntries");exports.removeEmptyDirs=i;//# sourceMappingURL=chunk-ENI25Z4X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/removeEmptyDirs.ts"],"names":["__name","join","readdir","rmdir"],"mappings":"uIAMO,IAAM,eAAA,mBAAkBA,wBAAA,CAAA,OAAO,GAAA,EAAa,OAAA,KAA+C;AAChG,EAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,EAAA,MAAM,OAAA,GAAU,MAAM,UAAA,CAAW,GAAA,EAAK,MAAM,CAAA;AAC5C,EAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,IAAA,IAAI,KAAA,CAAM,aAAY,EAAG;AACvB,MAAA,MAAM,gBAAgBC,cAAA,CAAK,GAAA,EAAK,KAAA,CAAM,IAAI,GAAG,OAAO,CAAA;AAAA,IACtD;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,MAAMC,gBAAA,CAAQ,GAAG,CAAA;AACnC,EAAA,IAAI,SAAA,CAAU,SAAS,CAAA,EAAG;AACxB,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAA,CAAO,IAAA,CAAK,CAAA,2BAAA,EAA8B,GAAG,CAAA,CAAA,CAAG,CAAA;AAChD,EAAA,IAAI,QAAQ,WAAA,EAAa;AACvB,IAAA,MAAMC,eAAM,GAAG,CAAA;AAAA,EACjB;AACA,EAAA,OAAO,IAAA;AACT,CAAA,EAnB+B,iBAAA;AAqB/B,IAAM,UAAA,mBAAaH,wBAAA,CAAA,OAAO,GAAA,EAAa,MAAA,KAA+C;AACpF,EAAA,IAAI;AACF,IAAA,OAAO,MAAME,gBAAA,CAAQ,GAAA,EAAK,EAAE,aAAA,EAAe,MAAM,CAAA;AAAA,EACnD,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,CAAO,KAAA,CAAM,4BAA4B,KAAK,CAAA;AAC9C,IAAA,OAAO,EAAC;AAAA,EACV;AACF,CAAA,EAPmB,YAAA,CAAA","file":"chunk-ENI25Z4X.cjs","sourcesContent":["import type { Dirent } from 'node:fs';\nimport { readdir, rmdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { ILogger } from '../types';\nimport type { ResolvedOptions } from './types';\n\nexport const removeEmptyDirs = async (dir: string, options: ResolvedOptions): Promise<boolean> => {\n const { logger } = options;\n const entries = await getEntries(dir, logger);\n for (const entry of entries) {\n if (entry.isDirectory()) {\n await removeEmptyDirs(join(dir, entry.name), options);\n }\n }\n\n const remaining = await readdir(dir);\n if (remaining.length > 0) {\n return false;\n }\n\n logger.info(`Removing empty directory: \"${dir}\"`);\n if (options.destructive) {\n await rmdir(dir);\n }\n return true;\n};\n\nconst getEntries = async (dir: string, logger: ILogger): Promise<Dirent<string>[]> => {\n try {\n return await readdir(dir, { withFileTypes: true });\n } catch (error) {\n logger.error('Error reading directory:', error);\n return [];\n }\n};\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./chunk-BQFECWOC.cjs"),i=require("./chunk-N7VWV6HY.cjs"),t=require("./chunk-PK6SKIKE.cjs").__name((t={})=>{const n=e.resolveOptions(t),{logger:r}=n;return{name:"@shellicar/build-clean",enforce:"post",esbuild:{setup(e){e.initialOptions.metafile=!0,e.onEnd(async t=>{r.debug("Build completed, starting cleanup process");const l=e.initialOptions.outdir;if(!l)throw new Error("[build-cleaner] No output directory specified in build options");if(!t.metafile)throw new Error("[build-cleaner] No metafile available - ensure metafile is enabled");const o=new Set(Object.keys(t.metafile.outputs));r.debug(`Found ${o.size} built files in metafile for directory: "${l}"`),await i.cleanUnusedFiles(l,o,n)})}}}},"pluginFactory");exports.pluginFactory=t;//# sourceMappingURL=chunk-JLLRUY3K.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/pluginFactory.ts"],"names":["__name","resolveOptions","cleanUnusedFiles"],"mappings":";AAKO,IAAM,aAAA,mBAAsDA,wBAAA,CAAA,CAAC,cAAA,GAA0B,EAAC,KAAM;AACnG,EAAA,MAAM,OAAA,GAAUC,iCAAe,cAAc,CAAA;AAC7C,EAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AAEnB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,wBAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,OAAA,EAAS;AAAA,MACP,MAAM,KAAA,EAAO;AACX,QAAA,KAAA,CAAM,eAAe,QAAA,GAAW,IAAA;AAEhC,QAAA,KAAA,CAAM,KAAA,CAAM,OAAO,MAAA,KAAW;AAC5B,UAAA,MAAA,CAAO,MAAM,2CAA2C,CAAA;AAExD,UAAA,MAAM,MAAA,GAAS,MAAM,cAAA,CAAe,MAAA;AACpC,UAAA,IAAI,CAAC,MAAA,EAAQ;AACX,YAAA,MAAM,IAAI,MAAM,gEAAgE,CAAA;AAAA,UAClF;AAEA,UAAA,IAAI,CAAC,OAAO,QAAA,EAAU;AACpB,YAAA,MAAM,IAAI,MAAM,oEAAoE,CAAA;AAAA,UACtF;AAEA,UAAA,MAAM,UAAA,GAAa,IAAI,GAAA,CAAI,MAAA,CAAO,KAAK,MAAA,CAAO,QAAA,CAAS,OAAO,CAAC,CAAA;AAC/D,UAAA,MAAA,CAAO,MAAM,CAAA,MAAA,EAAS,UAAA,CAAW,IAAI,CAAA,yCAAA,EAA4C,MAAM,CAAA,CAAA,CAAG,CAAA;AAE1F,UAAA,MAAMC,kCAAA,CAAiB,MAAA,EAAQ,UAAA,EAAY,OAAO,CAAA;AAAA,QACpD,CAAC,CAAA;AAAA,MACH;AAAA;AACF,GACF;AACF,CAAA,EA/BmE,eAAA","file":"chunk-JLLRUY3K.cjs","sourcesContent":["import type { UnpluginFactory, UnpluginOptions } from 'unplugin';\nimport type { Options } from '../types';\nimport { cleanUnusedFiles } from './cleanUnusedFiles';\nimport { resolveOptions } from './resolveOptions';\n\nexport const pluginFactory: UnpluginFactory<Options | undefined> = (initialOptions: Options = {}) => {\n const options = resolveOptions(initialOptions);\n const { logger } = options;\n\n return {\n name: '@shellicar/build-clean',\n enforce: 'post',\n esbuild: {\n setup(build) {\n build.initialOptions.metafile = true;\n\n build.onEnd(async (result) => {\n logger.debug('Build completed, starting cleanup process');\n\n const outdir = build.initialOptions.outdir;\n if (!outdir) {\n throw new Error('[build-cleaner] No output directory specified in build options');\n }\n\n if (!result.metafile) {\n throw new Error('[build-cleaner] No metafile available - ensure metafile is enabled');\n }\n\n const builtFiles = new Set(Object.keys(result.metafile.outputs));\n logger.debug(`Found ${builtFiles.size} built files in metafile for directory: \"${outdir}\"`);\n\n await cleanUnusedFiles(outdir, builtFiles, options);\n });\n },\n },\n } satisfies UnpluginOptions;\n};\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./chunk-PK6SKIKE.cjs"),r=require("node:util"),o="",n="",t="",c="",u="",a="",m=e.__name(e=>"object"==typeof e?r.inspect(e,{depth:null,colors:!0}):e,"format");function s(r){const s=`[${r.prefix}]`,g=e.__name((e,r,n,t=!0)=>t?(t,...c)=>{console[e](`${r}${s} ${n}${o}`,m(t),...c)}:()=>{},"createLogMethod");return{verbose:g("debug",c,"VERB",r.verbose),debug:g("debug",u,"DEBG",r.debug),info:g("info",a,"INFO"),warn:g("warn",t,"WARN"),error:g("error",n,"EROR")}}e.__name(s,"createLogger"),exports.createLogger=s;//# sourceMappingURL=chunk-LCHUL6MZ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/createLogger.ts"],"names":["__name","inspect"],"mappings":"kGASA,IAAM,MAAA,GAAS;AAAA,EACb,KAAA,EAAO,SAAA;AAAA,EACP,GAAA,EAAK,UAAA;AAAA,EACL,MAAA,EAAQ,UAAA;AAAA,EACR,IAAA,EAAM,UAAA;AAAA,EACN,IAAA,EAAM,UAAA;AAAA,EACN,KAAA,EAAO;AACT,CAAA;AAIA,IAAM,MAAA,mBAASA,wBAAA,CAAA,CAAC,KAAA,KAA6B,OAAO,UAAU,QAAA,GAAWC,iBAAA,CAAQ,KAAA,EAAO,EAAE,OAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,IAAI,KAAA,EAA1G,QAAA,CAAA;AAER,SAAS,aAAa,OAAA,EAAiC;AAC5D,EAAA,MAAM,MAAA,GAAS,CAAA,CAAA,EAAI,OAAA,CAAQ,MAAM,CAAA,CAAA,CAAA;AAEjC,EAAA,MAAM,eAAA,mBAAkBD,wBAAA,CAAA,CAAC,KAAA,EAAiB,KAAA,EAAe,MAAA,EAAgB,UAAU,IAAA,KACjF,OAAA,GACI,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAoB;AACvC,IAAA,OAAA,CAAQ,KAAK,CAAA,CAAE,CAAA,EAAG,KAAK,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,MAAA,CAAO,OAAO,CAAA,EAAG,GAAG,IAAI,CAAA;AAAA,EACvF,IACA,MAAM;AAAA,EAAC,CAAA,EALW,iBAAA,CAAA;AAOxB,EAAA,OAAO;AAAA,IACL,SAAS,eAAA,CAAgB,OAAA,EAAS,OAAO,IAAA,EAAM,MAAA,EAAQ,QAAQ,OAAO,CAAA;AAAA,IACtE,OAAO,eAAA,CAAgB,OAAA,EAAS,OAAO,IAAA,EAAM,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAAA,IAClE,IAAA,EAAM,eAAA,CAAgB,MAAA,EAAQ,MAAA,CAAO,OAAO,MAAM,CAAA;AAAA,IAClD,IAAA,EAAM,eAAA,CAAgB,MAAA,EAAQ,MAAA,CAAO,QAAQ,MAAM,CAAA;AAAA,IACnD,KAAA,EAAO,eAAA,CAAgB,OAAA,EAAS,MAAA,CAAO,KAAK,MAAM;AAAA,GACpD;AACF;AAjBgBA,wBAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"chunk-LCHUL6MZ.cjs","sourcesContent":["import { inspect } from 'node:util';\nimport type { ILogger } from '../types';\n\nexport interface LoggerOptions {\n prefix: string;\n debug?: boolean;\n verbose?: boolean;\n}\n\nconst colors = {\n reset: '\\x1b[0m',\n red: '\\x1b[31m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n gray: '\\x1b[90m',\n green: '\\x1b[32m',\n};\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\nconst format = (value: unknown): unknown => (typeof value === 'object' ? inspect(value, { depth: null, colors: true }) : value);\n\nexport function createLogger(options: LoggerOptions): ILogger {\n const prefix = `[${options.prefix}]`;\n\n const createLogMethod = (level: LogLevel, color: string, abbrev: string, enabled = true) =>\n enabled\n ? (message: string, ...args: unknown[]) => {\n console[level](`${color}${prefix} ${abbrev}${colors.reset}`, format(message), ...args);\n }\n : () => {};\n\n return {\n verbose: createLogMethod('debug', colors.blue, 'VERB', options.verbose),\n debug: createLogMethod('debug', colors.gray, 'DEBG', options.debug),\n info: createLogMethod('info', colors.green, 'INFO'),\n warn: createLogMethod('warn', colors.yellow, 'WARN'),\n error: createLogMethod('error', colors.red, 'EROR'),\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./chunk-ENI25Z4X.cjs"),i=require("./chunk-2PLXB54C.cjs"),t=require("./chunk-RLTXHBBD.cjs"),s=require("./chunk-7K4IJ5TP.cjs"),r=require("./chunk-PK6SKIKE.cjs"),n=require("node:path");async function o(r,o,u){const{logger:l}=u;i.validateOutDir(r,l);try{l.debug(`Starting cleanup of directory: "${r}"`),l.debug(`Built files count: ${o.size}`);const i=await s.getAllFiles(r,l);if(l.debug(`Existing files count: ${i.length}`),0===i.length&&o.size>0)return void l.warn('Disable tsup "clean: true" to use this plugin. (You can ignore this message if this is the first time you have built your package)');l.info(`Processing ${i.length} existing files vs ${o.size} built files`);const c=[];for(const e of i){const i=n.relative(process.cwd(),e);l.verbose(`Checking file: "${i}"`),o.has(i)?l.verbose(`Keeping built file: "${i}"`):(c.push(e),l.verbose(`Marked for deletion: "${i}"`))}if(c.length>0){const e=u.destructive?"":" (dry run)";l.warn(`Files marked for deletion: ${c.length}${e}`)}else l.info("No files marked for deletion");let a=0;for(const e of c){const i=n.relative(process.cwd(),e);l.info(`Deleting: "${i}"`),u.destructive&&await t.deleteFile(e,l),a++}0===a?l.info("No unused files found"):u.destructive||l.info(`Set destructive: true to actually delete the ${a} unused file(s)`),u.features.REMOVE_EMPTY_DIRS&&await e.removeEmptyDirs(r,u)}catch(e){throw l.error("Error during cleanup:",e),e}}r.__name(o,"cleanUnusedFiles"),exports.cleanUnusedFiles=o;//# sourceMappingURL=chunk-N7VWV6HY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/cleanUnusedFiles.ts"],"names":["validateOutDir","getAllFiles","relative","deleteFile","removeEmptyDirs","__name"],"mappings":"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","file":"chunk-N7VWV6HY.cjs","sourcesContent":["import { relative } from 'node:path';\nimport { Feature } from '../enums';\nimport { deleteFile } from './deleteFile';\nimport { getAllFiles } from './getAllFiles';\nimport { removeEmptyDirs } from './removeEmptyDirs';\nimport type { ResolvedOptions } from './types';\nimport { validateOutDir } from './validateOutDir';\n\nexport async function cleanUnusedFiles(outDir: string, builtFiles: Set<string>, options: ResolvedOptions): Promise<void> {\n const { logger } = options;\n validateOutDir(outDir, logger);\n\n try {\n logger.debug(`Starting cleanup of directory: \"${outDir}\"`);\n logger.debug(`Built files count: ${builtFiles.size}`);\n\n const existingFiles = await getAllFiles(outDir, logger);\n logger.debug(`Existing files count: ${existingFiles.length}`);\n\n if (existingFiles.length === 0 && builtFiles.size > 0) {\n logger.warn('Disable tsup \"clean: true\" to use this plugin. (You can ignore this message if this is the first time you have built your package)');\n return;\n }\n\n logger.info(`Processing ${existingFiles.length} existing files vs ${builtFiles.size} built files`);\n\n const filesToDelete: string[] = [];\n\n for (const file of existingFiles) {\n const relativePath = relative(process.cwd(), file);\n logger.verbose(`Checking file: \"${relativePath}\"`);\n\n if (!builtFiles.has(relativePath)) {\n filesToDelete.push(file);\n logger.verbose(`Marked for deletion: \"${relativePath}\"`);\n } else {\n logger.verbose(`Keeping built file: \"${relativePath}\"`);\n }\n }\n\n if (filesToDelete.length > 0) {\n const dryRunSuffix = options.destructive ? '' : ' (dry run)';\n logger.warn(`Files marked for deletion: ${filesToDelete.length}${dryRunSuffix}`);\n } else {\n logger.info('No files marked for deletion');\n }\n\n let deletedCount = 0;\n for (const file of filesToDelete) {\n const relativePath = relative(process.cwd(), file);\n\n logger.info(`Deleting: \"${relativePath}\"`);\n if (options.destructive) {\n await deleteFile(file, logger);\n }\n\n deletedCount++;\n }\n\n if (deletedCount === 0) {\n logger.info('No unused files found');\n } else if (!options.destructive) {\n logger.info(`Set destructive: true to actually delete the ${deletedCount} unused file(s)`);\n }\n\n if (options.features[Feature.RemoveEmptyDirs]) {\n await removeEmptyDirs(outDir, options);\n }\n } catch (error) {\n logger.error('Error during cleanup:', error);\n throw error;\n }\n}\n"]}
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-PK6SKIKE.cjs"),t=require("node:fs/promises");async function i(e,i){try{await t.unlink(e)}catch(t){i.warn(`Failed to delete "${e}":`,t)}}e.__name(i,"deleteFile"),exports.deleteFile=i;//# sourceMappingURL=chunk-JAUU4VPS.cjs.map
1
+ "use strict";var e=require("./chunk-PK6SKIKE.cjs"),t=require("node:fs/promises");async function i(e,i){try{await t.unlink(e)}catch(t){i.warn(`Failed to delete "${e}":`,t)}}e.__name(i,"deleteFile"),exports.deleteFile=i;//# sourceMappingURL=chunk-RLTXHBBD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/deleteFile.ts"],"names":["unlink","__name"],"mappings":"wGAGA,eAAsB,UAAA,CAAW,UAAkB,MAAA,EAAgC;AACjF,EAAA,IAAI;AACF,IAAA,MAAMA,gBAAO,QAAQ,CAAA;AAAA,EACvB,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,CAAO,IAAA,CAAK,CAAA,kBAAA,EAAqB,QAAQ,CAAA,EAAA,CAAA,EAAM,KAAK,CAAA;AAAA,EACtD;AACF;AANsBC,wBAAA,CAAA,UAAA,EAAA,YAAA,CAAA","file":"chunk-JAUU4VPS.cjs","sourcesContent":["import { unlink } from 'node:fs/promises';\nimport type { ILogger } from './types';\n\nexport async function deleteFile(filePath: string, logger: ILogger): Promise<void> {\n try {\n await unlink(filePath);\n } catch (error) {\n logger.warn(`Failed to delete \"${filePath}\":`, error);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/deleteFile.ts"],"names":["unlink","__name"],"mappings":"wGAGA,eAAsB,UAAA,CAAW,UAAkB,MAAA,EAAgC;AACjF,EAAA,IAAI;AACF,IAAA,MAAMA,gBAAO,QAAQ,CAAA;AAAA,EACvB,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,CAAO,IAAA,CAAK,CAAA,kBAAA,EAAqB,QAAQ,CAAA,EAAA,CAAA,EAAM,KAAK,CAAA;AAAA,EACtD;AACF;AANsBC,wBAAA,CAAA,UAAA,EAAA,YAAA,CAAA","file":"chunk-RLTXHBBD.cjs","sourcesContent":["import { unlink } from 'node:fs/promises';\nimport type { ILogger } from '../types';\n\nexport async function deleteFile(filePath: string, logger: ILogger): Promise<void> {\n try {\n await unlink(filePath);\n } catch (error) {\n logger.warn(`Failed to delete \"${filePath}\":`, error);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var e={debug:!1,verbose:!1,destructive:!1,features:{REMOVE_EMPTY_DIRS:!0}};exports.defaultOptions=e;//# sourceMappingURL=chunk-SWNLKPG7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/defaultOptions.ts"],"names":[],"mappings":";AAGO,IAAM,cAAA,GAAiB;AAAA,EAC5B,KAAA,EAAO,KAAA;AAAA,EACP,OAAA,EAAS,KAAA;AAAA,EACT,WAAA,EAAa,KAAA;AAAA,EACb,QAAA,EAAU;AAAA,IACR,6CAA2B;AAAA;AAE/B","file":"chunk-SWNLKPG7.cjs","sourcesContent":["import { Feature } from '../enums';\nimport type { Options } from '../types';\n\nexport const defaultOptions = {\n debug: false,\n verbose: false,\n destructive: false,\n features: {\n [Feature.RemoveEmptyDirs]: true,\n },\n} as const satisfies Options;\n"]}
@@ -0,0 +1 @@
1
+ "use strict";var r=require("./chunk-JLLRUY3K.cjs"),u=require("unplugin").createUnplugin(r.pluginFactory);exports.plugin=u;//# sourceMappingURL=chunk-Y63O5TTS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/plugin.ts"],"names":["createUnplugin","pluginFactory"],"mappings":"gGAGO,IAAM,MAAA,GAASA,wBAAeC,+BAAa","file":"chunk-Y63O5TTS.cjs","sourcesContent":["import { createUnplugin } from 'unplugin';\nimport { pluginFactory } from './pluginFactory';\n\nexport const plugin = createUnplugin(pluginFactory);\n"]}
@@ -1 +1 @@
1
- "use strict";var e=require("../chunk-OBABVT2T.cjs");require("../chunk-JV6XTZ6N.cjs"),require("../chunk-JAUU4VPS.cjs"),require("../chunk-CKDUYIXO.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"cleanUnusedFiles",{enumerable:!0,get:function(){return e.cleanUnusedFiles}});//# sourceMappingURL=cleanUnusedFiles.cjs.map
1
+ "use strict";var e=require("../chunk-N7VWV6HY.cjs");require("../chunk-ENI25Z4X.cjs"),require("../chunk-2PLXB54C.cjs"),require("../chunk-RLTXHBBD.cjs"),require("../chunk-7K4IJ5TP.cjs"),require("../chunk-CZL5DHGR.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"cleanUnusedFiles",{enumerable:!0,get:function(){return e.cleanUnusedFiles}});//# sourceMappingURL=cleanUnusedFiles.cjs.map
@@ -1,5 +1,7 @@
1
- import { Options, ILogger } from './types.cjs';
1
+ import { ResolvedOptions } from './types.cjs';
2
+ import '../enums.cjs';
3
+ import '../types.cjs';
2
4
 
3
- declare function cleanUnusedFiles(outDir: string, builtFiles: Set<string>, options: Options, logger: ILogger): Promise<void>;
5
+ declare function cleanUnusedFiles(outDir: string, builtFiles: Set<string>, options: ResolvedOptions): Promise<void>;
4
6
 
5
7
  export { cleanUnusedFiles };
@@ -1 +1 @@
1
- "use strict";var e=require("../chunk-FD3CZK4P.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"createLogger",{enumerable:!0,get:function(){return e.createLogger}});//# sourceMappingURL=createLogger.cjs.map
1
+ "use strict";var e=require("../chunk-LCHUL6MZ.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"createLogger",{enumerable:!0,get:function(){return e.createLogger}});//# sourceMappingURL=createLogger.cjs.map
@@ -1,5 +1,11 @@
1
- import { Options, ILogger } from './types.cjs';
1
+ import { ILogger } from '../types.cjs';
2
+ import '../enums.cjs';
2
3
 
3
- declare function createLogger(options: Options): ILogger;
4
+ interface LoggerOptions {
5
+ prefix: string;
6
+ debug?: boolean;
7
+ verbose?: boolean;
8
+ }
9
+ declare function createLogger(options: LoggerOptions): ILogger;
4
10
 
5
- export { createLogger };
11
+ export { type LoggerOptions, createLogger };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-SWNLKPG7.cjs");require("../chunk-CZL5DHGR.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"defaultOptions",{enumerable:!0,get:function(){return e.defaultOptions}});//# sourceMappingURL=defaultOptions.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"defaults.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"defaultOptions.cjs"}
@@ -0,0 +1,10 @@
1
+ declare const defaultOptions: {
2
+ readonly debug: false;
3
+ readonly verbose: false;
4
+ readonly destructive: false;
5
+ readonly features: {
6
+ readonly REMOVE_EMPTY_DIRS: true;
7
+ };
8
+ };
9
+
10
+ export { defaultOptions };
@@ -1 +1 @@
1
- "use strict";var e=require("../chunk-JAUU4VPS.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"deleteFile",{enumerable:!0,get:function(){return e.deleteFile}});//# sourceMappingURL=deleteFile.cjs.map
1
+ "use strict";var e=require("../chunk-RLTXHBBD.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"deleteFile",{enumerable:!0,get:function(){return e.deleteFile}});//# sourceMappingURL=deleteFile.cjs.map
@@ -1,4 +1,5 @@
1
- import { ILogger } from './types.cjs';
1
+ import { ILogger } from '../types.cjs';
2
+ import '../enums.cjs';
2
3
 
3
4
  declare function deleteFile(filePath: string, logger: ILogger): Promise<void>;
4
5
 
@@ -1 +1 @@
1
- "use strict";var e=require("../chunk-CKDUYIXO.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"getAllFiles",{enumerable:!0,get:function(){return e.getAllFiles}});//# sourceMappingURL=getAllFiles.cjs.map
1
+ "use strict";var e=require("../chunk-7K4IJ5TP.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"getAllFiles",{enumerable:!0,get:function(){return e.getAllFiles}});//# sourceMappingURL=getAllFiles.cjs.map
@@ -1,4 +1,5 @@
1
- import { ILogger } from './types.cjs';
1
+ import { ILogger } from '../types.cjs';
2
+ import '../enums.cjs';
2
3
 
3
4
  declare function getAllFiles(dir: string, logger: ILogger): Promise<string[]>;
4
5
 
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-Y63O5TTS.cjs");require("../chunk-JLLRUY3K.cjs"),require("../chunk-BQFECWOC.cjs"),require("../chunk-N7VWV6HY.cjs"),require("../chunk-ENI25Z4X.cjs"),require("../chunk-2PLXB54C.cjs"),require("../chunk-LCHUL6MZ.cjs"),require("../chunk-SWNLKPG7.cjs"),require("../chunk-RLTXHBBD.cjs"),require("../chunk-7K4IJ5TP.cjs"),require("../chunk-CZL5DHGR.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"plugin",{enumerable:!0,get:function(){return e.plugin}});//# sourceMappingURL=plugin.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"plugin.cjs"}
@@ -1,5 +1,6 @@
1
1
  import * as unplugin from 'unplugin';
2
- import { Options } from './types.js';
2
+ import { Options } from '../types.cjs';
3
+ import '../enums.cjs';
3
4
 
4
5
  declare const plugin: unplugin.UnpluginInstance<Options | undefined, boolean>;
5
6
 
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-JLLRUY3K.cjs");require("../chunk-BQFECWOC.cjs"),require("../chunk-N7VWV6HY.cjs"),require("../chunk-ENI25Z4X.cjs"),require("../chunk-2PLXB54C.cjs"),require("../chunk-LCHUL6MZ.cjs"),require("../chunk-SWNLKPG7.cjs"),require("../chunk-RLTXHBBD.cjs"),require("../chunk-7K4IJ5TP.cjs"),require("../chunk-CZL5DHGR.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"pluginFactory",{enumerable:!0,get:function(){return e.pluginFactory}});//# sourceMappingURL=pluginFactory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"pluginFactory.cjs"}
@@ -0,0 +1,7 @@
1
+ import { UnpluginFactory } from 'unplugin';
2
+ import { Options } from '../types.cjs';
3
+ import '../enums.cjs';
4
+
5
+ declare const pluginFactory: UnpluginFactory<Options | undefined>;
6
+
7
+ export { pluginFactory };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-ENI25Z4X.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"removeEmptyDirs",{enumerable:!0,get:function(){return e.removeEmptyDirs}});//# sourceMappingURL=removeEmptyDirs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"removeEmptyDirs.cjs"}
@@ -0,0 +1,7 @@
1
+ import { ResolvedOptions } from './types.cjs';
2
+ import '../enums.cjs';
3
+ import '../types.cjs';
4
+
5
+ declare const removeEmptyDirs: (dir: string, options: ResolvedOptions) => Promise<boolean>;
6
+
7
+ export { removeEmptyDirs };
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-BQFECWOC.cjs");require("../chunk-LCHUL6MZ.cjs"),require("../chunk-SWNLKPG7.cjs"),require("../chunk-CZL5DHGR.cjs"),require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"resolveOptions",{enumerable:!0,get:function(){return e.resolveOptions}});//# sourceMappingURL=resolveOptions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"resolveOptions.cjs"}
@@ -0,0 +1,7 @@
1
+ import { Options } from '../types.cjs';
2
+ import { ResolvedOptions } from './types.cjs';
3
+ import '../enums.cjs';
4
+
5
+ declare const resolveOptions: (inputOptions: Options) => ResolvedOptions;
6
+
7
+ export { resolveOptions };
@@ -1,14 +1,11 @@
1
- interface Options {
2
- debug?: boolean;
3
- verbose?: boolean;
4
- destructive?: boolean;
5
- }
6
- type ILogger = {
7
- debug: (typeof console)['debug'];
8
- verbose: (typeof console)['debug'];
9
- info: (typeof console)['info'];
10
- warn: (typeof console)['warn'];
11
- error: (typeof console)['error'];
1
+ import { Feature } from '../enums.cjs';
2
+ import { Options } from '../types.cjs';
3
+
4
+ type FullFeatures = Record<Feature, boolean>;
5
+ type RequiredOptions = 'debug' | 'verbose' | 'destructive' | 'features' | 'logger';
6
+ type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
7
+ type ResolvedOptions = MakeRequired<Options, RequiredOptions> & {
8
+ features: FullFeatures;
12
9
  };
13
10
 
14
- export type { ILogger, Options };
11
+ export type { ResolvedOptions };
@@ -1 +1 @@
1
- "use strict";var e=require("../chunk-JV6XTZ6N.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"validateOutDir",{enumerable:!0,get:function(){return e.validateOutDir}});//# sourceMappingURL=validateOutDir.cjs.map
1
+ "use strict";var e=require("../chunk-2PLXB54C.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"validateOutDir",{enumerable:!0,get:function(){return e.validateOutDir}});//# sourceMappingURL=validateOutDir.cjs.map
@@ -1,4 +1,5 @@
1
- import { ILogger } from './types.cjs';
1
+ import { ILogger } from '../types.cjs';
2
+ import '../enums.cjs';
2
3
 
3
4
  declare const validateOutDir: (outDir: string, logger: ILogger) => void;
4
5
 
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./chunk-CZL5DHGR.cjs");require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"Feature",{enumerable:!0,get:function(){return e.Feature}});//# sourceMappingURL=enums.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"enums.cjs"}
@@ -0,0 +1,8 @@
1
+ declare enum Feature {
2
+ /**
3
+ * Enables removal of empty directories after cleaning unused files.
4
+ */
5
+ RemoveEmptyDirs = "REMOVE_EMPTY_DIRS"
6
+ }
7
+
8
+ export { Feature };
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs");var r=e.plugin.esbuild;module.exports=r;//# sourceMappingURL=esbuild.cjs.map
1
+ "use strict";var e=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs");var r=e.plugin.esbuild;module.exports=r;//# sourceMappingURL=esbuild.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/esbuild.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,kBAAQA,wBAAA,CAAO","file":"esbuild.cjs","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.esbuild;\n"]}
1
+ {"version":3,"sources":["../../src/esbuild.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,kBAAQA,wBAAA,CAAO","file":"esbuild.cjs","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.esbuild;\n"]}
@@ -1,5 +1,6 @@
1
1
  import * as unplugin from 'unplugin';
2
- import { Options } from './core/types.cjs';
2
+ import { Options } from './types.cjs';
3
+ import './enums.cjs';
3
4
 
4
5
  declare const _default: (options?: Options | undefined) => unplugin.EsbuildPlugin;
5
6
 
package/dist/cjs/farm.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var r=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs");var e=r.plugin.farm;module.exports=e;//# sourceMappingURL=farm.cjs.map
1
+ "use strict";var r=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs");var e=r.plugin.farm;module.exports=e;//# sourceMappingURL=farm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/farm.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,eAAQA,wBAAA,CAAO","file":"farm.cjs","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.farm;\n"]}
1
+ {"version":3,"sources":["../../src/farm.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,eAAQA,wBAAA,CAAO","file":"farm.cjs","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.farm;\n"]}
@@ -1,5 +1,6 @@
1
1
  import * as _farmfe_core from '@farmfe/core';
2
- import { Options } from './core/types.cjs';
2
+ import { Options } from './types.cjs';
3
+ import './enums.cjs';
3
4
 
4
5
  declare const _default: (options?: Options | undefined) => _farmfe_core.JsPlugin;
5
6
 
@@ -1 +1 @@
1
- "use strict";require("./chunk-H44HDUOM.cjs");var e=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs"),module.exports=e.plugin;//# sourceMappingURL=index.cjs.map
1
+ "use strict";require("./chunk-H44HDUOM.cjs");var e=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs"),module.exports=e.plugin;//# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
- export { plugin as default } from './core/index.cjs';
1
+ export { plugin as default } from './core/plugin.cjs';
2
2
  import 'unplugin';
3
- import './core/types.cjs';
3
+ import './types.cjs';
4
+ import './enums.cjs';
package/dist/cjs/nuxt.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";require("./chunk-H44HDUOM.cjs");var e=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs"),require("@nuxt/schema");var u=require("@nuxt/kit"),r=u.defineNuxtModule({meta:{name:"nuxt-build-clean",configKey:"buildVersion"},setup(r){u.addWebpackPlugin(e.plugin.webpack(r)),u.addVitePlugin(e.plugin.vite(r))}});module.exports=r;//# sourceMappingURL=nuxt.cjs.map
1
+ "use strict";require("./chunk-H44HDUOM.cjs");var e=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs"),require("@nuxt/schema");var u=require("@nuxt/kit"),r=u.defineNuxtModule({meta:{name:"nuxt-build-clean",configKey:"buildVersion"},setup(r){u.addWebpackPlugin(e.plugin.webpack(r)),u.addVitePlugin(e.plugin.vite(r))}});module.exports=r;//# sourceMappingURL=nuxt.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/nuxt.ts"],"names":["defineNuxtModule","addWebpackPlugin","plugin","addVitePlugin"],"mappings":"wXAKA,IAAO,eAAQA,oBAAA,CAAiB;AAAA,EAC9B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,kBAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAM,OAAA,EAAkB;AACtB,IAAAC,oBAAA,CAAiBC,wBAAA,CAAS,OAAA,CAAQ,OAAO,CAAC,CAAA;AAC1C,IAAAC,iBAAA,CAAcD,wBAAA,CAAS,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,EACtC;AACF,CAAC","file":"nuxt.cjs","sourcesContent":["import '@nuxt/schema';\nimport { addVitePlugin, addWebpackPlugin, defineNuxtModule } from '@nuxt/kit';\nimport unplugin from '.';\nimport type { Options } from './core/types';\n\nexport default defineNuxtModule({\n meta: {\n name: 'nuxt-build-clean',\n configKey: 'buildVersion',\n },\n setup(options: Options) {\n addWebpackPlugin(unplugin.webpack(options));\n addVitePlugin(unplugin.vite(options));\n },\n});\n"]}
1
+ {"version":3,"sources":["../../src/nuxt.ts"],"names":["defineNuxtModule","addWebpackPlugin","plugin","addVitePlugin"],"mappings":"wfAKA,IAAO,eAAQA,oBAAA,CAAiB;AAAA,EAC9B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,kBAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAM,OAAA,EAAkB;AACtB,IAAAC,oBAAA,CAAiBC,wBAAA,CAAS,OAAA,CAAQ,OAAO,CAAC,CAAA;AAC1C,IAAAC,iBAAA,CAAcD,wBAAA,CAAS,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,EACtC;AACF,CAAC","file":"nuxt.cjs","sourcesContent":["import '@nuxt/schema';\nimport { addVitePlugin, addWebpackPlugin, defineNuxtModule } from '@nuxt/kit';\nimport unplugin from '.';\nimport type { Options } from './types';\n\nexport default defineNuxtModule({\n meta: {\n name: 'nuxt-build-clean',\n configKey: 'buildVersion',\n },\n setup(options: Options) {\n addWebpackPlugin(unplugin.webpack(options));\n addVitePlugin(unplugin.vite(options));\n },\n});\n"]}
@@ -1,5 +1,6 @@
1
1
  import * as _nuxt_schema from '@nuxt/schema';
2
- import { Options } from './core/types.cjs';
2
+ import { Options } from './types.cjs';
3
+ import './enums.cjs';
3
4
 
4
5
  declare const _default: _nuxt_schema.NuxtModule<Options, Options, false>;
5
6
 
@@ -1 +1 @@
1
- "use strict";var r=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs");var u=r.plugin.rollup;module.exports=u;//# sourceMappingURL=rollup.cjs.map
1
+ "use strict";var r=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs");var u=r.plugin.rollup;module.exports=u;//# sourceMappingURL=rollup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rollup.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,iBAAQA,wBAAA,CAAO","file":"rollup.cjs","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.rollup;\n"]}
1
+ {"version":3,"sources":["../../src/rollup.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,iBAAQA,wBAAA,CAAO","file":"rollup.cjs","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.rollup;\n"]}
@@ -1,5 +1,6 @@
1
1
  import * as rollup from 'rollup';
2
- import { Options } from './core/types.cjs';
2
+ import { Options } from './types.cjs';
3
+ import './enums.cjs';
3
4
 
4
5
  declare const _default: (options?: Options | undefined) => rollup.Plugin<any> | rollup.Plugin<any>[];
5
6
 
@@ -1 +1 @@
1
- "use strict";var r=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs");var e=r.plugin.rspack;module.exports=e;//# sourceMappingURL=rspack.cjs.map
1
+ "use strict";var r=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs");var e=r.plugin.rspack;module.exports=e;//# sourceMappingURL=rspack.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rspack.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,iBAAQA,wBAAA,CAAO","file":"rspack.cjs","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.rspack;\n"]}
1
+ {"version":3,"sources":["../../src/rspack.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,iBAAQA,wBAAA,CAAO","file":"rspack.cjs","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.rspack;\n"]}
@@ -1,4 +1,5 @@
1
- import { Options } from './core/types.cjs';
1
+ import { Options } from './types.cjs';
2
+ import './enums.cjs';
2
3
 
3
4
  declare const _default: (options?: Options | undefined) => RspackPluginInstance;
4
5
 
@@ -1 +1 @@
1
- "use strict";//# sourceMappingURL=types.cjs.map
1
+ "use strict";var e=require("./chunk-CZL5DHGR.cjs");require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"Feature",{enumerable:!0,get:function(){return e.Feature}});//# sourceMappingURL=types.cjs.map
@@ -1 +1,37 @@
1
- export { Options } from './core/types.cjs';
1
+ import { Feature } from './enums.cjs';
2
+
3
+ interface ILogger {
4
+ debug: (message: string, ...args: unknown[]) => void;
5
+ verbose: (message: string, ...args: unknown[]) => void;
6
+ info: (message: string, ...args: unknown[]) => void;
7
+ warn: (message: string, ...args: unknown[]) => void;
8
+ error: (message: string, ...args: unknown[]) => void;
9
+ }
10
+ interface Options {
11
+ /**
12
+ * Enable debug logging
13
+ * @default false
14
+ */
15
+ debug?: boolean;
16
+ /**
17
+ * Enable verbose logging
18
+ * @default false
19
+ */
20
+ verbose?: boolean;
21
+ /**
22
+ * Actually delete files (when false, runs in dry-run mode)
23
+ * @default false
24
+ */
25
+ destructive?: boolean;
26
+ /**
27
+ * Feature flags for optional functionality
28
+ */
29
+ features?: Features;
30
+ /**
31
+ * Custom logger instance. If provided, debug/verbose options are ignored.
32
+ */
33
+ logger?: ILogger;
34
+ }
35
+ type Features = Partial<Record<Feature, boolean>>;
36
+
37
+ export { Feature, type Features, type ILogger, type Options };
package/dist/cjs/vite.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./chunk-R3PK3BJI.cjs");require("./chunk-OBABVT2T.cjs"),require("./chunk-JV6XTZ6N.cjs"),require("./chunk-FD3CZK4P.cjs"),require("./chunk-SZJPBNRD.cjs"),require("./chunk-JAUU4VPS.cjs"),require("./chunk-CKDUYIXO.cjs"),require("./chunk-PK6SKIKE.cjs");var r=e.plugin.vite;module.exports=r;//# sourceMappingURL=vite.cjs.map
1
+ "use strict";var e=require("./chunk-Y63O5TTS.cjs");require("./chunk-JLLRUY3K.cjs"),require("./chunk-BQFECWOC.cjs"),require("./chunk-N7VWV6HY.cjs"),require("./chunk-ENI25Z4X.cjs"),require("./chunk-2PLXB54C.cjs"),require("./chunk-LCHUL6MZ.cjs"),require("./chunk-SWNLKPG7.cjs"),require("./chunk-RLTXHBBD.cjs"),require("./chunk-7K4IJ5TP.cjs"),require("./chunk-CZL5DHGR.cjs"),require("./chunk-PK6SKIKE.cjs");var r=e.plugin.vite;module.exports=r;//# sourceMappingURL=vite.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/vite.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,eAAQA,wBAAA,CAAO","file":"vite.cjs","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.vite;\n"]}
1
+ {"version":3,"sources":["../../src/vite.ts"],"names":["plugin"],"mappings":";AAEA,IAAO,eAAQA,wBAAA,CAAO","file":"vite.cjs","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.vite;\n"]}
@@ -1,5 +1,6 @@
1
1
  import * as vite from 'vite';
2
- import { Options } from './core/types.cjs';
2
+ import { Options } from './types.cjs';
3
+ import './enums.cjs';
3
4
 
4
5
  declare const _default: (options?: Options | undefined) => vite.Plugin<any> | vite.Plugin<any>[];
5
6