Coder Social home page Coder Social logo

essexgit / dossierhq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dossierhq/dossierhq

0.0 0.0 0.0 23.34 MB

The headless CMS toolkit

Home Page: https://dossierhq.dev

License: MIT License

Shell 0.25% JavaScript 1.07% TypeScript 97.80% CSS 0.02% HTML 0.02% Dockerfile 0.01% SCSS 0.78% MDX 0.05%

dossierhq's Introduction

Dossier

Node CI Benchmark

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.

Published packages

Package Version Folder
@dossierhq/better-sqlite3 npm version libraries/better-sqlite3
@dossierhq/cloudinary npm version libraries/cloudinary
@dossierhq/core npm version libraries/core
@dossierhq/core-vitest npm version libraries/core-vitest
@dossierhq/database-adapter npm version libraries/database-adapter
@dossierhq/design npm version libraries/design
@dossierhq/graphql npm version libraries/graphql
@dossierhq/integration-test npm version libraries/integration-test
@dossierhq/leaflet npm version libraries/leaflet
@dossierhq/pg npm version libraries/pg
@dossierhq/postgres-core npm version libraries/postgres-core
@dossierhq/postgres-tools npm version libraries/postgres-tools
@dossierhq/react-components npm version libraries/react-components
@dossierhq/server npm version libraries/server
@dossierhq/sqlite-core npm version libraries/sqlite-core
@dossierhq/typescript-generator npm version libraries/typescript-generator

Development dependencies

  • Use asdf to install the tools in .tools-versions
  • 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)

Getting started

  • rush update to install dependencies.
  • In tools/generic-tools/:
    • By default the databases (test and example databases on PostgreSQL) are configured in Docker. To use another db set the env variable 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

Dev container / Github Code Spaces

  • Start dev container
  • The script post-create.sh runs automatically on first run
  • When done, restart your shell since it sets up environment variables
  • For root access to the Postgres database, run psql "$HOST_ROOT_DATABASE_URL" or pgcli "$HOST_ROOT_DATABASE_URL"

Dependencies

  • Run rush add --package foo instead of npm install foo (rush add --package foo --dev instead of npm install --save-dev foo)
  • Run cd tools/all-dependencies && npm run build
  • Check that the same versions of dependencies are used, run rush check.

Upgrade dependencies

  • Upgrade tool versions in .tool-versions
  • Update rushVersion and pnpmVersion in rush.json (npm show @microsoft/rush version/npm show pnpm version – or use same version as rush: rush.json)
  • Upgrade individual dependencies in tools/all-dependencies/:
    • npm run outdated to get a list of outdated dependencies
    • rush add --package typescript@latest --dev --make-consistent
    • or rush upgrade-interactive
  • Upgrade Deno dependencies in the 3 import-map.json files
  • Run (cd tools/generic-tools && npm run deno:reload-dependencies:all)
  • Upgrade the postgres version in ./docker-compose.yml

Publish packages

  • Normally publishing the packages bumps the patch version, change nextBump to minor in common/config/rush/version-policies.json to bump minor instead
  • rush change
  • git add common/changes/ && git commit
  • git push
  • Start publish workflow
  • When done, change back nextBump to patch if you changed it

Ports

  • 3001: examples/next-web
  • 3002: apps/playground
  • 3003: apps/blog
  • 6006: libraries/react-components
  • 6007: libraries/design
  • 9000: libraries/libsql - admin entity
  • 9001: libraries/libsql - advisory lock
  • 9002: libraries/libsql - advisory lock
  • 9003: libraries/libsql - published entity
  • 9004: libraries/libsql - schema

dossierhq's People

Contributors

jonasb avatar dependabot[bot] avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.