@dr.pogodin/react-utils 1.39.5 → 1.39.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,7 +45,7 @@ const originalProcessVersions = process.versions;
45
45
  */
46
46
  function mockClientSide() {
47
47
  Object.defineProperty(process, 'versions', {
48
- value: null
48
+ value: undefined
49
49
  });
50
50
  }
51
51
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_mockdate","_interopRequireDefault","require","_react","_client","_react2","_global","global","IS_REACT_ACT_ENVIRONMENT","originalProcessVersions","process","versions","mockClientSide","Object","defineProperty","value","unmockClientSide","writable","getMockUuid","seed","x","toString","padStart","slice","mockAxios","handlers","axios","jest","requireActual","defaults","adapter","config","i","length","res","data","headers","status","statusText","console","warn","JSON","stringify","e","mockTimer","time","mockdate","set","Date","now","advanceTimersByTime","mount","scene","root","element","document","createElement","body","appendChild","destroy","act","unmount","remove","snapshot","expect","toMatchSnapshot","createRoot","render","options","promise","await","undefined","Error","nodes","asFragment","childNodes"],"sources":["../../../../../src/shared/utils/jest/index.tsx"],"sourcesContent":["/* global jest, document */\n/* eslint-disable import/no-extraneous-dependencies */\n\nimport type {\n AxiosRequestConfig,\n AxiosResponse,\n InternalAxiosRequestConfig,\n} from 'axios';\n\nimport mockdate from 'mockdate';\nimport { type ReactNode, act } from 'react';\nimport { type Root, createRoot } from 'react-dom/client';\n\nimport { type RenderResult, render } from '@testing-library/react';\n\n/**\n * An alias for [act(..)](https://reactjs.org/docs/test-utils.html#act)\n * from `react`.\n */\nexport { act };\n\nexport { default as getGlobal } from './global';\n\nglobal.IS_REACT_ACT_ENVIRONMENT = true;\n\nconst originalProcessVersions = process.versions;\n\n/**\n * Tricks **react-utils** into thinking the test is running within client-side\n * (browser) environment.\n */\nexport function mockClientSide() {\n Object.defineProperty(process, 'versions', { value: null });\n}\n\n/**\n * Reverts the effect of {@link module:JU.mockClientSide mockClientSide(..)}.\n */\nexport function unmockClientSide() {\n Object.defineProperty(process, 'versions', {\n value: originalProcessVersions,\n writable: false,\n });\n}\n\n/**\n * Generates a mock UUID, or better said it determenistically transforms given\n * `seed` number into a UUID-formatted string.\n * @param {number} seed\n * @return {string}\n */\nexport function getMockUuid(seed = 0) {\n const x = seed.toString(16).padStart(32, '0');\n return `${x.slice(0, 8)}-${x.slice(8, 12)}-${x.slice(12, 16)}-${x.slice(16, 20)}-${x.slice(20)}`;\n}\n\nexport type AxiosRequestHandlerT =\n (config: AxiosRequestConfig) => Partial<AxiosResponse> | null | undefined;\n\nexport function mockAxios(handlers: AxiosRequestHandlerT[]) {\n const axios = jest.requireActual('axios');\n\n axios.defaults.adapter = async (config: AxiosRequestConfig): Promise<AxiosResponse> => {\n for (let i = 0; i < handlers.length; ++i) {\n const res = handlers[i]?.(config);\n if (res) {\n return {\n config: config as InternalAxiosRequestConfig,\n data: null,\n headers: {},\n status: 200,\n statusText: 'OK',\n ...res,\n };\n }\n }\n\n // Fallback to the regular network request.\n let res: AxiosResponse;\n try {\n res = await axios({ ...config, adapter: ['xhr', 'http', 'fetch'] });\n console.warn(\n 'Network request has not been mocked for a test.\\n\\nConfig:\\n',\n config,\n '\\n\\nResult:\\n',\n JSON.stringify(res, null, 2),\n );\n } catch (e) {\n console.warn(\n 'Network request has not been mocked for a test, and failed.\\n\\nConfig:\\n',\n config,\n '\\n\\nError\\n',\n JSON.stringify(e, null, 2),\n );\n throw e;\n }\n\n return res;\n };\n\n return axios;\n}\n\n/**\n * Advances mock timers, and mock date by the specified time.\n * @param {number} time Time step [ms].\n * @returns {Promise} Wait for this to \"jump after\" any async code which should\n * be executed because of the mock time movement.\n */\nexport async function mockTimer(time: number) {\n mockdate.set(time + Date.now());\n jest.advanceTimersByTime(time);\n}\n\nexport type MountedSceneT = HTMLElement & {\n destroy: () => void;\n snapshot: () => void;\n};\n\n/**\n * Mounts `scene` to the DOM, and returns the root scene element.\n * @param scene\n * @return Created container DOM element with destroy() function\n * attached.\n */\nexport function mount(scene: ReactNode): MountedSceneT {\n let root: Root;\n const element = document.createElement('div');\n document.body.appendChild(element);\n\n const res: MountedSceneT = (element as unknown) as MountedSceneT;\n res.destroy = () => {\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => root.unmount());\n res.remove();\n };\n\n res.snapshot = () => {\n expect(res).toMatchSnapshot();\n };\n\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => {\n root = createRoot(res);\n root.render(scene);\n });\n return res;\n}\n\ntype SnapshotOptionsT = {\n await?: Promise<void>;\n};\n\nexport async function snapshot(\n element: React.ReactElement,\n options?: SnapshotOptionsT,\n) {\n let res: RenderResult | undefined;\n\n const promise = act(() => {\n res = render(element);\n return options?.await;\n });\n\n if (res === undefined) throw Error('Render failed');\n if (options?.await) await promise;\n\n const nodes = res.asFragment().childNodes;\n expect(nodes.length > 1 ? [...nodes] : nodes[0]).toMatchSnapshot();\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_mockdate","_interopRequireDefault","require","_react","_client","_react2","_global","global","IS_REACT_ACT_ENVIRONMENT","originalProcessVersions","process","versions","mockClientSide","Object","defineProperty","value","undefined","unmockClientSide","writable","getMockUuid","seed","x","toString","padStart","slice","mockAxios","handlers","axios","jest","requireActual","defaults","adapter","config","i","length","res","data","headers","status","statusText","console","warn","JSON","stringify","e","mockTimer","time","mockdate","set","Date","now","advanceTimersByTime","mount","scene","root","element","document","createElement","body","appendChild","destroy","act","unmount","remove","snapshot","expect","toMatchSnapshot","createRoot","render","options","promise","await","Error","nodes","asFragment","childNodes"],"sources":["../../../../../src/shared/utils/jest/index.tsx"],"sourcesContent":["/* global jest, document */\n/* eslint-disable import/no-extraneous-dependencies */\n\nimport type {\n AxiosRequestConfig,\n AxiosResponse,\n InternalAxiosRequestConfig,\n} from 'axios';\n\nimport mockdate from 'mockdate';\nimport { type ReactNode, act } from 'react';\nimport { type Root, createRoot } from 'react-dom/client';\n\nimport { type RenderResult, render } from '@testing-library/react';\n\n/**\n * An alias for [act(..)](https://reactjs.org/docs/test-utils.html#act)\n * from `react`.\n */\nexport { act };\n\nexport { default as getGlobal } from './global';\n\nglobal.IS_REACT_ACT_ENVIRONMENT = true;\n\nconst originalProcessVersions = process.versions;\n\n/**\n * Tricks **react-utils** into thinking the test is running within client-side\n * (browser) environment.\n */\nexport function mockClientSide() {\n Object.defineProperty(process, 'versions', { value: undefined });\n}\n\n/**\n * Reverts the effect of {@link module:JU.mockClientSide mockClientSide(..)}.\n */\nexport function unmockClientSide() {\n Object.defineProperty(process, 'versions', {\n value: originalProcessVersions,\n writable: false,\n });\n}\n\n/**\n * Generates a mock UUID, or better said it determenistically transforms given\n * `seed` number into a UUID-formatted string.\n * @param {number} seed\n * @return {string}\n */\nexport function getMockUuid(seed = 0) {\n const x = seed.toString(16).padStart(32, '0');\n return `${x.slice(0, 8)}-${x.slice(8, 12)}-${x.slice(12, 16)}-${x.slice(16, 20)}-${x.slice(20)}`;\n}\n\nexport type AxiosRequestHandlerT =\n (config: AxiosRequestConfig) => Partial<AxiosResponse> | null | undefined;\n\nexport function mockAxios(handlers: AxiosRequestHandlerT[]) {\n const axios = jest.requireActual('axios');\n\n axios.defaults.adapter = async (config: AxiosRequestConfig): Promise<AxiosResponse> => {\n for (let i = 0; i < handlers.length; ++i) {\n const res = handlers[i]?.(config);\n if (res) {\n return {\n config: config as InternalAxiosRequestConfig,\n data: null,\n headers: {},\n status: 200,\n statusText: 'OK',\n ...res,\n };\n }\n }\n\n // Fallback to the regular network request.\n let res: AxiosResponse;\n try {\n res = await axios({ ...config, adapter: ['xhr', 'http', 'fetch'] });\n console.warn(\n 'Network request has not been mocked for a test.\\n\\nConfig:\\n',\n config,\n '\\n\\nResult:\\n',\n JSON.stringify(res, null, 2),\n );\n } catch (e) {\n console.warn(\n 'Network request has not been mocked for a test, and failed.\\n\\nConfig:\\n',\n config,\n '\\n\\nError\\n',\n JSON.stringify(e, null, 2),\n );\n throw e;\n }\n\n return res;\n };\n\n return axios;\n}\n\n/**\n * Advances mock timers, and mock date by the specified time.\n * @param {number} time Time step [ms].\n * @returns {Promise} Wait for this to \"jump after\" any async code which should\n * be executed because of the mock time movement.\n */\nexport async function mockTimer(time: number) {\n mockdate.set(time + Date.now());\n jest.advanceTimersByTime(time);\n}\n\nexport type MountedSceneT = HTMLElement & {\n destroy: () => void;\n snapshot: () => void;\n};\n\n/**\n * Mounts `scene` to the DOM, and returns the root scene element.\n * @param scene\n * @return Created container DOM element with destroy() function\n * attached.\n */\nexport function mount(scene: ReactNode): MountedSceneT {\n let root: Root;\n const element = document.createElement('div');\n document.body.appendChild(element);\n\n const res: MountedSceneT = (element as unknown) as MountedSceneT;\n res.destroy = () => {\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => root.unmount());\n res.remove();\n };\n\n res.snapshot = () => {\n expect(res).toMatchSnapshot();\n };\n\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => {\n root = createRoot(res);\n root.render(scene);\n });\n return res;\n}\n\ntype SnapshotOptionsT = {\n await?: Promise<void>;\n};\n\nexport async function snapshot(\n element: React.ReactElement,\n options?: SnapshotOptionsT,\n) {\n let res: RenderResult | undefined;\n\n const promise = act(() => {\n res = render(element);\n return options?.await;\n });\n\n if (res === undefined) throw Error('Render failed');\n if (options?.await) await promise;\n\n const nodes = res.asFragment().childNodes;\n expect(nodes.length > 1 ? [...nodes] : nodes[0]).toMatchSnapshot();\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  */global.IS_REACT_ACT_ENVIRONMENT=true;const originalProcessVersions=process.versions;/**
5
5
  * Tricks **react-utils** into thinking the test is running within client-side
6
6
  * (browser) environment.
7
- */function mockClientSide(){Object.defineProperty(process,"versions",{value:null})}/**
7
+ */function mockClientSide(){Object.defineProperty(process,"versions",{value:undefined})}/**
8
8
  * Reverts the effect of {@link module:JU.mockClientSide mockClientSide(..)}.
9
9
  */function unmockClientSide(){Object.defineProperty(process,"versions",{value:originalProcessVersions,writable:false})}/**
10
10
  * Generates a mock UUID, or better said it determenistically transforms given
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_mockdate","_interopRequireDefault","require","_react","_client","_react2","_global","global","IS_REACT_ACT_ENVIRONMENT","originalProcessVersions","process","versions","mockClientSide","Object","defineProperty","value","unmockClientSide","writable","getMockUuid","seed","x","toString","padStart","slice","mockAxios","handlers","axios","jest","requireActual","defaults","adapter","config","i","length","res","data","headers","status","statusText","console","warn","JSON","stringify","e","mockTimer","time","mockdate","set","Date","now","advanceTimersByTime","mount","scene","root","element","document","createElement","body","appendChild","destroy","act","unmount","remove","snapshot","expect","toMatchSnapshot","createRoot","render","options","promise","await","undefined","Error","nodes","asFragment","childNodes"],"sources":["../../../../../src/shared/utils/jest/index.tsx"],"sourcesContent":["/* global jest, document */\n/* eslint-disable import/no-extraneous-dependencies */\n\nimport type {\n AxiosRequestConfig,\n AxiosResponse,\n InternalAxiosRequestConfig,\n} from 'axios';\n\nimport mockdate from 'mockdate';\nimport { type ReactNode, act } from 'react';\nimport { type Root, createRoot } from 'react-dom/client';\n\nimport { type RenderResult, render } from '@testing-library/react';\n\n/**\n * An alias for [act(..)](https://reactjs.org/docs/test-utils.html#act)\n * from `react`.\n */\nexport { act };\n\nexport { default as getGlobal } from './global';\n\nglobal.IS_REACT_ACT_ENVIRONMENT = true;\n\nconst originalProcessVersions = process.versions;\n\n/**\n * Tricks **react-utils** into thinking the test is running within client-side\n * (browser) environment.\n */\nexport function mockClientSide() {\n Object.defineProperty(process, 'versions', { value: null });\n}\n\n/**\n * Reverts the effect of {@link module:JU.mockClientSide mockClientSide(..)}.\n */\nexport function unmockClientSide() {\n Object.defineProperty(process, 'versions', {\n value: originalProcessVersions,\n writable: false,\n });\n}\n\n/**\n * Generates a mock UUID, or better said it determenistically transforms given\n * `seed` number into a UUID-formatted string.\n * @param {number} seed\n * @return {string}\n */\nexport function getMockUuid(seed = 0) {\n const x = seed.toString(16).padStart(32, '0');\n return `${x.slice(0, 8)}-${x.slice(8, 12)}-${x.slice(12, 16)}-${x.slice(16, 20)}-${x.slice(20)}`;\n}\n\nexport type AxiosRequestHandlerT =\n (config: AxiosRequestConfig) => Partial<AxiosResponse> | null | undefined;\n\nexport function mockAxios(handlers: AxiosRequestHandlerT[]) {\n const axios = jest.requireActual('axios');\n\n axios.defaults.adapter = async (config: AxiosRequestConfig): Promise<AxiosResponse> => {\n for (let i = 0; i < handlers.length; ++i) {\n const res = handlers[i]?.(config);\n if (res) {\n return {\n config: config as InternalAxiosRequestConfig,\n data: null,\n headers: {},\n status: 200,\n statusText: 'OK',\n ...res,\n };\n }\n }\n\n // Fallback to the regular network request.\n let res: AxiosResponse;\n try {\n res = await axios({ ...config, adapter: ['xhr', 'http', 'fetch'] });\n console.warn(\n 'Network request has not been mocked for a test.\\n\\nConfig:\\n',\n config,\n '\\n\\nResult:\\n',\n JSON.stringify(res, null, 2),\n );\n } catch (e) {\n console.warn(\n 'Network request has not been mocked for a test, and failed.\\n\\nConfig:\\n',\n config,\n '\\n\\nError\\n',\n JSON.stringify(e, null, 2),\n );\n throw e;\n }\n\n return res;\n };\n\n return axios;\n}\n\n/**\n * Advances mock timers, and mock date by the specified time.\n * @param {number} time Time step [ms].\n * @returns {Promise} Wait for this to \"jump after\" any async code which should\n * be executed because of the mock time movement.\n */\nexport async function mockTimer(time: number) {\n mockdate.set(time + Date.now());\n jest.advanceTimersByTime(time);\n}\n\nexport type MountedSceneT = HTMLElement & {\n destroy: () => void;\n snapshot: () => void;\n};\n\n/**\n * Mounts `scene` to the DOM, and returns the root scene element.\n * @param scene\n * @return Created container DOM element with destroy() function\n * attached.\n */\nexport function mount(scene: ReactNode): MountedSceneT {\n let root: Root;\n const element = document.createElement('div');\n document.body.appendChild(element);\n\n const res: MountedSceneT = (element as unknown) as MountedSceneT;\n res.destroy = () => {\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => root.unmount());\n res.remove();\n };\n\n res.snapshot = () => {\n expect(res).toMatchSnapshot();\n };\n\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => {\n root = createRoot(res);\n root.render(scene);\n });\n return res;\n}\n\ntype SnapshotOptionsT = {\n await?: Promise<void>;\n};\n\nexport async function snapshot(\n element: React.ReactElement,\n options?: SnapshotOptionsT,\n) {\n let res: RenderResult | undefined;\n\n const promise = act(() => {\n res = render(element);\n return options?.await;\n });\n\n if (res === undefined) throw Error('Render failed');\n if (options?.await) await promise;\n\n const nodes = res.asFragment().childNodes;\n expect(nodes.length > 1 ? [...nodes] : nodes[0]).toMatchSnapshot();\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_mockdate","_interopRequireDefault","require","_react","_client","_react2","_global","global","IS_REACT_ACT_ENVIRONMENT","originalProcessVersions","process","versions","mockClientSide","Object","defineProperty","value","undefined","unmockClientSide","writable","getMockUuid","seed","x","toString","padStart","slice","mockAxios","handlers","axios","jest","requireActual","defaults","adapter","config","i","length","res","data","headers","status","statusText","console","warn","JSON","stringify","e","mockTimer","time","mockdate","set","Date","now","advanceTimersByTime","mount","scene","root","element","document","createElement","body","appendChild","destroy","act","unmount","remove","snapshot","expect","toMatchSnapshot","createRoot","render","options","promise","await","Error","nodes","asFragment","childNodes"],"sources":["../../../../../src/shared/utils/jest/index.tsx"],"sourcesContent":["/* global jest, document */\n/* eslint-disable import/no-extraneous-dependencies */\n\nimport type {\n AxiosRequestConfig,\n AxiosResponse,\n InternalAxiosRequestConfig,\n} from 'axios';\n\nimport mockdate from 'mockdate';\nimport { type ReactNode, act } from 'react';\nimport { type Root, createRoot } from 'react-dom/client';\n\nimport { type RenderResult, render } from '@testing-library/react';\n\n/**\n * An alias for [act(..)](https://reactjs.org/docs/test-utils.html#act)\n * from `react`.\n */\nexport { act };\n\nexport { default as getGlobal } from './global';\n\nglobal.IS_REACT_ACT_ENVIRONMENT = true;\n\nconst originalProcessVersions = process.versions;\n\n/**\n * Tricks **react-utils** into thinking the test is running within client-side\n * (browser) environment.\n */\nexport function mockClientSide() {\n Object.defineProperty(process, 'versions', { value: undefined });\n}\n\n/**\n * Reverts the effect of {@link module:JU.mockClientSide mockClientSide(..)}.\n */\nexport function unmockClientSide() {\n Object.defineProperty(process, 'versions', {\n value: originalProcessVersions,\n writable: false,\n });\n}\n\n/**\n * Generates a mock UUID, or better said it determenistically transforms given\n * `seed` number into a UUID-formatted string.\n * @param {number} seed\n * @return {string}\n */\nexport function getMockUuid(seed = 0) {\n const x = seed.toString(16).padStart(32, '0');\n return `${x.slice(0, 8)}-${x.slice(8, 12)}-${x.slice(12, 16)}-${x.slice(16, 20)}-${x.slice(20)}`;\n}\n\nexport type AxiosRequestHandlerT =\n (config: AxiosRequestConfig) => Partial<AxiosResponse> | null | undefined;\n\nexport function mockAxios(handlers: AxiosRequestHandlerT[]) {\n const axios = jest.requireActual('axios');\n\n axios.defaults.adapter = async (config: AxiosRequestConfig): Promise<AxiosResponse> => {\n for (let i = 0; i < handlers.length; ++i) {\n const res = handlers[i]?.(config);\n if (res) {\n return {\n config: config as InternalAxiosRequestConfig,\n data: null,\n headers: {},\n status: 200,\n statusText: 'OK',\n ...res,\n };\n }\n }\n\n // Fallback to the regular network request.\n let res: AxiosResponse;\n try {\n res = await axios({ ...config, adapter: ['xhr', 'http', 'fetch'] });\n console.warn(\n 'Network request has not been mocked for a test.\\n\\nConfig:\\n',\n config,\n '\\n\\nResult:\\n',\n JSON.stringify(res, null, 2),\n );\n } catch (e) {\n console.warn(\n 'Network request has not been mocked for a test, and failed.\\n\\nConfig:\\n',\n config,\n '\\n\\nError\\n',\n JSON.stringify(e, null, 2),\n );\n throw e;\n }\n\n return res;\n };\n\n return axios;\n}\n\n/**\n * Advances mock timers, and mock date by the specified time.\n * @param {number} time Time step [ms].\n * @returns {Promise} Wait for this to \"jump after\" any async code which should\n * be executed because of the mock time movement.\n */\nexport async function mockTimer(time: number) {\n mockdate.set(time + Date.now());\n jest.advanceTimersByTime(time);\n}\n\nexport type MountedSceneT = HTMLElement & {\n destroy: () => void;\n snapshot: () => void;\n};\n\n/**\n * Mounts `scene` to the DOM, and returns the root scene element.\n * @param scene\n * @return Created container DOM element with destroy() function\n * attached.\n */\nexport function mount(scene: ReactNode): MountedSceneT {\n let root: Root;\n const element = document.createElement('div');\n document.body.appendChild(element);\n\n const res: MountedSceneT = (element as unknown) as MountedSceneT;\n res.destroy = () => {\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => root.unmount());\n res.remove();\n };\n\n res.snapshot = () => {\n expect(res).toMatchSnapshot();\n };\n\n // NOTE: As it seems @testing-library may reset this flag to false\n // when it is simulating user events.\n global.IS_REACT_ACT_ENVIRONMENT = true;\n\n act(() => {\n root = createRoot(res);\n root.render(scene);\n });\n return res;\n}\n\ntype SnapshotOptionsT = {\n await?: Promise<void>;\n};\n\nexport async function snapshot(\n element: React.ReactElement,\n options?: SnapshotOptionsT,\n) {\n let res: RenderResult | undefined;\n\n const promise = act(() => {\n res = render(element);\n return options?.await;\n });\n\n if (res === undefined) throw Error('Render failed');\n if (options?.await) await promise;\n\n const nodes = res.asFragment().childNodes;\n expect(nodes.length > 1 ? [...nodes] : nodes[0]).toMatchSnapshot();\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.39.5",
2
+ "version": "1.39.6",
3
3
  "bin": {
4
4
  "react-utils-build": "bin/build.js",
5
5
  "react-utils-setup": "bin/setup.js"
@@ -30,7 +30,7 @@ const originalProcessVersions = process.versions;
30
30
  * (browser) environment.
31
31
  */
32
32
  export function mockClientSide() {
33
- Object.defineProperty(process, 'versions', { value: null });
33
+ Object.defineProperty(process, 'versions', { value: undefined });
34
34
  }
35
35
 
36
36
  /**