webpack.config.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. let fs = require("fs"),
  2. nodeExternals = require('webpack-node-externals'),
  3. webpack = require('webpack');
  4. function getLicenseText () {
  5. return `/*
  6. Copyright (C) 2016 Timofey Kachalov <[email protected]>
  7. ${fs.readFileSync('./LICENSE.BSD', 'utf8')}
  8. */`;
  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. modulesDirectories: ['./src', './node_modules']
  25. },
  26. plugins: [
  27. new webpack.BannerPlugin(
  28. {
  29. banner: `${getLicenseText()}\n\nrequire("source-map-support").install();\n`,
  30. raw: true,
  31. entryOnly: false
  32. }
  33. )
  34. ],
  35. output: {
  36. path: './dist',
  37. filename: '[name].js',
  38. libraryTarget: "commonjs2",
  39. library: "JavaScriptObfuscator"
  40. }
  41. };