Skip to content

Commit

Permalink
Merge branch 'dev' into fix-typo-manifest-regex
Browse files Browse the repository at this point in the history
  • Loading branch information
pcattori authored Aug 8, 2023
2 parents 76f900c + 9953532 commit bda9c78
Show file tree
Hide file tree
Showing 549 changed files with 9,793 additions and 20,004 deletions.
5 changes: 5 additions & 0 deletions .changeset/big-papayas-jam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/vercel": major
---

Drop `@vercel/node` v1 support
5 changes: 5 additions & 0 deletions .changeset/brown-gifts-chew.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/netlify": major
---

Drop `@netlify/functions` v0.x support
5 changes: 5 additions & 0 deletions .changeset/brown-seals-look.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": minor
---

Warn users about obsolete future flags in remix.config.js
5 changes: 5 additions & 0 deletions .changeset/cool-wombats-chew.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": major
---

Remove `serverBuildTarget` config option
8 changes: 8 additions & 0 deletions .changeset/create-remix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"create-remix": major
"@remix-run/dev": major
---

The `create-remix` CLI has been rewritten to feature a cleaner interface, Git repo initialization and optional `remix.init` script execution. The interactive template prompt and official Remix stack/template shorthands have also been removed so that community/third-party templates are now on a more equal footing.

The code for `create-remix` has been moved out of the Remix CLI since it's not intended for use within an existing Remix application. This means that the `remix create` command is no longer available.
8 changes: 8 additions & 0 deletions .changeset/cuddly-rings-mate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": major
"@remix-run/server-runtime": major
---

Remove deprecated REMIX_DEV_HTTP_ORIGIN env var.

Use REMIX_DEV_ORIGIN instead.
9 changes: 9 additions & 0 deletions .changeset/curly-moons-cover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/dev": minor
"@remix-run/server-runtime": minor
---

detect built mode via `build.mode`

Prevents mode mismatch between built Remix server entry and user-land server.
Additionally, all runtimes (including non-Node runtimes) can use `build.mode` to determine if HMR should be performed.
8 changes: 8 additions & 0 deletions .changeset/decouple-css-bundle-from-dev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/css-bundle": patch
"@remix-run/dev": patch
---

Decouple the `@remix-run/dev` package from the contents of the `@remix-run/css-bundle` package.

The contents of the `@remix-run/css-bundle` package are now entirely managed by the Remix compiler. Even though it's still recommended that your Remix dependencies all share the same version, this change ensures that there are no runtime errors when upgrading `@remix-run/dev` without upgrading `@remix-run/css-bundle`.
16 changes: 16 additions & 0 deletions .changeset/enable-css-features-by-default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"@remix-run/dev": major
---

Enable built-in PostCSS and Tailwind support by default.

These tools are now automatically used within the Remix compiler if PostCSS and/or Tailwind configuration files are present in your project.

If you have a custom PostCSS and/or Tailwind setup outside of Remix, you can disable these features in your `remix.config.js`.

```js
module.exports = {
postcss: false,
tailwind: false,
};
```
5 changes: 5 additions & 0 deletions .changeset/fix-stub-route-object-type.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/testing": patch
---

Fix types for `StubRouteObject` `children` property
5 changes: 5 additions & 0 deletions .changeset/fluffy-fishes-lay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/react": patch
---

Use the hostname from `REMIX_DEV_ORIGIN` to connect to the live reload socket
5 changes: 5 additions & 0 deletions .changeset/fuzzy-mugs-swim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/cloudflare": major
---

Remove `createCloudflareKVSessionStorage`
5 changes: 5 additions & 0 deletions .changeset/heavy-crabs-kick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/eslint-config": major
---

Remove `@remix-run/eslint-config/jest` ESLint config
6 changes: 6 additions & 0 deletions .changeset/large-goats-double.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@remix-run/react": major
"@remix-run/server-runtime": major
---

Remove `imagesizes` & `imagesrcset` properties from `HtmlLinkDescriptor`, `LinkDescriptor` & `PrefetchPageDescriptor` types
7 changes: 7 additions & 0 deletions .changeset/loud-pandas-do.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@remix-run/dev": major
---

remove deprecated `devServerPort` option

use `--port` / `config.dev.port` option instead
8 changes: 8 additions & 0 deletions .changeset/moody-pants-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": major
"@remix-run/react": major
---

remove deprecated REMIX_DEV_SERVER_WS_PORT env var

use `remix dev`'s '`--port`/`port` option instead
5 changes: 5 additions & 0 deletions .changeset/neat-impalas-divide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": major
---

Remove `replace-remix-magic-imports` codemod
5 changes: 5 additions & 0 deletions .changeset/olive-lemons-marry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/react": patch
---

Use unique key for `script:ld+json` meta descriptors
21 changes: 21 additions & 0 deletions .changeset/purple-zoos-refuse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
"create-remix": major
"remix": major
"@remix-run/architect": major
"@remix-run/cloudflare": major
"@remix-run/cloudflare-pages": major
"@remix-run/cloudflare-workers": major
"@remix-run/css-bundle": major
"@remix-run/deno": major
"@remix-run/dev": major
"@remix-run/express": major
"@remix-run/netlify": major
"@remix-run/node": major
"@remix-run/react": major
"@remix-run/serve": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
"@remix-run/vercel": major
---

Require Node >=18.0.0
16 changes: 16 additions & 0 deletions .changeset/remove-default-server-node-polyfills.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"@remix-run/dev": major
---

Remove default Node.js polyfills from the server build when targeting non-Node.js platforms.

Any Node.js polyfills that are required for your server code to run on non-Node.js platforms must be manually specified in `remix.config.js` using the `serverNodeBuiltinsPolyfill` option.

```js
exports.serverNodeBuiltinsPolyfill = {
modules: {
path: true, // Provide a JSPM polyfill
fs: "empty", // Provide an empty polyfill
},
};
```
5 changes: 5 additions & 0 deletions .changeset/remove-magic-import-eslint-warnings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/eslint-config": major
---

Remove magic imports ESLint warnings
5 changes: 5 additions & 0 deletions .changeset/remove-unstable-should-reload.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/react": major
---

Remove `unstable_shouldReload`, which has been replaced by `shouldRevalidate`
49 changes: 49 additions & 0 deletions .changeset/remove-v1-meta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
"@remix-run/cloudflare": major
"@remix-run/deno": major
"@remix-run/dev": major
"@remix-run/node": major
"@remix-run/react": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

We have made a few important changes to the route `meta` API as reflected in the v1 implementation when using the `future.v2_meta` config option.

- The `meta` function should no longer return an object, but an array of objects that map to the HTML tag's respective attributes. This provides more flexibility and control over how certain tags are rendered, and the order in which they appear.
- In most cases, `meta` descriptor objects render a `<meta>` tag. There are a few notable exceptions:
- `{ title: "My app" }` will render `<title>My app</title>`.
- `{ 'script:ld+json': { /* ... */ } }` will render `<script type="application/ld+json">/* ... */</script>`, where the value is serialized to JSON and rendered inside the `<script>` tag.
- `{ tagName: 'link', ...attributes }` will render `<link {...attributes} />`
- This is useful for things like setting canonical URLs. For loading assets, we encourage you to use the `links` export instead.
- It's important to note that `tagName` may only accept `meta` or `link`, so other arbitrary elements will be ignored.
- `<Meta />` will no longer render the `meta` output from the entire route hierarchy. Only the output from the leaf (current) route will be rendered unless that route does not export a `meta` function, in which case the output from the nearest ancestor route with `meta` will be rendered.
- This change comes from user feedback that auto-merging meta made effective SEO difficult to implement. Our goal is to give you as much control as you need over meta tags for each individual route.
- Our suggested approach is to **only export a `meta` function from leaf route modules**. However, if you do want to render a tag from another matched route, `meta` now accepts a `matches` argument for you to merge or override parent route meta as you'd like.
```tsx
export function meta({ matches }) {
return [
// render all ancestor route meta except for title tags
...matches
.flatMap((match) => match.meta)
.filter((match) => !("title" in match)),
{ title: "Override the title!" },
];
}
```
- The `parentsData` argument has been removed. If you need to access data from a parent route, you can use `matches` instead.
```tsx
// before
export function meta({ parentsData }) {
return [{ title: parentsData["routes/some-route"].title }];
}
// after
export function meta({ matches }) {
return [
{
title: matches.find((match) => match.id === "routes/some-route").data
.title,
},
];
}
```
8 changes: 8 additions & 0 deletions .changeset/rich-months-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": major
---

remove deprecated cli args and flags

- `--no-restart`/`restart` 👉 use `--manual`/`manual` instead
- `--scheme`/`scheme` and `--host`/`host` 👉 use `REMIX_DEV_ORIGIN` instead
9 changes: 9 additions & 0 deletions .changeset/rotten-penguins-eat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/dev": major
"@remix-run/react": major
"@remix-run/serve": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

promote config.future.v2_dev to config.dev
8 changes: 8 additions & 0 deletions .changeset/selfish-months-behave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": patch
---

Remove outdated ESM import warnings

Most of the time these warnings were false positives.
Instead, we now rely on built-in Node warnings for ESM imports.
7 changes: 7 additions & 0 deletions .changeset/seven-queens-try.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@remix-run/cloudflare": major
"@remix-run/cloudflare-pages": major
"@remix-run/cloudflare-workers": major
---

Drop `@cloudflare/workers-types` v2 & v3 support
5 changes: 5 additions & 0 deletions .changeset/silver-readers-think.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": major
---

Remove `browserBuildDirectory` config option
5 changes: 5 additions & 0 deletions .changeset/stupid-emus-repair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": major
---

remove codemod command
5 changes: 5 additions & 0 deletions .changeset/tame-moons-buy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@remix-run/dev": major
---

Remove `serverBuildDirectory` config option
27 changes: 27 additions & 0 deletions .changeset/v2-remove-auto-globals-install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
"@remix-run/architect": major
"@remix-run/express": major
"@remix-run/netlify": major
"@remix-run/node": major
"@remix-run/serve": major
"@remix-run/vercel": major
---

For preparation of using Node's built in fetch implementation, installing the fetch globals is now a responsibility of the app server. If you are using `remix-serve`, nothing is required. If you are using your own app server, you will need to install the globals yourself.

```js filename=server.js
import { installGlobals } from "@remix-run/node";

installGlobals();
```

source-map-support is now a responsibility of the app server. If you are using `remix-serve`, nothing is required. If you are using your own app server, you will need to install [`source-map-support`](https://www.npmjs.com/package/source-map-support) yourself.

```sh
npm i source-map-support
```

```js filename=server.js
import sourceMapSupport from "source-map-support";
sourceMapSupport.install();
```
8 changes: 8 additions & 0 deletions .changeset/v2-remove-catch-boundary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": major
"@remix-run/react": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

Remove `v2_errorBoundary` flag and `CatchBoundary` implementation
9 changes: 9 additions & 0 deletions .changeset/v2-remove-fetcher-compat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/react": major
---

Remove back-compat layer for `useFetcher`/`useFetchers`. This includes a few small breaking changes:

- `fetcher.type` has been removed since it can be derived from other available information
- "Submission" fields have been flattened from `fetcher.submission` down onto the root `fetcher` object, and prefixed with `form` in some cases (`fetcher.submission.action` => `fetcher.formAction`)
- `<fetcher.Form method="get">` is now more accurately categorized as `state:"loading"` instead of `state:"submitting"` to better align with the underlying GET request
19 changes: 19 additions & 0 deletions .changeset/v2-remove-magic-exports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
"remix": major
"@remix-run/cloudflare": major
"@remix-run/dev": major
"@remix-run/node": major
"@remix-run/react": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

Removed support for "magic exports" from the `remix` package. This package can be removed from your `package.json` and you should update all imports to use the source `@remix-run/*` packages:

```diff
- import type { ActionArgs } from "remix";
- import { json, useLoaderData } from "remix";
+ import type { ActionArgs } from "@remix-run/node";
+ import { json } from "@remix-run/node";
+ import { useLoaderData } from "@remix-run/react";
```
9 changes: 9 additions & 0 deletions .changeset/v2-remove-normalize-form-method.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/dev": major
"@remix-run/eslint-config": major
"@remix-run/react": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

Remove `v2_normalizeFormMethod` future flag - all `formMethod` values will be normalized in v2
9 changes: 9 additions & 0 deletions .changeset/v2-remove-unstable-warnings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/dev": patch
---

Remove warnings for stabilized flags:

- `unstable_cssSideEffectImports`
- `unstable_cssModules`
- `unstable_vanillaExtract`
9 changes: 9 additions & 0 deletions .changeset/v2-remove-use-transition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@remix-run/react": major
---

Remove deprecated `useTransition` hook in favor of `useNavigation`. `useNavigation` is _almost_ identical with a few exceptions:\_

- `useTransition.type` has been removed since it can be derived from other available information
- "Submission" fields have been flattened from `useTransition().submission` down onto the root `useNavigation()` object
- `<Form method="get">` is now more accurately categorized as `state:"loading"` instead of `state:"submitting"` to better align with the underlying GET navigation
8 changes: 8 additions & 0 deletions .changeset/v2-route-convention.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@remix-run/dev": major
"@remix-run/react": major
"@remix-run/server-runtime": major
"@remix-run/testing": major
---

Remove `v2_routeConvention` flag. The flat route file convention is now standard.
Loading

0 comments on commit bda9c78

Please sign in to comment.