webpack.config.js 1.0 KB

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