@ruvyxa/adapter-aws 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -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
+ ```
@@ -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,CAoJ5D;eAec,GAAG"}
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",
3
+ "version": "1.1.5",
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.3"
62
+ "@ruvyxa/core": "^1.1.5"
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'