From 71053b91e3e6fd4fbecb28f24dea98b076f8a280 Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Wed, 4 Jul 2018 18:52:28 +0200 Subject: [PATCH] Add Travis CI setup with Gitbook build / deploy to gh-pages, StandaloneViewer build / deploy to AWS S3, and ohif/viewer docker image build / push to dockerhub --- .gitignore | 1 - .travis.yml | 102 ++++++ OHIFViewer/.meteor/.finished-upgraders | 1 + OHIFViewer/.meteor/packages | 28 +- OHIFViewer/.meteor/release | 2 +- OHIFViewer/.meteor/versions | 106 +++--- OHIFViewer/bin/testPackages.sh | 8 +- OHIFViewer/package.json | 8 +- Packages/ohif-servers/server/startup.js | 25 -- Packages/ohif-viewerbase/package.js | 8 +- dockerfile | 1 + package-lock.json | 445 ++++++++++++++++++++++++ package.json | 24 ++ test/testApp.sh | 7 + 14 files changed, 665 insertions(+), 101 deletions(-) create mode 100644 .travis.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100755 test/testApp.sh diff --git a/.gitignore b/.gitignore index 821c0305a..2e15e6d39 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ node_modules npm-debug.log Packages/active-entry/helloworld/ LesionTracker/tests/nightwatch/reports/ -package-lock.json docs/_book \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..142ebb2f3 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,102 @@ +language: node_js + +node_js: + - "lts/*" + +services: + - docker + +before_script: + - export PATH=$HOME/.meteor:$PATH + +cache: + directories: + - ~/.meteor + - node_modules + - OHIFViewer/node_modules + +env: + global: + - METEOR_PACKAGE_DIRS=../Packages + - secure: "ZhIMR4geQP/BXdXrQkcARPCSPnyry2aTgszo+Jg+lZfRHWil2FmAweCiWyOC/5rRxrYYSik/ZyEMAX54v9N9sNjYsPlA9UFqovMirEQhXCYmIG+DNBsU58zgnrDWQoolF1xD4f/IFtLjUGG9WQNR7SavHeL/2VmWK9Nis8TChnyTdmlL8IaWEeKjznseLqyVKZSMb490bG34I4ztdumaYHWWt01uhNFZ/XA048NVd/E8LhO7yLIqwtmCt7Cr1Z61TfSzgyajJaCiuTLvrNDU8W/f/j4wlhybGJruvvOH9qDPRRp2aw3surgAB33irZftYFgG1h/6NjjKeRrBvqocW9sZdAeXWcqw4xiNyi4AbbSGk5aPrFuYMswJWP0/i9MkSF5N0eRcFoWl/DvTeaG4bkzTQquT29pdYE/Ef3KXDgKevwUKH0OBU79v8VSLjIT9Tr0ps/FOvNXjeGHjI6FoqCkLt2XYgDMteltRC7rjtmxTGBRpQQFoRksa/11jwr6t5YNxYootzM11g8EFA/uX56aJHkTjZBpSzMsImDPsWjpqu/MTttVmdtq6iFEkA9NBwZYIZEJBmiy/wfNXhNgCe2lDuaSdK6MMF8PHXWIjvcW2/+h6u355ktr+LRXeolVuYDIAaN3SDSJBsDkJg4duYWuCeq8ptJ4bzeRjZtPchew=" # DOCKER_USER + - secure: "PrUMwM360a1KMLhfIPmx7qp9+Ry2cMDJpW4WspE28UQTrqcSZdhUYFCs5Q2DISZXrZWGI1/utHK+JYeqCAt3xOf3qRsLqupzJIPqzMPyb2AKtyR1JbJZGyBv7y4s6HMrXZ9pNfRBoR7hHFtiZfmTBo8avpMne8gBN1JGGXM0GTqbZwY6JGAG+vQ0Nt+DculhEraDAzFdNF5vBO+lg8wTmvh2qp+espa+4i9JzjTeRk8O09+33jkqRFugZtJOcgIi9iBvZjKUPedmFA1w/hU3lHLUuofi7tTmpAOyqaQyB8Grfj1JsgaCfbOZQs7kPHtsQ1Ai0zw2MbJtTKoA8kHcU9XWDU4Kxa1K1qXyp+ZdofTXYYnHkN4pgS+EU2it/OlKnpJV4I73JK28aF7A+fe8zheWkpJV8rFBiI04xXdILr+jxQKfdM4TOWos/XShp4bJru4VJuIfnveKuR+1EPIpuOhJ2jj4HB7g6AbIAbGsjICbFq98jSiXENeGaYmx1qIBSIlFn+lLJxp40fx/OsGKC0y5orfDgyUcPUkseckEk/H7zc90DGdCLCFmJVVgrKGWnfq8ifFI8GPVTomUVy41PLGv1LTCIYyrjM02mxLIEMIKrKboy4MSbaOidasaobjYFtwjABR3GLnUK5ETLANhO0LLC4Z4w6KFvARFfZ6JPec=" # DOCKER_PASS + - secure: "G5qjTBS6CuCCtueEqCRAEUhznycGz2kRXB7nChUK/ftKbAMW6F487sj8uujDEO0CXTv9aWnKyrPoXPnhlB5APQ5PtmC8F8DJEqWGW29J/oBv1giJq2K2Elcz6a0a7ys8pTgGKJyDT+mEvFF9boxVKI/eZQ+4ACI0EkGHBakpzey7Y1YSMsymtG6eM3ic1Fgrxna8FynzazKS0YdoE5Aj6yPDVpfj/7vSucz3wR3r2JxMtq95hiWKWYPdc/iir0dcDnedU+MF9aaAUv+ReHpM6FPScnan4mqOhrYKK5sBx27p0C/IxJhtaB4RVzU2F0kYLynK1vgUOBFc+9H/G2P+wl6TfO5dGjMmGU6kF2eWtTzRqT7JELRdqu9v/QGOlKpKmhmA3diGfkY0E2keEUyIRchHZAZKYQfLUhUObYcve2/4skmg9qhcxSMuh2qjkfTyFj/M4mcfkTZZWB9izgkHO2O3MxQm1d5DJDtoSfNQZOZiLjckyxmghWF3TEKNp3OhDOt+JikrDboZBts3F9+ocAVjLyg3upmWnlE6rFfkmVtWCXmI6Rto+laHtV/ng83Z3M4wL3VcvoOlPXLb0moqCGN4HGvpfolBqryFksGbUybaIqbQ7hQHhQuThzQ9UHq0AQN44rwzxEuKbxY7bTuyb4vSEAkrvjeLFbz4MSHQgno=" # AWS_ACCESS_KEY_ID + - secure: "ngqtUAXc8sR84CZTzOtRmg+Di/UFXCASV5bLHBmbgmXrvidIisHGW8O7TTx54ZU4UXlbY+Rg/8K6iIyy+uuCLhRcVRDW4sxacdQTNnoDPDNczqwrbBrOCLU7aW0imNBcIDqEvza+1fXsBrFV/iejtOFYVPn4l/yAb/j9MVo65hTGaKwQ4371lNMbRQp9p9DTEGGmkABo/EOtvbNR2H4qVgTuzeR8XdHC8GJUN0bujwQoK3EPTgkaMO6M7XevSNieO35opmy/Ip0GKYNTt4smKPQrUIokokwApCrjn2URdcGLoHENTTHtjLWMM0QMOV47qRBD+FeVaTUe0I4MB1toEZEIck+Vdy7PTCQ/f1HZtlI+bbDLlDPFwB/EMr7J1EKbudu7NnRopN6/zWupmDnL9VWxZy9boCDXCF47OxL1Kba9qqPYigiaS4vQEXygrceQgr+22axowtgTYYyhcsIbXQPq8COlLS/Ls/OgJMKIcQjMhTlKw01B/a08yZ0WxfVD9HJJbDA4EJiztOT7IZCyJvSv1mxJ8uI5hHC4TUBMWIKM6hVVZb0bjvtJjq7kFP9T4gCe/+OKxLIsSqWwY8AZoot6bY5lreZvb0epmyeM4fmf6qQxjIUviaGgj2o4eU7awDQzevwS8hNTsXPdFGItVUrjtKyLFHPkCMiZcTskSZo=" # AWS_SECRET_ACCESS_KEY + - secure: "TfbqhcBGGRbvmJ5KevU60dyCczRbiX7Pt1N36Bgy8Ozj6Cv79jC1K+AaB98j+Q1e0A7PaL7sbuOy7hIV/OqePhGEk0D2mowYj8/ORp14UXQ89FpIL7exUCXSwSPhCIwUaGdY4S5yT0DL1rkb5qeSS8L9KEEEVPvVY1F2vGE/lzzgS1MCLCdk7ajs+3c9HP9N4J2PjYRg3WFkgWmfGNitEjGApSJ91NIJW4Sw9pqLhweWqKO8sAbpsADlE+NhfoDd0kzDTkecxWzSf3siO6yfGKAeh3bf8WE4qZReuLXYDWL3XjJ3LTfK018P1J8Cx9PlMb3M+nHU0B3T6mC1t+XtLrUE/fr1LF89diyDCSRB+ZW2H/l8SNQNVIqgTrXzoBcwqGNeZOPJwd2qcq1vLDAkxgC5QFsoRfyxJmzNff70ESClSmBQy/mNd/pXQZ9JZRMoa097j4pXGZlLGarotiCYUdtlPSZmN/eMsIhLtvxNQ8ryk1ASij5sN7WOdg0r+gZcDAY8AwuuDpmktEu9pHd7iEVFw78DIJmD1N5OgKYdVT6o0WTJnVySBf/+luYK9J/rd6vwvlB4C2LLzhEkWlAGp6n7rl/1V18akM+HPVUPWuDRH69ZYWRPq4TIZwfEPTEG4jYizlTjkn55R+CNi3AWoxL2kr1Qv+zUJSruIvixWvc=" # GITHUB_TOKEN + +jobs: + include: + - stage: build docker image + before_script: + - export REPO=ohif/viewer + - export COMMIT=${TRAVIS_COMMIT::8} + - export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi) + - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, PR=$PR, BRANCH=$BRANCH" + - export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi` + - echo "TAG=$TAG, COMMIT=$COMMIT" + - docker pull $REPO:latest + - docker --version + script: + - docker build -t $REPO:$COMMIT . --cache-from $REPO:latest + after_success: + - docker tag $REPO:$COMMIT $REPO:$TAG + - docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER + - docker images + - docker login -u $DOCKER_USER -p $DOCKER_PASS + - docker push $REPO:$TAG + - docker push $REPO:travis-$TRAVIS_BUILD_NUMBER + - docker push $REPO:$COMMIT + + - stage: build standalone viewer + if: branch = master + before_script: + - export ROOT_URL=http://ohif-viewer.s3-website.eu-central-1.amazonaws.com + - export METEOR_PACKAGE_DIRS="../../Packages" + - cd StandaloneViewer + - mkdir buildDirectory + - cd StandaloneViewer + - npm install -g meteor-build-client-fixed@0.4.3 + - meteor-build-client-fixed --version + - curl https://install.meteor.com | /bin/sh + - meteor npm install + script: + - meteor-build-client-fixed ~/standaloneViewerBuild -u $ROOT_URL + after_success: + - ls ~/standaloneViewerBuild + - ls /home/travis + - ls /home/travis/build + - ls /home/travis/build/Viewers/StandaloneViewer + deploy: + provider: s3 + access_key_id: $AWS_ACCESS_KEY_ID + secret_access_key: $AWS_SECRET_ACCESS_KEY + bucket: ohif-viewer + region: eu-central-1 + skip_cleanup: true + local_dir: /home/travis/standaloneViewerBuild + acl: public_read + on: + branch: master + + - stage: build documentation + if: branch = master + before_script: + - cd docs + - rm -rf _book + - npm install + - npm install -g gitbook-cli + - gitbook install + script: + - gitbook build + after_success: + - cp assets/CNAME _book/CNAME + deploy: + provider: pages + skip-cleanup: true + local-dir: docs/_book + github-token: $GITHUB_TOKEN + keep-history: true + fqdn: docs.ohif.org + verbose: true + on: + branch: master diff --git a/OHIFViewer/.meteor/.finished-upgraders b/OHIFViewer/.meteor/.finished-upgraders index 2a56593d3..8f397c7da 100644 --- a/OHIFViewer/.meteor/.finished-upgraders +++ b/OHIFViewer/.meteor/.finished-upgraders @@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2 1.4.1-add-shell-server-package 1.4.3-split-account-service-packages 1.5-add-dynamic-import-package +1.7-split-underscore-from-meteor-base diff --git a/OHIFViewer/.meteor/packages b/OHIFViewer/.meteor/packages index a3916dd92..69bd37203 100644 --- a/OHIFViewer/.meteor/packages +++ b/OHIFViewer/.meteor/packages @@ -4,27 +4,27 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -http@1.3.0 -promise@0.10.0 +http@1.4.1 +promise@0.11.1 stylus@2.513.13 -meteor-base@1.2.0 +meteor-base@1.4.0 mobile-experience@1.0.5 -mongo@1.3.0 +mongo@1.5.0 blaze-html-templates@1.0.4 session@1.1.7 jquery@1.11.10 -tracker@1.1.3 -logging@1.1.19 -reload@1.1.11 -random@1.0.10 +tracker@1.2.0 +logging@1.1.20 +reload@1.2.0 +random@1.1.0 ejson@1.1.0 spacebars@1.0.12 -check@1.2.5 -ecmascript@0.9.0 +check@1.3.1 +ecmascript@0.11.1 reactive-var@1.0.11 reactive-dict@1.2.0 -standard-minifier-css@1.3.5 -standard-minifier-js@2.2.0 +standard-minifier-css@1.4.1 +standard-minifier-js@2.3.4 # OHIF Packages @@ -50,4 +50,6 @@ aldeed:template-extension gilbertwat:bootstrap3-daterangepicker johdirr:meteor-git-rev cultofcoders:persistent-session -shell-server@0.3.0 +shell-server@0.3.1 +underscore +meteortesting:mocha diff --git a/OHIFViewer/.meteor/release b/OHIFViewer/.meteor/release index 0fa8d22dd..04fe8b4f6 100644 --- a/OHIFViewer/.meteor/release +++ b/OHIFViewer/.meteor/release @@ -1 +1 @@ -METEOR@1.6 +METEOR@1.7.0.3 diff --git a/OHIFViewer/.meteor/versions b/OHIFViewer/.meteor/versions index aa5b8a5ca..e0c6ae52f 100644 --- a/OHIFViewer/.meteor/versions +++ b/OHIFViewer/.meteor/versions @@ -1,40 +1,41 @@ -accounts-base@1.4.0 +accounts-base@1.4.2 aldeed:collection2@2.10.0 aldeed:collection2-core@1.2.0 aldeed:schema-deny@1.1.0 aldeed:schema-index@1.1.1 -aldeed:simple-schema@1.5.3 +aldeed:simple-schema@1.5.4 aldeed:template-extension@4.1.0 allow-deny@1.1.0 amplify@1.0.0 -autoupdate@1.3.12 -babel-compiler@6.24.7 -babel-runtime@1.1.1 -base64@1.0.10 +autoupdate@1.4.1 +babel-compiler@7.1.1 +babel-runtime@1.2.2 +base64@1.0.11 binary-heap@1.0.10 blaze@2.3.2 blaze-html-templates@1.1.2 blaze-tools@1.0.10 -boilerplate-generator@1.3.0 -caching-compiler@1.1.9 -caching-html-compiler@1.1.2 -callback-hook@1.0.10 -check@1.2.5 +boilerplate-generator@1.5.0 +caching-compiler@1.1.12 +caching-html-compiler@1.1.3 +callback-hook@1.1.0 +check@1.3.1 cultofcoders:persistent-session@0.4.5 dangrossman:bootstrap-daterangepicker@2.1.13 ddp@1.4.0 -ddp-client@2.2.0 -ddp-common@1.3.0 +ddp-client@2.3.3 +ddp-common@1.4.0 ddp-rate-limiter@1.0.7 -ddp-server@2.1.0 +ddp-server@2.2.0 deps@1.0.12 -diff-sequence@1.0.7 -dynamic-import@0.2.0 -ecmascript@0.9.0 -ecmascript-runtime@0.5.0 -ecmascript-runtime-client@0.5.0 -ecmascript-runtime-server@0.5.0 +diff-sequence@1.1.0 +dynamic-import@0.4.1 +ecmascript@0.11.1 +ecmascript-runtime@0.7.0 +ecmascript-runtime-client@0.7.1 +ecmascript-runtime-server@0.7.0 ejson@1.1.0 +es5-shim@4.8.0 fastclick@1.0.13 fortawesome:fontawesome@4.7.0 geojson-utils@1.0.10 @@ -42,8 +43,8 @@ gilbertwat:bootstrap3-daterangepicker@1.3.21_1 hot-code-push@1.0.4 html-tools@1.0.11 htmljs@1.0.11 -http@1.3.0 -id-map@1.0.9 +http@1.4.1 +id-map@1.1.0 iron:controller@1.0.12 iron:core@1.0.11 iron:dynamic-template@1.0.12 @@ -53,28 +54,33 @@ iron:middleware-stack@1.1.0 iron:router@1.0.13 iron:url@1.0.11 johdirr:meteor-git-rev@0.0.4 -jquery@1.11.10 +jquery@1.11.11 launch-screen@1.1.1 livedata@1.0.18 +lmieulet:meteor-coverage@1.1.4 localstorage@1.2.0 -logging@1.1.19 +logging@1.1.20 mdg:validation-error@0.5.1 -meteor@1.8.0 -meteor-base@1.2.0 +meteor@1.9.0 +meteor-base@1.4.0 meteor-platform@1.2.6 -minifier-css@1.2.16 -minifier-js@2.2.1 -minimongo@1.4.0 +meteorhacks:picker@1.0.3 +meteortesting:browser-tests@1.0.0 +meteortesting:mocha@1.0.0 +minifier-css@1.3.1 +minifier-js@2.3.5 +minimongo@1.4.4 mobile-experience@1.0.5 mobile-status-bar@1.0.14 -modules@0.11.0 -modules-runtime@0.9.0 -momentjs:moment@2.19.1 -mongo@1.3.0 +modern-browsers@0.1.1 +modules@0.12.1 +modules-runtime@0.10.2 +momentjs:moment@2.22.2 +mongo@1.5.1 mongo-dev-server@1.1.0 -mongo-id@1.0.6 +mongo-id@1.0.7 natestrauser:select2@4.0.3 -npm-mongo@2.2.33 +npm-mongo@3.0.7 observe-sequence@1.0.16 ohif:commands@0.0.1 ohif:core@0.0.1 @@ -95,35 +101,37 @@ ohif:themes@0.0.1 ohif:themes-common@0.0.1 ohif:viewerbase@0.0.1 ohif:wadoproxy@0.0.1 -ordered-dict@1.0.9 -promise@0.10.0 +ordered-dict@1.1.0 +practicalmeteor:mocha-core@1.0.1 +promise@0.11.1 raix:eventemitter@0.1.3 -random@1.0.10 -rate-limit@1.0.8 +random@1.1.0 +rate-limit@1.0.9 reactive-dict@1.2.0 reactive-var@1.0.11 -reload@1.1.11 -retry@1.0.9 -routepolicy@1.0.12 +reload@1.2.0 +retry@1.1.0 +routepolicy@1.0.13 service-configuration@1.0.11 session@1.1.7 -shell-server@0.3.0 +shell-server@0.3.1 silentcicero:jszip@0.0.4 +socket-stream-client@0.2.2 spacebars@1.0.15 spacebars-compiler@1.1.3 standard-app-packages@1.0.9 -standard-minifier-css@1.3.5 -standard-minifier-js@2.2.1 -stylus@2.513.13 +standard-minifier-css@1.4.1 +standard-minifier-js@2.3.4 +stylus@2.513.14 templating@1.3.2 templating-compiler@1.3.3 templating-runtime@1.3.2 templating-tools@1.1.2 -tracker@1.1.3 +tracker@1.2.0 twbs:bootstrap@3.3.6 ui@1.0.13 underscore@1.0.10 -url@1.1.0 +url@1.2.0 validatejs@0.0.1 -webapp@1.4.0 +webapp@1.6.2 webapp-hashing@1.0.9 diff --git a/OHIFViewer/bin/testPackages.sh b/OHIFViewer/bin/testPackages.sh index 681bcd828..b75ff6309 100644 --- a/OHIFViewer/bin/testPackages.sh +++ b/OHIFViewer/bin/testPackages.sh @@ -26,7 +26,7 @@ if [ "$RUN_COVERAGE" == 1 ]; then # Setting coverage variables app_folder=$(pwd) - app_folder+="/packages/ascend-adaptive-reporting/" + app_folder+="/packages/ohif-viewerbase/" export COVERAGE_APP_FOLDER=$app_folder export COVERAGE=1 echo 'Running meteor-coverage' @@ -34,7 +34,7 @@ fi if [ "$RUN_SPACEJAM" == 1 ]; then - spacejam-mocha ./packages/ascend-adaptive-reporting/ + spacejam-mocha ./packages/ohif-viewerbase/ else - meteor test-packages --driver-package='practicalmeteor:mocha' ./packages/ascend-adaptive-reporting/ -fi \ No newline at end of file + meteor test-packages --driver-package='cultofcoders:mocha' ./packages/ohif-viewerbase/ +fi diff --git a/OHIFViewer/package.json b/OHIFViewer/package.json index 16a662ac3..a357cad00 100644 --- a/OHIFViewer/package.json +++ b/OHIFViewer/package.json @@ -4,10 +4,12 @@ "description": "", "main": "index.js", "dependencies": { - "babel-runtime": "^6.23.0", - "loglevel": "^1.4.1" + "@babel/runtime": "7.0.0-beta.51", + "loglevel": "^1.6.1" + }, + "devDependencies": { + "puppeteer": "^1.5.0" }, - "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/Packages/ohif-servers/server/startup.js b/Packages/ohif-servers/server/startup.js index 4578d61cb..a28c6d7a6 100644 --- a/Packages/ohif-servers/server/startup.js +++ b/Packages/ohif-servers/server/startup.js @@ -4,31 +4,6 @@ import { OHIF } from 'meteor/ohif:core'; import { Servers } from 'meteor/ohif:servers/both/collections'; import { ServerConfiguration } from 'meteor/ohif:servers/both/schema/servers.js'; -// Validate the servers configuration -Meteor.startup(() => { - // Save custom properties (if any)... - // "Meteor.settings" and "Meteor.settings.public" are set by default... - let custom = { - private: Meteor.settings.custom, - public: Meteor.settings.public.custom - }; - - // ... and remove them to prevent clean up - delete Meteor.settings.custom; - delete Meteor.settings.public.custom; - - ServerConfiguration.clean(Meteor.settings); - - // TODO: Make the error messages more clear - // Taking this out for now to prevent confusion. - // check(Meteor.settings, ServerConfiguration); - - Meteor.settings.custom = custom.private; - Meteor.settings.public.custom = custom.public; - - OHIF.log.info(JSON.stringify(Meteor.settings, null, 2)); -}); - // Check the servers on meteor startup Meteor.startup(function() { OHIF.log.info('Updating servers information from JSON configuration'); diff --git a/Packages/ohif-viewerbase/package.js b/Packages/ohif-viewerbase/package.js index fc9eb98d9..3bb3368af 100644 --- a/Packages/ohif-viewerbase/package.js +++ b/Packages/ohif-viewerbase/package.js @@ -218,8 +218,6 @@ Package.onUse(function(api) { }); Package.onTest(function(api) { - const both = ['client', 'server']; - api.versionsFrom('1.4'); /* @@ -233,7 +231,7 @@ Package.onTest(function(api) { 'momentjs:moment', 'validatejs', 'cultofcoders:persistent-session' - ], both); + ], 'client'); // OHIF dependencies api.use([ @@ -243,12 +241,12 @@ Package.onTest(function(api) { 'ohif:core', 'ohif:hotkeys', 'ohif:log' - ], both); + ], 'client'); /* * Our custom packages */ - api.use('ohif:viewerbase', both); + api.use('ohif:viewerbase', 'client'); /* * Tests framework components diff --git a/dockerfile b/dockerfile index 906bac087..77c3449b4 100644 --- a/dockerfile +++ b/dockerfile @@ -22,6 +22,7 @@ ADD --chown=user:user . /home/user/Viewers WORKDIR /home/user/Viewers/OHIFViewer ENV METEOR_PACKAGE_DIRS=../Packages +ENV METEOR_PROFILE=1 RUN meteor build --directory /home/user/app WORKDIR /home/user/app/bundle/programs/server RUN npm install --production diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..5688b2b54 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,445 @@ +{ + "name": "ohif-viewers-meta", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "bcrypt": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-2.0.1.tgz", + "integrity": "sha512-DwB7WgJPdskbR+9Y3OTJtwRq09Lmm7Na6b+4ewvXjkD0nfNRi1OozxljHm5ETlDCBq9DTy04lQz+rj+T2ztIJg==", + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.9.1" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.9.1", + "bundled": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "readable-stream": { + "version": "2.3.5", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "sax": { + "version": "1.2.4", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.0.3", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "gitbook-plugin-edit-link": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/gitbook-plugin-edit-link/-/gitbook-plugin-edit-link-2.0.2.tgz", + "integrity": "sha1-2PzZJ+ztgeemYqctWdtgnq/X5y8=" + }, + "gitbook-plugin-github": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-github/-/gitbook-plugin-github-3.0.0.tgz", + "integrity": "sha1-Z0V9+YpX6o75slGLiDQNs3ClMXs=" + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..da3e1b12c --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "ohif-viewers-meta", + "version": "0.0.1", + "description": "NPM Package for running scripts in the OHIF/Viewers Repository", + "directories": { + "doc": "docs", + "test": "test" + }, + "dependencies": {}, + "devDependencies": {}, + "scripts": { + "test": "./test/testApp.sh" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/OHIF/Viewers.git" + }, + "author": "Open Health Imaging Foundation", + "license": "MIT", + "bugs": { + "url": "https://github.com/OHIF/Viewers/issues" + }, + "homepage": "https://github.com/OHIF/Viewers#readme" +} diff --git a/test/testApp.sh b/test/testApp.sh new file mode 100755 index 000000000..ad0c963d5 --- /dev/null +++ b/test/testApp.sh @@ -0,0 +1,7 @@ +export TEST_BROWSER_DRIVER=puppeteer +export METEOR_PACKAGE_DIRS=../Packages + +cd OHIFViewer + +meteor npm install +meteor test --once --driver-package meteortesting:mocha \ No newline at end of file