We are open to and grateful for, any contributions made by the community. By contributing to effector, you agree to abide by the code of conduct.
Before opening an issue, please search the issue tracker to make sure your issue hasn't already been reported.
Visit the Issue tracker to find a list of open issues that need attention.
Fork, then clone the repo:
git clone https://github.com/your-username/effector.git
Another way is to use gitpod:
https://gitpod.io/#https://github.com/effector/effector
docs
is a directory with .md files to build effector.devsrc
contains all source files of effector, effector-react, ...packages
contains all files required to publish npm-packagestasks
is a directory with scripts to build npm-packageswebsite
contains source files of effector.dev
This command uses ./tasks
to generate package.json for each npm-package from ./packages
and build sources.
Rollup builds source files to ./npm
directory.
To update Table of Contents use this command:
npx doctoc README.md
Just use yarn test
and yarn test:watch
.
yarn test --testPathPattern='types'
to run types tests, yarn test --testPathPattern='types' -u
to update their inline snapshots. Public types are always placed in packages/<library name>/*.d.ts
, for example, here are public typings for effector
Type tests are placed in src/types/__tests__/<package-name>/*.test.ts
To add new type test, put that code to any file with type tests:
test('test name', () => {
// any code here
expect(typecheck).toMatchInlineSnapshot()
})
and run type tests. Inline snapshot will be filled with type errors (if any) for given code for typescript.
Please open an issue with a proposal for a new feature or refactoring before starting on the work. We don't want you to waste your efforts on a pull request that we won't want to accept.
Before opening a feature request, please read the exists ideas discussions to make sure your feature hasn't already requested.
Change version in packages.config.js, run yarn build
and commit changes to master
branch
- Open a new issue in the Issue tracker.
- Fork the repo.
- Create a new feature branch based on the
master
branch. - Make sure all tests pass and there are no linting errors.
- Please, write a good commit message, explaining why not how.
- Submit a pull request, referencing any issues it addresses.
Please try to keep your pull request focused in scope and avoid including unrelated commits.
After you have submitted your pull request, we'll try to get back to you as soon as possible. We may suggest some changes or improvements.
Thank you for contributing!