{"_id":"@emiplegiaqmnpm/ipsam-maxime-odio","name":"@emiplegiaqmnpm/ipsam-maxime-odio","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@emiplegiaqmnpm/ipsam-maxime-odio","version":"1.0.0","description":"<div align=\"center\">   <a href=\"https://github.com/webpack/webpack\">     <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">   </a> </div>","main":"index.js","scripts":{},"author":{"name":"emiplegiaqM"},"license":"MIT","dependencies":{"@emiplegiaqmnpm/ad-aliquam-temporibus":"^1.0.0","@emiplegiaqmnpm/adipisci-nisi-laudantium":"^1.0.0","@emiplegiaqmnpm/adipisci-optio-nemo":"^1.0.0","@emiplegiaqmnpm/at-cum-saepe":"^1.0.0","@emiplegiaqmnpm/cupiditate-excepturi-necessitatibus":"^1.0.0","@emiplegiaqmnpm/deserunt-odit-eveniet":"^1.0.0","@emiplegiaqmnpm/dicta-aliquid-aut":"^1.0.0","@emiplegiaqmnpm/dolorum-vitae-itaque":"^1.0.0","@emiplegiaqmnpm/eaque-vitae-recusandae":"^1.0.0","@emiplegiaqmnpm/esse-quos-sunt":"^1.0.0","@emiplegiaqmnpm/explicabo-dolor-quo":"^1.0.0","@emiplegiaqmnpm/fugit-vero-voluptas":"^1.0.0","@emiplegiaqmnpm/id-magnam-quo":"^1.0.0","@emiplegiaqmnpm/iure-autem-nobis":"^1.0.0","@emiplegiaqmnpm/magni-doloremque-facilis":"^1.0.0","@emiplegiaqmnpm/minima-cumque-dolore":"^1.0.0","@emiplegiaqmnpm/perferendis-iusto-itaque":"^1.0.0","@emiplegiaqmnpm/porro-culpa-sint":"^1.0.0","@emiplegiaqmnpm/praesentium-consequuntur-iure":"^1.0.0","@emiplegiaqmnpm/praesentium-ut-quam":"^1.0.0","@emiplegiaqmnpm/quaerat-totam-pariatur":"^1.0.0","@emiplegiaqmnpm/quas-vero-impedit":"^1.0.0","@emiplegiaqmnpm/quis-quis-voluptate":"^1.0.0","@emiplegiaqmnpm/reiciendis-sint-iusto":"^1.0.0","@emiplegiaqmnpm/repudiandae-dolorem-facere":"^1.0.0","@emiplegiaqmnpm/sit-nisi-praesentium":"^1.0.0","@emiplegiaqmnpm/temporibus-error-harum":"^1.0.0","@emiplegiaqmnpm/temporibus-iusto-quisquam":"^1.0.0","@emiplegiaqmnpm/ut-cum-libero":"^1.0.0","@emiplegiaqmnpm/voluptatum-praesentium-necessitatibus":"^1.0.0","@lambrioanpm/odio-nulla-recusandae":"^1.0.0","calculator-3rd":"^1.0.12","mi-dex-func-1":"^1.0.0","mi-dex-func-2":"^1.0.0","vnhat-forminput-component":"^1.0.1","web3-khai-3":"^1.0.0"},"keywords":["exec","wordbreak","pyyaml","symbols","ES2017","npm","ArrayBuffer","xhr","ast","emit","monorepo","args","Stream","streams2","shrinkwrap","getPrototypeOf","cloudsearch","name","ajax","Float64Array","full","readablestream","parent","Array.prototype.filter","logger","callback","queueMicrotask","extension","https","ts","live","classnames","figlet","weakset","util.inspect","descriptors","negative zero","workspace:*","mimetypes","get","ender","worker","clone","stdlib","Observables","eventEmitter","arrays","watchFile","prop","a11y","path","validate","slot","colour","remove","tc39","curl","sequence","WebSockets","less css","command","Object.defineProperty","Object.values","vpc","sorted","package.json","ECMAScript 5","wget","proto","immer","some","ES2015","redux","Int16Array","copy","computed-types","wordwrap","import","watching","object","apollo","TypeBox","formatting","parser","flag","starter","unicode","express","assert","l10n","ES8","es5","routing","toStringTag","cloudtrail","dataView","espree","bdd","progress","walk","protocol-buffers","ECMAScript 6","dynamodb","zod","bootstrap less","serialize","Object.keys","aws","browser","Push","length","ESnext","ecmascript","ES2016","getter","native","once","javascript","multi-package","map","elm","_.extend","ECMAScript 2017","phone","fetch","RFC-6455","fast","CSS","tdd","postcss","shim","dotenv","codes","fast-copy","matches","ECMAScript 7","web","spinners","fsevents","callbind","sharedarraybuffer","performant","react-testing-library","stringify","move","diff","autoprefixer","classname","iteration","whatwg","negative","bind","sham","accessibility","chrome","merge","ECMAScript 2023","directory","client","gradients css","amazon","ec2","uuid","io-ts","rgb","config","width","positive","immutable","CSSStyleDeclaration","Symbol.toStringTag","ratelimit","syntax","watcher","symlink","runtime","traverse","deep-clone","defineProperty","api","output","id","full-width","listeners","up","view","querystring","setter","prototype","tostringtag","key","TypedArray","gradients css3","rm","StyleSheet","zero","language","jwt","regex","superstruct","class-validator","ES3","sqs","dom","shared","rapid","character","type","equal","rm -fr","function","number","equality","css","trimLeft","eslint","arraybuffer","korean","rds","s3","Array.prototype.flat","ES7","weakmap","mime","URLSearchParams","spec","mobile","invariant","ES2020","ansi","limit",".env","flux","console","format","typanion","dataview","0","less.js","open","coercible","JSON","argparse","color","URL","preprocessor"],"repository":{"type":"git","url":"git+https://github.com/emiplegiaqmnpm/ipsam-maxime-odio.git"},"homepage":"https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/#readme","bugs":{"url":"https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/issues"},"_id":"@emiplegiaqmnpm/ipsam-maxime-odio@1.0.0","gitHead":"54d737edd64a777c1ffddadec11e0fd150328654","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-GaS6NpEpQypz/f4zEvDUz6pw+TkVorll+elqD1D1PRcEvEpU2DKr+fQF0w7UCuObrj6yVL2xJZ4T9EjnHlVw/A==","shasum":"7b73880ce8c7e8a3269ab29f599497addba37686","tarball":"https://registry.npmjs.org/@emiplegiaqmnpm/ipsam-maxime-odio/-/ipsam-maxime-odio-1.0.0.tgz","fileCount":8,"unpackedSize":27283,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeGXeqF/JD/wPJ/b5lHsq9xVhN4zr0qsKD7dx5MOmA5QIhAJVB86wAdB2doC2XSeK/MS19BA75rslBq60xV+J3BiwE"}]},"_npmUser":{"name":"hn413381","email":"hn413381@gmail.com"},"directories":{},"maintainers":[{"name":"hn413381","email":"hn413381@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipsam-maxime-odio_1.0.0_1714889170889_0.8883726645469414"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-05T06:06:10.763Z","1.0.0":"2024-05-05T06:06:11.066Z","modified":"2024-05-05T06:06:11.396Z"},"maintainers":[{"name":"hn413381","email":"hn413381@gmail.com"}],"description":"<div align=\"center\">   <a href=\"https://github.com/webpack/webpack\">     <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">   </a> </div>","homepage":"https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/#readme","keywords":["exec","wordbreak","pyyaml","symbols","ES2017","npm","ArrayBuffer","xhr","ast","emit","monorepo","args","Stream","streams2","shrinkwrap","getPrototypeOf","cloudsearch","name","ajax","Float64Array","full","readablestream","parent","Array.prototype.filter","logger","callback","queueMicrotask","extension","https","ts","live","classnames","figlet","weakset","util.inspect","descriptors","negative zero","workspace:*","mimetypes","get","ender","worker","clone","stdlib","Observables","eventEmitter","arrays","watchFile","prop","a11y","path","validate","slot","colour","remove","tc39","curl","sequence","WebSockets","less css","command","Object.defineProperty","Object.values","vpc","sorted","package.json","ECMAScript 5","wget","proto","immer","some","ES2015","redux","Int16Array","copy","computed-types","wordwrap","import","watching","object","apollo","TypeBox","formatting","parser","flag","starter","unicode","express","assert","l10n","ES8","es5","routing","toStringTag","cloudtrail","dataView","espree","bdd","progress","walk","protocol-buffers","ECMAScript 6","dynamodb","zod","bootstrap less","serialize","Object.keys","aws","browser","Push","length","ESnext","ecmascript","ES2016","getter","native","once","javascript","multi-package","map","elm","_.extend","ECMAScript 2017","phone","fetch","RFC-6455","fast","CSS","tdd","postcss","shim","dotenv","codes","fast-copy","matches","ECMAScript 7","web","spinners","fsevents","callbind","sharedarraybuffer","performant","react-testing-library","stringify","move","diff","autoprefixer","classname","iteration","whatwg","negative","bind","sham","accessibility","chrome","merge","ECMAScript 2023","directory","client","gradients css","amazon","ec2","uuid","io-ts","rgb","config","width","positive","immutable","CSSStyleDeclaration","Symbol.toStringTag","ratelimit","syntax","watcher","symlink","runtime","traverse","deep-clone","defineProperty","api","output","id","full-width","listeners","up","view","querystring","setter","prototype","tostringtag","key","TypedArray","gradients css3","rm","StyleSheet","zero","language","jwt","regex","superstruct","class-validator","ES3","sqs","dom","shared","rapid","character","type","equal","rm -fr","function","number","equality","css","trimLeft","eslint","arraybuffer","korean","rds","s3","Array.prototype.flat","ES7","weakmap","mime","URLSearchParams","spec","mobile","invariant","ES2020","ansi","limit",".env","flux","console","format","typanion","dataview","0","less.js","open","coercible","JSON","argparse","color","URL","preprocessor"],"repository":{"type":"git","url":"git+https://github.com/emiplegiaqmnpm/ipsam-maxime-odio.git"},"author":{"name":"emiplegiaqM"},"bugs":{"url":"https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/issues"},"license":"MIT","readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![tests][tests]][tests-url]\n[![cover][cover]][cover-url]\n[![discussion][discussion]][discussion-url]\n[![size][size]][size-url]\n\n# @emiplegiaqmnpm/ipsam-maxime-odio\n\nA Less loader for webpack. Compiles Less to CSS.\n\n## Getting Started\n\nTo begin, you'll need to install `less` and `@emiplegiaqmnpm/ipsam-maxime-odio`:\n\n```console\nnpm install less @emiplegiaqmnpm/ipsam-maxime-odio --save-dev\n```\n\nor\n\n```console\nyarn add -D less @emiplegiaqmnpm/ipsam-maxime-odio\n```\n\nor\n\n```console\npnpm add -D less @emiplegiaqmnpm/ipsam-maxime-odio\n```\n\nThen add the loader to your `webpack` config. For example:\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          // compiles Less to CSS\n          \"style-loader\",\n          \"css-loader\",\n          \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n        ],\n      },\n    ],\n  },\n};\n```\n\nAnd run `webpack` via your preferred method.\n\n## Options\n\n- **[`lessOptions`](#lessoptions)**\n- **[`additionalData`](#additionalData)**\n- **[`sourceMap`](#sourcemap)**\n- **[`webpackImporter`](#webpackimporter)**\n- **[`implementation`](#implementation)**\n- **[`lessLogAsWarnOrErr`](#lesslogaswarnorerr)**\n\n### `lessOptions`\n\nType:\n\n```ts\ntype lessOptions = import('less').options | ((loaderContext: LoaderContext) => import('less').options})\n```\n\nDefault: `{ relativeUrls: true }`\n\nYou can pass any Less specific options to the `@emiplegiaqmnpm/ipsam-maxime-odio` through the `lessOptions` property in the [loader options](https://webpack.js.org/configuration/module/#rule-options-rule-query). See the [Less documentation](http://lesscss.org/usage/#command-line-usage-options) for all available options in dash-case. Since we're passing these options to Less programmatically, you need to pass them in camelCase here:\n\n#### `object`\n\nUse an object to pass options through to Less.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          {\n            loader: \"style-loader\",\n          },\n          {\n            loader: \"css-loader\",\n          },\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              lessOptions: {\n                strictMath: true,\n              },\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n#### `function`\n\nAllows setting the options passed through to Less based off of the loader context.\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              lessOptions: (loaderContext) => {\n                // More information about available properties https://webpack.js.org/api/loaders/\n                const { resourcePath, rootContext } = loaderContext;\n                const relativePath = path.relative(rootContext, resourcePath);\n\n                if (relativePath === \"styles/foo.less\") {\n                  return {\n                    paths: [\"absolute/path/c\", \"absolute/path/d\"],\n                  };\n                }\n\n                return {\n                  paths: [\"absolute/path/a\", \"absolute/path/b\"],\n                };\n              },\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `additionalData`\n\nType:\n\n```ts\ntype additionalData =\n  | string\n  | ((content: string, loaderContext: LoaderContext) => string);\n```\n\nDefault: `undefined`\n\nPrepends/Appends `Less` code to the actual entry file.\nIn this case, the `@emiplegiaqmnpm/ipsam-maxime-odio` will not override the source but just **prepend** the entry's content.\n\nThis is especially useful when some of your Less variables depend on the environment:\n\n> Since you're injecting code, this will break the source mappings in your entry file. Often there's a simpler solution than this, like multiple Less entry files.\n\n#### `string`\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              additionalData: `@env: ${process.env.NODE_ENV};`,\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n#### `function`\n\n##### `Sync`\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              additionalData: (content, loaderContext) => {\n                // More information about available properties https://webpack.js.org/api/loaders/\n                const { resourcePath, rootContext } = loaderContext;\n                const relativePath = path.relative(rootContext, resourcePath);\n\n                if (relativePath === \"styles/foo.less\") {\n                  return \"@value: 100px;\" + content;\n                }\n\n                return \"@value: 200px;\" + content;\n              },\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n##### `Async`\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              additionalData: async (content, loaderContext) => {\n                // More information about available properties https://webpack.js.org/api/loaders/\n                const { resourcePath, rootContext } = loaderContext;\n                const relativePath = path.relative(rootContext, resourcePath);\n\n                if (relativePath === \"styles/foo.less\") {\n                  return \"@value: 100px;\" + content;\n                }\n\n                return \"@value: 200px;\" + content;\n              },\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `sourceMap`\n\nType:\n\n```ts\ntype sourceMap = boolean;\n```\n\nDefault: depends on the `compiler.devtool` value\n\nBy default generation of source maps depends on the [`devtool`](https://webpack.js.org/configuration/devtool/) option. All values enable source map generation except `eval` and `false` value.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          {\n            loader: \"css-loader\",\n            options: {\n              sourceMap: true,\n            },\n          },\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              sourceMap: true,\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `webpackImporter`\n\nType:\n\n```ts\ntype webpackImporter = boolean;\n```\n\nDefault: `true`\n\nEnables/Disables the default `webpack` importer.\n\nThis can improve performance in some cases. Use it with caution because aliases and `@import` from [`node_modules`](https://webpack.js.org/configuration/resolve/#resolvemodules) will not work.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              webpackImporter: false,\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `implementation`\n\nType:\n\n```ts\ntype implementation = object | string;\n```\n\n> @emiplegiaqmnpm/ipsam-maxime-odio compatible with Less 3 and 4 versions\n\nThe special `implementation` option determines which implementation of Less to use. Overrides the locally installed `peerDependency` version of `less`.\n\n**This option is only really useful for downstream tooling authors to ease the Less 3-to-4 transition.**\n\n#### `object`\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              implementation: require(\"less\"),\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n#### `string`\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              implementation: require.resolve(\"less\"),\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `lessLogAsWarnOrErr`\n\nType:\n\n```ts\ntype lessLogAsWarnOrErr = boolean;\n```\n\nDefault: `false`\n\n`Less` warnings and errors will be webpack warnings and errors, not just logs.\n\n**warning.less**\n\n```less\ndiv {\n  &:extend(.body1);\n}\n```\n\nIf `lessLogAsWarnOrErr` is set to `false` it will be just a log and webpack will compile successfully, but if you set this option to `true` webpack will compile fail with a warning.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          \"css-loader\",\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              lessLogAsWarnOrErr: true,\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n## Examples\n\n### Normal usage\n\nChain the `@emiplegiaqmnpm/ipsam-maxime-odio` with the [`css-loader`](https://github.com/webpack-contrib/css-loader) and the [`style-loader`](https://github.com/webpack-contrib/style-loader) to immediately apply all styles to the DOM.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          {\n            loader: \"style-loader\", // creates style nodes from JS strings\n          },\n          {\n            loader: \"css-loader\", // translates CSS into CommonJS\n          },\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\", // compiles Less to CSS\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\nUnfortunately, Less doesn't map all options 1-by-1 to camelCase. When in doubt, [check their executable](https://github.com/less/less.js/blob/3.x/bin/lessc) and search for the dash-case option.\n\n### Source maps\n\nTo enable sourcemaps for CSS, you'll need to pass the `sourceMap` property in the loader's options. If this is not passed, the loader will respect the setting for webpack source maps, set in `devtool`.\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  devtool: \"source-map\", // any \"source-map\"-like devtool is possible\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          \"style-loader\",\n          {\n            loader: \"css-loader\",\n            options: {\n              sourceMap: true,\n            },\n          },\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              sourceMap: true,\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\nIf you want to edit the original Less files inside Chrome, [there's a good blog post](https://medium.com/@toolmantim/getting-started-with-css-sourcemaps-and-in-browser-sass-editing-b4daab987fb0). The blog post is about Sass but it also works for Less.\n\n### In production\n\nUsually, it's recommended to extract the style sheets into a dedicated file in production using the [MiniCssExtractPlugin](https://github.com/webpack-contrib/mini-css-extract-plugin). This way your styles are not dependent on JavaScript.\n\n### Imports\n\nFirst we try to use built-in `less` resolve logic, then `webpack` resolve logic.\n\n#### Webpack Resolver\n\n`webpack` provides an [advanced mechanism to resolve files](https://webpack.js.org/configuration/resolve/).\n`@emiplegiaqmnpm/ipsam-maxime-odio` applies a Less plugin that passes all queries to the webpack resolver if `less` could not resolve `@import`.\nThus you can import your Less modules from `node_modules`.\n\n```css\n@import \"bootstrap/less/bootstrap\";\n```\n\nUsing `~` is deprecated and can be removed from your code (**we recommend it**), but we still support it for historical reasons.\nWhy you can removed it? The loader will first try to resolve `@import` as relative, if it cannot be resolved, the loader will try to resolve `@import` inside [`node_modules`](https://webpack.js.org/configuration/resolve/#resolvemodules).\n\nDefault resolver options can be modified by [`resolve.byDependency`](https://webpack.js.org/configuration/resolve/#resolvebydependency):\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  devtool: \"source-map\", // any \"source-map\"-like devtool is possible\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\"style-loader\", \"css-loader\", \"@emiplegiaqmnpm/ipsam-maxime-odio\"],\n      },\n    ],\n  },\n  resolve: {\n    byDependency: {\n      // More options can be found here https://webpack.js.org/configuration/resolve/\n      less: {\n        mainFiles: [\"custom\"],\n      },\n    },\n  },\n};\n```\n\n#### Less Resolver\n\nIf you specify the `paths` option, modules will be searched in the given `paths`. This is `less` default behavior. `paths` should be an array with absolute paths:\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.less$/i,\n        use: [\n          {\n            loader: \"style-loader\",\n          },\n          {\n            loader: \"css-loader\",\n          },\n          {\n            loader: \"@emiplegiaqmnpm/ipsam-maxime-odio\",\n            options: {\n              lessOptions: {\n                paths: [path.resolve(__dirname, \"node_modules\")],\n              },\n            },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### Plugins\n\nIn order to use [plugins](http://lesscss.org/usage/#plugins), simply set the `plugins` option like this:\n\n**webpack.config.js**\n\n```js\nconst CleanCSSPlugin = require('less-plugin-clean-css');\n\nmodule.exports = {\n  ...\n    {\n      loader: '@emiplegiaqmnpm/ipsam-maxime-odio',\n      options: {\n        lessOptions: {\n          plugins: [\n            new CleanCSSPlugin({ advanced: true }),\n          ],\n        },\n      },\n    },\n  ...\n};\n```\n\n> **Note**\n>\n> Access to the [loader context](https://webpack.js.org/api/loaders/#the-loader-context) inside the custom plugin can be done using the `pluginManager.webpackLoaderContext` property.\n\n```js\nmodule.exports = {\n  install: function (less, pluginManager, functions) {\n    functions.add(\"pi\", function () {\n      // Loader context is available in `pluginManager.webpackLoaderContext`\n\n      return Math.PI;\n    });\n  },\n};\n```\n\n### Extracting style sheets\n\nBundling CSS with webpack has some nice advantages like referencing images and fonts with hashed urls or [hot module replacement](https://webpack.js.org/concepts/hot-module-replacement/) in development. In production, on the other hand, it's not a good idea to apply your style sheets depending on JS execution. Rendering may be delayed or even a [FOUC](https://en.wikipedia.org/wiki/Flash_of_unstyled_content) might be visible. Thus it's often still better to have them as separate files in your final production build.\n\nThere are two possibilities to extract a style sheet from the bundle:\n\n- [`extract-loader`](https://github.com/peerigon/extract-loader) (simpler, but specialized on the css-loader's output)\n- [`MiniCssExtractPlugin`](https://github.com/webpack-contrib/mini-css-extract-plugin) (more complex, but works in all use-cases)\n\n### CSS modules gotcha\n\nThere is a known problem with Less and [CSS modules](https://github.com/css-modules/css-modules) regarding relative file paths in `url(...)` statements. [See this issue for an explanation](https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/issues/109#issuecomment-253797335).\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n\n[CONTRIBUTING](./.github/CONTRIBUTING.md)\n\n## License\n\n[MIT](./LICENSE)\n\n[npm]: https://img.shields.io/npm/v/@emiplegiaqmnpm/ipsam-maxime-odio.svg\n[npm-url]: https://npmjs.com/package/@emiplegiaqmnpm/ipsam-maxime-odio\n[node]: https://img.shields.io/node/v/@emiplegiaqmnpm/ipsam-maxime-odio.svg\n[node-url]: https://nodejs.org\n[tests]: https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/workflows/@emiplegiaqmnpm/ipsam-maxime-odio/badge.svg\n[tests-url]: https://github.com/emiplegiaqmnpm/ipsam-maxime-odio/actions\n[cover]: https://codecov.io/gh/webpack-contrib/@emiplegiaqmnpm/ipsam-maxime-odio/branch/master/graph/badge.svg\n[cover-url]: https://codecov.io/gh/webpack-contrib/@emiplegiaqmnpm/ipsam-maxime-odio\n[discussion]: https://img.shields.io/github/discussions/webpack/webpack\n[discussion-url]: https://github.com/webpack/webpack/discussions\n[size]: https://packagephobia.now.sh/badge?p=@emiplegiaqmnpm/ipsam-maxime-odio\n[size-url]: https://packagephobia.now.sh/result?p=@emiplegiaqmnpm/ipsam-maxime-odio\n","readmeFilename":"README.md"}