I've been focusing on JavaScript Rich Internet Application development for some time now and have felt that while JavaScript is a capable language, it has sorely lacked tooling. This situation is changing of course and we're seeing more JavaScript tools come from the likes of Mozilla, Apple and Google quite frequently.
I feel that the lack of dependency management with good version control in any language is painful and JavaScript was no exception. I recently spent a good part of my day sorting out dependencies in a .NET environment; I sorely missed Apache Maven there. Given my JavaScript development activities I decided to provide the dependency management functionality of Maven to JavaScript via a Maven Plugin.
Imagine writing just the following in your JavaScript code when you want to ensure that jQuery or Prototype.js is present at runtime:
var $;
Alternatively when there are no global variables declared by a JavaScript dependency you can import it without being concerned about its file location and version:
/**
* @import com.jqueryui:jquery-ui
*/
The com.jqueryui:jquery-ui artifact along with its version is declared in Maven's POM file.
This frictionless approach to declaring JavaScript dependency requirements is the motivation for the Maven JavaScript Import Plugin.
I'm pleased to announce the availability of my JavaScript Import Plugin at Codehaus where I have now also become a committer (a great honour!).
Along the way I decided to create a plugin that provided efficient JSLint invocation during JavaScript development. This plug is also released at the Codehaus and is named the JSLint Plugin.
Please help the professional JavaScript developer community by downloading and building the projects from source and try out some development using the plugins.