|
1 |
| -/* jshint node: true */ |
2 |
| -'use strict'; |
3 |
| - |
4 |
| -/* default reload css extensions */ |
5 |
| -var styleExtensions = ['css', 'scss', 'sass', 'less', 'styl']; |
6 |
| -var reloadCssPattern = new RegExp('.(' + styleExtensions.join('|') + ')$'); |
7 |
| - |
8 |
| -function LiveStyleReloader(options){ |
9 |
| - |
10 |
| - var noop = function(){}, |
11 |
| - options = options, |
12 |
| - appCssPattern = new RegExp('^' + options.project.root + '/app/styles/*'), |
13 |
| - ui = options.ui, |
14 |
| - http = null, |
15 |
| - liveReloadHost = options.liveReloadHost || options.host |
16 |
| - liveReloadHostname = [(options.ssl ? 'https://' :'http://'), liveReloadHost, ':', options.liveReloadPort].join(''), |
17 |
| - reloadCssPattern = options.reloadCssPattern; |
18 |
| - |
19 |
| - var getDirtyAsset = function(changedFilePath){ |
20 |
| - if (changedFilePath.match(appCssPattern)){ |
21 |
| - return options.project.pkg.name + '.css'; |
22 |
| - } |
23 |
| - return 'vendor.css'; |
24 |
| - }; |
25 |
| - |
26 |
| - var fileDidChange = function(results){ |
27 |
| - var filePath = results.filePath || ''; |
28 |
| - var dirtyAsset = getDirtyAsset(filePath); |
29 |
| - |
30 |
| - if (filePath.match(reloadCssPattern)){ |
31 |
| - ui.writeLine("Reloading " + dirtyAsset + " only"); |
32 |
| - http.get(liveReloadHostname + '/changed?files=' + dirtyAsset) |
33 |
| - .on('error', noop); |
34 |
| - } |
35 |
| - }; |
36 |
| - |
37 |
| - this.startObserving = function(watcher){ |
38 |
| - if (options.liveReload){ |
39 |
| - ui.writeLine('StyleReloader watches ' + styleExtensions.join('|')); |
40 |
| - http = require('http'); |
41 |
| - watcher.on('change', fileDidChange.bind(this)); |
42 |
| - } |
43 |
| - }; |
44 |
| -}; |
| 1 | +// /* jshint node: true */ |
| 2 | +// 'use strict'; |
| 3 | + |
| 4 | +// /* default reload css extensions */ |
| 5 | +// var styleExtensions = ['css', 'scss', 'sass', 'less', 'styl']; |
| 6 | +// var reloadCssPattern = new RegExp('.(' + styleExtensions.join('|') + ')$'); |
| 7 | + |
| 8 | +// function LiveStyleReloader(options){ |
| 9 | + |
| 10 | +// var noop = function(){}, |
| 11 | +// options = options, |
| 12 | +// appCssPattern = new RegExp('^' + options.project.root + '/app/styles/*'), |
| 13 | +// ui = options.ui, |
| 14 | +// http = null, |
| 15 | +// liveReloadHost = options.liveReloadHost || options.host |
| 16 | +// liveReloadHostname = [(options.ssl ? 'https://' :'http://'), liveReloadHost, ':', options.liveReloadPort].join(''), |
| 17 | +// reloadCssPattern = options.reloadCssPattern; |
| 18 | + |
| 19 | +// var getDirtyAsset = function(changedFilePath){ |
| 20 | +// if (changedFilePath.match(appCssPattern)){ |
| 21 | +// return options.project.pkg.name + '.css'; |
| 22 | +// } |
| 23 | +// return 'vendor.css'; |
| 24 | +// }; |
| 25 | + |
| 26 | +// var fileDidChange = function(results){ |
| 27 | +// var filePath = results.filePath || ''; |
| 28 | +// var dirtyAsset = getDirtyAsset(filePath); |
| 29 | + |
| 30 | +// if (filePath.match(reloadCssPattern)){ |
| 31 | +// ui.writeLine("Reloading " + dirtyAsset + " only"); |
| 32 | +// http.get(liveReloadHostname + '/changed?files=' + dirtyAsset) |
| 33 | +// .on('error', noop); |
| 34 | +// } |
| 35 | +// }; |
| 36 | + |
| 37 | +// this.startObserving = function(watcher){ |
| 38 | +// if (options.liveReload){ |
| 39 | +// ui.writeLine('StyleReloader watches ' + styleExtensions.join('|')); |
| 40 | +// http = require('http'); |
| 41 | +// watcher.on('change', fileDidChange.bind(this)); |
| 42 | +// } |
| 43 | +// }; |
| 44 | +// }; |
45 | 45 |
|
46 | 46 | module.exports = {
|
47 | 47 | name: 'ember-cli-styles-reloader',
|
48 | 48 |
|
49 | 49 | serverMiddleware: function(config){
|
50 |
| - var options = config.options; |
51 |
| - |
52 |
| - // Tell ember-cli to ignore files that match reloadCssPattern |
53 |
| - options.project.liveReloadFilterPatterns.push(reloadCssPattern); |
54 |
| - options.reloadCssPattern = reloadCssPattern |
55 |
| - |
56 |
| - var lsReloader = new LiveStyleReloader(options); |
57 |
| - lsReloader.startObserving(options.watcher); |
| 50 | + var lsReloader = require('./lib/styles-reloader')(config.options); |
| 51 | + lsReloader.run(); |
58 | 52 | },
|
59 | 53 |
|
60 | 54 | contentFor: function(type, config){
|
|
0 commit comments