diff options
author | eric <thul.eric@gmail.com> | 2017-01-09 15:48:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-09 15:48:12 -0500 |
commit | 941d65aeea0db19b86dc3a80fc58c1ce340965cf (patch) | |
tree | 0cf5d2972456f083ad887c9891b365dbd08d89b2 | |
parent | 5f4d6751efdb215207e7ee87b424b14c4dc041d1 (diff) | |
parent | 4343e0eb79b0324d7f4c4eed081780faeaa836a0 (diff) | |
download | purs-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.md | 17 | ||||
-rw-r--r-- | src/PscIde.js | 9 |
2 files changed, 21 insertions, 5 deletions
@@ -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 | ||
72 | Experimental support for instant rebuilds using `psc-ide-server` can be enabled | 73 | Experimental support for instant rebuilds using `psc-ide-server` can be enabled |
73 | via the `pscIde: true` option. | 74 | via the `pscIde: true` option. |
74 | You can use an already running `psc-ide-server` instance by specifying the port in `pscIdeArgs`. | 75 | You can use an already running `psc-ide-server` instance by specifying the port in `pscIdeArgs`, |
76 | if there is no server running this loader will start one for you. | ||
77 | |||
78 | |||
79 | #### Slower webpack startup after using purs-loader ? | ||
80 | |||
81 | By default, the psc-ide-server will be passed the globs from query.src, this is | ||
82 | helpful for other tools using psc-ide-server (for example IDE plugins), however | ||
83 | it might result in a slower initial webpack startup time (rebuilds are not | ||
84 | affected). 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 | }) |