mirror of
https://github.com/abhijithvijayan/web-extension-starter.git
synced 2025-10-07 07:22:37 +02:00
feat: clean the zip files on build
This commit is contained in:
parent
840fb9bd5f
commit
78b2ed7ca7
55
package-lock.json
generated
55
package-lock.json
generated
@ -30,6 +30,7 @@
|
||||
"typescript": "5.8.3",
|
||||
"vite": "6.3.5",
|
||||
"vite-plugin-checker": "0.9.3",
|
||||
"vite-plugin-clean": "2.0.1",
|
||||
"vite-plugin-zip-pack": "1.2.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -1125,6 +1126,42 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@rollup/pluginutils": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
|
||||
"integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/estree": "^1.0.0",
|
||||
"estree-walker": "^2.0.2",
|
||||
"picomatch": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"rollup": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/pluginutils/node_modules/picomatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.44.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz",
|
||||
@ -1800,6 +1837,13 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/estree-walker": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
@ -2849,6 +2893,17 @@
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/vite-plugin-clean": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-clean/-/vite-plugin-clean-2.0.1.tgz",
|
||||
"integrity": "sha512-I0pQDsY+VlqbKeR51v01fhujn+LSVnLS3a/6mcqVMCwuC5ZGBtR+wj3SxekaNpzsTwKfbkGbqoyHKn/CUEhg5w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^5.1.4",
|
||||
"vite": "^6.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vite-plugin-zip-pack": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-zip-pack/-/vite-plugin-zip-pack-1.2.4.tgz",
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
"typescript": "5.8.3",
|
||||
"vite": "6.3.5",
|
||||
"vite-plugin-checker": "0.9.3",
|
||||
"vite-plugin-clean": "2.0.1",
|
||||
"vite-plugin-zip-pack": "1.2.4"
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import react from "@vitejs/plugin-react";
|
||||
import process from "node:process";
|
||||
import zipPack from "vite-plugin-zip-pack";
|
||||
import checker from 'vite-plugin-checker';
|
||||
import clean from 'vite-plugin-clean';
|
||||
|
||||
import vitePluginWextManifest from "./vite-plugin-wext-manifest";
|
||||
|
||||
@ -15,6 +16,22 @@ export default defineConfig(({ mode }) => {
|
||||
|
||||
const getOutDir = () => path.resolve(destPath, targetBrowser);
|
||||
|
||||
const getExtensionZipFileName = () => {
|
||||
switch (targetBrowser) {
|
||||
case 'opera': {
|
||||
return `${targetBrowser}.crx`;
|
||||
}
|
||||
|
||||
case 'firefox': {
|
||||
return `${targetBrowser}.xpi`;
|
||||
}
|
||||
|
||||
default: {
|
||||
return `${targetBrowser}.zip`;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
root: sourcePath,
|
||||
|
||||
@ -35,12 +52,21 @@ export default defineConfig(({ mode }) => {
|
||||
plugins: [
|
||||
react(),
|
||||
|
||||
// delete previous built compressed file
|
||||
clean({
|
||||
targetFiles: [
|
||||
path.resolve(destPath, getExtensionZipFileName())
|
||||
],
|
||||
}),
|
||||
|
||||
// Run typescript checker in worker thread
|
||||
checker({
|
||||
typescript: {
|
||||
tsconfigPath: './tsconfig.json'
|
||||
},
|
||||
}),
|
||||
|
||||
// Generate manifest.json for the browser
|
||||
vitePluginWextManifest({
|
||||
manifestPath: "manifest.json",
|
||||
usePackageJSONVersion: true,
|
||||
@ -48,9 +74,10 @@ export default defineConfig(({ mode }) => {
|
||||
|
||||
!isDevelopment &&
|
||||
zipPack({
|
||||
outDir: destPath,
|
||||
outFileName: `${targetBrowser}.zip`,
|
||||
inDir: getOutDir(),
|
||||
outDir: destPath,
|
||||
outFileName: getExtensionZipFileName(),
|
||||
enableLogging: true,
|
||||
}),
|
||||
],
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user