formatting tweaks

This commit is contained in:
Dan Motzenbecker 2015-09-18 23:10:03 -04:00
parent 0a5fecca0e
commit 513857dd49
1 changed files with 23 additions and 21 deletions

View File

@ -39,34 +39,34 @@ init = (projName) ->
projNameUs = projName.replace(camelRx, '$1_$2').toLowerCase()
try
log "Creating #{ projName }", 'bgMagenta'
log "Creating #{projName}", 'bgMagenta'
log ''
if fs.existsSync projNameHyph
throw new Error "Directory #{ projNameHyph } already exists"
throw new Error "Directory #{projNameHyph} already exists"
execSync 'type lein'
execSync 'type pod'
podVersion = execSync('pod --version').toString().trim()
unless semver.satisfies podVersion, ">=#{ podMinVersion }"
unless semver.satisfies podVersion, ">=#{podMinVersion}"
throw new Error """
Natal requires CocoaPods #{ podMinVersion } or higher (you have #{ podVersion }).
Natal requires CocoaPods #{podMinVersion} or higher (you have #{podVersion}).
Run [sudo] gem update cocoapods and try again.
"""
log 'Creating Leiningen project'
execSync "lein new #{ projNameHyph }"
execSync "lein new #{projNameHyph}"
log 'Updating Leiningen project'
process.chdir projNameHyph
execSync "cp #{ resources }project.clj project.clj"
execSync "cp #{resources}project.clj project.clj"
editSync 'project.clj', [[projNameHyphRx, projNameHyph]]
corePath = "src/#{ projNameUs }/core.clj"
corePath = "src/#{projNameUs}/core.clj"
fs.unlinkSync corePath
corePath += 's'
execSync "cp #{ resources }core.cljs #{ corePath }"
execSync "cp #{resources}core.cljs #{corePath}"
editSync corePath, [[projNameHyphRx, projNameHyph], [projNameRx, projName]]
execSync "cp #{ resources }ambly.sh start.sh"
execSync "cp #{resources}ambly.sh start.sh"
editSync 'start.sh', [[projNameUnderRx, projNameUs]]
log 'Compiling ClojureScript'
@ -92,13 +92,13 @@ init = (projName) ->
log 'Installing Pod dependencies'
process.chdir 'iOS'
execSync "cp #{ resources }Podfile ."
execSync "cp #{resources}Podfile ."
execSync 'pod install', stdio: 'ignore'
log 'Updating Xcode project'
for ext in ['m', 'h']
path = "#{ projName }/AppDelegate.#{ ext }"
execSync "cp #{ resources }AppDelegate.#{ ext } #{ path }"
path = "#{projName}/AppDelegate.#{ext}"
execSync "cp #{resources}AppDelegate.#{ext} #{path}"
editSync path, [[projNameRx, projName], [projNameHyphRx, projNameHyph]]
uuid1 = crypto
@ -112,7 +112,7 @@ init = (projName) ->
uuid2 = uuid2.join ''
editSync \
"#{ projName }.xcodeproj/project.pbxproj",
"#{projName}.xcodeproj/project.pbxproj",
[
[
/OTHER_LDFLAGS = "-ObjC";/g
@ -120,35 +120,37 @@ init = (projName) ->
]
[
/\/\* End PBXBuildFile section \*\//
"\t\t#{ uuid2 } /* out in Resources */ =
{isa = PBXBuildFile; fileRef = #{ uuid1 } /* out */; };
"\t\t#{uuid2} /* out in Resources */ =
{isa = PBXBuildFile; fileRef = #{uuid1} /* out */; };
\n/* End PBXBuildFile section */"
]
[
/\/\* End PBXFileReference section \*\//
"\t\t#{ uuid1 } /* out */ = {isa = PBXFileReference; lastKnownFileType
"\t\t#{uuid1} /* out */ = {isa = PBXFileReference; lastKnownFileType
= folder; name = out; path = ../../../target/out;
sourceTree = \"<group>\"; };\n/* End PBXFileReference section */"
]
[
/main.jsbundle \*\/\,/
"main.jsbundle */,\n\t\t\t\t#{ uuid1 } /* out */,"
"main.jsbundle */,\n\t\t\t\t#{uuid1} /* out */,"
]
[
/\/\* LaunchScreen.xib in Resources \*\/\,/
"/* LaunchScreen.xib in Resources */,
\n\t\t\t\t#{ uuid2 } /* out in Resources */,"
\n\t\t\t\t#{uuid2} /* out in Resources */,"
]
]
execSync "open #{ projName }.xcworkspace"
process.chdir '../..'
openXcode projName
log '\nWhen Xcode appears, click the play button to run the app on the simulator.', 'yellow'
log 'Then run the following for an interactive workflow:', 'yellow'
log "cd #{ projNameHyph }", 'inverse'
log "cd #{projNameHyph}", 'inverse'
log './start.sh', 'inverse'
log 'First, choose the correct device (Probably [1]).', 'yellow'
log 'At the REPL prompt type this:', 'yellow'
log "(in-ns '#{ projNameHyph }.core)", 'inverse'
log "(in-ns '#{projNameHyph}.core)", 'inverse'
log 'Changes you make via the REPL or by changing your .cljs files should appear live.', 'yellow'
log 'Try this command as an example:', 'yellow'
log '(swap! app-state assoc :text "Hello Native World")', 'inverse'