forked from osdio/noder-react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpFile.coffee
More file actions
executable file
·53 lines (41 loc) · 1.21 KB
/
gulpFile.coffee
File metadata and controls
executable file
·53 lines (41 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
gulp = require 'gulp'
replace = require 'gulp-replace'
reactCss = require 'gulp-react-native-css'
sass = require 'gulp-sass'
gutil = require 'gulp-util'
runSequence = require 'run-sequence'
devIp = require 'dev-ip'
child_process = require 'child_process'
appDelegateSrc = './iOS/AppDelegate.m'
port = 8081
config =
style:
src: ['./app/sass/**/*.scss']
dest: './app/styles'
gulp.task 'replace', ->
ip = devIp()[0]
reg = ///
jsCodeLocation\s=\s
\[NSURL\sURLWithString:
@"http:.*\n
///g
# ip = 'localhost'
gulp.src appDelegateSrc
.pipe replace reg, "jsCodeLocation = [NSURL URLWithString:@\"http://#{ip}:#{port}/index.ios.bundle\"];\n"
.pipe gulp.dest './iOS'
gulp.task 'style', ->
gulp.src config.style.src
.pipe sass()
.pipe reactCss()
.pipe gulp.dest config.style.dest
gulp.task 'style:w', ['style'], ->
gulp.watch config.style.src, ['style']
gulp.task 'package', (cb)->
cmd = "./node_modules/react-native/packager/packager.sh"
start = child_process.spawn cmd, ['--port', port]
start.stdout.on 'data', (data)->
gutil.log data.toString()
start.stderr.on 'data', (data)->
gutil.log data.toString()
gulp.task 'start', ->
runSequence 'replace', 'package'