{"_id":"@carlosjimenohernandez/vuebundler","_rev":"2-2fbed40344951ae3210adaf26c150b0f","name":"@carlosjimenohernandez/vuebundler","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@carlosjimenohernandez/vuebundler","version":"1.0.0","keywords":["bundler","html","css","js","vue","no-webpack","simple"],"author":{"name":"carlosjimenohernandez"},"license":"WTFPL","_id":"@carlosjimenohernandez/vuebundler@1.0.0","maintainers":[{"name":"carlosjimenohernandez","email":"jimenohernandezcarlos@gmail.com"}],"bin":{"vuebundler":"vuebundler.bin.js"},"dist":{"shasum":"171944eac05f46c2da308ad7d55ed987150b20e3","tarball":"https://registry.npmjs.org/@carlosjimenohernandez/vuebundler/-/vuebundler-1.0.0.tgz","fileCount":24,"integrity":"sha512-G2UamT2Pnx5mZca01U3enUBrPG6D0GpgMxvMTt+JCkhh9unc6bS0SnWbHVWP4cJKtuZOCSvnY99M3O/6mxS0Nw==","signatures":[{"sig":"MEYCIQCVjQJqh8rJGQGpuBdnWtSRSXdt4JhqVcIEWqmJy4UW2wIhAJBshJcOD0htGgnkjCYz5SifljG6FKI6ErcLKkxQ37g1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448097},"main":"vuebundler.js","gitHead":"545483f46b03b36093ab261ec4f270c9a01e3041","scripts":{"test":"npx mocha --bail test/test.js","build":"echo 'no building for @allnulled/vuebundler'","versionate":"echo 'no versionate for @allnulled/vuebundler'"},"_npmUser":{"name":"carlosjimenohernandez","email":"jimenohernandezcarlos@gmail.com"},"_npmVersion":"9.6.7","description":"Like simplebundler but using a *.js list file instead of a directory","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vuebundler_1.0.0_1756576895307_0.6104256313264549","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@carlosjimenohernandez/vuebundler","version":"1.0.1","description":"Like simplebundler but using a *.js list file instead of a directory","main":"vuebundler.js","bin":{"vuebundler":"vuebundler.bin.js"},"scripts":{"build":"echo 'no building for @allnulled/vuebundler'","test":"npx mocha --bail test/test.js","versionate":"echo 'no versionate for @allnulled/vuebundler'"},"keywords":["bundler","html","css","js","vue","no-webpack","simple"],"author":{"name":"carlosjimenohernandez"},"license":"WTFPL","gitHead":"b495c38e5b9dfc879c55f07f5e2092a23d581abd","_id":"@carlosjimenohernandez/vuebundler@1.0.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-JdjFH30PGGYNEWLM8RF08i1UCN+aLwKM+OiDcgm4tW+xVUk6WRsS/njgh3UHZPbkmGtMmlAvyBLoUTzBx0JOoQ==","shasum":"10b98dd070c0f243d1f6be0c8e4a2d78cafbf976","tarball":"https://registry.npmjs.org/@carlosjimenohernandez/vuebundler/-/vuebundler-1.0.1.tgz","fileCount":24,"unpackedSize":448096,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCssyEQP1XcTm2ZdMWprKjIAmN0iz2PWSEvMbUHuqs+cQIgdSQ74Q7BGoqTjwpyMpPC5dTjZSIgWCfZ5vC8/T7j03o="}]},"_npmUser":{"name":"carlosjimenohernandez","email":"jimenohernandezcarlos@gmail.com"},"directories":{},"maintainers":[{"name":"carlosjimenohernandez","email":"jimenohernandezcarlos@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vuebundler_1.0.1_1757403778655_0.8303652053338937"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-30T18:01:35.188Z","modified":"2025-09-09T07:42:59.053Z","1.0.0":"2025-08-30T18:01:35.538Z","1.0.1":"2025-09-09T07:42:58.858Z"},"author":{"name":"carlosjimenohernandez"},"license":"WTFPL","keywords":["bundler","html","css","js","vue","no-webpack","simple"],"description":"Like simplebundler but using a *.js list file instead of a directory","maintainers":[{"name":"carlosjimenohernandez","email":"jimenohernandezcarlos@gmail.com"}],"readme":"# vuebundler\n\nPack Vue.js (v2) components from CLI or API from a list of files. But no webpack or shit. Simple.\n\nIt can work in other more wide scenarios, because it just bundles all the `.css`, and all the `.js` together, injecting the `.html` files as string through `$template` first match in the `.js`.\n\nBut, you know. No webpack or shit.\n\n## Install\n\n```sh\nnpm i -g @carlosjimenohernandez/vuebundler\n```\n\n## Usage by CLI\n\n```sh\nvuebundler\n  --list bundlelist.js\n  --output dist/components.js\n  --ignore file4.js file7.js file9.js\n  --id MyCoolAPI\n  --module false\n```\n\n## Usage by API\n\n```js\nrequire(__dirname + \"/vuebundler.js\").bundle({\n    list: \"bundlelist.js\",\n    output: \"test/example1/dist/components.js\",\n    module: true,\n    id: \"Lib1\",\n    ignore: [],\n});\n```\n\nWhile in `bundlelist.js` you have to provide something like:\n\n```js\nmodule.exports = [\n  __dirname + \"/test/example1/lib/components/page1/page1\",\n  __dirname + \"/test/example1/lib/components/page1/page2\",\n  __dirname + \"/test/example1/lib/components/page1/page3\",\n];\n```\n\nNote that the `.html`, `.js` and `.css` extensions are omitted, as they MUST be these ones.\n\nSo, for each component we have, with their respective names:\n\n- `page1.html`\n- `page1.js`\n- `page1.css`\n\nEverything is normal, except that in the `.js` you have to provide something like:\n\n```js\nVue.component(\"page-1\", {\n  name: \"page-1\",\n  template: $template,\n  props: {},\n  data() {\n    return {}\n  },\n  methods: {},\n  watch: {},\n  beforeCreate() {},\n  created() {},\n  beforeMount() {},\n  mounted() {},\n  beforeUpdate() {},\n  updated() {},\n  beforeDestroy() {},\n  destroyed() {},\n  activated() {},\n  deactivated() {},\n});\n```\n\nNote that `template` is filled with `$template`. The bundler pipes the text so it replaces the first `$template` match with the `.html` provided.\n\nThat is how the template component is injected in the logical component.\n\nThe bundler will take care to append all the JavaScript in a JavaScript file, and all the CSS in a CSS file.\n\nThe last step is to generate the `output.js` and `output.css`. The bundler uses the `--output` option as for the `.js`, and removes that same extension and appends the `.css` for the `.css`.\n\nThis way, only providing the `.js` name, the `.css` name is overstood.\n\n","readmeFilename":"README.md"}