  \href{https://github.com/webpack/webpack}{\texttt{  }} 

\href{https://npmjs.com/package/css-loader}{\texttt{ }} \href{https://nodejs.org}{\texttt{ }} \href{https://david-dm.org/webpack-contrib/css-loader}{\texttt{ }} \href{https://github.com/webpack-contrib/css-loader/actions}{\texttt{ }} \href{https://codecov.io/gh/webpack-contrib/css-loader}{\texttt{ }} \href{https://gitter.im/webpack/webpack}{\texttt{ }} \href{https://packagephobia.now.sh/result?p=css-loader}{\texttt{ }}\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7162}{}\doxysection{css-\/loader}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7162}
The {\ttfamily css-\/loader} interprets {\ttfamily @import} and {\ttfamily url()} like {\ttfamily import/require()} and will resolve them.\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7163}{}\doxysubsection{Getting Started}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7163}
To begin, you\textquotesingle{}ll need to install {\ttfamily css-\/loader}\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{npm install -\/-\/save-\/dev css-\/loader }

\end{DoxyCode}


Then add the plugin to your {\ttfamily webpack} config. For example\+:

{\bfseries{file.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{import css from 'file.css'; }

\end{DoxyCode}


{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: ['style-\/loader', 'css-\/loader'],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


Good loaders for requiring your assets are the \href{https://github.com/webpack/file-loader}{\texttt{ file-\/loader}} and the \href{https://github.com/webpack/url-loader}{\texttt{ url-\/loader}} which you should specify in your config (see \href{https://github.com/webpack-contrib/css-loader\#assets}{\texttt{ below}}).

And run {\ttfamily webpack} via your preferred method.\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7164}{}\doxysubsubsection{$<$tt$>$to\+String$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7164}
You can also use the css-\/loader results directly as a string, such as in Angular\textquotesingle{}s component style.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: ['to-\/string-\/loader', 'css-\/loader'],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


or


\begin{DoxyCode}{0}
\DoxyCodeLine{const css = require('./test.css').toString();}
\DoxyCodeLine{}
\DoxyCodeLine{console.log(css); // \{String\} }

\end{DoxyCode}


If there are Source\+Maps, they will also be included in the result string.

If, for one reason or another, you need to extract CSS as a plain string resource (i.\+e. not wrapped in a JS module) you might want to check out the \href{https://github.com/peerigon/extract-loader}{\texttt{ extract-\/loader}}. It\textquotesingle{}s useful when you, for instance, need to post process the CSS as a string.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: [}
\DoxyCodeLine{          'handlebars-\/loader', // handlebars loader expects raw resource string}
\DoxyCodeLine{          'extract-\/loader',}
\DoxyCodeLine{          'css-\/loader',}
\DoxyCodeLine{        ],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7165}{}\doxysubsection{Options}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7165}
\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Name   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default   }&\cellcolor{\tableheadbgcolor}\textbf{ Description    }\\\cline{1-4}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Name   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default   }&\cellcolor{\tableheadbgcolor}\textbf{ Description    }\\\cline{1-4}
\endhead
\PBS\centering $\ast$$\ast$\href{\#url}{\texttt{ {\ttfamily url}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Boolean\textbackslash{}$\vert$\+Function\}}   &\PBS\centering {\ttfamily true}   &Enables/\+Disables {\ttfamily url}/{\ttfamily image-\/set} functions handling    \\\cline{1-4}
\PBS\centering $\ast$$\ast$\href{\#import}{\texttt{ {\ttfamily import}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Boolean\textbackslash{}$\vert$\+Function\}}   &\PBS\centering {\ttfamily true}   &Enables/\+Disables {\ttfamily @import} at-\/rules handling    \\\cline{1-4}
\PBS\centering $\ast$$\ast$\href{\#modules}{\texttt{ {\ttfamily modules}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Boolean\textbackslash{}$\vert$\+String\textbackslash{}$\vert$\+Object\}}   &\PBS\centering {\ttfamily \{auto\+: true\}}   &Enables/\+Disables CSS Modules and their configuration    \\\cline{1-4}
\PBS\centering $\ast$$\ast$\href{\#sourcemap}{\texttt{ {\ttfamily source\+Map}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Boolean\}}   &\PBS\centering {\ttfamily compiler.\+devtool}   &Enables/\+Disables generation of source maps    \\\cline{1-4}
\PBS\centering $\ast$$\ast$\href{\#importloaders}{\texttt{ {\ttfamily import\+Loaders}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Number\}}   &\PBS\centering {\ttfamily 0}   &Enables/\+Disables or setups number of loaders applied before CSS loader    \\\cline{1-4}
\PBS\centering $\ast$$\ast$\href{\#esmodule}{\texttt{ {\ttfamily es\+Module}}}$\ast$$\ast$   &\PBS\centering {\ttfamily \{Boolean\}}   &\PBS\centering {\ttfamily true}   &Use ES modules syntax   \\\cline{1-4}
\end{longtabu}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7166}{}\doxysubsubsection{$<$tt$>$url$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7166}
Type\+: {\ttfamily Boolean$\vert$\+Function} Default\+: {\ttfamily true}

Enables/\+Disables {\ttfamily url}/{\ttfamily image-\/set} functions handling. Control {\ttfamily url()} resolving. Absolute URLs are not resolving.

Examples resolutions\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{url(image.png) => require('./image.png')}
\DoxyCodeLine{url('image.png') => require('./image.png')}
\DoxyCodeLine{url(./image.png) => require('./image.png')}
\DoxyCodeLine{url('./image.png') => require('./image.png')}
\DoxyCodeLine{url('http://dontwritehorriblecode.com/2112.png') => require('http://dontwritehorriblecode.com/2112.png')}
\DoxyCodeLine{image-\/set(url('image2x.png') 1x, url('image1x.png') 2x) => require('./image1x.png') and require('./image2x.png') }

\end{DoxyCode}


To import assets from a {\ttfamily node\+\_\+modules} path (include {\ttfamily resolve.\+modules}) and for {\ttfamily alias}, prefix it with a {\ttfamily $\sim$}\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{url(\string~module/image.png) => require('module/image.png')}
\DoxyCodeLine{url('\string~module/image.png') => require('module/image.png')}
\DoxyCodeLine{url(\string~aliasDirectory/image.png) => require('otherDirectory/image.png') }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7167}{}\doxyparagraph{$<$tt$>$\+Boolean$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7167}
Enable/disable {\ttfamily url()} resolving.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          url: true,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7168}{}\doxyparagraph{$<$tt$>$\+Function$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7168}
Allow to filter {\ttfamily url()}. All filtered {\ttfamily url()} will not be resolved (left in the code as they were written).

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          url: (url, resourcePath) => \{}
\DoxyCodeLine{            // resourcePath -\/ path to css file}
\DoxyCodeLine{}
\DoxyCodeLine{            // Don't handle `img.png` urls}
\DoxyCodeLine{            if (url.includes('img.png')) \{}
\DoxyCodeLine{              return false;}
\DoxyCodeLine{            \}}
\DoxyCodeLine{}
\DoxyCodeLine{            return true;}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7169}{}\doxysubsubsection{$<$tt$>$import$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7169}
Type\+: {\ttfamily Boolean$\vert$\+Function} Default\+: {\ttfamily true}

Enables/\+Disables {\ttfamily @import} at-\/rules handling. Control {\ttfamily @import} resolving. Absolute urls in {\ttfamily @import} will be moved in runtime code.

Examples resolutions\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{@import 'style.css' => require('./style.css')}
\DoxyCodeLine{@import url(style.css) => require('./style.css')}
\DoxyCodeLine{@import url('style.css') => require('./style.css')}
\DoxyCodeLine{@import './style.css' => require('./style.css')}
\DoxyCodeLine{@import url(./style.css) => require('./style.css')}
\DoxyCodeLine{@import url('./style.css') => require('./style.css')}
\DoxyCodeLine{@import url('http://dontwritehorriblecode.com/style.css') => @import url('http://dontwritehorriblecode.com/style.css') in runtime }

\end{DoxyCode}


To import styles from a {\ttfamily node\+\_\+modules} path (include {\ttfamily resolve.\+modules}) and for {\ttfamily alias}, prefix it with a {\ttfamily $\sim$}\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{@import url(\string~module/style.css) => require('module/style.css')}
\DoxyCodeLine{@import url('\string~module/style.css') => require('module/style.css')}
\DoxyCodeLine{@import url(\string~aliasDirectory/style.css) => require('otherDirectory/style.css') }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7170}{}\doxyparagraph{$<$tt$>$\+Boolean$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7170}
Enable/disable {\ttfamily @import} resolving.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          import: true,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7171}{}\doxyparagraph{$<$tt$>$\+Function$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7171}
Allow to filter {\ttfamily @import}. All filtered {\ttfamily @import} will not be resolved (left in the code as they were written).

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          import: (url, media, resourcePath) => \{}
\DoxyCodeLine{            // resourcePath -\/ path to css file}
\DoxyCodeLine{}
\DoxyCodeLine{            // Don't handle `style.css` import}
\DoxyCodeLine{            if (url.includes('style.css')) \{}
\DoxyCodeLine{              return false;}
\DoxyCodeLine{            \}}
\DoxyCodeLine{}
\DoxyCodeLine{            return true;}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7172}{}\doxysubsubsection{$<$tt$>$modules$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7172}
Type\+: {\ttfamily Boolean$\vert$\+String$\vert$\+Object} Default\+: based on filename, {\ttfamily true} for all files matching {\ttfamily /\textbackslash{}.module\textbackslash{}.\textbackslash{}w+\$/i.test(filename)} regular expression, more information you can read \href{https://github.com/webpack-contrib/css-loader\#auto}{\texttt{ here}}

Enables/\+Disables CSS Modules and their configuration.

The {\ttfamily modules} option enables/disables the {\bfseries{\href{https://github.com/css-modules/css-modules}{\texttt{ CSS Modules}}}} specification and setup basic behaviour.

Using {\ttfamily false} value increase performance because we avoid parsing {\bfseries{CSS Modules}} features, it will be useful for developers who use vanilla css or use other technologies.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: true,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7173}{}\doxyparagraph{$<$tt$>$\+Features$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7173}
\label{md_sfcode_node_modules_css_loader_README_autotoc_md7174}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7174}%
\doxysubparagraph*{{\ttfamily Scope}}

Using {\ttfamily local} value requires you to specify {\ttfamily \+:global} classes. Using {\ttfamily global} value requires you to specify {\ttfamily \+:local} classes. Using {\ttfamily pure} value requires selectors must contain at least one local class or id.

You can find more information \href{https://github.com/css-modules/css-modules}{\texttt{ here}}.

Styles can be locally scoped to avoid globally scoping styles.

The syntax {\ttfamily \+:local(.class\+Name)} can be used to declare {\ttfamily class\+Name} in the local scope. The local identifiers are exported by the module.

With {\ttfamily \+:local} (without brackets) local mode can be switched on for this selector. The {\ttfamily \+:global(.class\+Name)} notation can be used to declare an explicit global selector. With {\ttfamily \+:global} (without brackets) global mode can be switched on for this selector.

The loader replaces local selectors with unique identifiers. The chosen unique identifiers are exported by the module.


\begin{DoxyCode}{0}
\DoxyCodeLine{:local(.className) \{}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{\}}
\DoxyCodeLine{:local .className \{}
\DoxyCodeLine{  color: green;}
\DoxyCodeLine{\}}
\DoxyCodeLine{:local(.className .subClass) \{}
\DoxyCodeLine{  color: green;}
\DoxyCodeLine{\}}
\DoxyCodeLine{:local .className .subClass :global(.global-\/class-\/name) \{}
\DoxyCodeLine{  color: blue;}
\DoxyCodeLine{\} }

\end{DoxyCode}



\begin{DoxyCode}{0}
\DoxyCodeLine{.\_23\_aKvs-\/b8bW2Vg3fwHozO \{}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{\}}
\DoxyCodeLine{.\_23\_aKvs-\/b8bW2Vg3fwHozO \{}
\DoxyCodeLine{  color: green;}
\DoxyCodeLine{\}}
\DoxyCodeLine{.\_23\_aKvs-\/b8bW2Vg3fwHozO .\_13LGdX8RMStbBE9w-\/t0gZ1 \{}
\DoxyCodeLine{  color: green;}
\DoxyCodeLine{\}}
\DoxyCodeLine{.\_23\_aKvs-\/b8bW2Vg3fwHozO .\_13LGdX8RMStbBE9w-\/t0gZ1 .global-\/class-\/name \{}
\DoxyCodeLine{  color: blue;}
\DoxyCodeLine{\} }

\end{DoxyCode}


\begin{quote}
ℹ️ Identifiers are exported \end{quote}

\begin{DoxyCode}{0}
\DoxyCodeLine{exports.locals = \{}
\DoxyCodeLine{  className: '\_23\_aKvs-\/b8bW2Vg3fwHozO',}
\DoxyCodeLine{  subClass: '\_13LGdX8RMStbBE9w-\/t0gZ1',}
\DoxyCodeLine{\}; }

\end{DoxyCode}


Camel\+Case is recommended for local selectors. They are easier to use within the imported JS module.

You can use {\ttfamily \+:local(\#some\+Id)}, but this is not recommended. Use classes instead of ids.

\label{md_sfcode_node_modules_css_loader_README_autotoc_md7175}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7175}%
\doxysubparagraph*{{\ttfamily Composing}}

When declaring a local classname you can compose a local class from another local classname.


\begin{DoxyCode}{0}
\DoxyCodeLine{:local(.className) \{}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{  color: yellow;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{:local(.subClass) \{}
\DoxyCodeLine{  composes: className;}
\DoxyCodeLine{  background: blue;}
\DoxyCodeLine{\} }

\end{DoxyCode}


This doesn\textquotesingle{}t result in any change to the CSS itself but exports multiple classnames.


\begin{DoxyCode}{0}
\DoxyCodeLine{exports.locals = \{}
\DoxyCodeLine{  className: '\_23\_aKvs-\/b8bW2Vg3fwHozO',}
\DoxyCodeLine{  subClass: '\_13LGdX8RMStbBE9w-\/t0gZ1 \_23\_aKvs-\/b8bW2Vg3fwHozO',}
\DoxyCodeLine{\}; }

\end{DoxyCode}



\begin{DoxyCode}{0}
\DoxyCodeLine{.\_23\_aKvs-\/b8bW2Vg3fwHozO \{}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{  color: yellow;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{.\_13LGdX8RMStbBE9w-\/t0gZ1 \{}
\DoxyCodeLine{  background: blue;}
\DoxyCodeLine{\} }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7176}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7176}%
\doxysubparagraph*{{\ttfamily Importing}}

To import a local classname from another module.

\begin{quote}
i We strongly recommend that you specify the extension when importing a file, since it is possible to import a file with any extension and it is not known in advance which file to use. \end{quote}

\begin{DoxyCode}{0}
\DoxyCodeLine{:local(.continueButton) \{}
\DoxyCodeLine{  composes: button from 'library/button.css';}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{\} }

\end{DoxyCode}



\begin{DoxyCode}{0}
\DoxyCodeLine{:local(.nameEdit) \{}
\DoxyCodeLine{  composes: edit highlight from './edit.css';}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{\} }

\end{DoxyCode}


To import from multiple modules use multiple {\ttfamily composes\+:} rules.


\begin{DoxyCode}{0}
\DoxyCodeLine{:local(.className) \{}
\DoxyCodeLine{  composes: edit hightlight from './edit.css';}
\DoxyCodeLine{  composes: button from 'module/button.css';}
\DoxyCodeLine{  composes: classFromThisModule;}
\DoxyCodeLine{  background: red;}
\DoxyCodeLine{\} }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7177}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7177}%
\doxysubparagraph*{{\ttfamily Values}}

You can use {\ttfamily @value} to specific values to be reused throughout a document.

We recommend use prefix {\ttfamily v-\/} for values, {\ttfamily s-\/} for selectors and {\ttfamily m-\/} for media at-\/rules.


\begin{DoxyCode}{0}
\DoxyCodeLine{@value v-\/primary: \#BF4040;}
\DoxyCodeLine{@value s-\/black: black-\/selector;}
\DoxyCodeLine{@value m-\/large: (min-\/width: 960px);}
\DoxyCodeLine{}
\DoxyCodeLine{.header \{}
\DoxyCodeLine{  color: v-\/primary;}
\DoxyCodeLine{  padding: 0 10px;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{.s-\/black \{}
\DoxyCodeLine{  color: black;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{@media m-\/large \{}
\DoxyCodeLine{  .header \{}
\DoxyCodeLine{    padding: 0 20px;}
\DoxyCodeLine{  \}}
\DoxyCodeLine{\} }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7178}{}\doxyparagraph{$<$tt$>$\+Boolean$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7178}
Enable {\bfseries{CSS Modules}} features.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: true,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7179}{}\doxyparagraph{$<$tt$>$\+String$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7179}
Enable {\bfseries{CSS Modules}} features and setup {\ttfamily mode}.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          // Using `local` value has same effect like using `modules: true`}
\DoxyCodeLine{          modules: 'global',}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7180}{}\doxyparagraph{$<$tt$>$\+Object$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7180}
Enable {\bfseries{CSS Modules}} features and setup options for them.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            compileType: 'module',}
\DoxyCodeLine{            mode: 'local',}
\DoxyCodeLine{            auto: true,}
\DoxyCodeLine{            exportGlobals: true,}
\DoxyCodeLine{            localIdentName: '[path][name]\_\_[local]-\/-\/[hash:base64:5]',}
\DoxyCodeLine{            context: path.resolve(\_\_dirname, 'src'),}
\DoxyCodeLine{            localIdentHashPrefix: 'my-\/custom-\/hash',}
\DoxyCodeLine{            namedExport: true,}
\DoxyCodeLine{            exportLocalsConvention: 'camelCase',}
\DoxyCodeLine{            exportOnlyLocals: false,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7181}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7181}%
\doxysubparagraph*{{\ttfamily compile\+Type}}

Type\+: `\textquotesingle{}module' $\vert$ \textquotesingle{}icss\textquotesingle{}{\ttfamily  Default\+:}\textquotesingle{}module\textquotesingle{}\`{}

Controls the level of compilation applied to the input styles.

The {\ttfamily module} handles {\ttfamily class} and {\ttfamily id} scoping and {\ttfamily @value} values. The {\ttfamily icss} will only compile the low level {\ttfamily Interoperable CSS} format for declaring {\ttfamily \+:import} and {\ttfamily \+:export} dependencies between CSS and other languages.

ICSS underpins CSS Module support, and provides a low level syntax for other tools to implement CSS-\/module variations of their own.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            compileType: 'icss',}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7182}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7182}%
\doxysubparagraph*{{\ttfamily auto}}

Type\+: {\ttfamily Boolean$\vert$\+Reg\+Exp$\vert$\+Function} Default\+: `\textquotesingle{}true'\`{}

Allows auto enable CSS modules based on filename.

\doxysubparagraph*{{\ttfamily Boolean}}

Possible values\+:


\begin{DoxyItemize}
\item {\ttfamily true} -\/ enable css modules for all files for which {\ttfamily /\textbackslash{}.module\textbackslash{}.\textbackslash{}w+\$/i.test(filename)} return true
\item {\ttfamily false} -\/ disable css modules
\end{DoxyItemize}

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            auto: true,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\doxysubparagraph*{{\ttfamily Reg\+Exp}}

Enable css modules for files based on the filename satisfying your regex check.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            auto: /\(\backslash\).custom-\/module\(\backslash\).\(\backslash\)w+\$/i,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\doxysubparagraph*{{\ttfamily Function}}

Enable css modules for files based on the filename satisfying your filter function check.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            auto: (resourcePath) => resourcePath.endsWith('.custom-\/module.css'),}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7183}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7183}%
\doxysubparagraph*{{\ttfamily mode}}

Type\+: {\ttfamily String$\vert$\+Function} Default\+: `\textquotesingle{}local'\`{}

Setup {\ttfamily mode} option. You can omit the value when you want {\ttfamily local} mode.

\doxysubparagraph*{{\ttfamily String}}

Possible values -\/ {\ttfamily local}, {\ttfamily global}, and {\ttfamily pure}.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            mode: 'global',}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\doxysubparagraph*{{\ttfamily Function}}

Allows set different values for the {\ttfamily mode} option based on a filename

Possible return values -\/ {\ttfamily local}, {\ttfamily global}, and {\ttfamily pure}.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            // Callback must return "{}local"{}, "{}global"{}, or "{}pure"{} values}
\DoxyCodeLine{            mode: (resourcePath) => \{}
\DoxyCodeLine{              if (/pure.css\$/i.test(resourcePath)) \{}
\DoxyCodeLine{                return 'pure';}
\DoxyCodeLine{              \}}
\DoxyCodeLine{}
\DoxyCodeLine{              if (/global.css\$/i.test(resourcePath)) \{}
\DoxyCodeLine{                return 'global';}
\DoxyCodeLine{              \}}
\DoxyCodeLine{}
\DoxyCodeLine{              return 'local';}
\DoxyCodeLine{            \},}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7184}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7184}%
\doxysubparagraph*{{\ttfamily local\+Ident\+Name}}

Type\+: {\ttfamily String} Default\+: `'\mbox{[}hash\+:base64\mbox{]}\textquotesingle{}\`{}

Allows to configure the generated local ident name. See \href{https://github.com/webpack/loader-utils\#interpolatename}{\texttt{ loader-\/utils\textquotesingle{}s documentation}} for more information on options.

Recommendations\+:


\begin{DoxyItemize}
\item use `'\mbox{[}path\mbox{]}\mbox{[}name\mbox{]}\+\_\+\+\_\+\mbox{[}local\mbox{]}\textquotesingle{}{\ttfamily for development}
\item {\ttfamily use}\textquotesingle{}\mbox{[}hash\+:base64\mbox{]}\textquotesingle{}\`{} for production
\end{DoxyItemize}

The {\ttfamily \mbox{[}local\mbox{]}} placeholder contains original class.

{\bfseries{Note\+:}} all reserved ({\ttfamily $<$$>$\+:"{}/$|$?$\ast$}) and control filesystem characters (excluding characters in the {\ttfamily \mbox{[}local\mbox{]}} placeholder) will be converted to {\ttfamily -\/}.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            localIdentName: '[path][name]\_\_[local]-\/-\/[hash:base64:5]',}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7185}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7185}%
\doxysubparagraph*{{\ttfamily local\+Ident\+Context}}

Type\+: {\ttfamily String} Default\+: {\ttfamily compiler.\+context}

Allows to redefine basic loader context for local ident name.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            context: path.resolve(\_\_dirname, 'context'),}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7186}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7186}%
\doxysubparagraph*{{\ttfamily local\+Ident\+Hash\+Prefix}}

Type\+: {\ttfamily String} Default\+: {\ttfamily undefined}

Allows to add custom hash to generate more unique classes.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            localIdentHashPrefix: 'hash',}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7187}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7187}%
\doxysubparagraph*{{\ttfamily local\+Ident\+Reg\+Exp}}

Type\+: {\ttfamily String$\vert$\+Reg\+Exp} Default\+: {\ttfamily undefined}

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            localIdentRegExp: /page-\/(.*)\(\backslash\).css/i,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7188}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7188}%
\doxysubparagraph*{{\ttfamily get\+Local\+Ident}}

Type\+: {\ttfamily Function} Default\+: {\ttfamily undefined}

Allows to specify a function to generate the classname. By default we use built-\/in function to generate a classname.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            getLocalIdent: (context, localIdentName, localName, options) => \{}
\DoxyCodeLine{              return 'whatever\_random\_class\_name';}
\DoxyCodeLine{            \},}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7189}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7189}%
\doxysubparagraph*{{\ttfamily named\+Export}}

Type\+: {\ttfamily Boolean} Default\+: {\ttfamily false}

Enables/disables ES modules named export for locals.

\begin{quote}
⚠ Names of locals are converted to camelcase, i.\+e. the {\ttfamily export\+Locals\+Convention} option has {\ttfamily camel\+Case\+Only} value by default. \end{quote}
\begin{quote}
⚠ It is not allowed to use Java\+Script reserved words in css class names. \end{quote}
{\bfseries{styles.\+css}}


\begin{DoxyCode}{0}
\DoxyCodeLine{.foo-\/baz \{}
\DoxyCodeLine{  color: red;}
\DoxyCodeLine{\}}
\DoxyCodeLine{.bar \{}
\DoxyCodeLine{  color: blue;}
\DoxyCodeLine{\} }

\end{DoxyCode}


{\bfseries{index.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{import \{ fooBaz, bar \} from './styles.css';}
\DoxyCodeLine{}
\DoxyCodeLine{console.log(fooBaz, bar); }

\end{DoxyCode}


You can enable a ES module named export using\+:

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          esModule: true,}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            namedExport: true,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7190}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7190}%
\doxysubparagraph*{{\ttfamily export\+Globals}}

Type\+: {\ttfamily Boolean} Default\+: {\ttfamily false}

Allow {\ttfamily css-\/loader} to export names from global class or id, so you can use that as local name.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            exportGlobals: true,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7191}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7191}%
\doxysubparagraph*{{\ttfamily export\+Locals\+Convention}}

Type\+: {\ttfamily String} Default\+: based on the {\ttfamily modules.\+named\+Export} option value, if {\ttfamily true} -\/ {\ttfamily camel\+Case\+Only}, otherwise {\ttfamily as\+Is}

Style of exported class names.

By default, the exported JSON keys mirror the class names (i.\+e {\ttfamily as\+Is} value).

\begin{quote}
⚠ Only {\ttfamily camel\+Case\+Only} value allowed if you set the {\ttfamily named\+Export} value to {\ttfamily true}. \end{quote}
\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Name   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type   }&\cellcolor{\tableheadbgcolor}\textbf{ Description    }\\\cline{1-3}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Name   }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type   }&\cellcolor{\tableheadbgcolor}\textbf{ Description    }\\\cline{1-3}
\endhead
\PBS\centering $\ast$$\ast$`\textquotesingle{}as\+Is'{\ttfamily $\ast$$\ast$ \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$}\{String\}{\ttfamily \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Left\char`\"{}$>$ Class names will be exported as is. \textbackslash{}ilinebr $<$/td$>$ $<$/tr$>$ $<$tr class=\char`\"{}markdown\+Table\+Row\+Even\char`\"{}$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$ $\ast$$\ast$}\textquotesingle{}camel\+Case\textquotesingle{}{\ttfamily $\ast$$\ast$ \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$}\{String\}{\ttfamily \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Left\char`\"{}$>$ Class names will be camelized, the original class name will not to be removed from the locals \textbackslash{}ilinebr $<$/td$>$ $<$/tr$>$ $<$tr class=\char`\"{}markdown\+Table\+Row\+Odd\char`\"{}$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$ $\ast$$\ast$}\textquotesingle{}camel\+Case\+Only\textquotesingle{}{\ttfamily $\ast$$\ast$ \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$}\{String\}{\ttfamily \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Left\char`\"{}$>$ Class names will be camelized, the original class name will be removed from the locals \textbackslash{}ilinebr $<$/td$>$ $<$/tr$>$ $<$tr class=\char`\"{}markdown\+Table\+Row\+Even\char`\"{}$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$ $\ast$$\ast$}\textquotesingle{}dashes\textquotesingle{}{\ttfamily $\ast$$\ast$ \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$}\{String\}{\ttfamily \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Left\char`\"{}$>$ Only dashes in class names will be camelized \textbackslash{}ilinebr $<$/td$>$ $<$/tr$>$ $<$tr class=\char`\"{}markdown\+Table\+Row\+Odd\char`\"{}$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$ $\ast$$\ast$}\textquotesingle{}dashes\+Only\textquotesingle{}{\ttfamily $\ast$$\ast$ \textbackslash{}ilinebr $<$/td$>$ $<$td class=\char`\"{}markdown\+Table\+Body\+Center\char`\"{}$>$}\{String\}\`{}   &Dashes in class names will be camelized, the original class name will be removed from the locals   \\\cline{1-3}
\end{longtabu}


{\bfseries{file.\+css}}


\begin{DoxyCode}{0}
\DoxyCodeLine{.class-\/name \{}
\DoxyCodeLine{\} }

\end{DoxyCode}


{\bfseries{file.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{import \{ className \} from 'file.css'; }

\end{DoxyCode}


{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          mode: 'local',}
\DoxyCodeLine{          localsConvention: 'camelCase',}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


\label{md_sfcode_node_modules_css_loader_README_autotoc_md7192}%
\Hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7192}%
\doxysubparagraph*{{\ttfamily export\+Only\+Locals}}

Type\+: {\ttfamily Boolean} Default\+: {\ttfamily false}

Export only locals.

{\bfseries{Useful}} when you use {\bfseries{css modules}} for pre-\/rendering (for example SSR). For pre-\/rendering with {\ttfamily mini-\/css-\/extract-\/plugin} you should use this option instead of {\ttfamily style-\/loader!css-\/loader} {\bfseries{in the pre-\/rendering bundle}}. It doesn\textquotesingle{}t embed CSS but only exports the identifier mappings.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          modules: \{}
\DoxyCodeLine{            exportOnlyLocals: true,}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7193}{}\doxysubsubsection{$<$tt$>$source\+Map$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7193}
Type\+: {\ttfamily Boolean} Default\+: depends on the {\ttfamily compiler.\+devtool} value

By default generation of source maps depends on the \href{https://webpack.js.org/configuration/devtool/}{\texttt{ {\ttfamily devtool}}} option. All values enable source map generation except {\ttfamily eval} and {\ttfamily false} value.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          sourceMap: true,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7194}{}\doxysubsubsection{$<$tt$>$import\+Loaders$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7194}
Type\+: {\ttfamily Number} Default\+: {\ttfamily 0}

Enables/\+Disables or setups number of loaders applied before CSS loader.

The option {\ttfamily import\+Loaders} allows you to configure how many loaders before {\ttfamily css-\/loader} should be applied to {\ttfamily @import}ed resources.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: [}
\DoxyCodeLine{          'style-\/loader',}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'css-\/loader',}
\DoxyCodeLine{            options: \{}
\DoxyCodeLine{              importLoaders: 2,}
\DoxyCodeLine{              // 0 => no loaders (default);}
\DoxyCodeLine{              // 1 => postcss-\/loader;}
\DoxyCodeLine{              // 2 => postcss-\/loader, sass-\/loader}
\DoxyCodeLine{            \},}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          'postcss-\/loader',}
\DoxyCodeLine{          'sass-\/loader',}
\DoxyCodeLine{        ],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


This may change in the future when the module system (i. e. webpack) supports loader matching by origin.\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7195}{}\doxysubsubsection{$<$tt$>$es\+Module$<$/tt$>$}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7195}
Type\+: {\ttfamily Boolean} Default\+: {\ttfamily true}

By default, {\ttfamily css-\/loader} generates JS modules that use the ES modules syntax. There are some cases in which using ES modules is beneficial, like in the case of \href{https://webpack.js.org/plugins/module-concatenation-plugin/}{\texttt{ module concatenation}} and \href{https://webpack.js.org/guides/tree-shaking/}{\texttt{ tree shaking}}.

You can enable a Common\+JS modules syntax using\+:

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        loader: 'css-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          esModule: false,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7196}{}\doxysubsection{Examples}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7196}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7197}{}\doxysubsubsection{Assets}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7197}
The following {\ttfamily webpack.\+config.\+js} can load CSS files, embed small PNG/\+JPG/\+GIF/\+SVG images as well as fonts as \href{https://tools.ietf.org/html/rfc2397}{\texttt{ Data URLs}} and copy larger files to the output directory.

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: ['style-\/loader', 'css-\/loader'],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).(png|jpe?g|gif|svg|eot|ttf|woff|woff2)\$/i,}
\DoxyCodeLine{        loader: 'url-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          limit: 8192,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7198}{}\doxysubsubsection{Extract}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7198}
For production builds it\textquotesingle{}s recommended to extract the CSS from your bundle being able to use parallel loading of CSS/\+JS resources later on.


\begin{DoxyItemize}
\item This can be achieved by using the \href{https://github.com/webpack-contrib/mini-css-extract-plugin}{\texttt{ mini-\/css-\/extract-\/plugin}} to extract the CSS when running in production mode.
\item As an alternative, if seeking better development performance and css outputs that mimic production. \href{https://github.com/faceyspacey/extract-css-chunks-webpack-plugin}{\texttt{ extract-\/css-\/chunks-\/webpack-\/plugin}} offers a hot module reload friendly, extended version of mini-\/css-\/extract-\/plugin. HMR real CSS files in dev, works like mini-\/css in non-\/dev
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7199}{}\doxysubsubsection{Pure CSS, CSS modules and Post\+CSS}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7199}
When you have pure CSS (without CSS modules), CSS modules and Post\+CSS in your project you can use this setup\+:

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        // For pure CSS -\/ /\(\backslash\).css\$/i,}
\DoxyCodeLine{        // For Sass/SCSS -\/ /\(\backslash\).((c|sa|sc)ss)\$/i,}
\DoxyCodeLine{        // For Less -\/ /\(\backslash\).((c|le)ss)\$/i,}
\DoxyCodeLine{        test: /\(\backslash\).((c|sa|sc)ss)\$/i,}
\DoxyCodeLine{        use: [}
\DoxyCodeLine{          'style-\/loader',}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'css-\/loader',}
\DoxyCodeLine{            options: \{}
\DoxyCodeLine{              // Run `postcss-\/loader` on each CSS `@import`, do not forget that `sass-\/loader` compile non CSS `@import`'s into a single file}
\DoxyCodeLine{              // If you need run `sass-\/loader` and `postcss-\/loader` on each CSS `@import` please set it to `2`}
\DoxyCodeLine{              importLoaders: 1,}
\DoxyCodeLine{              // Automatically enable css modules for files satisfying `/\(\backslash\).module\(\backslash\).\(\backslash\)w+\$/i` RegExp.}
\DoxyCodeLine{              modules: \{ auto: true \},}
\DoxyCodeLine{            \},}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'postcss-\/loader',}
\DoxyCodeLine{            options: \{ plugins: () => [postcssPresetEnv(\{ stage: 0 \})] \},}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          // Can be `less-\/loader`}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'sass-\/loader',}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        ],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).(png|jpe?g|gif|svg|eot|ttf|woff|woff2)\$/i,}
\DoxyCodeLine{        loader: 'url-\/loader',}
\DoxyCodeLine{        options: \{}
\DoxyCodeLine{          limit: 8192,}
\DoxyCodeLine{        \},}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7200}{}\doxysubsubsection{Resolve unresolved URLs using an alias}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7200}
{\bfseries{index.\+css}}


\begin{DoxyCode}{0}
\DoxyCodeLine{.class \{}
\DoxyCodeLine{  background: url(/assets/unresolved/img.png);}
\DoxyCodeLine{\} }

\end{DoxyCode}


{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).css\$/i,}
\DoxyCodeLine{        use: ['style-\/loader', 'css-\/loader'],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{    ],}
\DoxyCodeLine{  \},}
\DoxyCodeLine{  resolve: \{}
\DoxyCodeLine{    alias: \{}
\DoxyCodeLine{      '/assets/unresolved/img.png': path.resolve(}
\DoxyCodeLine{        \_\_dirname,}
\DoxyCodeLine{        'assets/real-\/path-\/to-\/img/img.png'}
\DoxyCodeLine{      ),}
\DoxyCodeLine{    \},}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7201}{}\doxysubsubsection{Separating $<$tt$>$\+Interoperable CSS$<$/tt$>$-\/only and $<$tt$>$\+CSS Module$<$/tt$>$ features}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7201}
The following setup is an example of allowing {\ttfamily Interoperable CSS} features only (such as {\ttfamily \+:import} and {\ttfamily \+:export}) without using further {\ttfamily CSS Module} functionality by setting {\ttfamily compile\+Type} option for all files that do not match {\ttfamily $\ast$.module.\+scss} naming convention. This is for reference as having {\ttfamily ICSS} features applied to all files was default {\ttfamily css-\/loader} behavior before v4. ~\newline
 Meanwhile all files matching {\ttfamily $\ast$.module.\+scss} are treated as {\ttfamily CSS Modules} in this example.

An example case is assumed where a project requires canvas drawing variables to be synchronized with CSS -\/ canvas drawing uses the same color (set by color name in Java\+Script) as HTML background (set by class name in CSS).

{\bfseries{webpack.\+config.\+js}}


\begin{DoxyCode}{0}
\DoxyCodeLine{module.exports = \{}
\DoxyCodeLine{  module: \{}
\DoxyCodeLine{    rules: [}
\DoxyCodeLine{      // ...}
\DoxyCodeLine{      // -\/-\/-\/-\/-\/-\/-\/-\/}
\DoxyCodeLine{      // SCSS ALL EXCEPT MODULES}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).scss\$/,}
\DoxyCodeLine{        exclude: /\(\backslash\).module\(\backslash\).scss\$/,}
\DoxyCodeLine{        use: [}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'style-\/loader'}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'css-\/loader',}
\DoxyCodeLine{            options: \{}
\DoxyCodeLine{              importLoaders: 1,}
\DoxyCodeLine{              modules: \{}
\DoxyCodeLine{                compileType: 'icss'}
\DoxyCodeLine{              \}}
\DoxyCodeLine{            \}}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'sass-\/loader'}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        ],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{      // -\/-\/-\/-\/-\/-\/-\/-\/}
\DoxyCodeLine{      // SCSS MODULES}
\DoxyCodeLine{      \{}
\DoxyCodeLine{        test: /\(\backslash\).module\(\backslash\).scss\$/,}
\DoxyCodeLine{        use: [}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'style-\/loader'}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'css-\/loader',}
\DoxyCodeLine{            options: \{}
\DoxyCodeLine{              importLoaders: 1,}
\DoxyCodeLine{              modules: \{}
\DoxyCodeLine{                compileType: 'module'}
\DoxyCodeLine{              \}}
\DoxyCodeLine{            \}}
\DoxyCodeLine{          \},}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            loader: 'sass-\/loader'}
\DoxyCodeLine{          \},}
\DoxyCodeLine{        ],}
\DoxyCodeLine{      \},}
\DoxyCodeLine{      // -\/-\/-\/-\/-\/-\/-\/-\/}
\DoxyCodeLine{      // ...}
\DoxyCodeLine{  \},}
\DoxyCodeLine{\}; }

\end{DoxyCode}


{\bfseries{variables.\+scss}}

File treated as {\ttfamily ICSS}-\/only.


\begin{DoxyCode}{0}
\DoxyCodeLine{\$colorBackground: red;}
\DoxyCodeLine{:export \{}
\DoxyCodeLine{  colorBackgroundCanvas: \$colorBackground;}
\DoxyCodeLine{\} }

\end{DoxyCode}


{\bfseries{Component.\+module.\+scss}}

File treated as {\ttfamily CSS Module}.


\begin{DoxyCode}{0}
\DoxyCodeLine{@import 'variables.scss';}
\DoxyCodeLine{.componentClass \{}
\DoxyCodeLine{  background-\/color: \$colorBackground;}
\DoxyCodeLine{\} }

\end{DoxyCode}


{\bfseries{Component.\+jsx}}

Using both {\ttfamily CSS Module} functionality as well as SCSS variables directly in Java\+Script.


\begin{DoxyCode}{0}
\DoxyCodeLine{import svars from 'variables.scss';}
\DoxyCodeLine{import styles from 'Component.module.scss';}
\DoxyCodeLine{}
\DoxyCodeLine{// Render DOM with CSS modules class name}
\DoxyCodeLine{// <div className=\{styles.componentClass\}>}
\DoxyCodeLine{//   <canvas ref=\{mountsCanvas\}/>}
\DoxyCodeLine{// </div>}
\DoxyCodeLine{}
\DoxyCodeLine{// Somewhere in JavaScript canvas drawing code use the variable directly}
\DoxyCodeLine{// const ctx = mountsCanvas.current.getContext('2d',\{alpha: false\});}
\DoxyCodeLine{ctx.fillStyle = `\$\{svars.colorBackgroundCanvas\}`; }

\end{DoxyCode}
\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7202}{}\doxysubsection{Contributing}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7202}
Please take a moment to read our contributing guidelines if you haven\textquotesingle{}t yet done so.

./.github/\+CONTRIBUTING.\+md \char`\"{}\+CONTRIBUTING\char`\"{}\hypertarget{md_sfcode_node_modules_css_loader_README_autotoc_md7203}{}\doxysubsection{License}\label{md_sfcode_node_modules_css_loader_README_autotoc_md7203}
\href{./LICENSE}{\texttt{ MIT}} 