Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
Install node & npm on your system: https://nodejs.org/en/download/
This project uses pnpm as the package manager. If you don't have pnpm installed, you can install it globally:
# Install pnpm globally
npm install -g pnpm
# Or using other methods:
# curl -fsSL https://get.pnpm.io/install.sh | sh -
# brew install pnpm (on macOS)Only required when setting up the project
$ git clone https://github.com/davidwells/analytics
$ cd analytics
$ pnpm run setupBecause analytics has a large number of packages, we need to also install watchman for better watching.
brew update
brew install watchmanTo run analytics locally follow these steps:
- Make sure you have run
pnpm run setupto install all packages - Run
pnpm run buildto ensure analytics packages are built - Run watch mode
pnpm run watchto have changes reflected live in the demo app. - In a new terminal window, change directories into the
/examples/demofolder & install the demo apps dependenciespnpm install - Finally, you can start the demo app with
pnpm start
If you have any questions please ping @DavidWells on Twitter.
Installs and sets up all analytics package dependencies.
$ pnpm run setupWatches all analytics packages and builds them on change.
$ pnpm run watchRemoves all of the analytics packages dist directories.
pnpm run cleanRuns the clean script and removes all the node_modules from the analytics packages.
pnpm run resetRuns the clean script and builds the analytics packages.
pnpm run buildRuns all the analytics packages tests.
pnpm run testWe actively welcome your pull requests!
If you need help with Git or our workflow, please ask on David on twitter. We want your contributions even if you're just learning Git. Our maintainers are happy to help!
Analytics uses the Forking Workflow + Feature Branches. Additionally, PR's should be rebased on master when opened, and again before merging.
- Fork the repo.
- Create a branch from
master. If you're addressing a specific issue, prefix your branch name with the issue number. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Run
pnpm run testand ensure the test suite passes. - PR's must be rebased before merge (feel free to ask for help).
- PR should be reviewed by two maintainers prior to merging.
Publishing error
Hard link is not allowed means the node_modules folder is in the npm package. Delete those from /analytics-core/{client|server} dirs.
By contributing to analytics, you agree that your contributions will be licensed
under its MIT license.