UNPKG

@cocreate/file

Version:

A versatile, configurable headless file uploader supporting local and server operations. Accessible via a JavaScript API and HTML5 attributes, it provides seamless file reading, writing, and uploading with fallbacks to the standard HTML5 file input API. I

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