serverless-offline 14.4.0 → 14.6.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016-2024 David Hérault
3
+ Copyright (c) 2016-2026 David Hérault
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,22 +1,20 @@
1
1
  # Serverless Offline
2
2
 
3
3
  <div align="center">
4
- <p>
5
- <sup>
6
- <a href="https://github.com/sponsors/dherault">Serverless-offline is supported by the community.</a>
7
- </sup>
8
- </p>
4
+ We are looking for maintainers!
5
+ <br />
6
+ Please contact <a href="https://github.com/dherault">dherault</a> if you feel you are a good match.
7
+ </div>
8
+ <br />
9
+ <div align="center">
10
+ <sup>
11
+ Serverless-offline is supported by the community.
12
+ </sup>
13
+ <br />
9
14
  <sup>
10
15
  Special thanks to:
11
16
  </sup>
12
- <a href="https://airfriend.app?ref=so">
13
- <div>
14
- <img src="https://airfriend.app/images/logotype.png" height="64" alt="Airfriend">
15
- </div>
16
- <b>
17
- An AI friend on WhatsApp.
18
- </b>
19
- </a>
17
+ <br />
20
18
  <a href="https://arccode.dev?ref=so">
21
19
  <div>
22
20
  <img src="https://arccode.dev/images/logotype.png" height="64" alt="Arccode">
@@ -31,9 +29,6 @@
31
29
  </div>
32
30
  &nbsp;
33
31
  <p>
34
- <a href="https://www.serverless.com">
35
- <img src="http://public.serverless.com/badges/v3.svg">
36
- </a>
37
32
  <a href="https://www.npmjs.com/package/serverless-offline">
38
33
  <img src="https://img.shields.io/npm/v/serverless-offline.svg?style=flat-square">
39
34
  </a>
@@ -898,88 +893,108 @@ We try to follow [Airbnb's JavaScript Style Guide](https://github.com/airbnb/jav
898
893
 
899
894
  ## Contributors
900
895
 
901
- [<img alt="dnalborczyk" src="https://avatars.githubusercontent.com/u/2903325?v=4&s=117" width="117">](https://github.com/dnalborczyk)[<img alt="dherault" src="https://avatars.githubusercontent.com/u/4154003?v=4&s=117" width="117">](https://github.com/dherault)[<img alt="computerpunc" src="https://avatars.githubusercontent.com/u/721008?v=4&s=117" width="117">](https://github.com/computerpunc)[<img alt="frozenbonito" src="https://avatars.githubusercontent.com/u/26363256?v=4&s=117" width="117">](https://github.com/frozenbonito)[<img alt="leonardoalifraco" src="https://avatars.githubusercontent.com/u/2942943?v=4&s=117" width="117">](https://github.com/leonardoalifraco)[<img alt="medikoo" src="https://avatars.githubusercontent.com/u/122434?v=4&s=117" width="117">](https://github.com/medikoo)
896
+ [<img alt="dnalborczyk" src="https://avatars.githubusercontent.com/u/2903325?v=4&s=117" width="117">](https://github.com/dnalborczyk)[<img alt="dherault" src="https://avatars.githubusercontent.com/u/4154003?v=4&s=117" width="117">](https://github.com/dherault)[<img alt="computerpunc" src="https://avatars.githubusercontent.com/u/721008?v=4&s=117" width="117">](https://github.com/computerpunc)[<img alt="frozenbonito" src="https://avatars.githubusercontent.com/u/26363256?v=4&s=117" width="117">](https://github.com/frozenbonito)[<img alt="leonardoalifraco" src="https://avatars.githubusercontent.com/u/2942943?v=4&s=117" width="117">](https://github.com/leonardoalifraco)
897
+
898
+ [<img alt="medikoo" src="https://avatars.githubusercontent.com/u/122434?v=4&s=117" width="117">](https://github.com/medikoo)[<img alt="DorianMazur" src="https://avatars.githubusercontent.com/u/46839236?v=4&s=117" width="117">](https://github.com/DorianMazur)[<img alt="apancutt" src="https://avatars.githubusercontent.com/u/1040525?v=4&s=117" width="117">](https://github.com/apancutt)[<img alt="chardos" src="https://avatars.githubusercontent.com/u/4082442?v=4&s=117" width="117">](https://github.com/chardos)[<img alt="daniel-cottone" src="https://avatars.githubusercontent.com/u/26556340?v=4&s=117" width="117">](https://github.com/daniel-cottone)
899
+
900
+ [<img alt="damon-williams-rm" src="https://avatars.githubusercontent.com/u/254429975?v=4&s=117" width="117">](https://github.com/damon-williams-rm)[<img alt="bryantbiggs" src="https://avatars.githubusercontent.com/u/10913471?v=4&s=117" width="117">](https://github.com/bryantbiggs)[<img alt="pgrzesik" src="https://avatars.githubusercontent.com/u/17499590?v=4&s=117" width="117">](https://github.com/pgrzesik)[<img alt="Bilal-S" src="https://avatars.githubusercontent.com/u/668901?v=4&s=117" width="117">](https://github.com/Bilal-S)[<img alt="mikestaub" src="https://avatars.githubusercontent.com/u/1254558?v=4&s=117" width="117">](https://github.com/mikestaub)
901
+
902
+ [<img alt="juanjoDiaz" src="https://avatars.githubusercontent.com/u/3322485?v=4&s=117" width="117">](https://github.com/juanjoDiaz)[<img alt="frsechet" src="https://avatars.githubusercontent.com/u/7351940?v=4&s=117" width="117">](https://github.com/frsechet)[<img alt="johncmckim" src="https://avatars.githubusercontent.com/u/1297227?v=4&s=117" width="117">](https://github.com/johncmckim)[<img alt="dl748" src="https://avatars.githubusercontent.com/u/4815868?v=4&s=117" width="117">](https://github.com/dl748)[<img alt="zoellner" src="https://avatars.githubusercontent.com/u/2665319?v=4&s=117" width="117">](https://github.com/zoellner)
903
+
904
+ [<img alt="ThisIsNoZaku" src="https://avatars.githubusercontent.com/u/4680766?v=4&s=117" width="117">](https://github.com/ThisIsNoZaku)[<img alt="darthtrevino" src="https://avatars.githubusercontent.com/u/113544?v=4&s=117" width="117">](https://github.com/darthtrevino)[<img alt="NicolasSeiler" src="https://avatars.githubusercontent.com/u/31805224?v=4&s=117" width="117">](https://github.com/NicolasSeiler)[<img alt="miltador" src="https://avatars.githubusercontent.com/u/17062283?v=4&s=117" width="117">](https://github.com/miltador)[<img alt="moroine" src="https://avatars.githubusercontent.com/u/4658821?v=4&s=117" width="117">](https://github.com/moroine)
905
+
906
+ [<img alt="gertjvr" src="https://avatars.githubusercontent.com/u/1691062?v=4&s=117" width="117">](https://github.com/gertjvr)[<img alt="crespowang" src="https://avatars.githubusercontent.com/u/25573589?v=4&s=117" width="117">](https://github.com/crespowang)[<img alt="bytekast" src="https://avatars.githubusercontent.com/u/241901?v=4&s=117" width="117">](https://github.com/bytekast)[<img alt="jormaechea" src="https://avatars.githubusercontent.com/u/5612500?v=4&s=117" width="117">](https://github.com/jormaechea)[<img alt="thomaschaaf" src="https://avatars.githubusercontent.com/u/893393?v=4&s=117" width="117">](https://github.com/thomaschaaf)
907
+
908
+ [<img alt="dortega3000" src="https://avatars.githubusercontent.com/u/6676525?v=4&s=117" width="117">](https://github.com/dortega3000)[<img alt="tom-marsh" src="https://avatars.githubusercontent.com/u/18220186?v=4&s=117" width="117">](https://github.com/tom-marsh)[<img alt="rwynn" src="https://avatars.githubusercontent.com/u/260672?v=4&s=117" width="117">](https://github.com/rwynn)[<img alt="robbtraister" src="https://avatars.githubusercontent.com/u/5815296?v=4&s=117" width="117">](https://github.com/robbtraister)[<img alt="joubertredrat" src="https://avatars.githubusercontent.com/u/1520407?v=4&s=117" width="117">](https://github.com/joubertredrat)
909
+
910
+ [<img alt="jack-seek" src="https://avatars.githubusercontent.com/u/19676584?v=4&s=117" width="117">](https://github.com/jack-seek)[<img alt="perkyguy" src="https://avatars.githubusercontent.com/u/4624648?v=4&s=117" width="117">](https://github.com/perkyguy)[<img alt="ansraliant" src="https://avatars.githubusercontent.com/u/7121475?v=4&s=117" width="117">](https://github.com/ansraliant)[<img alt="hueniverse" src="https://avatars.githubusercontent.com/u/56631?v=4&s=117" width="117">](https://github.com/hueniverse)[<img alt="james-relyea" src="https://avatars.githubusercontent.com/u/1944491?v=4&s=117" width="117">](https://github.com/james-relyea)
911
+
912
+ [<img alt="sulaysumaria" src="https://avatars.githubusercontent.com/u/174357920?v=4&s=117" width="117">](https://github.com/sulaysumaria)[<img alt="paneidos" src="https://avatars.githubusercontent.com/u/125766?v=4&s=117" width="117">](https://github.com/paneidos)[<img alt="ondrowan" src="https://avatars.githubusercontent.com/u/423776?v=4&s=117" width="117">](https://github.com/ondrowan)[<img alt="kajwik" src="https://avatars.githubusercontent.com/u/230137596?v=4&s=117" width="117">](https://github.com/kajwik)[<img alt="franciscocpg" src="https://avatars.githubusercontent.com/u/3680556?v=4&s=117" width="117">](https://github.com/franciscocpg)
913
+
914
+ [<img alt="AyushG3112" src="https://avatars.githubusercontent.com/u/21307931?v=4&s=117" width="117">](https://github.com/AyushG3112)[<img alt="Andorbal" src="https://avatars.githubusercontent.com/u/579839?v=4&s=117" width="117">](https://github.com/Andorbal)[<img alt="AlexHayton" src="https://avatars.githubusercontent.com/u/63102?v=4&s=117" width="117">](https://github.com/AlexHayton)[<img alt="awwong1" src="https://avatars.githubusercontent.com/u/2760111?v=4&s=117" width="117">](https://github.com/awwong1)[<img alt="andreipopovici" src="https://avatars.githubusercontent.com/u/1143417?v=4&s=117" width="117">](https://github.com/andreipopovici)
915
+
916
+ [<img alt="emmoistner" src="https://avatars.githubusercontent.com/u/5419727?v=4&s=117" width="117">](https://github.com/emmoistner)[<img alt="coyoteecd" src="https://avatars.githubusercontent.com/u/47973420?v=4&s=117" width="117">](https://github.com/coyoteecd)[<img alt="OrKoN" src="https://avatars.githubusercontent.com/u/399150?v=4&s=117" width="117">](https://github.com/OrKoN)[<img alt="trevor-leach" src="https://avatars.githubusercontent.com/u/39206334?v=4&s=117" width="117">](https://github.com/trevor-leach)[<img alt="bebbi" src="https://avatars.githubusercontent.com/u/2752391?v=4&s=117" width="117">](https://github.com/bebbi)
902
917
 
903
- [<img alt="apancutt" src="https://avatars.githubusercontent.com/u/1040525?v=4&s=117" width="117">](https://github.com/apancutt)[<img alt="chardos" src="https://avatars.githubusercontent.com/u/4082442?v=4&s=117" width="117">](https://github.com/chardos)[<img alt="daniel-cottone" src="https://avatars.githubusercontent.com/u/26556340?v=4&s=117" width="117">](https://github.com/daniel-cottone)[<img alt="DorianMazur" src="https://avatars.githubusercontent.com/u/46839236?v=4&s=117" width="117">](https://github.com/DorianMazur)[<img alt="bryantbiggs" src="https://avatars.githubusercontent.com/u/10913471?v=4&s=117" width="117">](https://github.com/bryantbiggs)[<img alt="pgrzesik" src="https://avatars.githubusercontent.com/u/17499590?v=4&s=117" width="117">](https://github.com/pgrzesik)
918
+ [<img alt="paulhbarker" src="https://avatars.githubusercontent.com/u/7366567?v=4&s=117" width="117">](https://github.com/paulhbarker)[<img alt="adieuadieu" src="https://avatars.githubusercontent.com/u/438848?v=4&s=117" width="117">](https://github.com/adieuadieu)[<img alt="encounter" src="https://avatars.githubusercontent.com/u/549122?v=4&s=117" width="117">](https://github.com/encounter)[<img alt="leemhenson" src="https://avatars.githubusercontent.com/u/515?v=4&s=117" width="117">](https://github.com/leemhenson)[<img alt="henrist" src="https://avatars.githubusercontent.com/u/703354?v=4&s=117" width="117">](https://github.com/henrist)
904
919
 
905
- [<img alt="mikestaub" src="https://avatars.githubusercontent.com/u/1254558?v=4&s=117" width="117">](https://github.com/mikestaub)[<img alt="Bilal-S" src="https://avatars.githubusercontent.com/u/668901?v=4&s=117" width="117">](https://github.com/Bilal-S)[<img alt="juanjoDiaz" src="https://avatars.githubusercontent.com/u/3322485?v=4&s=117" width="117">](https://github.com/juanjoDiaz)[<img alt="zoellner" src="https://avatars.githubusercontent.com/u/2665319?v=4&s=117" width="117">](https://github.com/zoellner)[<img alt="frsechet" src="https://avatars.githubusercontent.com/u/7351940?v=4&s=117" width="117">](https://github.com/frsechet)[<img alt="johncmckim" src="https://avatars.githubusercontent.com/u/1297227?v=4&s=117" width="117">](https://github.com/johncmckim)
920
+ [<img alt="ALOHACREPES345" src="https://avatars.githubusercontent.com/u/51868219?v=4&s=117" width="117">](https://github.com/ALOHACREPES345)[<img alt="Bob-Thomas" src="https://avatars.githubusercontent.com/u/2785213?v=4&s=117" width="117">](https://github.com/Bob-Thomas)[<img alt="cnuss" src="https://avatars.githubusercontent.com/u/819991?v=4&s=117" width="117">](https://github.com/cnuss)[<img alt="c24w" src="https://avatars.githubusercontent.com/u/710406?v=4&s=117" width="117">](https://github.com/c24w)[<img alt="Rawne" src="https://avatars.githubusercontent.com/u/1477918?v=4&s=117" width="117">](https://github.com/Rawne)
906
921
 
907
- [<img alt="dl748" src="https://avatars.githubusercontent.com/u/4815868?v=4&s=117" width="117">](https://github.com/dl748)[<img alt="ThisIsNoZaku" src="https://avatars.githubusercontent.com/u/4680766?v=4&s=117" width="117">](https://github.com/ThisIsNoZaku)[<img alt="darthtrevino" src="https://avatars.githubusercontent.com/u/113544?v=4&s=117" width="117">](https://github.com/darthtrevino)[<img alt="NicolasSeiler" src="https://avatars.githubusercontent.com/u/31805224?v=4&s=117" width="117">](https://github.com/NicolasSeiler)[<img alt="miltador" src="https://avatars.githubusercontent.com/u/17062283?v=4&s=117" width="117">](https://github.com/miltador)[<img alt="moroine" src="https://avatars.githubusercontent.com/u/4658821?v=4&s=117" width="117">](https://github.com/moroine)
922
+ [<img alt="raySavignone" src="https://avatars.githubusercontent.com/u/10362370?v=4&s=117" width="117">](https://github.com/raySavignone)[<img alt="pierreis" src="https://avatars.githubusercontent.com/u/203973?v=4&s=117" width="117">](https://github.com/pierreis)[<img alt="pmuens" src="https://avatars.githubusercontent.com/u/1606004?v=4&s=117" width="117">](https://github.com/pmuens)[<img alt="mzmiric5" src="https://avatars.githubusercontent.com/u/1480072?v=4&s=117" width="117">](https://github.com/mzmiric5)[<img alt="purefan" src="https://avatars.githubusercontent.com/u/315880?v=4&s=117" width="117">](https://github.com/purefan)
908
923
 
909
- [<img alt="gertjvr" src="https://avatars.githubusercontent.com/u/1691062?v=4&s=117" width="117">](https://github.com/gertjvr)[<img alt="bytekast" src="https://avatars.githubusercontent.com/u/241901?v=4&s=117" width="117">](https://github.com/bytekast)[<img alt="jormaechea" src="https://avatars.githubusercontent.com/u/5612500?v=4&s=117" width="117">](https://github.com/jormaechea)[<img alt="thomaschaaf" src="https://avatars.githubusercontent.com/u/893393?v=4&s=117" width="117">](https://github.com/thomaschaaf)[<img alt="dortega3000" src="https://avatars.githubusercontent.com/u/6676525?v=4&s=117" width="117">](https://github.com/dortega3000)[<img alt="tom-marsh" src="https://avatars.githubusercontent.com/u/18220186?v=4&s=117" width="117">](https://github.com/tom-marsh)
924
+ [<img alt="matt-peck" src="https://avatars.githubusercontent.com/u/18297252?v=4&s=117" width="117">](https://github.com/matt-peck)[<img alt="marccampbell" src="https://avatars.githubusercontent.com/u/173451?v=4&s=117" width="117">](https://github.com/marccampbell)[<img alt="ablythe" src="https://avatars.githubusercontent.com/u/6164745?v=4&s=117" width="117">](https://github.com/ablythe)[<img alt="selcukcihan" src="https://avatars.githubusercontent.com/u/7043904?v=4&s=117" width="117">](https://github.com/selcukcihan)[<img alt="shalvah" src="https://avatars.githubusercontent.com/u/14361073?v=4&s=117" width="117">](https://github.com/shalvah)
910
925
 
911
- [<img alt="rwynn" src="https://avatars.githubusercontent.com/u/260672?v=4&s=117" width="117">](https://github.com/rwynn)[<img alt="robbtraister" src="https://avatars.githubusercontent.com/u/5815296?v=4&s=117" width="117">](https://github.com/robbtraister)[<img alt="joubertredrat" src="https://avatars.githubusercontent.com/u/1520407?v=4&s=117" width="117">](https://github.com/joubertredrat)[<img alt="jack-seek" src="https://avatars.githubusercontent.com/u/19676584?v=4&s=117" width="117">](https://github.com/jack-seek)[<img alt="perkyguy" src="https://avatars.githubusercontent.com/u/4624648?v=4&s=117" width="117">](https://github.com/perkyguy)[<img alt="ansraliant" src="https://avatars.githubusercontent.com/u/7121475?v=4&s=117" width="117">](https://github.com/ansraliant)
926
+ [<img alt="footballencarta" src="https://avatars.githubusercontent.com/u/1312258?v=4&s=117" width="117">](https://github.com/footballencarta)[<img alt="francisu" src="https://avatars.githubusercontent.com/u/944949?v=4&s=117" width="117">](https://github.com/francisu)[<img alt="haider-zada96" src="https://avatars.githubusercontent.com/u/65647762?v=4&s=117" width="117">](https://github.com/haider-zada96)[<img alt="naomichi-y" src="https://avatars.githubusercontent.com/u/1632478?v=4&s=117" width="117">](https://github.com/naomichi-y)[<img alt="patrickheeney" src="https://avatars.githubusercontent.com/u/1407228?v=4&s=117" width="117">](https://github.com/patrickheeney)
912
927
 
913
- [<img alt="hueniverse" src="https://avatars.githubusercontent.com/u/56631?v=4&s=117" width="117">](https://github.com/hueniverse)[<img alt="james-relyea" src="https://avatars.githubusercontent.com/u/1944491?v=4&s=117" width="117">](https://github.com/james-relyea)[<img alt="sulaysumaria" src="https://avatars.githubusercontent.com/u/174357920?v=4&s=117" width="117">](https://github.com/sulaysumaria)[<img alt="ondrowan" src="https://avatars.githubusercontent.com/u/423776?v=4&s=117" width="117">](https://github.com/ondrowan)[<img alt="franciscocpg" src="https://avatars.githubusercontent.com/u/3680556?v=4&s=117" width="117">](https://github.com/franciscocpg)[<img alt="AyushG3112" src="https://avatars.githubusercontent.com/u/21307931?v=4&s=117" width="117">](https://github.com/AyushG3112)
928
+ [<img alt="re1ro" src="https://avatars.githubusercontent.com/u/470292?v=4&s=117" width="117">](https://github.com/re1ro)[<img alt="andidev" src="https://avatars.githubusercontent.com/u/571389?v=4&s=117" width="117">](https://github.com/andidev)[<img alt="arnas" src="https://avatars.githubusercontent.com/u/13507001?v=4&s=117" width="117">](https://github.com/arnas)[<img alt="clschnei" src="https://avatars.githubusercontent.com/u/1232625?v=4&s=117" width="117">](https://github.com/clschnei)[<img alt="d10-cc" src="https://avatars.githubusercontent.com/u/94011455?v=4&s=117" width="117">](https://github.com/d10-cc)
914
929
 
915
- [<img alt="Andorbal" src="https://avatars.githubusercontent.com/u/579839?v=4&s=117" width="117">](https://github.com/Andorbal)[<img alt="AlexHayton" src="https://avatars.githubusercontent.com/u/63102?v=4&s=117" width="117">](https://github.com/AlexHayton)[<img alt="andreipopovici" src="https://avatars.githubusercontent.com/u/1143417?v=4&s=117" width="117">](https://github.com/andreipopovici)[<img alt="awwong1" src="https://avatars.githubusercontent.com/u/2760111?v=4&s=117" width="117">](https://github.com/awwong1)[<img alt="emmoistner" src="https://avatars.githubusercontent.com/u/5419727?v=4&s=117" width="117">](https://github.com/emmoistner)[<img alt="coyoteecd" src="https://avatars.githubusercontent.com/u/47973420?v=4&s=117" width="117">](https://github.com/coyoteecd)
930
+ [<img alt="pettyalex" src="https://avatars.githubusercontent.com/u/3219141?v=4&s=117" width="117">](https://github.com/pettyalex)[<img alt="domdomegg" src="https://avatars.githubusercontent.com/u/4953590?v=4&s=117" width="117">](https://github.com/domdomegg)[<img alt="apalumbo" src="https://avatars.githubusercontent.com/u/1729784?v=4&s=117" width="117">](https://github.com/apalumbo)[<img alt="rion18" src="https://avatars.githubusercontent.com/u/5338637?v=4&s=117" width="117">](https://github.com/rion18)[<img alt="anishkny" src="https://avatars.githubusercontent.com/u/357499?v=4&s=117" width="117">](https://github.com/anishkny)
916
931
 
917
- [<img alt="OrKoN" src="https://avatars.githubusercontent.com/u/399150?v=4&s=117" width="117">](https://github.com/OrKoN)[<img alt="trevor-leach" src="https://avatars.githubusercontent.com/u/39206334?v=4&s=117" width="117">](https://github.com/trevor-leach)[<img alt="bebbi" src="https://avatars.githubusercontent.com/u/2752391?v=4&s=117" width="117">](https://github.com/bebbi)[<img alt="paulhbarker" src="https://avatars.githubusercontent.com/u/7366567?v=4&s=117" width="117">](https://github.com/paulhbarker)[<img alt="njriordan" src="https://avatars.githubusercontent.com/u/11200170?v=4&s=117" width="117">](https://github.com/njriordan)[<img alt="adieuadieu" src="https://avatars.githubusercontent.com/u/438848?v=4&s=117" width="117">](https://github.com/adieuadieu)
932
+ [<img alt="cameroncooper" src="https://avatars.githubusercontent.com/u/898689?v=4&s=117" width="117">](https://github.com/cameroncooper)[<img alt="cmuto09" src="https://avatars.githubusercontent.com/u/4679612?v=4&s=117" width="117">](https://github.com/cmuto09)[<img alt="dschep" src="https://avatars.githubusercontent.com/u/667763?v=4&s=117" width="117">](https://github.com/dschep)[<img alt="dimadk24" src="https://avatars.githubusercontent.com/u/25607790?v=4&s=117" width="117">](https://github.com/dimadk24)[<img alt="astron8t-voyagerx" src="https://avatars.githubusercontent.com/u/131428302?v=4&s=117" width="117">](https://github.com/astron8t-voyagerx)
918
933
 
919
- [<img alt="encounter" src="https://avatars.githubusercontent.com/u/549122?v=4&s=117" width="117">](https://github.com/encounter)[<img alt="leemhenson" src="https://avatars.githubusercontent.com/u/515?v=4&s=117" width="117">](https://github.com/leemhenson)[<img alt="ALOHACREPES345" src="https://avatars.githubusercontent.com/u/51868219?v=4&s=117" width="117">](https://github.com/ALOHACREPES345)[<img alt="Bob-Thomas" src="https://avatars.githubusercontent.com/u/2785213?v=4&s=117" width="117">](https://github.com/Bob-Thomas)[<img alt="c24w" src="https://avatars.githubusercontent.com/u/710406?v=4&s=117" width="117">](https://github.com/c24w)[<img alt="cnuss" src="https://avatars.githubusercontent.com/u/819991?v=4&s=117" width="117">](https://github.com/cnuss)
934
+ [<img alt="dwbelliston" src="https://avatars.githubusercontent.com/u/11450118?v=4&s=117" width="117">](https://github.com/dwbelliston)[<img alt="efrain17" src="https://avatars.githubusercontent.com/u/21026552?v=4&s=117" width="117">](https://github.com/efrain17)[<img alt="eabadjiev" src="https://avatars.githubusercontent.com/u/934059?v=4&s=117" width="117">](https://github.com/eabadjiev)[<img alt="tqfipe" src="https://avatars.githubusercontent.com/u/19840740?v=4&s=117" width="117">](https://github.com/tqfipe)[<img alt="G-Rath" src="https://avatars.githubusercontent.com/u/3151613?v=4&s=117" width="117">](https://github.com/G-Rath)
920
935
 
921
- [<img alt="raySavignone" src="https://avatars.githubusercontent.com/u/10362370?v=4&s=117" width="117">](https://github.com/raySavignone)[<img alt="pierreis" src="https://avatars.githubusercontent.com/u/203973?v=4&s=117" width="117">](https://github.com/pierreis)[<img alt="pmuens" src="https://avatars.githubusercontent.com/u/1606004?v=4&s=117" width="117">](https://github.com/pmuens)[<img alt="mzmiric5" src="https://avatars.githubusercontent.com/u/1480072?v=4&s=117" width="117">](https://github.com/mzmiric5)[<img alt="purefan" src="https://avatars.githubusercontent.com/u/315880?v=4&s=117" width="117">](https://github.com/purefan)[<img alt="matt-peck" src="https://avatars.githubusercontent.com/u/18297252?v=4&s=117" width="117">](https://github.com/matt-peck)
936
+ [<img alt="garunski" src="https://avatars.githubusercontent.com/u/1002770?v=4&s=117" width="117">](https://github.com/garunski)[<img alt="jeroenvollenbrock" src="https://avatars.githubusercontent.com/u/4551130?v=4&s=117" width="117">](https://github.com/jeroenvollenbrock)[<img alt="joewestcott" src="https://avatars.githubusercontent.com/u/11187741?v=4&s=117" width="117">](https://github.com/joewestcott)[<img alt="djcrabhat" src="https://avatars.githubusercontent.com/u/803042?v=4&s=117" width="117">](https://github.com/djcrabhat)[<img alt="perrin4869" src="https://avatars.githubusercontent.com/u/5774716?v=4&s=117" width="117">](https://github.com/perrin4869)
922
937
 
923
- [<img alt="marccampbell" src="https://avatars.githubusercontent.com/u/173451?v=4&s=117" width="117">](https://github.com/marccampbell)[<img alt="djcrabhat" src="https://avatars.githubusercontent.com/u/803042?v=4&s=117" width="117">](https://github.com/djcrabhat)[<img alt="ablythe" src="https://avatars.githubusercontent.com/u/6164745?v=4&s=117" width="117">](https://github.com/ablythe)[<img alt="Rawne" src="https://avatars.githubusercontent.com/u/1477918?v=4&s=117" width="117">](https://github.com/Rawne)[<img alt="selcukcihan" src="https://avatars.githubusercontent.com/u/7043904?v=4&s=117" width="117">](https://github.com/selcukcihan)[<img alt="shalvah" src="https://avatars.githubusercontent.com/u/14361073?v=4&s=117" width="117">](https://github.com/shalvah)
938
+ [<img alt="njyjn" src="https://avatars.githubusercontent.com/u/10694375?v=4&s=117" width="117">](https://github.com/njyjn)[<img alt="DocLM" src="https://avatars.githubusercontent.com/u/2318483?v=4&s=117" width="117">](https://github.com/DocLM)[<img alt="rfranco" src="https://avatars.githubusercontent.com/u/399203?v=4&s=117" width="117">](https://github.com/rfranco)[<img alt="uh-zz" src="https://avatars.githubusercontent.com/u/47747828?v=4&s=117" width="117">](https://github.com/uh-zz)[<img alt="juarezjaramillo" src="https://avatars.githubusercontent.com/u/4152822?v=4&s=117" width="117">](https://github.com/juarezjaramillo)
924
939
 
925
- [<img alt="footballencarta" src="https://avatars.githubusercontent.com/u/1312258?v=4&s=117" width="117">](https://github.com/footballencarta)[<img alt="francisu" src="https://avatars.githubusercontent.com/u/944949?v=4&s=117" width="117">](https://github.com/francisu)[<img alt="patrickheeney" src="https://avatars.githubusercontent.com/u/1407228?v=4&s=117" width="117">](https://github.com/patrickheeney)[<img alt="re1ro" src="https://avatars.githubusercontent.com/u/470292?v=4&s=117" width="117">](https://github.com/re1ro)[<img alt="andidev" src="https://avatars.githubusercontent.com/u/571389?v=4&s=117" width="117">](https://github.com/andidev)[<img alt="arnas" src="https://avatars.githubusercontent.com/u/13507001?v=4&s=117" width="117">](https://github.com/arnas)
940
+ [<img alt="Raph22" src="https://avatars.githubusercontent.com/u/18127594?v=4&s=117" width="117">](https://github.com/Raph22)[<img alt="randytarampi" src="https://avatars.githubusercontent.com/u/592216?v=4&s=117" width="117">](https://github.com/randytarampi)[<img alt="PsychicCat" src="https://avatars.githubusercontent.com/u/4073856?v=4&s=117" width="117">](https://github.com/PsychicCat)[<img alt="petetnt" src="https://avatars.githubusercontent.com/u/7641760?v=4&s=117" width="117">](https://github.com/petetnt)[<img alt="thepont" src="https://avatars.githubusercontent.com/u/2901992?v=4&s=117" width="117">](https://github.com/thepont)
926
941
 
927
- [<img alt="clschnei" src="https://avatars.githubusercontent.com/u/1232625?v=4&s=117" width="117">](https://github.com/clschnei)[<img alt="d10-cc" src="https://avatars.githubusercontent.com/u/94011455?v=4&s=117" width="117">](https://github.com/d10-cc)[<img alt="pettyalex" src="https://avatars.githubusercontent.com/u/3219141?v=4&s=117" width="117">](https://github.com/pettyalex)[<img alt="domdomegg" src="https://avatars.githubusercontent.com/u/4953590?v=4&s=117" width="117">](https://github.com/domdomegg)[<img alt="apalumbo" src="https://avatars.githubusercontent.com/u/1729784?v=4&s=117" width="117">](https://github.com/apalumbo)[<img alt="rion18" src="https://avatars.githubusercontent.com/u/5338637?v=4&s=117" width="117">](https://github.com/rion18)
942
+ [<img alt="parasgera" src="https://avatars.githubusercontent.com/u/4932306?v=4&s=117" width="117">](https://github.com/parasgera)[<img alt="Trott" src="https://avatars.githubusercontent.com/u/718899?v=4&s=117" width="117">](https://github.com/Trott)[<img alt="RichiCoder1" src="https://avatars.githubusercontent.com/u/2391878?v=4&s=117" width="117">](https://github.com/RichiCoder1)[<img alt="rishi8094" src="https://avatars.githubusercontent.com/u/20362222?v=4&s=117" width="117">](https://github.com/rishi8094)[<img alt="rloomans" src="https://avatars.githubusercontent.com/u/92133?v=4&s=117" width="117">](https://github.com/rloomans)
928
943
 
929
- [<img alt="anishkny" src="https://avatars.githubusercontent.com/u/357499?v=4&s=117" width="117">](https://github.com/anishkny)[<img alt="cameroncooper" src="https://avatars.githubusercontent.com/u/898689?v=4&s=117" width="117">](https://github.com/cameroncooper)[<img alt="cmuto09" src="https://avatars.githubusercontent.com/u/4679612?v=4&s=117" width="117">](https://github.com/cmuto09)[<img alt="dschep" src="https://avatars.githubusercontent.com/u/667763?v=4&s=117" width="117">](https://github.com/dschep)[<img alt="dimadk24" src="https://avatars.githubusercontent.com/u/25607790?v=4&s=117" width="117">](https://github.com/dimadk24)[<img alt="dwbelliston" src="https://avatars.githubusercontent.com/u/11450118?v=4&s=117" width="117">](https://github.com/dwbelliston)
944
+ [<img alt="roberttaylor426" src="https://avatars.githubusercontent.com/u/535032?v=4&s=117" width="117">](https://github.com/roberttaylor426)[<img alt="wwsno" src="https://avatars.githubusercontent.com/u/6328924?v=4&s=117" width="117">](https://github.com/wwsno)[<img alt="gribnoysup" src="https://avatars.githubusercontent.com/u/5036933?v=4&s=117" width="117">](https://github.com/gribnoysup)[<img alt="sergiodurand" src="https://avatars.githubusercontent.com/u/19421918?v=4&s=117" width="117">](https://github.com/sergiodurand)[<img alt="sethetter" src="https://avatars.githubusercontent.com/u/655500?v=4&s=117" width="117">](https://github.com/sethetter)
930
945
 
931
- [<img alt="LoganArnett" src="https://avatars.githubusercontent.com/u/8780547?v=4&s=117" width="117">](https://github.com/LoganArnett)[<img alt="DocLM" src="https://avatars.githubusercontent.com/u/2318483?v=4&s=117" width="117">](https://github.com/DocLM)[<img alt="njyjn" src="https://avatars.githubusercontent.com/u/10694375?v=4&s=117" width="117">](https://github.com/njyjn)[<img alt="perrin4869" src="https://avatars.githubusercontent.com/u/5774716?v=4&s=117" width="117">](https://github.com/perrin4869)[<img alt="joewestcott" src="https://avatars.githubusercontent.com/u/11187741?v=4&s=117" width="117">](https://github.com/joewestcott)[<img alt="jeroenvollenbrock" src="https://avatars.githubusercontent.com/u/4551130?v=4&s=117" width="117">](https://github.com/jeroenvollenbrock)
946
+ [<img alt="drace-rgare" src="https://avatars.githubusercontent.com/u/96196419?v=4&s=117" width="117">](https://github.com/drace-rgare)[<img alt="jeromemacias" src="https://avatars.githubusercontent.com/u/582446?v=4&s=117" width="117">](https://github.com/jeromemacias)[<img alt="kdybicz" src="https://avatars.githubusercontent.com/u/13134892?v=4&s=117" width="117">](https://github.com/kdybicz)[<img alt="kenleytomlin" src="https://avatars.githubusercontent.com/u/3004590?v=4&s=117" width="117">](https://github.com/kenleytomlin)[<img alt="kevinhankens" src="https://avatars.githubusercontent.com/u/679364?v=4&s=117" width="117">](https://github.com/kevinhankens)
932
947
 
933
- [<img alt="garunski" src="https://avatars.githubusercontent.com/u/1002770?v=4&s=117" width="117">](https://github.com/garunski)[<img alt="G-Rath" src="https://avatars.githubusercontent.com/u/3151613?v=4&s=117" width="117">](https://github.com/G-Rath)[<img alt="tqfipe" src="https://avatars.githubusercontent.com/u/19840740?v=4&s=117" width="117">](https://github.com/tqfipe)[<img alt="eabadjiev" src="https://avatars.githubusercontent.com/u/934059?v=4&s=117" width="117">](https://github.com/eabadjiev)[<img alt="efrain17" src="https://avatars.githubusercontent.com/u/21026552?v=4&s=117" width="117">](https://github.com/efrain17)[<img alt="thepont" src="https://avatars.githubusercontent.com/u/2901992?v=4&s=117" width="117">](https://github.com/thepont)
948
+ [<img alt="kerueter" src="https://avatars.githubusercontent.com/u/16644743?v=4&s=117" width="117">](https://github.com/kerueter)[<img alt="ktwbc" src="https://avatars.githubusercontent.com/u/624611?v=4&s=117" width="117">](https://github.com/ktwbc)[<img alt="kohanian" src="https://avatars.githubusercontent.com/u/8570821?v=4&s=117" width="117">](https://github.com/kohanian)[<img alt="kyusungpark" src="https://avatars.githubusercontent.com/u/58890841?v=4&s=117" width="117">](https://github.com/kyusungpark)[<img alt="lalifraco-devspark" src="https://avatars.githubusercontent.com/u/13339324?v=4&s=117" width="117">](https://github.com/lalifraco-devspark)
934
949
 
935
- [<img alt="petetnt" src="https://avatars.githubusercontent.com/u/7641760?v=4&s=117" width="117">](https://github.com/petetnt)[<img alt="PsychicCat" src="https://avatars.githubusercontent.com/u/4073856?v=4&s=117" width="117">](https://github.com/PsychicCat)[<img alt="randytarampi" src="https://avatars.githubusercontent.com/u/592216?v=4&s=117" width="117">](https://github.com/randytarampi)[<img alt="Raph22" src="https://avatars.githubusercontent.com/u/18127594?v=4&s=117" width="117">](https://github.com/Raph22)[<img alt="juarezjaramillo" src="https://avatars.githubusercontent.com/u/4152822?v=4&s=117" width="117">](https://github.com/juarezjaramillo)[<img alt="uh-zz" src="https://avatars.githubusercontent.com/u/47747828?v=4&s=117" width="117">](https://github.com/uh-zz)
950
+ [<img alt="DynamicSTOP" src="https://avatars.githubusercontent.com/u/9434504?v=4&s=117" width="117">](https://github.com/DynamicSTOP)[<img alt="brazilianbytes" src="https://avatars.githubusercontent.com/u/1900570?v=4&s=117" width="117">](https://github.com/brazilianbytes)[<img alt="m4i3r" src="https://avatars.githubusercontent.com/u/106649997?v=4&s=117" width="117">](https://github.com/m4i3r)[<img alt="Marcel-G" src="https://avatars.githubusercontent.com/u/2770666?v=4&s=117" width="117">](https://github.com/Marcel-G)[<img alt="neverendingqs" src="https://avatars.githubusercontent.com/u/8854618?v=4&s=117" width="117">](https://github.com/neverendingqs)
936
951
 
937
- [<img alt="rfranco" src="https://avatars.githubusercontent.com/u/399203?v=4&s=117" width="117">](https://github.com/rfranco)[<img alt="Trott" src="https://avatars.githubusercontent.com/u/718899?v=4&s=117" width="117">](https://github.com/Trott)[<img alt="RichiCoder1" src="https://avatars.githubusercontent.com/u/2391878?v=4&s=117" width="117">](https://github.com/RichiCoder1)[<img alt="rishi8094" src="https://avatars.githubusercontent.com/u/20362222?v=4&s=117" width="117">](https://github.com/rishi8094)[<img alt="rloomans" src="https://avatars.githubusercontent.com/u/92133?v=4&s=117" width="117">](https://github.com/rloomans)[<img alt="roberttaylor426" src="https://avatars.githubusercontent.com/u/535032?v=4&s=117" width="117">](https://github.com/roberttaylor426)
952
+ [<img alt="msjonker" src="https://avatars.githubusercontent.com/u/781683?v=4&s=117" width="117">](https://github.com/msjonker)[<img alt="Takeno" src="https://avatars.githubusercontent.com/u/1499063?v=4&s=117" width="117">](https://github.com/Takeno)[<img alt="kelchm" src="https://avatars.githubusercontent.com/u/172301?v=4&s=117" width="117">](https://github.com/kelchm)[<img alt="mjmac" src="https://avatars.githubusercontent.com/u/83737?v=4&s=117" width="117">](https://github.com/mjmac)[<img alt="mohokh67" src="https://avatars.githubusercontent.com/u/10816168?v=4&s=117" width="117">](https://github.com/mohokh67)
938
953
 
939
- [<img alt="wwsno" src="https://avatars.githubusercontent.com/u/6328924?v=4&s=117" width="117">](https://github.com/wwsno)[<img alt="gribnoysup" src="https://avatars.githubusercontent.com/u/5036933?v=4&s=117" width="117">](https://github.com/gribnoysup)[<img alt="sergiodurand" src="https://avatars.githubusercontent.com/u/19421918?v=4&s=117" width="117">](https://github.com/sergiodurand)[<img alt="sethetter" src="https://avatars.githubusercontent.com/u/655500?v=4&s=117" width="117">](https://github.com/sethetter)[<img alt="shineli-not-used-anymore" src="https://avatars.githubusercontent.com/u/1043331?v=4&s=117" width="117">](https://github.com/shineli-not-used-anymore)[<img alt="ericctsf" src="https://avatars.githubusercontent.com/u/42775388?v=4&s=117" width="117">](https://github.com/ericctsf)
954
+ [<img alt="AlexHladin" src="https://avatars.githubusercontent.com/u/7945837?v=4&s=117" width="117">](https://github.com/AlexHladin)[<img alt="ojongerius" src="https://avatars.githubusercontent.com/u/1726055?v=4&s=117" width="117">](https://github.com/ojongerius)[<img alt="ericctsf" src="https://avatars.githubusercontent.com/u/42775388?v=4&s=117" width="117">](https://github.com/ericctsf)[<img alt="furipon308" src="https://avatars.githubusercontent.com/u/12597185?v=4&s=117" width="117">](https://github.com/furipon308)[<img alt="hsz" src="https://avatars.githubusercontent.com/u/108333?v=4&s=117" width="117">](https://github.com/hsz)
940
955
 
941
- [<img alt="BorjaMacedo" src="https://avatars.githubusercontent.com/u/16381759?v=4&s=117" width="117">](https://github.com/BorjaMacedo)[<img alt="kdybicz" src="https://avatars.githubusercontent.com/u/13134892?v=4&s=117" width="117">](https://github.com/kdybicz)[<img alt="kenleytomlin" src="https://avatars.githubusercontent.com/u/3004590?v=4&s=117" width="117">](https://github.com/kenleytomlin)[<img alt="kevinhankens" src="https://avatars.githubusercontent.com/u/679364?v=4&s=117" width="117">](https://github.com/kevinhankens)[<img alt="kerueter" src="https://avatars.githubusercontent.com/u/16644743?v=4&s=117" width="117">](https://github.com/kerueter)[<img alt="ktwbc" src="https://avatars.githubusercontent.com/u/624611?v=4&s=117" width="117">](https://github.com/ktwbc)
956
+ [<img alt="jeffhall4" src="https://avatars.githubusercontent.com/u/14976795?v=4&s=117" width="117">](https://github.com/jeffhall4)[<img alt="jgilbert01" src="https://avatars.githubusercontent.com/u/1082126?v=4&s=117" width="117">](https://github.com/jgilbert01)[<img alt="polaris340" src="https://avatars.githubusercontent.com/u/2861192?v=4&s=117" width="117">](https://github.com/polaris340)[<img alt="khanguyen88" src="https://avatars.githubusercontent.com/u/26890183?v=4&s=117" width="117">](https://github.com/khanguyen88)[<img alt="kobanyan" src="https://avatars.githubusercontent.com/u/14950314?v=4&s=117" width="117">](https://github.com/kobanyan)
942
957
 
943
- [<img alt="kohanian" src="https://avatars.githubusercontent.com/u/8570821?v=4&s=117" width="117">](https://github.com/kohanian)[<img alt="kyusungpark" src="https://avatars.githubusercontent.com/u/58890841?v=4&s=117" width="117">](https://github.com/kyusungpark)[<img alt="lalifraco-devspark" src="https://avatars.githubusercontent.com/u/13339324?v=4&s=117" width="117">](https://github.com/lalifraco-devspark)[<img alt="DynamicSTOP" src="https://avatars.githubusercontent.com/u/9434504?v=4&s=117" width="117">](https://github.com/DynamicSTOP)[<img alt="brazilianbytes" src="https://avatars.githubusercontent.com/u/1900570?v=4&s=117" width="117">](https://github.com/brazilianbytes)[<img alt="Marcel-G" src="https://avatars.githubusercontent.com/u/2770666?v=4&s=117" width="117">](https://github.com/Marcel-G)
958
+ [<img alt="livingmine" src="https://avatars.githubusercontent.com/u/7286614?v=4&s=117" width="117">](https://github.com/livingmine)[<img alt="lteacher" src="https://avatars.githubusercontent.com/u/6103860?v=4&s=117" width="117">](https://github.com/lteacher)[<img alt="martinmicunda" src="https://avatars.githubusercontent.com/u/1643606?v=4&s=117" width="117">](https://github.com/martinmicunda)[<img alt="nick-w-nick" src="https://avatars.githubusercontent.com/u/43578531?v=4&s=117" width="117">](https://github.com/nick-w-nick)[<img alt="nori3tsu" src="https://avatars.githubusercontent.com/u/379587?v=4&s=117" width="117">](https://github.com/nori3tsu)
944
959
 
945
- [<img alt="neverendingqs" src="https://avatars.githubusercontent.com/u/8854618?v=4&s=117" width="117">](https://github.com/neverendingqs)[<img alt="msjonker" src="https://avatars.githubusercontent.com/u/781683?v=4&s=117" width="117">](https://github.com/msjonker)[<img alt="Takeno" src="https://avatars.githubusercontent.com/u/1499063?v=4&s=117" width="117">](https://github.com/Takeno)[<img alt="kelchm" src="https://avatars.githubusercontent.com/u/172301?v=4&s=117" width="117">](https://github.com/kelchm)[<img alt="mjmac" src="https://avatars.githubusercontent.com/u/83737?v=4&s=117" width="117">](https://github.com/mjmac)[<img alt="mohokh67" src="https://avatars.githubusercontent.com/u/10816168?v=4&s=117" width="117">](https://github.com/mohokh67)
960
+ [<img alt="ppasmanik" src="https://avatars.githubusercontent.com/u/3534835?v=4&s=117" width="117">](https://github.com/ppasmanik)[<img alt="ryanzyy" src="https://avatars.githubusercontent.com/u/2299226?v=4&s=117" width="117">](https://github.com/ryanzyy)[<img alt="skhrapko-amplify" src="https://avatars.githubusercontent.com/u/103408480?v=4&s=117" width="117">](https://github.com/skhrapko-amplify)[<img alt="tom-stclair" src="https://avatars.githubusercontent.com/u/96192789?v=4&s=117" width="117">](https://github.com/tom-stclair)[<img alt="tveal" src="https://avatars.githubusercontent.com/u/42526035?v=4&s=117" width="117">](https://github.com/tveal)
946
961
 
947
- [<img alt="AlexHladin" src="https://avatars.githubusercontent.com/u/7945837?v=4&s=117" width="117">](https://github.com/AlexHladin)[<img alt="ojongerius" src="https://avatars.githubusercontent.com/u/1726055?v=4&s=117" width="117">](https://github.com/ojongerius)[<img alt="parasgera" src="https://avatars.githubusercontent.com/u/4932306?v=4&s=117" width="117">](https://github.com/parasgera)[<img alt="furipon308" src="https://avatars.githubusercontent.com/u/12597185?v=4&s=117" width="117">](https://github.com/furipon308)[<img alt="hsz" src="https://avatars.githubusercontent.com/u/108333?v=4&s=117" width="117">](https://github.com/hsz)[<img alt="jeffhall4" src="https://avatars.githubusercontent.com/u/14976795?v=4&s=117" width="117">](https://github.com/jeffhall4)
962
+ [<img alt="constb" src="https://avatars.githubusercontent.com/u/1006766?v=4&s=117" width="117">](https://github.com/constb)[<img alt="dfffpoi" src="https://avatars.githubusercontent.com/u/1043331?v=4&s=117" width="117">](https://github.com/dfffpoi)[<img alt="stesie" src="https://avatars.githubusercontent.com/u/113068?v=4&s=117" width="117">](https://github.com/stesie)[<img alt="stevemao" src="https://avatars.githubusercontent.com/u/6316590?v=4&s=117" width="117">](https://github.com/stevemao)[<img alt="trsrm" src="https://avatars.githubusercontent.com/u/1160872?v=4&s=117" width="117">](https://github.com/trsrm)
948
963
 
949
- [<img alt="jgilbert01" src="https://avatars.githubusercontent.com/u/1082126?v=4&s=117" width="117">](https://github.com/jgilbert01)[<img alt="polaris340" src="https://avatars.githubusercontent.com/u/2861192?v=4&s=117" width="117">](https://github.com/polaris340)[<img alt="khanguyen88" src="https://avatars.githubusercontent.com/u/26890183?v=4&s=117" width="117">](https://github.com/khanguyen88)[<img alt="kobanyan" src="https://avatars.githubusercontent.com/u/14950314?v=4&s=117" width="117">](https://github.com/kobanyan)[<img alt="livingmine" src="https://avatars.githubusercontent.com/u/7286614?v=4&s=117" width="117">](https://github.com/livingmine)[<img alt="lteacher" src="https://avatars.githubusercontent.com/u/6103860?v=4&s=117" width="117">](https://github.com/lteacher)
964
+ [<img alt="ittus" src="https://avatars.githubusercontent.com/u/5120965?v=4&s=117" width="117">](https://github.com/ittus)[<img alt="Ankcorn" src="https://avatars.githubusercontent.com/u/7361428?v=4&s=117" width="117">](https://github.com/Ankcorn)[<img alt="expoe-codebuild" src="https://avatars.githubusercontent.com/u/38527465?v=4&s=117" width="117">](https://github.com/expoe-codebuild)[<img alt="tiagogoncalves89" src="https://avatars.githubusercontent.com/u/55122?v=4&s=117" width="117">](https://github.com/tiagogoncalves89)[<img alt="czubocha" src="https://avatars.githubusercontent.com/u/23511767?v=4&s=117" width="117">](https://github.com/czubocha)
950
965
 
951
- [<img alt="martinmicunda" src="https://avatars.githubusercontent.com/u/1643606?v=4&s=117" width="117">](https://github.com/martinmicunda)[<img alt="nick-w-nick" src="https://avatars.githubusercontent.com/u/43578531?v=4&s=117" width="117">](https://github.com/nick-w-nick)[<img alt="nori3tsu" src="https://avatars.githubusercontent.com/u/379587?v=4&s=117" width="117">](https://github.com/nori3tsu)[<img alt="ppasmanik" src="https://avatars.githubusercontent.com/u/3534835?v=4&s=117" width="117">](https://github.com/ppasmanik)[<img alt="ryanzyy" src="https://avatars.githubusercontent.com/u/2299226?v=4&s=117" width="117">](https://github.com/ryanzyy)[<img alt="skhrapko-amplify" src="https://avatars.githubusercontent.com/u/103408480?v=4&s=117" width="117">](https://github.com/skhrapko-amplify)
966
+ [<img alt="tuanmh" src="https://avatars.githubusercontent.com/u/3193353?v=4&s=117" width="117">](https://github.com/tuanmh)[<img alt="Gregoirevda" src="https://avatars.githubusercontent.com/u/12223738?v=4&s=117" width="117">](https://github.com/Gregoirevda)[<img alt="vivganes" src="https://avatars.githubusercontent.com/u/2035886?v=4&s=117" width="117">](https://github.com/vivganes)[<img alt="gcphost" src="https://avatars.githubusercontent.com/u/1173636?v=4&s=117" width="117">](https://github.com/gcphost)[<img alt="YaroslavApatiev" src="https://avatars.githubusercontent.com/u/24372409?v=4&s=117" width="117">](https://github.com/YaroslavApatiev)
952
967
 
953
- [<img alt="adikari" src="https://avatars.githubusercontent.com/u/1757714?v=4&s=117" width="117">](https://github.com/adikari)[<img alt="tom-stclair" src="https://avatars.githubusercontent.com/u/96192789?v=4&s=117" width="117">](https://github.com/tom-stclair)[<img alt="tveal" src="https://avatars.githubusercontent.com/u/42526035?v=4&s=117" width="117">](https://github.com/tveal)[<img alt="constb" src="https://avatars.githubusercontent.com/u/1006766?v=4&s=117" width="117">](https://github.com/constb)[<img alt="stesie" src="https://avatars.githubusercontent.com/u/113068?v=4&s=117" width="117">](https://github.com/stesie)[<img alt="stevemao" src="https://avatars.githubusercontent.com/u/6316590?v=4&s=117" width="117">](https://github.com/stevemao)
968
+ [<img alt="yo-ga" src="https://avatars.githubusercontent.com/u/9553773?v=4&s=117" width="117">](https://github.com/yo-ga)[<img alt="zacacollier" src="https://avatars.githubusercontent.com/u/18710669?v=4&s=117" width="117">](https://github.com/zacacollier)[<img alt="akinboboye" src="https://avatars.githubusercontent.com/u/60622084?v=4&s=117" width="117">](https://github.com/akinboboye)[<img alt="allenhartwig" src="https://avatars.githubusercontent.com/u/1261521?v=4&s=117" width="117">](https://github.com/allenhartwig)[<img alt="ctbaird" src="https://avatars.githubusercontent.com/u/37962844?v=4&s=117" width="117">](https://github.com/ctbaird)
954
969
 
955
- [<img alt="trsrm" src="https://avatars.githubusercontent.com/u/1160872?v=4&s=117" width="117">](https://github.com/trsrm)[<img alt="ittus" src="https://avatars.githubusercontent.com/u/5120965?v=4&s=117" width="117">](https://github.com/ittus)[<img alt="Ankcorn" src="https://avatars.githubusercontent.com/u/7361428?v=4&s=117" width="117">](https://github.com/Ankcorn)[<img alt="expoe-codebuild" src="https://avatars.githubusercontent.com/u/38527465?v=4&s=117" width="117">](https://github.com/expoe-codebuild)[<img alt="tiagogoncalves89" src="https://avatars.githubusercontent.com/u/55122?v=4&s=117" width="117">](https://github.com/tiagogoncalves89)[<img alt="czubocha" src="https://avatars.githubusercontent.com/u/23511767?v=4&s=117" width="117">](https://github.com/czubocha)
970
+ [<img alt="dependabot[bot]" src="https://avatars.githubusercontent.com/in/29110?v=4&s=117" width="117">](https://github.com/apps/dependabot)[<img alt="bchew" src="https://avatars.githubusercontent.com/u/818316?v=4&s=117" width="117">](https://github.com/bchew)[<img alt="BorjaMacedo" src="https://avatars.githubusercontent.com/u/16381759?v=4&s=117" width="117">](https://github.com/BorjaMacedo)[<img alt="BrandonE" src="https://avatars.githubusercontent.com/u/542245?v=4&s=117" width="117">](https://github.com/BrandonE)[<img alt="guerrerocarlos" src="https://avatars.githubusercontent.com/u/82532?v=4&s=117" width="117">](https://github.com/guerrerocarlos)
956
971
 
957
- [<img alt="tuanmh" src="https://avatars.githubusercontent.com/u/3193353?v=4&s=117" width="117">](https://github.com/tuanmh)[<img alt="Gregoirevda" src="https://avatars.githubusercontent.com/u/12223738?v=4&s=117" width="117">](https://github.com/Gregoirevda)[<img alt="vivganes" src="https://avatars.githubusercontent.com/u/2035886?v=4&s=117" width="117">](https://github.com/vivganes)[<img alt="gcphost" src="https://avatars.githubusercontent.com/u/1173636?v=4&s=117" width="117">](https://github.com/gcphost)[<img alt="YaroslavApatiev" src="https://avatars.githubusercontent.com/u/24372409?v=4&s=117" width="117">](https://github.com/YaroslavApatiev)[<img alt="zacacollier" src="https://avatars.githubusercontent.com/u/18710669?v=4&s=117" width="117">](https://github.com/zacacollier)
972
+ [<img alt="icarus-sullivan" src="https://avatars.githubusercontent.com/u/17626168?v=4&s=117" width="117">](https://github.com/icarus-sullivan)[<img alt="christophgysin" src="https://avatars.githubusercontent.com/u/527924?v=4&s=117" width="117">](https://github.com/christophgysin)[<img alt="cdubz" src="https://avatars.githubusercontent.com/u/10456740?v=4&s=117" width="117">](https://github.com/cdubz)[<img alt="corwinm" src="https://avatars.githubusercontent.com/u/7642548?v=4&s=117" width="117">](https://github.com/corwinm)[<img alt="danmactough" src="https://avatars.githubusercontent.com/u/357481?v=4&s=117" width="117">](https://github.com/danmactough)
958
973
 
959
- [<img alt="akinboboye" src="https://avatars.githubusercontent.com/u/60622084?v=4&s=117" width="117">](https://github.com/akinboboye)[<img alt="allenhartwig" src="https://avatars.githubusercontent.com/u/1261521?v=4&s=117" width="117">](https://github.com/allenhartwig)[<img alt="ctbaird" src="https://avatars.githubusercontent.com/u/37962844?v=4&s=117" width="117">](https://github.com/ctbaird)[<img alt="demetriusnunes" src="https://avatars.githubusercontent.com/u/4699?v=4&s=117" width="117">](https://github.com/demetriusnunes)[<img alt="dependabot[bot]" src="https://avatars.githubusercontent.com/in/29110?v=4&s=117" width="117">](https://github.com/apps/dependabot)[<img alt="drace-rgare" src="https://avatars.githubusercontent.com/u/96196419?v=4&s=117" width="117">](https://github.com/drace-rgare)
974
+ [<img alt="GeneralistDev" src="https://avatars.githubusercontent.com/u/1705096?v=4&s=117" width="117">](https://github.com/GeneralistDev)[<img alt="designfrontier" src="https://avatars.githubusercontent.com/u/422540?v=4&s=117" width="117">](https://github.com/designfrontier)[<img alt="daniel0707" src="https://avatars.githubusercontent.com/u/22343156?v=4&s=117" width="117">](https://github.com/daniel0707)[<img alt="dnicolson" src="https://avatars.githubusercontent.com/u/2276355?v=4&s=117" width="117">](https://github.com/dnicolson)[<img alt="dbunker" src="https://avatars.githubusercontent.com/u/751580?v=4&s=117" width="117">](https://github.com/dbunker)
960
975
 
961
- [<img alt="BrandonE" src="https://avatars.githubusercontent.com/u/542245?v=4&s=117" width="117">](https://github.com/BrandonE)[<img alt="guerrerocarlos" src="https://avatars.githubusercontent.com/u/82532?v=4&s=117" width="117">](https://github.com/guerrerocarlos)[<img alt="chrismcleod" src="https://avatars.githubusercontent.com/u/1134683?v=4&s=117" width="117">](https://github.com/chrismcleod)[<img alt="icarus-sullivan" src="https://avatars.githubusercontent.com/u/17626168?v=4&s=117" width="117">](https://github.com/icarus-sullivan)[<img alt="christophgysin" src="https://avatars.githubusercontent.com/u/527924?v=4&s=117" width="117">](https://github.com/christophgysin)[<img alt="cdubz" src="https://avatars.githubusercontent.com/u/10456740?v=4&s=117" width="117">](https://github.com/cdubz)
976
+ [<img alt="dobrynin" src="https://avatars.githubusercontent.com/u/12061016?v=4&s=117" width="117">](https://github.com/dobrynin)[<img alt="DavideSegullo" src="https://avatars.githubusercontent.com/u/17269969?v=4&s=117" width="117">](https://github.com/DavideSegullo)[<img alt="domaslasauskas" src="https://avatars.githubusercontent.com/u/2464675?v=4&s=117" width="117">](https://github.com/domaslasauskas)[<img alt="enolan" src="https://avatars.githubusercontent.com/u/61517?v=4&s=117" width="117">](https://github.com/enolan)[<img alt="EduardMcfly" src="https://avatars.githubusercontent.com/u/16842163?v=4&s=117" width="117">](https://github.com/EduardMcfly)
962
977
 
963
- [<img alt="corwinm" src="https://avatars.githubusercontent.com/u/7642548?v=4&s=117" width="117">](https://github.com/corwinm)[<img alt="danmactough" src="https://avatars.githubusercontent.com/u/357481?v=4&s=117" width="117">](https://github.com/danmactough)[<img alt="GeneralistDev" src="https://avatars.githubusercontent.com/u/1705096?v=4&s=117" width="117">](https://github.com/GeneralistDev)[<img alt="designfrontier" src="https://avatars.githubusercontent.com/u/422540?v=4&s=117" width="117">](https://github.com/designfrontier)[<img alt="daniel0707" src="https://avatars.githubusercontent.com/u/22343156?v=4&s=117" width="117">](https://github.com/daniel0707)[<img alt="dnicolson" src="https://avatars.githubusercontent.com/u/2276355?v=4&s=117" width="117">](https://github.com/dnicolson)
978
+ [<img alt="iansu" src="https://avatars.githubusercontent.com/u/433725?v=4&s=117" width="117">](https://github.com/iansu)[<img alt="adamldoyle" src="https://avatars.githubusercontent.com/u/86401?v=4&s=117" width="117">](https://github.com/adamldoyle)[<img alt="thejuan" src="https://avatars.githubusercontent.com/u/329807?v=4&s=117" width="117">](https://github.com/thejuan)[<img alt="adam-nielsen" src="https://avatars.githubusercontent.com/u/278772?v=4&s=117" width="117">](https://github.com/adam-nielsen)[<img alt="againer" src="https://avatars.githubusercontent.com/u/509709?v=4&s=117" width="117">](https://github.com/againer)
964
979
 
965
- [<img alt="dbunker" src="https://avatars.githubusercontent.com/u/751580?v=4&s=117" width="117">](https://github.com/dbunker)[<img alt="dobrynin" src="https://avatars.githubusercontent.com/u/12061016?v=4&s=117" width="117">](https://github.com/dobrynin)[<img alt="DavideSegullo" src="https://avatars.githubusercontent.com/u/17269969?v=4&s=117" width="117">](https://github.com/DavideSegullo)[<img alt="domaslasauskas" src="https://avatars.githubusercontent.com/u/2464675?v=4&s=117" width="117">](https://github.com/domaslasauskas)[<img alt="enolan" src="https://avatars.githubusercontent.com/u/61517?v=4&s=117" width="117">](https://github.com/enolan)[<img alt="EduardMcfly" src="https://avatars.githubusercontent.com/u/16842163?v=4&s=117" width="117">](https://github.com/EduardMcfly)
980
+ [<img alt="AlbertXingZhang" src="https://avatars.githubusercontent.com/u/12808025?v=4&s=117" width="117">](https://github.com/AlbertXingZhang)[<img alt="aldenquimby" src="https://avatars.githubusercontent.com/u/2145098?v=4&s=117" width="117">](https://github.com/aldenquimby)[<img alt="abianco-doxee" src="https://avatars.githubusercontent.com/u/56639478?v=4&s=117" width="117">](https://github.com/abianco-doxee)[<img alt="koterpillar" src="https://avatars.githubusercontent.com/u/140276?v=4&s=117" width="117">](https://github.com/koterpillar)[<img alt="aliclark" src="https://avatars.githubusercontent.com/u/85300?v=4&s=117" width="117">](https://github.com/aliclark)
966
981
 
967
- [<img alt="gdinn" src="https://avatars.githubusercontent.com/u/19908659?v=4&s=117" width="117">](https://github.com/gdinn)[<img alt="adamldoyle" src="https://avatars.githubusercontent.com/u/86401?v=4&s=117" width="117">](https://github.com/adamldoyle)[<img alt="thejuan" src="https://avatars.githubusercontent.com/u/329807?v=4&s=117" width="117">](https://github.com/thejuan)[<img alt="adam-nielsen" src="https://avatars.githubusercontent.com/u/278772?v=4&s=117" width="117">](https://github.com/adam-nielsen)[<img alt="againer" src="https://avatars.githubusercontent.com/u/509709?v=4&s=117" width="117">](https://github.com/againer)[<img alt="AlbertXingZhang" src="https://avatars.githubusercontent.com/u/12808025?v=4&s=117" width="117">](https://github.com/AlbertXingZhang)
982
+ [<img alt="andersem" src="https://avatars.githubusercontent.com/u/509817?v=4&s=117" width="117">](https://github.com/andersem)[<img alt="triptec" src="https://avatars.githubusercontent.com/u/240159?v=4&s=117" width="117">](https://github.com/triptec)[<img alt="m0ppers" src="https://avatars.githubusercontent.com/u/819421?v=4&s=117" width="117">](https://github.com/m0ppers)[<img alt="cspotcode" src="https://avatars.githubusercontent.com/u/376504?v=4&s=117" width="117">](https://github.com/cspotcode)[<img alt="AndrewCEmil" src="https://avatars.githubusercontent.com/u/2167475?v=4&s=117" width="117">](https://github.com/AndrewCEmil)
968
983
 
969
- [<img alt="aldenquimby" src="https://avatars.githubusercontent.com/u/2145098?v=4&s=117" width="117">](https://github.com/aldenquimby)[<img alt="alebianco-doxee" src="https://avatars.githubusercontent.com/u/56639478?v=4&s=117" width="117">](https://github.com/alebianco-doxee)[<img alt="koterpillar" src="https://avatars.githubusercontent.com/u/140276?v=4&s=117" width="117">](https://github.com/koterpillar)[<img alt="aliclark" src="https://avatars.githubusercontent.com/u/85300?v=4&s=117" width="117">](https://github.com/aliclark)[<img alt="andersem" src="https://avatars.githubusercontent.com/u/509817?v=4&s=117" width="117">](https://github.com/andersem)[<img alt="triptec" src="https://avatars.githubusercontent.com/u/240159?v=4&s=117" width="117">](https://github.com/triptec)
984
+ [<img alt="mapsi" src="https://avatars.githubusercontent.com/u/516735?v=4&s=117" width="117">](https://github.com/mapsi)[<img alt="aliatsis" src="https://avatars.githubusercontent.com/u/4140524?v=4&s=117" width="117">](https://github.com/aliatsis)[<img alt="akaila" src="https://avatars.githubusercontent.com/u/484181?v=4&s=117" width="117">](https://github.com/akaila)[<img alt="austencollins" src="https://avatars.githubusercontent.com/u/2752551?v=4&s=117" width="117">](https://github.com/austencollins)[<img alt="austin-payne" src="https://avatars.githubusercontent.com/u/29075091?v=4&s=117" width="117">](https://github.com/austin-payne)
970
985
 
971
- [<img alt="m0ppers" src="https://avatars.githubusercontent.com/u/819421?v=4&s=117" width="117">](https://github.com/m0ppers)[<img alt="cspotcode" src="https://avatars.githubusercontent.com/u/376504?v=4&s=117" width="117">](https://github.com/cspotcode)[<img alt="AndrewCEmil" src="https://avatars.githubusercontent.com/u/2167475?v=4&s=117" width="117">](https://github.com/AndrewCEmil)[<img alt="mapsi" src="https://avatars.githubusercontent.com/u/516735?v=4&s=117" width="117">](https://github.com/mapsi)[<img alt="aliatsis" src="https://avatars.githubusercontent.com/u/4140524?v=4&s=117" width="117">](https://github.com/aliatsis)[<img alt="akaila" src="https://avatars.githubusercontent.com/u/484181?v=4&s=117" width="117">](https://github.com/akaila)
986
+ [<img alt="BenjaminBergerM" src="https://avatars.githubusercontent.com/u/50329833?v=4&s=117" width="117">](https://github.com/BenjaminBergerM)[<img alt="gdinn" src="https://avatars.githubusercontent.com/u/19908659?v=4&s=117" width="117">](https://github.com/gdinn)[<img alt="MEGApixel23" src="https://avatars.githubusercontent.com/u/4102786?v=4&s=117" width="117">](https://github.com/MEGApixel23)[<img alt="idmontie" src="https://avatars.githubusercontent.com/u/412382?v=4&s=117" width="117">](https://github.com/idmontie)[<img alt="ihendriks" src="https://avatars.githubusercontent.com/u/7311659?v=4&s=117" width="117">](https://github.com/ihendriks)
972
987
 
973
- [<img alt="austencollins" src="https://avatars.githubusercontent.com/u/2752551?v=4&s=117" width="117">](https://github.com/austencollins)[<img alt="austin-payne" src="https://avatars.githubusercontent.com/u/29075091?v=4&s=117" width="117">](https://github.com/austin-payne)[<img alt="BenjaminBergerM" src="https://avatars.githubusercontent.com/u/50329833?v=4&s=117" width="117">](https://github.com/BenjaminBergerM)[<img alt="MEGApixel23" src="https://avatars.githubusercontent.com/u/4102786?v=4&s=117" width="117">](https://github.com/MEGApixel23)[<img alt="idmontie" src="https://avatars.githubusercontent.com/u/412382?v=4&s=117" width="117">](https://github.com/idmontie)[<img alt="ihendriks" src="https://avatars.githubusercontent.com/u/7311659?v=4&s=117" width="117">](https://github.com/ihendriks)
988
+ [<img alt="jacintoArias" src="https://avatars.githubusercontent.com/u/7511199?v=4&s=117" width="117">](https://github.com/jacintoArias)[<img alt="JacekDuszenko" src="https://avatars.githubusercontent.com/u/24210015?v=4&s=117" width="117">](https://github.com/JacekDuszenko)[<img alt="jgrigg" src="https://avatars.githubusercontent.com/u/12800024?v=4&s=117" width="117">](https://github.com/jgrigg)[<img alt="jankdc" src="https://avatars.githubusercontent.com/u/8384002?v=4&s=117" width="117">](https://github.com/jankdc)[<img alt="janicduplessis" src="https://avatars.githubusercontent.com/u/2677334?v=4&s=117" width="117">](https://github.com/janicduplessis)
974
989
 
975
- [<img alt="jacintoArias" src="https://avatars.githubusercontent.com/u/7511199?v=4&s=117" width="117">](https://github.com/jacintoArias)[<img alt="JacekDuszenko" src="https://avatars.githubusercontent.com/u/24210015?v=4&s=117" width="117">](https://github.com/JacekDuszenko)[<img alt="jgrigg" src="https://avatars.githubusercontent.com/u/12800024?v=4&s=117" width="117">](https://github.com/jgrigg)[<img alt="jankdc" src="https://avatars.githubusercontent.com/u/8384002?v=4&s=117" width="117">](https://github.com/jankdc)[<img alt="janicduplessis" src="https://avatars.githubusercontent.com/u/2677334?v=4&s=117" width="117">](https://github.com/janicduplessis)[<img alt="jsnajdr" src="https://avatars.githubusercontent.com/u/664258?v=4&s=117" width="117">](https://github.com/jsnajdr)
990
+ [<img alt="jsnajdr" src="https://avatars.githubusercontent.com/u/664258?v=4&s=117" width="117">](https://github.com/jsnajdr)[<img alt="horyd" src="https://avatars.githubusercontent.com/u/916414?v=4&s=117" width="117">](https://github.com/horyd)[<img alt="jasonfungsing" src="https://avatars.githubusercontent.com/u/1302364?v=4&s=117" width="117">](https://github.com/jasonfungsing)[<img alt="jaydp17" src="https://avatars.githubusercontent.com/u/1743425?v=4&s=117" width="117">](https://github.com/jaydp17)[<img alt="jeremygiberson" src="https://avatars.githubusercontent.com/u/487411?v=4&s=117" width="117">](https://github.com/jeremygiberson)
976
991
 
977
- [<img alt="horyd" src="https://avatars.githubusercontent.com/u/916414?v=4&s=117" width="117">](https://github.com/horyd)[<img alt="jasonfungsing" src="https://avatars.githubusercontent.com/u/1302364?v=4&s=117" width="117">](https://github.com/jasonfungsing)[<img alt="jaydp17" src="https://avatars.githubusercontent.com/u/1743425?v=4&s=117" width="117">](https://github.com/jaydp17)[<img alt="jeremygiberson" src="https://avatars.githubusercontent.com/u/487411?v=4&s=117" width="117">](https://github.com/jeremygiberson)[<img alt="josephwarrick" src="https://avatars.githubusercontent.com/u/5392984?v=4&s=117" width="117">](https://github.com/josephwarrick)[<img alt="jlsjonas" src="https://avatars.githubusercontent.com/u/932193?v=4&s=117" width="117">](https://github.com/jlsjonas)
992
+ [<img alt="josephwarrick" src="https://avatars.githubusercontent.com/u/5392984?v=4&s=117" width="117">](https://github.com/josephwarrick)[<img alt="jlsjonas" src="https://avatars.githubusercontent.com/u/932193?v=4&s=117" width="117">](https://github.com/jlsjonas)[<img alt="jonathonadams" src="https://avatars.githubusercontent.com/u/24870903?v=4&s=117" width="117">](https://github.com/jonathonadams)[<img alt="joostfarla" src="https://avatars.githubusercontent.com/u/851863?v=4&s=117" width="117">](https://github.com/joostfarla)[<img alt="TheTeaCat" src="https://avatars.githubusercontent.com/u/20339741?v=4&s=117" width="117">](https://github.com/TheTeaCat)
978
993
 
979
- [<img alt="jonathonadams" src="https://avatars.githubusercontent.com/u/24870903?v=4&s=117" width="117">](https://github.com/jonathonadams)[<img alt="joostfarla" src="https://avatars.githubusercontent.com/u/851863?v=4&s=117" width="117">](https://github.com/joostfarla)[<img alt="TheTeaCat" src="https://avatars.githubusercontent.com/u/20339741?v=4&s=117" width="117">](https://github.com/TheTeaCat)[<img alt="jeromemacias" src="https://avatars.githubusercontent.com/u/582446?v=4&s=117" width="117">](https://github.com/jeromemacias)[<img alt="eeroniemi" src="https://avatars.githubusercontent.com/u/1384231?v=4&s=117" width="117">](https://github.com/eeroniemi)[<img alt="minibikini" src="https://avatars.githubusercontent.com/u/439309?v=4&s=117" width="117">](https://github.com/minibikini)
994
+ [<img alt="eeroniemi" src="https://avatars.githubusercontent.com/u/1384231?v=4&s=117" width="117">](https://github.com/eeroniemi)[<img alt="minibikini" src="https://avatars.githubusercontent.com/u/439309?v=4&s=117" width="117">](https://github.com/minibikini)[<img alt="em0ney" src="https://avatars.githubusercontent.com/u/5679658?v=4&s=117" width="117">](https://github.com/em0ney)[<img alt="webdeveric" src="https://avatars.githubusercontent.com/u/1823514?v=4&s=117" width="117">](https://github.com/webdeveric)[<img alt="ericr3r" src="https://avatars.githubusercontent.com/u/792171?v=4&s=117" width="117">](https://github.com/ericr3r)
980
995
 
981
- [<img alt="em0ney" src="https://avatars.githubusercontent.com/u/5679658?v=4&s=117" width="117">](https://github.com/em0ney)[<img alt="webdeveric" src="https://avatars.githubusercontent.com/u/1823514?v=4&s=117" width="117">](https://github.com/webdeveric)[<img alt="fernyettheplant" src="https://avatars.githubusercontent.com/u/3887243?v=4&s=117" width="117">](https://github.com/fernyettheplant)[<img alt="fernandomoraes" src="https://avatars.githubusercontent.com/u/2366763?v=4&s=117" width="117">](https://github.com/fernandomoraes)[<img alt="panva" src="https://avatars.githubusercontent.com/u/241506?v=4&s=117" width="117">](https://github.com/panva)[<img alt="Edweis" src="https://avatars.githubusercontent.com/u/18052624?v=4&s=117" width="117">](https://github.com/Edweis)
996
+ [<img alt="fernyettheplant" src="https://avatars.githubusercontent.com/u/3887243?v=4&s=117" width="117">](https://github.com/fernyettheplant)[<img alt="fernandomoraes" src="https://avatars.githubusercontent.com/u/2366763?v=4&s=117" width="117">](https://github.com/fernandomoraes)[<img alt="panva" src="https://avatars.githubusercontent.com/u/241506?v=4&s=117" width="117">](https://github.com/panva)[<img alt="Edweis" src="https://avatars.githubusercontent.com/u/18052624?v=4&s=117" width="117">](https://github.com/Edweis)[<img alt="frodeaa" src="https://avatars.githubusercontent.com/u/45172?v=4&s=117" width="117">](https://github.com/frodeaa)
982
997
 
983
- [<img alt="frodeaa" src="https://avatars.githubusercontent.com/u/45172?v=4&s=117" width="117">](https://github.com/frodeaa)[<img alt="gbroques" src="https://avatars.githubusercontent.com/u/12969835?v=4&s=117" width="117">](https://github.com/gbroques)[<img alt="ganey" src="https://avatars.githubusercontent.com/u/1401832?v=4&s=117" width="117">](https://github.com/ganey)[<img alt="geoffmanningcleartrace" src="https://avatars.githubusercontent.com/u/101125585?v=4&s=117" width="117">](https://github.com/geoffmanningcleartrace)[<img alt="grakic-glopal" src="https://avatars.githubusercontent.com/u/118749735?v=4&s=117" width="117">](https://github.com/grakic-glopal)[<img alt="guillaume" src="https://avatars.githubusercontent.com/u/368?v=4&s=117" width="117">](https://github.com/guillaume)
998
+ [<img alt="gbroques" src="https://avatars.githubusercontent.com/u/12969835?v=4&s=117" width="117">](https://github.com/gbroques)[<img alt="ganey" src="https://avatars.githubusercontent.com/u/1401832?v=4&s=117" width="117">](https://github.com/ganey)[<img alt="geoffmanningcleartrace" src="https://avatars.githubusercontent.com/u/101125585?v=4&s=117" width="117">](https://github.com/geoffmanningcleartrace)[<img alt="grakic-glopal" src="https://avatars.githubusercontent.com/u/118749735?v=4&s=117" width="117">](https://github.com/grakic-glopal)[<img alt="guillaume" src="https://avatars.githubusercontent.com/u/368?v=4&s=117" width="117">](https://github.com/guillaume)
984
999
 
985
- [<img alt="mebibou" src="https://avatars.githubusercontent.com/u/305342?v=4&s=117" width="117">](https://github.com/mebibou)[<img alt="balassy" src="https://avatars.githubusercontent.com/u/1872777?v=4&s=117" width="117">](https://github.com/balassy)[<img alt="bayoudhi" src="https://avatars.githubusercontent.com/u/3085156?v=4&s=117" width="117">](https://github.com/bayoudhi)[<img alt="enapupe" src="https://avatars.githubusercontent.com/u/291082?v=4&s=117" width="117">](https://github.com/enapupe)[<img alt="aardvarkk" src="https://avatars.githubusercontent.com/u/1251092?v=4&s=117" width="117">](https://github.com/aardvarkk)[<img alt="iansu" src="https://avatars.githubusercontent.com/u/433725?v=4&s=117" width="117">](https://github.com/iansu)
1000
+ [<img alt="mebibou" src="https://avatars.githubusercontent.com/u/305342?v=4&s=117" width="117">](https://github.com/mebibou)[<img alt="balassy" src="https://avatars.githubusercontent.com/u/1872777?v=4&s=117" width="117">](https://github.com/balassy)[<img alt="bayoudhi" src="https://avatars.githubusercontent.com/u/3085156?v=4&s=117" width="117">](https://github.com/bayoudhi)[<img alt="enapupe" src="https://avatars.githubusercontent.com/u/291082?v=4&s=117" width="117">](https://github.com/enapupe)[<img alt="aardvarkk" src="https://avatars.githubusercontent.com/u/1251092?v=4&s=117" width="117">](https://github.com/aardvarkk)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-offline",
3
- "version": "14.4.0",
3
+ "version": "14.6.0",
4
4
  "description": "Emulate AWS λ and API Gateway locally when developing your Serverless project",
5
5
  "license": "MIT",
6
6
  "exports": {
@@ -13,7 +13,7 @@
13
13
  "code-quality": "npm run prettier && npm run lint",
14
14
  "lint": "eslint .",
15
15
  "lint:fix": "eslint . --fix",
16
- "list-contributors": "echo 'clone https://github.com/mgechev/github-contributors-list.git first, then run npm install' && cd ../github-contributors-list && node bin/githubcontrib --owner dherault --repo serverless-offline --sortBy contributions --showlogin true --sortOrder desc > contributors.md",
16
+ "list-contributors": "echo 'clone https://github.com/mgechev/github-contributors-list.git first, then run npm install' && cd ../github-contributors-list && node bin/githubcontrib --owner dherault --repo serverless-offline --sortBy contributions --sortOrder desc > contributors.md",
17
17
  "prepare-release": "commit-and-tag-version && prettier --write CHANGELOG.md",
18
18
  "prepublishOnly": "npm run lint",
19
19
  "prettier": "prettier --check .",
@@ -49,7 +49,7 @@
49
49
  ],
50
50
  "author": "David Hérault <dherault@gmail.com> (https://github.com/dherault)",
51
51
  "engines": {
52
- "node": ">=18.12.0"
52
+ "node": ">=20.0.0"
53
53
  },
54
54
  "commit-and-tag-version": {
55
55
  "skip": {
@@ -76,47 +76,46 @@
76
76
  ]
77
77
  },
78
78
  "dependencies": {
79
- "@aws-sdk/client-lambda": "^3.636.0",
79
+ "@aws-sdk/client-lambda": "^3.1045.0",
80
80
  "@hapi/boom": "^10.0.1",
81
81
  "@hapi/h2o2": "^10.0.4",
82
- "@hapi/hapi": "^21.3.10",
82
+ "@hapi/hapi": "^21.4.9",
83
83
  "array-unflat-js": "^0.1.3",
84
84
  "boxen": "^7.1.1",
85
- "chalk": "^5.3.0",
85
+ "chalk": "^5.6.2",
86
86
  "desm": "^1.3.1",
87
87
  "execa": "^8.0.1",
88
- "fs-extra": "^11.2.0",
89
- "is-wsl": "^3.1.0",
88
+ "is-wsl": "^3.1.1",
90
89
  "java-invoke-local": "0.0.6",
91
90
  "jose": "^5.7.0",
92
91
  "js-string-escape": "^1.0.1",
93
- "jsonpath-plus": "^10.2.0",
94
- "jsonschema": "^1.4.1",
92
+ "jsonpath-plus": "^10.4.0",
93
+ "jsonschema": "^1.5.0",
95
94
  "jszip": "^3.10.1",
96
- "luxon": "^3.5.0",
95
+ "luxon": "^3.7.2",
97
96
  "nock": "^13.5.6",
98
97
  "node-fetch": "^3.3.2",
99
98
  "node-schedule": "^2.1.1",
100
99
  "p-memoize": "^7.1.1",
101
100
  "tree-kill": "^1.2.2",
102
- "tsx": "^4.17.0",
103
- "velocityjs": "^2.0.6",
104
- "ws": "^8.18.0"
101
+ "tsx": "^4.21.0",
102
+ "velocityjs": "^2.1.6",
103
+ "ws": "^8.20.0"
105
104
  },
106
105
  "devDependencies": {
107
- "@istanbuljs/esm-loader-hook": "^0.2.0",
106
+ "@istanbuljs/esm-loader-hook": "^0.3.0",
108
107
  "archiver": "^7.0.1",
109
- "commit-and-tag-version": "^12.4.1",
108
+ "commit-and-tag-version": "^12.7.3",
110
109
  "eslint": "^8.57.0",
111
110
  "eslint-config-airbnb-base": "^15.0.0",
112
111
  "eslint-config-prettier": "^9.1.0",
113
- "eslint-plugin-import": "^2.29.1",
114
- "eslint-plugin-prettier": "^5.2.1",
112
+ "eslint-plugin-import": "^2.32.0",
113
+ "eslint-plugin-prettier": "^5.5.5",
115
114
  "eslint-plugin-unicorn": "^54.0.0",
116
115
  "mocha": "^10.7.3",
117
116
  "nyc": "^17.0.0",
118
- "prettier": "^3.3.3",
119
- "serverless": "^4.2.1"
117
+ "prettier": "^3.8.3",
118
+ "serverless": "^4.35.1"
120
119
  },
121
120
  "peerDependencies": {
122
121
  "serverless": "^4.0.0"
@@ -4,7 +4,7 @@ export const BASE_URL_PLACEHOLDER = "http://example"
4
4
 
5
5
  export const CUSTOM_OPTION = "serverless-offline"
6
6
 
7
- export const DEFAULT_LAMBDA_RUNTIME = "nodejs14.x"
7
+ export const DEFAULT_LAMBDA_RUNTIME = "nodejs20.x"
8
8
 
9
9
  export const DEFAULT_LAMBDA_ARCHITECTURE = "arm64"
10
10
 
@@ -11,19 +11,20 @@ const X86_64 = "x86_64"
11
11
  const ARM64 = "arm64"
12
12
 
13
13
  export const supportedRuntimesArchitecture = {
14
- "nodejs14.x": [ARM64, X86_64],
15
- "nodejs16.x": [ARM64, X86_64],
16
- "nodejs18.x": [ARM64, X86_64],
17
14
  "nodejs20.x": [ARM64, X86_64],
18
15
  "nodejs22.x": [ARM64, X86_64],
16
+ "nodejs24.x": [ARM64, X86_64],
19
17
  "python3.7": [X86_64],
20
18
  "python3.8": [ARM64, X86_64],
21
19
  "python3.9": [ARM64, X86_64],
22
20
  "python3.10": [ARM64, X86_64],
23
21
  "python3.11": [ARM64, X86_64],
24
22
  "python3.12": [ARM64, X86_64],
23
+ "python3.13": [ARM64, X86_64],
25
24
  "ruby2.7": [ARM64, X86_64],
26
25
  "ruby3.2": [ARM64, X86_64],
26
+ "ruby3.3": [ARM64, X86_64],
27
+ "ruby3.4": [ARM64, X86_64],
27
28
  java8: [X86_64],
28
29
  "java8.al2": [ARM64, X86_64],
29
30
  java11: [ARM64, X86_64],
@@ -44,11 +45,9 @@ export const supportedJava = new Set(["java8", "java8.al2", "java11", "java17"])
44
45
 
45
46
  // NODE.JS
46
47
  export const supportedNodejs = new Set([
47
- "nodejs14.x",
48
- "nodejs16.x",
49
- "nodejs18.x",
50
48
  "nodejs20.x",
51
49
  "nodejs22.x",
50
+ "nodejs24.x",
52
51
  ])
53
52
 
54
53
  // PROVIDED
@@ -66,10 +65,16 @@ export const supportedPython = new Set([
66
65
  "python3.10",
67
66
  "python3.11",
68
67
  "python3.12",
68
+ "python3.13",
69
69
  ])
70
70
 
71
71
  // RUBY
72
- export const supportedRuby = new Set(["ruby2.7", "ruby3.2"])
72
+ export const supportedRuby = new Set([
73
+ "ruby2.7",
74
+ "ruby3.2",
75
+ "ruby3.3",
76
+ "ruby3.4",
77
+ ])
73
78
 
74
79
  export const supportedRuntimes = new Set([
75
80
  // ...supportedDotnetcore,
@@ -294,10 +294,11 @@ export default class HttpServer {
294
294
  }
295
295
 
296
296
  createRoutes(functionKey, albEvent) {
297
- let method = "ANY"
297
+ let methods = ["ANY"]
298
298
  if ((albEvent.conditions.method || []).length > 0) {
299
- method = albEvent.conditions.method[0].toUpperCase()
299
+ methods = albEvent.conditions.method.map((m) => m.toUpperCase())
300
300
  }
301
+ methods = methods.includes("ANY") ? ["ANY"] : methods
301
302
 
302
303
  const path = albEvent.conditions.path[0]
303
304
  const hapiPath = generateAlbHapiPath(path, this.#options, this.#serverless)
@@ -306,51 +307,53 @@ export default class HttpServer {
306
307
  const { host, albPort, httpsProtocol } = this.#options
307
308
  const server = `${httpsProtocol ? "https" : "http"}://${host}:${albPort}`
308
309
 
309
- this.#terminalInfo.push({
310
- invokePath: `/2015-03-31/functions/${functionKey}/invocations`,
311
- method,
312
- path: hapiPath,
313
- server,
314
- stage: this.#options.noPrependStageInUrl ? null : stage,
315
- })
310
+ methods.forEach((method) => {
311
+ this.#terminalInfo.push({
312
+ invokePath: `/2015-03-31/functions/${functionKey}/invocations`,
313
+ method,
314
+ path: hapiPath,
315
+ server,
316
+ stage: this.#options.noPrependStageInUrl ? null : stage,
317
+ })
316
318
 
317
- const hapiMethod = method === "ANY" ? "*" : method
318
- const hapiOptions = {
319
- response: {
320
- emptyStatusCode: 200,
321
- },
322
- }
319
+ const hapiMethod = method === "ANY" ? "*" : method
320
+ const hapiOptions = {
321
+ response: {
322
+ emptyStatusCode: 200,
323
+ },
324
+ }
323
325
 
324
- // skip HEAD routes as hapi will fail with 'Method name not allowed: HEAD ...'
325
- // for more details, check https://github.com/dherault/serverless-offline/issues/204
326
- if (hapiMethod === "HEAD") {
327
- log.notice(
328
- "HEAD method event detected. Skipping HAPI server route mapping",
329
- )
326
+ // skip HEAD routes as hapi will fail with 'Method name not allowed: HEAD ...'
327
+ // for more details, check https://github.com/dherault/serverless-offline/issues/204
328
+ if (hapiMethod === "HEAD") {
329
+ log.notice(
330
+ "HEAD method event detected. Skipping HAPI server route mapping",
331
+ )
330
332
 
331
- return
332
- }
333
+ return
334
+ }
333
335
 
334
- if (hapiMethod !== "HEAD" && hapiMethod !== "GET") {
335
- // maxBytes: Increase request size from 1MB default limit to 10MB.
336
- // Cf AWS API GW payload limits.
337
- hapiOptions.payload = {
338
- maxBytes: 1024 * 1024 * 10,
339
- parse: false,
336
+ if (hapiMethod !== "HEAD" && hapiMethod !== "GET") {
337
+ // maxBytes: Increase request size from 1MB default limit to 10MB.
338
+ // Cf AWS API GW payload limits.
339
+ hapiOptions.payload = {
340
+ maxBytes: 1024 * 1024 * 10,
341
+ parse: false,
342
+ }
340
343
  }
341
- }
342
344
 
343
- const hapiHandler = this.#createHapiHandler({
344
- functionKey,
345
- method,
346
- stage,
347
- })
345
+ const hapiHandler = this.#createHapiHandler({
346
+ functionKey,
347
+ method,
348
+ stage,
349
+ })
348
350
 
349
- this.#server.route({
350
- handler: hapiHandler,
351
- method: hapiMethod,
352
- options: hapiOptions,
353
- path: hapiPath,
351
+ this.#server.route({
352
+ handler: hapiHandler,
353
+ method: hapiMethod,
354
+ options: hapiOptions,
355
+ path: hapiPath,
356
+ })
354
357
  })
355
358
  }
356
359
 
@@ -1,12 +1,12 @@
1
1
  import crypto from "node:crypto"
2
- import { readFile, writeFile } from "node:fs/promises"
2
+ import { mkdir, readFile, rm, writeFile } from "node:fs/promises"
3
3
  import { dirname, join, resolve } from "node:path"
4
4
  import process from "node:process"
5
5
  import { performance } from "node:perf_hooks"
6
6
  import { setTimeout } from "node:timers/promises"
7
- import { emptyDir, ensureDir, remove } from "fs-extra"
8
7
  import jszip from "jszip"
9
8
  import { log } from "../utils/log.js"
9
+ import renderIntrinsicFunction from "../utils/renderIntrinsicFunction.js"
10
10
  import HandlerRunner from "./handler-runner/index.js"
11
11
  import LambdaContext from "./LambdaContext.js"
12
12
  import {
@@ -114,8 +114,8 @@ export default class LambdaFunction {
114
114
  entries(process.env).filter(([key]) => key.startsWith("AWS_")),
115
115
  )),
116
116
  ...this.#getAwsEnvVars(),
117
- ...provider.environment,
118
- ...functionDefinition.environment,
117
+ ...renderIntrinsicFunction(provider.environment),
118
+ ...renderIntrinsicFunction(functionDefinition.environment),
119
119
  IS_OFFLINE: "true",
120
120
  }
121
121
 
@@ -225,7 +225,7 @@ export default class LambdaFunction {
225
225
  // TODO console.log('lambda cleanup')
226
226
  await this.#handlerRunner.cleanup()
227
227
  if (this.#lambdaDir) {
228
- await remove(this.#lambdaDir)
228
+ await rm(this.#lambdaDir, { force: true, recursive: true })
229
229
  }
230
230
  }
231
231
 
@@ -245,7 +245,8 @@ export default class LambdaFunction {
245
245
  return
246
246
  }
247
247
 
248
- await emptyDir(this.#codeDir)
248
+ await rm(this.#codeDir, { force: true, recursive: true })
249
+ await mkdir(this.#codeDir, { recursive: true })
249
250
 
250
251
  const data = await readFile(this.#artifact)
251
252
  const zip = await jszip.loadAsync(data)
@@ -256,7 +257,7 @@ export default class LambdaFunction {
256
257
  if (filename.endsWith("/")) {
257
258
  return undefined
258
259
  }
259
- await ensureDir(join(this.#codeDir, dirname(filename)))
260
+ await mkdir(join(this.#codeDir, dirname(filename)), { recursive: true })
260
261
  return writeFile(join(this.#codeDir, filename), fileData, {
261
262
  mode: jsZipObj.unixPermissions,
262
263
  })
@@ -52,16 +52,14 @@ export default class HandlerRunner {
52
52
 
53
53
  if (supportedNodejs.has(runtime)) {
54
54
  if (useInProcess) {
55
- const { default: InProcessRunner } = await import(
56
- "./in-process-runner/index.js"
57
- )
55
+ const { default: InProcessRunner } =
56
+ await import("./in-process-runner/index.js")
58
57
 
59
58
  return new InProcessRunner(this.#funOptions, this.#env)
60
59
  }
61
60
 
62
- const { default: WorkerThreadRunner } = await import(
63
- "./worker-thread-runner/index.js"
64
- )
61
+ const { default: WorkerThreadRunner } =
62
+ await import("./worker-thread-runner/index.js")
65
63
 
66
64
  return new WorkerThreadRunner(this.#funOptions, this.#env)
67
65
  }
@@ -1,11 +1,10 @@
1
1
  import { createHash } from "node:crypto"
2
- import { createWriteStream } from "node:fs"
3
- import { readFile, unlink, writeFile } from "node:fs/promises"
2
+ import { createWriteStream, existsSync } from "node:fs"
3
+ import { mkdir, readFile, unlink, writeFile } from "node:fs/promises"
4
4
  import { platform } from "node:os"
5
5
  import { dirname, join, sep } from "node:path"
6
6
  import { LambdaClient, GetLayerVersionCommand } from "@aws-sdk/client-lambda"
7
7
  import { execa } from "execa"
8
- import { ensureDir, pathExists } from "fs-extra"
9
8
  import isWsl from "is-wsl"
10
9
  import jszip from "jszip"
11
10
  import { log, progress } from "../../../utils/log.js"
@@ -103,7 +102,7 @@ export default class DockerContainer {
103
102
 
104
103
  layerDir = join(layerDir, this.#getLayersSha256())
105
104
 
106
- if (await pathExists(layerDir)) {
105
+ if (existsSync(layerDir)) {
107
106
  log.verbose(
108
107
  `Layers already exist for this function. Skipping download.`,
109
108
  )
@@ -143,7 +142,7 @@ export default class DockerContainer {
143
142
  } else {
144
143
  log.debug("Looking for bootstrap file")
145
144
  const bootstrapDir = join(this.#servicePath, "bootstrap")
146
- if (await pathExists(bootstrapDir)) {
145
+ if (existsSync(bootstrapDir)) {
147
146
  log.debug(`Found bootstrap file at ${bootstrapDir}`)
148
147
  dockerArgs.push(
149
148
  "-v",
@@ -262,7 +261,7 @@ export default class DockerContainer {
262
261
  const { CodeSize: layerSize, Location: layerUrl } = layer.Content
263
262
  // const layerSha = layer.Content.CodeSha256
264
263
 
265
- await ensureDir(layerDir)
264
+ await mkdir(layerDir, { recursive: true })
266
265
 
267
266
  log.verbose(
268
267
  `Retrieving "${layerName}": Downloading ${this.#formatBytes(
@@ -311,7 +310,7 @@ export default class DockerContainer {
311
310
  if (filename.endsWith(sep)) {
312
311
  return undefined
313
312
  }
314
- await ensureDir(join(layerDir, dirname(filename)))
313
+ await mkdir(join(layerDir, dirname(filename)), { recursive: true })
315
314
  return writeFile(join(layerDir, filename), fileData, {
316
315
  mode: zip.files[filename].unixPermissions,
317
316
  })
@@ -20,6 +20,7 @@ const fs = require("node:fs")
20
20
  const process = require("node:process")
21
21
 
22
22
  const { require: tsxRequire } = require(`tsx/cjs/api`)
23
+ const { tsImport } = require(`tsx/esm/api`)
23
24
  const {
24
25
  HandlerNotFound,
25
26
  MalformedHandlerName,
@@ -136,10 +137,9 @@ function _hasFolderPackageJsonTypeModule(folder) {
136
137
  }
137
138
 
138
139
  function _hasPackageJsonTypeModule(file) {
139
- // File must have a .js extension
140
- const jsPath = `${file}.js`
141
- return fs.existsSync(jsPath)
142
- ? _hasFolderPackageJsonTypeModule(path.resolve(path.dirname(jsPath)))
140
+ const dir = path.dirname(file)
141
+ return fs.existsSync(dir)
142
+ ? _hasFolderPackageJsonTypeModule(path.resolve(dir))
143
143
  : false
144
144
  }
145
145
 
@@ -175,13 +175,15 @@ async function _tryRequire(appRoot, moduleRoot, module) {
175
175
  }
176
176
 
177
177
  // If still not loaded, try .js, .mjs, .cjs and .ts in that order.
178
- // Files ending with .js are loaded as ES modules when the nearest parent package.json
178
+ // Files ending with .js and .ts are loaded as ES modules when the nearest parent package.json
179
179
  // file contains a top-level field "type" with a value of "module".
180
180
  // https://nodejs.org/api/packages.html#packages_type
181
181
  const loaded =
182
182
  (pjHasModule && (await _tryAwaitImport(lambdaStylePath, ".js"))) ||
183
183
  (await _tryAwaitImport(lambdaStylePath, ".mjs")) ||
184
184
  _tryRequireFile(lambdaStylePath, ".cjs") ||
185
+ (pjHasModule &&
186
+ (await tsImport(`${lambdaStylePath}.ts`, `${lambdaStylePath}.ts`))) ||
185
187
  tsxRequire(`${lambdaStylePath}.ts`, `${lambdaStylePath}.ts`)
186
188
  if (loaded) {
187
189
  return loaded
@@ -0,0 +1,34 @@
1
+ export default function renderIntrinsicFunction(input) {
2
+ if (input === null || input === undefined) {
3
+ return input
4
+ }
5
+
6
+ if (typeof input === "string") {
7
+ return input
8
+ }
9
+
10
+ if (Array.isArray(input)) {
11
+ return input.map(renderIntrinsicFunction)
12
+ }
13
+
14
+ if (typeof input === "object") {
15
+ const result = {}
16
+ for (const [key, value] of Object.entries(input)) {
17
+ if (key === "Fn::Join" || key === "!Join") {
18
+ const [delimiter, list] = value
19
+ return list.map(renderIntrinsicFunction).join(delimiter)
20
+ }
21
+ if (key === "Fn::Sub" || key === "!Sub") {
22
+ const [template, variables] = value
23
+ result[key] = template.replaceAll(/\${(.*?)}/g, (match, variable) => {
24
+ return variable in variables ? variables[variable] : match
25
+ })
26
+ return result[key]
27
+ }
28
+ result[key] = renderIntrinsicFunction(value)
29
+ }
30
+ return result
31
+ }
32
+
33
+ return input
34
+ }