cartridge-resolver-plugin
Advanced tools
Comparing version
{ | ||
"name": "cartridge-resolver-plugin", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "Webpack Plugin: Provide the cartridge inheritance behavior same as Demandware server side scripts.", | ||
"keywords": [ | ||
"build", | ||
"cartridge", | ||
@@ -30,2 +31,4 @@ "compile", | ||
"chai": "^4.2.0", | ||
"eslint": "^5.10.0", | ||
"eslint-plugin-sonarjs": "^0.2.0", | ||
"mocha": "^5.2.0", | ||
@@ -36,2 +39,3 @@ "nyc": "^13.1.0", | ||
"scripts": { | ||
"lint": "./node_modules/.bin/eslint ./src", | ||
"test": "./node_modules/.bin/nyc mocha", | ||
@@ -38,0 +42,0 @@ "coverage": "./node_modules/.bin/nyc report --reporter=lcovonly", |
@@ -11,2 +11,3 @@ <div align="center"> | ||
 | ||
 | ||
@@ -26,4 +27,37 @@  | ||
Provide the cartridge inheritance behavior same as Demandware server side scripts with additional functionalities suports. | ||
> Provide the cartridge inheritance behavior same as Demandware server side scripts with additional functionalities suports. | ||
### Installation | ||
```shell | ||
npm install --save-dev cartridge-resolver-plugin | ||
``` | ||
### Usage | ||
Register plugin to your `webpack.config.js`. | ||
For more informations, please have a look inside class [`CartridgeResolverPlugin`](./src/index.js) | ||
``` js | ||
const cwd = process.cwd(); | ||
const CartridgeResolverPlugin = require('cartridge-resolver-plugin'); | ||
module.exports = { | ||
// your other webpack configs... | ||
resolve: { | ||
plugins: [new CartridgeResolverPlugin({ | ||
your_storefront: path.resolve(cwd, 'cartridges/your_storefront/cartridge/client'), | ||
your_storefront_style_guide: path.resolve(cwd, 'cartridges/your_storefront_style_guide/cartridge/client'), | ||
plugin_wishlists: path.resolve(cwd, 'vendors/plugin_wishlists/cartridge/client'), | ||
app_storefront_style_guide: path.resolve(cwd, 'cartridges/app_storefront_style_guide/cartridge/client'), | ||
app_storefront_core: path.resolve(cwd, 'cartridges/app_storefront_core/cartridge/client'), | ||
app_storefront_base: path.resolve(cwd, 'cartridges/app_storefront_base/cartridge/client') | ||
}, { | ||
base: 'app_storefront_base', | ||
core: 'app_storefront_core' | ||
})] | ||
} | ||
} | ||
``` | ||
### Asset Solving Rules | ||
@@ -66,35 +100,1 @@ | ||
7. Required asset same path with the origin will considered as super module. For example: in `cartridge_a:1.js`, all requirements `require('^')` or `require('^:1')` or `require('^/1')` or `require('.')` or `require('./1')` will looking for `1.js` from lower priority cartridges . The result will be `cartridge_d:1.js` | ||
### Installation | ||
```shell | ||
npm install --save-dev cartridge-resolver-plugin | ||
``` | ||
### Usage | ||
Register plugin to your `webpack.config.js`. | ||
For more informations, please have a look inside class [`CartridgeResolverPlugin`](./src/index.js) | ||
``` js | ||
const cwd = process.cwd(); | ||
const CartridgeResolverPlugin = require('cartridge-resolver-plugin'); | ||
module.exports = { | ||
// your other webpack configs... | ||
resolve: { | ||
plugins: [new CartridgeResolverPlugin({ | ||
your_storefront: path.resolve(cwd, 'cartridges/your_storefront/cartridge/client'), | ||
your_storefront_style_guide: path.resolve(cwd, 'cartridges/your_storefront_style_guide/cartridge/client'), | ||
plugin_wishlists: path.resolve(cwd, 'vendors/plugin_wishlists/cartridge/client'), | ||
app_storefront_style_guide: path.resolve(cwd, 'cartridges/app_storefront_style_guide/cartridge/client'), | ||
app_storefront_core: path.resolve(cwd, 'cartridges/app_storefront_core/cartridge/client'), | ||
app_storefront_base: path.resolve(cwd, 'cartridges/app_storefront_base/cartridge/client') | ||
}, { | ||
base: 'app_storefront_base', | ||
core: 'app_storefront_core' | ||
})] | ||
} | ||
} | ||
``` |
@@ -53,2 +53,4 @@ const fs = require('fs'); | ||
* | ||
* @todo Refactor this function to reduce its Cognitive Complexity from 33 to the 15 allowed sonarjs/cognitive-complexity | ||
* | ||
* @param {Resolver} resolver | ||
@@ -59,3 +61,3 @@ * @param {object} requestContext The asset request object | ||
*/ | ||
resolve(resolver, requestContext, resolveContext, callback) { | ||
resolve(resolver, requestContext, resolveContext, callback) {/* eslint-disable-line */ | ||
const currentCartridge = this.getCartridge(requestContext.context.issuer || requestContext.request); | ||
@@ -113,3 +115,4 @@ | ||
if (result) { | ||
if(result) | ||
{ | ||
const target = resolver.ensureHook('resolved'); | ||
@@ -116,0 +119,0 @@ requestContext.path = result; |
19728
3.82%6
50%222
1.37%6
50%