Change serverless to typescript.
This commit is contained in:
80
serverless/README.md
Normal file
80
serverless/README.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Serverless TypeScript Project
|
||||
|
||||
This folder contains AWS Lambda functions deployed via the Serverless Framework, written in TypeScript.
|
||||
|
||||
## Setup
|
||||
|
||||
This project is configured with TypeScript, ESLint, and Prettier independently from the main project.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js 22.x or higher
|
||||
- npm or yarn
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Available Scripts
|
||||
|
||||
- `npm run build` - Compile TypeScript to JavaScript
|
||||
- `npm run type-check` - Run TypeScript type checking without emitting files
|
||||
- `npm run lint` - Run ESLint on TypeScript files
|
||||
- `npm run lint:fix` - Run ESLint with auto-fix
|
||||
- `npm run format` - Format code with Prettier
|
||||
- `npm run format:check` - Check if code is formatted correctly
|
||||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
src/
|
||||
handlers/ # Lambda function handlers
|
||||
vehicleType.ts # Vehicle type lookup handler
|
||||
scrub.ts # Estimate scrubbing handler
|
||||
emsupload.ts # File upload presigned URL handler
|
||||
lib/ # Shared library code
|
||||
vehicleTypes/ # Vehicle type utilities
|
||||
db.ts # Database utilities
|
||||
```
|
||||
|
||||
## Deployment
|
||||
|
||||
The project uses `serverless-esbuild` for bundling TypeScript code for deployment.
|
||||
|
||||
```bash
|
||||
# Deploy to dev stage
|
||||
sls deploy --stage dev
|
||||
|
||||
# Deploy to production
|
||||
sls deploy --stage prod
|
||||
```
|
||||
|
||||
## Local Development
|
||||
|
||||
```bash
|
||||
# Run serverless offline
|
||||
sls dev
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
- **TypeScript**: Configured in `tsconfig.json`
|
||||
- **ESLint**: Configured in `eslint.config.mjs` (ESM flat config)
|
||||
- **Prettier**: Configured in `.prettierrc.json`
|
||||
- **Serverless**: Configured in `serverless.yml`
|
||||
|
||||
## Code Quality
|
||||
|
||||
This project enforces:
|
||||
- TypeScript strict mode
|
||||
- ESLint rules for TypeScript
|
||||
- Prettier formatting
|
||||
- No unused variables or parameters (except those prefixed with `_`)
|
||||
|
||||
## Environment Variables
|
||||
|
||||
See `serverless.yml` for environment-specific configuration.
|
||||
Reference in New Issue
Block a user