diff --git a/Dockerfile b/Dockerfile index fd013bb13..abdc6a039 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ ENV HOME /root # When Ubuntu has nginx >= 1.11.0 we can switch back. RUN add-apt-repository ppa:nginx/development -# Add Yarn repository +# Add Yarn repository until it is officially added to Ubuntu RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list @@ -41,13 +41,12 @@ RUN apt-get install -y \ monit \ nginx \ nodejs \ - npm \ + yarn \ optipng \ python-dbg \ python-dev \ python-pip \ - python-virtualenv \ - yarn + python-virtualenv # Install python dependencies ADD requirements.txt requirements.txt @@ -83,14 +82,13 @@ RUN chmod +x /usr/local/bin/jwtproxy RUN curl -L -o /usr/local/bin/prometheus-aggregator https://github.com/coreos/prometheus-aggregator/releases/download/v0.0.1-alpha/prometheus-aggregator RUN chmod +x /usr/local/bin/prometheus-aggregator -# Install Webpack, Typescript +# Install front-end dependencies RUN ln -s /usr/bin/nodejs /usr/bin/node ADD package.json package.json ADD tsconfig.json tsconfig.json ADD webpack.config.js webpack.config.js ADD typings.json typings.json RUN yarn install --ignore-engines -RUN npm link typescript # Add static files ADD static static @@ -104,17 +102,15 @@ ENV RUN_TESTS ${RUN_TESTS} ADD karma.conf.js karma.conf.js RUN if [ "$RUN_TESTS" = true ]; then \ - npm test; \ + yarn test; \ fi -# Install Grunt -RUN npm install -g grunt-cli - -# Install Grunt depenencies +# Install Grunt and Grunt depenencies +RUN yarn global add grunt-cli ADD grunt grunt -RUN cd grunt && npm install +RUN cd grunt && yarn install -# Run grunt +# Run Grunt RUN cd grunt && grunt # Optimize our images @@ -122,7 +118,7 @@ ADD static/img static/img RUN jpegoptim static/img/**/*.jpg RUN optipng -clobber -quiet static/img/**/*.png -RUN apt-get remove -y --auto-remove python-dev g++ libjpeg62-dev libevent-dev libldap2-dev libsasl2-dev libpq-dev libffi-dev libgpgme11-dev nodejs npm jpegoptim optipng +RUN apt-get remove -y --auto-remove python-dev g++ libjpeg62-dev libevent-dev libldap2-dev libsasl2-dev libpq-dev libffi-dev libgpgme11-dev nodejs jpegoptim optipng RUN apt-get autoremove -y RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/package.json b/package.json index e6cda51ef..7a471e930 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "source-map-loader": "0.1.5", "style-loader": "0.13.1", "ts-loader": "0.9.5", - "typescript": "2.0.3", + "typescript": "2.2.1", "typings": "1.4.0", "webpack": "^2.2" }