UNPKG

@benshi.ai/js-sdk

Version:

Benshi SDK

106 lines (99 loc) 2.11 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) => ({ 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: { "./BsNetworkNodeFetch": false, '@': path.resolve(__dirname, 'src') }, fallback: { os: false } } } const loaderConfig = { ...getLoaderConfig('[name].loader.js'), resolve: { extensions: ['.tsx', '.ts', '.js'], alias: { "./BsNetworkNodeFetch": false, '@': path.resolve(__dirname, 'src') }, fallback: { os: false } } } module.exports = [serverConfig, cdnConfig, loaderConfig]