jeudi 30 octobre 2014

Managing Third-Party Libraries for ExtJS 5 Apps and Packages

My company is transitioning to ExtJS 5 for web app development. We've created a site repository on our Nexus server for hosting our custom ExtJS packages that we plan to share with multiple teams. We've also uploaded .zip artifacts for ExtJS 5, Sencha Cmd, and Siesta to Nexus, and we pull them down via Gradle and extract them into the local project directory, and we have Gradle tasks that create workspaces/apps/packages as well as builds them. So far, that is working well.

However, we are now trying to incorporate some third-party JavaScript libraries, and we're struggling with how to distribute them. Via ExtJS packages? npm?


We need to be able to pull down:

- ExtJS and Sencha Cmd

- Siesta and extract it to the test location of the project

- A beta build of PhantomJS 2 for inclusion into Siesta

- ESLint plus custom company rules for inclusion at the project level

- Custom company utility libraries that also utilize third-party libraries

- Custom company ExtJS packages that themselves may or may not use third-party libraries


From what I've read, Sencha only speaks to using third-party libraries within the context of an app, not a shareable package. We'd like to use ExtJS packages to deliver all of our custom components and tools, but that seems to be an odd choice when packages are included/bundled within apps, and a package that is only for testing or for project configuration purposes has nothing to do with a deployed app. We've started looking at using Node.js and npms as Nexus just provided support for npms in version 2.10.


How is everyone else handling these types of dependencies? We want it to be automated so that developers have to do as little manual configuration as possible. We are using Intellij IDEA, btw.






Managing Third-Party Libraries for ExtJS 5 Apps and Packages

Aucun commentaire:

Enregistrer un commentaire