mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 02:00:43 +00:00
Stop baking the toolchain and dependencies into the build image. Instead, run the install step each time, but use volume mounts or CircleCI caching to keep the happy path fast. Previously, some parts of the client (UI) directory were baked into the build image, and some parts were mounted or copied into the build environment. As a result, files baked into the build image require a two-step update for changes to take effect in CI. Now, for dockerised builds, we pre-install very little into the build image and mount the whole directory into the build environment. However, we do overlay a volume on the node_modules folder to allow the standard build toolchain to be separate from the host build toolchain. Non-dockerised builds (e.g. CI) are now more similar to the dockerised versions.
135 lines
4.2 KiB
JSON
135 lines
4.2 KiB
JSON
{
|
|
"name": "weave-scope",
|
|
"version": "0.0.0",
|
|
"description": "SPA JS app for Weave Scope visualising the application network.",
|
|
"repository": "weaveworks/scope",
|
|
"license": "Apache-2.0",
|
|
"private": true,
|
|
"main": "index.js",
|
|
"dependencies": {
|
|
"babel-plugin-lodash": "3.2.11",
|
|
"babel-polyfill": "6.26.0",
|
|
"classnames": "2.2.5",
|
|
"d3-array": "1.2.1",
|
|
"d3-color": "1.0.3",
|
|
"d3-drag": "1.2.1",
|
|
"d3-format": "1.2.0",
|
|
"d3-scale": "1.0.7",
|
|
"d3-selection": "1.2.0",
|
|
"d3-shape": "1.2.0",
|
|
"d3-time-format": "2.1.0",
|
|
"dagre": "0.7.4",
|
|
"debug": "3.1.0",
|
|
"filesize": "3.5.11",
|
|
"filter-invalid-dom-props": "2.0.0",
|
|
"font-awesome": "4.7.0",
|
|
"immutable": "3.8.2",
|
|
"json-stable-stringify": "1.0.1",
|
|
"lcp": "1.1.0",
|
|
"lodash": "4.17.10",
|
|
"materialize-css": "0.98.1",
|
|
"moment": "2.21.0",
|
|
"page": "1.7.1",
|
|
"prop-types": "15.6.0",
|
|
"rc-slider": "8.3.2",
|
|
"react": "16.1.0",
|
|
"react-dom": "16.1.0",
|
|
"react-motion": "0.5.2",
|
|
"react-redux": "5.0.6",
|
|
"redux": "3.7.2",
|
|
"redux-immutable": "4.0.0",
|
|
"redux-logger": "3.0.6",
|
|
"redux-thunk": "2.2.0",
|
|
"reqwest": "2.0.5",
|
|
"reselect": "3.0.1",
|
|
"reselect-map": "1.0.3",
|
|
"styled-components": "2.2.4",
|
|
"weaveworks-ui-components": "0.12.3",
|
|
"whatwg-fetch": "2.0.3",
|
|
"xterm": "3.3.0"
|
|
},
|
|
"devDependencies": {
|
|
"autoprefixer": "7.1.5",
|
|
"babel-cli": "6.26.0",
|
|
"babel-core": "6.26.0",
|
|
"babel-eslint": "8.0.1",
|
|
"babel-jest": "21.2.0",
|
|
"babel-loader": "6.4.1",
|
|
"babel-plugin-transform-class-properties": "6.24.1",
|
|
"babel-plugin-transform-object-rest-spread": "6.26.0",
|
|
"babel-preset-env": "1.6.1",
|
|
"babel-preset-react": "6.24.1",
|
|
"browser-perf": "1.4.11",
|
|
"clean-webpack-plugin": "0.1.17",
|
|
"css-loader": "0.28.7",
|
|
"eslint": "4.9.0",
|
|
"eslint-config-airbnb": "16.1.0",
|
|
"eslint-loader": "1.9.0",
|
|
"eslint-plugin-import": "2.7.0",
|
|
"eslint-plugin-jsx-a11y": "6.0.2",
|
|
"eslint-plugin-react": "7.4.0",
|
|
"express": "4.15.2",
|
|
"extract-text-webpack-plugin": "2.1.0",
|
|
"file-loader": "1.1.5",
|
|
"html-webpack-plugin": "2.30.1",
|
|
"http-proxy": "1.16.2",
|
|
"http-proxy-rules": "1.1.1",
|
|
"jest": "21.2.1",
|
|
"jest-cli": "21.2.1",
|
|
"json-loader": "0.5.7",
|
|
"mockdate": "2.0.2",
|
|
"node-sass": "^4.6.0",
|
|
"postcss-loader": "1.3.3",
|
|
"react-router": "3.2.0",
|
|
"sass-lint": "^1.12.1",
|
|
"sass-loader": "6.0.6",
|
|
"sasslint-webpack-plugin": "^1.0.4",
|
|
"style-loader": "0.19.0",
|
|
"stylelint": "9.1.3",
|
|
"stylelint-config-recommended": "2.1.0",
|
|
"stylelint-config-styled-components": "0.1.1",
|
|
"stylelint-custom-processor-loader": "0.4.0",
|
|
"stylelint-declaration-use-variable": "1.6.1",
|
|
"stylelint-processor-styled-components": "1.3.1",
|
|
"url": "0.11.0",
|
|
"url-loader": "0.6.2",
|
|
"webpack": "2.4.1",
|
|
"webpack-dev-middleware": "1.10.2",
|
|
"webpack-hot-middleware": "2.18.0"
|
|
},
|
|
"scripts": {
|
|
"build": "webpack --config webpack.production.config.js",
|
|
"build-external": "EXTERNAL=true webpack --config webpack.production.config.js",
|
|
"copy-pkg-files": "cp package.json build-pkg/ && cp -R app/styles build-pkg/",
|
|
"build-pkg": "mkdir -p build-pkg && node node_modules/.bin/babel app/scripts --ignore __tests__ --out-dir build-pkg && yarn run copy-pkg-files",
|
|
"bundle": "mkdir -p tmp && yarn run build-pkg && cd ./build-pkg && yarn pack --filename ../tmp/weave-scope.tgz",
|
|
"start": "node server.js",
|
|
"start-production": "NODE_ENV=production node server.js",
|
|
"test": "jest",
|
|
"coveralls": "cat coverage/lcov.info | coveralls",
|
|
"lint": "eslint app server.js && stylelint src && sass-lint -v",
|
|
"clean": "rm build/app.js",
|
|
"noprobe": "../scope stop && ../scope launch --no-probe --app.window 8760h",
|
|
"loadreport": "yarn run noprobe && sleep 1 && curl -X POST -H \"Content-Type: application/json\" http://$BACKEND_HOST/api/report -d"
|
|
},
|
|
"jest": {
|
|
"transform": {
|
|
".*": "<rootDir>/node_modules/babel-jest"
|
|
},
|
|
"setupFiles": [
|
|
"<rootDir>/test/support/raf.js",
|
|
"<rootDir>/test/support/storage.js"
|
|
],
|
|
"roots": [
|
|
"<rootDir>/app/scripts"
|
|
],
|
|
"moduleFileExtensions": [
|
|
"js",
|
|
"json"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": "^8.4.0"
|
|
}
|
|
}
|