Skip to content

Commit

Permalink
add other example service api2
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinewg committed Jan 25, 2023
1 parent 6330c24 commit f70789e
Show file tree
Hide file tree
Showing 11 changed files with 202 additions and 134 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"eslint.workingDirectories": [
"./services/api1",
"./services/api2",
]
}
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Each package is 100% [TypeScript](https://www.typescriptlang.org/).
### Services

- `api1`: serverless service to say hello. Run `pnpm dev` to run the offline in offline mode.
- `api2`: serverless service to say ciao. Run `pnpm dev` to run the offline in offline mode.

### Utilities

Expand Down
194 changes: 61 additions & 133 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions services/api2/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json"
}
}
3 changes: 3 additions & 0 deletions services/api2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# API 2

Backend service using [serverless framework](https://www.serverless.com/).
34 changes: 34 additions & 0 deletions services/api2/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"name": "api2",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "serverless offline start",
"deploy:staging": "serverless deploy --aws-profile personal --stage staging",
"deploy:production": "serverless deploy --aws-profile personal --stage production",
"test": "jest --passWithNoTests",
"test:watch": "jest --watch --coverage",
"lint": "eslint '**/*.ts'",
"lint:fix": "eslint '**/*.ts' --fix",
"package": "serverless package"
},
"devDependencies": {
"@serverless/typescript": "^3.18.0",
"@types/aws-lambda": "^8.10.98",
"@types/node": "^17.0.40",
"esbuild": "^0.14.42",
"eslint": "^8.14.0",
"jest": "^28.0.3",
"serverless": "^3.19.0",
"serverless-esbuild": "^1.30.0",
"serverless-offline": "^8.8.0",
"ts-node": "^10.8.1",
"tsconfig": "workspace:*",
"tsconfig-paths": "^4.0.0",
"typescript": "^4.7.3"
},
"dependencies": {
"aws-lambda": "^1.0.7",
"helpers": "workspace:*"
}
}
35 changes: 35 additions & 0 deletions services/api2/serverless.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import type { AWS } from "@serverless/typescript";

import { functions as ciao } from "@functions/index";

const serverlessConfiguration: AWS = {
service: "api2",
frameworkVersion: "3.19",
plugins: ["serverless-esbuild", "serverless-offline"],
provider: {
name: "aws",
runtime: "nodejs16.x",
stage: "dev",
region: "eu-central-1",
environment: {
AWS_NODEJS_CONNECTION_REUSE_ENABLED: "1",
NODE_OPTIONS: "--enable-source-maps --stack-trace-limit=1000",
},
},
functions: { ...ciao },
package: { individually: true },
custom: {
esbuild: {
bundle: true,
minify: false,
sourcemap: true,
exclude: ["aws-sdk"],
target: "node16",
define: { "require.resolve": undefined },
platform: "node",
concurrency: 10,
},
},
};

module.exports = serverlessConfiguration;
Loading

0 comments on commit f70789e

Please sign in to comment.