Minimalistic photography toolkit progressive web application.
This is a monorepo containing Photo companion
web-application and it's supporting packages based on workspaces. Each workspace has it's own README file with more details.
bridge-schedule
— Saint-Petersburg bridges schedule provider;lights-schedule
— city lights schedule provider;moon-sun-calc
— the Sun and the Moon calculations;photo-companion
— the main web-app;types
— common project types;ui
— core UI components and helpers;utils
— common project utility functions;- [
versioned-local-storage
][package-versioned-local-storage] — browser local storage with versioning;
Project uses pnpm workspaces.
Install pnpm
if you don't have one:
npm i pnpm -g
After that install dependencies for all workspaces:
pnpm i -r
Use pnpm dev
command to start project locally and pnpm build
to build the project.
There are several linter commands:
pnpm lint:code
— useseslint
;pnpm lint:styles
— usesstylelint
to lint styles;pnpm lint:types
— usestsc
to lint types;
All checks can be run concurrently using pnpm lint
command.
All tests are located in */test
directories inside a workspace.
The environment should be specified in vitest.config.ts
file.
- To run test, run
pnpm test:unit
; - To run a particular test suite, use
pnpm test:unit <suite-name>
, for examplepnpm test:unit moon
;