@shellicar/build-clean 1.1.2 → 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.
- package/dist/cjs/astro.cjs +1 -1
- package/dist/cjs/astro.cjs.map +1 -1
- package/dist/cjs/astro.d.cts +2 -1
- package/dist/cjs/{chunk-JV6XTZ6N.cjs → chunk-2PLXB54C.cjs} +1 -1
- package/dist/cjs/chunk-2PLXB54C.cjs.map +1 -0
- package/dist/cjs/{chunk-CKDUYIXO.cjs → chunk-7K4IJ5TP.cjs} +1 -1
- package/dist/cjs/{chunk-CKDUYIXO.cjs.map → chunk-7K4IJ5TP.cjs.map} +1 -1
- package/dist/cjs/chunk-BQFECWOC.cjs +1 -0
- package/dist/cjs/chunk-BQFECWOC.cjs.map +1 -0
- package/dist/cjs/chunk-CZL5DHGR.cjs +1 -0
- package/dist/cjs/chunk-CZL5DHGR.cjs.map +1 -0
- package/dist/cjs/chunk-ENI25Z4X.cjs +1 -0
- package/dist/cjs/chunk-ENI25Z4X.cjs.map +1 -0
- package/dist/cjs/chunk-JLLRUY3K.cjs +1 -0
- package/dist/cjs/chunk-JLLRUY3K.cjs.map +1 -0
- package/dist/cjs/chunk-LCHUL6MZ.cjs +1 -0
- package/dist/cjs/chunk-LCHUL6MZ.cjs.map +1 -0
- package/dist/cjs/chunk-N7VWV6HY.cjs +1 -0
- package/dist/cjs/chunk-N7VWV6HY.cjs.map +1 -0
- package/dist/cjs/{chunk-JAUU4VPS.cjs → chunk-RLTXHBBD.cjs} +1 -1
- package/dist/cjs/{chunk-JAUU4VPS.cjs.map → chunk-RLTXHBBD.cjs.map} +1 -1
- package/dist/cjs/chunk-SWNLKPG7.cjs +1 -0
- package/dist/cjs/chunk-SWNLKPG7.cjs.map +1 -0
- package/dist/cjs/chunk-Y63O5TTS.cjs +1 -0
- package/dist/cjs/chunk-Y63O5TTS.cjs.map +1 -0
- package/dist/cjs/core/cleanUnusedFiles.cjs +1 -1
- package/dist/cjs/core/cleanUnusedFiles.d.cts +4 -2
- package/dist/cjs/core/createLogger.cjs +1 -1
- package/dist/cjs/core/createLogger.d.cts +9 -3
- package/dist/cjs/core/defaultOptions.cjs +1 -0
- package/dist/{esm/core/defaults.js.map → cjs/core/defaultOptions.cjs.map} +1 -1
- package/dist/cjs/core/defaultOptions.d.cts +10 -0
- package/dist/cjs/core/deleteFile.cjs +1 -1
- package/dist/cjs/core/deleteFile.d.cts +2 -1
- package/dist/cjs/core/getAllFiles.cjs +1 -1
- package/dist/cjs/core/getAllFiles.d.cts +2 -1
- package/dist/cjs/core/plugin.cjs +1 -0
- package/dist/cjs/core/plugin.cjs.map +1 -0
- package/dist/{esm/core/index.d.ts → cjs/core/plugin.d.cts} +2 -1
- package/dist/cjs/core/pluginFactory.cjs +1 -0
- package/dist/cjs/core/pluginFactory.cjs.map +1 -0
- package/dist/cjs/core/pluginFactory.d.cts +7 -0
- package/dist/cjs/core/removeEmptyDirs.cjs +1 -0
- package/dist/cjs/core/removeEmptyDirs.cjs.map +1 -0
- package/dist/cjs/core/removeEmptyDirs.d.cts +7 -0
- package/dist/cjs/core/resolveOptions.cjs +1 -0
- package/dist/cjs/core/resolveOptions.cjs.map +1 -0
- package/dist/cjs/core/resolveOptions.d.cts +7 -0
- package/dist/cjs/core/types.d.cts +9 -12
- package/dist/cjs/core/validateOutDir.cjs +1 -1
- package/dist/cjs/core/validateOutDir.d.cts +2 -1
- package/dist/cjs/enums.cjs +1 -0
- package/dist/cjs/enums.cjs.map +1 -0
- package/dist/cjs/enums.d.cts +8 -0
- package/dist/cjs/esbuild.cjs +1 -1
- package/dist/cjs/esbuild.cjs.map +1 -1
- package/dist/cjs/esbuild.d.cts +2 -1
- package/dist/cjs/farm.cjs +1 -1
- package/dist/cjs/farm.cjs.map +1 -1
- package/dist/cjs/farm.d.cts +2 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.d.cts +3 -2
- package/dist/cjs/nuxt.cjs +1 -1
- package/dist/cjs/nuxt.cjs.map +1 -1
- package/dist/cjs/nuxt.d.cts +2 -1
- package/dist/cjs/rollup.cjs +1 -1
- package/dist/cjs/rollup.cjs.map +1 -1
- package/dist/cjs/rollup.d.cts +2 -1
- package/dist/cjs/rspack.cjs +1 -1
- package/dist/cjs/rspack.cjs.map +1 -1
- package/dist/cjs/rspack.d.cts +2 -1
- package/dist/cjs/types.cjs +1 -1
- package/dist/cjs/types.d.cts +37 -1
- package/dist/cjs/vite.cjs +1 -1
- package/dist/cjs/vite.cjs.map +1 -1
- package/dist/cjs/vite.d.cts +2 -1
- package/dist/cjs/webpack.cjs +1 -1
- package/dist/cjs/webpack.cjs.map +1 -1
- package/dist/cjs/webpack.d.cts +2 -1
- package/dist/esm/astro.d.ts +2 -1
- package/dist/esm/astro.js +1 -1
- package/dist/esm/astro.js.map +1 -1
- package/dist/esm/chunk-5LWBSAKY.js +1 -0
- package/dist/esm/chunk-5LWBSAKY.js.map +1 -0
- package/dist/esm/{chunk-PVPUCTHV.js → chunk-6NT4DRFU.js} +1 -1
- package/dist/esm/chunk-6NT4DRFU.js.map +1 -0
- package/dist/esm/chunk-ACT7JHIR.js +1 -0
- package/dist/esm/chunk-ACT7JHIR.js.map +1 -0
- package/dist/esm/{chunk-NTAOZL73.js → chunk-DYDVEZX2.js} +1 -1
- package/dist/esm/{chunk-NTAOZL73.js.map → chunk-DYDVEZX2.js.map} +1 -1
- package/dist/esm/chunk-F4MLQCW3.js +1 -0
- package/dist/esm/chunk-F4MLQCW3.js.map +1 -0
- package/dist/esm/{chunk-XOQVNVZN.js → chunk-LUFDKQE7.js} +1 -1
- package/dist/esm/chunk-LUFDKQE7.js.map +1 -0
- package/dist/esm/chunk-ML4PEJLI.js +1 -0
- package/dist/esm/chunk-ML4PEJLI.js.map +1 -0
- package/dist/esm/chunk-QJ44JKA6.js +1 -0
- package/dist/esm/chunk-QJ44JKA6.js.map +1 -0
- package/dist/esm/chunk-UWCFV5EB.js +1 -0
- package/dist/esm/chunk-UWCFV5EB.js.map +1 -0
- package/dist/esm/chunk-W3LJ6ZCV.js +1 -0
- package/dist/esm/chunk-W3LJ6ZCV.js.map +1 -0
- package/dist/esm/chunk-YAFL67PE.js +1 -0
- package/dist/esm/chunk-YAFL67PE.js.map +1 -0
- package/dist/esm/core/cleanUnusedFiles.d.ts +4 -2
- package/dist/esm/core/cleanUnusedFiles.js +1 -1
- package/dist/esm/core/createLogger.d.ts +9 -3
- package/dist/esm/core/createLogger.js +1 -1
- package/dist/esm/core/defaultOptions.d.ts +10 -0
- package/dist/esm/core/defaultOptions.js +1 -0
- package/dist/{cjs/core/defaults.cjs.map → esm/core/defaultOptions.js.map} +1 -1
- package/dist/esm/core/deleteFile.d.ts +2 -1
- package/dist/esm/core/deleteFile.js +1 -1
- package/dist/esm/core/getAllFiles.d.ts +2 -1
- package/dist/esm/core/getAllFiles.js +1 -1
- package/dist/{cjs/core/index.d.cts → esm/core/plugin.d.ts} +2 -1
- package/dist/esm/core/plugin.js +1 -0
- package/dist/esm/core/plugin.js.map +1 -0
- package/dist/esm/core/pluginFactory.d.ts +7 -0
- package/dist/esm/core/pluginFactory.js +1 -0
- package/dist/esm/core/pluginFactory.js.map +1 -0
- package/dist/esm/core/removeEmptyDirs.d.ts +7 -0
- package/dist/esm/core/removeEmptyDirs.js +1 -0
- package/dist/esm/core/removeEmptyDirs.js.map +1 -0
- package/dist/esm/core/resolveOptions.d.ts +7 -0
- package/dist/esm/core/resolveOptions.js +1 -0
- package/dist/esm/core/resolveOptions.js.map +1 -0
- package/dist/esm/core/types.d.ts +9 -12
- package/dist/esm/core/validateOutDir.d.ts +2 -1
- package/dist/esm/core/validateOutDir.js +1 -1
- package/dist/esm/enums.d.ts +8 -0
- package/dist/esm/enums.js +1 -0
- package/dist/esm/enums.js.map +1 -0
- package/dist/esm/esbuild.d.ts +2 -1
- package/dist/esm/esbuild.js +1 -1
- package/dist/esm/esbuild.js.map +1 -1
- package/dist/esm/farm.d.ts +2 -1
- package/dist/esm/farm.js +1 -1
- package/dist/esm/farm.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/nuxt.d.ts +2 -1
- package/dist/esm/nuxt.js +1 -1
- package/dist/esm/nuxt.js.map +1 -1
- package/dist/esm/rollup.d.ts +2 -1
- package/dist/esm/rollup.js +1 -1
- package/dist/esm/rollup.js.map +1 -1
- package/dist/esm/rspack.d.ts +2 -1
- package/dist/esm/rspack.js +1 -1
- package/dist/esm/rspack.js.map +1 -1
- package/dist/esm/types.d.ts +37 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/vite.d.ts +2 -1
- package/dist/esm/vite.js +1 -1
- package/dist/esm/vite.js.map +1 -1
- package/dist/esm/webpack.d.ts +2 -1
- package/dist/esm/webpack.js +1 -1
- package/dist/esm/webpack.js.map +1 -1
- package/package.json +7 -7
- package/dist/cjs/chunk-FD3CZK4P.cjs +0 -1
- package/dist/cjs/chunk-FD3CZK4P.cjs.map +0 -1
- package/dist/cjs/chunk-JV6XTZ6N.cjs.map +0 -1
- package/dist/cjs/chunk-OBABVT2T.cjs +0 -1
- package/dist/cjs/chunk-OBABVT2T.cjs.map +0 -1
- package/dist/cjs/chunk-R3PK3BJI.cjs +0 -1
- package/dist/cjs/chunk-R3PK3BJI.cjs.map +0 -1
- package/dist/cjs/chunk-SZJPBNRD.cjs +0 -1
- package/dist/cjs/chunk-SZJPBNRD.cjs.map +0 -1
- package/dist/cjs/core/defaults.cjs +0 -1
- package/dist/cjs/core/defaults.d.cts +0 -7
- package/dist/cjs/core/index.cjs +0 -1
- package/dist/cjs/core/index.cjs.map +0 -1
- package/dist/esm/chunk-3LEFYRZW.js +0 -1
- package/dist/esm/chunk-3LEFYRZW.js.map +0 -1
- package/dist/esm/chunk-4WDU3YKC.js +0 -1
- package/dist/esm/chunk-4WDU3YKC.js.map +0 -1
- package/dist/esm/chunk-M6I5B37D.js +0 -1
- package/dist/esm/chunk-M6I5B37D.js.map +0 -1
- package/dist/esm/chunk-NSB257RH.js +0 -1
- package/dist/esm/chunk-NSB257RH.js.map +0 -1
- package/dist/esm/chunk-PVPUCTHV.js.map +0 -1
- package/dist/esm/chunk-XOQVNVZN.js.map +0 -1
- package/dist/esm/core/defaults.d.ts +0 -7
- package/dist/esm/core/defaults.js +0 -1
- package/dist/esm/core/index.js +0 -1
- package/dist/esm/core/index.js.map +0 -1
package/dist/esm/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/vite.ts"],"names":[],"mappings":";AAEA,IAAO,eAAQ,MAAA,CAAO","file":"vite.js","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.vite;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/vite.ts"],"names":[],"mappings":";AAEA,IAAO,eAAQ,MAAA,CAAO","file":"vite.js","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.vite;\n"]}
|
package/dist/esm/webpack.d.ts
CHANGED
package/dist/esm/webpack.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{plugin as r}from"./chunk-
|
|
1
|
+
import{plugin as r}from"./chunk-UWCFV5EB.js";import"./chunk-ACT7JHIR.js";import"./chunk-W3LJ6ZCV.js";import"./chunk-F4MLQCW3.js";import"./chunk-QJ44JKA6.js";import"./chunk-6NT4DRFU.js";import"./chunk-YAFL67PE.js";import"./chunk-5LWBSAKY.js";import"./chunk-LUFDKQE7.js";import"./chunk-DYDVEZX2.js";import"./chunk-ML4PEJLI.js";import"./chunk-7QVYU63E.js";var o=r.webpack;export{o as default};//# sourceMappingURL=webpack.js.map
|
package/dist/esm/webpack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/webpack.ts"],"names":[],"mappings":";AAEA,IAAO,kBAAQ,MAAA,CAAO","file":"webpack.js","sourcesContent":["import { plugin } from './core';\n\nexport default plugin.webpack;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/webpack.ts"],"names":[],"mappings":";AAEA,IAAO,kBAAQ,MAAA,CAAO","file":"webpack.js","sourcesContent":["import { plugin } from './core/plugin';\n\nexport default plugin.webpack;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shellicar/build-clean",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Stephen Hellicar",
|
|
@@ -201,15 +201,15 @@
|
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
203
|
"devDependencies": {
|
|
204
|
-
"@nuxt/kit": "^4.
|
|
205
|
-
"@tsconfig/node22": "^22.0.
|
|
206
|
-
"@types/node": "^
|
|
207
|
-
"terser": "^5.44.
|
|
208
|
-
"tsup": "^8.5.
|
|
204
|
+
"@nuxt/kit": "^4.2.2",
|
|
205
|
+
"@tsconfig/node22": "^22.0.5",
|
|
206
|
+
"@types/node": "^25.0.3",
|
|
207
|
+
"terser": "^5.44.1",
|
|
208
|
+
"tsup": "^8.5.1",
|
|
209
209
|
"typescript": "^5.9.3"
|
|
210
210
|
},
|
|
211
211
|
"dependencies": {
|
|
212
|
-
"unplugin": "^2.3.
|
|
212
|
+
"unplugin": "^2.3.11"
|
|
213
213
|
},
|
|
214
214
|
"scripts": {
|
|
215
215
|
"build": "tsup",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./chunk-PK6SKIKE.cjs"),r="[0m",o="[31m",n="[33m",$="[34m",a="[90m",c="[32m";function s(s){const m="[build-cleaner]";return{debug:e.__name((e,...o)=>{s.debug&&console.log(`${a}${m} DEBG${r} ${e}`,...o)},"debug"),verbose:e.__name((e,...o)=>{s.verbose&&console.log(`${$}${m} VERB${r} ${e}`,...o)},"verbose"),info:e.__name((e,...o)=>{console.log(`${c}${m} INFO${r} ${e}`,...o)},"info"),warn:e.__name((e,...o)=>{console.warn(`${n}${m} WARN${r} ${e}`,...o)},"warn"),error:e.__name((e,...n)=>{console.error(`${o}${m} EROR${r} ${e}`,...n)},"error")}}e.__name(s,"createLogger"),exports.createLogger=s;//# sourceMappingURL=chunk-FD3CZK4P.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/createLogger.ts"],"names":["__name"],"mappings":";AAEA,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;AAEO,SAAS,aAAa,OAAA,EAA2B;AACtD,EAAA,MAAM,MAAA,GAAS,iBAAA;AAEf,EAAA,OAAO;AAAA,IACL,KAAA,kBAAOA,wBAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC1C,MAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,IAAI,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,MAC/E;AAAA,IACF,CAAA,EAJO,OAAA,CAAA;AAAA,IAKP,OAAA,kBAASA,wBAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC5C,MAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,IAAI,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,MAC/E;AAAA,IACF,CAAA,EAJS,SAAA,CAAA;AAAA,IAKT,IAAA,kBAAMA,wBAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AACzC,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAChF,CAAA,EAFM,MAAA,CAAA;AAAA,IAGN,IAAA,kBAAMA,wBAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AACzC,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,EAAG,MAAA,CAAO,MAAM,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAClF,CAAA,EAFM,MAAA,CAAA;AAAA,IAGN,KAAA,kBAAOA,wBAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC1C,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,MAAA,CAAO,GAAG,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAChF,CAAA,EAFO,OAAA;AAAA,GAGT;AACF;AAxBgBA,wBAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"chunk-FD3CZK4P.cjs","sourcesContent":["import type { ILogger, Options } from './types';\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\nexport function createLogger(options: Options): ILogger {\n const prefix = '[build-cleaner]';\n\n return {\n debug: (message: string, ...args: any[]) => {\n if (options.debug) {\n console.log(`${colors.gray}${prefix} DEBG${colors.reset} ${message}`, ...args);\n }\n },\n verbose: (message: string, ...args: any[]) => {\n if (options.verbose) {\n console.log(`${colors.blue}${prefix} VERB${colors.reset} ${message}`, ...args);\n }\n },\n info: (message: string, ...args: any[]) => {\n console.log(`${colors.green}${prefix} INFO${colors.reset} ${message}`, ...args);\n },\n warn: (message: string, ...args: any[]) => {\n console.warn(`${colors.yellow}${prefix} WARN${colors.reset} ${message}`, ...args);\n },\n error: (message: string, ...args: any[]) => {\n console.error(`${colors.red}${prefix} EROR${colors.reset} ${message}`, ...args);\n },\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/validateOutDir.ts"],"names":["__name","resolve","relative"],"mappings":"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","file":"chunk-JV6XTZ6N.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 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./chunk-JV6XTZ6N.cjs"),i=require("./chunk-JAUU4VPS.cjs"),t=require("./chunk-CKDUYIXO.cjs"),s=require("./chunk-PK6SKIKE.cjs"),r=require("node:path");async function n(s,n,o,u){e.validateOutDir(s,u);try{u.debug(`Starting cleanup of directory: "${s}"`),u.debug(`Built files count: ${n.size}`);const e=await t.getAllFiles(s,u);if(u.debug(`Existing files count: ${e.length}`),0===e.length&&n.size>0)return void u.error('Disable tsup "clean: true" to use this plugin. (You can ignore this message if this is the first time you have built your package)');u.info(`Processing ${e.length} existing files vs ${n.size} built files`);const l=[];for(const i of e){const e=r.relative(process.cwd(),i);u.verbose(`Checking file: "${e}"`),n.has(e)?u.verbose(`Keeping built file: "${e}"`):(l.push(i),u.verbose(`Marked for deletion: "${e}"`))}if(l.length>0){const e=o.destructive?"":" (dry run)";u.warn(`Files marked for deletion: ${l.length}${e}`)}else u.info("No files marked for deletion");let c=0;for(const e of l){const t=r.relative(process.cwd(),e);u.info(`Deleting: "${t}"`),o.destructive&&await i.deleteFile(e,u),c++}0===c?u.info("No unused files found"):o.destructive||u.info(`Set destructive: true to actually delete the ${c} unused file(s)`)}catch(e){throw u.error("Error during cleanup:",e),e}}s.__name(n,"cleanUnusedFiles"),exports.cleanUnusedFiles=n;//# sourceMappingURL=chunk-OBABVT2T.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/cleanUnusedFiles.ts"],"names":["validateOutDir","getAllFiles","relative","deleteFile","__name"],"mappings":"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","file":"chunk-OBABVT2T.cjs","sourcesContent":["import { relative } from 'node:path';\nimport { deleteFile } from './deleteFile';\nimport { getAllFiles } from './getAllFiles';\nimport type { ILogger, Options } from './types';\nimport { validateOutDir } from './validateOutDir';\n\nexport async function cleanUnusedFiles(outDir: string, builtFiles: Set<string>, options: Options, logger: ILogger): Promise<void> {\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.error('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 // TODO: Remove empty directories after deleting files\n } catch (error) {\n logger.error('Error during cleanup:', error);\n throw error;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./chunk-OBABVT2T.cjs"),i=require("./chunk-FD3CZK4P.cjs"),n=require("./chunk-SZJPBNRD.cjs"),r=require("./chunk-PK6SKIKE.cjs"),t=require("unplugin"),u=r.__name((r={})=>{const t={...n.defaults,...r},u=i.createLogger(t);return{name:"@shellicar/build-clean",enforce:"post",esbuild:{setup(i){i.initialOptions.metafile=!0,i.onEnd(async n=>{u.debug("Build completed, starting cleanup process");const r=i.initialOptions.outdir;if(!r)throw new Error("[build-cleaner] No output directory specified in build options");if(!n.metafile)throw new Error("[build-cleaner] No metafile available - ensure metafile is enabled");const l=new Set(Object.keys(n.metafile.outputs));u.debug(`Found ${l.size} built files in metafile for directory: "${r}"`),await e.cleanUnusedFiles(r,l,t,u)})}}}},"pluginFactory"),l=t.createUnplugin(u);exports.plugin=l;//# sourceMappingURL=chunk-R3PK3BJI.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/index.ts"],"names":["__name","defaults","createLogger","cleanUnusedFiles","createUnplugin"],"mappings":"sPAMA,IAAM,aAAA,mBAAsDA,wBAAA,CAAA,CAAC,cAAA,GAA0B,EAAC,KAAM;AAC5F,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,GAAGC,0BAAA;AAAA,IACH,GAAG;AAAA,GACL;AAEA,EAAA,MAAM,MAAA,GAASC,+BAAa,OAAO,CAAA;AAEnC,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,OAAA,EAAS,MAAM,CAAA;AAAA,QAC5D,CAAC,CAAA;AAAA,MACH;AAAA;AACF,GACF;AACF,CAAA,EAnC4D,eAAA,CAAA;AAqCrD,IAAM,MAAA,GAASC,wBAAe,aAAa","file":"chunk-R3PK3BJI.cjs","sourcesContent":["import { createUnplugin, type UnpluginFactory, type UnpluginOptions } from 'unplugin';\nimport { cleanUnusedFiles } from './cleanUnusedFiles';\nimport { createLogger } from './createLogger';\nimport { defaults } from './defaults';\nimport type { Options } from './types';\n\nconst pluginFactory: UnpluginFactory<Options | undefined> = (initialOptions: Options = {}) => {\n const options = {\n ...defaults,\n ...initialOptions,\n };\n\n const logger = createLogger(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, logger);\n });\n },\n },\n } satisfies UnpluginOptions;\n};\n\nexport const plugin = createUnplugin(pluginFactory);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.defaults={debug:!1,verbose:!1,destructive:!1};//# sourceMappingURL=chunk-SZJPBNRD.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/defaults.ts"],"names":[],"mappings":";AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,KAAA,EAAO,KAAA;AAAA,EACP,OAAA,EAAS,KAAA;AAAA,EACT,WAAA,EAAa;AACf","file":"chunk-SZJPBNRD.cjs","sourcesContent":["import type { Options } from './types';\n\nexport const defaults = {\n debug: false,\n verbose: false,\n destructive: false,\n} satisfies Options;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("../chunk-SZJPBNRD.cjs");require("../chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"defaults",{enumerable:!0,get:function(){return e.defaults}});//# sourceMappingURL=defaults.cjs.map
|
package/dist/cjs/core/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"),Object.defineProperty(exports,"plugin",{enumerable:!0,get:function(){return e.plugin}});//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{validateOutDir as e}from"./chunk-PVPUCTHV.js";import{deleteFile as t}from"./chunk-XOQVNVZN.js";import{getAllFiles as i}from"./chunk-NTAOZL73.js";import{__name as o}from"./chunk-7QVYU63E.js";import{relative as s}from"node:path";async function r(o,r,n,u){e(o,u);try{u.debug(`Starting cleanup of directory: "${o}"`),u.debug(`Built files count: ${r.size}`);const e=await i(o,u);if(u.debug(`Existing files count: ${e.length}`),0===e.length&&r.size>0)return void u.error('Disable tsup "clean: true" to use this plugin. (You can ignore this message if this is the first time you have built your package)');u.info(`Processing ${e.length} existing files vs ${r.size} built files`);const c=[];for(const t of e){const e=s(process.cwd(),t);u.verbose(`Checking file: "${e}"`),r.has(e)?u.verbose(`Keeping built file: "${e}"`):(c.push(t),u.verbose(`Marked for deletion: "${e}"`))}if(c.length>0){const e=n.destructive?"":" (dry run)";u.warn(`Files marked for deletion: ${c.length}${e}`)}else u.info("No files marked for deletion");let l=0;for(const e of c){const i=s(process.cwd(),e);u.info(`Deleting: "${i}"`),n.destructive&&await t(e,u),l++}0===l?u.info("No unused files found"):n.destructive||u.info(`Set destructive: true to actually delete the ${l} unused file(s)`)}catch(e){throw u.error("Error during cleanup:",e),e}}o(r,"cleanUnusedFiles");export{r as cleanUnusedFiles};//# sourceMappingURL=chunk-3LEFYRZW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/cleanUnusedFiles.ts"],"names":[],"mappings":"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","file":"chunk-3LEFYRZW.js","sourcesContent":["import { relative } from 'node:path';\nimport { deleteFile } from './deleteFile';\nimport { getAllFiles } from './getAllFiles';\nimport type { ILogger, Options } from './types';\nimport { validateOutDir } from './validateOutDir';\n\nexport async function cleanUnusedFiles(outDir: string, builtFiles: Set<string>, options: Options, logger: ILogger): Promise<void> {\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.error('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 // TODO: Remove empty directories after deleting files\n } catch (error) {\n logger.error('Error during cleanup:', error);\n throw error;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={debug:!1,verbose:!1,destructive:!1};export{e as defaults};//# sourceMappingURL=chunk-4WDU3YKC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/defaults.ts"],"names":[],"mappings":";AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,KAAA,EAAO,KAAA;AAAA,EACP,OAAA,EAAS,KAAA;AAAA,EACT,WAAA,EAAa;AACf","file":"chunk-4WDU3YKC.js","sourcesContent":["import type { Options } from './types';\n\nexport const defaults = {\n debug: false,\n verbose: false,\n destructive: false,\n} satisfies Options;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__name as o}from"./chunk-7QVYU63E.js";var e="[0m",r="[31m",$="[33m",n="[34m",c="[90m",l="[32m";function s(s){const g="[build-cleaner]";return{debug:o((o,...r)=>{s.debug&&console.log(`${c}${g} DEBG${e} ${o}`,...r)},"debug"),verbose:o((o,...r)=>{s.verbose&&console.log(`${n}${g} VERB${e} ${o}`,...r)},"verbose"),info:o((o,...r)=>{console.log(`${l}${g} INFO${e} ${o}`,...r)},"info"),warn:o((o,...r)=>{console.warn(`${$}${g} WARN${e} ${o}`,...r)},"warn"),error:o((o,...$)=>{console.error(`${r}${g} EROR${e} ${o}`,...$)},"error")}}o(s,"createLogger");export{s as createLogger};//# sourceMappingURL=chunk-M6I5B37D.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/createLogger.ts"],"names":[],"mappings":";AAEA,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;AAEO,SAAS,aAAa,OAAA,EAA2B;AACtD,EAAA,MAAM,MAAA,GAAS,iBAAA;AAEf,EAAA,OAAO;AAAA,IACL,KAAA,kBAAO,MAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC1C,MAAA,IAAI,QAAQ,KAAA,EAAO;AACjB,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,IAAI,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,MAC/E;AAAA,IACF,CAAA,EAJO,OAAA,CAAA;AAAA,IAKP,OAAA,kBAAS,MAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC5C,MAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,IAAI,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,MAC/E;AAAA,IACF,CAAA,EAJS,SAAA,CAAA;AAAA,IAKT,IAAA,kBAAM,MAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AACzC,MAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAChF,CAAA,EAFM,MAAA,CAAA;AAAA,IAGN,IAAA,kBAAM,MAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AACzC,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,EAAG,MAAA,CAAO,MAAM,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAClF,CAAA,EAFM,MAAA,CAAA;AAAA,IAGN,KAAA,kBAAO,MAAA,CAAA,CAAC,OAAA,EAAA,GAAoB,IAAA,KAAgB;AAC1C,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,MAAA,CAAO,GAAG,CAAA,EAAG,MAAM,CAAA,KAAA,EAAQ,MAAA,CAAO,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,GAAG,IAAI,CAAA;AAAA,IAChF,CAAA,EAFO,OAAA;AAAA,GAGT;AACF;AAxBgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"chunk-M6I5B37D.js","sourcesContent":["import type { ILogger, Options } from './types';\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\nexport function createLogger(options: Options): ILogger {\n const prefix = '[build-cleaner]';\n\n return {\n debug: (message: string, ...args: any[]) => {\n if (options.debug) {\n console.log(`${colors.gray}${prefix} DEBG${colors.reset} ${message}`, ...args);\n }\n },\n verbose: (message: string, ...args: any[]) => {\n if (options.verbose) {\n console.log(`${colors.blue}${prefix} VERB${colors.reset} ${message}`, ...args);\n }\n },\n info: (message: string, ...args: any[]) => {\n console.log(`${colors.green}${prefix} INFO${colors.reset} ${message}`, ...args);\n },\n warn: (message: string, ...args: any[]) => {\n console.warn(`${colors.yellow}${prefix} WARN${colors.reset} ${message}`, ...args);\n },\n error: (message: string, ...args: any[]) => {\n console.error(`${colors.red}${prefix} EROR${colors.reset} ${message}`, ...args);\n },\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cleanUnusedFiles as e}from"./chunk-3LEFYRZW.js";import{createLogger as i}from"./chunk-M6I5B37D.js";import{defaults as t}from"./chunk-4WDU3YKC.js";import{__name as o}from"./chunk-7QVYU63E.js";import{createUnplugin as r}from"unplugin";var n=r(o((o={})=>{const r={...t,...o},n=i(r);return{name:"@shellicar/build-clean",enforce:"post",esbuild:{setup(i){i.initialOptions.metafile=!0,i.onEnd(async t=>{n.debug("Build completed, starting cleanup process");const o=i.initialOptions.outdir;if(!o)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 l=new Set(Object.keys(t.metafile.outputs));n.debug(`Found ${l.size} built files in metafile for directory: "${o}"`),await e(o,l,r,n)})}}}},"pluginFactory"));export{n as plugin};//# sourceMappingURL=chunk-NSB257RH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/index.ts"],"names":[],"mappings":"4NAMA,IAAM,aAAA,mBAAsD,MAAA,CAAA,CAAC,cAAA,GAA0B,EAAC,KAAM;AAC5F,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,GAAG,QAAA;AAAA,IACH,GAAG;AAAA,GACL;AAEA,EAAA,MAAM,MAAA,GAAS,aAAa,OAAO,CAAA;AAEnC,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,MAAM,gBAAA,CAAiB,MAAA,EAAQ,UAAA,EAAY,OAAA,EAAS,MAAM,CAAA;AAAA,QAC5D,CAAC,CAAA;AAAA,MACH;AAAA;AACF,GACF;AACF,CAAA,EAnC4D,eAAA,CAAA;AAqCrD,IAAM,MAAA,GAAS,eAAe,aAAa","file":"chunk-NSB257RH.js","sourcesContent":["import { createUnplugin, type UnpluginFactory, type UnpluginOptions } from 'unplugin';\nimport { cleanUnusedFiles } from './cleanUnusedFiles';\nimport { createLogger } from './createLogger';\nimport { defaults } from './defaults';\nimport type { Options } from './types';\n\nconst pluginFactory: UnpluginFactory<Options | undefined> = (initialOptions: Options = {}) => {\n const options = {\n ...defaults,\n ...initialOptions,\n };\n\n const logger = createLogger(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, logger);\n });\n },\n },\n } satisfies UnpluginOptions;\n};\n\nexport const plugin = createUnplugin(pluginFactory);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/validateOutDir.ts"],"names":[],"mappings":"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","file":"chunk-PVPUCTHV.js","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/deleteFile.ts"],"names":[],"mappings":"+EAGA,eAAsB,UAAA,CAAW,UAAkB,MAAA,EAAgC;AACjF,EAAA,IAAI;AACF,IAAA,MAAM,OAAO,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;AANsB,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA","file":"chunk-XOQVNVZN.js","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 +0,0 @@
|
|
|
1
|
-
export{defaults}from"../chunk-4WDU3YKC.js";import"../chunk-7QVYU63E.js";//# sourceMappingURL=defaults.js.map
|
package/dist/esm/core/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{plugin}from"../chunk-NSB257RH.js";import"../chunk-3LEFYRZW.js";import"../chunk-PVPUCTHV.js";import"../chunk-M6I5B37D.js";import"../chunk-4WDU3YKC.js";import"../chunk-XOQVNVZN.js";import"../chunk-NTAOZL73.js";import"../chunk-7QVYU63E.js";//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|