UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

106 lines (99 loc) 2.2 kB
const path = require("path"); const getLoaderConfig = (outputFileName) => ({ mode: process.env.NODE_ENV ? "development" : "production", watch: process.env.NODE_ENV === "dev", entry: { lib: path.resolve(__dirname, "./src/loader/index.ts"), }, output: { path: path.resolve(__dirname, "./lib"), filename: outputFileName, globalObject: "this", library: { name: "[name]", type: "umd", }, }, resolve: { extensions: [".tsx", ".ts", ".js"], alias: { "@": path.resolve(__dirname, "src"), }, fallback: {}, }, module: { rules: [ { test: /\.tsx?$/, loader: "babel-loader", exclude: /node_modules/, }, ], }, }); const getCommonConfig = (outputFileName) => { return { mode: process.env.NODE_ENV ? "development" : "production", watch: process.env.NODE_ENV === "dev", entry: { lib: path.resolve(__dirname, "./src/index.ts"), init: path.resolve(__dirname, "./src/init.ts"), }, output: { path: path.resolve(__dirname, "./lib"), filename: outputFileName, globalObject: "this", library: { name: "[name]", type: "umd", }, }, resolve: { extensions: [".tsx", ".ts", ".js"], alias: { "@": path.resolve(__dirname, "src"), }, fallback: {}, }, module: { rules: [ { test: /\.tsx?$/, loader: "babel-loader", exclude: /node_modules/, }, ], }, }; }; const serverConfig = { ...getCommonConfig("[name].node.js"), target: "node", }; const cdnConfig = { ...getCommonConfig("[name].js"), resolve: { extensions: [".tsx", ".ts", ".js"], alias: { "./CfNetworkNodeFetch": false, "@": path.resolve(__dirname, "src"), }, fallback: { os: false, }, }, }; const loaderConfig = { ...getLoaderConfig("[name].loader.js"), resolve: { extensions: [".tsx", ".ts", ".js"], alias: { "./CfNetworkNodeFetch": false, "@": path.resolve(__dirname, "src"), }, fallback: { os: false, }, }, }; module.exports = [serverConfig, cdnConfig, loaderConfig];