diff --git a/.gitignore b/.gitignore index 7c4f411..24cd644 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ app/js/templates.js app/data *.py[cod] karma.subunit +package-lock.json # C extensions *.so diff --git a/README.rst b/README.rst index 7058a03..183cc7d 100644 --- a/README.rst +++ b/README.rst @@ -22,11 +22,9 @@ Installation ============ Installation - Frontend ----------------------- -Installation of the frontend requires Node.js and Gulp. On Ubuntu:: +Installation of the frontend requires Node.js (>=16.14.0) and Gulp. On Ubuntu:: - sudo apt-get install nodejs - sudo apt-get install npm - sudo npm install -g gulp + sudo snap install node --classic --channel=16 Then, install the Node modules by running, from the project directory:: @@ -45,7 +43,7 @@ Usage - Development ------------------- A development server can be run as follows:: - gulp dev + npm run dev This will open a web browser and reload code automatically as it changes on the filesystem. @@ -64,7 +62,7 @@ Usage - Production ------------------ The production application can be build using:: - gulp prod + npm run prod This will automatically build portable html/javascript and python utilities into ``dist/stackviz-VERSION.tar.gz``. diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 8fdb06b..9936e2e 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -3,10 +3,9 @@ Installation Installation - Frontend ----------------------- -Installation of the frontend requires Node.js and Gulp. On Ubuntu:: +Installation of the frontend requires Node.js (>=16.14.0) and Gulp. On Ubuntu:: - sudo apt-get install nodejs npm nodejs-legacy - sudo npm install -g gulp + sudo snap install node --classic --channel=16 Then, install the Node modules by running, from the project directory:: diff --git a/gulp/tasks/styles.js b/gulp/tasks/styles.js index 1fe1538..63a71fc 100644 --- a/gulp/tasks/styles.js +++ b/gulp/tasks/styles.js @@ -2,7 +2,7 @@ var config = require('../config'); var gulp = require('gulp'); -var sass = require('gulp-sass'); +var sass = require('gulp-sass')(require('node-sass')); var gulpif = require('gulp-if'); var handleErrors = require('../util/handleErrors'); var browserSync = require('browser-sync'); diff --git a/package.json b/package.json index 0ca4bc2..046f7f7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "gulp-protractor": "2.2.0", "gulp-rename": "1.2.2", "gulp-replace": "0.5.4", - "gulp-sass": "2.2.0", + "gulp-sass": "5.1.0", "gulp-sourcemaps": "1.6.0", "gulp-streamify": "0.0.5", "gulp-uglify": "1.5.3", @@ -54,25 +54,30 @@ "jasmine-fixture": "2.0.0", "karma": "~0.13.22", "karma-browserify": "5.0.3", - "karma-firefox-launcher": "2.1.0", "karma-coverage": "0.5.5", + "karma-firefox-launcher": "2.1.0", "karma-jasmine": "0.3.8", "karma-subunit-reporter": "0.0.4", "morgan": "1.7.0", + "node-sass": "6.0.0", "nprogress": "^0.2.0", "pretty-hrtime": "1.0.2", "protractor": "^2.2.0", "run-sequence": "1.1.5", "tiny-lr": "^0.1.6", "uglifyify": "3.0.1", - "vinyl-buffer": "1.0.0", - "vinyl-source-stream": "1.1.0", + "vinyl-buffer": "1.0.1", + "vinyl-source-stream": "1.1.2", "watchify": "3.7.0" }, + "overrides": { + "graceful-fs": "^4.2.11" + }, "scripts": { "postinstall": "if [ ! -d .venv ]; then tox -epy38 --notest; fi", "test": "gulp unit", "lint": "eslint ./", - "prod": "gulp prod; python setup.py sdist" + "prod": "gulp prod; python setup.py sdist", + "dev": "gulp dev" } } diff --git a/requirements.txt b/requirements.txt index cff9e9d..767b2f6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ testtools>=0.9.30 oslo.db>=6.0.0;python_version>='3.6' oslo.db==6.0.0;python_version<='3.5' six +stestr