diff options
author | Brandon Millman <brandon@0xproject.com> | 2017-12-14 07:09:39 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-14 07:09:39 +0800 |
commit | 2ef763a19555b85814a80aa5d93a14c90c51c512 (patch) | |
tree | 5b41b8911e12569f669fc7b30f3ea2cc19a33611 /packages/kovan-faucets/gulpfile.js | |
parent | 6bda6a22e3551707e7069e8ad6ea34d1ba0abd4d (diff) | |
parent | 6ba4ed99c42b4976902046625790698b490c3e0e (diff) | |
download | dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar.gz dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar.bz2 dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar.lz dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar.xz dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.tar.zst dexon-sol-tools-2ef763a19555b85814a80aa5d93a14c90c51c512.zip |
Merge pull request #229 from 0xProject/feature/addKovanFaucets
Add kovan faucet project into the mono repo
Diffstat (limited to 'packages/kovan-faucets/gulpfile.js')
-rw-r--r-- | packages/kovan-faucets/gulpfile.js | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/packages/kovan-faucets/gulpfile.js b/packages/kovan-faucets/gulpfile.js new file mode 100644 index 000000000..773faf33a --- /dev/null +++ b/packages/kovan-faucets/gulpfile.js @@ -0,0 +1,92 @@ +const gulp = require('gulp'); +const nodemon = require('nodemon'); +const path = require('path'); +const webpack = require('webpack'); +const fs = require('fs'); +const nodeExternals = require('webpack-node-externals'); + +const config = { + target: 'node', + entry: [path.join(__dirname, '/src/ts/server.ts')], + output: { + path: path.join(__dirname, '/bin'), + filename: 'server.js', + }, + devtool: 'source-map', + resolve: { + modules: [ + path.join(__dirname, '/src/ts'), + 'node_modules', + ], + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], + alias: { + ts: path.join(__dirname, '/src/ts'), + contract_artifacts: path.join(__dirname, '/src/contract_artifacts'), + }, + }, + module: { + rules: [ + { + test: /\.js$/, + loader: 'source-map-loader', + }, + { + test: /\.tsx?$/, + loader: 'awesome-typescript-loader', + }, + ], + }, + plugins: [ + new webpack.BannerPlugin({ + banner: 'require("source-map-support").install();', + raw: true, + entryOnly: false, + }), + ], + externals: nodeExternals({ + modulesDir: path.join(__dirname, '../../node_modules') + }), + watchOptions: { + ignored: /bin|node_modules|transpiled/ + }, +}; + +gulp.task('build', function(done) { + webpack(config).run(onBuild(done)); +}); + +gulp.task('watch', function() { + webpack(config).watch(100, function(err, stats) { + onBuild()(err, stats); + nodemon.restart(); + }); +}); + +gulp.task('run', ['watch'], function() { + nodemon({ + execMap: { + js: 'node', + }, + script: path.join(__dirname, 'bin/server'), + ignore: ['*'], + watch: ['foo/'], + ext: 'noop', + }).on('restart', function() { + console.log('Restarted!'); + }); +}); + +function onBuild(done) { + return function(err, stats) { + if(err) { + console.log('Error', err); + } + else { + console.log(stats.toString()); + } + + if(done) { + done(); + } + } +} |