Dossier enables you to build solutions where you’re in full control of the content. By bringing your own auth (authentication and authorization), database and backend, you can build a headless Content Management System (CMS) and integrate it with your app.
For more information about Dossier, head over to dossierhq.dev. The rest of this readme is focused on developing and contributing to Dossier itself.
If you just want to get started using Dossier, these destinations might get you there faster:
Package | Version | Folder |
---|---|---|
@dossierhq/better-sqlite3 |
libraries/better-sqlite3 | |
@dossierhq/cloudinary |
libraries/cloudinary | |
@dossierhq/core |
libraries/core | |
@dossierhq/core-vitest |
libraries/core-vitest | |
@dossierhq/database-adapter |
libraries/database-adapter | |
@dossierhq/design |
libraries/design | |
@dossierhq/graphql |
libraries/graphql | |
@dossierhq/integration-test |
libraries/integration-test | |
@dossierhq/leaflet |
libraries/leaflet | |
@dossierhq/pg |
libraries/pg | |
@dossierhq/postgres-core |
libraries/postgres-core | |
@dossierhq/postgres-tools |
libraries/postgres-tools | |
@dossierhq/react-components |
libraries/react-components | |
@dossierhq/react-components2 |
libraries/react-components2 | |
@dossierhq/server |
libraries/server | |
@dossierhq/sql.js |
libraries/sql.js | |
@dossierhq/sqlite-core |
libraries/sqlite-core | |
@dossierhq/typescript-generator |
libraries/typescript-generator |
.tools-versions
asdf plugin add libsql-server https://github.com/jonasb/asdf-libsql-server.git
npm install -g @microsoft/rush
brew install pgcli
(optional, for Postgres access)brew install gnuplot
(for benchmarking)npx playwright install
(for installing browsers for Playwright testing)rush update
to install dependencies.tools/generic-tools/
:
HOST_ROOT_DATABASE_URL
npm run db:start
(only if running db in Docker)npm run db:ensure-dbs
npm run db:make-users:superuser
npm run db:migrate:all
npm run db:make-users:no-superuser
rush build
psql "$HOST_ROOT_DATABASE_URL"
or pgcli "$HOST_ROOT_DATABASE_URL"
rush add --package foo
instead of npm install foo
(rush add --package foo --dev
instead of npm install --save-dev foo
)cd tools/all-dependencies && npm run build
rush check
..tool-versions
rushVersion
and pnpmVersion
in rush.json
(npm show @microsoft/rush version
/npm show pnpm version
– or use same version as rush: rush.json)tools/all-dependencies/
:
npm run outdated
to get a list of outdated dependenciesrush add --package typescript@latest --dev --make-consistent
rush upgrade-interactive
import-map.json
files(cd tools/generic-tools && npm run deno:reload-dependencies:all)
./docker-compose.yml
nextBump
to minor
in common/config/rush/version-policies.json to bump minor insteadrush change
git add common/changes/ && git commit
git push
nextBump
to patch
if you changed it