{"_id":"@bva/override-resolver","_rev":"5-50ce58d6f589cc122f4050e265c4a04e","name":"@bva/override-resolver","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bva/override-resolver","version":"0.1.0","keywords":["webpack","resolve","resolver","override","alias","request","file","dependency","component","module","package"],"author":{"name":"The Stable Architecture Team"},"license":"MIT","_id":"@bva/override-resolver@0.1.0","maintainers":[{"name":"bvaadmin","email":"development@bvacommerce.com"}],"homepage":"https://bitbucket.org/bvaccel-delivery/override-resolver#readme","bugs":{"url":"https://bitbucket.org/bvaccel-delivery/override-resolver/issues"},"dist":{"shasum":"8cc30bbef700bf79feac0334aa8a2957ffdc9783","tarball":"https://registry.npmjs.org/@bva/override-resolver/-/override-resolver-0.1.0.tgz","fileCount":4,"integrity":"sha512-PqXtqULAYop2lTjhz3+RzMOWbyBI0Esrl8klJh7mO8mbYHsXO6mO1+kH4QeZ2iaJD+UfuKObPM2lcKFv3L71dg==","signatures":[{"sig":"MEYCIQCyrzL5jFjU7Ap9snj8YNVszevp85loQrUjPwY+7dqmVQIhAN+D2HiAKQ2pjJrz0vVhNCJx2++vJLnNs6sT1F3phX64","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOJYrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4AQ/9H6O7H9zGsSUaE1Yzq5oVB0fenOKNWQnXSkOGJ1lfvP1yMh4Z\r\nYA5tXcjwjff8uBIT9W/y2mfEdU1W1jMGXSt6KSDlo125oztlla3XyvI7cT7T\r\nk2j0pss+hSiPYkEzDhzPPtcHXtoZV7Mfz4j4ABXWXhcBiljG60G02sN5PVuF\r\nJF9QtrNVN1fBbkYLlB5W2RP145kxynsprdjenXwwvHvu0cR2Fh7B8TDMoAm/\r\n2jxBZW7x6OSIMWeReEQs574Kcl/2Ti3BSDU8EcKwmePtReZ9+chuWef6z6iX\r\nGKnNAquXoQt7yV+TukrtdjXUSlaBlJ+Jw6Ngg3pTtAY6/TSu+FNG/ZdZG/DS\r\nAHG5ALVcSVgxPCuC4b/KxWCGqi2sPlnRD/edLOC7DChlJSeYEOzdwuJtz7UJ\r\nhkWLTBT0fAXKvdX9751idE5FYH75MzNjWf5by3f5glpqyIeClPhh25XvrH9Y\r\nQ/Ri2wRemvvQptjzlw4PdxegfMI5SAg3ejUG9VhmUO64/BJWlNqXMAGLDj0a\r\nyxnzxhRyh71xMn9tc7oPoTKg5vgKUfk/Eft/juAQwJBWg8NmT50loyCRm5oW\r\n1ePKklU2S4fMf6gqcOfXFJCrYp9psdm6oAw3MBfTuEd+b9e67y0S4Dmw8LB+\r\nmmf3D59+NiCJ0izuBhA/4qY/+RZuNntmMHc=\r\n=3b1H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.js","gitHead":"fb21e333ba4aa73e06e71afd674065caade90a9b","_npmUser":{"name":"bvaadmin","email":"development@bvacommerce.com"},"repository":{"url":"git+https://bitbucket.org/bvaccel-delivery/override-resolver.git","type":"git"},"_npmVersion":"8.1.2","description":"Webpack resolver plugin for overriding or aliasing dependencies and component requests.","directories":{},"_nodeVersion":"16.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/override-resolver_0.1.0_1647875627457_0.9086782902612105","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-03-21T15:13:47.456Z","modified":"2026-01-07T14:41:05.046Z","0.1.0":"2022-03-21T15:13:47.618Z"},"bugs":{"url":"https://bitbucket.org/bvaccel-delivery/override-resolver/issues"},"author":{"name":"The Stable Architecture Team"},"license":"MIT","homepage":"https://bitbucket.org/bvaccel-delivery/override-resolver#readme","keywords":["webpack","resolve","resolver","override","alias","request","file","dependency","component","module","package"],"repository":{"url":"git+https://bitbucket.org/bvaccel-delivery/override-resolver.git","type":"git"},"description":"Webpack resolver plugin for overriding or aliasing dependencies and component requests.","maintainers":[{"email":"gideon.chiaet@accenture.com","name":"bvaadmin"},{"email":"patrick.coleman@accenture.com","name":"pcoleman-accenture"},{"email":"nirav.d.nayani@accenture.com","name":"nirav.d.nayani"}],"readme":"# Override Resolver\n\nWebpack resolver plugin for overriding or aliasing dependencies and component requests.\n\nLeverages [enhanced-resolve](https://github.com/webpack/enhanced-resolve/) to handle internal resolution and hook into the request’s lifecycle.\n\n# Installation\n\n```jsx\n//npm\nnpm install @bva/override-resolver\n\n//yarn\nyarn add @bva/override-resolver\n```\n\n# Why?\n\nThis plugin was born from the need to customize 3rd party UI Kits, Component Libraries, etc. without requiring a local clone of the *entire library*.\n\nA simple example is a **`Button`** component provided by a library installed in `node_modules` as a dependency. This `**Button**` may be in use by said library throughout multiple other components, which typically makes it difficult to add global custom logic to that `Button` across your app or project.\n\nOverride Resolver trivializes such scenario by providing the option to update that one `Button` component, or specific parts of it, without affecting the rest of the Component Library.\n\n# Why not use Webpack’s native resolve.modules or resolve.alias?\n\nBoth of those may be good enough for certain applications, however they share the limitation of not resolving a package’s internal relative requests. Webpack `resolve.modules` and `resolve.alias` would only work if all requests were done using module paths (i.e. `@moduleName/path/to/component`).\n\nOverride Resolver is able to handle absolute, module, and relative paths. If a request to a file exists, Override Resolver is able to override it.\n\n# Other applications\n\nThis plugin can be used outside of simple Component/UI Library overrides you can specify any given request path to alias or override files from.\n\nThis can also be leveraged to setup a theme structure or a fallback system for your modules and components.\n\n# Support\n\nRequires Webpack 4.x+ and works with NuxtJS, Vue, NextJS, React, JS, SCSS, plus any other file type or framework that can use Webpack.\n\n# Usage\n\n## Webpack Config file\n\n```jsx\nconst path = require('path');\nconst OverrideResolver = require('@bva/override-resolver');\n\nconst WebpackConfig = {\n  //...\n  resolve: {\n    plugins: [\n      new OverrideResolver({\n        name: '@bva',\n        alias: path.resolve(__dirname, 'overrides'),\n      })\n    ],\n  },\n  //...\n}\n\nmodule.exports = WebpackConfig;\n```\n\n## NuxtJS\n\n```jsx\nimport path from 'path';\nimport OverrideResolver from '@bva/override-resolver';\n\nconst NuxtConfig = {\n  //...\n  build: {\n    extend(config) {\n      config.resolve.plugins.push(new OverrideResolver(\n        {\n          name: '@bva',\n          alias: path.resolve(__dirname, 'overrides'),\n        },\n      ));\n    },\n  },\n  //...\n};\n\nexport default NuxtConfig;\n```\n","readmeFilename":"README.md"}