From 5ae2d3eb1ef2dc47c82ef831cbd0b15a5ae27c9f Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Thu, 28 Feb 2019 11:22:32 +0100 Subject: update grunt dependencies --- Gruntfile.js | 198 ----------------------------------------------------------- Gruntfile.ts | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 15 ++--- 3 files changed, 197 insertions(+), 205 deletions(-) delete mode 100644 Gruntfile.js create mode 100644 Gruntfile.ts diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index b58eabe..0000000 --- a/Gruntfile.js +++ /dev/null @@ -1,198 +0,0 @@ -const sass = require('node-sass'); - -/* global module:false */ -module.exports = function(grunt) { - var port = grunt.option('port') || 8000; - var root = grunt.option('root') || '.'; - - if (!Array.isArray(root)) root = [root]; - - // Project configuration - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - meta: { - banner: - '/*!\n' + - ' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' + - ' * http://revealjs.com\n' + - ' * MIT licensed\n' + - ' *\n' + - ' * Copyright (C) 2019 Hakim El Hattab, http://hakim.se\n' + - ' */' - }, - - qunit: { - files: [ 'test/*.html' ] - }, - - uglify: { - options: { - banner: '<%= meta.banner %>\n', - ie8: true - }, - build: { - src: 'js/reveal.js', - dest: 'js/reveal.min.js' - } - }, - - sass: { - options: { - implementation: sass, - }, - core: { - src: 'css/reveal.scss', - dest: 'css/reveal.css' - }, - themes: { - expand: true, - cwd: 'css/theme/source', - src: ['*.sass', '*.scss'], - dest: 'css/theme', - ext: '.css' - } - }, - - autoprefixer: { - core: { - src: 'css/reveal.css' - } - }, - - cssmin: { - options: { - compatibility: 'ie9' - }, - compress: { - src: 'css/reveal.css', - dest: 'css/reveal.min.css' - } - }, - - jshint: { - options: { - curly: false, - eqeqeq: true, - immed: true, - esnext: true, - latedef: 'nofunc', - newcap: true, - noarg: true, - sub: true, - undef: true, - eqnull: true, - browser: true, - expr: true, - loopfunc: true, - globals: { - head: false, - module: false, - console: false, - unescape: false, - define: false, - exports: false - } - }, - files: [ 'Gruntfile.js', 'js/reveal.js' ] - }, - - connect: { - server: { - options: { - port: port, - base: root, - livereload: true, - open: true, - useAvailablePort: true - } - } - }, - - zip: { - bundle: { - src: [ - 'index.html', - 'css/**', - 'js/**', - 'lib/**', - 'images/**', - 'plugin/**', - '**.md' - ], - dest: 'reveal-js-presentation.zip' - } - }, - - watch: { - js: { - files: [ 'Gruntfile.js', 'js/reveal.js' ], - tasks: 'js' - }, - theme: { - files: [ - 'css/theme/source/*.sass', - 'css/theme/source/*.scss', - 'css/theme/template/*.sass', - 'css/theme/template/*.scss' - ], - tasks: 'css-themes' - }, - css: { - files: [ 'css/reveal.scss' ], - tasks: 'css-core' - }, - html: { - files: root.map(path => path + '/*.html') - }, - markdown: { - files: root.map(path => path + '/*.md') - }, - options: { - livereload: true - } - }, - - retire: { - js: [ 'js/reveal.js', 'lib/js/*.js', 'plugin/**/*.js' ], - node: [ '.' ] - } - - }); - - // Dependencies - grunt.loadNpmTasks( 'grunt-contrib-connect' ); - grunt.loadNpmTasks( 'grunt-contrib-cssmin' ); - grunt.loadNpmTasks( 'grunt-contrib-jshint' ); - grunt.loadNpmTasks( 'grunt-contrib-qunit' ); - grunt.loadNpmTasks( 'grunt-contrib-uglify' ); - grunt.loadNpmTasks( 'grunt-contrib-watch' ); - grunt.loadNpmTasks( 'grunt-autoprefixer' ); - grunt.loadNpmTasks( 'grunt-retire' ); - grunt.loadNpmTasks( 'grunt-sass' ); - grunt.loadNpmTasks( 'grunt-zip' ); - - // Default task - grunt.registerTask( 'default', [ 'css', 'js' ] ); - - // JS task - grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] ); - - // Theme CSS - grunt.registerTask( 'css-themes', [ 'sass:themes' ] ); - - // Core framework CSS - grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] ); - - // All CSS - grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] ); - - // Package presentation to archive - grunt.registerTask( 'package', [ 'default', 'zip' ] ); - - // Serve presentation locally - grunt.registerTask( 'serve', [ 'connect', 'watch' ] ); - - // Run tests - grunt.registerTask( 'test', [ 'jshint', 'qunit' ] ); - -}; diff --git a/Gruntfile.ts b/Gruntfile.ts new file mode 100644 index 0000000..f9c9dd6 --- /dev/null +++ b/Gruntfile.ts @@ -0,0 +1,189 @@ +/* global module:false */ +module.exports = function(grunt) { + const sass = require('node-sass'); + + require('load-grunt-tasks')(grunt); + + let port = grunt.option('port') || 8000; + let root = grunt.option('root') || '.'; + + if (!Array.isArray(root)) root = [root]; + + // Project configuration + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + meta: { + banner: + '/*!\n' + + ' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' + + ' * http://revealjs.com\n' + + ' * MIT licensed\n' + + ' *\n' + + ' * Copyright (C) 2019 Hakim El Hattab, http://hakim.se\n' + + ' */' + }, + + qunit: { + files: [ 'test/*.html' ] + }, + + uglify: { + options: { + banner: '<%= meta.banner %>\n', + ie8: true + }, + build: { + src: 'js/reveal.js', + dest: 'js/reveal.min.js' + } + }, + + sass: { + options: { + implementation: sass, + sourceMap: false + }, + core: { + src: 'css/reveal.scss', + dest: 'css/reveal.css' + }, + themes: { + expand: true, + cwd: 'css/theme/source', + src: ['*.sass', '*.scss'], + dest: 'css/theme', + ext: '.css' + } + }, + + autoprefixer: { + core: { + src: 'css/reveal.css' + } + }, + + cssmin: { + options: { + compatibility: 'ie9' + }, + compress: { + src: 'css/reveal.css', + dest: 'css/reveal.min.css' + } + }, + + jshint: { + options: { + curly: false, + eqeqeq: true, + immed: true, + esnext: true, + latedef: 'nofunc', + newcap: true, + noarg: true, + sub: true, + undef: true, + eqnull: true, + browser: true, + expr: true, + loopfunc: true, + globals: { + head: false, + module: false, + console: false, + unescape: false, + define: false, + exports: false + } + }, + files: [ 'Gruntfile.js', 'js/reveal.js' ] + }, + + connect: { + server: { + options: { + port: port, + base: root, + livereload: true, + open: true, + useAvailablePort: true + } + } + }, + + zip: { + bundle: { + src: [ + 'index.html', + 'css/**', + 'js/**', + 'lib/**', + 'images/**', + 'plugin/**', + '**.md' + ], + dest: 'reveal-js-presentation.zip' + } + }, + + watch: { + js: { + files: [ 'Gruntfile.js', 'js/reveal.js' ], + tasks: 'js' + }, + theme: { + files: [ + 'css/theme/source/*.sass', + 'css/theme/source/*.scss', + 'css/theme/template/*.sass', + 'css/theme/template/*.scss' + ], + tasks: 'css-themes' + }, + css: { + files: [ 'css/reveal.scss' ], + tasks: 'css-core' + }, + html: { + files: root.map(path => path + '/*.html') + }, + markdown: { + files: root.map(path => path + '/*.md') + }, + options: { + livereload: true + } + }, + + retire: { + js: [ 'js/reveal.js', 'lib/js/*.js', 'plugin/**/*.js' ], + node: [ '.' ] + } + + }); + + // Default task + grunt.registerTask( 'default', [ 'css', 'js' ] ); + + // JS task + grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] ); + + // Theme CSS + grunt.registerTask( 'css-themes', [ 'sass:themes' ] ); + + // Core framework CSS + grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] ); + + // All CSS + grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] ); + + // Package presentation to archive + grunt.registerTask( 'package', [ 'default', 'zip' ] ); + + // Serve presentation locally + grunt.registerTask( 'serve', [ 'connect', 'watch' ] ); + + // Run tests + grunt.registerTask( 'test', [ 'jshint', 'qunit' ] ); + +}; diff --git a/package.json b/package.json index 2cc5d41..ac71cf5 100644 --- a/package.json +++ b/package.json @@ -24,21 +24,22 @@ }, "devDependencies": { "express": "^4.16.2", - "grunt": "^1.0.1", + "grunt": "^1.0.3", + "grunt-cli": "^1.3.2", "grunt-autoprefixer": "^3.0.4", - "grunt-cli": "^1.2.0", - "grunt-contrib-connect": "^1.0.2", + "grunt-contrib-connect": "^2.0.0", "grunt-contrib-cssmin": "^2.2.1", - "grunt-contrib-jshint": "^1.1.0", + "grunt-contrib-jshint": "^2.0.0", "grunt-contrib-qunit": "^2.0.0", "grunt-contrib-uglify": "^3.3.0", - "grunt-contrib-watch": "^1.0.0", - "grunt-sass": "^3.0.2", + "grunt-contrib-watch": "^1.1.0", "grunt-retire": "^1.0.7", + "grunt-sass": "^1.0.0", "grunt-zip": "~0.17.1", + "load-grunt-tasks": "^4.0.0", "mustache": "^2.3.0", "socket.io": "^2.2.0", - "node-sass": "^4.11.0" + "typescript": "^3.3.3333" }, "license": "MIT" } -- cgit v1.2.3