diff --git a/.changeset/funny-chairs-joke.md b/.changeset/funny-chairs-joke.md deleted file mode 100644 index d94fa4290..000000000 --- a/.changeset/funny-chairs-joke.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -"@squide/firefly-webpack-configs": major -"@squide/module-federation": major -"@squide/webpack-configs": major -"@squide/react-router": major -"@squide/firefly": major -"@squide/core": major ---- - -This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). - -This release deprecates the following packages: - -- `@squide/webpack-module-federation`, use `@squide/module-federation` instead. -- `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. - -And introduce a few changes to existing API: - -- The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: - -```ts -// bootstrap.tsx - -import { FireflyRuntime } from "@squide/firefly"; - -const runtime = new FireflyRuntime({ - useMsw: true -}); - -// Use the runtime to determine if MSW handlers should be registered. -if (runtime.isMswEnabled) { - // ... -} -``` - -- The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. - -Previously: - -```ts -// bootstrap.tsx - -import { registerRemoteModules, type RemoteDefinition } from "@squide/firefly"; - -const Remotes: RemoteDefinition = [ - { - name: "remote1", - url: "http://localhost:8081" - } -]; - -await registerRemoteModules(Remotes, runtime); -``` - -```js -// webpack.dev.js - -import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; -import { swcConfig } from "./swc.dev.js"; - -export default defineDevHostConfig(swcConfig, "host", 8080, { - overlay: false -}); -``` - -Now: - -```ts -// bootstrap.tsx - -import { registerRemoteModules, type RemoteDefinition } from "@squide/firefly"; - -const Remotes: RemoteDefinition = [ - { - name: "remote1" - } -]; - -await registerRemoteModules(Remotes, runtime); -``` - -```js -// webpack.dev.js - -import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; -import { swcConfig } from "./swc.dev.js"; - -/** - * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] - */ -export const Remotes = [ - { - name: "remote1", - url: "http://localhost:8081" - } -]; - -export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { - overlay: false -}); -``` - -To migrate: - -1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. - -2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. - -3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. - -4. Integrate the new `useMsw` and `isMswEnabled` props. diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 7d2f4a830..fc22228de 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,118 @@ # @squide/core +## 4.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + ## 3.4.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index 7b48e02aa..bc771c3b8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@squide/core", "author": "Workleap", - "version": "3.4.0", + "version": "4.0.0", "description": "The core package of @squide federated application shell.", "license": "Apache-2.0", "repository": { diff --git a/packages/fakes/CHANGELOG.md b/packages/fakes/CHANGELOG.md index cf44671d4..9c331071a 100644 --- a/packages/fakes/CHANGELOG.md +++ b/packages/fakes/CHANGELOG.md @@ -1,5 +1,12 @@ # @squide/fakes +## 1.0.18 + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/core@4.0.0 + ## 1.0.17 ### Patch Changes diff --git a/packages/fakes/package.json b/packages/fakes/package.json index 374b7fa56..e41407c5b 100644 --- a/packages/fakes/package.json +++ b/packages/fakes/package.json @@ -1,7 +1,7 @@ { "name": "@squide/fakes", "author": "Workleap", - "version": "1.0.17", + "version": "1.0.18", "description": "Fake implementations to facilitate the development of federated modules in isolation with @squide.", "license": "Apache-2.0", "repository": { diff --git a/packages/firefly-webpack-configs/CHANGELOG.md b/packages/firefly-webpack-configs/CHANGELOG.md new file mode 100644 index 000000000..83a6b2980 --- /dev/null +++ b/packages/firefly-webpack-configs/CHANGELOG.md @@ -0,0 +1,119 @@ +# @squide/firefly-webpack-configs + +## 2.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/webpack-configs@2.0.0 diff --git a/packages/firefly-webpack-configs/package.json b/packages/firefly-webpack-configs/package.json index 6045a1595..0c3690d33 100644 --- a/packages/firefly-webpack-configs/package.json +++ b/packages/firefly-webpack-configs/package.json @@ -1,7 +1,7 @@ { "name": "@squide/firefly-webpack-configs", "author": "Workleap", - "version": "1.0.6", + "version": "2.0.0", "description": "Webpack configuration helpers for the Squide firefly technology stack.", "license": "Apache-2.0", "repository": { diff --git a/packages/firefly/CHANGELOG.md b/packages/firefly/CHANGELOG.md index ee2fd5f73..1318f48a9 100644 --- a/packages/firefly/CHANGELOG.md +++ b/packages/firefly/CHANGELOG.md @@ -1,5 +1,126 @@ # @squide/firefly +## 8.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/module-federation@5.0.0 + - @squide/react-router@5.0.0 + - @squide/core@4.0.0 + - @squide/msw@2.0.14 + ## 7.0.0 ### Major Changes diff --git a/packages/firefly/package.json b/packages/firefly/package.json index 669b54110..98b7d6104 100644 --- a/packages/firefly/package.json +++ b/packages/firefly/package.json @@ -1,7 +1,7 @@ { "name": "@squide/firefly", "author": "Workleap", - "version": "7.0.0", + "version": "8.0.0", "description": "Helpers to facilitate the creation of a shell package with Squide firefly technology stack.", "license": "Apache-2.0", "repository": { diff --git a/packages/i18next/CHANGELOG.md b/packages/i18next/CHANGELOG.md index ac65b559a..06a7c6dd0 100644 --- a/packages/i18next/CHANGELOG.md +++ b/packages/i18next/CHANGELOG.md @@ -1,5 +1,12 @@ # @squide/i18next +## 1.1.5 + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/core@4.0.0 + ## 1.1.4 ### Patch Changes diff --git a/packages/i18next/package.json b/packages/i18next/package.json index 65be83b29..9e3a42f9c 100644 --- a/packages/i18next/package.json +++ b/packages/i18next/package.json @@ -1,7 +1,7 @@ { "name": "@squide/i18next", "author": "Workleap", - "version": "1.1.4", + "version": "1.1.5", "description": "Add support for i18next to @squide federated application shell.", "license": "Apache-2.0", "repository": { diff --git a/packages/module-federation/CHANGELOG.md b/packages/module-federation/CHANGELOG.md new file mode 100644 index 000000000..7256a844e --- /dev/null +++ b/packages/module-federation/CHANGELOG.md @@ -0,0 +1,119 @@ +# @squide/module-federation + +## 5.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/core@4.0.0 diff --git a/packages/module-federation/package.json b/packages/module-federation/package.json index 8704ed1a1..2fb14f5dc 100644 --- a/packages/module-federation/package.json +++ b/packages/module-federation/package.json @@ -1,7 +1,7 @@ { "name": "@squide/module-federation", "author": "Workleap", - "version": "4.0.0", + "version": "5.0.0", "description": "Add support for Module Federation to @squide federated application shell.", "license": "Apache-2.0", "repository": { diff --git a/packages/msw/CHANGELOG.md b/packages/msw/CHANGELOG.md index d228fdca6..832986b9c 100644 --- a/packages/msw/CHANGELOG.md +++ b/packages/msw/CHANGELOG.md @@ -1,5 +1,12 @@ # @squide/msw +## 2.0.14 + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/core@4.0.0 + ## 2.0.13 ### Patch Changes diff --git a/packages/msw/package.json b/packages/msw/package.json index 9e26bd3d4..ecc754b97 100644 --- a/packages/msw/package.json +++ b/packages/msw/package.json @@ -1,7 +1,7 @@ { "name": "@squide/msw", "author": "Workleap", - "version": "2.0.13", + "version": "2.0.14", "description": "Add support for MSW to @squide federated application shell.", "license": "Apache-2.0", "repository": { diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index b0d22e955..eb1cfd7f9 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,5 +1,123 @@ # @squide/react-router +## 5.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + +### Patch Changes + +- Updated dependencies [[`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283)]: + - @squide/core@4.0.0 + ## 4.1.3 ### Patch Changes diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 4497d6e0f..2ec56921a 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,7 +1,7 @@ { "name": "@squide/react-router", "author": "Workleap", - "version": "4.1.3", + "version": "5.0.0", "description": "Add support for React Router to @squide federated application shell.", "license": "Apache-2.0", "repository": { diff --git a/packages/webpack-configs/CHANGELOG.md b/packages/webpack-configs/CHANGELOG.md index f34fa03e1..e3b7423df 100644 --- a/packages/webpack-configs/CHANGELOG.md +++ b/packages/webpack-configs/CHANGELOG.md @@ -1,5 +1,118 @@ # @squide/webpack-configs +## 2.0.0 + +### Major Changes + +- [#168](https://github.com/gsoft-inc/wl-squide/pull/168) [`89ace29`](https://github.com/gsoft-inc/wl-squide/commit/89ace29b9aeadbbe83cfa71dd137b9f1a115c283) Thanks [@patricklafrance](https://github.com/patricklafrance)! - This release Migrates Squide from Webpack Module Federation to [Module Federation 2.0](https://module-federation.io/guide/start/quick-start.html). + + This release deprecates the following packages: + + - `@squide/webpack-module-federation`, use `@squide/module-federation` instead. + - `@squide/firefly-configs`, use `@squide/firefly-webpack-configs` instead. + + And introduce a few changes to existing API: + + - The `FireflyRuntime` nows accept a `useMsw` option and expose a new `isMswEnabled` getter: + + ```ts + // bootstrap.tsx + + import { FireflyRuntime } from "@squide/firefly"; + + const runtime = new FireflyRuntime({ + useMsw: true, + }); + + // Use the runtime to determine if MSW handlers should be registered. + if (runtime.isMswEnabled) { + // ... + } + ``` + + - The `registerRemoteModules` function doesn't accept the remotes URL anymore. The remotes URL should be configured in the webpack configuration files. + + Previously: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + export default defineDevHostConfig(swcConfig, "host", 8080, { + overlay: false, + }); + ``` + + Now: + + ```ts + // bootstrap.tsx + + import { + registerRemoteModules, + type RemoteDefinition, + } from "@squide/firefly"; + + const Remotes: RemoteDefinition = [ + { + name: "remote1", + }, + ]; + + await registerRemoteModules(Remotes, runtime); + ``` + + ```js + // webpack.dev.js + + import { defineDevHostConfig } from "@squide/firefly-webpack-configs"; + import { swcConfig } from "./swc.dev.js"; + + /** + * @typedef {import("@squide/firefly-webpack-configs").RemoteDefinition}[] + */ + export const Remotes = [ + { + name: "remote1", + url: "http://localhost:8081", + }, + ]; + + export default defineDevHostConfig(swcConfig, "host", 8080, Remotes, { + overlay: false, + }); + ``` + + To migrate: + + 1. Replace the `@squide/webpack-module-federation` dependency by `@squide/module-federation`. + + 2. Replace the `@squide/firefly-configs` dependency by `@squide/firefly-webpack-configs`. + + 3. Move the remotes URL from the `bootstrap.tsx` file to the `webpack.*.js` files. + + 4. Integrate the new `useMsw` and `isMswEnabled` props. + ## 1.2.8 ### Patch Changes diff --git a/packages/webpack-configs/package.json b/packages/webpack-configs/package.json index 1f36822a1..56e8f4aae 100644 --- a/packages/webpack-configs/package.json +++ b/packages/webpack-configs/package.json @@ -1,7 +1,7 @@ { "name": "@squide/webpack-configs", "author": "Workleap", - "version": "1.2.8", + "version": "2.0.0", "description": "Utilities to configure webpack with a @squide federated application shell.", "license": "Apache-2.0", "repository": {