webpack.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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" +
  7. fs.readFileSync('./LICENSE.BSD', 'utf8') + "\n*/";
  8. }
  9. module.exports = {
  10. entry: {
  11. 'index': './index.ts'
  12. },
  13. devtool: 'source-map',
  14. target: 'node',
  15. externals: [nodeExternals()],
  16. module: {
  17. loaders: [
  18. {
  19. test: /\.ts(x?)$/,
  20. loader: 'awesome-typescript-loader',
  21. query: {
  22. useBabel: true,
  23. useCache: true
  24. }
  25. }
  26. ]
  27. },
  28. resolve: {
  29. extensions: ['.ts']
  30. },
  31. plugins: [
  32. new webpack.BannerPlugin(
  33. {
  34. banner: getLicenseText() + '\n\nrequire("source-map-support").install();\n',
  35. raw: true,
  36. entryOnly: false
  37. }
  38. ),
  39. ],
  40. output: {
  41. path: './dist',
  42. filename: '[name].js',
  43. libraryTarget: "commonjs2",
  44. library: "JavaScriptObfuscator"
  45. }
  46. };