Skip to content

Latest commit

 

History

History
149 lines (101 loc) · 3.23 KB

CONTRIBUTING.md

File metadata and controls

149 lines (101 loc) · 3.23 KB

Contributing

Local development

If you would like to hack on MUI Toolpad or want to run the latest version, you can follow these steps:

If you're looking into contributing to the docs, follow the instructions down below

Prerequisites

  • git
  • node.js

Steps

  1. Install dependencies:

    yarn install
  2. Run the build in watch mode

    yarn dev
  3. In another folder, start a toolpad project using:

    {
      "name": "toolpad-local",
      "version": "1.0.0",
      "license": "MIT",
      "scripts": {
        "dev": "toolpad dev --dev",
        "build": "toolpad build --dev",
        "start": "toolpad start --dev"
      },
      "dependencies": {
        "@mui/toolpad": "portal:<your-local-toolpad-monorepo>/packages/toolpad"
      },
      "resolutions": {
        "@mui/toolpad-app": "portal:<your-local-toolpad-monorepo>/packages/toolpad-app",
        "@mui/toolpad-core": "portal:<your-local-toolpad-monorepo>/packages/toolpad-core",
        "@mui/toolpad-components": "portal:<your-local-toolpad-monorepo>/packages/toolpad-components"
      }
    }
    1. Replace <your-local-toolpad-monorepo> with the path to the toolpad monorepo on your file system. Make sure to keep portal:.

    2. In order to use portal: dependencies, we will need to use yarn 2. So start by running

      yarn set version berry

      and add to the .yarnrc.yml:

      nodeLinker: node-modules
    3. then run

      yarn install
  4. Run start toolpad in dev mode:

    yarn dev

Building and running the documentation

  1. If you haven't already, install the project dependencies using

    yarn
  2. To start the documentation application in dev mode run

    yarn docs:dev

    If all goes well it should print

    ready - started server on 0.0.0.0:3003, url: http://localhost:3003
  3. Open the docs application in the browser http://localhost:3003/toolpad

Reviewing PRs

  • Check out the PR branch locally with your tool of choice (GitHub Docs)

  • Run to build the project

    yarn && yarn release:build
  • Run it on your project of choice

    yarn toolpad dev /path/to/my/toolpad/project

Integration tests

  • To run Toolpad on a fixture

    yarn toolpad dev --dev ./path/to/fixture
  • To run the tests locally in production mode

    yarn build:release
    yarn test:integration --project chromiun
  • To run the tests locally in dev mode

    yarn dev

    then run

    TOOLPAD_NEXT_DEV=1 yarn test:integration --project chromium
  • Use the --ui flag to run the tests interactively

Sending a pull request

Please have a look at our general guidelines for sending pull requests here and here.

Release process

See RELEASE.md