318. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 2/4/2019 11:34:07 AM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

318.1 Files compared

# Location File Last Modified
1 MHPRO_v1.x.zip\mhpro-web-master@18b10e0e051.zip\app Gruntfile.js Wed Dec 20 15:17:09 2017 UTC
2 MHPRO_v1.x.zip\mhpro-web-master@18b10e0e051.zip\app Gruntfile.js Fri Feb 1 20:43:48 2019 UTC

318.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 948
Changed 2 4
Inserted 0 0
Removed 0 0

318.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

318.4 Active regular expressions

No regular expressions were active.

318.5 Comparison detail

  1   var path =  require(' path');
  2  
  3   module.exp orts = fun ction(grun t){
  4     var asse t = {
  5       libs:  [
  6         'bow er_compone nts/modern izr/modern izr.js',
  7         'bow er_compone nts/jquery /dist/jque ry.min.js' ,
  8         'bow er_compone nts/bootst rap/dist/j s/bootstra p.min.js',
  9         'bow er_compone nts/unders core/under score.js',
  10         'bow er_compone nts/backbo ne/backbon e.js',
  11         'bow er_compone nts/marion ette/lib/b ackbone.ma rionette.m in.js',
  12         'bow er_compone nts/handle bars/handl ebars.js',
  13         'bow er_compone nts/moment /moment.js ',
  14         'bow er_compone nts/bootst rap-datepi cker/dist/ js/bootstr ap-datepic ker.min.js ',
  15         'bow er_compone nts/d3/d3. min.js',
  16         'com mon/lib/mo dernizr_mh pro.js',
  17         'com mon/lib/te mplate_hel pers.js'
  18       ],
  19       css: [
  20         'bow er_compone nts/bootst rap/dist/c ss/bootstr ap.css',
  21         'bow er_compone nts/bootst rap-datepi cker/dist/ css/bootst rap-datepi cker3.css' ,
  22         'com mon/css/mi sc.css'
  23       ],
  24       vetera n: [
  25         'com mon/js/app .js',
  26         'com mon/lib/re source_dir ectory_uti l.js',
  27         'com mon/lib/Lo ginUtils.j s',
  28         'com mon/lib/ap p_utils.js ',
  29         'com mon/js/mod el/*.js',
  30         'com mon/js/col lection/*. js',
  31         'com mon/_temp/ app_json.j s',
  32         'com mon/_temp/ vet_templa tes.js',
  33         'com mon/js/vie w/*.js',
  34         'vet eran/js/vi ew/*.js',
  35         'com mon/js/rou te/base.js ',
  36         'com mon/js/rou te/veteran .js',
  37         'com mon/js/vet eran.js'
  38       ],
  39       provid er: [
  40         'com mon/js/app .js',
  41         'com mon/lib/re source_dir ectory_uti l.js',
  42         'com mon/lib/Lo ginUtils.j s',
  43         'com mon/lib/ap p_utils.js ',
  44         'com mon/js/mod el/*.js',
  45         'com mon/js/col lection/*. js',
  46         'com mon/_temp/ app_json.j s',
  47         'com mon/_temp/ prov_templ ates.js',
  48         'com mon/js/vie w/*.js',
  49         'pro vider/js/v iew/*.js',
  50         'com mon/js/rou te/base.js ',
  51         'com mon/js/rou te/provide r.js',
  52         'com mon/js/pro vider.js'
  53       ]
  54     };
  55  
  56     grunt.in itConfig({
  57       pkg: g runt.file. readJSON(' package.js on'),
  58       concat : {
  59         vete ran: {
  60           sr c: asset.c ss,
  61           de st: 'veter an/_build/ css/lib.cs s'
  62         },
  63         prov ider: {
  64           sr c: asset.c ss,
  65           de st: 'provi der/_build /css/lib.c ss'
  66         }
  67       },
  68       connec t: {
  69         vete ran: {
  70           op tions: {
  71                base: [' veteran/in dex.html',  'veteran/ _build', ' common/dat a', ''],
  72              port: 3000 ,
  73              hostname:  '0.0.0.0'
  74           },
  75              proxies: {
  76                    host: ' DNS .vamisece. io',
  77                  port:  443,
  78                  https:  true
  79              }
  80         },
  81         prov ider: {
  82           op tions: {
  83                base: [' provider/i ndex.html' , 'provide r/_build',  'common/d ata', ''],
  84              port: 4000 ,
  85              hostname:  '0.0.0.0'
  86           },
  87              proxies: {
  88                    host: ' DNS .vamisece. io',
  89                  port:  443,
  90                  https:  true,
  91                  hostRe write: tru e
  92              }
  93         },
  94           pr ovider_pro xy: {
  95                options:  {
  96                    base : ['provid er/index.h tml', 'pro vider/_bui ld', 'comm on/data',  ''],
  97                    port : 4000,
  98                    host name: 'loc alhost'
  99                },
  100                proxies:  {
  101                    host : 'vamisec e.io',
  102                    port : 443,
  103                    http s: true,
  104                    host Rewrite: t rue
  105                }
  106           },
  107         test : {
  108              options: {
  109                  base:  ['provider /index.htm l', 'provi der/_build ', 'common /data', '' ],
  110                  port:  9000,
  111                  hostna me: '0.0.0 .0'
  112              }
  113         }
  114       },
  115       expres s: {
  116         prov ider: {
  117           op tions: {
  118              script: 'p rovider/se rver.js'
  119           }
  120         },
  121         vete ran: {
  122           op tions: {
  123              script: 'v eteran/ser ver.js'
  124           }
  125         }
  126       },
  127       handle bars: {
  128         vete ran: {
  129           op tions: {
  130              namespace:  "MHPRO.Te mplate",
  131              processNam e: functio n(filePath ){
  132                var file Name = fil ePath.matc h(/.*\/([a -zA-Z0-9\_ \-]+)\.htm l$/);
  133                return f ileName[1] ;
  134              }
  135           },
  136           fi les: {
  137              "common/_t emp/vet_te mplates.js ": ["commo n/js/templ ate/*.html ", "vetera n/js/templ ate/*.html "]
  138           }
  139         },
  140         prov ider: {
  141           op tions: {
  142              namespace:  "MHPRO.Te mplate",
  143              processNam e: functio n(filePath ){
  144                var file Name = fil ePath.matc h(/.*\/([a -zA-Z0-9\_ \-]+)\.htm l$/);
  145                return f ileName[1] ;
  146              }
  147           },
  148           fi les: {
  149              "common/_t emp/prov_t emplates.j s": ["comm on/js/temp late/*.htm l", "provi der/js/tem plate/*.ht ml"]
  150           }
  151         }
  152       },
  153       sass:  {
  154         vete ran: {
  155           fi les: [{
  156              expand: tr ue,
  157              cwd: 'comm on/sass',
  158              src: ['app .scss'],
  159              dest: 'vet eran/_buil d/css',
  160              ext: '.css '
  161           }]
  162         },
  163         prov ider: {
  164           fi les: [{
  165              expand: tr ue,
  166              cwd: 'comm on/sass',
  167              src: ['app .scss'],
  168              dest: 'pro vider/_bui ld/css',
  169              ext: '.css '
  170           }]
  171         }
  172       },
  173       json:  {
  174         vete ran: {
  175           op tions: {
  176              namespace:  'MHPRO_Da ta',
  177              includePat h: false
  178           },
  179           sr c: ['commo n/_temp/ap p.json', ' common/dat a/resource _directory .json'],
  180           de st: 'commo n/_temp/ap p_json.js'
  181         },
  182         prov ider: {
  183              options: {
  184                  namesp ace: 'MHPR O_Data',
  185                  includ ePath: fal se
  186              },
  187              src: ['com mon/_temp/ app.json',  'common/d ata/resour ce_directo ry.json'],
  188              dest: 'com mon/_temp/ app_json.j s'
  189         }
  190       },
  191       uglify : {
  192         opti ons: {
  193           ma ngle: fals e,
  194           so urceMap: t rue
  195         },
  196         vet_ libs: {
  197           fi les: {
  198              'veteran/_ build/js/l ibs.js': a sset.libs
  199           }
  200         },
  201         prov _libs: {
  202           fi les: {
  203              'provider/ _build/js/ libs.js':  asset.libs
  204           }
  205         },
  206         vete ran: {
  207           fi les: {
  208              'veteran/_ build/js/a pp.js': as set.vetera n
  209           }
  210         },
  211         prov ider: {
  212           fi les: {
  213              'provider/ _build/js/ app.js': a sset.provi der
  214           }
  215         }
  216       },
  217       watch:  {
  218         vete ran: {
  219           fi les: asset .veteran,
  220           ta sks: ['ugl ify:vetera n']
  221         },
  222         prov ider: {
  223           fi les: asset .provider,
  224           ta sks: ['ugl ify:provid er']
  225         },
  226         scss : {
  227           fi les: 'comm on/sass/** /*',
  228           ta sks: 'sass '
  229         },
  230         vete ran_tmpl:  {
  231           fi les: ['com mon/js/tem plate/*.ht ml', 'vete ran/js/tem plate/*.ht ml'],
  232           ta sks: ['han dlebars:ve teran']
  233         },
  234         prov ider_tmpl:  {
  235           fi les: ['com mon/js/tem plate/*.ht ml', 'prov ider/js/te mplate/*.h tml'],
  236           ta sks: ['han dlebars:pr ovider']
  237         },
  238         data : {
  239              files: 'co mmon/data/ *.json',
  240              tasks: ['b uild', 'co nfiguratio n_dev']
  241         }
  242       },
  243       clean:  {
  244         buil d: {
  245           sr c: ['veter an/_build/ *', 'provi der/_build /*']
  246         }
  247       },
  248       copy:  {
  249         vete ran_build:  {
  250           fi les: [
  251              {src:'vete ran/index. html', des t: 'vetera n/_build/i ndex.html' },
  252              {expand: t rue, flatt en: true,  src:'veter an/css/*',  dest:'vet eran/_buil d/css/'},
  253              {expand: t rue, flatt en: true,  src:'veter an/font/*' , dest:'ve teran/_bui ld/fonts/' },
  254              {expand: t rue, flatt en: true,  src:'veter an/img/*',  dest:'vet eran/_buil d/img/'},
  255              {expand: t rue, flatt en: true,  src:'veter an/js/*',  dest:'vete ran/_build /js/'},
  256              {expand: t rue, flatt en: true,  src:'commo n/data/*',  dest:'vet eran/_buil d/'},
  257              {expand: t rue, flatt en: true,  src:'bower _component s/bootstra p/fonts/*' , dest:'ve teran/_bui ld/fonts/' },
  258              {src:'bowe r_componen ts/bootstr ap/dist/cs s/bootstra p.css.map' , dest:'ve teran/_bui ld/css/boo tstrap.css .map'}
  259           ]
  260         },
  261         prov ider_build : {
  262           fi les: [
  263              {src:'prov ider/index .html', de st: 'provi der/_build /index.htm l'},
  264              {expand: t rue, flatt en: true,  src:'provi der/css/*' , dest:'pr ovider/_bu ild/css/'} ,
  265              {expand: t rue, flatt en: true,  src:'provi der/font/* ', dest:'p rovider/_b uild/fonts /'},
  266              {expand: t rue, flatt en: true,  src:'provi der/img/*' , dest:'pr ovider/_bu ild/img/'} ,
  267              {expand: t rue, flatt en: true,  src:'provi der/js/*',  dest:'pro vider/_bui ld/js/'},
  268              {expand: t rue, flatt en: true,  src:'commo n/data/*',  dest:'pro vider/_bui ld/'},
  269              {expand: t rue, flatt en: true,  src:'bower _component s/bootstra p/fonts/*' , dest:'pr ovider/_bu ild/fonts/ '},
  270              {src:'bowe r_componen ts/bootstr ap/dist/cs s/bootstra p.css.map' , dest:'pr ovider/_bu ild/css/bo otstrap.cs s.map'}
  271           ]
  272         }
  273       },
  274       war: {
  275         buil d_veteran_ war: {
  276           op tions: {
  277              war_name:  "<%= pkg.n ame %>-vet eran",
  278              war_dist_f older: "ve teran/_bui ld",
  279              webxml_wel come: "ind ex.html",
  280              webxml_dis play_name:  "Mental H ealth Chec kup"
  281           },
  282           fi les: [{
  283              expand: tr ue,
  284              cwd: 'vete ran/_build ',
  285              src: ['ind ex.html',' css/*', 'j s/*', 'img /*', 'font s/*', '*.j son'],
  286              dest: ''
  287           }]
  288         },
  289         buil d_provider _war: {
  290           op tions: {
  291              war_name:  "<%= pkg.n ame %>-pro vider",
  292              war_dist_f older: "pr ovider/_bu ild",
  293              webxml_wel come: "ind ex.html",
  294              webxml_dis play_name:  "Mental H ealth Chec kup"
  295           },
  296           fi les: [{
  297              expand: tr ue,
  298              cwd: 'prov ider/_buil d',
  299              src: ['ind ex.html',  'css/*', ' js/*', 'im g/*', 'fon ts/*', '*. json'],
  300              dest: ''
  301           }]
  302         }
  303       },
  304       jasmin e: {
  305           ve t_anonymou s: {
  306                src: [
  307                    'vet eran/_buil d/js/libs. js',
  308                    'vet eran/_buil d/js/app.j s'
  309                ],
  310                options:  {
  311                    '--w eb-securit y': false,
  312                    '--l ocal-to-re mote-url-a ccess': tr ue,
  313                    '--i gnore-ssl- errors': t rue,
  314                    spec s: ['commo n/js/test/ base.js',  'common/js /test/vete ran-anonym ous.js'],
  315                    vend or: [asset .libs,
  316                         'bower_com ponents/ja smine-jque ry/lib/jas mine-jquer y.js',
  317                         'bower_com ponents/si nonjs/sino n.js',
  318                         'bower_com ponents/ja smine-sino n/lib/jasm ine-sinon. js'
  319                    ],
  320                    host : 'http:// localhost: 9000',
  321                    styl es: [
  322                         'veteran/_ build/css/ lib.css',
  323                         'veteran/_ build/css/ app.css'
  324                    ],
  325                    keep Runner: tr ue
  326                }
  327           },
  328           ve t_authenti cated: {
  329                src: [
  330                    'vet eran/_buil d/js/libs. js',
  331                    'vet eran/_buil d/js/app.j s'
  332                ],
  333                options:  {
  334                    '--w eb-securit y': false,
  335                    '--l ocal-to-re mote-url-a ccess': tr ue,
  336                    '--i gnore-ssl- errors': t rue,
  337                    spec s: ['commo n/js/test/ base.js',  'common/js /test/vete ran-authen ticated.js '],
  338                    vend or: [asset .libs,
  339                         'bower_com ponents/ja smine-jque ry/lib/jas mine-jquer y.js',
  340                         'bower_com ponents/si nonjs/sino n.js',
  341                         'bower_com ponents/ja smine-sino n/lib/jasm ine-sinon. js'
  342                    ],
  343                    host : 'http:// localhost: 9000',
  344                    styl es: [
  345                         'veteran/_ build/css/ lib.css',
  346                         'veteran/_ build/css/ app.css'
  347                    ],
  348                    keep Runner: tr ue
  349                }
  350           },
  351           pr o_anonymou s: {
  352                src: [
  353                    'pro vider/_bui ld/js/libs .js',
  354                    'pro vider/_bui ld/js/app. js'
  355                ],
  356                options:  {
  357                    '--w eb-securit y': false,
  358                    '--l ocal-to-re mote-url-a ccess': tr ue,
  359                    '--i gnore-ssl- errors': t rue,
  360                    spec s: ['commo n/js/test/ base.js',  'common/js /test/prov ider-anony mous.js'],
  361                    vend or: [asset .libs,
  362                         'bower_com ponents/ja smine-jque ry/lib/jas mine-jquer y.js',
  363                         'bower_com ponents/si nonjs/sino n.js',
  364                         'bower_com ponents/ja smine-sino n/lib/jasm ine-sinon. js'
  365                    ],
  366                    host : 'http:// localhost: 9000',
  367                    styl es: [
  368                         'veteran/_ build/css/ lib.css',
  369                         'veteran/_ build/css/ app.css'
  370                    ],
  371                    keep Runner: tr ue
  372                }
  373           },
  374           pr o_authenti cated: {
  375                src: [
  376                    'pro vider/_bui ld/js/libs .js',
  377                    'pro vider/_bui ld/js/app. js'
  378                ],
  379                options:  {
  380                    '--w eb-securit y': false,
  381                    '--l ocal-to-re mote-url-a ccess': tr ue,
  382                    '--i gnore-ssl- errors': t rue,
  383                    spec s: ['commo n/js/test/ base.js',  'common/js /test/prov ider-authe nticated.j s'],
  384                    vend or: [asset .libs,
  385                         'bower_com ponents/ja smine-jque ry/lib/jas mine-jquer y.js',
  386                         'bower_com ponents/si nonjs/sino n.js',
  387                         'bower_com ponents/ja smine-sino n/lib/jasm ine-sinon. js'
  388                    ],
  389                    host : 'http:// localhost: 9000',
  390                    styl es: [
  391                         'veteran/_ build/css/ lib.css',
  392                         'veteran/_ build/css/ app.css'
  393                    ],
  394                    keep Runner: tr ue
  395                }
  396           }
  397       }
  398   });
  399  
  400     // Load  grunt plug ins.
  401     grunt.lo adNpmTasks ('grunt-wa r');
  402     grunt.lo adNpmTasks ('grunt-js on');
  403     grunt.lo adNpmTasks ('grunt-bo wer');
  404     grunt.lo adNpmTasks ('grunt-ex press-serv er');
  405     grunt.lo adNpmTasks ('grunt-co ntrib-copy ');
  406     grunt.lo adNpmTasks ('grunt-co ntrib-clea n');
  407     grunt.lo adNpmTasks ('grunt-co ntrib-sass ');
  408     grunt.lo adNpmTasks ('grunt-co ntrib-conc at');
  409     grunt.lo adNpmTasks ('grunt-co ntrib-conn ect');
  410     grunt.lo adNpmTasks ('grunt-co ntrib-hand lebars');
  411     grunt.lo adNpmTasks ('grunt-co ntrib-jasm ine');
  412     grunt.lo adNpmTasks ('grunt-co ntrib-watc h');
  413     grunt.lo adNpmTasks ('grunt-co ntrib-ugli fy');
  414       grunt. loadNpmTas ks('grunt- connect-pr oxy');
  415  
  416       //ex:  grunt test _vet:886c3 bbc-1e2a-4 48a-83d3-5 b6ab89798c d  //authe nticated t ests
  417       //ex:  grunt test _vet   //a nonymous
  418     grunt.re gisterTask ('test_vet ', functio n (value)  {
  419         if ( !value) {
  420              grunt.task .run('conn ect:test',  'jasmine: vet_anonym ous');
  421         }
  422         else  {
  423              grunt.task .run('writ eConfig:to ken:' + va lue, 'conn ect:test',  'jasmine: vet_authen ticated');
  424         }
  425     });
  426       //ex:  grunt test _pro:886c3 bbc-1e2a-4 48a-83d3-5 b6ab89798c d  //authe nticated t ests
  427       //ex:  grunt test _pro   //a nonymous
  428     grunt.re gisterTask ('test_pro ', functio n (value)  {
  429         if ( !value) {
  430              grunt.task .run('conn ect:test',  'jasmine: pro_anonym ous');
  431         }
  432         else  {
  433              grunt.task .run('writ eConfig:to ken:' + va lue, 'conn ect:test',  'jasmine: pro_authen ticated');
  434         }
  435     });
  436  
  437     grunt.re gisterTask ('writeCon fig', 'Wri te to conf ig file',  function ( key, value ) {
  438         var  projectFil e = "commo n/js/test/ fixtures/c onfig.json ";
  439         if ( !grunt.fil e.exists(p rojectFile )) {
  440              grunt.log. error("fil e " + proj ectFile +  " not foun d");
  441              return tru e;//return  false to  abort the  execution
  442         }
  443         var  project =  grunt.file .readJSON( projectFil e);
  444         //gr unt.log.wr ite(projec t.token)
  445         proj ect[key] =  value;
  446         grun t.file.wri te(project File, JSON .stringify (project,  null, 2));
  447     });
  448  
  449     // App U pdate conf ig
  450     grunt.re gisterTask ('app_conf ig', funct ion (type,  prod) {
  451         var  jsonFile =  "common/d ata/app.js on";
  452         if ( !grunt.fil e.exists(j sonFile))  {
  453              grunt.log. error("fil e " + json File + " n ot found") ;
  454              return tru e;//return  false to  abort the  execution
  455         }
  456         var  json = gru nt.file.re adJSON(jso nFile);
  457         json ['last-upd ate-date']  = grunt.t emplate.to day("mm/dd /yy");
  458         json ['appConfi g'].vetera n = (type  === "vet")  ? true :  false;
  459         json ['appConfi g'].provid er = (type  === "pro" ) ? true :  false;
  460         json ['appConfi g'].cordov a = (type  === "cor")  ? true :  false;
  461         json ['appConfi g'].prod =  (prod ===  "true") ?  true : fa lse;
  462         grun t.file.wri te('common /_temp/app .json', JS ON.stringi fy(json, n ull, 2));
  463     });
  464  
  465       // Def ault task( s).
  466     grunt.re gisterTask ('configur ation_dev' , ['app_co nfig:vet:f alse', 'js on:veteran ', 'uglify :vet_libs' , 'uglify: veteran',  'app_confi g:pro:fals e', 'json: provider',  'uglify:p rov_libs',  'uglify:p rovider']) ;
  467     grunt.re gisterTask ('configur ation_prod ', ['app_c onfig:vet: true', 'js on:veteran ', 'uglify :vet_libs' , 'uglify: veteran',  'app_confi g:pro:true ', 'json:p rovider',  'uglify:pr ov_libs',  'uglify:pr ovider']);
  468     grunt.re gisterTask ('default' , ['clean' , 'copy',  'concat',  'sass', 'h andlebars' ]);
  469     grunt.re gisterTask ('build',  ['clean',  'copy', 'c oncat', 's ass', 'han dlebars',  'uglify']) ;
  470       grunt. registerTa sk('build_ provider',  ['clean',  'copy:pro vider_buil d', 'conca t:provider ', 'sass:p rovider',  'handlebar s:provider ', 'uglify ']);
  471     grunt.re gisterTask ('dev', [' build', 'c onfigurati on_dev', ' express',  'watch']);
  472     grunt.re gisterTask ('dev2', [ 'build', ' configurat ion_dev',  'connect:v eteran', ' connect:pr ovider', ' watch']);
  473       grunt. registerTa sk('dev_pr oxy_provid er', ['bui ld_provide r', 'confi guration_d ev', 'conf igureProxi es:provide r_proxy',  'connect:p rovider_pr oxy', 'wat ch']);
  474     grunt.re gisterTask ('war_buil d_dev', [' clean:buil d', 'copy: veteran_bu ild', 'cop y:provider _build', ' build', 'c onfigurati on_dev', ' war']);
  475     grunt.re gisterTask ('war_buil d_release' , ['clean: build', 'c opy:vetera n_build',  'copy:prov ider_build ', 'build' , 'configu ration_pro d', 'war'] );
  476   };