|
1 | 1 | 'use strict';
|
2 | 2 |
|
| 3 | +var os = require('os'); |
| 4 | + |
3 | 5 | var fs = require('fs');
|
4 | 6 |
|
5 | 7 | var path = require('path');
|
@@ -44,24 +46,25 @@ var PluginError = gutil.PluginError;
|
44 | 46 |
|
45 | 47 | var File = gutil.File;
|
46 | 48 |
|
47 |
| -function resolve(cmd, callback) { |
| 49 | +function resolve(cmd, args, callback) { |
48 | 50 | var err = 'Failed to find ' + gutil.colors.cyan(cmd) + '. Please ensure it is available on your system.';
|
49 | 51 |
|
50 | 52 | resolveBin(purescriptPackage, {executable: cmd}, function(e, bin){
|
51 |
| - if (!e) callback(null, bin); |
| 53 | + if (!e && os.platform() === 'win32') callback(null, 'node', [bin].concat(args)) |
| 54 | + else if (!e) callback(null, bin, args); |
52 | 55 | else {
|
53 | 56 | which(cmd, function(e){
|
54 | 57 | if (e) callback(err);
|
55 |
| - else callback(null, cmd); |
| 58 | + else callback(null, cmd, args); |
56 | 59 | });
|
57 | 60 | }
|
58 | 61 | });
|
59 | 62 | }
|
60 | 63 |
|
61 | 64 | function execute(cmd, args, callback) {
|
62 |
| - resolve(cmd, function(e, bin){ |
| 65 | + resolve(cmd, args, function(e, bin, args$prime){ |
63 | 66 | if (e) callback(new PluginError(pluginName, e));
|
64 |
| - else callback(null, child_process.spawn(bin, args)); |
| 67 | + else callback(null, child_process.spawn(bin, args$prime)); |
65 | 68 | });
|
66 | 69 | }
|
67 | 70 |
|
|
0 commit comments