Update remix monorepo to v2 (major) #38
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^1.8.2
->^2.0.0
^1.8.2
->^2.0.0
^1.8.2
->^2.0.0
^1.8.2
->^2.0.0
^1.8.2
->^2.0.0
Release Notes
remix-run/remix (@remix-run/dev)
v2.0.0
Compare Source
Major Changes
The
create-remix
CLI has been rewritten to feature a cleaner interface, Git repo initialization and optionalremix.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. (#6887)create-remix
has been moved out of the Remix CLI since it's not intended for use within an existing Remix applicationremix create
command is no longer available.Enable built-in PostCSS and Tailwind support by default. (#6909)
remix.config.js
via thepostcss:false
and/ortailwind:false
flagsDrop React 17 support (#7121)
Require Node >=18.0.0 (#6939)
Compile server build to Node 18 (#7292)
await
to be used within a Remix appRemove default Node.js polyfills - you must now opt-into polyfills via the
serverNodeBuiltinsPolyfill
andbrowserNodeBuiltinsPolyfill
configs (#7269)Remove
v2_errorBoundary
flag andCatchBoundary
implementation (#6906)Remove
v2_normalizeFormMethod
future flag - allformMethod
values will be normalized in v2 (#6875)Remove
v2_routeConvention
flag - the flat route file convention is now standard (#6969)Remove
v2_headers
flag - it is now the default behavior to use the deepestheaders
function in the route tree (#6979)The route
meta
API now defaults to the new "V2 Meta" API (#6958)Default to
serverModuleFormat: "esm"
and updateremix-serve
to use dynamic import to support ESM and CJS build outputs (#6949)Remove
serverBuildTarget
config option (#6896)Remove deprecated
REMIX_DEV_HTTP_ORIGIN
env var - useREMIX_DEV_ORIGIN
instead (#6963)Remove
devServerBroadcastDelay
config option (#7063)Remove deprecated
devServerPort
option - use--port
/dev.port
instead (#7078)Remove deprecated
REMIX_DEV_SERVER_WS_PORT
env var - useremix dev
's '--port
/port
option instead (#6965)Stop passing
isTypeScript
toremix.init
script (#7099)Remove
replace-remix-magic-imports
codemod (#6899)Remove deprecated
--no-restart
/restart
cli args/flags - use--manual
/manual
instead (#6962)Remove deprecated
--scheme
/scheme
and--host
/host
cli args/flags - useREMIX_DEV_ORIGIN
instead (#6962)Promote the
future.v2_dev
flag inremix.config.js
to a root leveldev
config (#7002)Remove
browserBuildDirectory
config option (#6900)Remove
serverBuildDirectory
config option ([#6897](https://github.com/remix-run/remix/pull/- Removecodemod
command (#6918)6897))
Removed support for "magic exports" from the
remix
package. This package can be removed from yourpackage.json
and you should update all imports to use the source@remix-run/*
packages: (#6895)Minor Changes
Warn users about obsolete future flags in
remix.config.js
(#7048)Detect built mode via
build.mode
(#6964)build.mode
to determine if HMR should be performedSupport
bun
package manager (#7074)The
serverNodeBuiltinsPolyfill
option (along with the newly addedbrowserNodeBuiltinsPolyfill
) now supports defining global polyfills in addition to module polyfills (#7269)For example, to polyfill Node's
Buffer
global:Patch Changes
Fix importing of PNGs, SVGs, and other assets from packages in
node_modules
(#6813, #7182)Decouple the
@remix-run/dev
package from the contents of the@remix-run/css-bundle
package. (#6982)@remix-run/css-bundle
package are now entirely managed by the Remix compiler@remix-run/dev
without upgrading@remix-run/css-bundle
Allow non-development modes for
remix watch
(#7117)Stop
remix dev
whenesbuild
is not running (#7158)Do not interpret JSX in
.ts
files (#7306)While JSX is supported in
.js
files for compatibility with existing apps and libraries,.ts
files should not contain JSX. By not interpreting.ts
files as JSX,.ts
filescan contain single-argument type generics without needing a comma to disambiguate from JSX:
Enhance obsolete flag warning for
future.v2_dev
if it was an object, and prompt users to lift it to the rootdev
config (#7427)Allow decorators in app code (#7176)
Allow JSX in
.js
files during HMR (#7112)Kill app server when remix dev terminates (#7280)
Support dependencies that import polyfill packages for Node built-ins via a trailing slash (e.g. importing the
buffer
package withvar Buffer = require('buffer/').Buffer
as recommended in their README) (#7198)Dynamic require of "buffer/" is not supported
)Surface errors when PostCSS config is invalid (#7391)
Restart dev server when Remix config changes (#7269)
Remove outdated ESM import warnings (#6916)
Do not trigger rebuilds when
.DS_Store
changes (#7172)Remove warnings for stabilized flags: (#6905)
unstable_cssSideEffectImports
unstable_cssModules
unstable_vanillaExtract
Allow any mode (
NODE_ENV
) (#7113)Replace the deprecated
xdm
package with@mdx-js/mdx
(#4054)Write a
version.txt
sentinel file after server build is completely written (#7299)Updated dependencies:
@remix-run/server-runtime@2.0.0
remix-run/remix (@remix-run/eslint-config)
v2.0.0
Compare Source
Major Changes
@remix-run/eslint-config/jest
ESLint config (#6903)v2_normalizeFormMethod
future flag - allformMethod
values will be normalized in v2 (#6875)remix-run/remix (@remix-run/node)
v2.0.0
Compare Source
Major Changes
Require Node >=18.0.0 (#6939)
Stop exporting the
fetch
API in favor of using the version in the global scope - which can be polyfilled viainstallGlobals
(#7293)Removed/adjusted types to prefer
unknown
overany
and to align with underlying React Router types (#7319, #7354):useMatches()
return type fromRouteMatch
toUIMatch
LoaderArgs
/ActionArgs
toLoaderFunctionArgs
/ActionFunctionArgs
AppData
changed fromany
tounknown
Location["state"]
(useLocation.state
) changed fromany
tounknown
UIMatch["data"]
(useMatches()[i].data
) changed fromany
tounknown
UIMatch["handle"]
(useMatches()[i].handle
) changed from{ [k: string]: any }
tounknown
Fetcher["data"]
(useFetcher().data
) changed fromany
tounknown
MetaMatch.handle
(used inmeta()
) changed fromany
tounknown
AppData
/RouteHandle
are no longer exported as they are just aliases forunknown
The route
meta
API now defaults to the new "V2 Meta" API (#6958)For preparation of using Node's built in fetch implementation, installing the fetch globals is now a responsibility of the app server (#7009)
If you are using
remix-serve
, nothing is requiredIf you are using your own app server, you will need to install the globals yourself
source-map-support
is now a responsibility of the app server (#7009)If you are using
remix-serve
, nothing is requiredIf you are using your own app server, you will need to install
source-map-support
yourself.Removed support for "magic exports" from the
remix
package. This package can be removed from yourpackage.json
and you should update all imports to use the source@remix-run/*
packages: (#6895)Minor Changes
redirectDocument
method from React Router (#7040, #6842) (#7040)Patch Changes
atob
/btoa
polyfills in favor of built-in versions (#7206)ErrorResponse
type for usage alongsideisRouteErrorResponse
(#7244)installGlobals
(#7321)fetch()
return isinstanceof global Response
by removing extended classes forNodeRequest
andNodeResponse
in favor of custom interface type cast (#7109)@remix-run/server-runtime@2.0.0
@remix-run/web-fetch@4.4.0
@remix-run/web-file@3.1.0
@remix-run/web-stream@1.1.0
remix-run/remix (@remix-run/react)
v2.0.0
Compare Source
Major Changes
Drop React 17 support (#7121)
Require Node >=18.0.0 (#6939)
Remove
unstable_shouldReload
, which has been replaced byshouldRevalidate
(#6865)The route
meta
API now defaults to the new "V2 Meta" API (#6958)Promote the
future.v2_dev
flag inremix.config.js
to a root leveldev
config (#7002)Remove
v2_errorBoundary
flag andCatchBoundary
implementation (#6906)Remove back-compat layer for
useFetcher
/useFetchers
, which includes a few small breaking changes (#6874)fetcher.type
has been removed since it can be derived from other available informationfetcher.submission
down onto the rootfetcher
object, and prefixed withform
in some cases (fetcher.submission.action
=>fetcher.formAction
)<fetcher.Form method="get">
is now more accurately categorized asstate:"loading"
instead ofstate:"submitting"
to better align with the underlying GET requestRemove
v2_normalizeFormMethod
future flag - allformMethod
values will be normalized in v2 (#6875)Remove deprecated
useTransition
hook in favor ofuseNavigation
-useNavigation
is almost identical with a few exceptions: (#6870)useTransition.type
has been removed since it can be derived from other available informationuseTransition().submission
down onto the rootuseNavigation()
object<Form method="get">
is now more accurately categorized asstate:"loading"
instead ofstate:"submitting"
to better align with the underlying GET navigationRemove
v2_routeConvention
flag - the flat route file convention is now standard. (#6969)Remove
v2_headers
flag - it is now the default behavior to use the deepestheaders
function in the route tree. (#6979)Removed/adjusted types to prefer
unknown
overany
and to align with underlying React Router types (#7319, #7354):useMatches()
return type fromRouteMatch
toUIMatch
LoaderArgs
/ActionArgs
toLoaderFunctionArgs
/ActionFunctionArgs
AppData
changed fromany
tounknown
Location["state"]
(useLocation.state
) changed fromany
tounknown
UIMatch["data"]
(useMatches()[i].data
) changed fromany
tounknown
UIMatch["handle"]
(useMatches()[i].handle
) changed from{ [k: string]: any }
tounknown
Fetcher["data"]
(useFetcher().data
) changed fromany
tounknown
MetaMatch.handle
(used inmeta()
) changed fromany
tounknown
AppData
/RouteHandle
are no longer exported as they are just aliases forunknown
Remove
imagesizes
&imagesrcset
properties fromHtmlLinkDescriptor
,LinkDescriptor
&PrefetchPageDescriptor
types (#6936)Remove deprecated
REMIX_DEV_SERVER_WS_PORT
env var (#6965)remix dev
's '--port
/port
option insteadRemoved support for "magic exports" from the
remix
package. This package can be removed from yourpackage.json
and you should update all imports to use the source@remix-run/*
packages: (#6895)Minor Changes
Navigation
type returned fromuseNavigation
(#7136)route.lazy
for module loading (#7133)Patch Changes
Add
error
tometa()
params so you can render error titles, etc. (#7105)Re-Export
ShouldRevalidateFunctionArgs
type from React Router (#7316)Deduplicate prefetch
link
tags (#7060)Skip preloading of stylesheets on client-side route transitions if the browser does not support
<link rel=preload>
(#7106)load
/error
event on thelink
tagExport proper
ErrorResponse
type for usage alongsideisRouteErrorResponse
(#7244)Use the hostname from
REMIX_DEV_ORIGIN
to connect to the live reload socket (#6923)Use unique key for
script:ld+json
meta descriptors (#6954)Fix live reload port when set explicitly as a prop (#7358)
Fix types for
useLoaderData
when using Yarn PnP (#7137)Updated dependencies:
@remix-run/server-runtime@2.0.0
react-router-dom@6.16.0
@remix-run/router@1.9.0
remix-run/remix (@remix-run/serve)
v2.0.0
Compare Source
Major Changes
remix-serve
now picks an open port if 3000 is taken (#7278)PORT
env var is set,remix-serve
will use that portremix-serve
picks an open port (3000 unless that is already taken)Integrate manual mode in
remix-serve
(#7231)Remove undocumented
createApp
Node API (#7229)remix-serve
is a CLI, not a libraryRequire Node >=18.0.0 (#6939)
Promote the
future.v2_dev
flag inremix.config.js
to a root leveldev
config (#7002)Default to
serverModuleFormat: "esm"
and updateremix-serve
to use dynamic import to support ESM and CJS build outputs (#6949)Preserve dynamic imports in
remix-serve
for external bundle (#7173)For preparation of using Node's built in fetch implementation, installing the fetch globals is now a responsibility of the app server (#7009)
If you are using
remix-serve
, nothing is requiredIf you are using your own app server, you will need to install the globals yourself
source-map-support
is now a responsibility of the app server (#7009)If you are using
remix-serve
, nothing is requiredIf you are using your own app server, you will need to install
source-map-support
yourself.Patch Changes
remix-serve
usage error message to support ESM projects (#7400)@remix-run/node@2.0.0
@remix-run/express@2.0.0
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - "after 9am and before 5pm every weekday" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.