Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const path = require('path');
- const fs = require('fs');
- const ExtractCSSPlugin = require('extract-text-webpack-plugin');
- const nodeExternals = require('webpack-node-externals');
- const getFiles = (dir, files_) => {
- files_ = files_ || [];
- const files = fs.readdirSync(dir);
- for (const i in files){
- const name = dir + '\\' + files[i];
- if (fs.statSync(name).isDirectory()){
- getFiles(name, files_);
- } else {
- files_.push(name);
- }
- }
- return files_;
- };
- const filterCSS = (file) => {
- return /\.css$/.test(file);
- };
- const cssFiles = getFiles(path.resolve(__dirname, "src")).filter(filterCSS);
- module.exports = {
- externals: [
- nodeExternals()
- ],
- entry: cssFiles.concat('./src/index.ts'),
- output: {
- path: path.resolve(__dirname, "dist"),
- filename: "main.js"
- },
- resolve: {
- extensions: [
- ".ts",
- ".tsx",
- ".css",
- ]
- },
- module: {
- rules: [
- {
- test: /\.(ts|tsx)/,
- loaders: [
- 'babel-loader',
- 'ts-loader',
- ],
- },
- {
- test: /\.css$/,
- use: ExtractCSSPlugin.extract({
- use: [
- "css-loader",
- ]
- })
- },
- ]
- },
- plugins: [
- new ExtractCSSPlugin('dist.css')
- ],
- target: "node"
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement