mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-14 20:40:17 -05:00
Add Gruntfile
This commit is contained in:
parent
a21f8a8004
commit
ad18c1d5a5
7 changed files with 140 additions and 36 deletions
111
services/track-changes/Gruntfile.coffee
Normal file
111
services/track-changes/Gruntfile.coffee
Normal file
|
@ -0,0 +1,111 @@
|
|||
module.exports = (grunt) ->
|
||||
grunt.loadNpmTasks 'grunt-contrib-coffee'
|
||||
grunt.loadNpmTasks 'grunt-contrib-clean'
|
||||
grunt.loadNpmTasks 'grunt-mocha-test'
|
||||
grunt.loadNpmTasks 'grunt-available-tasks'
|
||||
grunt.loadNpmTasks 'grunt-execute'
|
||||
grunt.loadNpmTasks 'grunt-bunyan'
|
||||
|
||||
grunt.initConfig
|
||||
execute:
|
||||
app:
|
||||
src: "app.js"
|
||||
|
||||
bunyan:
|
||||
strict: false
|
||||
|
||||
coffee:
|
||||
app_dir:
|
||||
expand: true,
|
||||
flatten: false,
|
||||
cwd: 'app/coffee',
|
||||
src: ['**/*.coffee'],
|
||||
dest: 'app/js/',
|
||||
ext: '.js'
|
||||
|
||||
app:
|
||||
src: 'app.coffee'
|
||||
dest: 'app.js'
|
||||
|
||||
acceptance_tests:
|
||||
expand: true,
|
||||
flatten: false,
|
||||
cwd: 'test/acceptance/coffee',
|
||||
src: ['**/*.coffee'],
|
||||
dest: 'test/acceptance/js/',
|
||||
ext: '.js'
|
||||
|
||||
unit_tests:
|
||||
expand: true,
|
||||
flatten: false,
|
||||
cwd: 'test/unit/coffee',
|
||||
src: ['**/*.coffee'],
|
||||
dest: 'test/unit/js/',
|
||||
ext: '.js'
|
||||
|
||||
clean:
|
||||
app: ["app/js"]
|
||||
acceptance_tests: ["test/acceptance/js"]
|
||||
|
||||
mochaTest:
|
||||
unit:
|
||||
src: ['test/unit/js/**/*.js']
|
||||
options:
|
||||
reporter: grunt.option('reporter') or 'spec'
|
||||
grep: grunt.option("grep")
|
||||
acceptance:
|
||||
src: ['test/acceptance/js/**/*.js']
|
||||
options:
|
||||
reporter: grunt.option('reporter') or 'spec'
|
||||
grep: grunt.option("grep")
|
||||
timeout: 10000
|
||||
|
||||
availabletasks:
|
||||
tasks:
|
||||
options:
|
||||
filter: 'exclude',
|
||||
tasks: [
|
||||
'coffee'
|
||||
'clean'
|
||||
'mochaTest'
|
||||
'availabletasks'
|
||||
'execute'
|
||||
'bunyan'
|
||||
]
|
||||
groups:
|
||||
"Compile tasks": [
|
||||
"compile:server"
|
||||
"compile:tests"
|
||||
"compile"
|
||||
"compile:unit_tests"
|
||||
"compile:acceptance_tests"
|
||||
"install"
|
||||
]
|
||||
"Test tasks": [
|
||||
"test:unit"
|
||||
"test:acceptance"
|
||||
]
|
||||
"Run tasks": [
|
||||
"run"
|
||||
"default"
|
||||
]
|
||||
"Misc": [
|
||||
"help"
|
||||
]
|
||||
|
||||
grunt.registerTask 'help', 'Display this help list', 'availabletasks'
|
||||
|
||||
grunt.registerTask 'compile:server', 'Compile the server side coffee script', ['clean:app', 'coffee:app', 'coffee:app_dir']
|
||||
grunt.registerTask 'compile:unit_tests', 'Compile the unit tests', ['coffee:unit_tests']
|
||||
grunt.registerTask 'compile:acceptance_tests', 'Compile the acceptance tests', ['clean:acceptance_tests', 'coffee:acceptance_tests']
|
||||
grunt.registerTask 'compile:tests', 'Compile all the tests', ['compile:acceptance_tests', 'compile:unit_tests']
|
||||
grunt.registerTask 'compile', 'Compiles everything need to run track-changes-sharelatex', ['compile:server']
|
||||
|
||||
grunt.registerTask 'install', "Compile everything when installing as an npm module", ['compile']
|
||||
|
||||
grunt.registerTask 'test:unit', 'Run the unit tests (use --grep=<regex> for individual tests)', ['compile:server', 'compile:unit_tests', 'mochaTest:unit']
|
||||
grunt.registerTask 'test:acceptance', 'Run the acceptance tests (use --grep=<regex> for individual tests)', ['compile:acceptance_tests', 'mochaTest:acceptance']
|
||||
|
||||
grunt.registerTask 'run', "Compile and run the track-changes-sharelatex server", ['compile', 'bunyan', 'execute']
|
||||
grunt.registerTask 'default', 'run'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
Settings = require "settings-sharelatex"
|
||||
logger = require "logger-sharelatex"
|
||||
logger.initialize("history")
|
||||
logger.initialize("track-changes")
|
||||
|
||||
HttpController = require "./app/js/HttpController"
|
||||
express = require "express"
|
||||
|
@ -14,11 +14,11 @@ app.use (error, req, res, next) ->
|
|||
logger.error err: error, "an internal error occured"
|
||||
res.send 500
|
||||
|
||||
port = Settings.internal?.history?.port or 3014
|
||||
host = Settings.internal?.history?.host or "localhost"
|
||||
port = Settings.internal?.trackchanges?.port or 3014
|
||||
host = Settings.internal?.trackchanges?.host or "localhost"
|
||||
app.listen port, host, (error) ->
|
||||
if error?
|
||||
logger.error err: error, "could not start history server"
|
||||
logger.error err: error, "could not start track-changes server"
|
||||
else
|
||||
logger.log "history api listening on http://#{host}:#{port}"
|
||||
logger.log "track changes api listening on http://#{host}:#{port}"
|
||||
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
{db, ObjectId} = require "./app/coffee/mongojs"
|
||||
ConversionManager = require "./app/coffee/ConversionManager"
|
||||
async = require "async"
|
||||
|
||||
db.docOps.find { }, { doc_id: true }, (error, docs) ->
|
||||
throw error if error?
|
||||
jobs = []
|
||||
for doc in docs
|
||||
do (doc) ->
|
||||
jobs.push (callback) ->
|
||||
doc_id = doc.doc_id.toString()
|
||||
ConversionManager.convertOldRawUpdates doc_id, (error) ->
|
||||
return callback(error) if error?
|
||||
console.log doc_id, "DONE"
|
||||
callback()
|
||||
async.series jobs, (error) ->
|
||||
throw error if error?
|
||||
process.exit()
|
||||
|
||||
|
7
services/track-changes/config/settings.development.coffee
Executable file
7
services/track-changes/config/settings.development.coffee
Executable file
|
@ -0,0 +1,7 @@
|
|||
module.exports =
|
||||
mongo:
|
||||
url: 'mongodb://127.0.0.1/sharelatex'
|
||||
internal:
|
||||
trackchanges:
|
||||
port: 3014
|
||||
host: "localhost"
|
|
@ -1,4 +0,0 @@
|
|||
module.exports =
|
||||
mongo:
|
||||
url: 'mongodb://127.0.0.1/sharelatexTesting'
|
||||
port: 3014
|
|
@ -2,15 +2,25 @@
|
|||
"name": "history-sharelatex",
|
||||
"version": "0.0.1",
|
||||
"dependencies": {
|
||||
"async": "",
|
||||
"chai": "",
|
||||
"async": "~0.2.10",
|
||||
"express": "3.3.5",
|
||||
"sandboxed-module": "",
|
||||
"sinon": "",
|
||||
"mongojs": "~0.9.11",
|
||||
"settings": "git+ssh://git@bitbucket.org:sharelatex/settings-sharelatex.git#master",
|
||||
"logger": "git+ssh://git@bitbucket.org:sharelatex/logger-sharelatex.git#bunyan",
|
||||
"settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#master",
|
||||
"logger-sharelatex": "git+https://github.com/sharelatex/logger-sharelatex.git#master",
|
||||
"request": "~2.33.0",
|
||||
"redis": "~0.10.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "~1.9.0",
|
||||
"sinon": "~1.8.2",
|
||||
"sandboxed-module": "~0.3.0",
|
||||
"grunt-execute": "~0.1.5",
|
||||
"grunt-contrib-clean": "~0.5.0",
|
||||
"grunt-mocha-test": "~0.9.3",
|
||||
"grunt": "~0.4.2",
|
||||
"grunt-available-tasks": "~0.4.2",
|
||||
"grunt-contrib-coffee": "~0.10.1",
|
||||
"bunyan": "~0.22.1",
|
||||
"grunt-bunyan": "~0.5.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ rclient = require("redis").createClient() # Only works locally for now
|
|||
|
||||
flushAndGetCompressedUpdates = (doc_id, callback = (error, updates) ->) ->
|
||||
request.post {
|
||||
url: "http://localhost:#{Settings.port}/doc/#{doc_id}/flush"
|
||||
url: "http://localhost:3014/doc/#{doc_id}/flush"
|
||||
}, (error, response, body) =>
|
||||
response.statusCode.should.equal 204
|
||||
db.docHistory
|
||||
|
|
Loading…
Reference in a new issue