diff --git a/demo-shell-ng2/.gitignore b/demo-shell-ng2/.gitignore index 9399d118bb..5cb7530c4a 100644 --- a/demo-shell-ng2/.gitignore +++ b/demo-shell-ng2/.gitignore @@ -5,6 +5,7 @@ app/**/*.js app/**/*.js.map !app/js/Polyline.js .idea +versions.json dist/ coverage/ diff --git a/demo-shell-ng2/app/components/about/about.component.ts b/demo-shell-ng2/app/components/about/about.component.ts index 70e9c7a248..fbcd09611d 100644 --- a/demo-shell-ng2/app/components/about/about.component.ts +++ b/demo-shell-ng2/app/components/about/about.component.ts @@ -27,17 +27,29 @@ export class AboutComponent implements OnInit { data: ObjectDataTableAdapter; - constructor(private http: Http) {} + constructor(private http: Http) { + } ngOnInit() { - // this.data = new ObjectDataTableAdapter(); - this.http.get('/versions').subscribe(response => { - let data = response.json() || {}; - let packages = data.packages || []; + this.http.get('/versions.json').subscribe(response => { + var regexp = new RegExp("^(ng2-activiti|ng2-alfresco|alfresco-)", 'g'); - this.data = new ObjectDataTableAdapter(packages, [ - { type: 'text', key: 'name', title: 'Name', sortable: true }, - { type: 'text', key: 'version', title: 'Version', sortable: true } + var alfrescoPackages = Object.keys(response.json().dependencies).filter(function (val) { + console.log(val); + return regexp.test(val); + }); + + let alfrescoPackagesTableRappresentation = []; + alfrescoPackages.forEach((val)=> { + console.log(response.json().dependencies[val]); + alfrescoPackagesTableRappresentation.push({name:val,version:response.json().dependencies[val].version}); + }); + + console.log(alfrescoPackagesTableRappresentation); + + this.data = new ObjectDataTableAdapter(alfrescoPackagesTableRappresentation, [ + {type: 'text', key: 'name', title: 'Name', sortable: true}, + {type: 'text', key: 'version', title: 'Version', sortable: true} ]); }); diff --git a/demo-shell-ng2/config/webpack.common.js b/demo-shell-ng2/config/webpack.common.js index da0c42583a..28ebb7070b 100644 --- a/demo-shell-ng2/config/webpack.common.js +++ b/demo-shell-ng2/config/webpack.common.js @@ -5,6 +5,7 @@ var helpers = require('./helpers'); var path = require('path'); var fs = require('fs'); var glob = require('glob'); +var CopyWebpackPlugin = require('copy-webpack-plugin'); const rootPath = helpers.root('node_modules'); @@ -108,7 +109,13 @@ plugins: [ new webpack.ProvidePlugin({ 'dialogPolyfill': 'dialog-polyfill/dialog-polyfill' }), - + + new CopyWebpackPlugin([ + { + from: 'versions.json' + } + ]), + new webpack.optimize.CommonsChunkPlugin({ name: ['app', 'vendor', 'polyfills'] }), diff --git a/demo-shell-ng2/package.json b/demo-shell-ng2/package.json index 5244a567ed..7dcf68c8a0 100644 --- a/demo-shell-ng2/package.json +++ b/demo-shell-ng2/package.json @@ -5,11 +5,12 @@ "author": "Alfresco Software, Ltd.", "scripts": { "clean": "npm install rimraf && npm run clean-build && rimraf dist node_modules typings dist", - "start": "webpack-dev-server --inline --progress --port 3000", + "start": "npm run server-versions && webpack-dev-server --inline --progress --port 3000", "start:dist": "wsrv -s dist/ -p 3000 -a 0.0.0.0", "clean-build": "rimraf 'app/{,**/}**.js' 'app/{,**/}**.js.map' 'app/{,**/}**.d.ts'", "test": "karma start", - "build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail", + "build": "npm run server-versions && rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail", + "server-versions" : "rimraf versions.json && npm list --depth=0 --json=true --prod=true > versions.json || true", "aws": "node app.js", "tslint": "tslint -c tslint.json *.ts && tslint -c tslint.json 'app/{,**/}**.ts'", "licensecheck": "license-check"