From 9bb1d610843df61ac9cf5a1e97cac1b9a66c4d51 Mon Sep 17 00:00:00 2001 From: Nicolas Stepien Date: Tue, 19 Feb 2013 01:58:14 +0100 Subject: [PATCH] Update to Grunt 0.4.0. --- 4chan_x.meta.js | 6 +-- 4chan_x.user.js | 8 ++-- CONTRIBUTING.md | 2 +- Gruntfile.js | 90 ++++++++++++++++++++++++++++++++++++++ grunt.js | 103 -------------------------------------------- latestv3.js | 1 - package.json | 36 ++++++++++------ src/banner.js | 4 +- src/features.coffee | 30 ++++++------- src/globals.coffee | 4 +- src/latest.js | 1 - src/metadata.js | 8 ++-- test/index.html | 19 -------- 13 files changed, 144 insertions(+), 168 deletions(-) create mode 100644 Gruntfile.js delete mode 100644 grunt.js delete mode 100644 latestv3.js delete mode 100644 src/latest.js delete mode 100644 test/index.html diff --git a/4chan_x.meta.js b/4chan_x.meta.js index 81b68e9d3..5fce480bc 100644 --- a/4chan_x.meta.js +++ b/4chan_x.meta.js @@ -15,7 +15,7 @@ // @grant GM_deleteValue // @grant GM_openInTab // @run-at document-start -// @updateURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.meta.js -// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.user.js -// @icon https://github.com/MayhemYDG/4chan-x/raw/stable/img/icon.gif +// @updateURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.meta.js +// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.user.js +// @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7 // ==/UserScript== diff --git a/4chan_x.user.js b/4chan_x.user.js index c00d12a0c..b8cd616d0 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -15,12 +15,12 @@ // @grant GM_deleteValue // @grant GM_openInTab // @run-at document-start -// @updateURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.meta.js -// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.user.js +// @updateURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.meta.js +// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.user.js // @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7 // ==/UserScript== -/* 4chan X Alpha - Version 3.0.0 - 2013-02-18 +/* 4chan X Alpha - Version 3.0.0 - 2013-02-19 * http://mayhemydg.github.com/4chan-x/ * * Copyright (c) 2009-2011 James Campos @@ -188,7 +188,7 @@ g = { VERSION: '3.0.0', - NAMESPACE: "4chan_X_Alpha.", + NAMESPACE: "4chan X Alpha.", boards: {}, threads: {}, posts: {} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 00ecbcfab..ed46be99e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ Open your console with: - Clone 4chan X. - `cd` into it. - Install [node.js](http://nodejs.org/). -- Install [Grunt](http://gruntjs.com/) with `npm install -g grunt`. +- Install [Grunt's CLI](http://gruntjs.com/) with `npm install -g grunt-cli`. - Install 4chan X dependencies with `npm install`. ### Build diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 000000000..5121e2d2d --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,90 @@ +module.exports = function(grunt) { + + var pkg = grunt.file.readJSON('package.json'); + + // Project configuration. + grunt.initConfig({ + pkg: pkg, + concat: { + coffee: { + options: { process: { data: pkg } }, + src: [ + 'src/config.coffee', + 'src/globals.coffee', + 'lib/ui.coffee', + 'lib/$.coffee', + 'lib/polyfill.coffee', + 'src/features.coffee', + 'src/qr.coffee', + 'src/main.coffee' + ], + dest: 'tmp/script.coffee' + }, + script: { + options: { process: { data: pkg } }, + src: [ + 'src/metadata.js', + 'src/banner.js', + 'tmp/script.js' + ], + dest: '<%= pkg.meta.files.userjs %>' + }, + metadata: { + options: { process: { data: pkg } }, + src: 'src/metadata.js', + dest: '<%= pkg.meta.files.metajs %>' + } + }, + coffee: { + script: { + src: 'tmp/script.coffee', + dest: 'tmp/script.js' + } + }, + exec: { + commit: { + command: function() { + var release = pkg.meta.name + ' v' + pkg.version; + return [ + 'git checkout ' + pkg.meta.mainBranch, + 'git commit -am "Release ' + release + '."', + 'git tag -a ' + pkg.version + ' -m "' + release + '."', + 'git tag -af stable -m "' + release + '."' + ].join(' && '); + }, + stdout: true + }, + push: { + command: 'git push && git push --tags', + stdout: true + } + }, + watch: { + files: [ + 'package.json', + 'lib/**/*.coffee', + 'src/**/*.coffee', + 'src/**/*.js', + 'css/**/*.css', + 'img/*' + ], + tasks: 'default' + }, + clean: { + tmp: 'tmp' + } + }); + + // grunt.loadNpmTasks('grunt-bump'); + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-coffee'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-exec'); + + grunt.registerTask('default', ['concat:coffee', 'coffee:script', 'concat:script', 'concat:metadata', 'clean']); + grunt.registerTask('release', ['default', 'exec:commit', 'exec:push']); + // grunt.registerTask('patch', 'bump'); + // grunt.registerTask('upgrade', 'bump:minor'); + +}; diff --git a/grunt.js b/grunt.js deleted file mode 100644 index 13717ca8b..000000000 --- a/grunt.js +++ /dev/null @@ -1,103 +0,0 @@ -module.exports = function(grunt) { - - // Project configuration. - grunt.initConfig({ - pkg: '', - meta: { - name: '<%= pkg.name.replace(/-/g, " ") %>', - repo: 'https://github.com/MayhemYDG/4chan-x/', - files: { - metajs: '4chan_x.meta.js', - userjs: '4chan_x.user.js', - latestjs: 'latestv3.js' - } - }, - concat: { - coffee: { - src: [ - '', - '', - '', - '', - '', - '', - '', - '' - ], - dest: 'tmp/script.coffee' - }, - script: { - src: ['', '', 'tmp/script.js'], - dest: '' - }, - meta: { - src: '', - dest: '' - }, - latest: { - src: '', - dest: '' - } - }, - coffee: { - script: { - src: 'tmp/script.coffee', - dest: 'tmp/script.js' - } - }, - exec: { - commit: { - command: function(grunt) { - var name, release, version; - name = grunt.config(['pkg', 'name']).replace(/-/g, ' '); - version = grunt.config(['pkg', 'version']); - release = name + ' v' + version; - return [ - 'git checkout master', - 'git commit -am "Release ' + release + '."', - 'git tag -a ' + version + ' -m "' + release + '"', - 'git tag -af stable -m "' + release + '"' - ].join(' && '); - }, - stdout: true - }, - push: { - command: 'git push && git push --tags', - stdout: true - } - }, - watch: { - files: [ - 'grunt.js', - 'lib/**/*.coffee', - 'src/**/*.coffee', - 'src/**/*.js', - 'css/**/*.css', - 'img/*' - ], - tasks: 'default' - }, - clean: { - tmp:['tmp'] - }, - qunit: { - all: 'http://localhost:8000/test/index.html' - }, - server: { - port: 8000, - base: '.' - } - }); - - grunt.loadNpmTasks('grunt-bump'); - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-coffee'); - grunt.loadNpmTasks('grunt-exec'); - - grunt.registerTask('default', 'concat:coffee coffee:script concat:script clean'); - grunt.registerTask('release', 'concat:meta concat:latest default exec:commit exec:push'); - grunt.registerTask('patch', 'bump'); - grunt.registerTask('upgrade', 'bump:minor'); - grunt.registerTask('test', 'default server qunit'); - -}; diff --git a/latestv3.js b/latestv3.js deleted file mode 100644 index 490546351..000000000 --- a/latestv3.js +++ /dev/null @@ -1 +0,0 @@ -document.dispatchEvent(new CustomEvent("4chanXAlphaVersion",{detail:{v:"3.0.0"}})) diff --git a/package.json b/package.json index a8771b026..9039e307d 100644 --- a/package.json +++ b/package.json @@ -1,24 +1,34 @@ { - "name": "4chan-X-Alpha", + "name": "4chan-X", "version": "3.0.0", - "author": "Nicolas Stepien ", "description": "Cross-browser userscript for maximum lurking on 4chan.", - "scripts": { - "test": "grunt test" + "meta": { + "name": "4chan X Alpha", + "repo": "https://github.com/MayhemYDG/4chan-x/", + "page": "http://mayhemydg.github.com/4chan-x/", + "mainBranch": "v3", + "files": { + "metajs": "4chan_x.meta.js", + "userjs": "4chan_x.user.js", + "latestjs": "latestv3.js" + } + }, + "devDependencies": { + "grunt": "~0.4.0", + "grunt-bump": "~0.0.x", + "grunt-contrib-clean": "~0.4.0", + "grunt-contrib-coffee": "~0.4.0", + "grunt-contrib-concat": "~0.1.2", + "grunt-contrib-watch": "~0.2.0", + "grunt-exec": "~0.4.0" }, "repository": { "type": "git", - "url": "https://github.com/MayhemYDG/4chan-x.git" - }, - "devDependencies": { - "grunt": "0.3.x", - "grunt-bump": "0.0.x", - "grunt-contrib-clean": "0.3.x", - "grunt-contrib-coffee": "0.3.x", - "grunt-exec": "0.3.x", - "qunitjs": "1.x.x" + "url": "git://github.com/MayhemYDG/4chan-x.git" }, + "author": "Nicolas Stepien ", "license": "MIT", + "readmeFilename": "README.md", "engines": { "node": ">=0.8" } diff --git a/src/banner.js b/src/banner.js index 8e39fc643..f7d4ace23 100644 --- a/src/banner.js +++ b/src/banner.js @@ -1,5 +1,5 @@ -/* <%= meta.name %> - Version <%= pkg.version %> - <%= grunt.template.today('yyyy-mm-dd') %> - * http://mayhemydg.github.com/4chan-x/ +/* <%= meta.name %> - Version <%= version %> - <%= grunt.template.today('yyyy-mm-dd') %> + * <%= meta.page %> * * Copyright (c) 2009-2011 James Campos * Copyright (c) 2012-<%= grunt.template.today('yyyy') %> Nicolas Stepien diff --git a/src/features.coffee b/src/features.coffee index 7ca6ec6cf..9cb2f6bbb 100644 --- a/src/features.coffee +++ b/src/features.coffee @@ -2910,25 +2910,25 @@ Favicon = switch: -> switch Conf['favicon'] when 'ferongr' - Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadDead.gif", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadSFW.gif", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.gif", {encoding: "base64"}).toString("base64") %>' + Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadDead.gif", {encoding: "base64"}) %>' + Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadSFW.gif", {encoding: "base64"}) %>' + Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.gif", {encoding: "base64"}) %>' when 'xat-' - Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}).toString("base64") %>' + Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}) %>' when 'Mayhem' - Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}).toString("base64") %>' + Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>' when 'Original' - Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadDead.gif", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadSFW.gif", {encoding: "base64"}).toString("base64") %>' - Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadNSFW.gif", {encoding: "base64"}).toString("base64") %>' + Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadDead.gif", {encoding: "base64"}) %>' + Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadSFW.gif", {encoding: "base64"}) %>' + Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadNSFW.gif", {encoding: "base64"}) %>' Favicon.unread = if Favicon.SFW then Favicon.unreadSFW else Favicon.unreadNSFW - empty: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/empty.gif", {encoding: "base64"}).toString("base64") %>' - dead: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/dead.gif", {encoding: "base64"}).toString("base64") %>' + empty: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/empty.gif", {encoding: "base64"}) %>' + dead: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/dead.gif", {encoding: "base64"}) %>' ThreadStats = @@ -3032,7 +3032,7 @@ ThreadUpdater = http://freesound.org/people/pierrecartoons1979/sounds/90112/ cc-by-nc-3.0 ### - beep: 'data:audio/wav;base64,<%= grunt.file.read("audio/beep.wav", {encoding: "base64"}).toString("base64") %>' + beep: 'data:audio/wav;base64,<%= grunt.file.read("audio/beep.wav", {encoding: "base64"}) %>' cb: online: -> diff --git a/src/globals.coffee b/src/globals.coffee index 79a4c30aa..973ab5778 100644 --- a/src/globals.coffee +++ b/src/globals.coffee @@ -6,8 +6,8 @@ Conf = {} d = document doc = d.documentElement g = - VERSION: '<%= pkg.version %>' - NAMESPACE: "<%= pkg.name.replace(/-/g, '_') %>." + VERSION: '<%= version %>' + NAMESPACE: "<%= meta.name %>." boards: {} threads: {} posts: {} diff --git a/src/latest.js b/src/latest.js deleted file mode 100644 index 7f4c0af91..000000000 --- a/src/latest.js +++ /dev/null @@ -1 +0,0 @@ -document.dispatchEvent(new CustomEvent("<%= pkg.name.replace(/-/g, '') %>Version",{detail:{v:"<%= pkg.version %>"}})) diff --git a/src/metadata.js b/src/metadata.js index ceefa6fd1..82f1b8dfa 100644 --- a/src/metadata.js +++ b/src/metadata.js @@ -1,6 +1,6 @@ // ==UserScript== // @name <%= meta.name %> -// @version <%= pkg.version %> +// @version <%= version %> // @description Cross-browser userscript for maximum lurking on 4chan. // @copyright 2009-2011 James Campos // @copyright 2012-<%= grunt.template.today('yyyy') %> Nicolas Stepien @@ -15,7 +15,7 @@ // @grant GM_deleteValue // @grant GM_openInTab // @run-at document-start -// @updateURL <%= meta.repo %>raw/stable/<%= meta.files.metajs %> -// @downloadURL <%= meta.repo %>raw/stable/<%= meta.files.userjs %> -// @icon data:image/gif;base64,<%= grunt.file.read('img/icon.gif', {encoding: 'base64'}).toString('base64') %> +// @updateURL <%= meta.repo %>raw/<%= meta.mainBranch %>/<%= meta.files.metajs %> +// @downloadURL <%= meta.repo %>raw/<%= meta.mainBranch %>/<%= meta.files.userjs %> +// @icon data:image/gif;base64,<%= grunt.file.read('img/icon.gif', {encoding: 'base64'}) %> // ==/UserScript== diff --git a/test/index.html b/test/index.html deleted file mode 100644 index 0c7e5acb9..000000000 --- a/test/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - QUnit - - - -
- - - - -