diff --git a/.changeset/README.md b/.changeset/README.md deleted file mode 100644 index e5b6d8d6a67..00000000000 --- a/.changeset/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changesets - -Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works -with multi-package repos, or single-package repos to help you version and publish your code. You can -find the full documentation for it [in our repository](https://github.com/changesets/changesets) - -We have a quick list of common questions to get you started engaging with this project in -[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/dull-wombats-write.md b/.changeset/dull-wombats-write.md deleted file mode 100644 index b7a1cfecbf5..00000000000 --- a/.changeset/dull-wombats-write.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -'@talend/react-faceted-search-query-client': minor -'@talend/babel-plugin-import-from-index': minor -'@talend/local-libs-webpack-plugin': minor -'@talend/babel-plugin-import-from-lib': minor -'@talend/scripts-config-react-webpack': minor -'@talend/scripts-config-storybook-lib': minor -'@talend/dynamic-cdn-webpack-plugin': minor -'@talend/scripts-config-typescript': minor -'@talend/scripts-config-stylelint': minor -'@talend/babel-plugin-assets-api': minor -'@talend/cypress-api-mock-plugin': minor -'@talend/scripts-config-prettier': minor -'@talend/babel-plugin-import-d3': minor -'@talend/scripts-yarn-workspace': minor -'@talend/eslint-config': minor -'@talend/scripts-publish-local': minor -'@talend/json-schema-form-core': minor -'@talend/scripts-config-babel': minor -'@talend/scripts-config-jest': minor -'@talend/ui-playground-vite': minor -'@talend/react-cmf-webpack-plugin': minor -'@talend/scripts-config-cdn': minor -'@talend/react-faceted-search': minor -'@talend/storybook-docs': minor -'@talend/design-system': minor -'@talend/design-tokens': minor -'@talend/react-flow-designer': minor -'@talend/router-bridge': minor -'@talend/react-storybook-cmf': minor -'@talend/ui-storybook-one': minor -'@talend/scripts-locales': minor -'@talend/react-bootstrap': minor -'@talend/design-docs': minor -'@talend/bootstrap-sass': minor -'@talend/assets-api': minor -'@talend/react-cmf-router': minor -'@talend/react-components': minor -'@talend/react-containers': minor -'@talend/ui-playground': minor -'@talend/eslint-plugin': minor -'@talend/scripts-utils': minor -'@talend/module-to-cdn': minor -'@talend/scripts-core': minor -'@talend/upgrade-deps': minor -'@talend/react-cmf-cqrs': minor -'@talend/scripts-cmf': minor -'@talend/react-dataviz': minor -'@talend/react-stepper': minor -'@talend/react-forms': minor -'@talend/icons': minor -'@talend/react-sagas': minor -'@talend/bootstrap-theme': minor -'@talend/utils': minor -'@talend/react-a11y': minor -'@talend/http': minor -'@talend/react-cmf': minor ---- - -Fix CVE's by upgrading sq to v6.14.1, tar to 7.5.4 and eslint to 9.39.2 diff --git a/.changeset/frank-moose-fly.md b/.changeset/frank-moose-fly.md deleted file mode 100644 index a7ab0d75f69..00000000000 --- a/.changeset/frank-moose-fly.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@talend/react-faceted-search': major -'@talend/react-storybook-cmf': major -'@talend/react-cmf-router': major -'@talend/react-components': major -'@talend/react-containers': major -'@talend/react-forms': major -'@talend/react-a11y': major -'@talend/react-cmf': major ---- - -No breaking in terms of API but may be some side effect in your config (like storybook) diff --git a/.changeset/giant-colts-tie.md b/.changeset/giant-colts-tie.md deleted file mode 100644 index 553ae6610c3..00000000000 --- a/.changeset/giant-colts-tie.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@talend/scripts-config-prettier": patch ---- - -fix: remove prettier import order diff --git a/.changeset/moody-apples-notice.md b/.changeset/moody-apples-notice.md deleted file mode 100644 index 38e8ac42cb5..00000000000 --- a/.changeset/moody-apples-notice.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@talend/react-components": patch -"@talend/react-containers": patch -"@talend/design-docs": patch -"@talend/design-system": patch -"@talend/react-faceted-search": patch -"@talend/react-forms": patch -"@talend/storybook-docs": patch -"@talend/ui-storybook-one": patch -"@talend/scripts-config-storybook-lib": patch ---- - -chore: update storybook diff --git a/.changeset/nice-ladybugs-carry.md b/.changeset/nice-ladybugs-carry.md deleted file mode 100644 index b77d11e75de..00000000000 --- a/.changeset/nice-ladybugs-carry.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@talend/scripts-config-react-webpack": major ---- - -feat(script): remove cdn option. - -You must review your build process with that new plugin as many things will not work. -Especially the @talend/assets-api call you may end up with weird behavior. - -The good part is once you have fixed it moving out from @talend/scripts* to an other build tool like vite becomes easy. diff --git a/.changeset/ninety-frogs-fold.md b/.changeset/ninety-frogs-fold.md deleted file mode 100644 index 82886e21773..00000000000 --- a/.changeset/ninety-frogs-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@talend/scripts-config-jest': patch ---- - -fix: support jsx files diff --git a/.changeset/sixty-llamas-cheer.md b/.changeset/sixty-llamas-cheer.md deleted file mode 100644 index 0e9150caf6f..00000000000 --- a/.changeset/sixty-llamas-cheer.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -'@talend/react-faceted-search-query-client': major -'@talend/scripts-config-react-webpack': major -'@talend/json-schema-form-core': major -'@talend/react-faceted-search': major -'@talend/storybook-docs': major -'@talend/design-system': major -'@talend/design-tokens': major -'@talend/react-flow-designer': major -'@talend/router-bridge': major -'@talend/react-bootstrap': major -'@talend/assets-api': major -'@talend/react-cmf-router': major -'@talend/react-components': major -'@talend/react-containers': major -'@talend/ui-playground': major -'@talend/react-cmf-cqrs': major -'@talend/react-dataviz': major -'@talend/react-stepper': major -'@talend/react-forms': major -'@talend/react-sagas': major -'@talend/bootstrap-theme': major -'@talend/http': major -'@talend/react-cmf': major ---- - -chore: move from sass to css diff --git a/.changeset/thirty-months-dress.md b/.changeset/thirty-months-dress.md deleted file mode 100644 index f9a29983c47..00000000000 --- a/.changeset/thirty-months-dress.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"@talend/react-containers": patch -"@talend/design-docs": patch -"@talend/design-system": patch -"@talend/react-forms": patch -"@talend/ui-playground-vite": patch -"@talend/storybook-docs": patch -"@talend/ui-storybook-one": patch -"@talend/bootstrap-theme": patch -"@talend/scripts-config-react-webpack": patch -"@talend/scripts-config-storybook-lib": patch -"@talend/scripts-locales": patch ---- - -chore: upgrade dependencies diff --git a/.changeset/tired-donkeys-add.md b/.changeset/tired-donkeys-add.md deleted file mode 100644 index cbd7f77d1cd..00000000000 --- a/.changeset/tired-donkeys-add.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -'@talend/react-faceted-search-query-client': major -'@talend/scripts-config-react-webpack': major -'@talend/scripts-config-storybook-lib': major -'@talend/json-schema-form-core': major -'@talend/react-faceted-search': major -'@talend/storybook-docs': major -'@talend/design-system': major -'@talend/design-tokens': major -'@talend/react-flow-designer': major -'@talend/router-bridge': major -'@talend/ui-storybook-one': major -'@talend/react-bootstrap': major -'@talend/design-docs': major -'@talend/assets-api': major -'@talend/react-cmf-router': major -'@talend/react-components': major -'@talend/react-containers': major -'@talend/ui-playground': major -'@talend/react-cmf-cqrs': major -'@talend/react-dataviz': major -'@talend/react-stepper': major -'@talend/react-forms': major -'@talend/react-sagas': major -'@talend/bootstrap-theme': major -'@talend/http': major -'@talend/react-cmf': major ---- - -chore: drop UMD format diff --git a/tools/scripts-config-storybook-lib/.storybook-templates/main.js b/tools/scripts-config-storybook-lib/.storybook-templates/main.js index e12e7d4e96f..51c5546c0aa 100644 --- a/tools/scripts-config-storybook-lib/.storybook-templates/main.js +++ b/tools/scripts-config-storybook-lib/.storybook-templates/main.js @@ -43,7 +43,7 @@ const defaultMain = { buildStoriesJson: true, }, stories: getStoriesFolders(), - staticDirs: [path.join(__dirname, 'msw'), require.resolve('@talend/icons').replace('index.js', '').replace('/dist/TalendIcons.js', '/dist/svg-bundle')], + staticDirs: [path.join(__dirname, 'msw'), require.resolve('@talend/icons').replace('/dist/index.cjs', '/dist/svg-bundle').replace('index.js', '').replace('/dist/TalendIcons.js', '/dist/svg-bundle')], addons: [ '@storybook/addon-essentials', '@storybook/addon-a11y', diff --git a/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js b/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js index fead0b3ff91..32934172fad 100644 --- a/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js +++ b/tools/scripts-config-storybook-lib/.storybook-templates/msw/mockServiceWorker.js @@ -5,291 +5,332 @@ * Mock Service Worker. * @see https://github.com/mswjs/msw * - Please do NOT modify this file. - * - Please do NOT serve this file on production. */ -const PACKAGE_VERSION = '2.6.6' -const INTEGRITY_CHECKSUM = 'ca7800994cc8bfb5eb961e037c877074' -const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') -const activeClientIds = new Set() - -self.addEventListener('install', function () { - self.skipWaiting() -}) - -self.addEventListener('activate', function (event) { - event.waitUntil(self.clients.claim()) -}) - -self.addEventListener('message', async function (event) { - const clientId = event.source.id - - if (!clientId || !self.clients) { - return - } - - const client = await self.clients.get(clientId) - - if (!client) { - return - } - - const allClients = await self.clients.matchAll({ - type: 'window', - }) - - switch (event.data) { - case 'KEEPALIVE_REQUEST': { - sendToClient(client, { - type: 'KEEPALIVE_RESPONSE', - }) - break - } - - case 'INTEGRITY_CHECK_REQUEST': { - sendToClient(client, { - type: 'INTEGRITY_CHECK_RESPONSE', - payload: { - packageVersion: PACKAGE_VERSION, - checksum: INTEGRITY_CHECKSUM, - }, - }) - break - } - - case 'MOCK_ACTIVATE': { - activeClientIds.add(clientId) - - sendToClient(client, { - type: 'MOCKING_ENABLED', - payload: { - client: { - id: client.id, - frameType: client.frameType, - }, - }, - }) - break - } - - case 'MOCK_DEACTIVATE': { - activeClientIds.delete(clientId) - break - } - - case 'CLIENT_CLOSED': { - activeClientIds.delete(clientId) - - const remainingClients = allClients.filter((client) => { - return client.id !== clientId - }) - - // Unregister itself when there are no more clients - if (remainingClients.length === 0) { - self.registration.unregister() - } - - break - } - } -}) - -self.addEventListener('fetch', function (event) { - const { request } = event - - // Bypass navigation requests. - if (request.mode === 'navigate') { - return - } - - // Opening the DevTools triggers the "only-if-cached" request - // that cannot be handled by the worker. Bypass such requests. - if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') { - return - } - - // Bypass all requests when there are no active clients. - // Prevents the self-unregistered worked from handling requests - // after it's been deleted (still remains active until the next reload). - if (activeClientIds.size === 0) { - return - } - - // Generate unique request ID. - const requestId = crypto.randomUUID() - event.respondWith(handleRequest(event, requestId)) -}) - -async function handleRequest(event, requestId) { - const client = await resolveMainClient(event) - const response = await getResponse(event, client, requestId) - - // Send back the response clone for the "response:*" life-cycle events. - // Ensure MSW is active and ready to handle the message, otherwise - // this message will pend indefinitely. - if (client && activeClientIds.has(client.id)) { - ;(async function () { - const responseClone = response.clone() - - sendToClient( - client, - { - type: 'RESPONSE', - payload: { - requestId, - isMockedResponse: IS_MOCKED_RESPONSE in response, - type: responseClone.type, - status: responseClone.status, - statusText: responseClone.statusText, - body: responseClone.body, - headers: Object.fromEntries(responseClone.headers.entries()), - }, - }, - [responseClone.body], - ) - })() - } - - return response +const PACKAGE_VERSION = '2.12.7'; +const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'; +const IS_MOCKED_RESPONSE = Symbol('isMockedResponse'); +const activeClientIds = new Set(); + +addEventListener('install', function () { + self.skipWaiting(); +}); + +addEventListener('activate', function (event) { + event.waitUntil(self.clients.claim()); +}); + +addEventListener('message', async function (event) { + const clientId = Reflect.get(event.source || {}, 'id'); + + if (!clientId || !self.clients) { + return; + } + + const client = await self.clients.get(clientId); + + if (!client) { + return; + } + + const allClients = await self.clients.matchAll({ + type: 'window', + }); + + switch (event.data) { + case 'KEEPALIVE_REQUEST': { + sendToClient(client, { + type: 'KEEPALIVE_RESPONSE', + }); + break; + } + + case 'INTEGRITY_CHECK_REQUEST': { + sendToClient(client, { + type: 'INTEGRITY_CHECK_RESPONSE', + payload: { + packageVersion: PACKAGE_VERSION, + checksum: INTEGRITY_CHECKSUM, + }, + }); + break; + } + + case 'MOCK_ACTIVATE': { + activeClientIds.add(clientId); + + sendToClient(client, { + type: 'MOCKING_ENABLED', + payload: { + client: { + id: client.id, + frameType: client.frameType, + }, + }, + }); + break; + } + + case 'CLIENT_CLOSED': { + activeClientIds.delete(clientId); + + const remainingClients = allClients.filter(client => { + return client.id !== clientId; + }); + + // Unregister itself when there are no more clients + if (remainingClients.length === 0) { + self.registration.unregister(); + } + + break; + } + } +}); + +addEventListener('fetch', function (event) { + const requestInterceptedAt = Date.now(); + + // Bypass navigation requests. + if (event.request.mode === 'navigate') { + return; + } + + // Opening the DevTools triggers the "only-if-cached" request + // that cannot be handled by the worker. Bypass such requests. + if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') { + return; + } + + // Bypass all requests when there are no active clients. + // Prevents the self-unregistered worked from handling requests + // after it's been terminated (still remains active until the next reload). + if (activeClientIds.size === 0) { + return; + } + + const requestId = crypto.randomUUID(); + event.respondWith(handleRequest(event, requestId, requestInterceptedAt)); +}); + +/** + * @param {FetchEvent} event + * @param {string} requestId + * @param {number} requestInterceptedAt + */ +async function handleRequest(event, requestId, requestInterceptedAt) { + const client = await resolveMainClient(event); + const requestCloneForEvents = event.request.clone(); + const response = await getResponse(event, client, requestId, requestInterceptedAt); + + // Send back the response clone for the "response:*" life-cycle events. + // Ensure MSW is active and ready to handle the message, otherwise + // this message will pend indefinitely. + if (client && activeClientIds.has(client.id)) { + const serializedRequest = await serializeRequest(requestCloneForEvents); + + // Clone the response so both the client and the library could consume it. + const responseClone = response.clone(); + + sendToClient( + client, + { + type: 'RESPONSE', + payload: { + isMockedResponse: IS_MOCKED_RESPONSE in response, + request: { + id: requestId, + ...serializedRequest, + }, + response: { + type: responseClone.type, + status: responseClone.status, + statusText: responseClone.statusText, + headers: Object.fromEntries(responseClone.headers.entries()), + body: responseClone.body, + }, + }, + }, + responseClone.body ? [serializedRequest.body, responseClone.body] : [], + ); + } + + return response; } -// Resolve the main client for the given event. -// Client that issues a request doesn't necessarily equal the client -// that registered the worker. It's with the latter the worker should -// communicate with during the response resolving phase. +/** + * Resolve the main client for the given event. + * Client that issues a request doesn't necessarily equal the client + * that registered the worker. It's with the latter the worker should + * communicate with during the response resolving phase. + * @param {FetchEvent} event + * @returns {Promise} + */ async function resolveMainClient(event) { - const client = await self.clients.get(event.clientId) - - if (activeClientIds.has(event.clientId)) { - return client - } - - if (client?.frameType === 'top-level') { - return client - } - - const allClients = await self.clients.matchAll({ - type: 'window', - }) - - return allClients - .filter((client) => { - // Get only those clients that are currently visible. - return client.visibilityState === 'visible' - }) - .find((client) => { - // Find the client ID that's recorded in the - // set of clients that have registered the worker. - return activeClientIds.has(client.id) - }) + const client = await self.clients.get(event.clientId); + + if (activeClientIds.has(event.clientId)) { + return client; + } + + if (client?.frameType === 'top-level') { + return client; + } + + const allClients = await self.clients.matchAll({ + type: 'window', + }); + + return allClients + .filter(client => { + // Get only those clients that are currently visible. + return client.visibilityState === 'visible'; + }) + .find(client => { + // Find the client ID that's recorded in the + // set of clients that have registered the worker. + return activeClientIds.has(client.id); + }); } -async function getResponse(event, client, requestId) { - const { request } = event - - // Clone the request because it might've been already used - // (i.e. its body has been read and sent to the client). - const requestClone = request.clone() - - function passthrough() { - // Cast the request headers to a new Headers instance - // so the headers can be manipulated with. - const headers = new Headers(requestClone.headers) - - // Remove the "accept" header value that marked this request as passthrough. - // This prevents request alteration and also keeps it compliant with the - // user-defined CORS policies. - headers.delete('accept', 'msw/passthrough') - - return fetch(requestClone, { headers }) - } - - // Bypass mocking when the client is not active. - if (!client) { - return passthrough() - } - - // Bypass initial page load requests (i.e. static assets). - // The absence of the immediate/parent client in the map of the active clients - // means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet - // and is not ready to handle requests. - if (!activeClientIds.has(client.id)) { - return passthrough() - } - - // Notify the client that a request has been intercepted. - const requestBuffer = await request.arrayBuffer() - const clientMessage = await sendToClient( - client, - { - type: 'REQUEST', - payload: { - id: requestId, - url: request.url, - mode: request.mode, - method: request.method, - headers: Object.fromEntries(request.headers.entries()), - cache: request.cache, - credentials: request.credentials, - destination: request.destination, - integrity: request.integrity, - redirect: request.redirect, - referrer: request.referrer, - referrerPolicy: request.referrerPolicy, - body: requestBuffer, - keepalive: request.keepalive, - }, - }, - [requestBuffer], - ) - - switch (clientMessage.type) { - case 'MOCK_RESPONSE': { - return respondWithMock(clientMessage.data) - } - - case 'PASSTHROUGH': { - return passthrough() - } - } - - return passthrough() +/** + * @param {FetchEvent} event + * @param {Client | undefined} client + * @param {string} requestId + * @param {number} requestInterceptedAt + * @returns {Promise} + */ +async function getResponse(event, client, requestId, requestInterceptedAt) { + // Clone the request because it might've been already used + // (i.e. its body has been read and sent to the client). + const requestClone = event.request.clone(); + + function passthrough() { + // Cast the request headers to a new Headers instance + // so the headers can be manipulated with. + const headers = new Headers(requestClone.headers); + + // Remove the "accept" header value that marked this request as passthrough. + // This prevents request alteration and also keeps it compliant with the + // user-defined CORS policies. + const acceptHeader = headers.get('accept'); + if (acceptHeader) { + const values = acceptHeader.split(',').map(value => value.trim()); + const filteredValues = values.filter(value => value !== 'msw/passthrough'); + + if (filteredValues.length > 0) { + headers.set('accept', filteredValues.join(', ')); + } else { + headers.delete('accept'); + } + } + + return fetch(requestClone, { headers }); + } + + // Bypass mocking when the client is not active. + if (!client) { + return passthrough(); + } + + // Bypass initial page load requests (i.e. static assets). + // The absence of the immediate/parent client in the map of the active clients + // means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet + // and is not ready to handle requests. + if (!activeClientIds.has(client.id)) { + return passthrough(); + } + + // Notify the client that a request has been intercepted. + const serializedRequest = await serializeRequest(event.request); + const clientMessage = await sendToClient( + client, + { + type: 'REQUEST', + payload: { + id: requestId, + interceptedAt: requestInterceptedAt, + ...serializedRequest, + }, + }, + [serializedRequest.body], + ); + + switch (clientMessage.type) { + case 'MOCK_RESPONSE': { + return respondWithMock(clientMessage.data); + } + + case 'PASSTHROUGH': { + return passthrough(); + } + } + + return passthrough(); } +/** + * @param {Client} client + * @param {any} message + * @param {Array} transferrables + * @returns {Promise} + */ function sendToClient(client, message, transferrables = []) { - return new Promise((resolve, reject) => { - const channel = new MessageChannel() - - channel.port1.onmessage = (event) => { - if (event.data && event.data.error) { - return reject(event.data.error) - } - - resolve(event.data) - } - - client.postMessage( - message, - [channel.port2].concat(transferrables.filter(Boolean)), - ) - }) -} + return new Promise((resolve, reject) => { + const channel = new MessageChannel(); + + channel.port1.onmessage = event => { + if (event.data && event.data.error) { + return reject(event.data.error); + } -async function respondWithMock(response) { - // Setting response status code to 0 is a no-op. - // However, when responding with a "Response.error()", the produced Response - // instance will have status code set to 0. Since it's not possible to create - // a Response instance with status code 0, handle that use-case separately. - if (response.status === 0) { - return Response.error() - } + resolve(event.data); + }; - const mockedResponse = new Response(response.body, response) + client.postMessage(message, [channel.port2, ...transferrables.filter(Boolean)]); + }); +} - Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, { - value: true, - enumerable: true, - }) +/** + * @param {Response} response + * @returns {Response} + */ +function respondWithMock(response) { + // Setting response status code to 0 is a no-op. + // However, when responding with a "Response.error()", the produced Response + // instance will have status code set to 0. Since it's not possible to create + // a Response instance with status code 0, handle that use-case separately. + if (response.status === 0) { + return Response.error(); + } + + const mockedResponse = new Response(response.body, response); + + Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, { + value: true, + enumerable: true, + }); + + return mockedResponse; +} - return mockedResponse +/** + * @param {Request} request + */ +async function serializeRequest(request) { + return { + url: request.url, + mode: request.mode, + method: request.method, + headers: Object.fromEntries(request.headers.entries()), + cache: request.cache, + credentials: request.credentials, + destination: request.destination, + integrity: request.integrity, + redirect: request.redirect, + referrer: request.referrer, + referrerPolicy: request.referrerPolicy, + body: await request.arrayBuffer(), + keepalive: request.keepalive, + }; } diff --git a/tools/scripts-config-storybook-lib/CHANGELOG.md b/tools/scripts-config-storybook-lib/CHANGELOG.md index c210b8f796d..e51aacf5620 100644 --- a/tools/scripts-config-storybook-lib/CHANGELOG.md +++ b/tools/scripts-config-storybook-lib/CHANGELOG.md @@ -1,5 +1,23 @@ # @talend/scripts-config-storybook-lib +## 5.8.3 + +### Patch Changes + +- fix: msw template update to 2.12.7 + +## 5.8.2 + +### Patch Changes + +- fix: path to cjs was not enough now it works ! + +## 5.8.1 + +### Patch Changes + +- fix: support @talend/icons 8 (still SB 7) + ## 5.8.0 ### Minor Changes diff --git a/tools/scripts-config-storybook-lib/package.json b/tools/scripts-config-storybook-lib/package.json index 4a44ac65890..fa41e3fb509 100644 --- a/tools/scripts-config-storybook-lib/package.json +++ b/tools/scripts-config-storybook-lib/package.json @@ -1,7 +1,7 @@ { "name": "@talend/scripts-config-storybook-lib", "description": "Storybook configuration for @talend/scripts-core", - "version": "5.8.0", + "version": "5.8.3", "license": "Apache-2.0", "main": "index.js", "author": "Talend Frontend ", @@ -35,7 +35,7 @@ "assert": "^2.1.0", "i18next-http-backend": "^1.4.5", "lodash": "^4.17.23", - "msw": "^2.12.7", + "msw": "2.12.7", "msw-storybook-addon": "^2.0.6", "querystring-es3": "^0.2.1", "storybook": "^7.6.21", diff --git a/yarn.lock b/yarn.lock index 9046d839960..ca0d9ca2615 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14473,7 +14473,7 @@ msw-storybook-addon@^2.0.6: dependencies: is-node-process "^1.0.1" -msw@^2.12.7: +msw@2.12.7, msw@^2.12.7: version "2.12.7" resolved "https://registry.yarnpkg.com/msw/-/msw-2.12.7.tgz#755fa4a0df51133bf76ebc9b7d4bdcc4355f0c8e" integrity sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg==