blob: 9360eeb739d1f0311e11d30ea7d2b6ce8125cc39 (
plain)
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
|
moon = require 'moonscript.base'
output_name = assert arg[1], "please specify the output directory"
escape = (str) ->
string.format '%q', str
readfile = (name) ->
file = io.open name, 'r'
with file\read '*all'
file\close
out = io.open output_name, 'w'
out\write "
local p = {}
table.insert(package.searchers, 1, function (mod)
print('?',mod, not not p[mod])
local mod = p[mod]
return mod and function ()
return load(table.unpack(mod))()
end
end)
"
for file in io.lines!
module = file\gsub '%.moon$', ''
continue if not module or module\match '%.server'
module = module\gsub '%.client$', ''
module = module\gsub '/init$', ''
module = module\gsub '/', '.'
module = escape module
source = moon.to_lua readfile file
out\write "p[#{module}] = {#{escape source}, #{escape file}}\n"
out\close!
|