From 0109a87e55aae132411ca017e4aa6b00a6aa773e Mon Sep 17 00:00:00 2001 From: calzoneman Date: Sun, 20 Sep 2015 22:06:53 -0700 Subject: [PATCH] package: build with babel for ES2015 support * Rename lib/ -> src/ * Add `postinstall` npm target for compiling src files to lib * Add `build-watch` npm target for development with babel --watch * Add `lib/` to .gitignore * Add `source-map-support` module for babel-generated sourcemaps --- .gitignore | 1 + index.js | 1 + package.json | 6 +++++- {lib => src}/account.js | 0 {lib => src}/acp.js | 0 {lib => src}/asyncqueue.js | 0 {lib => src}/bgtask.js | 0 {lib => src}/channel/accesscontrol.js | 0 {lib => src}/channel/channel.js | 0 {lib => src}/channel/chat.js | 0 {lib => src}/channel/customization.js | 0 {lib => src}/channel/drink.js | 0 {lib => src}/channel/emotes.js | 0 {lib => src}/channel/filters.js | 0 {lib => src}/channel/kickban.js | 0 {lib => src}/channel/library.js | 0 {lib => src}/channel/mediarefresher.js | 0 {lib => src}/channel/module.js | 0 {lib => src}/channel/opts.js | 0 {lib => src}/channel/permissions.js | 0 {lib => src}/channel/playlist.js | 0 {lib => src}/channel/poll.js | 0 {lib => src}/channel/ranks.js | 0 {lib => src}/channel/voteskip.js | 0 {lib => src}/config.js | 0 {lib => src}/counters.js | 0 {lib => src}/customembed.js | 0 {lib => src}/database.js | 0 {lib => src}/database/accounts.js | 0 {lib => src}/database/channels.js | 0 {lib => src}/database/tables.js | 0 {lib => src}/database/update.js | 0 {lib => src}/emitter.js | 0 {lib => src}/ffmpeg.js | 0 {lib => src}/flags.js | 0 {lib => src}/get-info.js | 0 {lib => src}/google2vtt.js | 0 {lib => src}/io/ioserver.js | 0 {lib => src}/logger.js | 0 {lib => src}/media.js | 0 {lib => src}/poll.js | 0 {lib => src}/server.js | 0 {lib => src}/session.js | 0 {lib => src}/setuid.js | 0 {lib => src}/tor.js | 0 {lib => src}/ullist.js | 0 {lib => src}/user.js | 0 {lib => src}/utilities.js | 0 {lib => src}/web/account.js | 0 {lib => src}/web/acp.js | 0 {lib => src}/web/auth.js | 0 {lib => src}/web/csrf.js | 0 {lib => src}/web/jade.js | 0 {lib => src}/web/webserver.js | 4 ++-- {lib => src}/xss.js | 0 55 files changed, 9 insertions(+), 3 deletions(-) rename {lib => src}/account.js (100%) rename {lib => src}/acp.js (100%) rename {lib => src}/asyncqueue.js (100%) rename {lib => src}/bgtask.js (100%) rename {lib => src}/channel/accesscontrol.js (100%) rename {lib => src}/channel/channel.js (100%) rename {lib => src}/channel/chat.js (100%) rename {lib => src}/channel/customization.js (100%) rename {lib => src}/channel/drink.js (100%) rename {lib => src}/channel/emotes.js (100%) rename {lib => src}/channel/filters.js (100%) rename {lib => src}/channel/kickban.js (100%) rename {lib => src}/channel/library.js (100%) rename {lib => src}/channel/mediarefresher.js (100%) rename {lib => src}/channel/module.js (100%) rename {lib => src}/channel/opts.js (100%) rename {lib => src}/channel/permissions.js (100%) rename {lib => src}/channel/playlist.js (100%) rename {lib => src}/channel/poll.js (100%) rename {lib => src}/channel/ranks.js (100%) rename {lib => src}/channel/voteskip.js (100%) rename {lib => src}/config.js (100%) rename {lib => src}/counters.js (100%) rename {lib => src}/customembed.js (100%) rename {lib => src}/database.js (100%) rename {lib => src}/database/accounts.js (100%) rename {lib => src}/database/channels.js (100%) rename {lib => src}/database/tables.js (100%) rename {lib => src}/database/update.js (100%) rename {lib => src}/emitter.js (100%) rename {lib => src}/ffmpeg.js (100%) rename {lib => src}/flags.js (100%) rename {lib => src}/get-info.js (100%) rename {lib => src}/google2vtt.js (100%) rename {lib => src}/io/ioserver.js (100%) rename {lib => src}/logger.js (100%) rename {lib => src}/media.js (100%) rename {lib => src}/poll.js (100%) rename {lib => src}/server.js (100%) rename {lib => src}/session.js (100%) rename {lib => src}/setuid.js (100%) rename {lib => src}/tor.js (100%) rename {lib => src}/ullist.js (100%) rename {lib => src}/user.js (100%) rename {lib => src}/utilities.js (100%) rename {lib => src}/web/account.js (100%) rename {lib => src}/web/acp.js (100%) rename {lib => src}/web/auth.js (100%) rename {lib => src}/web/csrf.js (100%) rename {lib => src}/web/jade.js (100%) rename {lib => src}/web/webserver.js (98%) rename {lib => src}/xss.js (100%) diff --git a/.gitignore b/.gitignore index 6bf31e92..91c1419f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ node_modules torlist www/cache google-drive-subtitles +lib/ diff --git a/index.js b/index.js index 86000d68..a8430012 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,7 @@ var Server = require("./lib/server"); var Config = require("./lib/config"); var Logger = require("./lib/logger"); +require("source-map-support").install(); Config.load("config.yaml"); var sv = Server.init(); diff --git a/package.json b/package.json index 92c21a58..5aa712e4 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,9 @@ "repository": { "url": "http://github.com/calzoneman/sync" }, - "license":"MIT", + "license": "MIT", "dependencies": { + "babel": "^5.8.23", "bcrypt": "^0.8.5", "body-parser": "^1.14.0", "cheerio": "^0.19.0", @@ -30,10 +31,13 @@ "sanitize-html": "git://github.com/calzoneman/sanitize-html", "serve-static": "^1.10.0", "socket.io": "^1.3.7", + "source-map-support": "^0.3.2", "status-message-polyfill": "calzoneman/status-message-polyfill", "yamljs": "^0.1.6" }, "scripts": { + "postinstall": "babel --source-maps --out-dir lib/ src/", + "build-watch": "babel --watch --source-maps --out-dir lib/ src/", "build-player": "$npm_node_execpath build-player.js" }, "devDependencies": { diff --git a/lib/account.js b/src/account.js similarity index 100% rename from lib/account.js rename to src/account.js diff --git a/lib/acp.js b/src/acp.js similarity index 100% rename from lib/acp.js rename to src/acp.js diff --git a/lib/asyncqueue.js b/src/asyncqueue.js similarity index 100% rename from lib/asyncqueue.js rename to src/asyncqueue.js diff --git a/lib/bgtask.js b/src/bgtask.js similarity index 100% rename from lib/bgtask.js rename to src/bgtask.js diff --git a/lib/channel/accesscontrol.js b/src/channel/accesscontrol.js similarity index 100% rename from lib/channel/accesscontrol.js rename to src/channel/accesscontrol.js diff --git a/lib/channel/channel.js b/src/channel/channel.js similarity index 100% rename from lib/channel/channel.js rename to src/channel/channel.js diff --git a/lib/channel/chat.js b/src/channel/chat.js similarity index 100% rename from lib/channel/chat.js rename to src/channel/chat.js diff --git a/lib/channel/customization.js b/src/channel/customization.js similarity index 100% rename from lib/channel/customization.js rename to src/channel/customization.js diff --git a/lib/channel/drink.js b/src/channel/drink.js similarity index 100% rename from lib/channel/drink.js rename to src/channel/drink.js diff --git a/lib/channel/emotes.js b/src/channel/emotes.js similarity index 100% rename from lib/channel/emotes.js rename to src/channel/emotes.js diff --git a/lib/channel/filters.js b/src/channel/filters.js similarity index 100% rename from lib/channel/filters.js rename to src/channel/filters.js diff --git a/lib/channel/kickban.js b/src/channel/kickban.js similarity index 100% rename from lib/channel/kickban.js rename to src/channel/kickban.js diff --git a/lib/channel/library.js b/src/channel/library.js similarity index 100% rename from lib/channel/library.js rename to src/channel/library.js diff --git a/lib/channel/mediarefresher.js b/src/channel/mediarefresher.js similarity index 100% rename from lib/channel/mediarefresher.js rename to src/channel/mediarefresher.js diff --git a/lib/channel/module.js b/src/channel/module.js similarity index 100% rename from lib/channel/module.js rename to src/channel/module.js diff --git a/lib/channel/opts.js b/src/channel/opts.js similarity index 100% rename from lib/channel/opts.js rename to src/channel/opts.js diff --git a/lib/channel/permissions.js b/src/channel/permissions.js similarity index 100% rename from lib/channel/permissions.js rename to src/channel/permissions.js diff --git a/lib/channel/playlist.js b/src/channel/playlist.js similarity index 100% rename from lib/channel/playlist.js rename to src/channel/playlist.js diff --git a/lib/channel/poll.js b/src/channel/poll.js similarity index 100% rename from lib/channel/poll.js rename to src/channel/poll.js diff --git a/lib/channel/ranks.js b/src/channel/ranks.js similarity index 100% rename from lib/channel/ranks.js rename to src/channel/ranks.js diff --git a/lib/channel/voteskip.js b/src/channel/voteskip.js similarity index 100% rename from lib/channel/voteskip.js rename to src/channel/voteskip.js diff --git a/lib/config.js b/src/config.js similarity index 100% rename from lib/config.js rename to src/config.js diff --git a/lib/counters.js b/src/counters.js similarity index 100% rename from lib/counters.js rename to src/counters.js diff --git a/lib/customembed.js b/src/customembed.js similarity index 100% rename from lib/customembed.js rename to src/customembed.js diff --git a/lib/database.js b/src/database.js similarity index 100% rename from lib/database.js rename to src/database.js diff --git a/lib/database/accounts.js b/src/database/accounts.js similarity index 100% rename from lib/database/accounts.js rename to src/database/accounts.js diff --git a/lib/database/channels.js b/src/database/channels.js similarity index 100% rename from lib/database/channels.js rename to src/database/channels.js diff --git a/lib/database/tables.js b/src/database/tables.js similarity index 100% rename from lib/database/tables.js rename to src/database/tables.js diff --git a/lib/database/update.js b/src/database/update.js similarity index 100% rename from lib/database/update.js rename to src/database/update.js diff --git a/lib/emitter.js b/src/emitter.js similarity index 100% rename from lib/emitter.js rename to src/emitter.js diff --git a/lib/ffmpeg.js b/src/ffmpeg.js similarity index 100% rename from lib/ffmpeg.js rename to src/ffmpeg.js diff --git a/lib/flags.js b/src/flags.js similarity index 100% rename from lib/flags.js rename to src/flags.js diff --git a/lib/get-info.js b/src/get-info.js similarity index 100% rename from lib/get-info.js rename to src/get-info.js diff --git a/lib/google2vtt.js b/src/google2vtt.js similarity index 100% rename from lib/google2vtt.js rename to src/google2vtt.js diff --git a/lib/io/ioserver.js b/src/io/ioserver.js similarity index 100% rename from lib/io/ioserver.js rename to src/io/ioserver.js diff --git a/lib/logger.js b/src/logger.js similarity index 100% rename from lib/logger.js rename to src/logger.js diff --git a/lib/media.js b/src/media.js similarity index 100% rename from lib/media.js rename to src/media.js diff --git a/lib/poll.js b/src/poll.js similarity index 100% rename from lib/poll.js rename to src/poll.js diff --git a/lib/server.js b/src/server.js similarity index 100% rename from lib/server.js rename to src/server.js diff --git a/lib/session.js b/src/session.js similarity index 100% rename from lib/session.js rename to src/session.js diff --git a/lib/setuid.js b/src/setuid.js similarity index 100% rename from lib/setuid.js rename to src/setuid.js diff --git a/lib/tor.js b/src/tor.js similarity index 100% rename from lib/tor.js rename to src/tor.js diff --git a/lib/ullist.js b/src/ullist.js similarity index 100% rename from lib/ullist.js rename to src/ullist.js diff --git a/lib/user.js b/src/user.js similarity index 100% rename from lib/user.js rename to src/user.js diff --git a/lib/utilities.js b/src/utilities.js similarity index 100% rename from lib/utilities.js rename to src/utilities.js diff --git a/lib/web/account.js b/src/web/account.js similarity index 100% rename from lib/web/account.js rename to src/web/account.js diff --git a/lib/web/acp.js b/src/web/acp.js similarity index 100% rename from lib/web/acp.js rename to src/web/acp.js diff --git a/lib/web/auth.js b/src/web/auth.js similarity index 100% rename from lib/web/auth.js rename to src/web/auth.js diff --git a/lib/web/csrf.js b/src/web/csrf.js similarity index 100% rename from lib/web/csrf.js rename to src/web/csrf.js diff --git a/lib/web/jade.js b/src/web/jade.js similarity index 100% rename from lib/web/jade.js rename to src/web/jade.js diff --git a/lib/web/webserver.js b/src/web/webserver.js similarity index 98% rename from lib/web/webserver.js rename to src/web/webserver.js index d81c6238..043c1fd2 100644 --- a/lib/web/webserver.js +++ b/src/web/webserver.js @@ -11,7 +11,7 @@ var Config = require("../config"); var db = require("../database"); var bodyParser = require("body-parser"); var cookieParser = require("cookie-parser"); -var static = require("serve-static"); +var serveStatic = require("serve-static"); var morgan = require("morgan"); var session = require("../session"); var csrf = require("./csrf"); @@ -244,7 +244,7 @@ module.exports = { require("./account").init(app); require("./acp").init(app); require("../google2vtt").attach(app); - app.use(static(path.join(__dirname, "..", "..", "www"), { + app.use(serveStatic(path.join(__dirname, "..", "..", "www"), { maxAge: Config.get("http.max-age") || Config.get("http.cache-ttl") })); app.use(function (err, req, res, next) { diff --git a/lib/xss.js b/src/xss.js similarity index 100% rename from lib/xss.js rename to src/xss.js