{log} = console {exec} = require 'child_process' fs = require 'fs' VERSION = '2.22.2' HEADER = """ // ==UserScript== // @name 4chan x // @version #{VERSION} // @namespace aeosynth // @description Adds various features. // @copyright 2009-2011 James Campos // @license MIT; http://en.wikipedia.org/wiki/Mit_license // @include http://boards.4chan.org/* // @include http://sys.4chan.org/* // @run-at document-start // @icon https://raw.github.com/mayhemydg/4chan-x/gh-pages/favicon.png // ==/UserScript== /* LICENSE * * Copyright (c) 2009-2011 James Campos * http://mayhemydg.github.com/4chan-x/ * 4chan x #{VERSION} * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * HACKING * * 4chan x is written in CoffeeScript[1], and developed on github[2]. * * [1]: http://jashkenas.github.com/coffee-script/ * [2]: http://github.com/mayhemydg/4chan-x * * CONTRIBUTORS * * Shou- - pentadactyl fixes * ferongr - new favicons * xat- - new favicons * Zixaphir - fix qr textarea - captcha-image gap * Ongpot - sfw favicon * thisisanon - nsfw + 404 favicons * Anonymous - empty favicon * Seiba - chrome quick reply focusing * herpaderpderp - recaptcha fixes * wakimoko - recaptcha tab order http://userscripts.org/scripts/show/82657 * * All the people who've taken the time to write bug reports. * * Thank you. */ """ INFILE = 'script.coffee' OUTFILE = '4chan_x.user.js' build = -> exec 'coffee --print script.coffee', (err, stdout, stderr) -> throw err if err fs.writeFile OUTFILE, HEADER + stdout, (err) -> throw err if err task 'build', -> build() task 'dev', -> build() fs.watchFile INFILE, interval: 250, (curr, prev) -> if curr.mtime > prev.mtime build()