superset/superset-frontend/temporary_superset_ui/superset-ui/CONTRIBUTING.md
Krist Wongsuphasawat 97f18e686b build: migrate build tool to nimbus (#281)
* build: migrate to nimbus

* build: update gitignore

* build: update package.json

* build: update travis config

* build: lower engine requirements

* build: adjust typescript config

* fix: errors

* fix: change yarn run to yarn

* fix: lint

(cherry picked from commit 22328c349c9b987eecc5e46fb306e459b6a9cadc)

* fix: eslint rules

* fix: lint

* fix: setup file

* fix: more lint

* fix: lint - pass build and lint

* fix: test setup and babel transform runtime

(cherry picked from commit dd55fd88ced045a8f83ca771705721bf2f930ff0)

* fix: timeout issues

* fix: some broken test due to jest.setTimeout

* fix: computeMaxFontSize tests

* fix: createLoadableRenderer test

* fix: loadble and broken tests due to warnings

* fix: test coverage

* fix: coverage of generator tests

* fix: all unit tests pass

* fix: remove yeutech-lab/react-loadable
2021-11-26 11:45:00 +08:00

63 lines
1.8 KiB
Markdown

## Contributing guidelines
### Setup local development
1. clone this repo
2. have `yarn` install package dependencies and manage the symlinking between packages for you
```sh
git clone ...superset-ui && cd superset-ui
yarn install
yarn build
```
### File organization
[lerna](https://github.com/lerna/lerna/) and [yarn](https://yarnpkg.com) are used to manage versions
and dependencies between packages in this monorepo.
```
superset-ui/
lerna.json
package.json
...
packages/
package1/
package.json
...
src/
test/ # unit tests
types/ # typescript type declarations
...
lib/ # commonjs output
esm/ # es module output
...
...
```
### Builds, linting, and testing
Each package defines its own build config, linting, and testing. You can have lerna run commands
across all packages using the syntax `yarn run test` (or `yarn run test:watch` for watch mode) from
the root `@superset-ui` directory.
- [Using Storybook](docs/storybook.md) - You can test your components independently from Superset
app.
- [Debugging Superset plugins in Superset app](docs/debugging.md) - Sometimes something went wrong
and you have to do it.
### Committing
This repository follows
[conventional commits](https://www.conventionalcommits.org/en/v1.0.0-beta.3/) guideline for commit
messages and has a `commitlint` hook which will require you to have the valid commit message before
committing. You can use `npm run commit` to help you create a commit message.
### Publishing
**Prerequisite:** You'll need an [npmjs.com](https://npmjs.com) account that is part of the
`superset-ui` organization.
1. Make sure you're logged in to NPM from your shell. Run `npm login` if necessary.
2. To make the release, run `yarn run release` and follow the prompts.