diff --git a/package-lock.json b/package-lock.json index 3e8eeb1..7387e2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,7 +116,8 @@ "resolve-url-loader": "5.0.0", "sass": "1.76.0", "sass-loader": "14.0.0", - "vite": "^6.0.7" + "vite": "^6.0.7", + "vite-plugin-static-copy": "^2.2.0" } }, "node_modules/@ampproject/remapping": { @@ -6639,6 +6640,23 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -8587,6 +8605,16 @@ "license": "MIT", "peer": true }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -12100,6 +12128,63 @@ "picomatch": "^2.3.1" } }, + "node_modules/vite-plugin-static-copy": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-2.2.0.tgz", + "integrity": "sha512-ytMrKdR9iWEYHbUxs6x53m+MRl4SJsOSoMu1U1+Pfg0DjPeMlsRVx3RR5jvoonineDquIue83Oq69JvNsFSU5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.3", + "fast-glob": "^3.2.11", + "fs-extra": "^11.1.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/vite/node_modules/postcss": { "version": "8.4.49", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", diff --git a/package.json b/package.json index 840cc69..c350eb2 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,8 @@ "resolve-url-loader": "5.0.0", "sass": "1.76.0", "sass-loader": "14.0.0", - "vite": "^6.0.7" + "vite": "^6.0.7", + "vite-plugin-static-copy": "^2.2.0" }, "overrides": { "datatables.net": "1.13.11", diff --git a/vite.config.js b/vite.config.js index ba7c36b..39cf162 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,8 @@ -import {defineConfig} from 'vite'; +import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import html from '@rollup/plugin-html'; -import {glob} from 'glob'; +import { viteStaticCopy } from 'vite-plugin-static-copy' +import { glob } from 'glob'; /** * Get Files from a directory @@ -41,6 +42,7 @@ const FaCssFiles = GetFilesArray('resources/fontawesome/scss/!(_)*.scss'); // Processing Fonts Scss Files const FontsScssFiles = GetFilesArray('resources/assets/vendor/fonts/**/!(_)*.scss'); +const ImageFiles = GetFilesArray('resources/imgs/**/*.*'); // Processing Window Assignment for Libs like jKanban, pdfMake function libsWindowAssignment() { @@ -77,6 +79,14 @@ export default defineConfig({ ], refresh: true }), + viteStaticCopy({ + targets: [ + { + src: [...ImageFiles], + dest: '../imgs' + } + ] + }), html(), libsWindowAssignment() ]