aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoreric <thul.eric@gmail.com>2017-01-09 15:48:12 -0500
committerGitHub <noreply@github.com>2017-01-09 15:48:12 -0500
commit941d65aeea0db19b86dc3a80fc58c1ce340965cf (patch)
tree0cf5d2972456f083ad887c9891b365dbd08d89b2
parent5f4d6751efdb215207e7ee87b424b14c4dc041d1 (diff)
parent4343e0eb79b0324d7f4c4eed081780faeaa836a0 (diff)
downloadpurs-loader-941d65aeea0db19b86dc3a80fc58c1ce340965cf.tar.gz
purs-loader-941d65aeea0db19b86dc3a80fc58c1ce340965cf.tar.zst
purs-loader-941d65aeea0db19b86dc3a80fc58c1ce340965cf.zip
Merge pull request #80 from kozak/feature/psc-ide-server-args
Add psc-ide-server arguments and pass src to psc-ide-server
-rw-r--r--README.md17
-rw-r--r--src/PscIde.js9
2 files changed, 21 insertions, 5 deletions
diff --git a/README.md b/README.md
index 9d6166b..292ab85 100644
--- a/README.md
+++ b/README.md
@@ -54,6 +54,7 @@ Default options:
54 pscBundleArgs: {}, 54 pscBundleArgs: {},
55 pscIde: false, // instant rebuilds using psc-ide-server (experimental) 55 pscIde: false, // instant rebuilds using psc-ide-server (experimental)
56 pscIdeArgs: {}, // for example, to use different psc-ide-server port: {port: 4088} 56 pscIdeArgs: {}, // for example, to use different psc-ide-server port: {port: 4088}
57 pscIdeServerArgs: {}, // for example, to change the port { port: 4088 }
57 pscIdeColors: false, // defaults to true if psc === 'psa' 58 pscIdeColors: false, // defaults to true if psc === 'psa'
58 bundleOutput: 'output/bundle.js', 59 bundleOutput: 'output/bundle.js',
59 bundleNamespace: 'PS', 60 bundleNamespace: 'PS',
@@ -71,4 +72,18 @@ Default options:
71 72
72Experimental support for instant rebuilds using `psc-ide-server` can be enabled 73Experimental support for instant rebuilds using `psc-ide-server` can be enabled
73via the `pscIde: true` option. 74via the `pscIde: true` option.
74You can use an already running `psc-ide-server` instance by specifying the port in `pscIdeArgs`. 75You can use an already running `psc-ide-server` instance by specifying the port in `pscIdeArgs`,
76if there is no server running this loader will start one for you.
77
78
79#### Slower webpack startup after using purs-loader ?
80
81By default, the psc-ide-server will be passed the globs from query.src, this is
82helpful for other tools using psc-ide-server (for example IDE plugins), however
83it might result in a slower initial webpack startup time (rebuilds are not
84affected). To override the default behaviour, add:
85`pscIdeServerArgs: { "_": ['your/*globs/here'] }` to the loader config
86
87
88
89
diff --git a/src/PscIde.js b/src/PscIde.js
index 27b49f6..8a0e823 100644
--- a/src/PscIde.js
+++ b/src/PscIde.js
@@ -61,13 +61,14 @@ function connect(psModule) {
61 ideClient.stdin.write('\n') 61 ideClient.stdin.write('\n')
62 }) 62 })
63 63
64 const args = dargs(Object.assign({ 64 const serverArgs = dargs(Object.assign({
65 outputDirectory: options.output, 65 outputDirectory: options.output,
66 }, options.pscIdeArgs)) 66 "_": options.src
67 }, options.pscIdeServerArgs))
67 68
68 debug('attempting to start psc-ide-server', args) 69 debug('attempting to start psc-ide-server', serverArgs)
69 70
70 const ideServer = cache.ideServer = spawn('psc-ide-server', []) 71 const ideServer = cache.ideServer = spawn('psc-ide-server', serverArgs)
71 ideServer.stderr.on('data', data => { 72 ideServer.stderr.on('data', data => {
72 debug(data.toString()) 73 debug(data.toString())
73 }) 74 })