Commit Graph

116 Commits

Author SHA1 Message Date
Brandon Liu
61c38459ba Switch lambda-function.zip to use CommonJS instead of ESM to match CloudFormation inlined template [#448] (#449) 2024-09-12 10:17:09 +08:00
Brandon Liu
089d13d637 AWS updates (#447)
* AWS updates

* CloudFormation stack parameter for changing CloudFront tile cache TTL.
* S3 requests are always set as Requester Pays, enabling fetching from buckets in other accounts.
2024-09-11 13:45:40 +08:00
Brandon Liu
3f320aeda0 AWS Lambda: update dependencies (#439)
* fix fast-xml-parser security issue.
* update types to nodejs20
* replace deprecated @aws-sdk/node-http-handler with @smithy/node-http-handler, which requires bundling as it's not included in the Lambda runtime.
2024-09-04 11:34:44 +08:00
Brandon Liu
bcd5571ba5 Update CloudFormation template. (#435)
* Update CloudFormation template.

* Inline Lambda code into CloudFormation template.
read x-distribution-name header in TileJSON response if PUBLIC_HOSTNAME is not set.

* include both build-zip and build-cloudformation-stack in CI
2024-09-02 15:10:12 +08:00
Honricris
0fd91faf72 Aws Cloudformation Template Added (#434)
Co-authored-by: chonrc <chonrc00@estudiantes.unileon.es>
2024-08-27 13:03:00 +08:00
Markus Wendorf
dd8fdcd37d cache-control (#423)
Change CACHE_MAX_AGE to CACHE_CONTROL in AWS and Cloudflare
2024-07-09 10:11:33 +02:00
dependabot[bot]
3c661cf03c Bump ws from 8.16.0 to 8.17.1 in /serverless/cloudflare (#412)
Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.16.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 16:19:46 -04:00
dependabot[bot]
bc85d62825 Bump braces from 3.0.2 to 3.0.3 in /serverless/cloudflare (#411)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 16:12:45 -04:00
Niels Bom
658c75b073 refactor: early return (#389)
* refactor: early return

Undents all the code below it 1 level. Readability win.

---------

Co-authored-by: Brandon Liu <bdon@bdon.org>
2024-04-26 12:41:40 +08:00
Niels Bom
3b5ab6b7ac gitignore node_modules in cloudflare dir (#390) 2024-04-18 11:58:26 -07:00
dependabot[bot]
d78f6377ad Bump undici from 5.28.3 to 5.28.4 in /serverless/cloudflare (#388)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-14 07:38:01 -07:00
Brandon Liu
43133f40c7 remove unused code (#372) 2024-02-26 11:25:35 +08:00
dependabot[bot]
a511813a9e Bump undici from 5.28.2 to 5.28.3 in /serverless/cloudflare (#361)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.2 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.2...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-20 11:57:22 +08:00
Brandon Liu
5b8627b0d8 Implement ETag logic for AWS and Cloudflare [#90] (#354) 2024-02-07 11:46:05 +08:00
Brandon Liu
e86dd554be lint cloudflare implementation (#352)
Add linters to AWS and cloudflare implementations [#287]
2024-02-05 16:59:06 +08:00
Brandon Liu
179b1590b1 JS: ETags logic as part of Sources [#90] (#341)
* Simplifies ETag logic into Source, making if-match conditional requests possible.
* Avoid if-match in FetchSource for latency reasons - use cache buster on ETag change
* handle weak ETags correctly
* add mock fetch server for testing ETags [#90]
2024-01-31 23:00:24 +08:00
Brandon Liu
22d7a58f36 replace esbuild runner with tsx (#333)
* also bump esbuild to latest version in all package.jsons
2024-01-29 17:51:42 +08:00
dependabot[bot]
cc52d9dde1 Bump wrangler from 3.1.1 to 3.19.0 in /serverless/cloudflare (#319)
Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 3.1.1 to 3.19.0.
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@3.19.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: wrangler
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 09:53:01 +08:00
Christopher Boone
e1228f5df1 Uses wrangler deploy instead of deprecated publish (#305) 2023-11-25 10:50:24 +08:00
Brandon Liu
f6842e150a disable minification of cloudflare worker js (#290) 2023-11-13 12:18:16 +08:00
dependabot[bot]
34604d9ddd Bump undici from 5.23.0 to 5.26.3 in /serverless/cloudflare (#268)
Bumps [undici](https://github.com/nodejs/undici) from 5.23.0 to 5.26.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.23.0...v5.26.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:40:25 -04:00
Brandon Liu
8925d4272b add utility module for AWS regions. (#259) 2023-09-28 14:31:22 +08:00
dependabot[bot]
64a5125657 Bump wrangler from 2.18.0 to 3.1.1 in /serverless/cloudflare (#233)
* Bump wrangler from 2.18.0 to 3.1.1 in /serverless/cloudflare

Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 2.18.0 to 3.1.1.
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@3.1.1/packages/wrangler)

---
updated-dependencies:
- dependency-name: wrangler
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix tsconfig for cloudflare [#233]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brandon Liu <bdon@bdon.org>
2023-08-21 10:12:31 +08:00
Blayne Chard
d1ea859443 add ETag and cache-control headers for 200 responses (#231)
* add etag and cache control headers for 200 responses

* fixup eTag -> ETag
2023-08-08 11:11:42 +08:00
Brandon Liu
7bab1d744e aws: bump s3 client to 3.360.0 (#216)
* aws: bump s3 client to 3.360.0
2023-07-07 15:34:46 +08:00
Brandon Liu
0cac52741b aws: return 501 instead of 400 if no PUBLIC_HOSTNAME configured for TileJSON 2023-06-23 20:23:19 +08:00
Brandon Liu
56f5a7c179 Merge pull request #202 from protomaps/cloudflare-native-decompress
Revert cloudflare decompression to own function
2023-06-22 14:25:10 +08:00
Brandon Liu
2cb9f5868a Revert cloudflare decompression to own function
* polyfill takes up too much CPU time
* bump cloudflare workers-types
* add tsc checks to CI for serverless
2023-06-22 13:47:06 +08:00
Brandon Liu
10021809dc add AVIF enum in JS client [#116] 2023-06-22 10:08:34 +08:00
Brandon Liu
17218ecb77 Merge pull request #170 from protomaps/cloudflare-tilejson
Cloudflare TileJSON
2023-06-21 18:34:28 +08:00
Brandon Liu
dc8eb73458 TileJSON support for Cloudflare and AWS [#169]
* Remove TILE_PATH configuration as this makes supporting non-tile paths difficult
* create shared/ dir in serverless for common code
* linting fixes
2023-06-21 18:19:10 +08:00
Brandon Liu
7250f81846 serverless: improve error message if request doesn't match archive type [#190] 2023-06-07 09:26:51 -04:00
Brandon Liu
a885f4098a implement metadata and TileJSON-like responses for Cloudflare Workers [#169] 2023-05-03 23:58:22 +08:00
Brandon Liu
3043c20890 bump cloudflare wrangler version 2023-05-03 23:57:08 +08:00
Brandon Liu
cdda65a7eb serverless js: make formatting consistent 2023-03-13 14:29:59 +08:00
James Scott-Brown
75da1623e2 correct build-> install in README 2023-03-06 16:23:36 +00:00
James Scott-Brown
ee86cb6c82 clarify build instructions for AWS lambda function
Doing a clean checkout then npm run build isn't enough to build the Lambda function - it will result in errors like 

```
X [ERROR] Could not resolve "fflate"

    ../../js/index.ts:1:31:
      1 │ import { decompressSync } from "fflate";
        ╵                                ~~~~~~~~

  You can mark the path "fflate" as external to exclude it from the bundle, which will remove this
  error.
```
2023-03-06 16:22:21 +00:00
Brandon Liu
b421ffa3c0 add vtfilter test to github actions 2022-12-21 16:35:10 +08:00
Brandon Liu
3d1e8f90e5 add vtfilter package that depends on AWS impl 2022-12-21 16:32:03 +08:00
Brandon Liu
283b9f9d24 refactor AWS handler with modular handlerRaw 2022-12-21 16:30:56 +08:00
Brandon Liu
4e68e8eb13 Lambda: attach CORS headers for all 2xx-4xx responses 2022-11-24 13:06:09 +08:00
Brandon Liu
19de8191c9 cloudflare: set CACHE_MAX_AGE default. 2022-11-24 02:06:17 +08:00
Brandon Liu
5b4737e066 serverless: fix cache keying with multiple archives. 2022-11-24 02:06:00 +08:00
Brandon Liu
2b5b354f14 Update README.md 2022-11-23 14:25:17 +08:00
Brandon Liu
ce6a4dbe0a fix build and serverless READMEs 2022-11-23 12:06:26 +08:00
Brandon Liu
6b36663d10 serverless README cleanups, wrangler.toml is gitignored 2022-11-23 11:55:57 +08:00
Brandon Liu
f9a4848684 AWS Lambda: set 500ms timeouts on s3 requests to work around latency spikes. 2022-11-23 10:38:03 +08:00
Brandon Liu
47d35484fc port tests to node 18 test module; remove zora dep 2022-11-22 20:38:14 +08:00
Brandon Liu
f457724da1 pass HTTP metadata in S3/R2 Source impls 2022-11-22 14:43:15 +08:00
Brandon Liu
a619aa84e2 make tsconfigs consistent 2022-11-22 10:59:09 +08:00