sqlpm-workspace: A pnpm workspace that contains all of our packages and products.
Using a terminal, clone and install the project:
# clone the project
git clone https://github.com/erichosick/tc-test.git
# install all dependencies
cd tc-test && pnpm install
Build all projects:
# build all packages
pnpm build
# continuous development
pnpm build:watch
Test all projects:
# test all packages
pnpm test
# continuous testing
pnpm test:watch
**NOTE:** to assure any changes to code are applied during development, be sure to run `pnpm build:watch`.
<!-- QUICK_SETUP_END -->
<!-- FEATURES_START -->
## Features
* workspace that contains all of our packages and products
* uses pnpm workspaces to manage dependencies
* uses workspace-release to manage versioning and releases
* uses github actions to verify pull requests and create releases
* uses github rulesets to lockdown the main and staging branches
<!-- FEATURES_END -->
<!-- TABLE_OF_CONTENTS_START -->
<!-- TABLE_OF_CONTENTS_END -->
<!-- INSTALLATION USAGE_START_START -->
<!-- INSTALLATION USAGE_START_END -->
<!-- DEPENDENCIES_START -->
## Dependencies
* [git](https://www.git-scm.com): version control system
* [github](https://www.github.com): git repository hosting service
* [workspace-release](https://github.com/sqlpm/products/workspace-release-cli): workspace/monorepo semantic versioning and changelogs
* [conventional commits](https://www.conventionalcommits.org/): a specification for adding human and machine readable meaning to commit messages
* [pnpm](https://pnpm.io): effecient package manager for node.js
* [pnpm workspace](https://pnpm.io/workspaces): support workspaces and mono-repos
* [typescript](https://www.npmjs.com/package/typescript): typescript programming language
* [nx](https://nx.dev): fast, maintainable CI for monorepos
* [eslint](https://eslint.org/): find and fix problems in your JavaScript code
* [prettier](https://prettier.io/): opinionated code formatter
* [jest](https://jestjs.io/): javascript testing framework with a focus on simplicity
* [commitlint](https://commitlint.js.org/): lint conventional commits
* [husky](https://typicode.github.io/husky/): jusky improves your commits and more
* [github actions](https://github.com/actions): github actions for ci/cd
<!-- DEPENDENCIES_END -->
<!-- CONFIGURATION_START -->
<!-- CONFIGURATION_END -->
<!-- DOCUMENTATION_START -->
<!-- DOCUMENTATION_END -->
<!-- EXAMPLES_START -->
<!-- EXAMPLES_END -->
<!-- FAQ_START -->
## FAQ
### Why aren't changes to the code base being applied?
Did you run `pnpm build:watch`?
<!-- FAQ_END -->
<!-- LICENSE_START -->
# Software License
This software is licensed under GPL-3.0-or-later. For more details, see [LICENSE](./LICENSE).
Since this is a workspace, other packages within it may be licensed under different terms. In such cases, the package will contain its own licensing terms.
<!-- LICENSE_END -->
<!-- ADDITIONAL_NOTES_START -->
<!-- ADDITIONAL_NOTES_END -->
<!-- WORKSPACES_START -->
## Workspaces
* [packages](packages/README.md): packges released in npmjs.com
* [products](products/README.md): applications, services and websites
<!-- WORKSPACES_END -->