Remove ruby-sass requirement (fixes #123)
Change-Id: I933c34d384f22a65e1b737e1e7dc13a20703e171
diff --git a/Changes b/Changes
index 544fe7c..b5a4db7 100755
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
-0.42 2021-03-02
+0.42 2021-03-08
- Added GitHub based CI for perl.
- Added further methods for communicating JSON Files
with the server to the APIs (lerepp).
+ - Remove ruby-sass requirement (fixes #123).
0.41 2021-03-01
- Introduce CORS headers to the proxy.
diff --git a/Dockerfile b/Dockerfile
index 2eff6b4..44003e2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,8 +3,7 @@
# This follows the "multi-stage build" pattern
-RUN npm install -g sass && \
- npm install grunt && \
+RUN npm install grunt && \
npm install -g grunt-cli
# Copy repository respecting .dockerignore
diff --git a/Gruntfile.js b/Gruntfile.js
index e726844..dd59ac3 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -14,6 +14,8 @@
* TODO: Implement a LaTeX generator for a pdf of the dokumentation
*/
+const sass = require('sass');
+
module.exports = function(grunt) {
var config;
var includeFile = 'default';
@@ -75,7 +77,9 @@
sass: {
dist: {
options: {
- style: 'compressed'
+ implementation: sass,
+ style: 'compressed',
+ sourceMap: true
},
files: {
'public/css/kalamar-<%= pkg.version %>.css' : 'dev/scss/kalamar.scss',
@@ -164,7 +168,7 @@
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-watch');
- grunt.loadNpmTasks('grunt-contrib-sass');
+ grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-terser');
grunt.loadNpmTasks('grunt-contrib-requirejs');
diff --git a/README.md b/README.md
index 599de5f..6389080 100644
--- a/README.md
+++ b/README.md
@@ -41,20 +41,17 @@
To generate the static asset files (scripts, styles, images ...),
you need NodeJS >= 6.0.0.
-For processing Sass, you will need Ruby with
-the `sass` gem in addition.
This will probably need administration
rights, depending on your installation path.
These tools may also be available with a package manager.
-You can check, if all tools are available using
+You can check your version using
```shell
$ npm -v
-$ sass -v
```
-Afterwards you can install grunt and run grunt to create the assets.
+Afterwards you can install the dependencies and run `grunt` to create the assets.
```shell
$ cd Kalamar
@@ -63,7 +60,7 @@
$ grunt
```
-Whenever the assets change, just rerun `grunt`.
+Whenever the assets change, just rerun `npm install` and `grunt`.
### Start Server
@@ -112,6 +109,19 @@
(see [Kustvakt](https://github.com/KorAP/Kustvakt) for further information)
or by using the environment variable `KALAMAR_API`.
+## Updates
+
+To update Kalamar, just run
+
+```shell
+$ git pull origin master
+$ cpanm --installdeps .
+$ npm install
+$ grunt
+```
+
+And both the server and client dependencies should be up to date.
+
## Configuration
The basic configuration file is `kalamar.conf`. To define derivations,
@@ -275,7 +285,7 @@
$ cpanm -f Mojolicious::Plugin::MailException
```
-# Problem running scripts on Windows with Powershell
+### Problem running scripts on Windows with Powershell
In case you are having issues with running scripts under Windows,
you can set the execution policy with
diff --git a/package.json b/package.json
index 5f0efc4..6eab73c 100755
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "Kalamar",
"description": "Mojolicious-based Frontend for KorAP",
"license": "BSD-2-Clause",
- "version": "0.41.3",
+ "version": "0.41.4",
"pluginVersion": "0.2.2",
"engines": {
"node": ">=6.0.0"
@@ -14,17 +14,20 @@
"devDependencies": {
"grunt": "^1.0.4",
"grunt-contrib-copy": "^1.0.0",
- "grunt-contrib-imagemin": "^3.1.0",
"grunt-contrib-requirejs": "^1.0.0",
- "grunt-contrib-sass": "^1.0.0",
- "grunt-terser": "^1.0.0",
"grunt-contrib-watch": "^1.1.0",
+ "grunt-sass": "^3.1.0",
"grunt-shell": "^3.0.1",
+ "grunt-terser": "^1.0.0",
"imagemin": "^7.0.1",
"optipng-bin": "^6.0.0",
+ "sass": "^1.32.8",
"vinyl-fs": "^3.0.3"
},
"optionalDependencies": {
"fsevents": "*"
+ },
+ "dependencies": {
+ "grunt-contrib-imagemin": "^4.0.0"
}
}