-
Notifications
You must be signed in to change notification settings - Fork 343
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
Additional language plugin system #209
Comments
+1 |
+1 |
@trodrigues This would be to add preprocessors, so I don’t think Browserify or concatenation would necissarly be covered by it unless you wrote a JS preprocessors with those added. That said, we are looking at build-in solutions to both of those in other issues. |
@kennethormandy I haven't yet looked at how Harp does this internally, but is this pre processing just doing the job of pre processing each file to something else? I kind of assumed that the whole process of preprocessing and building into one file would all be part of that same task. I think at the end of the day, what would be very ideal would be to have a plugin system where plugins could be used to put together a pipeline, where maybe with different categories of plugins, these would separately do the work of preprocessing and building. |
All that stuff is in Terraform. I think I misunderstood, and we’re on the same page after all. I just wanted to be clear that it wouldn’t necessarily be a plugin system for “anything,” just for the languages in the asset pipeline. |
another use case: supporting Ruby SASS via a plugin (libsass is lagging behind in features, and some newer SASS components don't work with it) |
👍 |
As the author of OJ (ojjs.org) I'm exited about this plugin idea=). For OJ integration it should be very easy to integrate with a simple One plus is OJ doesn't care what other files are in the directory. It only notices .oj (javascript) and .ojc (coffeescript) files so it can be done safely in Harp directories as is. So if your system is in node-land just call |
+1 for Dust |
What's the status of this issue ? |
We need a way to declare what plugins you want to use for this to work. It could either be global or local to the folder you are working in. Method one:
Method two:
|
May I propose another option, something à la Consolidate.js where all preprocessors integration would still be in Terraform (mapping error to TerraformError etc) but activate only if module is actually installed (eg. you run Benefit would be to work either per project or globally. It would also relief Terraform the need to choose/manage preprocessors versions. There would still have the need to moderate modules that compete for file extensions (eg. different implementations of the same language) but that would still be an issue with other methods. |
@4d47 Seems like the best of those two, I think you are on the right path! But would it make it a hub that slows down the process? Is there a need for a central source to control what plugins can control the different file endings. I can see a lot of people trying to get their fileending with their favorite module.
harp would look to see if modules listet with harp prefix and then load the plugin that would then register |
This project looks like it fits with the goals of https://github.com/jenius/accord Have you thought about using that? |
Opened at @sintaxi’s request after a conversation with @heath about LiveScript.
Harp needs to have a language system. We’re thinking any preprocessors beyond the ones we’ve already committed to would probably not be added to Harp’s core. Instead, we’d like it to have a language system for anyone to add preprocessors.
I believe there’s an API in mind, but no implementation started yet. It would probably stem from terraform, which is Harp’s asset pipeline.
Potentially still in core:
.sass
polyfill (Support the Sass indented syntax (.sass) #185)Requested so far:
The text was updated successfully, but these errors were encountered: