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

Changeset: New Version #94

Merged
merged 1 commit into from
Oct 19, 2023
Merged

Changeset: New Version #94

merged 1 commit into from
Oct 19, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Oct 19, 2023

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@squide/[email protected]

Major Changes

  • #93 d66a196 Thanks @patricklafrance!

    Addition

    • Added support for plugins to Squide runtime.
    • Added a parentName option to registerRoute.

    Updated

    • The layoutPath option of registerRoute has been renamed to parentPath.
    • registerNavigationItems has been renamed to registerNavigationItem and now only accepts a single item by call.
    • A navigation item label, additionalProps and priority fields has been renamed to $label, $additionalProps and $priority. This is part of an effort to ensure no future release of React Router introduced new properties with names that are conflicting with Squide.
    • Local modules register function can now be async. This is useful if you want for example to conditionally to a dynamic import to load a dependency such as msw.

    Removed

    • Removed the Service features at it was confusing and not that helpful. We recommend using React context instead to share services with the modules.

@squide/[email protected]

Major Changes

  • #93 d66a196 Thanks @patricklafrance! - This is a new package to help with Mock Service Worker in a federated application.

    It helps to register their request handlers:

    In module:

    const mswPlugin = getMswPlugin(runtime);
    mswPlugin.registerRequestHandlers(requestHandlers);

    In the host app:

    import("../mocks/browser.ts").then(({ startMsw }) => {
      startMsw(mswPlugin.requestHandlers);
    
      setMswAsStarted();
    });

    And offer an utility to wait for MSW to be started before rendering the app:

    const isMswStarted = useIsMswStarted(process.env.USE_MSW);

Patch Changes

@squide/[email protected]

Major Changes

  • #93 d66a196 Thanks @patricklafrance!

    Addition

    • Added the $visibility field to the Route type. This new field indicates that the route doesn't depend on the initial global data (authenticated data) and can be rendered before that data is loaded. The accepted values are public and protected. By default, every route is protected.
    • Added the $name field to the Route type. This new field allow a nested route to be named so other routes can be configured to be nested under this route with the parentName option.
    • Added a ManagedRoutes placeholder, allowing the application to indicates where managed routes should be rendered. A managed route is a route that is neither hoisted or nested with a parentPath or parentName option.
    • Added the useRouteMatch and useIsRouteMatchProtected hooks.

    Updated

    • registerRoutes has been renamed to registerRoute and now only accepts a single route by call.
    • Moved the hoist option from the route definition to an option of registerRoute.

    Before:

    registerRoute({
      hoist: true,
      path: "/foo",
      element: <div>Foo</div>,
    });

    After:

    registerRoute(
      {
        path: "/foo",
        element: <div>Foo</div>,
      },
      {
        hoist: true,
      }
    );
    • Route indexes are now created for nested routes registered in a single block. Given the following registration block:
    runtime.registerRoutes([
      {
        path: "/root",
        element: <div>Hello</div>,
        children: [
          {
            path: "/root/another-level",
            element: <div>You!</div>,
            children: [
              {
                path: "/root/another-level/deeply-nested-route",
                element: <div>Hello from nested!</div>,
              },
            ],
          },
        ],
      },
    ]);

    Before the changes, only an index for the "/root" route would have been created. This means that consumers could add nested routes under "/root" route with the parentPath option but couldn't nest routes under the "/root/another-level" and "/root/another-level/deeply-nested-route" with the parentPath option because there was no indexes for these routes.

    Now the following is possible:

    runtime.registerRoutes(
      [
        {
          path: "/foo",
          element: <div>Hello</div>,
        },
      ],
      { parentPath: "/root/another-level" }
    );
    
    runtime.registerRoutes(
      [
        {
          path: "/foo",
          element: <div>Hello</div>,
        },
      ],
      { parentPath: "/root/another-level/deeply-nested-route" }
    );

    Removed

    • The RootRoute has been removed, there's now only a single Route type.
    • The useHoistedRoutes has been removed. Hoisting is now supported by default with the hoist option of the registerRoute function and the ManagedRoutes placeholder.

Patch Changes

@squide/[email protected]

Major Changes

  • #93 d66a196 Thanks @patricklafrance!
  • The devserver error overlay is now disabled by default for the remote modules to prevent them from stacking on top of the host application error overlay.
    - Remote modules register functions can now be async.

Patch Changes

@squide/[email protected]

Patch Changes

@patricklafrance patricklafrance merged commit f56e86e into main Oct 19, 2023
@patricklafrance patricklafrance deleted the changeset-release/main branch October 19, 2023 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant