Monorepo for The Wall project packages using pnpm workspaces.
@theWallProject/common- Shared types and utilities@theWallProject/addon- Browser extension (Plasmo framework)@theWallProject/scrapper- Scraper tool for data collection
- Node.js >= 18
- pnpm >= 8
-
Install dependencies:
pnpm install
-
Build all packages:
pnpm build
Or build individual packages:
pnpm --filter @theWallProject/common build pnpm --filter @theWallProject/addon build pnpm --filter @theWallProject/scrapper build
cd packages/common
pnpm build
pnpm testcd packages/addon
pnpm dev
pnpm build
pnpm test # Run tests
pnpm test:e2e # Run E2E tests onlycd packages/scrapper
pnpm dev
pnpm build.
├── packages/
│ ├── common/ # Shared library
│ ├── addon/ # Browser extension
│ └── scrapper/ # Scraper tool
├── package.json # Root package.json
└── pnpm-workspace.yaml
The addon package includes comprehensive end-to-end tests:
# Run addon tests from root
pnpm test:addon
pnpm test:addon:e2eTests use Playwright and Vitest to test all extension functionality in real Chrome instances. See packages/addon/tests/README.md for detailed documentation.
Note: Tests require the extension to be built first (pnpm build:chrome) and an internet connection for testing real URLs.
- All packages use
@theWallProject/*scope for consistency - The
commonpackage is linked as a workspace dependency inaddonandscrapper - Addon tests require built extension and internet connection