Results 1 to 8 of 8

Thread: ExtJS and GIT - how to source control an app

  1. #1

    Default ExtJS and GIT - how to source control an app

    How do you all go about source-controlling ExtJS apps?

    We use git for source control and deployment but my sys admin has just gone spare because the generated application folder is so large and verbose. I can .gitignore all the build/temp and SASS/cache directories without breaking anything (I think) but the app still contains the generated Ext folder which is nearly 5k files and 100Mb - none of which I will ever edit, therefore requires no source-control.

    Ideally I'd like:

    a) All custom/app-specific files under source control
    a) Non custom/app-specific files ignored by source control
    b) Other devs can pull the branch and work on the app without jumping through hoops

    I wonder if I'm missing a trick here. Is there a way to keep everything 'custom' under source control without including the kitchen sink? Or do you guys just commit the whole 9 yards to git every time and not stress about git repo size, complexity, history and library/temp/cache files being included?

    Thx for reading.

  2. #2
    Sencha Premium User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Gainesville, FL


    You can ignore any directories you want just note that it's a project management issue to solve. For example, if you ignore the ext directory, each user will have to copy Ext JS to that directory and be the same version or else some users can have odd issues just because of any changes in different versions. I personally would leave the ext directory in there, there may be some things that you can delete but all the source files I'd leave.

    I always ignore the build directory. If I change the SASS in my app I do a sencha app build (or sencha ant sass) so it compiles locally and I have build servers that do deployments and they do fresh builds so no need for the build directory to ever be checked in.
    Mitchell Simoens @LikelyMitch

    Check out my GitHub:

    Posts are my own, not any current, past or future employer's.

  3. #3
    Sencha User
    Join Date
    Jun 2011


    Is it also safe to ignore resources/sass/.sass-cache?

  4. #4


    Yes, the .sass-cache folder can be safely ignored. It's just there to speed up the SASS compilation time, caching parsed versions of the SASS files so they can be reused if the files don't change.

  5. #5
    Sencha User
    Join Date
    Feb 2014

    Default Maven and POM Files

    I've gone the route of mavenizing the ext libs and capturing the metadata (e.g., library version) in the POM. Then within my extjs-based app, I create a POM file that has a dependency on a specific version of the ext lib and unpack it into the appropriate folder.

    As we now start using sencha cmd to generate our apps, I'm looking for a tweak that doesn't copy the ext library into newly created app. Ideally, it would be nice to define a path to an locally existing version of the library and have "sencha app generate" create a symbolic link to the define ext path.

    We're also looking at best practices to source control and manage extensions across projects. Any ideas?
    Last edited by @gaviles; 15 Feb 2014 at 1:12 AM. Reason: format issues

  6. #6
    Sencha User
    Join Date
    Jul 2014


    @@gaviles: that is similar if not the same to our approach. I created ext libs artifacts with WAR packaging type which we then use as a war dependency in the actual web project. Maven calls this "overlay"

    cons: we completely work arround sencha cmd, since I havent used it, i am not sure what we are missing out on. if there is a better aproach, I am all ears. ... having all this megabytes in GIT is a nogo for us.

  7. #7
    Sencha User
    Join Date
    Nov 2014


    I'm using `sencha app upgrade /path/to/ext-` to restore the ext directory after git checkout.

    Having the ext directory checked in would be insane. I wonder why it's necessary to copy that whole directory into each extjs app rather than just referencing the global /path/to/ext sdk...

  8. #8
    Sencha Premium Member
    Join Date
    Sep 2013


    Another option that I've used is to use Git submodules with the ext subfolder pointing to an extjs git repo. This avoids having multiple copies of ext at least, and keeps ext upgrades and automated checkout working without going outside of the VCS.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts