serverless-plugin-warmup 8.0.0 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![npm monthly downloads][npm-downloads-badge]][npm-version-badge-url]
5
5
  [![Node.js CI](https://github.com/juanjoDiaz/serverless-plugin-warmup/actions/workflows/on-push.yaml/badge.svg)](https://github.com/juanjoDiaz/serverless-plugin-warmup/actions/workflows/on-push.yaml)
6
6
  [![Coverage Status][coveralls-badge]][coveralls-badge-url]
7
- [![license](https://img.shields.io/npm/l/serverless-plugin-warmup.svg)](https://raw.githubusercontent.com/juanjoDiaz/serverless-plugin-warmup/master/LICENSE)
7
+ [![license](https://img.shields.io/npm/l/serverless-plugin-warmup.svg)](https://raw.githubusercontent.com/juanjoDiaz/serverless-plugin-warmup/main/LICENSE)
8
8
 
9
9
  Keep your lambdas warm during winter.
10
10
 
@@ -63,6 +63,7 @@ The options are the same for all the warmers:
63
63
  * **folderName** Folder to temporarily store the generated code (defaults to `.warmup`)
64
64
  * **cleanFolder** Whether to automatically delete the generated code folder. You might want to keep it if you are doing some custom packaging (defaults to `true`)
65
65
  * **name** Name of the generated warmer lambda (defaults to `${service}-${stage}-warmup-plugin-${warmerName}`)
66
+ * **roleName** Name to be applied to the default warmer lambda role. Ignored if a the role setting is used (defaults to `${service.service}-${stage}-${region}-${warmerName.toLowerCase()}-role`)
66
67
  * **role** Role to apply to the warmer lambda (defaults to the role in the provider)
67
68
  * **tags** Tag to apply to the generated warmer lambda (defaults to the serverless default tags)
68
69
  * **vpc** The VPC and subnets in which to deploy. Can be any [Serverless VPC configuration](https://serverless.com/framework/docs/providers/aws/guide/functions#vpc-configuration) or be set to `false` in order to deploy the warmup function outside of a VPC (defaults to the vpc in the provider)
@@ -95,6 +96,7 @@ custom:
95
96
  cleanFolder: false
96
97
  memorySize: 256
97
98
  name: warmer-default
99
+ roleName: my-custom-role
98
100
  role: WarmupRole
99
101
  tags:
100
102
  Project: foo
@@ -610,8 +612,8 @@ This software is released under the MIT license. See [the license file](LICENSE)
610
612
  [npm-version-badge]: https://badge.fury.io/js/serverless-plugin-warmup.svg
611
613
  [npm-version-badge-url]: https://www.npmjs.com/package/serverless-plugin-warmup
612
614
  [npm-downloads-badge]: https://img.shields.io/npm/dm/serverless-plugin-warmup.svg
613
- [coveralls-badge]: https://coveralls.io/repos/juanjoDiaz/serverless-plugin-warmup/badge.svg?branch=master
614
- [coveralls-badge-url]: https://coveralls.io/r/juanjoDiaz/serverless-plugin-warmup?branch=master
615
+ [coveralls-badge]: https://coveralls.io/repos/juanjoDiaz/serverless-plugin-warmup/badge.svg?branch=main
616
+ [coveralls-badge-url]: https://coveralls.io/r/juanjoDiaz/serverless-plugin-warmup?branch=main
615
617
 
616
618
  ## Acknowledgements
617
619
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-warmup",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "Keep your lambdas warm during winter.",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -35,6 +35,6 @@
35
35
  "eslint-config-airbnb-base": "^15.0.0",
36
36
  "eslint-plugin-import": "^2.24.2",
37
37
  "husky": "^8.0.1",
38
- "jest": "^28.1.3"
38
+ "jest": "^29.1.2"
39
39
  }
40
40
  }
package/src/config.js CHANGED
@@ -15,6 +15,7 @@ function getWarmerConfig(config, defaultOpts) {
15
15
  pathHandler: path.join(folderName, 'index.warmUp'),
16
16
  cleanFolder: (typeof config.cleanFolder === 'boolean') ? config.cleanFolder : defaultOpts.cleanFolder,
17
17
  name: (config.name !== undefined) ? config.name : defaultOpts.name,
18
+ roleName: (config.roleName !== undefined) ? config.roleName : defaultOpts.roleName,
18
19
  role: (config.role !== undefined) ? config.role : defaultOpts.role,
19
20
  tags: (config.tags !== undefined) ? config.tags : defaultOpts.tags,
20
21
  vpc: config.vpc === false ? { securityGroupIds: [], subnetIds: [] }
package/src/schema.js CHANGED
@@ -15,6 +15,7 @@ function extendServerlessSchema(serverless) {
15
15
  folderName: { type: 'string' },
16
16
  cleanFolder: { type: 'boolean' },
17
17
  name: { type: 'string' },
18
+ roleName: { type: 'string' },
18
19
  role: { $ref: '#/definitions/awsLambdaRole' },
19
20
  tags: { $ref: '#/definitions/awsResourceTags' },
20
21
  vpc: {
package/src/warmer.js CHANGED
@@ -26,7 +26,7 @@ function addWarmUpFunctionRoleToResources(service, stage, warmerName, warmerConf
26
26
  Type: 'AWS::IAM::Role',
27
27
  Properties: {
28
28
  Path: '/',
29
- RoleName: {
29
+ RoleName: warmerConfig.roleName || {
30
30
  'Fn::Join': [
31
31
  '-',
32
32
  [
@@ -233,6 +233,7 @@ function addWarmUpFunctionToService(service, warmerName, warmerConfig) {
233
233
  ...(warmerConfig.logRetentionInDays !== undefined
234
234
  ? { logRetentionInDays: warmerConfig.logRetentionInDays }
235
235
  : {}),
236
+ ...(warmerConfig.roleName ? { roleName: warmerConfig.roleName } : {}),
236
237
  ...(warmerConfig.role ? { role: warmerConfig.role } : {}),
237
238
  ...(warmerConfig.tags ? { tags: warmerConfig.tags } : {}),
238
239
  ...(warmerConfig.vpc ? { vpc: warmerConfig.vpc } : {}),