zuplo 6.74.15 → 7.0.1

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.
Files changed (57) hide show
  1. package/docs/articles/ci-cd-azure/basic-deployment.mdx +2 -2
  2. package/docs/articles/ci-cd-azure/deploy-and-test.mdx +1 -1
  3. package/docs/articles/ci-cd-azure/local-testing.mdx +2 -2
  4. package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +3 -3
  5. package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +1 -1
  6. package/docs/articles/ci-cd-azure/tag-based-releases.mdx +1 -1
  7. package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +1 -1
  8. package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +1 -1
  9. package/docs/articles/ci-cd-bitbucket/local-testing.mdx +1 -1
  10. package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +1 -1
  11. package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +1 -1
  12. package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +1 -1
  13. package/docs/articles/ci-cd-circleci/basic-deployment.mdx +1 -1
  14. package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +1 -1
  15. package/docs/articles/ci-cd-circleci/local-testing.mdx +2 -2
  16. package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +3 -3
  17. package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +1 -1
  18. package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +1 -1
  19. package/docs/articles/ci-cd-github/basic-deployment.mdx +1 -1
  20. package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +2 -2
  21. package/docs/articles/ci-cd-github/deploy-and-test.mdx +1 -1
  22. package/docs/articles/ci-cd-github/local-testing.mdx +2 -2
  23. package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +3 -3
  24. package/docs/articles/ci-cd-github/pr-preview-environments.mdx +2 -2
  25. package/docs/articles/ci-cd-github/tag-based-releases.mdx +1 -1
  26. package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +1 -1
  27. package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +1 -1
  28. package/docs/articles/ci-cd-gitlab/local-testing.mdx +1 -1
  29. package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +1 -1
  30. package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +1 -1
  31. package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +1 -1
  32. package/docs/articles/github-deployment-testing.mdx +1 -1
  33. package/docs/articles/graphql-caching.mdx +2 -0
  34. package/docs/articles/local-development.mdx +4 -4
  35. package/docs/articles/monorepo-deployment.mdx +3 -3
  36. package/docs/articles/sharing-code-across-projects.mdx +2 -2
  37. package/docs/articles/step-1-setup-basic-gateway-local.mdx +1 -1
  38. package/docs/articles/testing.mdx +5 -5
  39. package/docs/articles/troubleshooting-slow-responses.mdx +5 -0
  40. package/docs/articles/update-zup-in-github-action.mdx +1 -1
  41. package/docs/caching/cdn-caching.mdx +397 -0
  42. package/docs/caching/custom-caching-policy.mdx +426 -0
  43. package/docs/caching/dynamic-cache-rules.mdx +427 -0
  44. package/docs/caching/gateway-caching.mdx +308 -0
  45. package/docs/caching/overview.mdx +150 -0
  46. package/docs/caching/partial-response-caching.mdx +641 -0
  47. package/docs/cli/overview.mdx +2 -3
  48. package/docs/dedicated/akamai/caching.mdx +245 -140
  49. package/docs/dev-portal/local-development.mdx +1 -1
  50. package/docs/dev-portal/migration.mdx +1 -1
  51. package/docs/mcp-gateway/quickstart-local.mdx +1 -1
  52. package/docs/policies/api-key-inbound/schema.json +4 -2
  53. package/docs/programmable-api/cache.mdx +7 -0
  54. package/docs/programmable-api/memory-zone-read-through-cache.mdx +2 -0
  55. package/docs/programmable-api/streaming-zone-cache.mdx +2 -0
  56. package/docs/programmable-api/zone-cache.mdx +7 -0
  57. package/package.json +6 -6
@@ -15,7 +15,7 @@ pool:
15
15
  steps:
16
16
  - task: NodeTool@0
17
17
  inputs:
18
- versionSpec: "20.x"
18
+ versionSpec: "24.x"
19
19
  displayName: "Install Node.js"
20
20
 
21
21
  - script: npm install
@@ -28,7 +28,7 @@ steps:
28
28
  This pipeline:
29
29
 
30
30
  1. Triggers on pushes to the `main` branch
31
- 2. Sets up Node.js 20
31
+ 2. Sets up Node.js 24
32
32
  3. Installs dependencies
33
33
  4. Deploys to Zuplo using the branch name as the environment name
34
34
 
@@ -18,7 +18,7 @@ pool:
18
18
  steps:
19
19
  - task: NodeTool@0
20
20
  inputs:
21
- versionSpec: "20.x"
21
+ versionSpec: "24.x"
22
22
  displayName: "Install Node.js"
23
23
 
24
24
  - script: npm install
@@ -20,7 +20,7 @@ stages:
20
20
  steps:
21
21
  - task: NodeTool@0
22
22
  inputs:
23
- versionSpec: "20.x"
23
+ versionSpec: "24.x"
24
24
  displayName: "Install Node.js"
25
25
 
26
26
  - script: npm install
@@ -44,7 +44,7 @@ stages:
44
44
  steps:
45
45
  - task: NodeTool@0
46
46
  inputs:
47
- versionSpec: "20.x"
47
+ versionSpec: "24.x"
48
48
 
49
49
  - script: npm install
50
50
 
@@ -20,7 +20,7 @@ stages:
20
20
  steps:
21
21
  - task: NodeTool@0
22
22
  inputs:
23
- versionSpec: "20.x"
23
+ versionSpec: "24.x"
24
24
 
25
25
  - script: npm install
26
26
 
@@ -45,7 +45,7 @@ stages:
45
45
  steps:
46
46
  - task: NodeTool@0
47
47
  inputs:
48
- versionSpec: "20.x"
48
+ versionSpec: "24.x"
49
49
 
50
50
  - script: npm install
51
51
 
@@ -66,7 +66,7 @@ stages:
66
66
 
67
67
  - task: NodeTool@0
68
68
  inputs:
69
- versionSpec: "20.x"
69
+ versionSpec: "24.x"
70
70
 
71
71
  - script: npm install
72
72
 
@@ -18,7 +18,7 @@ pool:
18
18
  steps:
19
19
  - task: NodeTool@0
20
20
  inputs:
21
- versionSpec: "20.x"
21
+ versionSpec: "24.x"
22
22
  displayName: "Install Node.js"
23
23
 
24
24
  - script: npm install
@@ -17,7 +17,7 @@ pool:
17
17
  steps:
18
18
  - task: NodeTool@0
19
19
  inputs:
20
- versionSpec: "20.x"
20
+ versionSpec: "24.x"
21
21
  displayName: "Install Node.js"
22
22
 
23
23
  - script: npm install
@@ -6,7 +6,7 @@ sidebar_label: Basic Deployment
6
6
  The simplest pipeline deploys your API to Zuplo on every push to main.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  branches:
@@ -6,7 +6,7 @@ sidebar_label: Deploy and Test
6
6
  Run your test suite against the deployed environment to validate changes.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  default:
@@ -6,7 +6,7 @@ sidebar_label: Local Testing in CI
6
6
  Test against a local Zuplo server before deploying anywhere.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  branches:
@@ -6,7 +6,7 @@ sidebar_label: Multi-Stage Deployment
6
6
  Deploy to staging, test, then promote to production with approval.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  branches:
@@ -6,7 +6,7 @@ sidebar_label: PR Preview Environments
6
6
  Deploy preview environments for pull requests and clean up when they close.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  pull-requests:
@@ -6,7 +6,7 @@ sidebar_label: Tag-Based Releases
6
6
  Deploy only when tags are pushed for controlled releases.
7
7
 
8
8
  ```yaml title="bitbucket-pipelines.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  pipelines:
12
12
  tags:
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  deploy:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  deploy:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  local-test:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -25,7 +25,7 @@ jobs:
25
25
 
26
26
  deploy:
27
27
  docker:
28
- - image: cimg/node:20.0
28
+ - image: cimg/node:24.0
29
29
  steps:
30
30
  - checkout
31
31
  - run: npm install
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  deploy-staging:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -30,7 +30,7 @@ jobs:
30
30
 
31
31
  test-staging:
32
32
  docker:
33
- - image: cimg/node:20.0
33
+ - image: cimg/node:24.0
34
34
  steps:
35
35
  - checkout
36
36
  - attach_workspace:
@@ -44,7 +44,7 @@ jobs:
44
44
 
45
45
  deploy-production:
46
46
  docker:
47
- - image: cimg/node:20.0
47
+ - image: cimg/node:24.0
48
48
  steps:
49
49
  - checkout
50
50
  - run: npm install
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  deploy-and-test:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -11,7 +11,7 @@ version: 2.1
11
11
  jobs:
12
12
  deploy:
13
13
  docker:
14
- - image: cimg/node:20.0
14
+ - image: cimg/node:24.0
15
15
  steps:
16
16
  - checkout
17
17
  - run: npm install
@@ -21,7 +21,7 @@ jobs:
21
21
 
22
22
  - uses: actions/setup-node@v4
23
23
  with:
24
- node-version: 20
24
+ node-version: 24
25
25
 
26
26
  - name: Install dependencies
27
27
  run: npm install
@@ -25,7 +25,7 @@ jobs:
25
25
 
26
26
  - uses: actions/setup-node@v4
27
27
  with:
28
- node-version: 20
28
+ node-version: 24
29
29
 
30
30
  - name: Install dependencies
31
31
  run: npm install
@@ -93,7 +93,7 @@ jobs:
93
93
 
94
94
  - uses: actions/setup-node@v4
95
95
  with:
96
- node-version: 20
96
+ node-version: 24
97
97
 
98
98
  - name: Install dependencies
99
99
  run: npm install
@@ -26,7 +26,7 @@ jobs:
26
26
 
27
27
  - uses: actions/setup-node@v4
28
28
  with:
29
- node-version: 20
29
+ node-version: 24
30
30
 
31
31
  - name: Install dependencies
32
32
  run: npm install
@@ -24,7 +24,7 @@ jobs:
24
24
 
25
25
  - uses: actions/setup-node@v4
26
26
  with:
27
- node-version: 20
27
+ node-version: 24
28
28
 
29
29
  - name: Install dependencies
30
30
  run: npm install
@@ -58,7 +58,7 @@ jobs:
58
58
 
59
59
  - uses: actions/setup-node@v4
60
60
  with:
61
- node-version: 20
61
+ node-version: 24
62
62
 
63
63
  - name: Install dependencies
64
64
  run: npm install
@@ -27,7 +27,7 @@ jobs:
27
27
 
28
28
  - uses: actions/setup-node@v4
29
29
  with:
30
- node-version: 20
30
+ node-version: 24
31
31
 
32
32
  - name: Install dependencies
33
33
  run: npm install
@@ -50,7 +50,7 @@ jobs:
50
50
 
51
51
  - uses: actions/setup-node@v4
52
52
  with:
53
- node-version: 20
53
+ node-version: 24
54
54
 
55
55
  - name: Install dependencies
56
56
  run: npm install
@@ -73,7 +73,7 @@ jobs:
73
73
 
74
74
  - uses: actions/setup-node@v4
75
75
  with:
76
- node-version: 20
76
+ node-version: 24
77
77
 
78
78
  - name: Install dependencies
79
79
  run: npm install
@@ -45,7 +45,7 @@ jobs:
45
45
 
46
46
  - uses: actions/setup-node@v4
47
47
  with:
48
- node-version: 20
48
+ node-version: 24
49
49
 
50
50
  - name: Install dependencies
51
51
  run: npm install
@@ -89,7 +89,7 @@ jobs:
89
89
 
90
90
  - uses: actions/setup-node@v4
91
91
  with:
92
- node-version: 20
92
+ node-version: 24
93
93
 
94
94
  - name: Install dependencies
95
95
  run: npm install
@@ -25,7 +25,7 @@ jobs:
25
25
 
26
26
  - uses: actions/setup-node@v4
27
27
  with:
28
- node-version: 20
28
+ node-version: 24
29
29
 
30
30
  - name: Install dependencies
31
31
  run: npm install
@@ -6,7 +6,7 @@ sidebar_label: Basic Deployment
6
6
  The simplest pipeline deploys your API to Zuplo on every push to main.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - deploy
@@ -6,7 +6,7 @@ sidebar_label: Deploy and Test
6
6
  Run your test suite against the deployed environment to validate changes.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - deploy
@@ -6,7 +6,7 @@ sidebar_label: Local Testing in CI
6
6
  Test against a local Zuplo server before deploying anywhere.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - test
@@ -6,7 +6,7 @@ sidebar_label: MR Preview Environments
6
6
  Deploy preview environments for merge requests and clean up when they close.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - deploy
@@ -6,7 +6,7 @@ sidebar_label: Multi-Stage Deployment
6
6
  Deploy to staging, test, then promote to production with approval.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - deploy-staging
@@ -6,7 +6,7 @@ sidebar_label: Tag-Based Releases
6
6
  Deploy only when tags are pushed for controlled releases.
7
7
 
8
8
  ```yaml title=".gitlab-ci.yml"
9
- image: node:20
9
+ image: node:24
10
10
 
11
11
  stages:
12
12
  - deploy
@@ -43,7 +43,7 @@ jobs:
43
43
 
44
44
  - uses: actions/setup-node@v4
45
45
  with:
46
- node-version: 20
46
+ node-version: 24
47
47
 
48
48
  - name: Install dependencies
49
49
  run: npm install
@@ -94,3 +94,5 @@ for the full option matrix, including how credentialed requests fail safe.
94
94
  - [GraphQL on Zuplo](./graphql.mdx) — set up the endpoint and Dev Portal docs
95
95
  - [GraphQL analytics](../analytics/tabs/graphql.md) — watch hit rates and
96
96
  latency once traffic flows
97
+ - [Caching in Zuplo](../caching/overview.mdx) — the other caching layers a
98
+ GraphQL API can use, and when each one wins
@@ -8,7 +8,7 @@ development purposes using your favorite code editor.
8
8
 
9
9
  ## Requirements
10
10
 
11
- - [Node.js](https://nodejs.org/en/download) 20.0.0 or higher
11
+ - [Node.js](https://nodejs.org/en/download) 24.0.0 or higher
12
12
  - Linux, Mac OS X, Windows, or Windows Subsystem for Linux (WSL)
13
13
 
14
14
  ## Getting Started
@@ -36,12 +36,12 @@ development purposes using your favorite code editor.
36
36
 
37
37
  ### Import your existing project
38
38
 
39
- If you have been using Zuplo using the _Zuplo Web Portal_, you can import your
40
- project into your local machine.
39
+ If you have been working in the _Zuplo Portal_, you can import your project into
40
+ your local machine.
41
41
 
42
42
  <Stepper>
43
43
 
44
- 1. Connect your project to a Git repository from the _Zuplo Web Portal_.
44
+ 1. Connect your project to a Git repository from the _Zuplo Portal_.
45
45
  ![Connect repository](../../public/media/local-development/3bd6b736-20d7-4ac4-805c-d7fd810dea28.png)
46
46
  1. Clone your project from your Git provider to your local machine.
47
47
  1. Install the necessary dependencies:
@@ -108,7 +108,7 @@ jobs:
108
108
 
109
109
  - uses: actions/setup-node@v4
110
110
  with:
111
- node-version: 20
111
+ node-version: 24
112
112
 
113
113
  - name: Install dependencies
114
114
  run: npm install
@@ -165,7 +165,7 @@ jobs:
165
165
 
166
166
  - uses: actions/setup-node@v4
167
167
  with:
168
- node-version: 20
168
+ node-version: 24
169
169
 
170
170
  - name: Install dependencies
171
171
  run: npm install
@@ -207,7 +207,7 @@ jobs:
207
207
 
208
208
  - uses: actions/setup-node@v4
209
209
  with:
210
- node-version: 20
210
+ node-version: 24
211
211
 
212
212
  - name: Install dependencies
213
213
  run: npm install
@@ -69,10 +69,10 @@ Configure your `package.json` to include the TypeScript source files and a
69
69
  "postinstall": "node ./scripts/copy-to-modules.mjs"
70
70
  },
71
71
  "peerDependencies": {
72
- "@zuplo/runtime": "^1.0.0"
72
+ "@zuplo/runtime": "^7.0.0"
73
73
  },
74
74
  "devDependencies": {
75
- "@zuplo/runtime": "^1.0.0",
75
+ "@zuplo/runtime": "^7.0.0",
76
76
  "typescript": "^5.0.0"
77
77
  }
78
78
  }
@@ -14,7 +14,7 @@ template, which ships with a working todo API.
14
14
 
15
15
  ## Requirements
16
16
 
17
- - [Node.js](https://nodejs.org/en/download) 20.0.0 or higher
17
+ - [Node.js](https://nodejs.org/en/download) 24.0.0 or higher
18
18
 
19
19
  <Stepper>
20
20
 
@@ -222,7 +222,7 @@ jobs:
222
222
  - uses: actions/checkout@v4
223
223
  - uses: actions/setup-node@v4
224
224
  with:
225
- node-version: 20
225
+ node-version: 24
226
226
  - name: Install dependencies
227
227
  run: npm install
228
228
  - name: Start local server and run tests
@@ -244,7 +244,7 @@ jobs:
244
244
  - uses: actions/checkout@v4
245
245
  - uses: actions/setup-node@v4
246
246
  with:
247
- node-version: 20
247
+ node-version: 24
248
248
  - name: Install dependencies
249
249
  run: npm install
250
250
  - name: Deploy to Zuplo
@@ -511,9 +511,9 @@ If you are running unit tests in a Node.js environment, you may need to polyfill
511
511
  some globals. Zuplo itself doesn't run on Node.js, but because Zuplo is built on
512
512
  standard API, testing in Node.js is possible.
513
513
 
514
- If you are running on Node.js 20 or later, you can use the `webcrypto` module to
515
- polyfill the `crypto` global. You must register this polyfill before any Zuplo
516
- code runs.
514
+ Node.js 24, the minimum version the Zuplo CLI supports, includes the `webcrypto`
515
+ module, which polyfills the `crypto` global. You must register this polyfill
516
+ before any Zuplo code runs.
517
517
 
518
518
  ```js
519
519
  import { webcrypto } from "node:crypto";
@@ -135,6 +135,9 @@ from it. If latency scales with geographic distance, this is the cause.
135
135
  - Deploy your backend in multiple regions
136
136
  - Use Zuplo's [Caching policy](../policies/caching-inbound.mdx) to serve cached
137
137
  responses from the edge without reaching the backend
138
+ - Put a CDN in front of the gateway so a hit returns from a POP near the caller
139
+ and never crosses the distance at all — see
140
+ [Cache at the CDN](../caching/cdn-caching.mdx)
138
141
  - For internal or single-cloud traffic, consider
139
142
  [Managed Dedicated](../dedicated/overview.mdx) deployment, which runs Zuplo
140
143
  within your cloud provider's network for reduced latency by keeping traffic
@@ -367,6 +370,8 @@ back-and-forth diagnostic questions.
367
370
  benchmark and compare gateway performance accurately
368
371
  - [Proactive Monitoring](./monitoring-your-gateway.mdx) — Setting up health
369
372
  checks and monitoring for your gateway
373
+ - [Caching in Zuplo](../caching/overview.mdx) — Picking the caching layer that
374
+ removes the latency instead of moving it
370
375
  - [ZoneCache](../programmable-api/zone-cache.mdx) — Low-latency caching API for
371
376
  frequently accessed data
372
377
  - [Caching Policy](../policies/caching-inbound.mdx) — Built-in response caching
@@ -60,7 +60,7 @@ jobs:
60
60
  - name: Use Node.js
61
61
  uses: actions/setup-node@v4
62
62
  with:
63
- node-version: 20.x
63
+ node-version: 24.x
64
64
  cache: "npm"
65
65
 
66
66
  # Run your build/generate scripts here to generate the OpenAPI file