diff options
Diffstat (limited to 'build/bundle_module.moon')
| -rw-r--r-- | build/bundle_module.moon | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/build/bundle_module.moon b/build/bundle_module.moon deleted file mode 100644 index 1c6b5f6..0000000 --- a/build/bundle_module.moon +++ /dev/null @@ -1,51 +0,0 @@ -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 - -with io.open output_name, 'w' - -- final wrap mode - if arg[2] == '--wrap' - assert #arg == 3, "too many arguments for 'wrap' mode" - bundle = arg[3] - - bundle = dofile bundle - \write "local p = package.preload\n" - for { :module, :file, :source } in *bundle - module = escape module - \write "if not p[#{module}] then p[#{module}] = load(#{escape source}, #{escape file}) end\n" - - -- iterative bundling mode - else - \write "return {\n" - - this = assert arg[2] - addmod = (module, file, source) -> - modname = "#{this}.#{module}" - modname = this if module == 'init' - \write " -{ - module = #{escape modname}, - file = #{escape "#{this}/#{file}"}, - source = #{escape source}, -}," - - for file in *arg[3,] - if dirname = file\match '^([%w-_]+)/%.bundle%.lua$' - bundle = dofile file - for { :module, :file, :source } in *bundle - addmod module, file, source - else - module = file\gsub '%.lua$', '' - continue if module\match '%.server' - module = module\gsub '%.client$', '' - module = module\gsub '%.init$', '' - addmod module, file, readfile file - - \write "}" - - \close! |
