Skip to content

Conversation

@bennettrwu
Copy link
Contributor

Configured monorepo for scribear node applications:

  • Uses npm workspaces
  • Typescript support
  • Code style enforced using prettier
  • Static code analysis provided by eslint with strict typescript aware rules
  • Unit test run using vitest
  • Validated Docker containerization for monorepo applications
  • Github actions for automatically checking format, running linter, build and tests, and building docker containers

@github-actions
Copy link

Session Manager Coverage Report

Code Coverage

Package Line Rate Branch Rate Complexity Health
main 0% 100% 0
Summary 0% (0 / 1) 100% (0 / 0) 0

@bennettrwu bennettrwu merged commit 7199db1 into multi-tenancy Oct 23, 2025
5 checks passed
@bennettrwu bennettrwu deleted the create-monorepo branch October 23, 2025 02:47
@bennettrwu bennettrwu changed the title Create monorepo feat: create monorepo Oct 23, 2025
bennettrwu added a commit that referenced this pull request Oct 23, 2025
* start fresh

* build(git): configure git

* build(npm,tsc): configure npm workspaces and typescript

* build(prettier): configure prettier code formatter

* style: apply code formatting

* build(editorconfig): add editorconfig file that matches prettier config

* build(eslint): configure eslint code linter

* build(vitest): configure vitest test runner

* build: setup hot reload tools

* build(docker): create dockerfile for monorepo application

* ci(actions): create format, lint, build, and test github actions

* ci(actions): add workflow to report coverage on PRs

* ci(actions): add job to build docker containers

* build(npm): bump npm minimum node version to match docker and actions version

* fix(actions): remove invalid coverage path

* fix(action): fix incorrect job step name for linter

* fix(actions): fix issue where only slowest container platform overrites all other platform images in dockerhub

* fix(action): fix invalid cache-from definition in docker build action

* fix(action): actually push built images in docker build action
bennettrwu added a commit that referenced this pull request Oct 23, 2025
* Create monorepo (#37)

* start fresh

* build(git): configure git

* build(npm,tsc): configure npm workspaces and typescript

* build(prettier): configure prettier code formatter

* style: apply code formatting

* build(editorconfig): add editorconfig file that matches prettier config

* build(eslint): configure eslint code linter

* build(vitest): configure vitest test runner

* build: setup hot reload tools

* build(docker): create dockerfile for monorepo application

* ci(actions): create format, lint, build, and test github actions

* ci(actions): add workflow to report coverage on PRs

* ci(actions): add job to build docker containers

* build(npm): bump npm minimum node version to match docker and actions version

* fix(actions): remove invalid coverage path

* fix(action): fix incorrect job step name for linter

* fix(actions): fix issue where only slowest container platform overrites all other platform images in dockerhub

* fix(action): fix invalid cache-from definition in docker build action

* fix(action): actually push built images in docker build action

* feat: create base-schema lib for defining shared api schema

* feat(base-schema): define shared api error reply schema

* feat(session-service-schema): define healthcheck api schema

* feat(base-schema,session-service-service): add interface so schema lib can define route method and url

* feat(session-manager-schema): create toy calculator schema to demo usage

* build(session-manager): update watched dependencies

* feat(base-fastify-server): create lib that defines base configuration for fastify server

* feat(base-fastify-server): create logger factory

* feat(base-fastify-server): create fastify server factory that creates logger and registers default plugins

* feat(base-fastify-server): create depdency container and provide to fastify instance

* feat(base-fastify-server): define set of httperrors defined by shared reply schema

* feat(base-fastify-server): add typebox schema validator

* test(base-fastify-server): add unit tests for typebox schema validator

* feat(base-fastify-server): add custom json parser

* test(base-fastify-server): add unit tests for custom json parser

* feat(base-fastify-server): create custom error handler

* test(base-fastify-server): create unit tests for custom error handler

* feat(base-fastify-server): create handler for not found event

* test(base-fastify-server): create unit tests for custom not found handler

* feat(base-fastify-server): add on request handler to scope logger correctly in dependency container

* test(base-fastify-server): create unit tests for scope logger on request hook

* feat(base-fastify-server): export public artifacts

* test(base-fastify-server): write integration test for dependency injection

* test(base-fastify-server): write integration test for server error handling

* test(base-fastify-server): write integration test for server request validation

* build(session-manager): update dockerfile with new dependency

* feat(session-manager): define app config loader and provider

* docs(session-manager): add template.env to document config schema

* feat(session-manager): setup fastify server and entrypoint

* feat(session-manager): load swagger ui plugin is in development mode

* feat(session-manager): register app dependencies with container

* feat(session-manager): define healthcheck endpoint

* test(session-manager): write unit tests for healthcheck controller

* test(session-manager): write integration test for healthcheck endpoints

* test(session-manager): create integration tests for api-docs endpoint

* feat(session-manager): implement toy calculator route to demo boilerplate

* test(session-manager): write unit tests for calculator controller and service

* test(session-manager): write integration tests for calculator endpoints

* build: enable pretty print for logging in development mode

* build(session-manager): update docker container with new dependencies

* build(npm): update package-lock

* ci(base-fastify-server): add coverage reporting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants