mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
the fs-extra method has a HUGE overhead of JS code and also syscalls for no particular benefit in this case: just copy the tiny.pdf file. Here is an overview of the major operations: paths are relative to https://github.com/jprichardson/node-fs-extra/blob/1.0.0 We start in /lib/copy/copy.js - sys: check that the source file exists - sys: check that the source file has an existing parent directory?! Continue in /lib/copy/ncp.js - sys: more stat calls on both source and dest to determine permissions - read/write streams to pipe the file content through the process - sys: chmod on the destination to match the source permissions What we actually need is a call to the binding and let node/the os figure out the best way to copy the contents. Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
69 lines
2.4 KiB
JSON
69 lines
2.4 KiB
JSON
{
|
|
"name": "filestore-sharelatex",
|
|
"version": "0.1.4",
|
|
"description": "An API for CRUD operations on binary files stored in S3",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/sharelatex/filestore-sharelatex.git"
|
|
},
|
|
"scripts": {
|
|
"test:acceptance:run": "mocha --recursive --reporter spec --timeout 15000 $@ test/acceptance/js",
|
|
"test:acceptance": "npm run test:acceptance:_run -- --grep=$MOCHA_GREP",
|
|
"test:unit:run": "mocha --recursive --reporter spec $@ test/unit/js",
|
|
"test:unit": "npm run test:unit:_run -- --grep=$MOCHA_GREP",
|
|
"start": "node $NODE_APP_OPTIONS app.js",
|
|
"nodemon": "nodemon --config nodemon.json",
|
|
"lint": "node_modules/.bin/eslint .",
|
|
"format": "node_modules/.bin/prettier-eslint '**/*.js' --list-different",
|
|
"format:fix": "node_modules/.bin/prettier-eslint '**/*.js' --write",
|
|
"test:acceptance:_run": "mocha --recursive --reporter spec --timeout 15000 --exit $@ test/acceptance/js",
|
|
"test:unit:_run": "mocha --recursive --reporter spec $@ test/unit/js"
|
|
},
|
|
"dependencies": {
|
|
"@overleaf/o-error": "^2.1.0",
|
|
"async": "~0.2.10",
|
|
"aws-sdk": "^2.628.0",
|
|
"body-parser": "^1.2.0",
|
|
"express": "^4.2.0",
|
|
"glob": "^7.1.6",
|
|
"heapdump": "^0.3.2",
|
|
"logger-sharelatex": "^1.7.0",
|
|
"metrics-sharelatex": "^2.2.0",
|
|
"mocha": "5.2.0",
|
|
"node-uuid": "~1.4.1",
|
|
"pngcrush": "0.0.3",
|
|
"range-parser": "^1.0.2",
|
|
"request": "^2.88.0",
|
|
"request-promise-native": "^1.0.8",
|
|
"rimraf": "2.2.8",
|
|
"settings-sharelatex": "^1.1.0",
|
|
"stream-buffers": "~0.2.5",
|
|
"stream-meter": "^1.0.4",
|
|
"underscore": "~1.5.2"
|
|
},
|
|
"devDependencies": {
|
|
"babel-eslint": "^10.0.3",
|
|
"bunyan": "^1.3.5",
|
|
"chai": "4.2.0",
|
|
"chai-as-promised": "^7.1.1",
|
|
"disrequire": "^1.1.0",
|
|
"eslint": "^6.4.0",
|
|
"eslint-config-prettier": "^6.7.0",
|
|
"eslint-config-standard": "^14.1.0",
|
|
"eslint-plugin-chai-expect": "^2.1.0",
|
|
"eslint-plugin-chai-friendly": "^0.5.0",
|
|
"eslint-plugin-import": "^2.19.1",
|
|
"eslint-plugin-mocha": "^6.2.2",
|
|
"eslint-plugin-node": "^10.0.0",
|
|
"eslint-plugin-prettier": "^3.1.2",
|
|
"eslint-plugin-promise": "^4.2.1",
|
|
"eslint-plugin-standard": "^4.0.1",
|
|
"prettier-eslint": "^9.0.1",
|
|
"prettier-eslint-cli": "^5.0.0",
|
|
"sandboxed-module": "2.0.3",
|
|
"sinon": "7.1.1",
|
|
"sinon-chai": "^3.3.0",
|
|
"streamifier": "^0.1.1"
|
|
}
|
|
}
|