1.0.19 • Published 5 years ago
riot-tag-new-loader v1.0.19
riot-tag-new-loader (Riot.js version 3 only)
Riot new Webpack loader
Example Autoprefixer and Babel for Riot.js version 4
Install
npm i -D riot-tag-new-loader
Usage
webpack.config.js
module.exports = {
module: {
rules: [
... // other rules
{
test: /\.tag$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'riot-tag-new-loader',
options: {
parsers: {
css: {
myparser: function(tag, css) {
return css.replace(/@tag/, tag)
}
}
}
}
}
}
... // other rules
]
}
}
Todo.tag
<todo>
<p>hi</p>
<style type="text/myparser">
@tag {color: red;}
</style>
</todo>
will be compiled to:
<todo>
<p>hi</p>
<style type="text/myparser">
todo {color: red;}
</style>
</todo>
Example for Autoprefixer and Babel
npm i -D babel-loader @babel/core @babel/preset-env riot-tag-new-loader postcss autoprefixer
webpack.config.js
const postcss = require('postcss')
const autoprefixer = require('autoprefixer')
const path = require('path')
module.exports = {
entry: './src/App.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'build.js',
publicPath: 'dist/'
},
module: {
rules: [
{
test: /\.tag$/,
exclude: /(node_modules|bower_components)/,
use: [
{
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
},
{
loader: 'riot-tag-new-loader',
options: {
parsers: {
css: {
myparser: function(tag, css) {
return postcss([ autoprefixer({ browsers: ['last 15 versions'] }) ]).process(css).css
}
}
}
}
}
]
},
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
}
License
ISC License
Author
Legostaev Vadim (legostaev.vadim@mail.ru)
1.0.19
5 years ago
1.0.18
5 years ago
1.0.17
5 years ago
1.0.16
5 years ago
1.0.15
5 years ago
1.0.14
5 years ago
1.0.12
5 years ago
1.0.11
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago