{"_id":"@applaud/vuetify-loader","_rev":"1-aea8535edb563d1027dd7bc9b059f685","name":"@applaud/vuetify-loader","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@applaud/vuetify-loader","version":"1.0.0","description":"A Webpack plugin for treeshaking Vuetify components and more","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/Applaud-devpack/vuetify-loader.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Applaud"},"license":"MIT","bugs":{"url":"https://github.com/Applaud-devpack/vuetify-loader/issues"},"homepage":"https://github.com/Applaud-devpack/vuetify-loader#readme","dependencies":{"decache":"^4.6.0","file-loader":"^6.2.0","loader-utils":"^2.0.3"},"peerDependencies":{"vue-template-compiler":"^2.6.10","vuetify":"^1.3.0 || ^2.0.0","@applaud/webpack":"^1.0.2"},"optionalPeerDependencies":{"gm":"^1.23.0","pug":"^2.0.0","sharp":"^0.21.0"},"devDependencies":{"gm":"^1.23.1","sharp":"^0.27.0","vue":"^2.6.12","vue-template-compiler":"^2.6.12","vuetify":"^2.4.2"},"keywords":["applaud"],"gitHead":"3125c988821a642115a016f7cbe0ee762ee883f1","_id":"@applaud/vuetify-loader@1.0.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-CY/xqVna4kehN8uHvD0pjFq22xnMoq3EkR9F5qYTLNDQOWlfrOmjswiJeZIpTrZgR/Zv1RNqOE3f31DLS9tn9A==","shasum":"5e8a5c235d4ca232e03847cd2bf7fa92992d4fd9","tarball":"https://registry.npmjs.org/@applaud/vuetify-loader/-/vuetify-loader-1.0.0.tgz","fileCount":40,"unpackedSize":494895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF9ctfrXEM1HwUjA4cLSdRY+Azpo8qvJeNJkWyEyzOqgIhALi4sK9f8xA/ndMCBulm8iq7sX2exeA0zNdZR5Tvco08"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc1yaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqT9Q/9E0Ue/O+GcorWWPQrd/Ud8Gj6ItJ78T02ypkDqSgMyMIJbGig\r\nm+R7QqRIYYvYz5We9AYsgs4MlwwGJhLTNQE3spVL1rUKKQom5EeXvmxihFjG\r\nS0WYOfby6R+BdvMk02T5m7G0q9Oy3O1B1SIK1atZrrwuaKibdniBCi1rOdRX\r\nnKASQrfYzFpU/PKWx4i5ODKPktBiKtuF/2dFFffNBLgI42Kd4I9OW3tGBajf\r\nR+NU+H2+BHDTc4jOnBIV9I2DLr0nY4zKP1hL/9nCvcSibRe4ZR7EUVea3lcm\r\nox98rRo60+XB8zeQlzSfGVUKM16KEYgP3Q3URNIzV4O7TUhGLA9nB81yaqCZ\r\nqctRfkkRNcvLDgko6KfMIob5JZciijqSzcc7t0UrazXyyqgjxsAMV3z16DKQ\r\nzrTA/lCEh9SyDhtSMRZPhmfRtvdcvMcNPeHB+0x8Z6nTmhivWEiCKTfHVjkP\r\nwVw1LixbOea2F2mtOC6BAEbThojxZD+Mr0CwUliwm+CBDonpw6d3S6tbeGd8\r\npDPLm+Sh+/AQXp8OxDmdL2CNNwDH9A8DYYOCVQv91Pr/LLbBFc+xZ/wat5K6\r\n1EXX53vWzGqoWnuUqXM7Z7ut0QWhiJmWWwq4dCZrSEGAn9YqmTpGy42tWFH6\r\nyxQKvhpvH3jdrO30AYFRuEg8eX9L8bWNrko=\r\n=1Ang\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mahesh_reddy","email":"applaud.devpack@gmail.com"},"directories":{},"maintainers":[{"name":"mahesh_reddy","email":"applaud.devpack@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuetify-loader_1.0.0_1668504730186_0.022870711667944965"},"_hasShrinkwrap":false},"1.0.1":{"name":"@applaud/vuetify-loader","version":"1.0.1","description":"A Webpack plugin for treeshaking Vuetify components and more","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/Applaud-devpack/vuetify-loader.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Applaud"},"license":"MIT","bugs":{"url":"https://github.com/Applaud-devpack/vuetify-loader/issues"},"homepage":"https://github.com/Applaud-devpack/vuetify-loader#readme","dependencies":{"decache":"^4.6.0","file-loader":"^6.2.0","loader-utils":"^2.0.3"},"peerDependencies":{"vue-template-compiler":"^2.6.10","vuetify":"^1.3.0 || ^2.0.0","webpack":"npm:@applaud/webpack@^1.0.2"},"optionalPeerDependencies":{"gm":"^1.23.0","pug":"^2.0.0","sharp":"^0.21.0"},"devDependencies":{"gm":"^1.23.1","sharp":"^0.27.0","vue":"^2.6.12","vue-template-compiler":"^2.6.12","vuetify":"^2.4.2"},"keywords":["applaud"],"gitHead":"68ced37a1fd0eef6c1119aaf2cf9fe5a584fe7f6","_id":"@applaud/vuetify-loader@1.0.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/6s9Av2Ifr95vMA/Ksydsim4kdTdwQ1VaGsafsEqcmaFxO3p6AGnxFIgQMuaYEAxsZNxS+IebmL0Gz53svhjKw==","shasum":"a51fac53878d7b8f1294d4aded9efce96f4e7a9a","tarball":"https://registry.npmjs.org/@applaud/vuetify-loader/-/vuetify-loader-1.0.1.tgz","fileCount":40,"unpackedSize":494915,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKAQfZh6Rw/uRlZ+1iYUz4e4GAKXDZSskDLSnqsRJwmAiAaUbV89Idl5zhpBb8wTyWRhm2apSYnLbx+QZ7kZwydoQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdLRlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofQA//ekT4qcf59arCzRdHaggd8TIsYxOoxPHNICdql5UG82oTA4bz\r\npJ9jYJwIdEI2B5zgLKR5Nu5tRIaQ0zZvuu00A/iOtKL7WAsRMZCMBbnpoZ93\r\nY+Y6V1p79x45bpGCXPavBSGYxKJCtaTXsp2d5MiN6JCOHuugvKMZ3l4i44fV\r\nYdcPNi+IiphfBgqa5EgfIYzSIu33LZR2UMLvPsLMqA7155LjUqTWGoJE9H/L\r\njz1+1xQzEpYGk4FsQKVYJIeZTrBrDS9E+5+Gw/XCbJyPsmzkv5UE2ZuHdBri\r\n3PWO/MikH/PeGGopxN/yITXITVllH1+kT5nP6PTx4ltcwh2hz9NKfJFFDyF5\r\nQxQRWsAcdRPp2CmHn3p/3wxWQGCrWuOGCUgxY56yaiuqMr1d4RzWjThXE/3r\r\nydM1ZKjUEynKMhttgHr5syoV0PFzaMJ+66Hng3wAhtc2nx1Nknr8MUNCeqAI\r\nLI93RP6eRDAeQzP2eGk9eemDmutZSGqT2+chIz1pd5D+/D9nITtNCP7N1bl/\r\n01pFrAiC/P8fmg7LttGPAgeqoZwybOeOnlqxFh7BwUaDghk9KCkHncsbXVXg\r\n337iBFji9zOdaEeH9aBDrIE4D4rUm/GqS7PZdBCFW4bFy+EinEes5XgtlLZB\r\npS915A1HXJ7BhQ0X2nbQpbLfqMKvKVqY7Ok=\r\n=Y71e\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mahesh_reddy","email":"applaud.devpack@gmail.com"},"directories":{},"maintainers":[{"name":"mahesh_reddy","email":"applaud.devpack@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vuetify-loader_1.0.1_1668592741584_0.1202337930416355"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-15T09:32:10.062Z","1.0.0":"2022-11-15T09:32:10.385Z","modified":"2022-11-16T09:59:01.925Z","1.0.1":"2022-11-16T09:59:01.836Z"},"maintainers":[{"name":"mahesh_reddy","email":"applaud.devpack@gmail.com"}],"description":"A Webpack plugin for treeshaking Vuetify components and more","homepage":"https://github.com/Applaud-devpack/vuetify-loader#readme","keywords":["applaud"],"repository":{"type":"git","url":"git+https://github.com/Applaud-devpack/vuetify-loader.git"},"author":{"name":"Applaud"},"bugs":{"url":"https://github.com/Applaud-devpack/vuetify-loader/issues"},"license":"MIT","readme":"# @applaud/vuetify-loader\n\n<p align=\"center\">\n  <a href=\"https://www.patreon.com/kaelwd\">\n    <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" alt=\"Become a Patron\" />\n  </a>\n</p>\n\n## Automatic Imports\n`@applaud/vuetify-loader` will automatically import all Vuetify components as you use them\n\n```js\n// webpack.config.js\n\nconst { VuetifyLoaderPlugin } = require('@applaud/vuetify-loader')\n\nexports.plugins.push(\n  new VuetifyLoaderPlugin()\n)\n```\n\nYou can also provide a custom match function to import your own project's components too:\n```js\n// webpack.config.js\n\nconst { VuetifyLoaderPlugin } = require('@applaud/vuetify-loader')\n\nexports.plugins.push(\n  new VuetifyLoaderPlugin({\n    /**\n     * This function will be called for every tag used in each vue component\n     * It should return an array, the first element will be inserted into the\n     * components array, the second should be a corresponding import\n     *\n     * originalTag - the tag as it was originally used in the template\n     * kebabTag    - the tag normalised to kebab-case\n     * camelTag    - the tag normalised to PascalCase\n     * path        - a relative path to the current .vue file\n     * component   - a parsed representation of the current component\n     */\n    match (originalTag, { kebabTag, camelTag, path, component }) {\n      if (kebabTag.startsWith('core-')) {\n        return [camelTag, `import ${camelTag} from '@/components/core/${camelTag.substring(4)}.vue'`]\n      }\n    }\n  })\n)\n```\n\nor if you're using Vue CLI:\n```js\n// vue.config.js\n\nmodule.exports = {\n  chainWebpack: config => {\n    config.plugin('VuetifyLoaderPlugin').tap(args => [{\n      match (originalTag, { kebabTag, camelTag, path, component }) {\n        if (kebabTag.startsWith('core-')) {\n          return [camelTag, `import ${camelTag} from '@/components/core/${camelTag.substring(4)}.vue'`]\n        }\n      }\n    }])\n  }\n}\n```\n\n```html\n<template>\n  <core-form>\n    <v-card>\n      ...\n    </v-card>\n  </core-form>\n</template>\n\n<script>\n  export default {\n    ...\n  }\n</script>\n```\n\nWill be compiled into:\n\n```html\n<template>\n  <core-form>\n    <v-card>\n      ...\n    </v-card>\n  </core-form>\n</template>\n\n<script>\n  import { VCard } from 'vuetify/lib'\n  import CoreForm from '@/components/core/Form.vue'\n\n  export default {\n    components: {\n      VCard,\n      CoreForm\n    },\n    ...\n  }\n</script>\n```\n\n## Progressive images\n\n`@applaud/vuetify-loader` can automatically generate low-res placeholders for the `v-img` component\n\n**NOTE:** You ***must*** have [ImageMagick](https://www.imagemagick.org/script/index.php), [GraphicsMagick](http://www.graphicsmagick.org/), or [sharp](https://github.com/lovell/sharp) installed for this to work\n\nAdd `progressiveImages` to the plugin options:\n```js\nexports.plugins.push(\n  new VuetifyLoaderPlugin({\n    progressiveImages: true\n  })\n)\n\n// vue-cli\nmodule.exports = {\n  chainWebpack: config => {\n    config.plugin('VuetifyLoaderPlugin').tap(args => [{\n      progressiveImages: true\n    }])\n  }\n}\n```\n\nAnd away you go!\n```html\n<v-img src=\"@/assets/some-image.jpg\"></v-img>\n```\n\n**NOTE:** The src must follow [vue-loader's transform rules](https://vue-loader.vuejs.org/guide/asset-url.html#transform-rules)\n\n### Loops and dynamic paths\n\n`progressiveImages` only works on static paths, for use in a loop you have to `require` the image yourself:\n\n```html\n<v-img v-for=\"i in 10\" :src=\"require(`@/images/image-${i}.jpg?vuetify-preload`)\" :key=\"i\">\n```\n\n### Configuration\n\n`progressiveImages: true` can be replaced with an object for advanced configuration\n\n```js\nnew VuetifyLoaderPlugin({\n  progressiveImages: {\n    size: 12, // Use higher-resolution previews\n    sharp: true // Use sharp instead of ImageMagick\n  }\n})\n```\n\n#### Options\n\n##### `size`\n\nType: `Number`\nDefault: `9`\n\nThe minimum dimensions of the generated preview images in pixels\n\n##### `resourceQuery`\n\nType: `RegExp`\nDefault: `/vuetify-preload/`\n\nOverride the resource qury to match v-img URLs\n\nIf you only want some images to have placeholders, add `?lazy` to the end of the request:\n```html\n<v-img src=\"@/assets/some-image.jpg?lazy\"></v-img>\n```\n\nAnd modify the regex to match:\n```js\nnew VuetifyLoaderPlugin({\n  progressiveImages: {\n    resourceQuery: /lazy\\?vuetify-preload/\n  }\n})\n```\n\n##### `sharp`\n\nType: `Boolean`\nDefault: `false`\n\nUse sharp instead of GM for environments without ImageMagick. This will result in lower-quality images\n\n##### `graphicsMagick`\n\nType: `Boolean`\nDefault: `false`\n\nUse GraphicsMagic instead of ImageMagick\n\n##### `registerStylesSSR`\n\nType: `Boolean`\nDefault: `false`\n\nRegister Vuetify styles in [vue-style-loader](https://github.com/vuejs/vue-style-loader).\n\nThis fixes styles not being loaded when doing SSR (for example when using [@nuxtjs/vuetify](https://github.com/nuxt-community/vuetify-module)).\nAs Vuetify imports styles with JS, without this option, they do not get picked up by SSR.\n\n⚠️ This option requires having `manualInject` set to `true` in [`vue-style-loader`](https://github.com/vuejs/vue-style-loader#options) config.\n","readmeFilename":"README.md"}