Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Cache Support for [email protected] #356

Merged
merged 5 commits into from
Feb 1, 2024

Conversation

Manuel-Antunes
Copy link
Contributor

Related Issue

#354

Proposed Changes

  • create utils file overriding the cacheHander property

Changelog

Copy link

changeset-bot bot commented Feb 1, 2024

🦋 Changeset detected

Latest commit: 4d4813d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
open-next Patch
app-pages-router Patch
app-router Patch
tests-unit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

vercel bot commented Feb 1, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
open-next ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 1, 2024 10:40pm

Copy link
Collaborator

@conico974 conico974 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added some comment, if you could change that.

openNextPlugin({
name: "opennext-14.1-util",
target: /plugins\/util\.js/g,
replacements: ["./14.1/util.js", "./util.replacement.js"],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only things that change between 13.5.1+ and 14.1 is the ./14.1/utils.js
Could you refactor this to something like that

if (compareSemver(options.nextVersion, "13.5.1") >= 0) {
    const utilReplacement = compareSemver(options.nextVersion, "14.1.0") >= 0 ? "./14.1.util.js" : "./13.5/util.js"
    plugins = [
      openNextPlugin({
        name: "opennext-13.5-serverHandler",
        target: /plugins\/serverHandler\.js/g,
        replacements: ["./13.5/serverHandler.js"],
      }),
      openNextPlugin({
        name: "opennext-13.5-util",
        target: /plugins\/util\.js/g,
        replacements: [utilReplacement, "./util.replacement.js"],
      }),
      openNextPlugin({
        name: "opennext-13.5-default",
        target: /plugins\/routing\/default\.js/g,
        replacements: ["./default.replacement.js"],
      }),
    ];
  }

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@@ -0,0 +1,25 @@
/*eslint-disable simple-import-sort/imports */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to create this file, just use the 13.5/serverHandler.js

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that the module resolution could find an error because the file isn't in the same directory so the relative path was supposed to be different

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not how the plugin works https://open-next.js.org/inner_workings/plugin
Long story short, the only things that happens is that everything between //#override and //#endOverride is replaced in the files you provide

Copy link
Collaborator

@conico974 conico974 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, i'll probably merge this by the end of the day

@Manuel-Antunes
Copy link
Contributor Author

Awesome!

@conico974 conico974 merged commit b9eefca into opennextjs:main Feb 1, 2024
2 checks passed
conico974 added a commit that referenced this pull request Mar 11, 2024
commit ff37de2
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Mar 6 15:37:07 2024 +0100

    Version Packages (#378)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit 3235392
Author: Iakhub Seitasanov <[email protected]>
Date:   Wed Mar 6 17:29:46 2024 +0300

    fix: prevent duplication of location header (#369)

    * fix: prevent duplication of location header

    * changeset

    * fix linting

    ---------

    Co-authored-by: conico974 <[email protected]>

commit af2d3ce
Author: Chung Wei Leong <[email protected]>
Date:   Wed Mar 6 22:06:33 2024 +0800

    Fix image optimization support for Next 14.1.1 (#377)

    * Move image optimization to plugin

    * Refactor image optimization code

    * Added image optimization plugin for 14.1.1

    * Fix image optimization plugin

    * Add changeset

    * Revert default sharp version to 0.32.6

    * e2e test for image optimization

    * change one of the test to use an external image

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit 3deb202
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Feb 13 08:39:35 2024 -0800

    Version Packages (#363)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit f9b90b6
Author: khuezy <[email protected]>
Date:   Tue Feb 13 08:35:10 2024 -0800

    changeset/2.3.6 (#362)

commit 40c2b36
Author: Patrick Ufer <[email protected]>
Date:   Tue Feb 13 09:23:40 2024 -0700

    security fix: upgrade sharp version to 0.32.6 (#361)

    * upgrade sharp version

commit 63fab05
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Feb 2 00:14:11 2024 +0100

    Version Packages (#359)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit c80f1be
Author: conico974 <[email protected]>
Date:   Fri Feb 2 00:00:56 2024 +0100

    Fix trailing slash redirect to external domain (#358)

    * fix trailing slash redirect to external domain

    * changeset

commit 186e28f
Author: Jaden VanEckhout <[email protected]>
Date:   Thu Feb 1 16:49:14 2024 -0600

    fix(open-next): correctly set cache control for html pages (#353)

    * fix(open-next): correctly set cache control for html pages

    * changeset

    ---------

    Co-authored-by: conico974 <[email protected]>

commit b9eefca
Author: Manuel Antunes <[email protected]>
Date:   Thu Feb 1 19:41:47 2024 -0300

    Fix Cache Support for [email protected] (#356)

    * feat: add cache support for [email protected]

    * fix: lint files

    * chore: apply the proposed changes

    * Fix typo

    * changeset

    ---------

    Co-authored-by: conico974 <[email protected]>

commit afd9605
Author: conico974 <[email protected]>
Date:   Sat Jan 27 15:19:11 2024 +0100

    update docs for V3 (#351)

commit 46241fe
Author: Abhishek Malik <[email protected]>
Date:   Sat Jan 27 19:45:18 2024 +0530

    Update bundle_size.mdx for excluding pdfjs-dist optional dependency docs (#346)

    * Update bundle_size.mdx for excluding pdfjs-dist optional dependency docs

    The current fix didn't work, but this updated fix did work for me. Hence proposing this as another solution.

    * Update docs/pages/common_issues/bundle_size.mdx

    Co-authored-by: khuezy <[email protected]>

    ---------

    Co-authored-by: khuezy <[email protected]>

commit 9a6473a
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Jan 5 16:56:42 2024 +0100

    Version Packages (#345)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit bbf9b30
Author: Lucas Vieira <[email protected]>
Date:   Fri Jan 5 12:45:13 2024 -0300

    fix(open-next): use dynamic import handler for monorepo entrypoint (#341)

    * fix(open-next): use dynamic import handler for monorepo entrypoint

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit 83b0838
Author: santiperone <[email protected]>
Date:   Fri Jan 5 12:38:12 2024 -0300

    add suport for bun lockfile in monorepo (#337)

    * add suport for bun lockfile in monorepo

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit e773e67
Author: Jan Stevens <[email protected]>
Date:   Fri Jan 5 16:31:27 2024 +0100

    fix: try to match errors, fall back to just adding raw key / value pare (#336)

    * fix: try to match errors, fall back to just adding raw key / value pair instead

    * changeset

    * fix lint

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit fd90b26
Author: Dylan Irion <[email protected]>
Date:   Fri Jan 5 17:22:28 2024 +0200

    Changes encoding on cache.body from utf8 to base64 (#329)

    * changes encoding on cache.body from utf8 to base64

    * retain utf8 for json content-type

    * opting for less greedy base64

    * use isBinaryContentType

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit eb08980
Author: sommeeeR <[email protected]>
Date:   Fri Jan 5 16:02:47 2024 +0100

    fix: make invalidateCFPaths function async in docs (#344)

commit 83207d8
Author: conico974 <[email protected]>
Date:   Thu Dec 14 16:59:15 2023 +0100

    updated docs for v3 (#334)

commit 0e827ce
Author: conico974 <[email protected]>
Date:   Fri Dec 8 17:57:51 2023 +0100

    ci: update node e2e

commit 36da819
Author: conico974 <[email protected]>
Date:   Thu Dec 7 17:44:06 2023 +0100

    Initial docs for V3 (#330)

    * docs for V3

    * fix link

    * clearer routes in config
conico974 added a commit that referenced this pull request May 3, 2024
* created basic config file

* basic wrapper and converter implementation

* Minimal response writable

* build config

* change response to transform to allow to use pipeline

* fix streaming for v3

* compression support

* better docker handler

* add converter for apigw-v1 & cloudfront

* overridable queue

* overridable s3 cache

* overridable tag cache

* prebuild middleware

* refactor routing and middleware

* big refactoring

moved files around so that it makes more sense
deleted a bunch of useless files
added todo to remind myself of what i still need to do

* refactor: cleanup plugins

added a deletes options in open-next plugin

* make other lambdas overridable as well

* externalMiddleware

* improve plugins

* fix proxy request and make it work with streaming

* bugfix

* fix host

* refactor wrapper

* generate basic dockerfile

* Only build open-next config once

* generate basic output file for IAC to use

* basic splitting

* bundled next server

* fix external middleware cloudfront

* fix image adapter rebase

* couple of fix for node

* package version

* support for warmer with splitted fn

* basic support for edge runtime

There is some restriction:
Only 1 route per function
Support only app route and page
No streaming

* external middleware support rewrite between splitted servers

* fix alias

* update package.json

* use AsyncLocalStorage to scope lastModified to a single request

* merge upstream/main

* Add basic validation

* fix EISDIR issue with copying traced symlink

* added override name to the output for better IAC support

* rename BuildOptions
remove some unused options
properly handle minify

* normalize locale path before passing to middleware

* Copy necessary static files

* fix issues with fallback and i18n in page router

* Add a big warning for build on windows

* fix for cloudflare workers

* add wasm fils and assets

* fix 14.1 cache

* fix wasm import node

* update version

* merge upstream

* make open-next.config.ts optional

* Fix cannot write default config file b/c folder not created (#364)

* Fix cannot write default config file b/c folder not created

* Removed copyTracedFiles debug log

* fix for monorepo

* fix for output for dynamodb provider

* fix dynamoProvider, skipTrailingSlash, weird ISR deduplication issue

* little improvement to streaming in lambda

* fix another monorepo error

* e2e fixes for v3 rc

* update version

* Not use custom-resource converter for dynamodb seeding adapter (#365)

* Not use custom-resource converter for dynamodb seeding adapter

* fix e2e

---------

Co-authored-by: Dorseuil Nicolas <[email protected]>

* fix fallback false for route without i18n

* version package update

* Squashed commit of the following:

commit ff37de2
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Mar 6 15:37:07 2024 +0100

    Version Packages (#378)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit 3235392
Author: Iakhub Seitasanov <[email protected]>
Date:   Wed Mar 6 17:29:46 2024 +0300

    fix: prevent duplication of location header (#369)

    * fix: prevent duplication of location header

    * changeset

    * fix linting

    ---------

    Co-authored-by: conico974 <[email protected]>

commit af2d3ce
Author: Chung Wei Leong <[email protected]>
Date:   Wed Mar 6 22:06:33 2024 +0800

    Fix image optimization support for Next 14.1.1 (#377)

    * Move image optimization to plugin

    * Refactor image optimization code

    * Added image optimization plugin for 14.1.1

    * Fix image optimization plugin

    * Add changeset

    * Revert default sharp version to 0.32.6

    * e2e test for image optimization

    * change one of the test to use an external image

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit 3deb202
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Feb 13 08:39:35 2024 -0800

    Version Packages (#363)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit f9b90b6
Author: khuezy <[email protected]>
Date:   Tue Feb 13 08:35:10 2024 -0800

    changeset/2.3.6 (#362)

commit 40c2b36
Author: Patrick Ufer <[email protected]>
Date:   Tue Feb 13 09:23:40 2024 -0700

    security fix: upgrade sharp version to 0.32.6 (#361)

    * upgrade sharp version

commit 63fab05
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Feb 2 00:14:11 2024 +0100

    Version Packages (#359)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit c80f1be
Author: conico974 <[email protected]>
Date:   Fri Feb 2 00:00:56 2024 +0100

    Fix trailing slash redirect to external domain (#358)

    * fix trailing slash redirect to external domain

    * changeset

commit 186e28f
Author: Jaden VanEckhout <[email protected]>
Date:   Thu Feb 1 16:49:14 2024 -0600

    fix(open-next): correctly set cache control for html pages (#353)

    * fix(open-next): correctly set cache control for html pages

    * changeset

    ---------

    Co-authored-by: conico974 <[email protected]>

commit b9eefca
Author: Manuel Antunes <[email protected]>
Date:   Thu Feb 1 19:41:47 2024 -0300

    Fix Cache Support for [email protected] (#356)

    * feat: add cache support for [email protected]

    * fix: lint files

    * chore: apply the proposed changes

    * Fix typo

    * changeset

    ---------

    Co-authored-by: conico974 <[email protected]>

commit afd9605
Author: conico974 <[email protected]>
Date:   Sat Jan 27 15:19:11 2024 +0100

    update docs for V3 (#351)

commit 46241fe
Author: Abhishek Malik <[email protected]>
Date:   Sat Jan 27 19:45:18 2024 +0530

    Update bundle_size.mdx for excluding pdfjs-dist optional dependency docs (#346)

    * Update bundle_size.mdx for excluding pdfjs-dist optional dependency docs

    The current fix didn't work, but this updated fix did work for me. Hence proposing this as another solution.

    * Update docs/pages/common_issues/bundle_size.mdx

    Co-authored-by: khuezy <[email protected]>

    ---------

    Co-authored-by: khuezy <[email protected]>

commit 9a6473a
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Jan 5 16:56:42 2024 +0100

    Version Packages (#345)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit bbf9b30
Author: Lucas Vieira <[email protected]>
Date:   Fri Jan 5 12:45:13 2024 -0300

    fix(open-next): use dynamic import handler for monorepo entrypoint (#341)

    * fix(open-next): use dynamic import handler for monorepo entrypoint

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit 83b0838
Author: santiperone <[email protected]>
Date:   Fri Jan 5 12:38:12 2024 -0300

    add suport for bun lockfile in monorepo (#337)

    * add suport for bun lockfile in monorepo

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit e773e67
Author: Jan Stevens <[email protected]>
Date:   Fri Jan 5 16:31:27 2024 +0100

    fix: try to match errors, fall back to just adding raw key / value pare (#336)

    * fix: try to match errors, fall back to just adding raw key / value pair instead

    * changeset

    * fix lint

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit fd90b26
Author: Dylan Irion <[email protected]>
Date:   Fri Jan 5 17:22:28 2024 +0200

    Changes encoding on cache.body from utf8 to base64 (#329)

    * changes encoding on cache.body from utf8 to base64

    * retain utf8 for json content-type

    * opting for less greedy base64

    * use isBinaryContentType

    * changeset

    ---------

    Co-authored-by: Dorseuil Nicolas <[email protected]>

commit eb08980
Author: sommeeeR <[email protected]>
Date:   Fri Jan 5 16:02:47 2024 +0100

    fix: make invalidateCFPaths function async in docs (#344)

commit 83207d8
Author: conico974 <[email protected]>
Date:   Thu Dec 14 16:59:15 2023 +0100

    updated docs for v3 (#334)

commit 0e827ce
Author: conico974 <[email protected]>
Date:   Fri Dec 8 17:57:51 2023 +0100

    ci: update node e2e

commit 36da819
Author: conico974 <[email protected]>
Date:   Thu Dec 7 17:44:06 2023 +0100

    Initial docs for V3 (#330)

    * docs for V3

    * fix link

    * clearer routes in config

* fix for next 12

* add support for basePath

* allow customization of sharp runtime

* updated edge converter to match behaviour of lambda

* update version

* fix monorepo

* improved streaming

aws/aws-lambda-nodejs-runtime-interface-client#94 (comment)

* update version

* fix open-next config build that depends on node

* fix crypto middleware node 20

* Sync

* fix resolve in image optimization
also fix image opt not using streaming

* add better error when edge runtime is used inside node

* update version

* fix null error on lambda
hopefully

* update version

* fix 500 on aws-lambda wrapper

* update version

* fix duplex for request in node

* fix & refactor middleware response headers

* update version

* Sync

* update version

* removed specific lamda streaming hack
It's been fixed upstream

* add geo in middleware

* added helpers function for config file
Better typing as well

* fix for 14.2

* update version

* fix redirect lambda streaming

* fix e2e tests

* test: improve reliability of test for revalidateTag

* update version

* review fix

* fix cookies in streaming
also fix an issue when both middleware and page try to set cookies
OpenNextNodeResponse also implements ServerResponse

* make all write to ddb chunked

* changeset

* fix e2e

---------

Co-authored-by: Frank <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants