![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
mk-theme-webpack-plugin
Advanced tools
A webpack plugin to provide Dynamic Theme for Maycur Ant Design and Maycur Business
This webpack plugin is to generate color specific less/css and inject into your index.html
file so
that you can change Ant Design specific color theme in browser.
Live Theme Demo: https://antd-live-theme.firebaseapp.com/
In order to integrate with your webpack configurations, install the package and add following code in your webpack config file.
const MKThemePlugin = require('mk-theme-webpack-plugin');
const options = {
antDir: path.join(__dirname, './node_modules/antd'),
stylesDir: path.join(__dirname, './src/styles'),
varFile: path.join(__dirname, './src/styles/variables.less'),
mainLessFile: path.join(__dirname, './src/styles/index.less'),
themeVariables: ['@primary-color'],
indexFileName: 'index.html',
generateOnce: false
}
const themePlugin = new MKThemePlugin(options);
// in config object
plugins: [
themePlugin
]
Add this plugin in plugins
array.
antd/lib/style/themes/default.less
file at top (important))true
value. But if you have new changes in your styles, you need to re-run your build process npm start
.So if your directory structure is different or file names are different then provide correct paths as options while initailizing plugin
If you directory structure is same as below then you don't need to override path
/
/src
/styles
/index.less
/variables.less
/otherlessfiles.less
node_modules
public/index.html (index.html file at any path, only name matters in this case)
If you index.html
file is not being generated by build process then add following code in your index.html
or whatever is the name of html main file and add indexFileName: false
in options/config. This way you can better place your below script in your html file according to your needs.
<link rel="stylesheet/less" type="text/css" href="/color.less" />
<script>
window.less = {
async: false,
env: 'production'
};
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/less.js/2.7.2/less.min.js"></script>
Don't forget to add import Ant design default theme file i.e. antd/lib/style/themes/default.less in variables.less file.
You need to enable javascript for less-loader.
{
enableJavascript: true
}
For those who are using react-app-rewire-less
with react-app-rewired
, enable javascript like this
module.exports = function override(config, env) {
config = injectBabelPlugin(['import', { libraryName: 'antd', style: true }], config);
config = rewireLess.withLoaderOptions({
modifyVars: {
'@primary-color': '#002251'
},
enableJavascript: true
})(config, env);
config.plugins.push(new AntDesignThemePlugin(options));
return config;
};
@import "~antd/lib/style/themes/default.less";
instead of @import "../../node_modules/antd/lib/style/themes/default.less";
FAQs
A webpack plugin to provide Dynamic Theme for Maycur Ant Design and Maycur Business
The npm package mk-theme-webpack-plugin receives a total of 0 weekly downloads. As such, mk-theme-webpack-plugin popularity was classified as not popular.
We found that mk-theme-webpack-plugin demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.