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

chore(deps): update remix monorepo to v2 (major) - autoclosed #1886

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 15, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@remix-run/dev (source) ^1.19.3 -> ^2.5.1 age adoption passing confidence
@remix-run/eslint-config (source) ^1.19.3 -> ^2.5.1 age adoption passing confidence
@remix-run/node (source) ^1.19.3 -> ^2.5.1 age adoption passing confidence
@remix-run/react (source) ^1.19.3 -> ^2.5.1 age adoption passing confidence
@remix-run/serve (source) ^1.19.3 -> ^2.5.1 age adoption passing confidence

Release Notes

remix-run/remix (@​remix-run/dev)

v2.5.1

Compare Source

Patch Changes
  • Add isSpaMode to @remix-run/dev/server-build virtual module (#​8492)
  • Automatically prepend <!DOCTYPE html> if not present to fix quirks mode warnings for SPA template (#​8495)
  • Vite: Errors for server-only code point to new docs (#​8488)
  • Vite: Fix HMR race condition when reading changed file contents (#​8479)
  • Vite: Tree-shake unused route exports in the client build (#​8468)
  • Vite: Performance profiling (#​8493)
    • Run remix vite:build --profile to generate a .cpuprofile that can be shared or uploaded to speedscope.app
    • In dev, press p + enter to start a new profiling session or stop the current session
    • If you need to profile dev server startup, run remix vite:dev --profile to initialize the dev server with a running profiling session
    • For more, see the new docs: Vite > Performance
  • Vite: Improve performance of dev server requests by invalidating Remix's virtual modules on relevant file changes rather than on every request (#​8164)
  • Updated dependencies:
    • @remix-run/node@2.5.1
    • @remix-run/server-runtime@2.5.1

v2.5.0

Compare Source

Minor Changes
  • Add unstable support for "SPA Mode" (#​8457)

    You can opt into SPA Mode by setting unstable_ssr: false in your Remix Vite plugin config:

    // vite.config.ts
    import { unstable_vitePlugin as remix } from "@&#8203;remix-run/dev";
    import { defineConfig } from "vite";
    
    export default defineConfig({
      plugins: [remix({ unstable_ssr: false })],
    });

    Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR:

    remix vite:dev

    Building in SPA Mode will generate an index.html file in your client assets directory:

    remix vite:build

    To run your SPA, you serve your client assets directory via an HTTP server:

    npx http-server build/client

    For more information, please refer to the SPA Mode docs.

  • Add unstable_serverBundles option to Vite plugin to support splitting server code into multiple request handlers. (#​8332)

    This is an advanced feature designed for hosting provider integrations. When compiling your app into multiple server bundles, there will need to be a custom routing layer in front of your app directing requests to the correct bundle. This feature is currently unstable and only designed to gather early feedback.

    Example usage:

    import { unstable_vitePlugin as remix } from "@&#8203;remix-run/dev";
    import { defineConfig } from "vite";
    
    export default defineConfig({
      plugins: [
        remix({
          unstable_serverBundles: ({ branch }) => {
            const isAuthenticatedRoute = branch.some(
              (route) => route.id === "routes/_authenticated"
            );
    
            return isAuthenticatedRoute ? "authenticated" : "unauthenticated";
          },
        }),
      ],
    });
Patch Changes
  • Fix issue with isbot v4 released on 1/1/2024 (#​8415)

    • remix dev will now add "isbot": "^4" to package.json instead of using latest
    • Update built-in entry.server files to work with both isbot@3 and isbot@4 for backwards-compatibility with Remix apps that have pinned isbot to v3
    • Templates are updated to use isbot@4 moving forward via create-remix
  • Vite: Fix HMR issues when altering exports for non-rendered routes (#​8157)

  • Vite: Default NODE_ENV to "production" when running remix vite:build command (#​8405)

  • Vite: Remove Vite plugin config option serverBuildPath in favor of separate serverBuildDirectory and serverBuildFile options (#​8332)

  • Vite: Loosen strict route exports restriction, reinstating support for non-Remix route exports (#​8420)

  • Updated dependencies:

    • @remix-run/server-runtime@2.5.0
    • @remix-run/node@2.5.0

v2.4.1

Compare Source

Patch Changes
  • Vite: Error messages when .server files are referenced by client (#​8267)

    • Previously, referencing a .server module from client code resulted in an error message like:
      • The requested module '/app/models/answer.server.ts' does not provide an export named 'isDateType'
    • This was confusing because answer.server.ts does provide the isDateType export, but Remix was replacing .server modules with empty modules (export {}) for the client build
    • Now, Remix explicitly fails at compile time when a .server module is referenced from client code and includes dedicated error messages depending on whether the import occurs in a route or a non-route module
    • The error messages also include links to relevant documentation
  • Remove unstable_viteServerBuildModuleId in favor of manually referencing virtual module name "virtual:remix/server-build". (#​8264)

    This is a breaking change for projects using the unstable Vite plugin with a custom server.

    This change was made to avoid issues where @remix-run/dev could be inadvertently required in your server's production dependencies.

    Instead, you should manually write the virtual module name "virtual:remix/server-build" when calling ssrLoadModule in development.

    -import { unstable_viteServerBuildModuleId } from "@&#8203;remix-run/dev";
    
    // ...
    
    app.all(
      "*",
      createRequestHandler({
        build: vite
    -      ? () => vite.ssrLoadModule(unstable_viteServerBuildModuleId)
    +      ? () => vite.ssrLoadModule("virtual:remix/server-build")
          : await import("./build/server/index.js"),
      })
    );
  • Vite: Fix errors for non-existent index.html importer (#​8353)

  • Add vite:dev and vite:build commands to the Remix CLI. (#​8211)

    In order to handle upcoming Remix features where your plugin options can impact the number of Vite builds required, you should now run your Vite dev and build processes via the Remix CLI.

    {
      "scripts": {
    -    "dev": "vite dev",
    -    "build": "vite build && vite build --ssr"
    +    "dev": "remix vite:dev",
    +    "build": "remix vite:build"
      }
    }
  • Vite: Preserve names for exports from .client modules (#​8200)

    Unlike .server modules, the main idea is not to prevent code from leaking into the server build
    since the client build is already public. Rather, the goal is to isolate the SSR render from client-only code.
    Routes need to import code from .client modules without compilation failing and then rely on runtime checks
    or otherwise ensure that execution only happens within a client-only context (e.g. event handlers, useEffect).

    Replacing .client modules with empty modules would cause the build to fail as ESM named imports are statically analyzed.
    So instead, we preserve the named export but replace each exported value with undefined.
    That way, the import is valid at build time and standard runtime checks can be used to determine if the
    code is running on the server or client.

  • Disable watch mode in Vite child compiler during build (#​8342)

  • Vite: Show warning when source maps are enabled in production build (#​8222)

  • Updated dependencies:

    • @remix-run/server-runtime@2.4.1
    • @remix-run/node@2.4.1

v2.4.0

Compare Source

Minor Changes
  • Vite: exclude modules within .server directories from client build (#​8154)

  • Add support for clientLoader/clientAction/HydrateFallback route exports (RFC) (#​8173)

    Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:

    • Leveraging a data source local to the browser (i.e., localStorage)
    • Managing a client-side cache of server data (like IndexedDB)
    • Bypassing the Remix server in a BFF setup and hitting your API directly from the browser
    • Migrating a React Router SPA to a Remix application

    By default, clientLoader will not run on hydration, and will only run on subsequent client side navigations.

    If you wish to run your client loader on hydration, you can set clientLoader.hydrate=true to force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by your clientLoader.

    If your clientLoader needs to run on hydration and adds data you require to render the route component, you can export a HydrateFallback component that will render during SSR, and then your route component will not render until the clientLoader has executed on hydration.

    clientAction is simpler than clientLoader because it has no hydration use-cases. clientAction will only run on client-side navigations.

    For more information, please refer to the clientLoader and clientAction documentation.

  • Vite: Strict route exports (#​8171)

    With Vite, Remix gets stricter about which exports are allowed from your route modules.
    Previously, the Remix compiler would allow any export from routes.
    While this was convenient, it was also a common source of bugs that were hard to track down because they only surfaced at runtime.

    For more, see https://remix.run/docs/en/main/future/vite#strict-route-exports

  • Add a new future.v3_relativeSplatPath flag to implement a breaking bug fix to relative routing when inside a splat route. For more information, please see the React Router 6.21.0 Release Notes and the useResolvedPath docs. (#​8216)

Patch Changes
  • Upgrade Vite peer dependency range to v5 (#​8172)

  • Support HMR for routes with handle export in Vite dev (#​8022)

  • Fix flash of unstyled content for non-Express custom servers in Vite dev (#​8076)

  • Bundle CSS imported in client entry file in Vite plugin (#​8143)

  • Change Vite build output paths to fix a conflict between how Vite and the Remix compiler each manage the public directory. (#​8077)

    This is a breaking change for projects using the unstable Vite plugin.

    The server is now compiled into build/server rather than build, and the client is now compiled into build/client rather than public.

    For more information on the changes and guidance on how to migrate your project, refer to the updated Remix Vite documentation.

  • Remove undocumented legacyCssImports option from Vite plugin due to issues with ?url imports of CSS files not being processed correctly in Vite (#​8096)

  • Vite: fix access to default entry.{client,server}.tsx within pnpm workspace on Windows (#​8057)

  • Remove unstable_createViteServer and unstable_loadViteServerBuild which were only minimal wrappers around Vite's createServer and ssrLoadModule functions when using a custom server. (#​8120)

    This is a breaking change for projects using the unstable Vite plugin with a custom server.

    Instead, we now provide unstable_viteServerBuildModuleId so that custom servers interact with Vite directly rather than via Remix APIs, for example:

    -import {
    -  unstable_createViteServer,
    -  unstable_loadViteServerBuild,
    -} from "@&#8203;remix-run/dev";
    +import { unstable_viteServerBuildModuleId } from "@&#8203;remix-run/dev";

    Creating the Vite server in middleware mode:

    const vite =
      process.env.NODE_ENV === "production"
        ? undefined
    -    : await unstable_createViteServer();
    +    : await import("vite").then(({ createServer }) =>
    +        createServer({
    +          server: {
    +            middlewareMode: true,
    +          },
    +        })
    +      );

    Loading the Vite server build in the request handler:

    app.all(
      "*",
      createRequestHandler({
        build: vite
    -      ? () => unstable_loadViteServerBuild(vite)
    +      ? () => vite.ssrLoadModule(unstable_viteServerBuildModuleId)
          : await import("./build/server/index.js"),
      })
    );
  • Pass request handler errors to vite.ssrFixStacktrace in Vite dev to ensure stack traces correctly map to the original source code (#​8066)

  • Vite: Preserve names for exports from .client imports (#​8200)

    Unlike .server modules, the main idea is not to prevent code from leaking into the server build
    since the client build is already public. Rather, the goal is to isolate the SSR render from client-only code.
    Routes need to import code from .client modules without compilation failing and then rely on runtime checks
    to determine if the code is running on the server or client.

    Replacing .client modules with empty modules would cause the build to fail as ESM named imports are statically analyzed.
    So instead, we preserve the named export but replace each exported value with an empty object.
    That way, the import is valid at build time and the standard runtime checks can be used to determine if then
    code is running on the server or client.

  • Add @remix-run/node to Vite's optimizeDeps.include array (#​8177)

  • Improve Vite plugin performance (#​8121)

    • Parallelize detection of route module exports
    • Disable server.preTransformRequests in Vite child compiler since it's only used to process route modules
  • Remove automatic global Node polyfill installation from the built-in Vite dev server and instead allow explicit opt-in. (#​8119)

    This is a breaking change for projects using the unstable Vite plugin without a custom server.

    If you're not using a custom server, you should call installGlobals in your Vite config instead.

    import { unstable_vitePlugin as remix } from "@&#8203;remix-run/dev";
    +import { installGlobals } from "@&#8203;remix-run/node";
    import { defineConfig } from "vite";
    
    +installGlobals();
    
    export default defineConfig({
      plugins: [remix()],
    });
  • Vite: Errors at build-time when client imports .server default export (#​8184)

    Remix already stripped .server file code before ensuring that server code never makes it into the client.
    That results in errors when client code tries to import server code, which is exactly what we want!
    But those errors were happening at runtime for default imports.
    A better experience is to have those errors happen at build-time so that you guarantee that your users won't hit them.

  • Fix request instanceof Request checks when using Vite dev server (#​8062)

  • Updated dependencies:

    • @remix-run/server-runtime@2.4.0
    • @remix-run/node@2.4.0

v2.3.1

Compare Source

Patch Changes
  • Support nonce prop on LiveReload component in Vite dev (#​8014)
  • Ensure code-split JS files in the server build's assets directory aren't cleaned up after Vite build (#​8042)
  • Fix redundant copying of assets from public directory in Vite build (#​8039)
    • This ensures that static assets aren't duplicated in the server build directory
    • This also fixes an issue where the build would break if assetsBuildDirectory was deeply nested within the public directory
  • Updated dependencies:
    • @remix-run/node@2.3.1
    • @remix-run/server-runtime@2.3.1

v2.3.0

Compare Source

Patch Changes
  • Support rendering of LiveReload component after Scripts in Vite dev (#​7919)
  • fix(vite): fix "react-refresh/babel" resolution for custom server with pnpm (#​7904)
  • Support JSX usage in .jsx files without manual React import in Vite (#​7888)
  • Support optional rendering of LiveReload component in Vite dev (#​7919)
  • Fix Vite production builds when plugins that have different local state between development and production modes are present, e.g. @mdx-js/rollup. (#​7911)
  • Cache resolution of Remix Vite plugin options (#​7908)
  • Support Vite 5 (#​7846)
  • Allow process.env.NODE_ENV values other than "development" in Vite dev (#​7980)
  • Attach CSS from shared chunks to routes in Vite build (#​7952)
  • fix(vite): Let Vite handle serving files outside of project root via /@&#8203;fs (#​7913)
    • This fixes errors when using default client entry or server entry in a pnpm project where those files may be outside of the project root, but within the workspace root.
    • By default, Vite prevents access to files outside the workspace root (when using workspaces) or outside of the project root (when not using workspaces) unless user explicitly opts into it via Vite's server.fs.allow.
  • Improve performance of LiveReload proxy in Vite dev (#​7883)
  • fix(vite): deduplicate @remix-run/react (#​7926)
    • Pre-bundle Remix dependencies to avoid Remix router duplicates.
    • Our remix-react-proxy plugin does not process default client and
    • server entry files since those come from within node_modules.
    • That means that before Vite pre-bundles dependencies (e.g. first time dev server is run) mismatching Remix routers cause Error: You must render this element inside a <Remix> element.
  • Fix React Fast Refresh error on load when using defer in Vite dev server (#​7842)
  • Handle multiple "Set-Cookie" headers in Vite dev server (#​7843)
  • Fix flash of unstyled content on initial page load in Vite dev when using a custom Express server (#​7937)
  • Emit assets that were only referenced in the server build into the client assets directory in Vite build (#​7892, cherry-picked in 8cd31d65)
  • Populate process.env from .env files on the server in Vite dev (#​7958)
  • Fix FutureConfig type (#​7895)
  • Updated dependencies:
    • @remix-run/server-runtime@2.3.0
    • @remix-run/node@2.3.0

v2.2.0

Compare Source

Minor Changes
  • Unstable Vite support for Node-based Remix apps (#​7590)
    • remix build 👉 vite build && vite build --ssr
    • remix dev 👉 vite dev
    • Other runtimes (e.g. Deno, Cloudflare) not yet supported.
    • See "Future > Vite" in the Remix Docs for details
  • Add a new future.v3_fetcherPersist flag to change the persistence behavior of fetchers. Instead of being immediately cleaned up when unmounted in the UI, fetchers will persist until they return to an idle state (RFC) (#​7704)
Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.2.0
    • @remix-run/node@2.2.0

v2.1.0

Compare Source

Patch Changes
  • Sourcemap takes into account special chars in output file (#​7574)
  • Updated dependencies:
    • @remix-run/server-runtime@2.1.0

v2.0.1

Compare Source

Patch Changes
  • Fix types for MDX files when using pnpm (#​7491)
  • Update getDependenciesToBundle to handle ESM packages without main exports (#​7272)
    • Note that these packages must expose package.json in their exports field so that their path can be resolved
  • Fix server builds where serverBuildPath extension is .cjs (#​7180)
  • Updated dependencies:
    • @remix-run/server-runtime@2.0.1

v2.0.0

Compare Source

Major Changes
  • 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. (#​6887)

    • 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.
  • Enable built-in PostCSS and Tailwind support by default. (#​6909)

    • 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 via the postcss:false and/or tailwind:false flags
  • Drop React 17 support (#​7121)

  • Require Node >=18.0.0 (#​6939)

  • Compile server build to Node 18 (#​7292)

    • This allows features like top-level await to be used within a Remix app
  • Remove default Node.js polyfills - you must now opt-into polyfills via the serverNodeBuiltinsPolyfill and browserNodeBuiltinsPolyfill configs (#​7269)

  • Remove v2_errorBoundary flag and CatchBoundary implementation (#​6906)

  • Remove v2_normalizeFormMethod future flag - all formMethod 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 deepest headers function in the route tree (#​6979)

  • The route meta API now defaults to the new "V2 Meta" API (#​6958)

  • Default to serverModuleFormat: "esm" and update remix-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 - use REMIX_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 - use remix dev's '--port / port option instead (#​6965)

  • Stop passing isTypeScript to remix.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 - use REMIX_DEV_ORIGIN instead (#​6962)

  • Promote the future.v2_dev flag in remix.config.js to a root level dev config (#​7002)

  • Remove browserBuildDirectory config option (#​6900)

  • Remove serverBuildDirectory config option ([#​6897](https://github.com/remix-run/remix/pull/- Remove codemod command (#​6918)
    6897))

  • 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: (#​6895)

    - import type { ActionArgs } from "remix";
    - import { json, useLoaderData } from "remix";
    + import type { ActionArgs } from "@&#8203;remix-run/node";
    + import { json } from "@&#8203;remix-run/node";
    + import { useLoaderData } from "@&#8203;remix-run/react";
Minor Changes
  • Warn users about obsolete future flags in remix.config.js (#​7048)

  • Detect built mode via build.mode (#​6964)

    • 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
  • Support bun package manager (#​7074)

  • The serverNodeBuiltinsPolyfill option (along with the newly added browserNodeBuiltinsPolyfill) now supports defining global polyfills in addition to module polyfills (#​7269)

    • For example, to polyfill Node's Buffer global:

      module.exports = {
        serverNodeBuiltinsPolyfill: {
          globals: {
            Buffer: true,
          },
          // You'll probably need to polyfill the "buffer" module
          // too since the global polyfill imports this:
          modules: {
            buffer: true,
          },
        },
      };
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)

    • 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
  • Allow non-development modes for remix watch (#​7117)

  • Stop remix dev when esbuild 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 files
      can contain single-argument type generics without needing a comma to disambiguate from JSX:

      // this works in .ts files
      const id = <T>(x: T) => x;
      //          ^ single-argument type generic
      // this doesn't work in .tsx files
      const id = <T,>(x: T) => x;
      //          ^ is this a JSX element? or a single-argument type generic?
      // this works in .tsx files
      const id = <T,>(x: T) => x;
      //           ^ comma: this is a generic, not a JSX element
      const component = <h1>hello</h1>;
      //                   ^ no comma: this is a JSX element
  • Enhance obsolete flag warning for future.v2_dev if it was an object, and prompt users to lift it to the root dev 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 with var Buffer = require('buffer/').Buffer as recommended in their README) (#​7198)

    • These imports were previously marked as external
    • This meant that they were left as dynamic imports in the client bundle and would throw a runtime error in the browser (e.g. 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)

    • Most of the time these warnings were false positives.
    • Instead, we now rely on built-in Node warnings for ESM imports.
  • 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.5.1

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.5.1.

v2.5.0

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.5.0.

v2.4.1

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.4.1.

v2.4.0

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.4.0.

v2.3.1

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.3.1.

v2.3.0

Compare Source

No significant changes to this package were made in this release. See the repo CHANGELOG.md for an overview of all changes in v2.3.0.

v2.2.0

Compare Source

No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v2.2.0.

v2.1.0

Compare Source

No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v2.1.0.

v2.0.1

Compare Source

No significant changes to this package were made in this release. See the releases page on GitHub for an overview of all changes in v2.0.1.

v2.0.0

Compare Source

Major Changes
  • Remove @remix-run/eslint-config/jest ESLint config (#​6903)
  • Drop React 17 support (#​7121)
  • Remove magic imports ESLint warnings (#​6902)
  • Remove v2_normalizeFormMethod future flag - all formMethod values will be normalized in v2 (#​6875)
remix-run/remix (@​remix-run/node)

v2.5.1

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.5.1

v2.5.0

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.5.0

v2.4.1

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.4.1

v2.4.0

Compare Source

Minor Changes
  • Deprecate DataFunctionArgs in favor of LoaderFunctionArgs/ActionFunctionArgs. This is aimed at keeping the types aligned across server/client loaders/actions now that clientLoader/clientActon functions have serverLoader/serverAction parameters which differentiate ClientLoaderFunctionArgs/ClientActionFunctionArgs. (#​8173)
Patch Changes
  • Update to @remix-run/web-fetch@4.4.2 (#​8231)
  • Updated dependencies:
    • @remix-run/server-runtime@2.4.0

v2.3.1

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.3.1

v2.3.0

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.3.0

v2.2.0

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.2.0

v2.1.0

Compare Source

Patch Changes
  • Updated dependencies:
    • @remix-run/server-runtime@2.1.0

v2.0.1

Compare Source

Patch Changes
  • Switch from crypto.randomBytes to crypto.webcrypto.getRandomValues for file session storage ID generation (#​7203)
  • Use native Blob class instead of polyfill (#​7217)
  • Updated dependencies:

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 via installGlobals (#​7293)

  • Removed/adjusted types to prefer unknown over any and to align with underlying React Router types (#​7319, #​7354):

    • Renamed the useMatches() return type from RouteMatch to UIMatch
    • Renamed LoaderArgs/ActionArgs to LoaderFunctionArgs/ActionFunctionArgs
    • AppData changed from any to unknown
    • Location["state"] (useLocation.state) changed from any to unknown
    • UIMatch["data"] (useMatches()[i].data) changed from any to unknown
    • UIMatch["handle"] (useMatches()[i].handle) changed from { [k: string]: any } to unknown
    • Fetcher["data"] (useFetcher().data) changed from any to unknown
    • MetaMatch.handle (used in meta()) changed from any to unknown
    • AppData/RouteHandle are no longer exported as they are just aliases for unknown
  • 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 required

    • If you are using your own app server, you will need to install the globals yourself

      import { installGlobals } from "@&#8203;remix-run/node";
      
      installGlobals();
  • source-map-support is now a responsibility of the app server (#​7009)

    • 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 yourself.

      npm i source-map-support
      import sourceMapSupport from "source-map-support";
      sourceMapSupport.install();
  • 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: (#​6895)

    - import type { ActionArgs } from "remix";
    - import { json, useLoaderData } from "remix";
    + import type { ActionArgs } from "@&#8203;remix-run/node";
    + import { json } from "@&#8203;remix-run/node";
    + import { useLoaderData } from "@&#8203;remix-run/react";
Minor Changes
Patch Changes
  • Remove atob/btoa polyfills in favor of built-in versions (#​7206)
  • Export proper ErrorResponse type for usage alongside isRouteErrorResponse (#​7244)
  • Add the rest of the Web Streams API to installGlobals (#​7321)
  • Ensures fetch() return is instanceof global Response by removing extended classes for NodeRequest and NodeResponse in favor of custom interface type cast (#​7109)
  • Remove recursion from stream utilities (#​7245)
  • Updated dependencies:
    • @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.5.1

Compare Source

Patch Changes
  • Only use active matches in <Meta>/<Links> in SPA mode (#​8538)
  • Remove leftover unstable_ prefix from Blocker/BlockerFunction types (#​8530)
  • Updated dependencies:
    • @remix-run/server-runtime@2.5.1

v2.5.0

Compare Source

Minor Changes
  • Add unstable support for "SPA Mode" (#​8457)

    You can opt into SPA Mode by setting unstable_ssr: false in your Remix Vite plugin config:

    // vite.config.ts
    import { unstable_vitePlugin as remix } from "@&#8203;remix-run/dev";
    import { defineConfig } from "vite";
    
    export default defineConfig({
      plugins: [remix({ unstable_ssr: false })],
    });

    Development in SPA Mode is just like a normal Remix app, and still uses the Remix dev server for HMR/HDR:

    remix vite:dev

    Building in SPA Mode will generate an index.html file in your client assets directory:

    remix vite:build

    To run your SPA, you serve your client assets directory via an HTTP server:

    npx http-server build/client

    For more information, please refer to the SPA Mode docs.

Patch Changes
  • Vite: Fix type conflict with import.meta.hot from the existing Remix compiler (#​8459)
  • Updated dependencies:
    • @remix-run/server-runtime@2.5.0

v2.4.1

Compare Source

Patch Changes
  • Propagate server loader errors through serverLoader in hydrating clientLoader's (#​8304)
  • Re-export Response helpers (defer/json/redirect/redirectDocument) through @remix-run/react for use in clientLoader/clientAction (#​8351)
  • Updated dependencies:
    • @remix-run/server-runtime@2.4.1

v2.4.0

Compare Source

Minor Changes
  • Add support for clientLoader/clientAction/HydrateFallback route exports (RFC). (#​8173)

    Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:

    • Leveraging a data source local to the browser (i.e., localStorage)
    • Managing a client-side cache of server data (like IndexedDB)
    • Bypassing the Remix server in a BFF setup and hitting your API directly from the browser
    • Migrating a React Router SPA to a Remix application

    By default, clientLoader will not run on hydration, and will only run on subsequent client side navigations.

    If you wish to run your client loader on hydration, you can set clientLoader.hydrate=true to force Remix to execute it on initial page load. Keep in mind that Remix will still SSR your route component so you should ensure that there is no new required data being added by your clientLoader.

    If your clientLoader needs to run on hydration and adds data you require to render the route component, you can export a HydrateFallback component that will render during SSR, and then your route component will not render until the clientLoader has executed on hydration.

    clientAction is simpler than clientLoader because it has no hydration use-cases. clientAction will only run on client-side navigations.

    For more information, please refer to the clientLoader and [clientAction](https:


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency label Sep 15, 2023
@netlify
Copy link

netlify bot commented Sep 15, 2023

Deploy Preview for brilliant-pasca-3e80ec canceled.

Name Link
🔨 Latest commit b22a05e
🔍 Latest deploy log https://app.netlify.com/sites/brilliant-pasca-3e80ec/deploys/65b12c4ce963ee0008394d85

@github-actions github-actions bot added pkg: frontend Changes in the frontend package. pkg: mock-ase labels Sep 15, 2023
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 2 times, most recently from 8868572 to 3e325af Compare September 17, 2023 16:04
@sabineschaller
Copy link
Member

Let's wait until v2 is more stable

@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 4 times, most recently from cb123f6 to 684f4a4 Compare September 20, 2023 10:49
@sabineschaller sabineschaller added the do not merge Do not merge PRs with these label label Sep 20, 2023
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 4 times, most recently from 3c21228 to b20be62 Compare September 22, 2023 06:22
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 6 times, most recently from 653e458 to aba089d Compare October 12, 2023 07:40
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 8 times, most recently from 2a83188 to af66b31 Compare October 23, 2023 08:24
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 3 times, most recently from 7eac808 to 617c420 Compare November 29, 2023 14:52
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 6 times, most recently from e25a4a8 to 98c9ad4 Compare December 8, 2023 12:24
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 3 times, most recently from 2bcdcf4 to ece2f92 Compare December 13, 2023 23:31
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch from ece2f92 to 936678f Compare December 22, 2023 18:09
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 8 times, most recently from 26c718d to c00a363 Compare January 12, 2024 09:42
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch from c00a363 to b019bc5 Compare January 18, 2024 22:38
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch 2 times, most recently from b052962 to 03b3b7f Compare January 23, 2024 20:39
@renovate renovate bot force-pushed the renovate-major-remix-monorepo branch from 03b3b7f to b22a05e Compare January 24, 2024 15:27
@renovate renovate bot changed the title chore(deps): update remix monorepo to v2 (major) chore(deps): update remix monorepo to v2 (major) - autoclosed Jan 26, 2024
@renovate renovate bot closed this Jan 26, 2024
@renovate renovate bot deleted the renovate-major-remix-monorepo branch January 26, 2024 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency do not merge Do not merge PRs with these label pkg: frontend Changes in the frontend package. pkg: mock-ase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant