CAConfig Editor: Ship with own AngularJS version


the current caconfig editor depends on the clientlib "angularjs" shipped with AEM. this was a quite outdated version from 2014.

in AEM 6.4 this is no longer included in AEM, so we should ship our own version with editor. this version should contain:

  • only the minimum set of angularjs and it's modules that is required for the caconfig editor

  • update to the latest angularjs 1.x version

we have defined another dependency to a clientlib named "underscore" which maps to /libs/clientlibs/granite/lodash/modern internally. maybe we should replace this with our own version as well. do we use it at all for the editor implementation?


Stefan Seifert
January 9, 2018, 5:23 PM

as starting point i've created a branch with a separate angularjs library that was shipped with AEM

this we should update to the latest/best fitting version with files only needed for the editor, and perhaps replace underscore/lodash as well with our own version.

David Ding
February 22, 2018, 5:11 PM

Angular upgraded + underscore/lodash dependency removed (+ some more changes):

- I won't have time to do more in-depth testing (e.g. on other, older browsers) until next Tuesday or Wednesday.

Stefan Seifert
March 9, 2018, 9:22 PM

i've updated nodjs and npm version to a more recent version.
when deploying the branch locally the angularjs clientlib was not processed properly by the YUI script processor - it failed with numerous error. unfortunately we still have to support the YUI script processor because in AEM 6.1 there is no alternative.
errors in AEM log:

David Ding
April 9, 2018, 3:13 PM

I "fixed" the angular.js and angular-route.js files so that the YUI Compressor doesn't throw errors.

(Basically, this older version of YUI Compressor doesn't like `Promise`'s `finally` and `catch` methods. And it doesn't like Angular's use of `delete` as a method name.)

Stefan Seifert
April 10, 2018, 9:34 AM

thanks! - i've merged it





Stefan Seifert