Skip to content

lamo2k123/theme-webpack-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This plugin allows you to use theme within any imported library that support it.

What is theme? Theme is just a directory inside module base directory that holds theme specific content (code, css, images, anything...)

Usage

Define module content

/my-cool-module
    /desktop
        index.js
    /mobile
        index.js
    index.js
    package.json

Add plugin to webpack resolver passing regex to match module name and theme name

const ThemeWebpackPlugin = require('theme-webpack-plugin');


resolver: {
    plugins: [
            new ThemeWebpackPlugin(/my-(cool|chill)-module/, 'desktop')
        ]
    };
}

Import module

import MyThemedClass from 'my-cool-module';

Now MyThemedClass is imported not from my-cool-module directory, but from my-cool-module/dekstop