Skip to content

Commit

Permalink
chore: fix dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
brunotot committed May 7, 2024
1 parent 20f85ed commit 2058037
Show file tree
Hide file tree
Showing 26 changed files with 119 additions and 585 deletions.
Binary file removed .nx/cache/18.3.4-nx.linux-x64-gnu.node
Binary file not shown.
102 changes: 51 additions & 51 deletions md/dependencies/dependencies.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,59 @@
# backend

| Name | Version | Description |
| ------------------------- | ------------------ | ----------------------------------------------------------------------------- |
| @org/shared | file:../shared/src | Contains shared code, models, and types used by both the backend and frontend |
| @ts-rest/core | ^3.45.0 | Core library for building the TypeScript REST API in the backend |
| @ts-rest/express | ^3.45.0 | Integrates the @ts-rest/core library with Express.js in the backend |
| @ts-rest/open-api | ^3.45.0 | Generates OpenAPI documentation from the @ts-rest/core API in the backend |
| @tsvdec/core | ^2.0.11 | Provides core functionality for using TypeScript decorators in the backend |
| @tsvdec/decorators | ^1.0.7 | Collection of decorators used throughout the backend codebase |
| bcrypt | ^5.1.1 | Used for hashing and verifying user passwords in the backend |
| body-parser | ^1.20.2 | Parses incoming request bodies in the Express.js middleware in the backend |
| bottlejs | ^2.0.1 | Inversion of Control (IoC) container for dependency injection in the backend |
| compression | ^1.7.4 | Compresses responses to reduce data transfer in the backend |
| cookie-parser | ^1.4.6 | Parses cookie headers in incoming requests in the backend |
| cors | ^2.8.5 | Provides a middleware for enabling CORS in the Express.js app in the backend |
| cross-dirname | ^0.1.0 | Utility for getting the directory path of a file in the backend |
| dotenv | ^16.4.5 | Loads environment variables from .env files in the backend |
| express | ^4.18.2 | The web framework used for building the backend API |
| express-rate-limit | ^7.2.0 | Provides rate limiting to protect against brute force attacks in the backend |
| helmet | ^7.1.0 | Collection of security middleware for Express.js in the backend |
| hpp | ^0.2.3 | Protects against HTTP Parameter Pollution attacks in the backend |
| jsonwebtoken | ^9.0.2 | Used for generating and verifying JSON Web Tokens (JWT) in the backend |
| mongodb | ^6.5.0 | The official MongoDB driver for Node.js used in the backend |
| morgan | ^1.10.0 | HTTP request logger middleware for Express.js in the backend |
| swagger-jsdoc | ^6.2.8 | Generates OpenAPI documentation from JSDoc comments in the backend |
| swagger-ui-express | ^5.0.0 | Renders the Swagger UI for the OpenAPI documentation in the backend |
| winston | ^3.11.0 | Logging library used for application logging in the backend |
| winston-daily-rotate-file | ^5.0.0 | Winston transport for logging to a rotating file in the backend |
| zod | ^3.22.5 | TypeScript-first schema validation library used throughout the project |
| Name | Version | Description |
| ------------------------- | ------------ | ----------------------------------------------------------------------------- |
| @org/shared | workspace:\* | Contains shared code, models, and types used by both the backend and frontend |
| @ts-rest/core | ^3.45.0 | Core library for building the TypeScript REST API in the backend |
| @ts-rest/express | ^3.45.0 | Integrates the @ts-rest/core library with Express.js in the backend |
| @ts-rest/open-api | ^3.45.0 | Generates OpenAPI documentation from the @ts-rest/core API in the backend |
| @tsvdec/core | ^2.0.11 | Provides core functionality for using TypeScript decorators in the backend |
| @tsvdec/decorators | ^1.0.7 | Collection of decorators used throughout the backend codebase |
| bcrypt | ^5.1.1 | Used for hashing and verifying user passwords in the backend |
| body-parser | ^1.20.2 | Parses incoming request bodies in the Express.js middleware in the backend |
| bottlejs | ^2.0.1 | Inversion of Control (IoC) container for dependency injection in the backend |
| compression | ^1.7.4 | Compresses responses to reduce data transfer in the backend |
| cookie-parser | ^1.4.6 | Parses cookie headers in incoming requests in the backend |
| cors | ^2.8.5 | Provides a middleware for enabling CORS in the Express.js app in the backend |
| cross-dirname | ^0.1.0 | Utility for getting the directory path of a file in the backend |
| dotenv | ^16.4.5 | Loads environment variables from .env files in the backend |
| express | ^4.18.2 | The web framework used for building the backend API |
| express-rate-limit | ^7.2.0 | Provides rate limiting to protect against brute force attacks in the backend |
| helmet | ^7.1.0 | Collection of security middleware for Express.js in the backend |
| hpp | ^0.2.3 | Protects against HTTP Parameter Pollution attacks in the backend |
| jsonwebtoken | ^9.0.2 | Used for generating and verifying JSON Web Tokens (JWT) in the backend |
| mongodb | ^6.5.0 | The official MongoDB driver for Node.js used in the backend |
| morgan | ^1.10.0 | HTTP request logger middleware for Express.js in the backend |
| swagger-jsdoc | ^6.2.8 | Generates OpenAPI documentation from JSDoc comments in the backend |
| swagger-ui-express | ^5.0.0 | Renders the Swagger UI for the OpenAPI documentation in the backend |
| winston | ^3.11.0 | Logging library used for application logging in the backend |
| winston-daily-rotate-file | ^5.0.0 | Winston transport for logging to a rotating file in the backend |
| zod | ^3.22.5 | TypeScript-first schema validation library used throughout the project |

# frontend

| Name | Version | Description |
| -------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------- |
| @emotion/react | ^11.11.4 | Used by Material-UI for styling React components in the frontend |
| @emotion/styled | ^11.11.0 | Used by Material-UI for styling React components in the frontend |
| @mui/icons-material | ^5.15.14 | Provides Material Design icons for use in the frontend UI |
| @mui/lab | 5.0.0-alpha.169 | Provides additional components and utilities from Material-UI for the frontend UI |
| @mui/material | ^5.15.14 | The core Material-UI library for building the frontend UI |
| @mui/styles | ^5.15.14 | Used by Material-UI for styling React components in the frontend |
| @mui/x-tree-view | ^7.0.0 | Provides a TreeView component from Material-UI for displaying hierarchical data in the frontend |
| @org/shared | file:../shared/src | Contains shared code, models, and types used by both the backend and frontend |
| @preact/signals-react | ^2.0.1 | Provides a way to use Preact signals in React components for the frontend |
| @tanstack/react-query | ^5.32.1 | Used for data fetching and caching in the frontend React application |
| @ts-rest/core | ^3.45.0 | Core library for building the TypeScript REST API in the backend |
| @ts-rest/react-query | ^3.45.0 | Integrates @tanstack/react-query with the @ts-rest/core API for the frontend |
| axios | ^1.6.8 | Used for making HTTP requests in the frontend React application |
| i18next | ^23.10.1 | Provides internationalization (i18n) support for the frontend UI |
| i18next-browser-languagedetector | ^7.2.0 | Detects the user's language in the browser for i18n in the frontend |
| i18next-http-backend | ^2.5.0 | Loads translation files from the server for i18n in the frontend |
| material-ui-popup-state | ^5.1.0 | Provides a state management solution for popups and menus in the Material-UI frontend UI |
| react | ^18.2.0 | The core React library used for building the frontend UI |
| react-dom | ^18.2.0 | Provides DOM-specific methods for React in the frontend UI |
| react-i18next | ^14.1.0 | Integrates i18next with React for internationalization in the frontend UI |
| react-router-dom | ^6.22.3 | Provides routing functionality for the React frontend application |
| Name | Version | Description |
| -------------------------------- | --------------- | ----------------------------------------------------------------------------------------------- |
| @emotion/react | ^11.11.4 | Used by Material-UI for styling React components in the frontend |
| @emotion/styled | ^11.11.0 | Used by Material-UI for styling React components in the frontend |
| @mui/icons-material | ^5.15.14 | Provides Material Design icons for use in the frontend UI |
| @mui/lab | 5.0.0-alpha.169 | Provides additional components and utilities from Material-UI for the frontend UI |
| @mui/material | ^5.15.14 | The core Material-UI library for building the frontend UI |
| @mui/styles | ^5.15.14 | Used by Material-UI for styling React components in the frontend |
| @mui/x-tree-view | ^7.0.0 | Provides a TreeView component from Material-UI for displaying hierarchical data in the frontend |
| @org/shared | workspace:\* | Contains shared code, models, and types used by both the backend and frontend |
| @preact/signals-react | ^2.0.1 | Provides a way to use Preact signals in React components for the frontend |
| @tanstack/react-query | ^5.32.1 | Used for data fetching and caching in the frontend React application |
| @ts-rest/core | ^3.45.0 | Core library for building the TypeScript REST API in the backend |
| @ts-rest/react-query | ^3.45.0 | Integrates @tanstack/react-query with the @ts-rest/core API for the frontend |
| axios | ^1.6.8 | Used for making HTTP requests in the frontend React application |
| i18next | ^23.10.1 | Provides internationalization (i18n) support for the frontend UI |
| i18next-browser-languagedetector | ^7.2.0 | Detects the user's language in the browser for i18n in the frontend |
| i18next-http-backend | ^2.5.0 | Loads translation files from the server for i18n in the frontend |
| material-ui-popup-state | ^5.1.0 | Provides a state management solution for popups and menus in the Material-UI frontend UI |
| react | ^18.2.0 | The core React library used for building the frontend UI |
| react-dom | ^18.2.0 | Provides DOM-specific methods for React in the frontend UI |
| react-i18next | ^14.1.0 | Integrates i18next with React for internationalization in the frontend UI |
| react-router-dom | ^6.22.3 | Provides routing functionality for the React frontend application |

# shared

Expand Down
22 changes: 10 additions & 12 deletions md/scripts/output.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<p align="center">
<img src="https://github.com/brunotot/monorepo-mern-railway-starter/blob/main/md/assets/img/logo.png?raw=true" alt="logo"/>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/brunotot/monorepo-mern-railway-starter/blob/main/assets/img/logo-dark.svg?raw=true">
<img width="500px" alt="MERN Monorepo starter banner" src="https://github.com/brunotot/monorepo-mern-railway-starter/blob/main/assets/img/logo-light.svg?raw=true">
</picture>
</p>

<p align="center">
<img alt="TypeScript badge" src="https://img.shields.io/badge/-TypeScript-black?style=for-the-badge&logoColor=white&logo=typescript&color=2F73BF">
<img alt="React badge" src="https://img.shields.io/badge/-React-black?style=for-the-badge&logo=react&color=23272F">
<img alt="Express badge" src="https://img.shields.io/badge/-Express-black?style=for-the-badge&logoColor=black&logo=express&color=F7DF1E">
<img alt="MongoDB badge" src="https://img.shields.io/badge/-MongoDB-black?style=for-the-badge&logoColor=white&logo=mongodb&color=127237">
</a>
<img alt="TypeScript badge" src="https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white">
<img alt="React badge" src="https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB">
<img alt="Express badge" src="https://img.shields.io/badge/Express-404D59?style=for-the-badge&logo=express">
<img alt="MongoDB badge" src="https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=mongodb&logoColor=white">
</p>

TOC
Expand All @@ -16,17 +18,13 @@ TOC

## Understanding the repository name

**monorepo**

- A **monorepo** refers to a single repository containing multiple codebases that might otherwise be separated into individual repositories. This approach simplifies dependency management, streamlines workflows, and enhances collaboration across different parts of an application. Our repository utilizes this structure to centralize and unify the development process, ensuring consistency and ease of maintenance.

**mern**

- The **MERN** stack is a popular set of technologies (MongoDB, Express.js, React, and Node.js) used for full-stack development. This stack is known for its efficiency in building scalable and performance-oriented web applications. By employing the MERN stack, this repo provides a robust foundation for developing modern web applications with TypeScript, ensuring a seamless fullstack experience.

**railway**
**monorepo**

- **Railway** is a platform as a service (PaaS) that offers easy deployment, scaling, and infrastructure management for cloud applications. It's chosen for this project to simplify the deployment process and provide developers with a quick way to see their applications in production. Utilizing Railway, developers can focus more on code and less on configuring servers.
- A **monorepo** refers to a single repository containing multiple codebases that might otherwise be separated into individual repositories. This approach simplifies dependency management, streamlines workflows, and enhances collaboration across different parts of an application. Our repository utilizes this structure to centralize and unify the development process, ensuring consistency and ease of maintenance.

**starter**

Expand Down
18 changes: 0 additions & 18 deletions nx.json

This file was deleted.

1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
"husky": "^9.0.11",
"lint-staged": "^15.2.2",
"markdown-toc": "^1.2.0",
"nx": "^18.3.4",
"prettier": "^3.2.5",
"ts-node": "^10.9.2",
"tsc-alias": "^1.8.8",
Expand Down
6 changes: 3 additions & 3 deletions packages/backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"scripts": {
"build": "rm -rf dist && npm run compile:ts",
"compile:ts": "tsc && npm run tsc-alias",
"start": "export PACKAGE_JSON_VERSION=$(grep -o '\"version\": *\"[^\"]*\"' package.json | awk -F'\"' '{print $4}') && node --no-warnings --loader ts-node/esm --experimental-specifier-resolution=node ./dist/backend/src/main.js",
"tsc-alias": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json"
"start": "export PACKAGE_JSON_VERSION=$(grep -o '\"version\": *\"[^\"]*\"' package.json | awk -F'\"' '{print $4}') && node --no-warnings --loader ts-node/esm --experimental-specifier-resolution=node ./dist/main.js",
"tsc-alias": "tsc-alias -p tsconfig.json"
},
"keywords": [],
"author": "Bruno Tot",
"license": "MIT",
"dependencies": {
"@org/shared": "*",
"@org/shared": "workspace:*",
"@ts-rest/core": "^3.45.0",
"@ts-rest/express": "^3.45.0",
"@ts-rest/open-api": "^3.45.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
* @see {@link https://www.npmjs.com/package/compression|npm specifics}
*/

import { RouteMiddleware } from "@org/backend/types";
import compression from "compression";
import type { RequestHandler } from "express";

Expand All @@ -11,4 +12,4 @@ export function withCompression(): RequestHandler {
}

/** @hidden */
export const withCompressionMiddleware = withCompression();
export const withCompressionMiddleware: RouteMiddleware = withCompression();
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
* @see {@link https://www.npmjs.com/package/cookie-parser|npm specifics}
*/

import { RouteMiddleware } from "@org/backend/types";
import cookieParser from "cookie-parser";
import type { RequestHandler } from "express";

Expand All @@ -11,4 +12,4 @@ export function withCookieParser(): RequestHandler {
}

/** @hidden */
export const withCookieParserMiddleware = withCookieParser();
export const withCookieParserMiddleware: RouteMiddleware = withCookieParser();
Loading

0 comments on commit 2058037

Please sign in to comment.