webpack.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. 'use strict';
  2. var fs = require("fs"),
  3. nodeExternals = require('webpack-node-externals'),
  4. webpack = require('webpack'),
  5. ForkCheckerPlugin = require('awesome-typescript-loader').ForkCheckerPlugin;
  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. {
  20. test: /\.ts(x?)$/,
  21. loader: 'awesome-typescript-loader',
  22. query: {
  23. forkChecker: true,
  24. useBabel: true,
  25. useCache: true
  26. }
  27. }
  28. ]
  29. },
  30. resolve: {
  31. extensions: ['.ts']
  32. },
  33. plugins: [
  34. new ForkCheckerPlugin(),
  35. new webpack.BannerPlugin(
  36. {
  37. banner: getLicenseText() + '\n\nrequire("source-map-support").install();\n',
  38. raw: true,
  39. entryOnly: false
  40. }
  41. ),
  42. ],
  43. output: {
  44. path: './dist',
  45. filename: '[name].js',
  46. libraryTarget: "commonjs2",
  47. library: "JavaScriptObfuscator"
  48. }
  49. };