@ttoss/monorepo
@ttoss/monorepo is a tool to setup a monorepo with pnpm based on ttoss conventions.
Install
pnpm add -Dw @ttoss/monorepo
Commands
setup-tests
Setup test structure following ttoss testing guidelines.
This command creates the recommended directory structure for unit and e2e tests, including all necessary configuration files.
npx @ttoss/monorepo setup-tests [directory] [options]
Arguments:
directory- Target directory (defaults to current directory.)
Options:
--e2e- Include e2e test setup (default: false)
Examples:
# Setup tests in current directory (unit tests only)
npx @ttoss/monorepo setup-tests
# Setup tests with e2e in current directory
npx @ttoss/monorepo setup-tests --e2e
# Setup tests in a specific package
npx @ttoss/monorepo setup-tests packages/my-package
# Setup tests with e2e in a specific package
npx @ttoss/monorepo setup-tests packages/my-package --e2e
What it creates:
Without --e2e:
tests/- Root tests directorytests/unit/tests/- Unit tests directorytests/unit/tests/setup.test.ts- Sample test to verify setup worksjest.config.ts- Root Jest configuration (with 50% coverage threshold)tests/unit/jest.config.ts- Unit tests Jest configurationtests/unit/babel.config.cjs- Unit tests Babel configurationtests/tsconfig.json- Tests TypeScript configuration
With --e2e:
- All of the above, plus:
tests/e2e/tests/- E2E tests directorytests/e2e/tests/setup.test.ts- Sample e2e test to verify setup workstests/e2e/jest.config.ts- E2E tests Jest configurationtests/e2e/babel.config.cjs- E2E tests Babel configuration
It also:
- Installs
jestand@ttoss/configas dev dependencies - Adds test scripts to
package.json:"test": "jest --projects tests/unit"- Run unit tests"e2e": "jest --projects tests/e2e"- Run e2e tests
Verifying the setup:
After running the command, verify everything works:
pnpm test
You should see the sample tests pass. Once you start writing your own tests, you can delete the setup.test.ts files.