diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e4c7dfbc1c83e..890a338f5b842 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,6 +55,7 @@ little bit helps, and credit will always be given. - [Images](#images) - [Flask server](#flask-server) - [OS Dependencies](#os-dependencies) + - [Dependencies](#dependencies) - [Logging to the browser console](#logging-to-the-browser-console) - [Frontend](#frontend) - [Prerequisite](#prerequisite) @@ -68,11 +69,13 @@ little bit helps, and credit will always be given. - [Feature flags](#feature-flags) - [Git Hooks](#git-hooks) - [Linting](#linting) + - [Python](#python) + - [TypeScript](#typescript) - [Conventions](#conventions) - - [Python](#python-conventions) + - [Python Conventions](#python-conventions) - [Typing](#typing) - - [Python](#python-typing) - - [TypeScript](#typeScript-typing) + - [Python Typing](#python-typing) + - [TypeScript Typing](#typescript-typing) - [Testing](#testing) - [Python Testing](#python-testing) - [Frontend Testing](#frontend-testing) @@ -92,7 +95,7 @@ little bit helps, and credit will always be given. - [SQL Lab Async](#sql-lab-async) - [Async Chart Queries](#async-chart-queries) - [Chart Parameters](#chart-parameters) - - [Datasource & Chart Type](#datasource--chart-type) + - [Datasource \& Chart Type](#datasource--chart-type) - [Time](#time) - [GROUP BY](#group-by) - [NOT GROUPED BY](#not-grouped-by) @@ -568,7 +571,22 @@ There are three types of assets you can build: #### Webpack dev server -The dev server by default starts at `http://localhost:9000` and proxies the backend requests to `http://localhost:8088`. It's possible to change these settings: +The dev server by default starts at `http://localhost:9000` and proxies the backend requests to `http://localhost:8088`. + +So a typical development workflow is the following: + +1. [run Superset locally](#flask-server) using Flask, on port `8088` — but don't access it directly,
+ ```bash + # Install Superset and dependencies, plus load your virtual environment first, as detailed above. + FLASK_ENV=development superset run -p 8088 --with-threads --reload --debugger + ``` +2. in parallel, run the Webpack dev server locally on port `9000`,
+ ```bash + npm run dev-server + ``` +3. access `http://localhost:9000` (the Webpack server, _not_ Flask) in your web browser. This will use the hot-reloading front-end assets from the Webpack development server while redirecting back-end queries to Flask/Superset: your changes on Superset codebase — either front or back-end — will then be reflected live in the browser. + +It's possible to change the Webpack server settings: ```bash # Start the dev server at http://localhost:9000