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.
All packages are broken into 3 categories.
This directory contains web-applications packages. Right now it contains the only photo-companion
package itself.
This directory contains independent packages used to build web-applications.
bridge-schedule
— Saint-Petersburg bridges schedule provider;lights-schedule
— city lights schedule provider;moon-sun-calc
— the Sun and the Moon calculations;ui
— core UI components and helpers;versioned-local-storage
— browser local storage with versioning;
This directory contains core packages used within monorepo.
types
— common project types;utils
— common project utility functions;
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 3 linter commands:
pnpm lint:code
— useseslint
;pnpm lint:styles
— usesstylelint
to lint styles;pnpm lint:svelte
— usessvelte-check
to lint.svelte
files;pnpm lint:types
— usestsc
to lint types;
All checks can be run concurrently using pnpm lint:all
command.
All tests are localed in */test
directories inside a workspace.
- To run test, run
pnpm test:unit
; - To run a particular test suite, use
pnpm test:unit <suite-name>
, for examplepnpm test:unit moon
;