expo-router 55.0.4 → 55.0.5

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.
Files changed (40) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/getReactNavigationConfig.d.ts +1 -1
  3. package/build/getReactNavigationConfig.d.ts.map +1 -1
  4. package/build/getReactNavigationConfig.js +4 -4
  5. package/build/getReactNavigationConfig.js.map +1 -1
  6. package/expo-module.config.json +1 -1
  7. package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.module → 55.0.5/expo.modules.router-55.0.5.module} +7 -7
  8. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.module.md5 +1 -0
  9. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.module.sha1 +1 -0
  10. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.module.sha256 +1 -0
  11. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.module.sha512 +1 -0
  12. package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.pom → 55.0.5/expo.modules.router-55.0.5.pom} +1 -1
  13. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.pom.md5 +1 -0
  14. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.pom.sha1 +1 -0
  15. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.pom.sha256 +1 -0
  16. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.5/expo.modules.router-55.0.5.pom.sha512 +1 -0
  17. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  18. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  19. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  20. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  21. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  22. package/package.json +3 -3
  23. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.module.md5 +0 -1
  24. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.module.sha1 +0 -1
  25. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.module.sha256 +0 -1
  26. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.module.sha512 +0 -1
  27. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.pom.md5 +0 -1
  28. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.pom.sha1 +0 -1
  29. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.pom.sha256 +0 -1
  30. package/local-maven-repo/expo/modules/router/expo.modules.router/55.0.4/expo.modules.router-55.0.4.pom.sha512 +0 -1
  31. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4-sources.jar → 55.0.5/expo.modules.router-55.0.5-sources.jar} +0 -0
  32. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4-sources.jar.md5 → 55.0.5/expo.modules.router-55.0.5-sources.jar.md5} +0 -0
  33. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4-sources.jar.sha1 → 55.0.5/expo.modules.router-55.0.5-sources.jar.sha1} +0 -0
  34. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4-sources.jar.sha256 → 55.0.5/expo.modules.router-55.0.5-sources.jar.sha256} +0 -0
  35. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4-sources.jar.sha512 → 55.0.5/expo.modules.router-55.0.5-sources.jar.sha512} +0 -0
  36. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.aar → 55.0.5/expo.modules.router-55.0.5.aar} +0 -0
  37. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.aar.md5 → 55.0.5/expo.modules.router-55.0.5.aar.md5} +0 -0
  38. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.aar.sha1 → 55.0.5/expo.modules.router-55.0.5.aar.sha1} +0 -0
  39. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.aar.sha256 → 55.0.5/expo.modules.router-55.0.5.aar.sha256} +0 -0
  40. /package/local-maven-repo/expo/modules/router/expo.modules.router/{55.0.4/expo.modules.router-55.0.4.aar.sha512 → 55.0.5/expo.modules.router-55.0.5.aar.sha512} +0 -0
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.router'
7
- version = '55.0.4'
7
+ version = '55.0.5'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.router"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "55.0.4"
13
+ versionName "55.0.5"
14
14
  }
15
15
  lintOptions {
16
16
  abortOnError false
@@ -7,7 +7,7 @@ export type Screen = string | {
7
7
  };
8
8
  export declare function parseRouteSegments(segments: string): string;
9
9
  export declare function getReactNavigationScreensConfig(nodes: RouteNode[], metaOnly: boolean): Record<string, Screen>;
10
- export declare function getReactNavigationConfig(routes: RouteNode, metaOnly: boolean): {
10
+ export declare function getReactNavigationConfig(routeTree: RouteNode | null, metaOnly: boolean): {
11
11
  initialRouteName: undefined;
12
12
  screens: Record<string, Screen>;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getReactNavigationConfig.d.ts","sourceRoot":"","sources":["../src/getReactNavigationConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,MAAM,GACd,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAsBN,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc3D;AAoCD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;;;EAY5E"}
1
+ {"version":3,"file":"getReactNavigationConfig.d.ts","sourceRoot":"","sources":["../src/getReactNavigationConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,MAAM,GACd,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAsBN,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc3D;AAoCD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO;;;EAatF"}
@@ -71,15 +71,15 @@ function convertRouteNodeToScreen(node, metaOnly) {
71
71
  function getReactNavigationScreensConfig(nodes, metaOnly) {
72
72
  return Object.fromEntries(nodes.map((node) => [node.route, convertRouteNodeToScreen(node, metaOnly)]));
73
73
  }
74
- function getReactNavigationConfig(routes, metaOnly) {
74
+ function getReactNavigationConfig(routeTree, metaOnly) {
75
75
  const config = {
76
76
  initialRouteName: undefined,
77
- screens: getReactNavigationScreensConfig(routes.children, metaOnly),
77
+ screens: routeTree ? getReactNavigationScreensConfig(routeTree.children, metaOnly) : {},
78
78
  };
79
- if (routes.initialRouteName) {
79
+ if (routeTree?.initialRouteName) {
80
80
  // We're using LinkingOptions the generic type is `object` instead of a proper ParamList.
81
81
  // So we need to cast the initialRouteName to `any` to avoid type errors.
82
- config.initialRouteName = routes.initialRouteName;
82
+ config.initialRouteName = routeTree.initialRouteName;
83
83
  }
84
84
  return config;
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getReactNavigationConfig.js","sourceRoot":"","sources":["../src/getReactNavigationConfig.ts"],"names":[],"mappings":";;AAgCA,gDAcC;AAoCD,0EAOC;AAED,4DAYC;AAtGD,yCAA8C;AAW9C,sBAAsB;AACtB,mBAAmB;AACnB,SAAS,oCAAoC,CAAC,OAAe;IAC3D,wEAAwE;IACxE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;SAAM,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC;QAC7B,OAAO,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO;IACL,gEAAgE;IAChE,yDAAyD;IACzD,qEAAqE;IACrE,QAAQ;SACL,KAAK,CAAC,GAAG,CAAC;QACX,qDAAqD;SACpD,GAAG,CAAC,oCAAoC,CAAC;QAC1C,sDAAsD;SACrD,MAAM,CAAC,OAAO,CAAC;QAChB,4BAA4B;SAC3B,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAe,EAAE,QAAiB;IAClE,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,IAAI;gBACJ,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAW;QACrB,IAAI;QACJ,OAAO;KACR,CAAC;IAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,mEAAmE;QACnE,kEAAkE;QAClE,6EAA6E;QAC7E,2CAA2C;QAC3C,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,+BAA+B,CAC7C,KAAkB,EAClB,QAAiB;IAEjB,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAU,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAiB,EAAE,QAAiB;IAC3E,MAAM,MAAM,GAAG;QACb,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,+BAA+B,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACpE,CAAC;IAEF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,yFAAyF;QACzF,yEAAyE;QACzE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAuB,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { RouteNode } from './Route';\nimport { matchDynamicName } from './matchers';\n\nexport type Screen =\n | string\n | {\n path: string;\n screens: Record<string, Screen>;\n _route?: RouteNode;\n initialRouteName?: string;\n };\n\n// `[page]` -> `:page`\n// `page` -> `page`\nfunction convertDynamicRouteToReactNavigation(segment: string): string {\n // NOTE(EvanBacon): To support shared routes we preserve group segments.\n if (segment === 'index') {\n return '';\n }\n if (segment === '+not-found') {\n return '*not-found';\n }\n const dynamicName = matchDynamicName(segment);\n if (dynamicName && !dynamicName.deep) {\n return `:${dynamicName.name}`;\n } else if (dynamicName?.deep) {\n return '*' + dynamicName.name;\n } else {\n return segment;\n }\n}\n\nexport function parseRouteSegments(segments: string): string {\n return (\n // NOTE(EvanBacon): When there are nested routes without layouts\n // the node.route will be something like `app/home/index`\n // this needs to be split to ensure each segment is parsed correctly.\n segments\n .split('/')\n // Convert each segment to a React Navigation format.\n .map(convertDynamicRouteToReactNavigation)\n // Remove any empty paths from groups or index routes.\n .filter(Boolean)\n // Join to return as a path.\n .join('/')\n );\n}\n\nfunction convertRouteNodeToScreen(node: RouteNode, metaOnly: boolean): Screen {\n const path = parseRouteSegments(node.route);\n if (!node.children.length) {\n if (!metaOnly) {\n return {\n path,\n screens: {},\n _route: node,\n };\n }\n return path;\n }\n const screens = getReactNavigationScreensConfig(node.children, metaOnly);\n\n const screen: Screen = {\n path,\n screens,\n };\n\n if (node.initialRouteName) {\n // NOTE(EvanBacon): This is bad because it forces all Layout Routes\n // to be loaded into memory. We should move towards a system where\n // the initial route name is either loaded asynchronously in the Layout Route\n // or defined via a file system convention.\n screen.initialRouteName = node.initialRouteName;\n }\n\n if (!metaOnly) {\n screen._route = node;\n }\n\n return screen;\n}\n\nexport function getReactNavigationScreensConfig(\n nodes: RouteNode[],\n metaOnly: boolean\n): Record<string, Screen> {\n return Object.fromEntries(\n nodes.map((node) => [node.route, convertRouteNodeToScreen(node, metaOnly)] as const)\n );\n}\n\nexport function getReactNavigationConfig(routes: RouteNode, metaOnly: boolean) {\n const config = {\n initialRouteName: undefined,\n screens: getReactNavigationScreensConfig(routes.children, metaOnly),\n };\n\n if (routes.initialRouteName) {\n // We're using LinkingOptions the generic type is `object` instead of a proper ParamList.\n // So we need to cast the initialRouteName to `any` to avoid type errors.\n config.initialRouteName = routes.initialRouteName as any;\n }\n return config;\n}\n"]}
1
+ {"version":3,"file":"getReactNavigationConfig.js","sourceRoot":"","sources":["../src/getReactNavigationConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RouteNode } from './Route';\nimport { matchDynamicName } from './matchers';\n\nexport type Screen =\n | string\n | {\n path: string;\n screens: Record<string, Screen>;\n _route?: RouteNode;\n initialRouteName?: string;\n };\n\n// `[page]` -> `:page`\n// `page` -> `page`\nfunction convertDynamicRouteToReactNavigation(segment: string): string {\n // NOTE(EvanBacon): To support shared routes we preserve group segments.\n if (segment === 'index') {\n return '';\n }\n if (segment === '+not-found') {\n return '*not-found';\n }\n const dynamicName = matchDynamicName(segment);\n if (dynamicName && !dynamicName.deep) {\n return `:${dynamicName.name}`;\n } else if (dynamicName?.deep) {\n return '*' + dynamicName.name;\n } else {\n return segment;\n }\n}\n\nexport function parseRouteSegments(segments: string): string {\n return (\n // NOTE(EvanBacon): When there are nested routes without layouts\n // the node.route will be something like `app/home/index`\n // this needs to be split to ensure each segment is parsed correctly.\n segments\n .split('/')\n // Convert each segment to a React Navigation format.\n .map(convertDynamicRouteToReactNavigation)\n // Remove any empty paths from groups or index routes.\n .filter(Boolean)\n // Join to return as a path.\n .join('/')\n );\n}\n\nfunction convertRouteNodeToScreen(node: RouteNode, metaOnly: boolean): Screen {\n const path = parseRouteSegments(node.route);\n if (!node.children.length) {\n if (!metaOnly) {\n return {\n path,\n screens: {},\n _route: node,\n };\n }\n return path;\n }\n const screens = getReactNavigationScreensConfig(node.children, metaOnly);\n\n const screen: Screen = {\n path,\n screens,\n };\n\n if (node.initialRouteName) {\n // NOTE(EvanBacon): This is bad because it forces all Layout Routes\n // to be loaded into memory. We should move towards a system where\n // the initial route name is either loaded asynchronously in the Layout Route\n // or defined via a file system convention.\n screen.initialRouteName = node.initialRouteName;\n }\n\n if (!metaOnly) {\n screen._route = node;\n }\n\n return screen;\n}\n\nexport function getReactNavigationScreensConfig(\n nodes: RouteNode[],\n metaOnly: boolean\n): Record<string, Screen> {\n return Object.fromEntries(\n nodes.map((node) => [node.route, convertRouteNodeToScreen(node, metaOnly)] as const)\n );\n}\n\nexport function getReactNavigationConfig(routeTree: RouteNode | null, metaOnly: boolean) {\n const config = {\n initialRouteName: undefined,\n screens: routeTree ? getReactNavigationScreensConfig(routeTree.children, metaOnly) : {},\n };\n\n if (routeTree?.initialRouteName) {\n // We're using LinkingOptions the generic type is `object` instead of a proper ParamList.\n // So we need to cast the initialRouteName to `any` to avoid type errors.\n config.initialRouteName = routeTree.initialRouteName as any;\n }\n\n return config;\n}\n"]}
@@ -9,7 +9,7 @@
9
9
  "publication": {
10
10
  "groupId": "expo.modules.router",
11
11
  "artifactId": "expo.modules.router",
12
- "version": "55.0.4",
12
+ "version": "55.0.5",
13
13
  "repository": "local-maven-repo"
14
14
  }
15
15
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.router",
5
5
  "module": "expo.modules.router",
6
- "version": "55.0.4",
6
+ "version": "55.0.5",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.router-55.0.4.aar",
28
- "url": "expo.modules.router-55.0.4.aar",
27
+ "name": "expo.modules.router-55.0.5.aar",
28
+ "url": "expo.modules.router-55.0.5.aar",
29
29
  "size": 13684,
30
30
  "sha512": "096e87bdf28a3c152ae7522330d6395eb967a309de7a888cc9e2654bbed45dc52d89fc7153bda0870732d72a1d938c0508be24b0b213c592e4dd61e3b105f1f2",
31
31
  "sha256": "3bdd36a13fbff4fb9fa0e431e2f71ab69c3d52d2fd72e9dad006249c6d447dcb",
@@ -60,8 +60,8 @@
60
60
  ],
61
61
  "files": [
62
62
  {
63
- "name": "expo.modules.router-55.0.4.aar",
64
- "url": "expo.modules.router-55.0.4.aar",
63
+ "name": "expo.modules.router-55.0.5.aar",
64
+ "url": "expo.modules.router-55.0.5.aar",
65
65
  "size": 13684,
66
66
  "sha512": "096e87bdf28a3c152ae7522330d6395eb967a309de7a888cc9e2654bbed45dc52d89fc7153bda0870732d72a1d938c0508be24b0b213c592e4dd61e3b105f1f2",
67
67
  "sha256": "3bdd36a13fbff4fb9fa0e431e2f71ab69c3d52d2fd72e9dad006249c6d447dcb",
@@ -80,8 +80,8 @@
80
80
  },
81
81
  "files": [
82
82
  {
83
- "name": "expo.modules.router-55.0.4-sources.jar",
84
- "url": "expo.modules.router-55.0.4-sources.jar",
83
+ "name": "expo.modules.router-55.0.5-sources.jar",
84
+ "url": "expo.modules.router-55.0.5-sources.jar",
85
85
  "size": 2326,
86
86
  "sha512": "a1a1537b57bc0d66efbf2bdfd5f514684400b9598e549eaf53c528d1bf32ff42b7826e74fb6e115f8ec0490b9e06ffbb3c3efe9f2f703652c13291ef82b0fa03",
87
87
  "sha256": "2add0f802e663eb9b5f90e086dca0e0e337a1442e15fb372a05945e01ee0d289",
@@ -0,0 +1 @@
1
+ bd938df8799536e5bad775a74e93fb22bfed780edb67ec90c224265d3de22894
@@ -0,0 +1 @@
1
+ 181c67244df19ea37ff62d66345b8284555e4d864e72467a900d708ce0baf2a8883c793f1b88c0598bb6107547286181c9c27cf71c09d87bc1ac634cf40dfa13
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.router</groupId>
11
11
  <artifactId>expo.modules.router</artifactId>
12
- <version>55.0.4</version>
12
+ <version>55.0.5</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.router</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 7c0c7fe3c2b1497588f1ca29d731cf8b9ef31d37738a4b78a0d1360d346bff86
@@ -0,0 +1 @@
1
+ 223324ba2cf6eaa09fe1c9c7b8fcb5b60b9d8942926b66303034db4acbbcfbdfcfe48343172042381f9fd98e557121a00231393b514ae71173c3d3ada31ab477
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.router</groupId>
4
4
  <artifactId>expo.modules.router</artifactId>
5
5
  <versioning>
6
- <latest>55.0.4</latest>
7
- <release>55.0.4</release>
6
+ <latest>55.0.5</latest>
7
+ <release>55.0.5</release>
8
8
  <versions>
9
- <version>55.0.4</version>
9
+ <version>55.0.5</version>
10
10
  </versions>
11
- <lastUpdated>20260305092617</lastUpdated>
11
+ <lastUpdated>20260311141659</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 4496827117cd08e8419ca36d630e4cc6
1
+ 30335fecbcab7d367223533228dabb85
@@ -1 +1 @@
1
- 515ffef5b9101c880d698789aa98f91732b50193
1
+ 0152624c82ad683b9f5143c521d4a4bbbde4594b
@@ -1 +1 @@
1
- 0572e3c0a82989400498bcd939927134a7509d3d2c18a37a9a15b57f444ef6a0
1
+ 603335e2005f23bb5072fead26e065ebcf2b51e441325e751da4e66dbb58f26a
@@ -1 +1 @@
1
- ffe8321b14985146d579691e0251330102ab7ae3542a39187b40ff60c7564b3a0c5e4fdad8f9326d100f077d75019b693a2f75bebf8542a0e7d6c35c15691249
1
+ 9f737311a339e4245c099a3dcc70849dcdb329bbe9441b7f8ccb932d35ec400c3f58ef758070bc34b4a2b40d555fa139ee32eadb5cf0b22eb1687923134984cd
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-router",
3
- "version": "55.0.4",
3
+ "version": "55.0.5",
4
4
  "description": "Expo Router is a file-based router for React Native and web applications.",
5
5
  "author": "650 Industries, Inc.",
6
6
  "license": "MIT",
@@ -143,7 +143,7 @@
143
143
  "client-only": "^0.0.1",
144
144
  "debug": "^4.3.4",
145
145
  "escape-string-regexp": "^4.0.0",
146
- "expo-glass-effect": "^55.0.7",
146
+ "expo-glass-effect": "^55.0.8",
147
147
  "expo-image": "^55.0.6",
148
148
  "expo-server": "^55.0.6",
149
149
  "expo-symbols": "^55.0.5",
@@ -160,5 +160,5 @@
160
160
  "use-latest-callback": "^0.2.1",
161
161
  "vaul": "^1.1.2"
162
162
  },
163
- "gitHead": "756404b0eb18d441b54c7136b4142349193f554b"
163
+ "gitHead": "bcdd2c239f8a92cdf5140e35cde768352630acd6"
164
164
  }
@@ -1 +0,0 @@
1
- 4c93d299d67f15be595a30acad1fabb81eae91a46482905bdb7c9b17413bde3d
@@ -1 +0,0 @@
1
- 753a12d23875429f58c10d06635e2b14163efbc4688d9170856d797bdcdb740e3ff2cb5fa47f284c9dbc3790eda1db9630a1a5666e31a16f590b1685a3d20069
@@ -1 +0,0 @@
1
- d9eb6b521e8b1ce783fb679caf5bbae203e18a2d18e57489f5e2cf0681d45348
@@ -1 +0,0 @@
1
- 9df1959265f7c2e7bd5b13c47c4fed04443d49e69d95783dd6fc42394537e6ea94ba189c406f7f8e8bdb9d748e6e4d884b028c5bcab9695bcaa27f166569d34e