Skip to content

Commit 5405036

Browse files
committed
examples folder, now works from different dirs
1 parent 37a57da commit 5405036

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed
File renamed without changes.

singlefile.ls

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,39 @@
11
#!/usr/bin/lsc
22

3-
exec = require('child_process').exec
3+
child_process = require('child_process')
44
fs = require('fs')
55
async = require('async')
6+
path = require('path')
7+
8+
cwd = process.cwd()
69

710
langs =
8-
js: 'node' # javascript
9-
coffee: 'coffee' # coffeescript
10-
ls: 'lsc' # livescript
11+
#js: 'node' # javascript
12+
coffee: 'coffee -c' # coffeescript
13+
ls: 'lsc -c' # livescript
1114

1215
# TODO: include arg file
1316
# TODO: check parameter for language
1417
# TODO: compile using langs
15-
script = require('./' + process.argv[2])
18+
19+
fn = path.resolve(process.argv[2])
20+
pp = path.parse(fn)
21+
scriptdir = path.dirname(fn)
22+
ext = pp.ext
23+
scriptname = pp.name
24+
25+
jsname = path.join(scriptdir, scriptname)
26+
if ext in langs
27+
child_process.execSync langs[ext] + fn + ' ' + jsname
28+
29+
script = require(jsname)
1630

1731
run_npm = (script,cb)->
1832
if script.npm
19-
fs.writeFile 'package.json', JSON.stringify(script.npm), (err)->
33+
fs.writeFile path.join(scriptdir, 'package.json'), JSON.stringify(script.npm), (err)->
2034
if err
2135
return cb err
22-
exec 'yarn', (err, stdout, stderr)->
36+
child_process.exec 'yarn', (err, stdout, stderr)->
2337
if err
2438
return cb err
2539
return cb void
@@ -29,10 +43,10 @@ run_npm = (script,cb)->
2943

3044
run_yarn = (script,cb)->
3145
if script.yarn
32-
fs.writeFile 'package.json', JSON.stringify(script.yarn), (err)->
46+
fs.writeFile path.join(scriptdir, 'package.json'), JSON.stringify(script.yarn), (err)->
3347
if err
3448
return cb err
35-
exec 'yarn', (err, stdout, stderr)->
49+
child_process.exec 'yarn', (err, stdout, stderr)->
3650
if err
3751
return cb err
3852
return cb void
@@ -42,10 +56,10 @@ run_yarn = (script,cb)->
4256

4357
run_grunt = (script,cb)->
4458
if script.grunt
45-
fs.writeFile 'Gruntfile.js', JSON.stringify(script.grunt), (err)->
59+
fs.writeFile path.join(scriptdir,'Gruntfile.js'), JSON.stringify(script.grunt), (err)->
4660
if err
4761
return cb err
48-
err, stdout, stderr <- exec 'grunt'
62+
err, stdout, stderr <- child_process.exec 'grunt'
4963
return cb err
5064
return
5165
else
@@ -86,13 +100,13 @@ http = require('http')
86100

87101
# generate views/templates dir
88102
try
89-
fs.mkdirSync 'views'
103+
fs.mkdirSync path.join(scriptdir,'views')
90104
for template, content of script.views
91-
fs.writeFileSync 'views/'+template, content
105+
fs.writeFileSync path.join(scriptdir,'views',template), content
92106

93107
app = express()
94108
app.set 'view engine', 'pug'
95-
app.set 'views', __dirname + '/views/'
109+
app.set 'views', scriptdir + '/views/'
96110
compile = (str, path) ->
97111
return stylus(str)
98112
.set('filename', path)

0 commit comments

Comments
 (0)