webpack.config.js 1.1 KB

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