@opennextjs/aws 3.3.1 → 3.4.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.
- package/dist/adapters/cache.js +23 -3
- package/dist/adapters/logger.js +2 -2
- package/dist/build/createAssets.js +1 -1
- package/dist/build/createImageOptimizationBundle.js +2 -1
- package/dist/build/createServerBundle.js +8 -9
- package/dist/build/edge/createEdgeBundle.js +2 -1
- package/dist/build/helper.d.ts +10 -1
- package/dist/build/helper.js +19 -3
- package/dist/build/validateConfig.js +2 -1
- package/dist/core/createMainHandler.js +2 -1
- package/dist/core/edgeFunctionHandler.js +2 -1
- package/dist/core/requestHandler.js +9 -2
- package/dist/core/resolve.d.ts +4 -0
- package/dist/core/resolve.js +10 -0
- package/dist/core/routing/middleware.js +3 -1
- package/dist/core/routing/util.d.ts +3 -2
- package/dist/core/routing/util.js +18 -1
- package/dist/overrides/cdnInvalidation/cloudfront.d.ts +9 -0
- package/dist/overrides/cdnInvalidation/cloudfront.js +26 -0
- package/dist/overrides/cdnInvalidation/dummy.d.ts +9 -0
- package/dist/overrides/cdnInvalidation/dummy.js +6 -0
- package/dist/overrides/imageLoader/fs-dev.d.ts +10 -0
- package/dist/overrides/imageLoader/fs-dev.js +14 -0
- package/dist/overrides/incrementalCache/fs-dev.d.ts +3 -0
- package/dist/overrides/incrementalCache/fs-dev.js +30 -0
- package/dist/overrides/incrementalCache/multi-tier-ddb-s3.d.ts +10 -0
- package/dist/overrides/incrementalCache/multi-tier-ddb-s3.js +120 -0
- package/dist/overrides/incrementalCache/s3-lite.d.ts +2 -0
- package/dist/overrides/incrementalCache/s3-lite.js +1 -1
- package/dist/overrides/proxyExternalRequest/node.js +6 -5
- package/dist/overrides/queue/direct.d.ts +3 -0
- package/dist/overrides/queue/direct.js +18 -0
- package/dist/overrides/tagCache/dynamodb-lite.js +8 -4
- package/dist/overrides/tagCache/dynamodb.js +8 -4
- package/dist/overrides/tagCache/fs-dev.d.ts +3 -0
- package/dist/overrides/tagCache/fs-dev.js +32 -0
- package/dist/overrides/wrappers/cloudflare-edge.js +11 -4
- package/dist/overrides/wrappers/dummy.d.ts +1 -1
- package/dist/overrides/wrappers/dummy.js +6 -2
- package/dist/overrides/wrappers/express-dev.d.ts +7 -0
- package/dist/overrides/wrappers/express-dev.js +43 -0
- package/dist/plugins/edge.js +4 -3
- package/dist/plugins/replacement.d.ts +1 -1
- package/dist/plugins/replacement.js +1 -1
- package/dist/plugins/resolve.d.ts +1 -0
- package/dist/plugins/resolve.js +4 -1
- package/dist/types/global.d.ts +19 -12
- package/dist/types/open-next.d.ts +12 -6
- package/dist/types/overrides.d.ts +10 -1
- package/dist/utils/lru.d.ts +8 -0
- package/dist/utils/lru.js +29 -0
- package/dist/utils/regex.d.ts +18 -0
- package/dist/utils/regex.js +16 -0
- package/package.json +4 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class LRUCache {
|
|
2
|
+
maxSize;
|
|
3
|
+
cache = new Map();
|
|
4
|
+
constructor(maxSize) {
|
|
5
|
+
this.maxSize = maxSize;
|
|
6
|
+
}
|
|
7
|
+
get(key) {
|
|
8
|
+
const result = this.cache.get(key);
|
|
9
|
+
// We could have used .has to allow for nullish value to be stored but we don't need that right now
|
|
10
|
+
if (result) {
|
|
11
|
+
// By removing and setting the key again we ensure it's the most recently used
|
|
12
|
+
this.cache.delete(key);
|
|
13
|
+
this.cache.set(key, result);
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
set(key, value) {
|
|
18
|
+
if (this.cache.size >= this.maxSize) {
|
|
19
|
+
const firstKey = this.cache.keys().next().value;
|
|
20
|
+
if (firstKey !== undefined) {
|
|
21
|
+
this.cache.delete(firstKey);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
this.cache.set(key, value);
|
|
25
|
+
}
|
|
26
|
+
delete(key) {
|
|
27
|
+
this.cache.delete(key);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Options = {
|
|
2
|
+
escape?: boolean;
|
|
3
|
+
flags?: string;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Constructs a regular expression for a path that supports separators for multiple platforms
|
|
7
|
+
* - Uses posix separators (`/`) as the input that should be made cross-platform.
|
|
8
|
+
* - Special characters are escaped by default but can be controlled through opts.escape.
|
|
9
|
+
* - Posix separators are always escaped.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* getCrossPlatformPathRegex("./middleware.mjs")
|
|
14
|
+
* getCrossPlatformPathRegex(String.raw`\./middleware\.(mjs|cjs)`, { escape: false })
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function getCrossPlatformPathRegex(regex: string, { escape: shouldEscape, flags }?: Options): RegExp;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constructs a regular expression for a path that supports separators for multiple platforms
|
|
3
|
+
* - Uses posix separators (`/`) as the input that should be made cross-platform.
|
|
4
|
+
* - Special characters are escaped by default but can be controlled through opts.escape.
|
|
5
|
+
* - Posix separators are always escaped.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* getCrossPlatformPathRegex("./middleware.mjs")
|
|
10
|
+
* getCrossPlatformPathRegex(String.raw`\./middleware\.(mjs|cjs)`, { escape: false })
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export function getCrossPlatformPathRegex(regex, { escape: shouldEscape = true, flags = "g" } = {}) {
|
|
14
|
+
const newExpr = (shouldEscape ? regex.replace(/([[\]().*+?^$|{}\\])/g, "\\$1") : regex).replaceAll("/", String.raw `(?:\/|\\)`);
|
|
15
|
+
return new RegExp(newExpr, flags);
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"access": "public"
|
|
4
4
|
},
|
|
5
5
|
"name": "@opennextjs/aws",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.4.1",
|
|
7
7
|
"bin": {
|
|
8
8
|
"open-next": "./dist/index.js"
|
|
9
9
|
},
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"README.md"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
+
"@aws-sdk/client-cloudfront": "3.398.0",
|
|
33
34
|
"@aws-sdk/client-dynamodb": "^3.398.0",
|
|
34
35
|
"@aws-sdk/client-lambda": "^3.398.0",
|
|
35
36
|
"@aws-sdk/client-s3": "^3.398.0",
|
|
@@ -41,12 +42,14 @@
|
|
|
41
42
|
"aws4fetch": "^1.0.18",
|
|
42
43
|
"chalk": "^5.3.0",
|
|
43
44
|
"esbuild": "0.19.2",
|
|
45
|
+
"express": "5.0.1",
|
|
44
46
|
"path-to-regexp": "^6.3.0",
|
|
45
47
|
"promise.series": "^0.2.0",
|
|
46
48
|
"urlpattern-polyfill": "^10.0.0"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|
|
49
51
|
"@types/aws-lambda": "^8.10.109",
|
|
52
|
+
"@types/express": "5.0.0",
|
|
50
53
|
"@types/node": "20.17.6",
|
|
51
54
|
"tsc-alias": "^1.8.8",
|
|
52
55
|
"typescript": "5.6.3"
|