GithubHelp home page GithubHelp logo

baste's People

Contributors

lpghatguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

baste's Issues

Switch from loadfile to io and loadstring

I used loadfile because I was concerned about the ability of tools like LuaCov to keep up. I'm pretty sure they use debug chunk naming though, so they'd probably be fine with a loadstring generated chunk with the proper name.

The other problem with loadfile is that it's difficult to distinguish different types of errors. By handling the file read and load inside Baste, we get a much more robust way to figure out what went wrong.

LOVE CI integration

Coverage dropped pretty badly when I added LOVE specific code. Need to download LOVE as a sixth build option and run the included spec for it!

Support importing regular Lua modules?

Regular Lua modules get a module-ish path in ... when they're loaded.

Should Baste try to generate paths like that? It'd be awfully convenient to import everything with Baste, but it might be tricky.

Fix up luacheck config

The current config for luacheck is lua51, which isn't correct since the project runs on 5.2 and 5.3.

I need to look into what config cross-version projects should have.

Support for custom resolution logic and loaders

I want Baste to work with MoonScript and native modules and all sorts of things no one has thought of yet.

There should be a way to plug in custom path resolvers and custom module loaders to make these things easy. They can then be distributed using a similar single file mechanism and potentially loaded with Baste itself!

Build example for use with Busted

Baste might need the ability to inject itself as a global for use with tools like Busted. Since tests are a case where relative imports are incredibly useful (especially in-tree tests), it would make sense to use Baste there too instead of relying on two module systems.

Put license notice on top of baste.lua

I'm not normally a fan of littering code licenses around on source files, but Baste is only a single file and intended to be vendored in a convenient place.

The license should probably be at the top of the file!

Clean up path handling

Right now, the bulk of the path handling is done with a gob of gsub calls with some pretty terrible patterns. I know there are a lot of edge cases that need tests written.

The path module should be rewritten, exposed for testing, and clearly documented.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.