Mono
This is the monorepo that contains the addon and it's data.
Install / Use
/learn @theWallProject/MonoREADME
The Wall Monorepo
Monorepo for The Wall project packages using pnpm workspaces.
Packages
@theWallProject/common- Shared types and utilities@theWallProject/addon- Browser extension (Plasmo framework)@theWallProject/scrapper- Scraper tool for data collection
Prerequisites
- Node.js >= 18
- pnpm >= 8
Setup
-
Install dependencies:
pnpm install -
Build all packages:
pnpm buildOr build individual packages:
pnpm --filter @theWallProject/common build pnpm --filter @theWallProject/addon build pnpm --filter @theWallProject/scrapper build
Development
Common Package
cd packages/common
pnpm build
pnpm test
Addon Package
cd packages/addon
pnpm dev
pnpm build
pnpm test # Run tests
pnpm test:e2e # Run E2E tests only
Scrapper Package
cd packages/scrapper
pnpm dev
pnpm build
Workspace Structure
.
├── packages/
│ ├── common/ # Shared library
│ ├── addon/ # Browser extension
│ └── scrapper/ # Scraper tool
├── package.json # Root package.json
└── pnpm-workspace.yaml
Testing
Addon Package Tests
The addon package includes comprehensive end-to-end tests:
# Run addon tests from root
pnpm test:addon
pnpm test:addon:e2e
Tests 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.
Notes
- All packages use
@theWallProject/*scope for consistency - The
commonpackage is linked as a workspace dependency inaddonandscrapper - Addon tests require built extension and internet connection
