webpack.config.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. 'use strict';
  2. var fs = require("fs"),
  3. nodeExternals = require('webpack-node-externals'),
  4. webpack = require('webpack');
  5. function getLicenseText () {
  6. return "/*\nCopyright (C) 2016 Timofey Kachalov <[email protected]>\n\n" + fs.readFileSync('./LICENSE.BSD', 'utf8') + "\n*/";
  7. }
  8. module.exports = {
  9. entry: {
  10. 'index': './index.ts'
  11. },
  12. devtool: 'source-map',
  13. target: 'node',
  14. externals: [nodeExternals()],
  15. module: {
  16. loaders: [
  17. { test: /\.ts(x?)$/, loader: 'babel-loader!ts-loader' }
  18. ]
  19. },
  20. resolve: {
  21. extensions: ['', '.ts'],
  22. modulesDirectories: ['./src', './node_modules']
  23. },
  24. plugins: [
  25. new webpack.BannerPlugin(
  26. {
  27. banner: getLicenseText() + '\n\nrequire("source-map-support").install();\n',
  28. raw: true,
  29. entryOnly: false
  30. }
  31. )
  32. ],
  33. output: {
  34. path: './dist',
  35. filename: '[name].js',
  36. libraryTarget: "commonjs2",
  37. library: "JavaScriptObfuscator"
  38. }
  39. };