Merge pull request #3188 from normanjaeckel/Yarn

Switched from npm to Yarn. Closed #3012.
This commit is contained in:
Norman Jäckel 2017-04-28 12:19:54 +02:00 committed by GitHub
commit 7d0ce465f4
7 changed files with 4087 additions and 51 deletions

View File

@ -1,10 +1,8 @@
language: python
sudo: false
cache:
directories:
- node_modules
- $HOME/virtualenv/python$TRAVIS_PYTHON_VERSION/lib/python$TRAVIS_PYTHON_VERSION/site-packages/
- $HOME/virtualenv/python$TRAVIS_PYTHON_VERSION/bin/
pip: true
yarn: true
python:
- "3.4"
- "3.5"
@ -13,11 +11,13 @@ env:
- TRAVIS_NODE_VERSION="4"
before_install:
- nvm install $TRAVIS_NODE_VERSION
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
install:
- pip install --upgrade setuptools
- pip install --upgrade setuptools pip
- pip install --upgrade --requirement requirements.txt
- pip freeze
- npm install
- yarn
- node_modules/.bin/gulp --production
script:
- flake8 openslides tests

View File

@ -46,6 +46,9 @@ Core:
General:
- Several bugfixes and minor improvements.
Other:
- Switched from npm to Yarn.
Version 2.1.1 (2017-04-05)
==========================

View File

@ -16,14 +16,18 @@ a. Check requirements
'''''''''''''''''''''
Make sure that you have installed `Python (>= 3.4) <https://www.python.org/>`_,
`Node.js (>=4.x) <https://nodejs.org/>`_, `npm - Node Package Manager (>=3.x)
<https://npmjs.org/>`_ and `Git <http://git-scm.com/>`_ on your system. You also
need build-essential packages and header files and a static library for Python.
`Node.js (>=4.x) <https://nodejs.org/>`_, `Yarn <https://yarnpkg.com/>`_ and
`Git <http://git-scm.com/>`_ on your system. You also need build-essential
packages and header files and a static library for Python.
For Ubuntu 16.04 e. g. run::
For Ubuntu 16.04 e. g. follow `Yarn installation instructions
<https://yarnpkg.com/en/docs/install>`_ and run::
$ sudo apt-get install git nodejs nodejs-legacy npm build-essential python3-dev
*Note: For Ubuntu 14.04 you have to update Node.js before. The distribution
version is 0.10.25 which is not sufficient.*
b. Get OpenSlides source code
'''''''''''''''''''''''''''''
@ -49,9 +53,9 @@ Install all required Python packages::
$ pip install --requirement requirements.txt
Install all NPM and Bower packages and run several JavaScript build tasks::
Install all Node.js and Bower packages and run several JavaScript build tasks::
$ npm install
$ yarn
Optional: To enhance performance run Gulp in production mode::

View File

@ -1,34 +1,37 @@
FROM python:3.5
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get install -y libpq-dev supervisor
RUN apt-get install -y libpq-dev supervisor curl
## BUILD JS STUFF
RUN cd /tmp
RUN wget https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-x64.tar.xz
RUN cd /tmp && tar xfvJ /node-v4.5.0-linux-x64.tar.xz
RUN wget https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-x64.tar.xz -P /tmp
RUN cd /tmp && tar xfvJ node-v4.5.0-linux-x64.tar.xz
RUN ln -sf /tmp/node-v4.5.0-linux-x64/bin/node /usr/bin/node
RUN useradd -m openslides
RUN mkdir /app && chown openslides /app
RUN mkdir /app
ADD package.json /app
ADD yarn.lock /app
ADD bower.json /app
ADD gulpfile.js /app
WORKDIR /app
RUN /tmp/node-v4.5.0-linux-x64/bin/npm install; exit 0 #ignore errors in npm scripts
RUN su -c 'node_modules/.bin/bower --config.interactive=false install' openslides
RUN chown -R openslides /app
USER openslides
RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN $HOME/.yarn/bin/yarn --non-interactive
# INSTALL PYTHON DEPENDENCIES
USER root
ADD requirements_production.txt /app/requirements_production.txt
RUN pip install -r /app/requirements_production.txt
RUN pip install django-redis asgi-redis django-redis-sessions psycopg2
## Clean up
RUN apt-get remove -y python3-pip wget
RUN apt-get remove -y python3-pip wget curl
RUN rm -rf /var/lib/apt/lists/*
# BUILD APP
ADD . /app
RUN node_modules/.bin/gulp --production
RUN rm -fr /tmp/node-v4.5.0-linux-x64/
RUN rm -fr /app/bower_components
RUN rm -fr /app/node_modules

View File

@ -12,10 +12,6 @@
* for production mode.
*/
// TODO: Remove the next line when support for Node 0.10.x is dropped.
// See https://github.com/postcss/postcss#nodejs-010-and-the-promise-api
require('es6-promise').polyfill();
var argv = require('yargs').argv,
gulp = require('gulp'),
concat = require('gulp-concat'),
@ -26,7 +22,6 @@ var argv = require('yargs').argv,
jshint = require('gulp-jshint'),
mainBowerFiles = require('main-bower-files'),
path = require('path'),
rename = require('gulp-rename'),
sourcemaps = require('gulp-sourcemaps'),
templateCache = require('gulp-angular-templatecache'),
through = require('through2'),

View File

@ -5,31 +5,27 @@
"prepublish": "bower install && gulp"
},
"devDependencies": {
"angular-mocks": "~1.5.7",
"bower": "~1.7.2",
"es6-promise": "~3.0.2",
"gulp": "~3.9.0",
"gulp-angular-gettext": "~2.1.0",
"angular-mocks": "~1.5.11",
"bower": "^1.8.0",
"gulp": "^3.9.1",
"gulp-angular-gettext": "^2.2.0",
"gulp-angular-templatecache": "^2.0.0",
"gulp-concat": "~2.6.0",
"gulp-cssnano": "~2.1.0",
"gulp-if": "~2.0.0",
"gulp-inject-string": "~1.1.0",
"gulp-jshint": "~2.0.0",
"gulp-rename": "~1.2.2",
"gulp-sourcemaps": "~1.6.0",
"gulp-uglify": "~1.5.2",
"jasmine": "~2.4.1",
"jshint": "~2.9.2",
"karma": "~1.1.0",
"karma-chrome-launcher": "~1.0.1",
"karma-phantomjs-launcher": "~1.0.0",
"karma-jasmine": "~1.0.2",
"main-bower-files": "~2.11.1",
"phantomjs-prebuilt": "~2.1.14",
"po2json": "~0.4.1",
"sprintf-js": "~1.0.3",
"through2": "~2.0.0",
"yargs": "~3.32.0"
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-if": "^2.0.2",
"gulp-inject-string": "^1.1.0",
"gulp-jshint": "^2.0.4",
"gulp-sourcemaps": "^2.5.0",
"gulp-uglify": "^2.1.2",
"jasmine-core": "^2.5.2",
"jshint": "^2.9.4",
"karma": "^1.5.0",
"karma-chrome-launcher": "^2.0.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.4",
"main-bower-files": "^2.13.1",
"sprintf-js": "^1.0.3",
"through2": "^2.0.3",
"yargs": "^7.0.2"
}
}

4035
yarn.lock Normal file

File diff suppressed because it is too large Load Diff