@cocreate/actions
Version:
Chain multiple component executions to generate your desired logic, when one action is complete next one will start. The sequence goes until all actions have been completed. Vanilla javascript, easily configured using HTML5 attributes and/or JavaScript AP
66 lines (64 loc) • 1.44 kB
JavaScript
const path = require("path");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const { EsbuildPlugin } = require("esbuild-loader");
const { FileUploader } = require("@cocreate/webpack");
module.exports = async (env, argv) => {
const isProduction = argv && argv.mode === "production";
const config = {
entry: {
"CoCreate-actions": "./src/index.js"
},
output: {
path: path.resolve(__dirname, "dist"),
filename: isProduction ? "[name].min.js" : "[name].js",
libraryExport: "default",
library: ["CoCreate", "actions"],
clean: true
},
plugins: [
new MiniCssExtractPlugin({
filename: isProduction ? "[name].min.css" : "[name].css"
}),
new FileUploader(env, argv)
],
mode: isProduction ? "production" : "development",
devtool: isProduction ? "source-map" : "eval-source-map",
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "esbuild-loader",
options: {
loader: "js",
target: "es2017"
}
}
},
{
test: /.css$/i,
use: [MiniCssExtractPlugin.loader, "css-loader"]
}
]
},
optimization: {
minimize: isProduction,
minimizer: [
new EsbuildPlugin({
target: "es2017",
css: true
})
],
splitChunks: {
cacheGroups: {
defaultVendors: false
}
}
},
performance: {
hints: isProduction ? "warning" : false
}
};
return config;
};