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

[pull] canary from vercel:canary #49

Open
wants to merge 2,637 commits into
base: canary
Choose a base branch
from
Open

[pull] canary from vercel:canary #49

wants to merge 2,637 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Jul 5, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jul 5, 2024
ijjk and others added 29 commits July 17, 2024 14:10
This adds additional trace handling under the experimental trace mode.
Outside of the feature flag the bloom filter for app router paths used
in pages to hard navigate was updated to no longer be inlined by default
with webpack to avoid invalidating the main bundle for pages too often.
Instead the bloom filter data is stored in the `_buildManifest` file
which is only used in the pages router and is easier to update as it's
per-build already.

This tracing feature is still very experimental and should not be
leveraged in production or outside of testing.

---------

Co-authored-by: Zack Tanner <[email protected]>
### Description

This puts the results into the same cells to avoid unnecessary
invalidations

Improves performance

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
### Description

Collectibles are removed in `execution_completed` and that might add
some tasks to the task local of tasks_to_notify. We need to make sure to
notify these tasks otherwise changes get lost.

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
### Description

fix a bunch of cases where collectibles were not correctly counted

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
### Description

As preparation to pass a struct only, we change the task arguments to be
a single one

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
…cel/turbo#8737)

### Description

Instead of the ConcreteTaskInput conversion, we use a boxed any. This
allows to store arguments in plain rust structures and uses less memory.

We need to do some magic to make serialization possible.

Also removed Ord requirement from TaskInputs and make Vc not implement
Ord

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
This auto-generated PR updates font data with latest available
### Description

This saves some memory and streamlines the behavior.

It also lazily removes collectibles, children and dependencies even when
entering the previous InProgressDirty (now InProgress stale) state.


### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
* vercel/turbo#8767 <!-- Niklas Mischkulnig -
Update Turbopack members in labeler -->
* vercel/turbo#8722 <!-- Niklas Mischkulnig -
Use fs and vm for async chunk loading in Node -->
* vercel/turbo#8758 <!-- Benjamin Woodruff -
Remove unused instant return value from `CaptureFuture` -->
* vercel/turbo#8760 <!-- Benjamin Woodruff -
Delete dead raw_vc_set module -->
* vercel/turbo#8761 <!-- Benjamin Woodruff -
Delete dead keyed_cell module -->
* vercel/turbo#8755 <!-- Donny/강동윤 - feat:
Enable tree shaking in next.js -->
* vercel/turbo#8769 <!-- Benjamin Woodruff -
Rewrite IdFactory and IdFactoryWithReuse -->
* vercel/turbo#8771 <!-- Benjamin Woodruff - Add
u64 ExecutionId type -->
* vercel/turbo#8735 <!-- Tobias Koppers -
turbo-tasks this calls -->
* vercel/turbo#8775 <!-- Tobias Koppers -
improve failsafe_analyse -->
* vercel/turbo#8776 <!-- Tobias Koppers - notify
tasks when collectibles change -->
* vercel/turbo#8778 <!-- Tobias Koppers - fix
collectibles counting -->
* vercel/turbo#8736 <!-- Tobias Koppers -
Refactor task arguments to be a single one -->
* vercel/turbo#8737 <!-- Tobias Koppers - remove
ConcreteTaskInput in favor of the original rust datatypes -->
…outer (#67843)

This PR updates the analyze-bundles example to use the App Router. Here
are the changes that have been made:

- Renamed the "pages" folder to "app" folder.
- Updated the file index.tsx to page.tsx to align with App Router
- Change contact.tsx and about.tsx in to folder structure
- Added the layout.tsx file as part of the App Router.

cc @samcx

---------

Co-authored-by: Sam Ko <[email protected]>
### What?

Clarify the location of the `global-error.tsx` file in the documentation

Related PR:
#66908

Related issues:
#61400
#60245

### Why?

Many users, including myself, find it unintuitive from the [official
documentation](https://nextjs.org/docs/app/building-your-application/routing/internationalization)
about i18n and the example on
[github.com](https://github.com/vercel/next.js/tree/canary/examples/app-dir-i18n-routing)
that the `global-error.tsx` file should be placed in the root of the
`app/` directory instead of `app/[lang]/`. The documentation and example
**do not cover this detail**, which leads users to place
`global-error.tsx` in `app/[lang]/`. As a result, when
`global-error.tsx` **cannot catch errors** in root `layout.tsx`, users
report this as a new issue on Next.js's GitHub, as seen in the related
issues linked above.

Fixes #66905

Co-authored-by: Sam Ko <[email protected]>
Should `remove_console` and `react_remove_properties` be dependencies of
the `next-next` crate
or reuse the dependencies from `next-custom-transforms`?
## Why?

Allow for Bitbucket and GitLab reproduction hosts, so we don't close
issues like [this](#67811).
### What?

Fix cache-handler-redis example with working cache handler 

### Why?

It was not working because next-shared-cache was updated but some code
inside the cache-handler.js was deprecated after version 1.0.0.

When starting the app without Redis the cache handler was not switching
to the LRU handler.

### How?

- Updated cache-handler-redis example with working cache handler from
[next-shared-cache's
example](https://caching-tools.github.io/next-shared-cache/redis)
- Add check for PHASE_PRODUCTION_BUILD to avoid [issues while building
](caching-tools/next-shared-cache#284 (comment))
- Add throw error for Redis error to switch to the LRU handler
- Updated dependencies
- Updated readme broken links
- Remove "version" from docker-compose's file because it's outdated
[version outdated](docker/compose#11628)

Closes NEXT-66812
Fixes #66812

Co-authored-by: Delba de Oliveira <[email protected]>
This header isn't currently used by the client, so I'm removing it until we find a reason for it.
This builds off the work in #64594
and #67818 to make the types
easier to work with, in anticipation of adding or removing things to the
response in the future (like the next PR in the stack)

Currently it relies on assigning to array index values and it's spread
out in multiple spots.
Saw this material-ui test flaking quite often for both Turbopack and
Turbopack build, however the test itself was passing, it failed on the
`destroy` step of the test isolation, specifically when cleaning up the
test directory when the suite is done. Looked into it and switched the
`await fs.rm()` to `rmSync` instead, holding quite good results, this
test now runs in 30 seconds instead of 60+ seconds.

No changes to the test manifest as it's already marked as passing but
would flake from time to time.

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->

---------

Co-authored-by: Sebastian Silbermann <[email protected]>
This feature will be implemented after stable as it's experimental.

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
Same as development, AMP is not supported with Turbopack:
https://nextjs.org/docs/architecture/turbopack#unsupported-features

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
This feature is not supported yet in Turbopack and since it's
experimental it will be implemented after stable 👍
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
Ensures the tests that depend on `.babelrc` are skipped. This is not
supported in Turbopack without adding the babel-loader, and then
`next/babel` is not needed.
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
Doesn't fix the test but does highlight why it fails, instead of failing
on `next build` crashing.

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
As of right now we're not planning to implement this experimental
feature. So skipping the tests for it for Turbopack build.

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->
leerob and others added 30 commits August 1, 2024 15:08
It is more readable to call `startsWith` than to call `indexOf === 0`
and compare the result with zero to determine whether a string starts
with a given prefix.

Only these 4 lines of code still call `indexOf === 0`.

Signed-off-by: Eng Zer Jun <[email protected]>
Co-authored-by: Sam Ko <[email protected]>
Hello! This PR Contains the Following Changes


=> svg-components Example Migrated to App-Router
=> Added the layout.tsx file as part of the App Router.
=> Folder Structure Updated to support APP-Router convention
=> File Convention updated to Support the APP-Router convention
=> Npm package got updated "@svgr/webpack": "^6.2.1", to
"@svgr/webpack": "^6.5.1",

CC- @samcx

---------

Co-authored-by: Sam Ko <[email protected]>
### What?

Enable tree shaking of turbopack.

### Why?

Verify the implementation and improve the bundle size.

### How?

Closes PACK-3111

---------

Co-authored-by: Tobias Koppers <[email protected]>
Makes sure we use the font color variable for the close icon since that
honors dark/light unlike the current CSS var.
### What?

This small crate is only used in turborepo, and is causing issues with pack-next.

### Why?

Unused.

### How?

Remove it.
### Why?

Resolve left-out refactors from #68233

### How?

Used Commander's `args` and `opts` values, which remove a few lines.
Synced the variable name for the `app` value for consistency and
possible future destructuring.
This updates our docs related to
`outputFileTracingIncludes`/`outputFileTracingExcludes` to mention the
key is a glob and needs to be escaped accordingly as it can cause
confusion.

---------

Co-authored-by: Jiwon Choi <[email protected]>
Updated all dependencies and added an app route to demonstrate both
pages an app directories.

---------

Co-authored-by: Delba de Oliveira <[email protected]>
Co-authored-by: Sam Ko <[email protected]>
Noticed in #68462 we weren't
clearing outdated compiled files correctly since it seems this task
wasn't updated to point at the `src/compiled` folder. This will reduce
the diff in that PR a bit.
Since we removed the ability to leverage terser we should remove all of
it's related code as well. This also renames the plugin from
`TerserPlugin` to just `MinifyPlugin` as terser is not referenced
anymore so we should avoid confusion.

x-ref: #65690
x-ref: #68389
### What?

This exposes a new `reactMaxHeadersLength` config option for
`next.config.js`:

```js
module.exports = {
  reactMaxHeadersLength: 1000,
}
```

That allows configuration of the maximum value of all the headers
generated from React. Currently only added when the experimental partial
prerendering (PPR) feature is enabled, this today only affects the size
of the `Link` header that is emitted which contains preloads for assets
like fonts.

This also bumps the default value from 600 to 6000.

### Why?

Some proxies may have differing support for max header sizes, so this
was added as a configuration option to allow users to better control the
output experience in these cases. At the time of writing, most proxies
support a maximum of 8k bytes in the header, which is above the default
6k, allowing for other headers written by Next.js.

---------

Co-authored-by: Sam Ko <[email protected]>
This brings over the utility scripts `pnpm pack-next` and `pnpm
unpack-next path/to/app` from Nextpack, along with the documentation,
which has been added to `contributing/core/developing.md`.
### What?

Use POSIX-compatible shell script syntax for the Husky `pre-push` hook.
POSIX shell sadly doesn't support arrays, so fall back to using
IFS-based string splitting (which is fine here).

### Why?

- Husky ignores the shebang, and simply invokes `sh`:
typicode/husky#971
- On Debian-based distributions, [`sh` is provided by
`dash`](https://wiki.archlinux.org/title/Dash), which is POSIX
compatible, but does not support `bash`-specific features.
- The Husky documentation has a workaround for using bash, but doesn't
recommend it: https://typicode.github.io/husky/how-to.html#bash

I do most of my development on a Debian VM, which is how I noticed this.

### Test Plan

On Debian with `dash`, manually invoke it like so:

```
echo local_branch_name from_commit refs/heads/canary to_commit | sh -x .husky/pre-push canary [email protected]:vercel/next.js.git
```
These configs have been being validated for quite a while now and they
are pretty crucial to handle edge-cases without our output tracing setup
since we can't always trace 100% of cases. No functional changes are
made here expect removal of long deprecated
`experimental.outputFileTracingIgnores` and upgrading from experimental
for `outputFileTracingRoot`, `outputFileTracingIncludes`, and
`outputFileTracingExcludes`.

Closes: NDX-166
Looks like this snook into a PR so removes it and adds to gitignore to
prevent in the future
When PPR was enabled, the "restore" action in PPR was causing the
`loading` boundary for the visible `CacheNode` to lose it's `loading`.
This caused the `Suspense` boundary that contained the loading
information to disappear, which in turn caused the tree to remount since
it wraps all the page children.

I can't think of a reason why we'd not want to preserve the existing
`loading` data here, as it's not tied to the prefetch.

closes #68484

---------

Co-authored-by: Hendrik Liebau <[email protected]>
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?
github action get me warm info 
"1 warning found (use docker --debug to expand):
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy
"ENV key value" format (line 25)"
 
### Why?

### How?

Closes NEXT-
Fixes #

-->
Closes #68487

---------

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