{"_id":"@adesso-se/vite-plugin-legacy-js-concat","_rev":"4-27902659a801fe323a404778d4bcadaf","name":"@adesso-se/vite-plugin-legacy-js-concat","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.3":{"name":"@adesso-se/vite-plugin-legacy-js-concat","version":"1.0.3","keywords":["vite","vite-plugin","legacy","concat","javascript","gulp"],"author":{"name":"Friedrich Lasnia","email":"Friedrich.Lasnia@adesso.de"},"license":"MIT","_id":"@adesso-se/vite-plugin-legacy-js-concat@1.0.3","maintainers":[{"name":"philipdallmer","email":"philipdallmer@googlemail.com"},{"name":"burningenlighenment","email":"henrik@gassmann.onl"},{"name":"adtobi","email":"tobias.struckmeier@adesso.de"},{"name":"falvhb","email":"falvhb@furikuri.de"}],"homepage":"https://github.com/adessoSE/vite-plugin-legacy-js-concat","bugs":{"url":"https://github.com/adessoSE/vite-plugin-legacy-js-concat/issues"},"dist":{"shasum":"7bb26e9c6b39d7dba62193941933fd93d14ec4b1","tarball":"https://registry.npmjs.org/@adesso-se/vite-plugin-legacy-js-concat/-/vite-plugin-legacy-js-concat-1.0.3.tgz","fileCount":3,"integrity":"sha512-WKJRijSr7hEi436wSlp6uOjxMOCnQpx9jCJ/K3sL25+ZTaZm1dSiM+UdM9n9w8qzwiU6CEzM6qJZ5NOwXDKMCQ==","signatures":[{"sig":"MEYCIQDaaeU103us4f6JJ7W4TUoczlcufXxvgZMi4kCqfqBBvAIhANWb8Ns3kLuUjKnECnrXa+Mq0vcjqpCRh180RsBjGjPb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adesso-se%2fvite-plugin-legacy-js-concat@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5566},"main":"src/vite-plugin-legacy-js-concat.js","gitHead":"b7073a55d311e677c86b1c6436c0d6612d24a0c3","scripts":{"dev":"vite ./test/app --config ./vite.config.js","tag":"git tag v$(node -p \"require('./package.json').version\") && git push origin v$(node -p \"require('./package.json').version\")","test":"vitest"},"_npmUser":{"name":"falvhb","email":"falvhb@furikuri.de"},"repository":{"url":"git+https://github.com/adessoSE/vite-plugin-legacy-js-concat.git","type":"git"},"_npmVersion":"10.9.3","description":"Concatenate legacy JavaScript files in a specific order into a single bundle for Vite, replacement for gulp-concat.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.5","vitest":"^3.2.4"},"peerDependencies":{"vite":"^3.0.0 || ^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-legacy-js-concat_1.0.3_1757586479654_0.3937787467261702","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@adesso-se/vite-plugin-legacy-js-concat","version":"1.0.5","keywords":["vite","vite-plugin","legacy","concat","javascript","gulp"],"author":{"name":"Friedrich Lasnia","email":"Friedrich.Lasnia@adesso.de"},"license":"MIT","_id":"@adesso-se/vite-plugin-legacy-js-concat@1.0.5","maintainers":[{"name":"falvhb","email":"falvhb@furikuri.de"},{"name":"burningenlighenment","email":"henrik@gassmann.onl"}],"homepage":"https://github.com/adessoSE/vite-plugin-legacy-js-concat","bugs":{"url":"https://github.com/adessoSE/vite-plugin-legacy-js-concat/issues"},"dist":{"shasum":"c1d0afe6513c21554d3878a1cf223ff489aff9d5","tarball":"https://registry.npmjs.org/@adesso-se/vite-plugin-legacy-js-concat/-/vite-plugin-legacy-js-concat-1.0.5.tgz","fileCount":3,"integrity":"sha512-60wQ8kl04W1fNHFdcGv9xK/nx/BCZrQA2sRxG+jbYWcyi5sPXIOoR5lPgvNzguLPl21D9h6XH+QX+rS1PP55bA==","signatures":[{"sig":"MEUCIBbrHWLfhHNoc1Cr5MM5vpjFwn/DXFvNKkNkh/8Z3O5VAiEAuV2jqZ+Tep09pdwEjsePxUMiYmj6HXksQiE2YaG4RUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adesso-se%2fvite-plugin-legacy-js-concat@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5566},"main":"src/vite-plugin-legacy-js-concat.js","gitHead":"b3c627a96de9bdcc99a48c06fcbe38fa33ffb78e","scripts":{"dev":"vite ./test/app --config ./vite.config.js","tag":"git tag v$(node -p \"require('./package.json').version\") && git push origin v$(node -p \"require('./package.json').version\")","test":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49b80c2c-0db1-4764-8182-b4f8ac4be5cf"}},"repository":{"url":"git+https://github.com/adessoSE/vite-plugin-legacy-js-concat.git","type":"git"},"_npmVersion":"11.6.0","description":"Concatenate legacy JavaScript files in a specific order into a single bundle for Vite, replacement for gulp-concat.","directories":{},"_nodeVersion":"24.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.5","vitest":"^3.2.4"},"peerDependencies":{"vite":"^3.0.0 || ^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-legacy-js-concat_1.0.5_1757592439500_0.6082116173504455","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-09-11T10:27:59.583Z","modified":"2025-09-11T12:12:23.285Z","1.0.3":"2025-09-11T10:27:59.857Z","1.0.5":"2025-09-11T12:07:19.718Z"},"bugs":{"url":"https://github.com/adessoSE/vite-plugin-legacy-js-concat/issues"},"author":{"name":"Friedrich Lasnia","email":"Friedrich.Lasnia@adesso.de"},"license":"MIT","homepage":"https://github.com/adessoSE/vite-plugin-legacy-js-concat","keywords":["vite","vite-plugin","legacy","concat","javascript","gulp"],"repository":{"url":"git+https://github.com/adessoSE/vite-plugin-legacy-js-concat.git","type":"git"},"description":"Concatenate legacy JavaScript files in a specific order into a single bundle for Vite, replacement for gulp-concat.","maintainers":[{"email":"falvhb@furikuri.de","name":"falvhb"}],"readme":"# @adesso-se/vite-plugin-legacy-js-concat\n\nConcatenates legacy, non-module JavaScript files in a specific order.\nThe plugin creates a virtual module to import in your Vite app. This is useful for migrating old Gulp projects to Vite without immediately refactoring the code. A proper refactor is still the best long-term solution.\n\nConsider it if your JavaScript requires:\n\n- **Global Scope**: Your scripts depend on global variables (window).\n- **Strict Order**: Your files must execute in a specific sequence.\n- **Simple Bundling**: You need to concatenate files without ES module conversion.\n\n## Installation\n    \n    npm install @adesso-se/vite-plugin-legacy-js-concat --save-dev\n\n## Example\nAn old Gulp setup might bundle scripts with dependencies like this:\n\n```html\n<!-- build:js scripts/main.js -->\n<script src=\"scripts/config.js\"></script>\n<script src=\"scripts/helpers.js\"></script>\n<script src=\"scripts/logic.js\"></script>\n<!-- endbuild -->\n```\n\nTo migrate this to Vite, add the plugin to `vite.config.js`. The order of files must be correct.\n\n### vite.config.js:\n\n```javascript\nimport { defineConfig } from 'vite';\nimport { legacyConcat } from '@adesso-se/vite-plugin-legacy-js-concat';\n\nexport default defineConfig({\n// ...\n    plugins: [\n        legacyConcat({\n            files: [\n                'scripts/config.js',\n                'scripts/helpers.js',\n                'scripts/logic.js'\n            ],\n        }),\n    ],\n});\n```\n\nThen, import the virtual bundle in your app's entry point:\n\n### app.js:\n\n```javascript\nimport 'virtual:legacy-bundle';\n```\n\n## Restrictions\n\n- Only works for JS.\n- Only works for a single target JS file.\n- The build will fail if a file reference is not found.\n\n## Migration Tips\n\nSome lessons learning during the migration of a complex legacy app.\n\nStylesheets can be imported directly in your `app.js`:\n\n```javascript\nimport 'styles/main.scss';\n```\n\nNPM packages that were previously included via `<script>` tags should be installed, imported as modules, and assigned to the window object if the legacy code needs them globally, e.g.\n\n```javascript\nimport * as markerClusterer from '@googlemaps/markerclusterer';\nwindow.markerClusterer = markerClusterer;\n```","readmeFilename":"README.md"}