mirror of
https://github.com/apache/superset.git
synced 2024-09-20 04:29:47 -04:00
97f18e686b
* 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
63 lines
1.8 KiB
Markdown
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.
|