@ruvyxa/adapter-aws 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +7 -0
package/README.md
CHANGED
|
@@ -31,3 +31,21 @@ export default config({ adapter: aws() })
|
|
|
31
31
|
The compute server listens on Amplify's required port 3000, stores runtime ISR refreshes under
|
|
32
32
|
`/tmp`, and supports SSR, SSG, CSR, ISR, PPR, and API routes. AWS credentials and Amplify app
|
|
33
33
|
creation remain AWS responsibilities.
|
|
34
|
+
|
|
35
|
+
## Client identity behind a proxy
|
|
36
|
+
|
|
37
|
+
The generated server believes `X-Forwarded-For` and `X-Real-IP` only from a connection whose peer is
|
|
38
|
+
loopback or listed in `security.trustedProxyIps`. From any other peer both headers are dropped
|
|
39
|
+
before the request is routed, because nothing in front of the server overwrote them and one caller
|
|
40
|
+
rotating a value would otherwise collect a fresh bucket per request from the built-in `rate`
|
|
41
|
+
middleware, the server-action rate limiter, and the action replay quota.
|
|
42
|
+
|
|
43
|
+
Behind a reverse proxy that is not on the same host — nginx or Traefik in another container, an
|
|
44
|
+
ingress controller, a service mesh — list its address or range, or every visitor is counted as one
|
|
45
|
+
client:
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export default config({
|
|
49
|
+
security: { trustedProxyIps: ['10.0.0.0/8'] },
|
|
50
|
+
})
|
|
51
|
+
```
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAA+B,MAAM,cAAc,CAAA;AAaxE,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAA;AAEhE,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,4EAA4E;AAC5E,wBAAgB,GAAG,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAA+B,MAAM,cAAc,CAAA;AAaxE,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAA;AAEhE,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,4EAA4E;AAC5E,wBAAgB,GAAG,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CA2J5D;eAec,GAAG"}
|
package/dist/index.js
CHANGED
|
@@ -45,8 +45,15 @@ export function aws(options = {}) {
|
|
|
45
45
|
Object.entries(DEFAULT_SECURITY_HEADERS)
|
|
46
46
|
.map(([key, value]) => ` - key: '${key}'\n value: '${value}'\n`)
|
|
47
47
|
.join('');
|
|
48
|
+
// Amplify's compute bundle is immutable, so ISR refreshes go to the
|
|
49
|
+
// host's temporary directory — shared with every other deployment on the
|
|
50
|
+
// machine and, across a redeploy, with the build this one replaces. The
|
|
51
|
+
// build id is what tells those apart; `undefined` from an output older
|
|
52
|
+
// than the deploy manifest still names the directory from where the
|
|
53
|
+
// bundle was deployed.
|
|
48
54
|
const serverSource = standaloneServerSource({
|
|
49
55
|
isrCache: 'tmp',
|
|
56
|
+
buildId: ctx.deployManifest?.buildId,
|
|
50
57
|
runtimePolicy: runtimeBuildPolicy(ctx),
|
|
51
58
|
});
|
|
52
59
|
const deployRoot = 'deploy/aws/.amplify-hosting';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruvyxa/adapter-aws",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Deploy full-stack Ruvyxa applications to AWS Amplify Hosting with native static and Node compute deployment output.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@ruvyxa/core": "^1.1.
|
|
62
|
+
"@ruvyxa/core": "^1.1.4"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/node": "24.13.3"
|
package/src/index.ts
CHANGED
|
@@ -79,8 +79,15 @@ export function aws(options: AwsAdapterOptions = {}): Adapter {
|
|
|
79
79
|
.map(([key, value]) => ` - key: '${key}'\n value: '${value}'\n`)
|
|
80
80
|
.join('')
|
|
81
81
|
|
|
82
|
+
// Amplify's compute bundle is immutable, so ISR refreshes go to the
|
|
83
|
+
// host's temporary directory — shared with every other deployment on the
|
|
84
|
+
// machine and, across a redeploy, with the build this one replaces. The
|
|
85
|
+
// build id is what tells those apart; `undefined` from an output older
|
|
86
|
+
// than the deploy manifest still names the directory from where the
|
|
87
|
+
// bundle was deployed.
|
|
82
88
|
const serverSource = standaloneServerSource({
|
|
83
89
|
isrCache: 'tmp',
|
|
90
|
+
buildId: ctx.deployManifest?.buildId,
|
|
84
91
|
runtimePolicy: runtimeBuildPolicy(ctx),
|
|
85
92
|
})
|
|
86
93
|
const deployRoot = 'deploy/aws/.amplify-hosting'
|