mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
bb8cb2593d
Summary: * Moves essential plugins to grist-core, so that basic imports (e.g. csv) work. * Adds support for a `GRIST_SANDBOX_FLAVOR` flag that can systematically override how the data engine is run. - `GRIST_SANDBOX_FLAVOR=pynbox` is "classic" nacl-based sandbox. - `GRIST_SANDBOX_FLAVOR=docker` runs engines in individual docker containers. It requires an image specified in `sandbox/docker` (alternative images can be named with `GRIST_SANDBOX` flag - need to contain python and engine requirements). It is a simple reference implementation for sandboxing. - `GRIST_SANDBOX_FLAVOR=unsandboxed` runs whatever local version of python is specified by a `GRIST_SANDBOX` flag directly, with no sandboxing. Engine requirements must be installed, so an absolute path to a python executable in a virtualenv is easiest to manage. - `GRIST_SANDBOX_FLAVOR=gvisor` runs the data engine via gvisor's runsc. Experimental, with implementation not included in grist-core. Since gvisor runs on Linux only, this flavor supports wrapping the sandboxes in a single shared docker container. * Tweaks some recent express query parameter code to work in grist-core, which has a slightly different version of express (smoke test doesn't catch this since in Jenkins core is built within a workspace that has node_modules, and wires get crossed - in a dev environment the problem on master can be seen by doing `buildtools/build_core.sh /tmp/any_path_outside_grist`). The new sandbox options do not have tests yet, nor does this they change the behavior of grist servers today. They are there to clean up and consolidate a collection of patches I've been using that were getting cumbersome, and make it easier to run experiments. I haven't looked closely at imports beyond core. Test Plan: tested manually against regular grist and grist-core, including imports Reviewers: alexmojaki, dsagal Reviewed By: alexmojaki Differential Revision: https://phab.getgrist.com/D2942
129 lines
4.1 KiB
JSON
129 lines
4.1 KiB
JSON
{
|
|
"name": "grist-core",
|
|
"version": "0.7.2",
|
|
"license": "Apache-2.0",
|
|
"description": "Grist is the evolution of spreadsheets",
|
|
"homepage": "https://github.com/gristlabs/grist-core",
|
|
"repository": "git://github.com/gristlabs/grist-core.git",
|
|
"scripts": {
|
|
"start": "tsc --build -w --preserveWatchOutput & catw app/client/*.css app/client/*/*.css -o static/bundle.css -v & webpack --config buildtools/webpack.config.js --mode development --watch --hide-modules & NODE_PATH=_build:_build/stubs nodemon -w _build/app/server -w _build/app/common _build/stubs/app/server/server.js & wait",
|
|
"install:python": "buildtools/prepare_python.sh",
|
|
"build:prod": "tsc --build && webpack --config buildtools/webpack.config.js --mode production && cat app/client/*.css app/client/*/*.css > static/bundle.css",
|
|
"start:prod": "NODE_PATH=_build:_build/stubs node _build/stubs/app/server/server.js",
|
|
"test": "NODE_PATH=_build:_build/stubs mocha _build/test/nbrowser/Smoke.js"
|
|
},
|
|
"keywords": [
|
|
"grist",
|
|
"spreadsheet",
|
|
"database"
|
|
],
|
|
"author": {
|
|
"name": "Grist Labs Inc.",
|
|
"email": "info@getgrist.com"
|
|
},
|
|
"private": false,
|
|
"devDependencies": {
|
|
"@types/backbone": "1.3.43",
|
|
"@types/chai": "4.1.7",
|
|
"@types/chai-as-promised": "7.1.0",
|
|
"@types/content-disposition": "0.5.2",
|
|
"@types/diff-match-patch": "1.0.32",
|
|
"@types/double-ended-queue": "2.1.0",
|
|
"@types/express": "4.16.0",
|
|
"@types/form-data": "2.2.1",
|
|
"@types/fs-extra": "5.0.4",
|
|
"@types/image-size": "0.0.29",
|
|
"@types/js-yaml": "3.11.2",
|
|
"@types/lodash": "4.14.117",
|
|
"@types/mime-types": "2.1.0",
|
|
"@types/mocha": "5.2.5",
|
|
"@types/moment-timezone": "0.5.9",
|
|
"@types/node": "^10",
|
|
"@types/node-fetch": "2.1.2",
|
|
"@types/numeral": "0.0.25",
|
|
"@types/pidusage": "2.0.1",
|
|
"@types/plotly.js": "1.44.15",
|
|
"@types/redlock": "3.0.2",
|
|
"@types/selenium-webdriver": "4.0.0",
|
|
"@types/sqlite3": "3.1.6",
|
|
"@types/tmp": "0.0.33",
|
|
"@types/uuid": "3.4.4",
|
|
"@types/which": "2.0.1",
|
|
"catw": "1.0.1",
|
|
"chai": "4.2.0",
|
|
"chai-as-promised": "7.1.1",
|
|
"mocha": "5.2.0",
|
|
"mocha-webdriver": "0.2.9",
|
|
"moment-locales-webpack-plugin": "^1.2.0",
|
|
"nodemon": "^2.0.4",
|
|
"selenium-webdriver": "3.6.0",
|
|
"source-map-loader": "^0.2.4",
|
|
"stats-webpack-plugin": "^0.7.0",
|
|
"tmp-promise": "1.0.5",
|
|
"typescript": "3.9.3",
|
|
"webpack": "4.41.0",
|
|
"webpack-cli": "3.3.2",
|
|
"why-is-node-running": "2.0.3"
|
|
},
|
|
"dependencies": {
|
|
"@googleapis/drive": "0.3.1",
|
|
"@googleapis/oauth2": "0.2.0",
|
|
"@gristlabs/connect-sqlite3": "0.9.11-grist.1",
|
|
"@gristlabs/express-session": "1.17.0",
|
|
"@gristlabs/pidusage": "2.0.17",
|
|
"@gristlabs/sqlite3": "4.1.1-grist.1",
|
|
"@popperjs/core": "2.3.3",
|
|
"async-mutex": "0.2.4",
|
|
"axios": "0.18.0",
|
|
"backbone": "1.3.3",
|
|
"bootstrap": "3.3.5",
|
|
"bootstrap-datepicker": "1.9.0",
|
|
"bowser": "2.7.0",
|
|
"brace": "0.11.1",
|
|
"collect-js-deps": "^0.1.1",
|
|
"components-jqueryui": "1.12.1",
|
|
"cookie-parser": "1.4.3",
|
|
"csv": "4.0.0",
|
|
"diff-match-patch": "1.0.5",
|
|
"double-ended-queue": "2.1.0-0",
|
|
"electron": "3.0.7",
|
|
"exceljs": "4.2.1",
|
|
"express": "4.16.4",
|
|
"file-type": "14.1.4",
|
|
"fs-extra": "7.0.0",
|
|
"grain-rpc": "0.1.6",
|
|
"grainjs": "1.0.1",
|
|
"highlight.js": "9.13.1",
|
|
"i18n-iso-countries": "6.1.0",
|
|
"image-size": "0.6.3",
|
|
"jquery": "2.2.1",
|
|
"js-yaml": "3.12.0",
|
|
"knockout": "3.5.0",
|
|
"lodash": "4.17.15",
|
|
"moment": "2.22.2",
|
|
"moment-timezone": "0.5.21",
|
|
"morgan": "1.9.1",
|
|
"mousetrap": "1.6.2",
|
|
"multiparty": "4.2.2",
|
|
"node-fetch": "2.2.0",
|
|
"numeral": "2.0.6",
|
|
"plotly.js-basic-dist": "1.51.1",
|
|
"popper-max-size-modifier": "0.2.0",
|
|
"popweasel": "0.1.18",
|
|
"randomcolor": "0.5.3",
|
|
"redis": "2.8.0",
|
|
"redlock": "3.1.2",
|
|
"short-uuid": "3.1.1",
|
|
"tmp": "0.0.33",
|
|
"ts-interface-checker": "0.1.6",
|
|
"typeorm": "0.2.18",
|
|
"uuid": "3.3.2",
|
|
"winston": "2.4.5",
|
|
"ws": "6.1.0"
|
|
},
|
|
"resolutions": {
|
|
"jquery": "2.2.1",
|
|
"ts-interface-checker": "0.1.6"
|
|
}
|
|
}
|