-
Notifications
You must be signed in to change notification settings - Fork 422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adopt build tool core and frontends? #42
Comments
👍 |
Please pardon our delay on replying to this. If you are still interested, I'm more than happy for it to exist under the same org and setup relevant privs for you to control the repo. |
@addyosmani No probs. Please take a look at https://github.com/bebraw/libumd . I've extracted the core there. It could use some tidy up and extra tests but it's getting there. |
there are couple of additional forks that use this UMD wrappers for builds. |
@addyosmani Bump. Would you like to adopt https://github.com/bebraw/libumd ? It's complete for my purposes and see no harm in moving it below |
There is clearly a group of people that like this. I'm going to take a look at this and provide some input. Give me a week. The interesting thing going on here, from my perspective, is that default templates can be updated easily and packaged separately. That's a killer advantage. |
@bebraw would libumd be able to reproduce the templates? Would it be possible to say run both of them through an uglify pass (which should remove comments and other crap), and then md5sum the output of libumd, and the templates/ directory to see if the same code is produced? |
@EvanCarroll Essentially libumd does just a fancy replace operation through Handlebars. I suggest giving it a go to see if it fits your purposes. Since my previous comment here it has evolved a little bit (better tests, more features) and I consider it somewhat feature complete. |
Sure, I agree. My concern is primarily with drift between libumd and umd if adopted by umd. I'm wondering how we can mitigate that concern. A simple method would be to have a test that UMD is outputting the same code found in the template itself. If there is a problem with the build order, or something is rewritten in a template I want to know libumd is out of sync ASAP if adopted by the umd project. Ideally, we'd adopt your code and make you the primary admin. But, issues filed in compatibility would continue to pop in umdjs/umd. |
@EvanCarroll We would need some kind of an executable specification. We might want something that tells us whether a file passes the specification or not. If we had that, then you could test libumd output against that. I agree getting out of sync would be a serious problem. That's why it might be ideal if you could test the library against the official specification without a great hassle. I feel the specification and the library may have to move closer to each other somehow to make this work. Note that the current test suite runs against different targets to test various UMD paths. I'm not saying it covers the whole specification as there are quite a few variants. Essentially we want just to assert that given certain input and UMD template, we get certain output through UMD branches. If the specification can become something like that, you could run libraries like libumd directly against it. Just my two euro cents. :) |
The specification is the template. We can write it in English, but that doesn't actually solve the problem. There seem to be two ways to solve the problem:
The second idea is better. It's actually doing the work. But, that's my only personal hold up to putting libumd under umd/libumd. |
@EvanCarroll How do you want to proceed with this? Take a good look at my existing test suite. Perhaps that's a starting point for 2. |
Hi everyone! Any updates on this? Below are my points of view.
|
Hi,
Given it would be fairly simple to extract the core out of grunt-umd and make it a library of its own I started thinking perhaps the project would belong below
umdjs
.It would look like this:
The primary advantage of having the tools below the same namespace would be discoverability. In addition it would add some credibility to the build tools and allow more people (umdjs team) to maintain them.
Does this sound reasonable to you? I understand if you are busy and prefer to keep tooling outside of
umdjs
but there are certain benefits as outlined above.The text was updated successfully, but these errors were encountered: