UNPKG

@cocreate/conditional-logic

Version:

Simple JS component show & hide elements conditionally with inputs,checkbox,radio,btn etc.Great for creating tabs, accordions, dynamic forms, etc. Easy Configuration using HTML5 data attributes and/or JavaScript API.

66 lines (64 loc) 1.46 kB
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-conditional-logic": "./src/index.js" }, output: { path: path.resolve(__dirname, "dist"), filename: isProduction ? "[name].min.js" : "[name].js", libraryExport: "default", library: ["CoCreate", "conditionalLogic"], 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; };