Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@react-navigation/core

Package Overview
Dependencies
Maintainers
6
Versions
325
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-navigation/core - npm Package Compare versions

Comparing version
7.17.4
to
7.17.5
+61
-20
lib/module/StaticNavigation.js

@@ -182,3 +182,14 @@ "use strict";

let initialScreenConfig;
const createPathConfigForTree = (t, o, skipInitialDetection) => {
let hasEmptyPath = false;
const createPathConfigForTree = (t, o, skipInitialDetection, allowAutoEmptyPath) => {
const initialRouteName = o?.initialRouteName ?? t.config.initialRouteName;
if (initialRouteName != null) {
const routeNames = new Set(Object.keys(t.config.screens ?? {}));
for (const group of Object.values(t.config.groups ?? {})) {
Object.keys(group.screens).forEach(name => routeNames.add(name));
}
if (!routeNames.has(initialRouteName)) {
throw new Error(`Couldn't find a screen named '${initialRouteName}' to use as 'initialRouteName'.`);
}
}
const createPathConfigForScreens = (screens, initialRouteName) => {

@@ -198,19 +209,42 @@ return Object.fromEntries(Object.entries(screens)

const screenConfig = {};
if ('linking' in item) {
const normalizePath = path => path.replace(/^\/+|\/+$/g, '');
if ('linking' in item && item.linking !== undefined) {
if (typeof item.linking === 'string') {
screenConfig.path = item.linking;
} else {
} else if (item.linking != null && typeof item.linking === 'object') {
Object.assign(screenConfig, item.linking);
}
if (typeof screenConfig.path === 'string') {
screenConfig.path = screenConfig.path.replace(/^\//, '') // Remove extra leading slash
.replace(/\/$/, ''); // Remove extra trailing slash
}
}
if (screenConfig.exact && screenConfig.path == null) {
throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
}
if (typeof screenConfig.path === 'string') {
screenConfig.path = normalizePath(screenConfig.path);
}
if (screenConfig.alias != null) {
screenConfig.alias = screenConfig.alias.map(alias => {
if (typeof alias === 'string') {
return normalizePath(alias);
}
return {
...alias,
path: normalizePath(alias.path)
};
});
}
let screens;
const hasExplicitScreens = 'screens' in screenConfig && screenConfig.screens != null;
const hasDisabledLinking = 'linking' in item && item.linking === null;
const childOptions = 'initialRouteName' in screenConfig && typeof screenConfig.initialRouteName === 'string' ? {
initialRouteName: screenConfig.initialRouteName
} : undefined;
if (hasExplicitScreens && childOptions != null && !Object.keys(screenConfig.screens ?? {}).includes(childOptions.initialRouteName)) {
throw new Error(`Couldn't find a screen named '${childOptions.initialRouteName}' to use as 'initialRouteName'.`);
}
const skipInitialDetectionInChild = skipInitialDetection || screenConfig.path != null && screenConfig.path !== '';
if ('config' in item) {
screens = createPathConfigForTree(item, undefined, skipInitialDetectionInChild);
} else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
screens = createPathConfigForTree(item.screen, undefined, skipInitialDetectionInChild);
const allowAutoEmptyPathInChild = allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName);
if (!hasExplicitScreens && !hasDisabledLinking && 'config' in item) {
screens = createPathConfigForTree(item, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
} else if (!hasExplicitScreens && !hasDisabledLinking && 'screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
screens = createPathConfigForTree(item.screen, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
}

@@ -220,20 +254,27 @@ if (screens) {

}
if (auto && !screenConfig.screens &&
// Skip generating path for screens that specify linking config as `undefined` or `null` explicitly
!('linking' in item && item.linking == null)) {
if (auto && !('screens' in screenConfig && screenConfig.screens) &&
// Skip generating path for screens that specify linking config as `null` explicitly
!hasDisabledLinking) {
if (screenConfig.path != null) {
if (!skipInitialDetection) {
if (key === initialRouteName && screenConfig.path != null) {
initialScreenHasPath = true;
} else if (screenConfig.path === '') {
if (screenConfig.path === '') {
// We encounter a leaf screen with empty path,
// Clear the initial screen config as it's not needed anymore
initialScreenConfig = undefined;
hasEmptyPath = true;
if (allowAutoEmptyPath && key === initialRouteName) {
initialScreenHasPath = true;
}
} else if (allowAutoEmptyPath && key === initialRouteName &&
// Keep an already discovered fallback unless the initial route
// explicitly uses an empty path.
initialScreenConfig == null) {
initialScreenHasPath = true;
}
}
} else {
if (!skipInitialDetection && initialScreenConfig == null) {
if (!skipInitialDetection && allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName) && !hasEmptyPath && initialScreenConfig == null) {
initialScreenConfig = screenConfig;
}
screenConfig.path = key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase();
screenConfig.path = normalizePath(key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase());
}

@@ -263,3 +304,3 @@ }

};
const screens = createPathConfigForTree(tree, options, false);
const screens = createPathConfigForTree(tree, options, false, true);
if (auto && initialScreenConfig && !initialScreenHasPath) {

@@ -266,0 +307,0 @@ initialScreenConfig.path = '';

@@ -1,1 +0,1 @@

{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticNavigation","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","screenOptions","options","screenListeners","createComponentForStaticNavigationDeprecated","console","warn","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","initialRouteName","fromEntries","sort","a","b","screenConfig","linking","path","assign","replace","skipInitialDetectionInChild","undefined","toLowerCase","filter","keys","forEach"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticNavigation","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","screenOptions","options","screenListeners","createComponentForStaticNavigationDeprecated","console","warn","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","hasEmptyPath","createPathConfigForTree","t","o","skipInitialDetection","allowAutoEmptyPath","initialRouteName","routeNames","Set","keys","values","forEach","add","has","createPathConfigForScreens","fromEntries","sort","a","b","screenConfig","normalizePath","path","replace","linking","undefined","assign","exact","alias","hasExplicitScreens","hasDisabledLinking","childOptions","includes","skipInitialDetectionInChild","allowAutoEmptyPathInChild","toLowerCase","filter"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
import type { NavigationState, ParamListBase } from '@react-navigation/routers';
import * as React from 'react';
import type { DefaultNavigatorOptions, EventMapBase, NavigationListBase, NavigatorTypeBagBase, PathConfig, RouteConfigComponent, RouteConfigProps, RouteGroupConfig } from './types';
import type { DefaultNavigatorOptions, EventMapBase, NavigationListBase, NavigatorTypeBagBase, PathConfig, PathConfigMap, RouteConfigComponent, RouteConfigProps, RouteGroupConfig } from './types';
export type { StaticParamList } from './types';

@@ -33,3 +33,3 @@ type StaticRouteConfig<ParamList extends ParamListBase, RouteName extends keyof ParamList, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigation> = RouteConfigProps<ParamList, RouteName, State, ScreenOptions, EventMap, Navigation> & RouteConfigComponent<ParamList, RouteName>;

*/
linking?: PathConfig<ParamList> | string;
linking?: PathConfig<ParamListBase> | string | null;
/**

@@ -114,12 +114,18 @@ * Static navigation config or Component to render for the screen.

type TreeForPathConfig = {
config: {
initialRouteName?: string;
screens?: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
groups?: {
[key: string]: {
screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
};
config: ConfigForPathConfig;
};
type ConfigForPathConfig = {
initialRouteName?: string;
screens?: Record<string, ScreenForPathConfig>;
groups?: {
[key: string]: {
screens: Record<string, ScreenForPathConfig>;
};
};
};
type LinkingForPathConfig = PathConfig<ParamListBase> | string | null | undefined;
type ScreenForPathConfig = React.ComponentType<any> | TreeForPathConfig | {
screen: React.ComponentType<any> | TreeForPathConfig;
linking?: LinkingForPathConfig;
};
/**

@@ -146,3 +152,3 @@ * Create a path config object from a static navigation config for deep linking.

initialRouteName?: string;
}, auto?: boolean): {} | undefined;
}, auto?: boolean): PathConfigMap<ParamListBase> | undefined;
//# sourceMappingURL=StaticNavigation.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
{
"name": "@react-navigation/core",
"description": "Core utilities for building navigators",
"version": "7.17.4",
"version": "7.17.5",
"keywords": [

@@ -86,3 +86,3 @@ "react",

},
"gitHead": "01ae31e084223989654cbaafeffc88b4448b5d4f"
"gitHead": "b89bba20b9d6d935224dd5afa287f62a627b6c7e"
}

@@ -11,2 +11,3 @@ import type { NavigationState, ParamListBase } from '@react-navigation/routers';

PathConfig,
PathConfigMap,
RouteConfigComponent,

@@ -83,3 +84,3 @@ RouteConfigProps,

*/
linking?: PathConfig<ParamList> | string;
linking?: PathConfig<ParamListBase> | string | null;
/**

@@ -434,21 +435,11 @@ * Static navigation config or Component to render for the screen.

type TreeForPathConfig = {
config: {
initialRouteName?: string;
screens?: StaticConfigScreens<
ParamListBase,
NavigationState,
{},
EventMapBase,
Record<string, unknown>
>;
groups?: {
[key: string]: {
screens: StaticConfigScreens<
ParamListBase,
NavigationState,
{},
EventMapBase,
Record<string, unknown>
>;
};
config: ConfigForPathConfig;
};
type ConfigForPathConfig = {
initialRouteName?: string;
screens?: Record<string, ScreenForPathConfig>;
groups?: {
[key: string]: {
screens: Record<string, ScreenForPathConfig>;
};

@@ -458,2 +449,16 @@ };

type LinkingForPathConfig =
| PathConfig<ParamListBase>
| string
| null
| undefined;
type ScreenForPathConfig =
| React.ComponentType<any>
| TreeForPathConfig
| {
screen: React.ComponentType<any> | TreeForPathConfig;
linking?: LinkingForPathConfig;
};
/**

@@ -484,5 +489,6 @@ * Create a path config object from a static navigation config for deep linking.

auto?: boolean
) {
): PathConfigMap<ParamListBase> | undefined {
let initialScreenHasPath: boolean = false;
let initialScreenConfig: PathConfig<ParamListBase> | undefined;
let hasEmptyPath = false;

@@ -494,12 +500,23 @@ const createPathConfigForTree = (

// It should not be used for initial detection
skipInitialDetection: boolean
skipInitialDetection: boolean,
allowAutoEmptyPath: boolean
) => {
const initialRouteName = o?.initialRouteName ?? t.config.initialRouteName;
if (initialRouteName != null) {
const routeNames = new Set(Object.keys(t.config.screens ?? {}));
for (const group of Object.values(t.config.groups ?? {})) {
Object.keys(group.screens).forEach((name) => routeNames.add(name));
}
if (!routeNames.has(initialRouteName)) {
throw new Error(
`Couldn't find a screen named '${initialRouteName}' to use as 'initialRouteName'.`
);
}
}
const createPathConfigForScreens = (
screens: StaticConfigScreens<
ParamListBase,
NavigationState,
{},
EventMapBase,
Record<string, unknown>
>,
screens: Record<string, ScreenForPathConfig>,
initialRouteName: string | undefined

@@ -525,29 +542,84 @@ ) => {

if ('linking' in item) {
const normalizePath = (path: string) =>
path.replace(/^\/+|\/+$/g, '');
if ('linking' in item && item.linking !== undefined) {
if (typeof item.linking === 'string') {
screenConfig.path = item.linking;
} else {
} else if (
item.linking != null &&
typeof item.linking === 'object'
) {
Object.assign(screenConfig, item.linking);
}
}
if (typeof screenConfig.path === 'string') {
screenConfig.path = screenConfig.path
.replace(/^\//, '') // Remove extra leading slash
.replace(/\/$/, ''); // Remove extra trailing slash
}
if (screenConfig.exact && screenConfig.path == null) {
throw new Error(
"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`."
);
}
if (typeof screenConfig.path === 'string') {
screenConfig.path = normalizePath(screenConfig.path);
}
if (screenConfig.alias != null) {
screenConfig.alias = screenConfig.alias.map((alias) => {
if (typeof alias === 'string') {
return normalizePath(alias);
}
return {
...alias,
path: normalizePath(alias.path),
};
});
}
let screens;
const hasExplicitScreens =
'screens' in screenConfig && screenConfig.screens != null;
const hasDisabledLinking =
'linking' in item && item.linking === null;
const childOptions =
'initialRouteName' in screenConfig &&
typeof screenConfig.initialRouteName === 'string'
? { initialRouteName: screenConfig.initialRouteName }
: undefined;
if (
hasExplicitScreens &&
childOptions != null &&
!Object.keys(screenConfig.screens ?? {}).includes(
childOptions.initialRouteName
)
) {
throw new Error(
`Couldn't find a screen named '${childOptions.initialRouteName}' to use as 'initialRouteName'.`
);
}
const skipInitialDetectionInChild =
skipInitialDetection ||
(screenConfig.path != null && screenConfig.path !== '');
const allowAutoEmptyPathInChild =
allowAutoEmptyPath &&
(initialRouteName == null || key === initialRouteName);
if ('config' in item) {
if (
!hasExplicitScreens &&
!hasDisabledLinking &&
'config' in item
) {
screens = createPathConfigForTree(
item,
undefined,
skipInitialDetectionInChild
childOptions,
skipInitialDetectionInChild,
allowAutoEmptyPathInChild
);
} else if (
!hasExplicitScreens &&
!hasDisabledLinking &&
'screen' in item &&

@@ -559,4 +631,5 @@ 'config' in item.screen &&

item.screen,
undefined,
skipInitialDetectionInChild
childOptions,
skipInitialDetectionInChild,
allowAutoEmptyPathInChild
);

@@ -571,25 +644,44 @@ }

auto &&
!screenConfig.screens &&
// Skip generating path for screens that specify linking config as `undefined` or `null` explicitly
!('linking' in item && item.linking == null)
!('screens' in screenConfig && screenConfig.screens) &&
// Skip generating path for screens that specify linking config as `null` explicitly
!hasDisabledLinking
) {
if (screenConfig.path != null) {
if (!skipInitialDetection) {
if (key === initialRouteName && screenConfig.path != null) {
initialScreenHasPath = true;
} else if (screenConfig.path === '') {
if (screenConfig.path === '') {
// We encounter a leaf screen with empty path,
// Clear the initial screen config as it's not needed anymore
initialScreenConfig = undefined;
hasEmptyPath = true;
if (allowAutoEmptyPath && key === initialRouteName) {
initialScreenHasPath = true;
}
} else if (
allowAutoEmptyPath &&
key === initialRouteName &&
// Keep an already discovered fallback unless the initial route
// explicitly uses an empty path.
initialScreenConfig == null
) {
initialScreenHasPath = true;
}
}
} else {
if (!skipInitialDetection && initialScreenConfig == null) {
if (
!skipInitialDetection &&
allowAutoEmptyPath &&
(initialRouteName == null || key === initialRouteName) &&
!hasEmptyPath &&
initialScreenConfig == null
) {
initialScreenConfig = screenConfig;
}
screenConfig.path = key
.replace(/([A-Z]+)/g, '-$1')
.replace(/^-/, '')
.toLowerCase();
screenConfig.path = normalizePath(
key
.replace(/([A-Z]+)/g, '-$1')
.replace(/^-/, '')
.toLowerCase()
);
}

@@ -639,3 +731,3 @@ }

const screens = createPathConfigForTree(tree, options, false);
const screens = createPathConfigForTree(tree, options, false, true);

@@ -642,0 +734,0 @@ if (auto && initialScreenConfig && !initialScreenHasPath) {