aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authoreric thul <thul.eric@gmail.com>2017-02-19 11:29:57 -0500
committereric thul <thul.eric@gmail.com>2017-02-19 12:10:43 -0500
commitdf8798fa0eeeb3dfcce14dc10100b03f708b57f6 (patch)
tree4357fadcb0bd9c7fe73b38c6a3adcd305834d980 /src
parent8e21ab0ab3f8ba9d129f1cf3b59f87d7a2b5bfc2 (diff)
downloadpurs-loader-df8798fa0eeeb3dfcce14dc10100b03f708b57f6.tar.gz
purs-loader-df8798fa0eeeb3dfcce14dc10100b03f708b57f6.tar.zst
purs-loader-df8798fa0eeeb3dfcce14dc10100b03f708b57f6.zip
Add a watch option
Similar to the way psc-ide support works, the purs-loader now tolerates compiler errors when the `watch` option is true. When webpack is being run in watch mode the user can set `watch` to true in order to avoid failing the webpack bundle creation when the PureScript compiler fails. Resolves issue #66 Resolves issue #73 Resolves issue #74
Diffstat (limited to 'src')
-rw-r--r--src/Psc.js7
-rw-r--r--src/index.js1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/Psc.js b/src/Psc.js
index 4991d5f..ffa32b7 100644
--- a/src/Psc.js
+++ b/src/Psc.js
@@ -45,7 +45,12 @@ function compile(psModule) {
45 if (errorMessage.length) { 45 if (errorMessage.length) {
46 psModule.emitError(errorMessage); 46 psModule.emitError(errorMessage);
47 } 47 }
48 reject(new Error('compilation failed')) 48 if (options.watch) {
49 resolve(psModule);
50 }
51 else {
52 reject(new Error('compilation failed'))
53 }
49 } else { 54 } else {
50 const warningMessage = stderr.join(''); 55 const warningMessage = stderr.join('');
51 if (options.warnings && warningMessage.length) { 56 if (options.warnings && warningMessage.length) {
diff --git a/src/index.js b/src/index.js
index 3f5e6a8..f4a6dff 100644
--- a/src/index.js
+++ b/src/index.js
@@ -46,6 +46,7 @@ module.exports = function purescriptLoader(source, map) {
46 bundleNamespace: 'PS', 46 bundleNamespace: 'PS',
47 bundle: false, 47 bundle: false,
48 warnings: true, 48 warnings: true,
49 watch: false,
49 output: 'output', 50 output: 'output',
50 src: [ 51 src: [
51 path.join('src', '**', '*.purs'), 52 path.join('src', '**', '*.purs'),