From 1d6ca2eea9355c2ecd749cfd31ad31de3293f382 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:29:55 +0200 Subject: [PATCH] Version Packages (#2101) Co-authored-by: odinr[bot] --- .changeset/bright-mangos-leave.md | 9 - .changeset/eight-ears-yell.md | 73 ------ .changeset/nasty-cars-love.md | 77 ------- .changeset/real-queens-help.md | 6 - .changeset/slow-spies-pretend.md | 5 - .changeset/swift-parrots-hug.md | 5 - .changeset/tender-knives-tap.md | 5 - .changeset/thick-planes-wash.md | 70 ------ .../CHANGELOG.md | 9 + .../package.json | 2 +- cookbooks/app-react-context/CHANGELOG.md | 10 + cookbooks/app-react-context/package.json | 2 +- cookbooks/app-react-feature-flag/CHANGELOG.md | 12 + cookbooks/app-react-feature-flag/package.json | 2 +- cookbooks/app-react-people/CHANGELOG.md | 9 + cookbooks/app-react-people/package.json | 2 +- cookbooks/app-react/CHANGELOG.md | 6 + cookbooks/app-react/package.json | 2 +- packages/app/CHANGELOG.md | 9 + packages/app/package.json | 2 +- packages/cli/CHANGELOG.md | 15 ++ packages/cli/package.json | 2 +- packages/framework/CHANGELOG.md | 9 + packages/framework/package.json | 2 +- packages/modules/app/CHANGELOG.md | 7 + packages/modules/app/package.json | 2 +- packages/modules/bookmark/CHANGELOG.md | 7 + packages/modules/bookmark/package.json | 2 +- packages/modules/context/CHANGELOG.md | 7 + packages/modules/context/package.json | 2 +- packages/modules/navigation/CHANGELOG.md | 6 + packages/modules/navigation/package.json | 2 +- .../modules/service-discovery/CHANGELOG.md | 7 + .../modules/service-discovery/package.json | 2 +- packages/modules/signalr/CHANGELOG.md | 7 + packages/modules/signalr/package.json | 2 +- packages/modules/widget/CHANGELOG.md | 8 + packages/modules/widget/package.json | 2 +- packages/react/app/CHANGELOG.md | 12 + packages/react/app/package.json | 2 +- .../react/components/bookmark/CHANGELOG.md | 10 + .../react/components/bookmark/package.json | 2 +- .../components/people-resolver/CHANGELOG.md | 10 + .../components/people-resolver/package.json | 2 +- packages/react/framework/CHANGELOG.md | 9 + packages/react/framework/package.json | 2 +- packages/react/legacy-interopt/CHANGELOG.md | 12 + packages/react/legacy-interopt/package.json | 2 +- packages/react/modules/bookmark/CHANGELOG.md | 10 + packages/react/modules/bookmark/package.json | 2 +- packages/react/modules/context/CHANGELOG.md | 8 + packages/react/modules/context/package.json | 2 +- packages/react/modules/signalr/CHANGELOG.md | 7 + packages/react/modules/signalr/package.json | 2 +- packages/react/widget/CHANGELOG.md | 10 + packages/react/widget/package.json | 2 +- packages/utils/query/CHANGELOG.md | 218 ++++++++++++++++++ packages/utils/query/package.json | 2 +- packages/widget/CHANGELOG.md | 8 + packages/widget/package.json | 2 +- vue-press/CHANGELOG.md | 6 + vue-press/package.json | 2 +- 62 files changed, 475 insertions(+), 277 deletions(-) delete mode 100644 .changeset/bright-mangos-leave.md delete mode 100644 .changeset/eight-ears-yell.md delete mode 100644 .changeset/nasty-cars-love.md delete mode 100644 .changeset/real-queens-help.md delete mode 100644 .changeset/slow-spies-pretend.md delete mode 100644 .changeset/swift-parrots-hug.md delete mode 100644 .changeset/tender-knives-tap.md delete mode 100644 .changeset/thick-planes-wash.md diff --git a/.changeset/bright-mangos-leave.md b/.changeset/bright-mangos-leave.md deleted file mode 100644 index 50c045ed8..000000000 --- a/.changeset/bright-mangos-leave.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@equinor/fusion-framework-cli": patch -"@equinor/fusion-framework-react-components-bookmark": patch -"@equinor/fusion-framework-cookbook-app-react-feature-flag": patch -"@equinor/fusion-framework-cookbook-app-react-people": patch -"@equinor/fusion-framework-cookbook-app-react": patch ---- - -chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 diff --git a/.changeset/eight-ears-yell.md b/.changeset/eight-ears-yell.md deleted file mode 100644 index 727597676..000000000 --- a/.changeset/eight-ears-yell.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -'@equinor/fusion-query': minor ---- - -added functionality for invalidate cache records - -## example - -### Step 1: Define the Fetch Function - -Assuming a function `fetchUserProfile(userId: string)` that fetches user profile data, ensure it's implemented. This function is crucial as it serves as the data source that the `Query` class will use. - -### Step 2: Instantiate `Query` for User Profiles - -You need to create an instance of your `Query` class specifically for fetching and caching user profiles. The instantiation should include specifying how to generate cache keys and, potentially, how cache validation should work. - -```typescript -type UserProfileArgs = { - userId: string; -}; - -const userProfileQuery = new Query({ - client: { - fn: fetchUserProfile, - }, - key: (args) => `userProfile_${args.userId}`, -}); -``` - -### Step 3: Execute the Query to Populate the Cache - -Use the `query` or `queryAsync` method to fetch the user profile for the user with id `1` and automatically populate the cache. Let's assume we prefer the asynchronous version for immediate use: - -```typescript -async function initializeUserProfileCache() { - try { - const userProfileData = await userProfileQuery.queryAsync({ userId: '1' }); - console.log('UserProfile Data:', userProfileData); - } catch (error) { - console.error('Failed to fetch user profile data:', error); - } -} -``` - -The `initializeUserProfileCache` function is an asynchronous function that attempts to fetch the user profile using the `queryAsync` method and logs the data to the console. This function populates the cache with the fetched user profile data, ready for subsequent accesses via the cache without needing to refetch the data. - -### Listening to Cache Invalidation Events - -To react to cache invalidation events (not part of the initial population but useful for cache management), use the `onInvalidate` method: - -```typescript -userProfileQuery.onInvalidate((event) => { - if (event.detail.item) { - console.log(`Cache entry invalidated for user: ${event.detail.item.value.id}`); - } else { - console.log('Cache invalidated for all users'); - } -}); -``` - -### Invalidating the Cache - -When you want to invalidate the cache, either for specific user profiles or entirely, utilize the `invalidate` method: - -```typescript -// Invalidate cache for a specific user profile -userProfileQuery.invalidate({ userId: '1' }); - -// Invalidate the entire cache -userProfileQuery.invalidate(); -``` - -In summary, these steps outline how to use your `Query` class to fetch, cache, and manage user profile data effectively. Starting with fetching and caching data for a user with id `1`, handling cache invalidation events, to invalidating cache entries as needed. diff --git a/.changeset/nasty-cars-love.md b/.changeset/nasty-cars-love.md deleted file mode 100644 index ac7641312..000000000 --- a/.changeset/nasty-cars-love.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -'@equinor/fusion-query': minor ---- - -Added functionality for mutating a cached value - -## example - -### Setting up the User Profile Scenario - -First, assume we have a user profile query setup similar to the previous explanation: - -```typescript -// Define the structure of a user profile and the arguments to identify a specific profile -type UserProfile = { - id: string; - name: string; - email: string; - bio?: string; -}; - -type UserProfileArgs = { - userId: string; -}; - -// Example Query: Initialized elsewhere, assume it's the instance of the enhanced Query class -declare const userProfileQuery: Query; -``` - -### Using `onMutate` to Listen for Mutations - -Now, let’s listen to the `onMutate` event on our `userProfileQuery`. We want to log the change or potentially trigger a UI update whenever a user's profile cache entry is mutated. - -```typescript -// Subscribing to mutation events for the user profile query -const unsubscribeOnMutate = userProfileQuery.onMutate(({ detail }) => { - const { changes, current } = detail; - - // Assuming changes are direct object updates and current is the state prior to applying changes in this example - console.log('Mutation occurred on user profile:', changes); - - if (current) { - console.log('Previous state of the profile:', current); - } - - // Here you could trigger a UI update or any other side effects needed after a mutation - // For instance: - // updateUI(current?.value, changes); // Hypothetical function to update UI -}); - -// Remember to call `unsubscribeOnMutate` to clean up when the component or application no longer needs to listen for these events -// unsubscribeOnMutate(); -``` - -### Mutating the Cache Entry - -To trigger this `onMutate` event, somewhere in your application, you might mutate the cache entry for a user profile after an action, such as the user updating their profile: - -```typescript -// Args identifying the specific user profile cache entry to mutate -const JoshProfileArgs = { userId: '1' }; - -// Assuming a simple update to the users bio -const updateBioChangeFn = (currentUserProfile: UserProfile) => ({ - ...currentUserProfile, - bio: 'Updated bio information.', -}); - -// Perform cache entry mutation -userProfileQuery.mutate(JoshProfileArgs, updateBioChangeFn); -``` - -This mutation operation would then trigger the `onMutate` listener we set up earlier, logging the changes and potentially updating the UI or triggering other side effects. - -### Conclusion - -The `onMutate` functionality in the `Query` class provides a powerful way to react to cache mutations, making it useful for keeping the UI in sync with the latest data changes or for logging and debugging purposes. Always ensure to unsubscribe from events when they are no longer needed to prevent memory leaks and unintended side effects. diff --git a/.changeset/real-queens-help.md b/.changeset/real-queens-help.md deleted file mode 100644 index ab2ad8720..000000000 --- a/.changeset/real-queens-help.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@equinor/fusion-framework-module-navigation": patch -"@equinor/fusion-framework-react-app": patch ---- - -update documentation diff --git a/.changeset/slow-spies-pretend.md b/.changeset/slow-spies-pretend.md deleted file mode 100644 index 1d9910a93..000000000 --- a/.changeset/slow-spies-pretend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@equinor/fusion-framework-docs": patch ---- - -bumped vue to 3.4.25 diff --git a/.changeset/swift-parrots-hug.md b/.changeset/swift-parrots-hug.md deleted file mode 100644 index 7db081474..000000000 --- a/.changeset/swift-parrots-hug.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@equinor/fusion-framework-cli": patch ---- - -bumped vite to 5.2.10 diff --git a/.changeset/tender-knives-tap.md b/.changeset/tender-knives-tap.md deleted file mode 100644 index 28cd39370..000000000 --- a/.changeset/tender-knives-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@equinor/fusion-framework-cli": patch ---- - -updated Query, ref #2095 diff --git a/.changeset/thick-planes-wash.md b/.changeset/thick-planes-wash.md deleted file mode 100644 index 7fff902d3..000000000 --- a/.changeset/thick-planes-wash.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -"@equinor/fusion-query": major ---- - -This changeset introduces several significant updates and new features to enhance the query utility package, aiming to improve its functionality, ease of use, and flexibility. Here's a thorough breakdown of the changes in layman's terms: -In this update, significant enhancements were made to how query tasks handle cancellation, especially focusing on scenarios where there are no subscribers or observers left for a particular task. - -```mermaid -flowchart TD - A[Start Query] --> B{Is Cached?} - B -->|Yes| C[Return Cached Result] - B -->|No| D{Any Active Observers?} - C --> E[Subscribers Receive Cached Data] - D -->|No| F[Cancel Query] - D -->|Yes| G[Fetch Data] - G --> H{Fetch Successful?} - H -->|Yes| I[Notify Observers with New Data] - H -->|No| J[Handle Fetch Error] - I --> K[Update Cache] - J --> L[Retry?] - L -->|Yes| G - L -->|No| M[Notify Observers with Error] - F --> N[Query Canceled] - - click A "A detailed step initiating the query process. It checks cache and observer status." - click B "B conditional check for cache availability." - click C "C provides cached results if available to avoid unnecessary fetching." - click D "D checks for any active subscribers before proceeding to fetch data." - click E "E observable subscribers are notified with the cached data." - click F "F query operation is canceled if there are no active observers." - click G "G data fetching from the source, triggering an HTTP request or similar operation." - click H "H evaluates the success or failure of the fetch operation." - click I "I cache is updated with the fetched results for future requests." - click J "J error handling procedure for failed fetch operations." - click K "K observers are notified with fresh data from the fetch operation." - click L "L decision on whether a failed fetch should be retried based on predefined criteria." - click M "M observers are notified of the error when a fetch operation fails." - click N "N marks the query as canceled within the system." -``` - -In asynchronous programming, especially when dealing with data fetching operations (like API calls), tasks or queries are initiated to retrieve data. These tasks continue to run unless they complete, fail, or are explicitly cancelled. Without proper cancellation mechanisms, redundant tasks could consume unnecessary resources, leading to inefficiency and potential memory leaks in applications. - -> the problem with existing code was: -> -> 1. Cache was included in task, not individual for each query -> 2. Request was not canceled when client request had no observers. - -The updated query utility introduces an improved system for automatically cancelling tasks when there are no active observers or subscribers. This means if you start a task to fetch data and then, for some reason, all interested parties (components, services, etc.) unsubscribe or stop listening for the result, the utility will automatically cancel the task to save resources. - -1. **Observation Mechanism**: Each query task now keeps track of its subscribers (observers). When a task is initiated, it's "observed" by whoever needs its result (e.g., a component waiting for data to display). - -2. **Cancellation Triggers**: The task continuously checks if it still has any observers. If, at any point, the task finds that all its observers have unsubscribed or there were no observers to start with, it triggers a cancellation process. -3. **Executing Cancellation**: Upon triggering cancellation, the task sends a signal to halt the data fetching operation. This could mean aborting an HTTP request, stopping a database query, or any other data retrieval operation that's in progress. The exact mechanism depends on the type of operation but typically involves using features like `AbortController` with fetch API in web environments. -4. **Resource Management**: This automatic cancellation helps in managing resources more efficiently. It ensures that the application's bandwidth, memory, and processing power are not wasted on tasks that are no longer needed. This is particularly important in scenarios where data fetching operations are costly or when the application is running in resource-constrained environments. - -- **`chalk` Library**: We've included a new library called `chalk` that allows us to add colors and styles to the text we print out in the console. This makes our log messages much easier to read and helps distinguish between different types of messages, like errors or general information. -- **`@types/node` for Development**: To make our code smarter about what functions and features are available in Node.js, we've added type definitions specifically for Node.js. This is only used during development to help with things like code completion and checking for mistakes. - -- **Improved Error Handling with Custom Errors**: We've created a custom error class to handle different types of errors more effectively. This means we can provide more specific and helpful error messages, making it easier to understand what went wrong. -- **Advanced Logging with Colors**: We've set up a new logging system that uses the `chalk` library to color-code messages. This update makes the logs stand out more, so you can quickly spot what's important or needs attention. -- **Ability to Change Cached Data (Mutation) and Refresh Data (Invalidation)**: Sometimes, the data we saved (cached) for quick access might need to be updated or completely refreshed. We've added features to mutate (update) this cached data or invalidate it, which means marking it as outdated so fresh data can be fetched. -- **Fetch Cancellation Support**: There's now support for stopping (canceling) data fetch operations if we no longer need the results. This is particularly useful to avoid unnecessary work and save resources. -- **Detailed Status Tracking for Queries**: We introduced a way to track more details about each data fetch operation, such as whether it's actively fetching data, has completed, or has been canceled. This provides better insight into what's happening behind the scenes. -- **Concurrent and Sequential Query Handling**: The updates introduce strategies to handle multiple data fetch requests at once, either by running them at the same time (concurrently) or one after the other (sequentially). This flexibility allows the utility to be more efficient in different scenarios. -- **Comprehensive Testing**: We've added a bunch of tests to check that all these new features and updates are working correctly. Testing helps catch any issues early on and ensures that the utility behaves as expected. - -- **Logging Level Control**: There's a new setting (`FUSION_LOG_LEVEL`) that lets you control how much detail you want in the logs. This can make it easier to focus on the information that's important to you, especially when debugging. -- **Test Environment Improvements**: The setup for running tests has been upgraded to use a library called `vitest`, which offers a modern approach to testing JavaScript projects. This should make the tests run faster and more reliably. - -In essence, these changes make the query utility more powerful and user-friendly. Error messages are clearer, logging is more descriptive, and there's now the ability to update or refresh cached data on demand. Additionally, the introduction of fetch cancellation helps in managing resources better. The new testing setup and environmental control options further enhance the development experience, making it easier to maintain and improve the utility going forward. diff --git a/cookbooks/app-react-context-custom-error/CHANGELOG.md b/cookbooks/app-react-context-custom-error/CHANGELOG.md index 29d0e6065..2057eb5aa 100644 --- a/cookbooks/app-react-context-custom-error/CHANGELOG.md +++ b/cookbooks/app-react-context-custom-error/CHANGELOG.md @@ -1,5 +1,14 @@ # @equinor/fusion-framework-cookbook-app-react-context-custom-error +## 4.1.8 + +### Patch Changes + +- Updated dependencies [[`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c), [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5), [`975f65c`](https://github.com/equinor/fusion-framework/commit/975f65cdae9882279f18e1f9f8d243df03218650), [`cf4a17a`](https://github.com/equinor/fusion-framework/commit/cf4a17a07540b05b0d44de7e188aaaa8f9fef8f8)]: + - @equinor/fusion-framework-cli@9.12.3 + - @equinor/fusion-framework-react-app@5.0.9 + - @equinor/fusion-framework-react-module-context@6.2.3 + ## 4.1.7 ### Patch Changes diff --git a/cookbooks/app-react-context-custom-error/package.json b/cookbooks/app-react-context-custom-error/package.json index b2571a303..7d32f3c5d 100644 --- a/cookbooks/app-react-context-custom-error/package.json +++ b/cookbooks/app-react-context-custom-error/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cookbook-app-react-context-custom-error", - "version": "4.1.7", + "version": "4.1.8", "description": "React application using framework context with a custom error", "private": true, "type": "module", diff --git a/cookbooks/app-react-context/CHANGELOG.md b/cookbooks/app-react-context/CHANGELOG.md index 2fcf09f11..d1fc430bb 100644 --- a/cookbooks/app-react-context/CHANGELOG.md +++ b/cookbooks/app-react-context/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 4.1.8 + +### Patch Changes + +- Updated dependencies [[`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c), [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5), [`975f65c`](https://github.com/equinor/fusion-framework/commit/975f65cdae9882279f18e1f9f8d243df03218650), [`cf4a17a`](https://github.com/equinor/fusion-framework/commit/cf4a17a07540b05b0d44de7e188aaaa8f9fef8f8)]: + - @equinor/fusion-framework-cli@9.12.3 + - @equinor/fusion-framework-module-navigation@4.0.1 + - @equinor/fusion-framework-react-app@5.0.9 + - @equinor/fusion-framework-react-module-context@6.2.3 + ## 4.1.7 ### Patch Changes diff --git a/cookbooks/app-react-context/package.json b/cookbooks/app-react-context/package.json index 4c0b9b282..31b546144 100644 --- a/cookbooks/app-react-context/package.json +++ b/cookbooks/app-react-context/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cookbook-app-react-context", - "version": "4.1.7", + "version": "4.1.8", "description": "React application using framework context", "private": true, "type": "module", diff --git a/cookbooks/app-react-feature-flag/CHANGELOG.md b/cookbooks/app-react-feature-flag/CHANGELOG.md index c0a536d9f..ed8b66558 100644 --- a/cookbooks/app-react-feature-flag/CHANGELOG.md +++ b/cookbooks/app-react-feature-flag/CHANGELOG.md @@ -1,5 +1,17 @@ # @equinor/fusion-framework-cookbook-app-react-feature-flag +## 1.2.8 + +### Patch Changes + +- [#2098](https://github.com/equinor/fusion-framework/pull/2098) [`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 + +- Updated dependencies [[`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c), [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5), [`975f65c`](https://github.com/equinor/fusion-framework/commit/975f65cdae9882279f18e1f9f8d243df03218650), [`cf4a17a`](https://github.com/equinor/fusion-framework/commit/cf4a17a07540b05b0d44de7e188aaaa8f9fef8f8)]: + - @equinor/fusion-framework-cli@9.12.3 + - @equinor/fusion-framework-module-navigation@4.0.1 + - @equinor/fusion-framework-react-app@5.0.9 + - @equinor/fusion-framework-module-feature-flag@1.1.1 + ## 1.2.7 ### Patch Changes diff --git a/cookbooks/app-react-feature-flag/package.json b/cookbooks/app-react-feature-flag/package.json index 774a8d74a..1624211b2 100644 --- a/cookbooks/app-react-feature-flag/package.json +++ b/cookbooks/app-react-feature-flag/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cookbook-app-react-feature-flag", - "version": "1.2.7", + "version": "1.2.8", "description": "", "private": true, "type": "module", diff --git a/cookbooks/app-react-people/CHANGELOG.md b/cookbooks/app-react-people/CHANGELOG.md index 56b22dcf6..5d9bb8a9b 100644 --- a/cookbooks/app-react-people/CHANGELOG.md +++ b/cookbooks/app-react-people/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 4.3.2 + +### Patch Changes + +- [#2098](https://github.com/equinor/fusion-framework/pull/2098) [`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 + +- Updated dependencies [[`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5)]: + - @equinor/fusion-framework-module-navigation@4.0.1 + ## 4.3.1 ### Patch Changes diff --git a/cookbooks/app-react-people/package.json b/cookbooks/app-react-people/package.json index caef8a021..437becf48 100644 --- a/cookbooks/app-react-people/package.json +++ b/cookbooks/app-react-people/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cookbook-app-react-people", - "version": "4.3.1", + "version": "4.3.2", "description": "", "private": true, "type": "module", diff --git a/cookbooks/app-react/CHANGELOG.md b/cookbooks/app-react/CHANGELOG.md index c20db05de..65a93047c 100644 --- a/cookbooks/app-react/CHANGELOG.md +++ b/cookbooks/app-react/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## 4.1.2 + +### Patch Changes + +- [#2098](https://github.com/equinor/fusion-framework/pull/2098) [`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 + ## 4.1.1 ### Patch Changes diff --git a/cookbooks/app-react/package.json b/cookbooks/app-react/package.json index b109dab21..a62aa364b 100644 --- a/cookbooks/app-react/package.json +++ b/cookbooks/app-react/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cookbook-app-react", - "version": "4.1.1", + "version": "4.1.2", "description": "", "private": true, "type": "module", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 9a6ef2fd2..c964666d7 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 9.0.6 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-app@5.3.2 + - @equinor/fusion-framework-module-feature-flag@1.1.1 + - @equinor/fusion-framework@7.1.5 + ## 9.0.5 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index d7ea8454b..a3d3d9647 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-app", - "version": "9.0.5", + "version": "9.0.6", "description": "", "main": "dist/esm/index.js", "types": "./dist/types/index.d.ts", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 4f7253115..ca021cab5 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,20 @@ # Change Log +## 9.12.3 + +### Patch Changes + +- [#2098](https://github.com/equinor/fusion-framework/pull/2098) [`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 + +- [#2103](https://github.com/equinor/fusion-framework/pull/2103) [`975f65c`](https://github.com/equinor/fusion-framework/commit/975f65cdae9882279f18e1f9f8d243df03218650) Thanks [@odinr](https://github.com/odinr)! - bumped vite to 5.2.10 + +- [`cf4a17a`](https://github.com/equinor/fusion-framework/commit/cf4a17a07540b05b0d44de7e188aaaa8f9fef8f8) Thanks [@odinr](https://github.com/odinr)! - updated Query, ref #2095 + +- Updated dependencies []: + - @equinor/fusion-framework-react-components-people-provider@1.3.5 + - @equinor/fusion-framework-module-feature-flag@1.1.1 + - @equinor/fusion-framework-app@9.0.6 + ## 9.12.2 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 9363376ec..a64b28d18 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-cli", - "version": "9.12.2", + "version": "9.12.3", "keywords": [ "Fusion", "Fusion Framework", diff --git a/packages/framework/CHANGELOG.md b/packages/framework/CHANGELOG.md index fc2616039..d054ad085 100644 --- a/packages/framework/CHANGELOG.md +++ b/packages/framework/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 7.1.5 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-context@5.0.2 + - @equinor/fusion-framework-module-service-discovery@7.1.4 + - @equinor/fusion-framework-module-services@4.0.1 + ## 7.1.4 ### Patch Changes diff --git a/packages/framework/package.json b/packages/framework/package.json index b79cd43f0..840e933b0 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework", - "version": "7.1.4", + "version": "7.1.5", "description": "", "main": "dist/esm/index.js", "types": "dist/types/index.d.ts", diff --git a/packages/modules/app/CHANGELOG.md b/packages/modules/app/CHANGELOG.md index 0895fe9bb..797761470 100644 --- a/packages/modules/app/CHANGELOG.md +++ b/packages/modules/app/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 5.3.2 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + ## 5.3.1 ### Patch Changes diff --git a/packages/modules/app/package.json b/packages/modules/app/package.json index bfa98a7d8..8f8984767 100644 --- a/packages/modules/app/package.json +++ b/packages/modules/app/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-app", - "version": "5.3.1", + "version": "5.3.2", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/modules/bookmark/CHANGELOG.md b/packages/modules/bookmark/CHANGELOG.md index 3c73e1552..ce21bd842 100644 --- a/packages/modules/bookmark/CHANGELOG.md +++ b/packages/modules/bookmark/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 1.2.2 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + ## 1.2.1 ### Patch Changes diff --git a/packages/modules/bookmark/package.json b/packages/modules/bookmark/package.json index 4faa60fb3..1cd989ab2 100644 --- a/packages/modules/bookmark/package.json +++ b/packages/modules/bookmark/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-bookmark", - "version": "1.2.1", + "version": "1.2.2", "description": "", "main": "./dist/esm/index.js", "exports": { diff --git a/packages/modules/context/CHANGELOG.md b/packages/modules/context/CHANGELOG.md index fb209e495..96e8d7736 100644 --- a/packages/modules/context/CHANGELOG.md +++ b/packages/modules/context/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 5.0.2 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/modules/context/package.json b/packages/modules/context/package.json index a6f58e082..fe8df17d0 100644 --- a/packages/modules/context/package.json +++ b/packages/modules/context/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-context", - "version": "5.0.1", + "version": "5.0.2", "description": "", "main": "./dist/esm/index.js", "exports": { diff --git a/packages/modules/navigation/CHANGELOG.md b/packages/modules/navigation/CHANGELOG.md index f6d6042f9..25fcb0e1a 100644 --- a/packages/modules/navigation/CHANGELOG.md +++ b/packages/modules/navigation/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## 4.0.1 + +### Patch Changes + +- [#2096](https://github.com/equinor/fusion-framework/pull/2096) [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5) Thanks [@odinr](https://github.com/odinr)! - update documentation + ## 4.0.0 ### Minor Changes diff --git a/packages/modules/navigation/package.json b/packages/modules/navigation/package.json index 44b0c634c..1999d1ced 100644 --- a/packages/modules/navigation/package.json +++ b/packages/modules/navigation/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-navigation", - "version": "4.0.0", + "version": "4.0.1", "description": "", "sideEffects": false, "main": "dist/esm/index.js", diff --git a/packages/modules/service-discovery/CHANGELOG.md b/packages/modules/service-discovery/CHANGELOG.md index dd2409d63..8900b365d 100644 --- a/packages/modules/service-discovery/CHANGELOG.md +++ b/packages/modules/service-discovery/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 7.1.4 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + ## 7.1.3 ### Patch Changes diff --git a/packages/modules/service-discovery/package.json b/packages/modules/service-discovery/package.json index c457848df..8c706a163 100644 --- a/packages/modules/service-discovery/package.json +++ b/packages/modules/service-discovery/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-service-discovery", - "version": "7.1.3", + "version": "7.1.4", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/modules/signalr/CHANGELOG.md b/packages/modules/signalr/CHANGELOG.md index 7f26483ed..c9a8ab60e 100644 --- a/packages/modules/signalr/CHANGELOG.md +++ b/packages/modules/signalr/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 3.0.4 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-service-discovery@7.1.4 + ## 3.0.3 ### Patch Changes diff --git a/packages/modules/signalr/package.json b/packages/modules/signalr/package.json index 7668a251d..46016e028 100644 --- a/packages/modules/signalr/package.json +++ b/packages/modules/signalr/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-signalr", - "version": "3.0.3", + "version": "3.0.4", "description": "", "sideEffects": false, "main": "dist/esm/index.js", diff --git a/packages/modules/widget/CHANGELOG.md b/packages/modules/widget/CHANGELOG.md index 4c55983d0..1c2ea4bf4 100644 --- a/packages/modules/widget/CHANGELOG.md +++ b/packages/modules/widget/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 4.0.5 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + - @equinor/fusion-framework-module-service-discovery@7.1.4 + ## 4.0.4 ### Patch Changes diff --git a/packages/modules/widget/package.json b/packages/modules/widget/package.json index 1beb91c72..37693a898 100644 --- a/packages/modules/widget/package.json +++ b/packages/modules/widget/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-module-widget", - "version": "4.0.4", + "version": "4.0.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/app/CHANGELOG.md b/packages/react/app/CHANGELOG.md index ca3bd6d61..1c03f3cfe 100644 --- a/packages/react/app/CHANGELOG.md +++ b/packages/react/app/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 5.0.9 + +### Patch Changes + +- [#2096](https://github.com/equinor/fusion-framework/pull/2096) [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5) Thanks [@odinr](https://github.com/odinr)! - update documentation + +- Updated dependencies [[`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5)]: + - @equinor/fusion-framework-module-navigation@4.0.1 + - @equinor/fusion-framework-module-app@5.3.2 + - @equinor/fusion-framework-app@9.0.6 + - @equinor/fusion-framework-react@7.0.5 + ## 5.0.8 ### Patch Changes diff --git a/packages/react/app/package.json b/packages/react/app/package.json index e2c6b0bbe..216b19d8c 100644 --- a/packages/react/app/package.json +++ b/packages/react/app/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-app", - "version": "5.0.8", + "version": "5.0.9", "description": "", "main": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", diff --git a/packages/react/components/bookmark/CHANGELOG.md b/packages/react/components/bookmark/CHANGELOG.md index b8c623a5a..e83c24db9 100644 --- a/packages/react/components/bookmark/CHANGELOG.md +++ b/packages/react/components/bookmark/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 0.4.5 + +### Patch Changes + +- [#2098](https://github.com/equinor/fusion-framework/pull/2098) [`5093391`](https://github.com/equinor/fusion-framework/commit/5093391eabda84873041ee89632f26770734b03c) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump @equinor/eds-core-react from 0.36.1 to 0.37.0 + +- Updated dependencies []: + - @equinor/fusion-framework-react-module-bookmark@2.1.5 + - @equinor/fusion-framework-react@7.0.5 + ## 0.4.4 ### Patch Changes diff --git a/packages/react/components/bookmark/package.json b/packages/react/components/bookmark/package.json index cac1e8292..c351bd83a 100644 --- a/packages/react/components/bookmark/package.json +++ b/packages/react/components/bookmark/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-components-bookmark", - "version": "0.4.4", + "version": "0.4.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/components/people-resolver/CHANGELOG.md b/packages/react/components/people-resolver/CHANGELOG.md index 70ebf46c2..69c6d8432 100644 --- a/packages/react/components/people-resolver/CHANGELOG.md +++ b/packages/react/components/people-resolver/CHANGELOG.md @@ -1,5 +1,15 @@ # @equinor/fusion-framework-react-components-people-provider +## 1.3.5 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + - @equinor/fusion-framework-react-module-bookmark@2.1.5 + - @equinor/fusion-framework-react@7.0.5 + - @equinor/fusion-framework-module-services@4.0.1 + ## 1.3.4 ### Patch Changes diff --git a/packages/react/components/people-resolver/package.json b/packages/react/components/people-resolver/package.json index 4a09d0006..b75f42614 100644 --- a/packages/react/components/people-resolver/package.json +++ b/packages/react/components/people-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-components-people-provider", - "version": "1.3.4", + "version": "1.3.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/framework/CHANGELOG.md b/packages/react/framework/CHANGELOG.md index acca9159e..355c518e0 100644 --- a/packages/react/framework/CHANGELOG.md +++ b/packages/react/framework/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 7.0.5 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-feature-flag@1.1.1 + - @equinor/fusion-framework@7.1.5 + - @equinor/fusion-framework-react-module-signalr@3.0.5 + ## 7.0.4 ### Patch Changes diff --git a/packages/react/framework/package.json b/packages/react/framework/package.json index 2f31b91ca..97b7950e2 100644 --- a/packages/react/framework/package.json +++ b/packages/react/framework/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react", - "version": "7.0.4", + "version": "7.0.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/legacy-interopt/CHANGELOG.md b/packages/react/legacy-interopt/CHANGELOG.md index 218b9edbd..ee087ff1d 100644 --- a/packages/react/legacy-interopt/CHANGELOG.md +++ b/packages/react/legacy-interopt/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 12.0.7 + +### Patch Changes + +- Updated dependencies [[`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5)]: + - @equinor/fusion-framework-module-navigation@4.0.1 + - @equinor/fusion-framework-react-app@5.0.9 + - @equinor/fusion-framework-module-app@5.3.2 + - @equinor/fusion-framework-module-service-discovery@7.1.4 + - @equinor/fusion-framework-app@9.0.6 + - @equinor/fusion-framework@7.1.5 + ## 12.0.6 ### Patch Changes diff --git a/packages/react/legacy-interopt/package.json b/packages/react/legacy-interopt/package.json index 413d3f80c..864058976 100644 --- a/packages/react/legacy-interopt/package.json +++ b/packages/react/legacy-interopt/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-legacy-interopt", - "version": "12.0.6", + "version": "12.0.7", "description": "Library for interopt legacy fusion applications", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/modules/bookmark/CHANGELOG.md b/packages/react/modules/bookmark/CHANGELOG.md index daf2a1b32..ef91a52a7 100644 --- a/packages/react/modules/bookmark/CHANGELOG.md +++ b/packages/react/modules/bookmark/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 2.1.5 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + - @equinor/fusion-framework-module-bookmark@1.2.2 + - @equinor/fusion-framework-module-context@5.0.2 + - @equinor/fusion-framework-react@7.0.5 + ## 2.1.4 ### Patch Changes diff --git a/packages/react/modules/bookmark/package.json b/packages/react/modules/bookmark/package.json index 8df2b5b3e..daa5814b0 100644 --- a/packages/react/modules/bookmark/package.json +++ b/packages/react/modules/bookmark/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-module-bookmark", - "version": "2.1.4", + "version": "2.1.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/modules/context/CHANGELOG.md b/packages/react/modules/context/CHANGELOG.md index 1e3db266e..4899e6a93 100644 --- a/packages/react/modules/context/CHANGELOG.md +++ b/packages/react/modules/context/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 6.2.3 + +### Patch Changes + +- Updated dependencies [[`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2), [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2)]: + - @equinor/fusion-query@5.0.0 + - @equinor/fusion-framework-module-context@5.0.2 + ## 6.2.2 ### Patch Changes diff --git a/packages/react/modules/context/package.json b/packages/react/modules/context/package.json index c5f0b6934..b67734108 100644 --- a/packages/react/modules/context/package.json +++ b/packages/react/modules/context/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-module-context", - "version": "6.2.2", + "version": "6.2.3", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/packages/react/modules/signalr/CHANGELOG.md b/packages/react/modules/signalr/CHANGELOG.md index 52b5dac9c..be98df68b 100644 --- a/packages/react/modules/signalr/CHANGELOG.md +++ b/packages/react/modules/signalr/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 3.0.5 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-signalr@3.0.4 + ## 3.0.4 ### Patch Changes diff --git a/packages/react/modules/signalr/package.json b/packages/react/modules/signalr/package.json index 26491c57a..3f48c5f51 100644 --- a/packages/react/modules/signalr/package.json +++ b/packages/react/modules/signalr/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-module-signalr", - "version": "3.0.4", + "version": "3.0.5", "description": "", "sideEffects": false, "main": "dist/esm/index.js", diff --git a/packages/react/widget/CHANGELOG.md b/packages/react/widget/CHANGELOG.md index 5f367ab2b..7ddf25a3e 100644 --- a/packages/react/widget/CHANGELOG.md +++ b/packages/react/widget/CHANGELOG.md @@ -1,5 +1,15 @@ # @equinor/fusion-framework-react-widget +## 1.1.5 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-widget@4.0.5 + - @equinor/fusion-framework-react@7.0.5 + - @equinor/fusion-framework@7.1.5 + - @equinor/fusion-framework-widget@1.1.5 + ## 1.1.4 ### Patch Changes diff --git a/packages/react/widget/package.json b/packages/react/widget/package.json index 46c9aea3d..c4d56e372 100644 --- a/packages/react/widget/package.json +++ b/packages/react/widget/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-react-widget", - "version": "1.1.4", + "version": "1.1.5", "description": "", "main": "dist/esm/index.js", "types": "dist/types/index.d.ts", diff --git a/packages/utils/query/CHANGELOG.md b/packages/utils/query/CHANGELOG.md index 5cfa3c71c..48b7b958e 100644 --- a/packages/utils/query/CHANGELOG.md +++ b/packages/utils/query/CHANGELOG.md @@ -1,5 +1,223 @@ # Change Log +## 5.0.0 + +### Major Changes + +- [#2095](https://github.com/equinor/fusion-framework/pull/2095) [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2) Thanks [@odinr](https://github.com/odinr)! - This changeset introduces several significant updates and new features to enhance the query utility package, aiming to improve its functionality, ease of use, and flexibility. Here's a thorough breakdown of the changes in layman's terms: + In this update, significant enhancements were made to how query tasks handle cancellation, especially focusing on scenarios where there are no subscribers or observers left for a particular task. + + ```mermaid + flowchart TD + A[Start Query] --> B{Is Cached?} + B -->|Yes| C[Return Cached Result] + B -->|No| D{Any Active Observers?} + C --> E[Subscribers Receive Cached Data] + D -->|No| F[Cancel Query] + D -->|Yes| G[Fetch Data] + G --> H{Fetch Successful?} + H -->|Yes| I[Notify Observers with New Data] + H -->|No| J[Handle Fetch Error] + I --> K[Update Cache] + J --> L[Retry?] + L -->|Yes| G + L -->|No| M[Notify Observers with Error] + F --> N[Query Canceled] + + click A "A detailed step initiating the query process. It checks cache and observer status." + click B "B conditional check for cache availability." + click C "C provides cached results if available to avoid unnecessary fetching." + click D "D checks for any active subscribers before proceeding to fetch data." + click E "E observable subscribers are notified with the cached data." + click F "F query operation is canceled if there are no active observers." + click G "G data fetching from the source, triggering an HTTP request or similar operation." + click H "H evaluates the success or failure of the fetch operation." + click I "I cache is updated with the fetched results for future requests." + click J "J error handling procedure for failed fetch operations." + click K "K observers are notified with fresh data from the fetch operation." + click L "L decision on whether a failed fetch should be retried based on predefined criteria." + click M "M observers are notified of the error when a fetch operation fails." + click N "N marks the query as canceled within the system." + ``` + + In asynchronous programming, especially when dealing with data fetching operations (like API calls), tasks or queries are initiated to retrieve data. These tasks continue to run unless they complete, fail, or are explicitly cancelled. Without proper cancellation mechanisms, redundant tasks could consume unnecessary resources, leading to inefficiency and potential memory leaks in applications. + + > the problem with existing code was: + > + > 1. Cache was included in task, not individual for each query + > 2. Request was not canceled when client request had no observers. + + The updated query utility introduces an improved system for automatically cancelling tasks when there are no active observers or subscribers. This means if you start a task to fetch data and then, for some reason, all interested parties (components, services, etc.) unsubscribe or stop listening for the result, the utility will automatically cancel the task to save resources. + + 1. **Observation Mechanism**: Each query task now keeps track of its subscribers (observers). When a task is initiated, it's "observed" by whoever needs its result (e.g., a component waiting for data to display). + 2. **Cancellation Triggers**: The task continuously checks if it still has any observers. If, at any point, the task finds that all its observers have unsubscribed or there were no observers to start with, it triggers a cancellation process. + 3. **Executing Cancellation**: Upon triggering cancellation, the task sends a signal to halt the data fetching operation. This could mean aborting an HTTP request, stopping a database query, or any other data retrieval operation that's in progress. The exact mechanism depends on the type of operation but typically involves using features like `AbortController` with fetch API in web environments. + 4. **Resource Management**: This automatic cancellation helps in managing resources more efficiently. It ensures that the application's bandwidth, memory, and processing power are not wasted on tasks that are no longer needed. This is particularly important in scenarios where data fetching operations are costly or when the application is running in resource-constrained environments. + + - **`chalk` Library**: We've included a new library called `chalk` that allows us to add colors and styles to the text we print out in the console. This makes our log messages much easier to read and helps distinguish between different types of messages, like errors or general information. + - **`@types/node` for Development**: To make our code smarter about what functions and features are available in Node.js, we've added type definitions specifically for Node.js. This is only used during development to help with things like code completion and checking for mistakes. + - **Improved Error Handling with Custom Errors**: We've created a custom error class to handle different types of errors more effectively. This means we can provide more specific and helpful error messages, making it easier to understand what went wrong. + - **Advanced Logging with Colors**: We've set up a new logging system that uses the `chalk` library to color-code messages. This update makes the logs stand out more, so you can quickly spot what's important or needs attention. + - **Ability to Change Cached Data (Mutation) and Refresh Data (Invalidation)**: Sometimes, the data we saved (cached) for quick access might need to be updated or completely refreshed. We've added features to mutate (update) this cached data or invalidate it, which means marking it as outdated so fresh data can be fetched. + - **Fetch Cancellation Support**: There's now support for stopping (canceling) data fetch operations if we no longer need the results. This is particularly useful to avoid unnecessary work and save resources. + - **Detailed Status Tracking for Queries**: We introduced a way to track more details about each data fetch operation, such as whether it's actively fetching data, has completed, or has been canceled. This provides better insight into what's happening behind the scenes. + - **Concurrent and Sequential Query Handling**: The updates introduce strategies to handle multiple data fetch requests at once, either by running them at the same time (concurrently) or one after the other (sequentially). This flexibility allows the utility to be more efficient in different scenarios. + - **Comprehensive Testing**: We've added a bunch of tests to check that all these new features and updates are working correctly. Testing helps catch any issues early on and ensures that the utility behaves as expected. + - **Logging Level Control**: There's a new setting (`FUSION_LOG_LEVEL`) that lets you control how much detail you want in the logs. This can make it easier to focus on the information that's important to you, especially when debugging. + - **Test Environment Improvements**: The setup for running tests has been upgraded to use a library called `vitest`, which offers a modern approach to testing JavaScript projects. This should make the tests run faster and more reliably. + + In essence, these changes make the query utility more powerful and user-friendly. Error messages are clearer, logging is more descriptive, and there's now the ability to update or refresh cached data on demand. Additionally, the introduction of fetch cancellation helps in managing resources better. The new testing setup and environmental control options further enhance the development experience, making it easier to maintain and improve the utility going forward. + +### Minor Changes + +- [#2095](https://github.com/equinor/fusion-framework/pull/2095) [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2) Thanks [@odinr](https://github.com/odinr)! - added functionality for invalidate cache records + + ## example + + ### Step 1: Define the Fetch Function + + Assuming a function `fetchUserProfile(userId: string)` that fetches user profile data, ensure it's implemented. This function is crucial as it serves as the data source that the `Query` class will use. + + ### Step 2: Instantiate `Query` for User Profiles + + You need to create an instance of your `Query` class specifically for fetching and caching user profiles. The instantiation should include specifying how to generate cache keys and, potentially, how cache validation should work. + + ```typescript + type UserProfileArgs = { + userId: string; + }; + + const userProfileQuery = new Query({ + client: { + fn: fetchUserProfile, + }, + key: (args) => `userProfile_${args.userId}`, + }); + ``` + + ### Step 3: Execute the Query to Populate the Cache + + Use the `query` or `queryAsync` method to fetch the user profile for the user with id `1` and automatically populate the cache. Let's assume we prefer the asynchronous version for immediate use: + + ```typescript + async function initializeUserProfileCache() { + try { + const userProfileData = await userProfileQuery.queryAsync({ + userId: "1", + }); + console.log("UserProfile Data:", userProfileData); + } catch (error) { + console.error("Failed to fetch user profile data:", error); + } + } + ``` + + The `initializeUserProfileCache` function is an asynchronous function that attempts to fetch the user profile using the `queryAsync` method and logs the data to the console. This function populates the cache with the fetched user profile data, ready for subsequent accesses via the cache without needing to refetch the data. + + ### Listening to Cache Invalidation Events + + To react to cache invalidation events (not part of the initial population but useful for cache management), use the `onInvalidate` method: + + ```typescript + userProfileQuery.onInvalidate((event) => { + if (event.detail.item) { + console.log( + `Cache entry invalidated for user: ${event.detail.item.value.id}`, + ); + } else { + console.log("Cache invalidated for all users"); + } + }); + ``` + + ### Invalidating the Cache + + When you want to invalidate the cache, either for specific user profiles or entirely, utilize the `invalidate` method: + + ```typescript + // Invalidate cache for a specific user profile + userProfileQuery.invalidate({ userId: "1" }); + + // Invalidate the entire cache + userProfileQuery.invalidate(); + ``` + + In summary, these steps outline how to use your `Query` class to fetch, cache, and manage user profile data effectively. Starting with fetching and caching data for a user with id `1`, handling cache invalidation events, to invalidating cache entries as needed. + +- [#2095](https://github.com/equinor/fusion-framework/pull/2095) [`b9c1643`](https://github.com/equinor/fusion-framework/commit/b9c164337d984e760d4701d1c534b14cb52aa7e2) Thanks [@odinr](https://github.com/odinr)! - Added functionality for mutating a cached value + + ## example + + ### Setting up the User Profile Scenario + + First, assume we have a user profile query setup similar to the previous explanation: + + ```typescript + // Define the structure of a user profile and the arguments to identify a specific profile + type UserProfile = { + id: string; + name: string; + email: string; + bio?: string; + }; + + type UserProfileArgs = { + userId: string; + }; + + // Example Query: Initialized elsewhere, assume it's the instance of the enhanced Query class + declare const userProfileQuery: Query; + ``` + + ### Using `onMutate` to Listen for Mutations + + Now, let’s listen to the `onMutate` event on our `userProfileQuery`. We want to log the change or potentially trigger a UI update whenever a user's profile cache entry is mutated. + + ```typescript + // Subscribing to mutation events for the user profile query + const unsubscribeOnMutate = userProfileQuery.onMutate(({ detail }) => { + const { changes, current } = detail; + + // Assuming changes are direct object updates and current is the state prior to applying changes in this example + console.log("Mutation occurred on user profile:", changes); + + if (current) { + console.log("Previous state of the profile:", current); + } + + // Here you could trigger a UI update or any other side effects needed after a mutation + // For instance: + // updateUI(current?.value, changes); // Hypothetical function to update UI + }); + + // Remember to call `unsubscribeOnMutate` to clean up when the component or application no longer needs to listen for these events + // unsubscribeOnMutate(); + ``` + + ### Mutating the Cache Entry + + To trigger this `onMutate` event, somewhere in your application, you might mutate the cache entry for a user profile after an action, such as the user updating their profile: + + ```typescript + // Args identifying the specific user profile cache entry to mutate + const JoshProfileArgs = { userId: "1" }; + + // Assuming a simple update to the users bio + const updateBioChangeFn = (currentUserProfile: UserProfile) => ({ + ...currentUserProfile, + bio: "Updated bio information.", + }); + + // Perform cache entry mutation + userProfileQuery.mutate(JoshProfileArgs, updateBioChangeFn); + ``` + + This mutation operation would then trigger the `onMutate` listener we set up earlier, logging the changes and potentially updating the UI or triggering other side effects. + + ### Conclusion + + The `onMutate` functionality in the `Query` class provides a powerful way to react to cache mutations, making it useful for keeping the UI in sync with the latest data changes or for logging and debugging purposes. Always ensure to unsubscribe from events when they are no longer needed to prevent memory leaks and unintended side effects. + ## 4.2.0 ### Minor Changes diff --git a/packages/utils/query/package.json b/packages/utils/query/package.json index 134107568..8a1a2ac93 100644 --- a/packages/utils/query/package.json +++ b/packages/utils/query/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-query", - "version": "4.2.0", + "version": "5.0.0", "description": "WIP", "keywords": [ "observable", diff --git a/packages/widget/CHANGELOG.md b/packages/widget/CHANGELOG.md index 772c320c4..dbf604cf9 100644 --- a/packages/widget/CHANGELOG.md +++ b/packages/widget/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 1.1.5 + +### Patch Changes + +- Updated dependencies []: + - @equinor/fusion-framework-module-widget@4.0.5 + - @equinor/fusion-framework@7.1.5 + ## 1.1.4 ### Patch Changes diff --git a/packages/widget/package.json b/packages/widget/package.json index 05110a98c..6b747dc16 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-widget", - "version": "1.1.4", + "version": "1.1.5", "description": "", "main": "dist/esm/index.js", "exports": { diff --git a/vue-press/CHANGELOG.md b/vue-press/CHANGELOG.md index 1ff680d4a..834d34d58 100644 --- a/vue-press/CHANGELOG.md +++ b/vue-press/CHANGELOG.md @@ -1,5 +1,11 @@ # @equinor/fusion-framework-docs +## 0.1.1 + +### Patch Changes + +- [#2104](https://github.com/equinor/fusion-framework/pull/2104) [`35dd1fb`](https://github.com/equinor/fusion-framework/commit/35dd1fba61fb3ee0f3bfd0ecb81c53cff5f31142) Thanks [@odinr](https://github.com/odinr)! - bumped vue to 3.4.25 + ## 0.1.0 ### Minor Changes diff --git a/vue-press/package.json b/vue-press/package.json index 0f0b2d879..9dfad3d3f 100644 --- a/vue-press/package.json +++ b/vue-press/package.json @@ -1,6 +1,6 @@ { "name": "@equinor/fusion-framework-docs", - "version": "0.1.0", + "version": "0.1.1", "description": "", "private": true, "repository": {