diff --git a/contribute/developer-guide.md b/contribute/developer-guide.md index dff545abdd4..738db68143a 100644 --- a/contribute/developer-guide.md +++ b/contribute/developer-guide.md @@ -10,8 +10,14 @@ Make sure you have the following dependencies installed before setting up your d - [Git](https://git-scm.com/) - [Go](https://golang.org/dl/) (see [go.mod](../go.mod#L3) for minimum required version) -- [Node.js (Long Term Support)](https://nodejs.org) -- [Yarn](https://yarnpkg.com) + +Additionally you'll need: + +- [Node.js](https://nodejs.org) (see `volta.node` property in [package.json](../package.json) for the correct version). +- [Yarn](https://yarnpkg.com) (see `volta.yarn` property in [package.json](../package.json) for the correct version). + +We recommend using [Volta](https://github.com/volta-cli/volta) to manage your JS toolchain. +Refer to the [Volta Getting Started Guide](https://docs.volta.sh/guide/getting-started) for setup instructions for your operating system. ### macOS @@ -20,9 +26,6 @@ We recommend using [Homebrew](https://brew.sh/) for installing any missing depen ``` brew install git brew install go -brew install node@14 - -npm install -g yarn ``` ### Windows diff --git a/package.json b/package.json index 54b02f8f927..fefef14bc4a 100644 --- a/package.json +++ b/package.json @@ -328,6 +328,7 @@ "node": ">= 14" }, "volta": { - "node": "14.15.1" + "node": "14.16.0", + "yarn": "1.22.5" } } diff --git a/packages/grafana-data/package.json b/packages/grafana-data/package.json index 6ad24e902e8..0991066368d 100644 --- a/packages/grafana-data/package.json +++ b/packages/grafana-data/package.json @@ -55,5 +55,8 @@ "sinon": "8.1.1", "tinycolor2": "1.4.1", "typescript": "4.2.4" + }, + "volta": { + "extends": "../../package.json" } } diff --git a/packages/grafana-e2e-selectors/package.json b/packages/grafana-e2e-selectors/package.json index 9ac0c89ce77..c7d0e258943 100644 --- a/packages/grafana-e2e-selectors/package.json +++ b/packages/grafana-e2e-selectors/package.json @@ -45,5 +45,8 @@ "execa": "4.0.0", "typescript": "4.2.4", "yaml": "^1.8.3" + }, + "volta": { + "extends": "../../package.json" } } diff --git a/packages/grafana-e2e/package.json b/packages/grafana-e2e/package.json index c45f4e4e8ce..f36f4660672 100644 --- a/packages/grafana-e2e/package.json +++ b/packages/grafana-e2e/package.json @@ -56,5 +56,8 @@ "ts-loader": "6.2.1", "typescript": "4.2.4", "yaml": "^1.8.3" + }, + "volta": { + "extends": "../../package.json" } } diff --git a/packages/grafana-runtime/package.json b/packages/grafana-runtime/package.json index 5edc21cece2..389ccf279f6 100644 --- a/packages/grafana-runtime/package.json +++ b/packages/grafana-runtime/package.json @@ -46,5 +46,8 @@ "rollup-plugin-visualizer": "4.2.0", "typescript": "4.2.4" }, - "types": "src/index.ts" + "types": "src/index.ts", + "volta": { + "extends": "../../package.json" + } } diff --git a/packages/grafana-toolkit/package.json b/packages/grafana-toolkit/package.json index 23690bd48d9..1c3af1bef64 100644 --- a/packages/grafana-toolkit/package.json +++ b/packages/grafana-toolkit/package.json @@ -110,5 +110,8 @@ }, "_moduleAliases": { "puppeteer": "node_modules/puppeteer-core" + }, + "volta": { + "extends": "../../package.json" } } diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index fa54c3cb09b..55287c36299 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -124,5 +124,8 @@ "typescript": "4.2.4", "webpack-filter-warnings-plugin": "1.2.1" }, - "types": "src/index.ts" + "types": "src/index.ts", + "volta": { + "extends": "../../package.json" + } } diff --git a/packages/jaeger-ui-components/package.json b/packages/jaeger-ui-components/package.json index 8f460819138..e3c3df81343 100644 --- a/packages/jaeger-ui-components/package.json +++ b/packages/jaeger-ui-components/package.json @@ -41,5 +41,8 @@ "recompose": "^0.25.0", "tinycolor2": "1.4.1", "tween-functions": "^1.2.0" + }, + "volta": { + "extends": "../../package.json" } } diff --git a/plugins-bundled/internal/input-datasource/package.json b/plugins-bundled/internal/input-datasource/package.json index b0f23942313..521f557a103 100644 --- a/plugins-bundled/internal/input-datasource/package.json +++ b/plugins-bundled/internal/input-datasource/package.json @@ -20,6 +20,6 @@ "@grafana/ui": "8.1.0-pre" }, "volta": { - "node": "12.16.2" + "extends": "../../../package.json" } } diff --git a/plugins-bundled/internal/plugin-admin-app/package.json b/plugins-bundled/internal/plugin-admin-app/package.json index dda136d891e..9c67bca64a1 100644 --- a/plugins-bundled/internal/plugin-admin-app/package.json +++ b/plugins-bundled/internal/plugin-admin-app/package.json @@ -21,6 +21,6 @@ "@grafana/ui": "8.1.0-pre" }, "volta": { - "node": "12.16.2" + "extends": "../../../package.json" } }