view release on metacpan or search on metacpan
example/rollup/assets/rollup.config.d/core.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::rollup 1.01
const commonjs = require('@rollup/plugin-commonjs');
const {nodeResolve} = require('@rollup/plugin-node-resolve');
module.exports = function(config) {
config.plugins.push(nodeResolve());
config.plugins.push(commonjs());
};
example/rollup/assets/rollup.config.d/css.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::rollup 1.01
const postcss = require('rollup-plugin-postcss');
module.exports = function(config) {
config.plugins.push(postcss({
extract: true,
plugins: [
require('postcss-preset-env')(),
require('cssnano')(),
],
}));
};
example/rollup/assets/rollup.config.d/js.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::rollup 1.01
const {babel} = require('@rollup/plugin-babel');
const {terser} = require('rollup-plugin-terser');
module.exports = function(config, {isDev}) {
config.plugins.push(babel({
babelHelpers: 'runtime',
extensions: ['.html', '.js', '.mjs'],
plugins: ['@babel/plugin-transform-runtime'],
presets: [['@babel/preset-env', {corejs: 3, debug: false, useBuiltIns: 'entry'}]],
}));
if (!isDev) config.plugins.push(terser());
example/rollup/assets/rollup.config.d/svelte.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::rollup 1.01
const svelte = require('rollup-plugin-svelte');
module.exports = function(config) {
config.plugins.push(svelte({}));
};
example/rollup/rollup.config.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::rollup 1.01
const fs = require('fs');
const pkg = require('./package.json');
const path = require('path');
const assetsDir = process.env.ROLLUP_ASSETS_DIR || path.resolve(__dirname, 'assets');
const isDev = process.env.NODE_ENV !== 'production';
const outDir = process.env.ROLLUP_OUT_DIR || path.resolve(__dirname, 'dist');
const ts = parseInt((new Date().getTime() / 1000), 10).toString(16);
function outPath(name) {
return path.resolve(outDir, name.replace(/\[hash\]/, isDev ? 'development' : ts));
}
example/webpack/assets/webpack.config.d/css.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 1.01
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('css-minimizer-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new OptimizeCSSAssetsPlugin({}));
config.plugins.push(new MiniCssExtractPlugin({filename: isDev ? '[name].development.css' : '[name].[contenthash].css'}));
config.module.rules.push({
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, {loader: 'css-loader', options: {sourceMap: true, url: false}}],
});
};
example/webpack/assets/webpack.config.d/js.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 1.01
const TerserPlugin = require('terser-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new TerserPlugin({parallel: true}));
config.module.rules.push({
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
example/webpack/assets/webpack.config.d/sass.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 1.01
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('css-minimizer-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new OptimizeCSSAssetsPlugin({}));
config.plugins.push(new MiniCssExtractPlugin({filename: isDev ? '[name].development.css' : '[name].[contenthash].css'}));
config.module.rules.push({
test: /\.s(a|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{loader: 'css-loader', options: {sourceMap: true, url: false}},
{loader: 'sass-loader', options: {sourceMap: true}},
example/webpack/assets/webpack.config.d/vue.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 1.01
const {VueLoaderPlugin} = require('vue-loader');
module.exports = function(config) {
config.plugins.push(new VueLoaderPlugin());
config.module.rules.push({test: /\.vue$/, use: 'vue-loader'});
};
example/webpack/webpack.config.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 1.01
const fs = require('fs');
const pkg = require('./package.json');
const path = require('path');
const assetsDir = process.env.WEBPACK_ASSETS_DIR || path.resolve(__dirname, 'assets');
const isDev = process.env.NODE_ENV !== 'production';
const config = {
entry: {},
mode: isDev ? 'development' : 'production',
module: {rules: []},
optimization: {minimizer: []},
output: {},
lib/Mojo/Alien/rollup.pm view on Meta::CPAN
See L<Mojo::Alien::webpack/watch>.
=head1 SEE ALSO
L<Mojolicious::Plugin::Webpack> and L<Mojo::Alien::webpack>.
=cut
__DATA__
@@ include/core.js
const commonjs = require('@rollup/plugin-commonjs');
const {nodeResolve} = require('@rollup/plugin-node-resolve');
module.exports = function(config) {
config.plugins.push(nodeResolve());
config.plugins.push(commonjs());
};
@@ include/css.js
const postcss = require('rollup-plugin-postcss');
module.exports = function(config) {
config.plugins.push(postcss({
extract: true,
plugins: [
require('postcss-preset-env')(),
require('cssnano')(),
],
}));
};
@@ include/eslint.js
const eslint = require('@rollup/plugin-eslint');
module.exports = function(config, {isDev}) {
if (!isDev) return;
config.plugins.push(eslint({
exclude: ['node_modules/**', '**/*.css', '**/*.sass'],
fix: process.env.ESLINT_FIX ? true : false,
}));
}
@@ include/js.js
const {babel} = require('@rollup/plugin-babel');
const {terser} = require('rollup-plugin-terser');
module.exports = function(config, {isDev}) {
config.plugins.push(babel({
babelHelpers: 'runtime',
extensions: ['.html', '.js', '.mjs'],
plugins: ['@babel/plugin-transform-runtime'],
presets: [['@babel/preset-env', {corejs: 3, debug: false, useBuiltIns: 'entry'}]],
}));
if (!isDev) config.plugins.push(terser());
}
@@ include/sass.js
const postcss = require('rollup-plugin-postcss');
module.exports = function(config) {
config.plugins.push(postcss({extract: true, plugins: [
require('@csstools/postcss-sass')(),
require('postcss-preset-env')(),
require('cssnano')(),
]}));
};
@@ include/svelte.js
const svelte = require('rollup-plugin-svelte');
module.exports = function(config) {
config.plugins.push(svelte({}));
};
@@ rollup.config.js
const fs = require('fs');
const pkg = require('./package.json');
const path = require('path');
const assetsDir = process.env.ROLLUP_ASSETS_DIR || path.resolve(__dirname, 'assets');
const isDev = process.env.NODE_ENV !== 'production';
const outDir = process.env.ROLLUP_OUT_DIR || path.resolve(__dirname, 'dist');
const ts = parseInt((new Date().getTime() / 1000), 10).toString(16);
function outPath(name) {
return path.resolve(outDir, name.replace(/\[hash\]/, isDev ? 'development' : ts));
}
lib/Mojo/Alien/webpack.pm view on Meta::CPAN
and over again. Automatically calls L</init>.
=head1 SEE ALSO
L<Mojolicious::Plugin::Webpack> and L<Mojo::Alien::rollup>.
=cut
__DATA__
@@ include/css.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('css-minimizer-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new OptimizeCSSAssetsPlugin({}));
config.plugins.push(new MiniCssExtractPlugin({filename: isDev ? '[name].development.css' : '[name].[contenthash].css'}));
config.module.rules.push({
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, {loader: 'css-loader', options: {sourceMap: true, url: false}}],
});
};
@@ include/eslint.js
const ESLintPlugin = require('eslint-webpack-plugin');
module.exports = function(config) {
config.plugins.push(new ESLintPlugin({
exclude: ['node_modules/**', '**/*.css', '**/*.sass'],
fix: process.env.ESLINT_FIX ? true : false,
}));
};
@@ include/js.js
const TerserPlugin = require('terser-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new TerserPlugin({parallel: true}));
config.module.rules.push({
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
plugins: ['@babel/plugin-transform-runtime'],
presets: ['@babel/preset-env'],
},
},
});
};
@@ include/sass.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('css-minimizer-webpack-plugin');
module.exports = function(config, {isDev}) {
if (!isDev) config.optimization.minimizer.push(new OptimizeCSSAssetsPlugin({}));
config.plugins.push(new MiniCssExtractPlugin({filename: isDev ? '[name].development.css' : '[name].[contenthash].css'}));
config.module.rules.push({
test: /\.s(a|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{loader: 'css-loader', options: {sourceMap: true, url: false}},
{loader: 'sass-loader', options: {sourceMap: true}},
],
});
};
@@ include/vue.js
const {VueLoaderPlugin} = require('vue-loader');
module.exports = function(config) {
config.plugins.push(new VueLoaderPlugin());
config.module.rules.push({test: /\.vue$/, use: 'vue-loader'});
};
@@ webpack.config.js
const fs = require('fs');
const pkg = require('./package.json');
const path = require('path');
const assetsDir = process.env.WEBPACK_ASSETS_DIR || path.resolve(__dirname, 'assets');
const isDev = process.env.NODE_ENV !== 'production';
const config = {
entry: {},
mode: isDev ? 'development' : 'production',
module: {rules: []},
optimization: {minimizer: []},
output: {},
t/alien-rollup-files.t view on Meta::CPAN
import './css/cool-stuff.css';
import './images/1x1-red.png';
import './images/1x1-transparent.png';
import app from './app.js';
app.start();
@@ images/1x1-red.png (base64)
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4z8DwHwAFAAH/q842iQAAAABJRU5ErkJggg==
@@ images/1x1-transparent.png (base64)
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg
@@ rollup.config.d/images.js
const image = require('rollup-plugin-img');
module.exports = function(config) {
config.plugins.push(image({hash: true, limit: 1, output: 'dist/images'}));
};
t/assets/webpack.config.d/js.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 0.14
const TerserPlugin = require('terser-webpack-plugin');
module.exports = function(config) {
config.optimization.minimizer.push(new TerserPlugin({parallel: true}));
config.module.rules.push({
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
plugins: ['@babel/plugin-transform-runtime'],
t/webpack.config.js view on Meta::CPAN
// Autogenerated by Mojo::Alien::webpack 0.14
const fs = require('fs');
const pkg = require('./package.json');
const path = require('path');
const assetsDir = process.env.WEBPACK_ASSETS_DIR || path.resolve(__dirname, 'assets');
const isDev = process.env.NODE_ENV !== 'production';
const config = {
entry: {},
mode: isDev ? 'development' : 'production',
module: {rules: []},
optimization: {minimizer: []},
output: {},