@opennextjs/aws 3.7.6 → 3.7.7

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.
@@ -4,18 +4,33 @@ import type { OpenNextConfig } from "../types/open-next.js";
4
4
  *
5
5
  * The configuration is always compiled for Node.js and for the edge only if needed.
6
6
  *
7
- * @param baseDir Directory where to look for the configuration.
8
- * @param openNextConfigPath Override the default configuration when provided. Relative to baseDir.
7
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
9
8
  * @param nodeExternals Coma separated list of Externals for the Node.js compilation.
10
9
  * @param compileEdge Force compiling for the edge runtime when true
11
10
  * @return The configuration and the build directory.
12
11
  */
13
- export declare function compileOpenNextConfig(baseDir: string, openNextConfigPath?: string, { nodeExternals, compileEdge }?: {
12
+ export declare function compileOpenNextConfig(openNextConfigPath: string, { nodeExternals, compileEdge }?: {
14
13
  nodeExternals?: string | undefined;
15
14
  compileEdge?: boolean | undefined;
16
15
  }): Promise<{
17
16
  config: OpenNextConfig;
18
17
  buildDir: string;
19
18
  }>;
20
- export declare function compileOpenNextConfigNode(sourcePath: string, outputDir: string, externals: string[]): string;
21
- export declare function compileOpenNextConfigEdge(sourcePath: string, outputDir: string, externals: string[]): void;
19
+ /**
20
+ * Compiles the OpenNext configuration for Node.
21
+ *
22
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
23
+ * @param outputDir Folder where to output the compiled config file (`open-next.config.mjs`).
24
+ * @param externals List of packages that should not be bundled.
25
+ * @return Path to the compiled config.
26
+ */
27
+ export declare function compileOpenNextConfigNode(openNextConfigPath: string, outputDir: string, externals: string[]): string;
28
+ /**
29
+ * Compiles the OpenNext configuration for Edge.
30
+ *
31
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
32
+ * @param outputDir Folder where to output the compiled config file (`open-next.config.edge.mjs`).
33
+ * @param externals List of packages that should not be bundled.
34
+ * @return Path to the compiled config.
35
+ */
36
+ export declare function compileOpenNextConfigEdge(openNextConfigPath: string, outputDir: string, externals: string[]): string;
@@ -9,16 +9,14 @@ import { validateConfig } from "./validateConfig.js";
9
9
  *
10
10
  * The configuration is always compiled for Node.js and for the edge only if needed.
11
11
  *
12
- * @param baseDir Directory where to look for the configuration.
13
- * @param openNextConfigPath Override the default configuration when provided. Relative to baseDir.
12
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
14
13
  * @param nodeExternals Coma separated list of Externals for the Node.js compilation.
15
14
  * @param compileEdge Force compiling for the edge runtime when true
16
15
  * @return The configuration and the build directory.
17
16
  */
18
- export async function compileOpenNextConfig(baseDir, openNextConfigPath, { nodeExternals = "", compileEdge = false } = {}) {
19
- const sourcePath = path.join(baseDir, openNextConfigPath ?? "open-next.config.ts");
17
+ export async function compileOpenNextConfig(openNextConfigPath, { nodeExternals = "", compileEdge = false } = {}) {
20
18
  const buildDir = fs.mkdtempSync(path.join(os.tmpdir(), "open-next-tmp"));
21
- let configPath = compileOpenNextConfigNode(sourcePath, buildDir, nodeExternals.split(","));
19
+ let configPath = compileOpenNextConfigNode(openNextConfigPath, buildDir, nodeExternals.split(","));
22
20
  // On Windows, we need to use file:// protocol to load the config file using import()
23
21
  if (process.platform === "win32")
24
22
  configPath = `file://${configPath}`;
@@ -33,7 +31,7 @@ export async function compileOpenNextConfig(baseDir, openNextConfigPath, { nodeE
33
31
  const usesEdgeRuntime = (config.middleware?.external && config.middleware.runtime !== "node") ||
34
32
  Object.values(config.functions || {}).some((fn) => fn.runtime === "edge");
35
33
  if (usesEdgeRuntime || compileEdge) {
36
- compileOpenNextConfigEdge(sourcePath, buildDir, config.edgeExternals ?? []);
34
+ compileOpenNextConfigEdge(openNextConfigPath, buildDir, config.edgeExternals ?? []);
37
35
  }
38
36
  else {
39
37
  // Skip compiling for the edge runtime.
@@ -41,18 +39,26 @@ export async function compileOpenNextConfig(baseDir, openNextConfigPath, { nodeE
41
39
  }
42
40
  return { config, buildDir };
43
41
  }
44
- export function compileOpenNextConfigNode(sourcePath, outputDir, externals) {
42
+ /**
43
+ * Compiles the OpenNext configuration for Node.
44
+ *
45
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
46
+ * @param outputDir Folder where to output the compiled config file (`open-next.config.mjs`).
47
+ * @param externals List of packages that should not be bundled.
48
+ * @return Path to the compiled config.
49
+ */
50
+ export function compileOpenNextConfigNode(openNextConfigPath, outputDir, externals) {
45
51
  const outputPath = path.join(outputDir, "open-next.config.mjs");
46
52
  logger.debug("Compiling open-next.config.ts for Node.", outputPath);
47
53
  //Check if open-next.config.ts exists
48
- if (!fs.existsSync(sourcePath)) {
54
+ if (!fs.existsSync(openNextConfigPath)) {
49
55
  //Create a simple open-next.config.mjs file
50
56
  logger.debug("Cannot find open-next.config.ts. Using default config.");
51
57
  fs.writeFileSync(outputPath, "export default { default: { } };");
52
58
  }
53
59
  else {
54
60
  buildSync({
55
- entryPoints: [sourcePath],
61
+ entryPoints: [openNextConfigPath],
56
62
  outfile: outputPath,
57
63
  bundle: true,
58
64
  format: "esm",
@@ -71,11 +77,19 @@ export function compileOpenNextConfigNode(sourcePath, outputDir, externals) {
71
77
  }
72
78
  return outputPath;
73
79
  }
74
- export function compileOpenNextConfigEdge(sourcePath, outputDir, externals) {
80
+ /**
81
+ * Compiles the OpenNext configuration for Edge.
82
+ *
83
+ * @param openNextConfigPath Path to the configuration file. Absolute or relative to cwd.
84
+ * @param outputDir Folder where to output the compiled config file (`open-next.config.edge.mjs`).
85
+ * @param externals List of packages that should not be bundled.
86
+ * @return Path to the compiled config.
87
+ */
88
+ export function compileOpenNextConfigEdge(openNextConfigPath, outputDir, externals) {
75
89
  const outputPath = path.join(outputDir, "open-next.config.edge.mjs");
76
90
  logger.debug("Compiling open-next.config.ts for edge runtime.", outputPath);
77
91
  buildSync({
78
- entryPoints: [sourcePath],
92
+ entryPoints: [openNextConfigPath],
79
93
  outfile: outputPath,
80
94
  bundle: true,
81
95
  format: "esm",
@@ -88,4 +102,5 @@ export function compileOpenNextConfigEdge(sourcePath, outputDir, externals) {
88
102
  "process.env.NODE_ENV": '"production"',
89
103
  },
90
104
  });
105
+ return outputPath;
91
106
  }
@@ -15,7 +15,8 @@ import { copyOpenNextConfig, esbuildAsync } from "../helper.js";
15
15
  export async function buildEdgeBundle({ middlewareInfo, entrypoint, outfile, options, defaultConverter, overrides, additionalInject, includeCache, additionalExternals, onlyBuildOnce, name, additionalPlugins: additionalPluginsFn, }) {
16
16
  const isInCloudflare = await isEdgeRuntime(overrides);
17
17
  function override(target) {
18
- return typeof overrides?.[target] === "string"
18
+ return typeof overrides?.[target] === "string" ||
19
+ typeof overrides?.[target] === "function"
19
20
  ? overrides[target]
20
21
  : undefined;
21
22
  }
package/dist/build.js CHANGED
@@ -1,3 +1,4 @@
1
+ import path from "node:path";
1
2
  import url from "node:url";
2
3
  import { buildNextjsApp, setStandaloneBuildMode, } from "./build/buildNextApp.js";
3
4
  import { compileCache } from "./build/compileCache.js";
@@ -17,7 +18,7 @@ export async function build(openNextConfigPath, nodeExternals) {
17
18
  showWarningOnWindows();
18
19
  const baseDir = process.cwd();
19
20
  const openNextDistDir = url.fileURLToPath(new URL(".", import.meta.url));
20
- const { config, buildDir } = await compileOpenNextConfig(baseDir, openNextConfigPath, { nodeExternals });
21
+ const { config, buildDir } = await compileOpenNextConfig(path.join(baseDir, openNextConfigPath ?? "open-next.config.ts"), { nodeExternals });
21
22
  // Initialize options
22
23
  const options = buildHelper.normalizeOptions(config, openNextDistDir, buildDir);
23
24
  logger.setLevel(options.debug ? "debug" : "info");
@@ -178,7 +178,9 @@ export async function cacheInterceptor(event) {
178
178
  if (cachedData.value?.type === "app" ||
179
179
  cachedData.value?.type === "route") {
180
180
  const tags = getTagsFromValue(cachedData.value);
181
- const _hasBeenRevalidated = await hasBeenRevalidated(localizedPath, tags, cachedData);
181
+ const _hasBeenRevalidated = cachedData.shouldBypassTagCache
182
+ ? false
183
+ : await hasBeenRevalidated(localizedPath, tags, cachedData);
182
184
  if (_hasBeenRevalidated) {
183
185
  return event;
184
186
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "access": "public"
4
4
  },
5
5
  "name": "@opennextjs/aws",
6
- "version": "3.7.6",
6
+ "version": "3.7.7",
7
7
  "bin": {
8
8
  "open-next": "./dist/index.js"
9
9
  },