react-cosmos-core 6.2.4-canary.fb62804e.18 → 7.0.0-beta.0

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.
@@ -1,4 +1,4 @@
1
- import { isElement } from 'react-is';
1
+ import { isValidElement } from 'react';
2
2
  import { isArray, isObject, isPrimitiveData, } from '../utils/data.js';
3
3
  export function createValues(obj) {
4
4
  const values = {};
@@ -38,7 +38,7 @@ function stringifyUnserializableData(data) {
38
38
  // NOTE: We used to use the react-element-to-jsx-string package but it added
39
39
  // bloat and complicated ESM support. We might go back to something similar
40
40
  // in the future. Or expose a plugin API for custom stringifiers.
41
- return isElement(data) ? '<React.Element />' : String(data);
41
+ return isValidElement(data) ? '<React.Element />' : String(data);
42
42
  }
43
43
  const emptyFnRegex = /^\(\) => \{.+\}$/s;
44
44
  function stringifyFunction(data) {
@@ -1,4 +1,4 @@
1
1
  export type RendererConfig = {
2
- playgroundUrl: string;
3
- rendererUrl?: null | string;
2
+ webSocketUrl: string | null;
3
+ rendererUrl: string | null;
4
4
  };
@@ -1,10 +1,11 @@
1
- import { CosmosCommand } from '../server/serverTypes.js';
1
+ import { CosmosMode } from '../server/serverTypes.js';
2
2
  import { FixtureId } from '../userModules/fixtureTypes.js';
3
3
  export type CosmosRendererUrl = null | string | {
4
4
  dev: string;
5
5
  export: string;
6
6
  };
7
+ export declare function pickRendererUrl(rendererUrl: undefined | CosmosRendererUrl, mode: CosmosMode): null | string;
7
8
  export declare function createRendererUrl(rendererUrl: string, fixtureId?: FixtureId, locked?: boolean): string;
8
- export declare function pickRendererUrl(rendererUrl: undefined | CosmosRendererUrl, command: CosmosCommand): null | string;
9
+ export declare function createWebRendererUrl(rendererUrl: string, fixtureId?: FixtureId, locked?: boolean): string;
9
10
  export declare function encodeRendererUrlFixture(fixtureId: FixtureId): string;
10
11
  export declare function decodeRendererUrlFixture(fixture: string): FixtureId;
@@ -1,5 +1,10 @@
1
1
  import { Base64 } from 'js-base64';
2
2
  import { buildRendererQueryString } from './rendererQueryString.js';
3
+ export function pickRendererUrl(rendererUrl, mode) {
4
+ return rendererUrl && typeof rendererUrl === 'object'
5
+ ? rendererUrl[mode]
6
+ : (rendererUrl ?? null);
7
+ }
3
8
  export function createRendererUrl(rendererUrl, fixtureId, locked) {
4
9
  if (hasFixtureVar(rendererUrl)) {
5
10
  if (!fixtureId)
@@ -14,10 +19,8 @@ export function createRendererUrl(rendererUrl, fixtureId, locked) {
14
19
  return baseUrl + buildRendererQueryString({ fixtureId, locked });
15
20
  }
16
21
  }
17
- export function pickRendererUrl(rendererUrl, command) {
18
- return rendererUrl && typeof rendererUrl === 'object'
19
- ? rendererUrl[command]
20
- : (rendererUrl ?? null);
22
+ export function createWebRendererUrl(rendererUrl, fixtureId, locked) {
23
+ return applyWindowHostnameToRendererUrl(createRendererUrl(rendererUrl, fixtureId, locked));
21
24
  }
22
25
  export function encodeRendererUrlFixture(fixtureId) {
23
26
  return Base64.encode(JSON.stringify(fixtureId));
@@ -40,3 +43,15 @@ function hostOnlyUrl(url) {
40
43
  return false;
41
44
  }
42
45
  }
46
+ function applyWindowHostnameToRendererUrl(rendererUrl) {
47
+ try {
48
+ const url = new URL(rendererUrl);
49
+ const windowHostname = window.location.hostname;
50
+ if (url.hostname !== windowHostname && url.hostname === 'localhost')
51
+ url.hostname = windowHostname;
52
+ return url.toString();
53
+ }
54
+ catch {
55
+ return rendererUrl;
56
+ }
57
+ }
@@ -1 +1 @@
1
- export type CosmosCommand = 'dev' | 'export';
1
+ export type CosmosMode = 'dev' | 'export';
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/fixturestate/classstate.ts","../src/fixturestate/classstatetypes.ts","../src/fixturestate/createvalues.ts","../src/fixturestate/extendwithvalues.ts","../src/fixturestate/fixturestate.ts","../src/fixturestate/inputstypes.ts","../src/fixturestate/props.ts","../src/fixturestate/propstypes.ts","../src/fixturestate/types.ts","../src/fixturestate/viewport.ts","../src/fixturetree/fixtureutils.ts","../src/fixturetree/flattenfixturetree.tsx","../src/fixturetree/types.ts","../src/fixturetree/createfixturetree/collapsefixturedirs.ts","../src/fixturetree/createfixturetree/collapseindexes.ts","../src/fixturetree/createfixturetree/collapsenamedindexes.ts","../src/fixturetree/createfixturetree/collapseouterdirs.ts","../src/fixturetree/createfixturetree/createrawfixturetree.ts","../src/fixturetree/createfixturetree/hidefixturesuffix.ts","../src/fixturetree/createfixturetree/index.ts","../src/message/servermessage.ts","../src/message/socketmessage.ts","../src/playground/playgroundparams.ts","../src/playground/playgroundquerystring.ts","../src/playground/registerplaygroundshortcuts.ts","../src/plugin/cosmospluginconfig.ts","../src/renderer/rendererconfig.ts","../src/renderer/rendererconnect.ts","../src/renderer/rendererquerystring.ts","../src/renderer/rendererurl.ts","../src/server/servertypes.ts","../src/usermodules/fixturetypes.ts","../src/usermodules/getfixturefromexport.ts","../src/usermodules/getfixturelist.ts","../src/usermodules/getsorteddecoratorsforfixturepath.ts","../src/usermodules/ismultifixture.ts","../src/usermodules/stringifyfixtureid.ts","../src/usermodules/usermoduletypes.ts","../src/utils/array.ts","../src/utils/data.ts","../src/utils/keys.ts","../src/utils/querystring.ts","../src/utils/serializable.ts","../src/utils/state.ts","../src/utils/string.ts","../src/utils/tree.ts","../src/utils/uuid.ts","../src/utils/window.ts","../src/utils/react/delayrender.tsx","../src/utils/react/arenodesequal.ts","../src/utils/react/getcomponentname.ts","../src/utils/react/isreactelement.ts"],"version":"5.7.3"}
1
+ {"root":["../src/index.ts","../src/fixturestate/classstate.ts","../src/fixturestate/classstatetypes.ts","../src/fixturestate/createvalues.ts","../src/fixturestate/extendwithvalues.ts","../src/fixturestate/fixturestate.ts","../src/fixturestate/inputstypes.ts","../src/fixturestate/props.ts","../src/fixturestate/propstypes.ts","../src/fixturestate/types.ts","../src/fixturestate/viewport.ts","../src/fixturetree/fixtureutils.ts","../src/fixturetree/flattenfixturetree.tsx","../src/fixturetree/types.ts","../src/fixturetree/createfixturetree/collapsefixturedirs.ts","../src/fixturetree/createfixturetree/collapseindexes.ts","../src/fixturetree/createfixturetree/collapsenamedindexes.ts","../src/fixturetree/createfixturetree/collapseouterdirs.ts","../src/fixturetree/createfixturetree/createrawfixturetree.ts","../src/fixturetree/createfixturetree/hidefixturesuffix.ts","../src/fixturetree/createfixturetree/index.ts","../src/message/servermessage.ts","../src/message/socketmessage.ts","../src/playground/playgroundparams.ts","../src/playground/playgroundquerystring.ts","../src/playground/registerplaygroundshortcuts.ts","../src/plugin/cosmospluginconfig.ts","../src/renderer/rendererconfig.ts","../src/renderer/rendererconnect.ts","../src/renderer/rendererquerystring.ts","../src/renderer/rendererurl.ts","../src/server/servertypes.ts","../src/usermodules/fixturetypes.ts","../src/usermodules/getfixturefromexport.ts","../src/usermodules/getfixturelist.ts","../src/usermodules/getsorteddecoratorsforfixturepath.ts","../src/usermodules/ismultifixture.ts","../src/usermodules/stringifyfixtureid.ts","../src/usermodules/usermoduletypes.ts","../src/utils/array.ts","../src/utils/data.ts","../src/utils/keys.ts","../src/utils/querystring.ts","../src/utils/serializable.ts","../src/utils/state.ts","../src/utils/string.ts","../src/utils/tree.ts","../src/utils/uuid.ts","../src/utils/window.ts","../src/utils/react/delayrender.tsx","../src/utils/react/arenodesequal.ts","../src/utils/react/getcomponentname.ts","../src/utils/react/isreactelement.ts"],"version":"5.8.3"}
@@ -1,8 +1,8 @@
1
- import { isElement } from 'react-is';
1
+ import { isValidElement } from 'react';
2
2
  export function isMultiFixture(fixtureExport) {
3
3
  return (fixtureExport !== null &&
4
4
  typeof fixtureExport === 'object' &&
5
- !isElement(fixtureExport) &&
5
+ !isValidElement(fixtureExport) &&
6
6
  // With React Server Components, fixture exports of Client fixtures are
7
7
  // wrapped in a Promise. The React ComponentType union does include
8
8
  // PromiseLikeOfReactNode but for some reason it's impossible do type
@@ -1,5 +1,5 @@
1
1
  import { isPlainObject } from 'lodash-es';
2
- import { isElement } from 'react-is';
2
+ import { isValidElement } from 'react';
3
3
  export function isString(value) {
4
4
  return typeof value === 'string';
5
5
  }
@@ -23,7 +23,7 @@ export function isPrimitiveData(data) {
23
23
  isUndefined(data));
24
24
  }
25
25
  export function isObject(data) {
26
- return isPlainObject(data) && !isElement(data);
26
+ return isPlainObject(data) && !isValidElement(data);
27
27
  }
28
28
  export function isArray(data) {
29
29
  return Array.isArray(data);
@@ -1,4 +1,4 @@
1
- import { isElement } from 'react-is';
1
+ import { isValidElement } from 'react';
2
2
  export function isReactElement(node) {
3
- return isElement(node);
3
+ return isValidElement(node);
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-cosmos-core",
3
- "version": "6.2.4-canary.fb62804e.18+fb62804e",
3
+ "version": "7.0.0-beta.0",
4
4
  "description": "React Cosmos Core",
5
5
  "repository": "https://github.com/react-cosmos/react-cosmos/tree/main/packages/react-cosmos-core",
6
6
  "license": "MIT",
@@ -9,8 +9,7 @@
9
9
  "main": "./dist/index.js",
10
10
  "dependencies": {
11
11
  "js-base64": "3.7.7",
12
- "lodash-es": "4.17.21",
13
- "react-is": "19.0.0"
12
+ "lodash-es": "4.17.21"
14
13
  },
15
- "gitHead": "fb62804edf00a3963886be7568dd453f59567b46"
14
+ "gitHead": "c01fecbf8b3342846f24d5860bf2d5146801ae3e"
16
15
  }