@grafana/faro-react 1.4.1 → 1.5.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.
Files changed (61) hide show
  1. package/README.md +117 -5
  2. package/dist/bundle/faro-react.iife.js +3 -3
  3. package/dist/bundle/types/index.d.ts +1 -1
  4. package/dist/bundle/types/router/index.d.ts +2 -2
  5. package/dist/bundle/types/router/types.d.ts +2 -1
  6. package/dist/bundle/types/router/v6/index.d.ts +3 -2
  7. package/dist/bundle/types/router/v6/initialize.d.ts +2 -1
  8. package/dist/bundle/types/router/v6/routerDependencies.d.ts +2 -1
  9. package/dist/bundle/types/router/v6/types.d.ts +3 -0
  10. package/dist/bundle/types/router/v6/withFaroRouterInstrumentation.d.ts +16 -0
  11. package/dist/bundle/types/types.d.ts +6 -2
  12. package/dist/cjs/index.js +3 -2
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/router/index.js +2 -1
  15. package/dist/cjs/router/index.js.map +1 -1
  16. package/dist/cjs/router/initialize.js +7 -2
  17. package/dist/cjs/router/initialize.js.map +1 -1
  18. package/dist/cjs/router/types.js +1 -0
  19. package/dist/cjs/router/types.js.map +1 -1
  20. package/dist/cjs/router/v6/FaroRoutes.js +0 -4
  21. package/dist/cjs/router/v6/FaroRoutes.js.map +1 -1
  22. package/dist/cjs/router/v6/index.js +4 -1
  23. package/dist/cjs/router/v6/index.js.map +1 -1
  24. package/dist/cjs/router/v6/initialize.js +5 -1
  25. package/dist/cjs/router/v6/initialize.js.map +1 -1
  26. package/dist/cjs/router/v6/routerDependencies.js +6 -1
  27. package/dist/cjs/router/v6/routerDependencies.js.map +1 -1
  28. package/dist/cjs/router/v6/types.js.map +1 -1
  29. package/dist/cjs/router/v6/withFaroRouterInstrumentation.js +43 -0
  30. package/dist/cjs/router/v6/withFaroRouterInstrumentation.js.map +1 -0
  31. package/dist/cjs/types.js.map +1 -1
  32. package/dist/esm/index.js +1 -1
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/router/index.js +1 -1
  35. package/dist/esm/router/index.js.map +1 -1
  36. package/dist/esm/router/initialize.js +8 -3
  37. package/dist/esm/router/initialize.js.map +1 -1
  38. package/dist/esm/router/types.js +1 -0
  39. package/dist/esm/router/types.js.map +1 -1
  40. package/dist/esm/router/v6/FaroRoutes.js +0 -4
  41. package/dist/esm/router/v6/FaroRoutes.js.map +1 -1
  42. package/dist/esm/router/v6/index.js +2 -1
  43. package/dist/esm/router/v6/index.js.map +1 -1
  44. package/dist/esm/router/v6/initialize.js +4 -1
  45. package/dist/esm/router/v6/initialize.js.map +1 -1
  46. package/dist/esm/router/v6/routerDependencies.js +4 -0
  47. package/dist/esm/router/v6/routerDependencies.js.map +1 -1
  48. package/dist/esm/router/v6/types.js.map +1 -1
  49. package/dist/esm/router/v6/withFaroRouterInstrumentation.js +28 -0
  50. package/dist/esm/router/v6/withFaroRouterInstrumentation.js.map +1 -0
  51. package/dist/esm/types.js.map +1 -1
  52. package/dist/types/index.d.ts +1 -1
  53. package/dist/types/router/index.d.ts +2 -2
  54. package/dist/types/router/types.d.ts +2 -1
  55. package/dist/types/router/v6/index.d.ts +3 -2
  56. package/dist/types/router/v6/initialize.d.ts +2 -1
  57. package/dist/types/router/v6/routerDependencies.d.ts +2 -1
  58. package/dist/types/router/v6/types.d.ts +3 -0
  59. package/dist/types/router/v6/withFaroRouterInstrumentation.d.ts +16 -0
  60. package/dist/types/types.d.ts +6 -2
  61. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import type { ReactRouterV4V5Dependencies, ReactRouterV6Dependencies, ReactRouterVersion } from './router';
1
+ import type { ReactRouterV4V5Dependencies, ReactRouterV6DataRouterDependencies, ReactRouterV6Dependencies, ReactRouterVersion } from './router';
2
2
  export interface ReactRouterV4V5Config {
3
3
  version: ReactRouterVersion.V4 | ReactRouterVersion.V5;
4
4
  dependencies: ReactRouterV4V5Dependencies;
@@ -7,6 +7,10 @@ export interface ReactRouterV6Config {
7
7
  version: ReactRouterVersion.V6;
8
8
  dependencies: ReactRouterV6Dependencies;
9
9
  }
10
+ export interface ReactRouterV6DataRouterConfig {
11
+ version: ReactRouterVersion.V6_data_router;
12
+ dependencies: ReactRouterV6DataRouterDependencies;
13
+ }
10
14
  export interface ReactIntegrationConfig {
11
- router?: ReactRouterV4V5Config | ReactRouterV6Config;
15
+ router?: ReactRouterV4V5Config | ReactRouterV6Config | ReactRouterV6DataRouterConfig;
12
16
  }
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalObject = exports.getWebInstrumentations = exports.getTransportBody = exports.getStackFramesFromError = exports.getInternalFaroFromGlobalObject = exports.getDataFromSafariExtensions = exports.getCurrentTimestamp = exports.genShortID = exports.FetchTransport = exports.ErrorsInstrumentation = exports.defaultViewMeta = exports.defaultMetas = exports.defaultLogLevel = exports.defaultInternalLoggerLevel = exports.defaultGlobalObjectKey = exports.defaultEventDomain = exports.defaultExceptionType = exports.deepEqual = exports.createSession = exports.createPromiseBuffer = exports.createInternalLogger = exports.Conventions = exports.ConsoleTransport = exports.ConsoleInstrumentation = exports.buildStackFrame = exports.browserMeta = exports.BaseTransport = exports.BaseInstrumentation = exports.BaseExtension = exports.allLogLevels = exports.faro = exports.reactVersionMajor = exports.reactVersion = exports.isReactVersionAtLeast18 = exports.isReactVersionAtLeast17 = exports.isReactVersionAtLeast16 = exports.isReactVersionAtLeast = exports.getMajorReactVersion = exports.setReactRouterV6SSRDependencies = exports.setReactRouterV4V5SSRDependencies = exports.ReactRouterVersion = exports.NavigationType = exports.FaroRoutes = exports.FaroRoute = exports.withFaroProfiler = exports.FaroProfiler = exports.ReactIntegration = exports.withFaroErrorBoundary = exports.faroErrorBoundaryInitialState = exports.FaroErrorBoundary = void 0;
4
- exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.VERSION = exports.transportItemTypeToBodyKey = exports.TransportItemType = exports.setInternalFaroOnGlobalObject = exports.parseStacktrace = exports.pageMeta = exports.noop = exports.makeCoreConfig = exports.LogLevel = exports.InternalLoggerLevel = exports.isUndefined = exports.isTypeof = exports.isToString = exports.isThenable = exports.isSyntheticEvent = exports.isSymbol = exports.isString = exports.isRegExp = exports.isPrimitive = exports.isObject = exports.isNumber = exports.isNull = exports.isMapDefined = exports.isMap = exports.isInternalFaroOnGlobalObject = exports.isInt = exports.isInstanceOf = exports.isFunction = exports.isEventDefined = exports.isEvent = exports.isErrorEvent = exports.isErrorDefined = exports.isError = exports.isElementDefined = exports.isElement = exports.isDomException = exports.isDomError = exports.isBoolean = exports.isArray = exports.internalGlobalObjectKey = exports.initializeFaro = void 0;
3
+ exports.getWebInstrumentations = exports.getTransportBody = exports.getStackFramesFromError = exports.getInternalFaroFromGlobalObject = exports.getDataFromSafariExtensions = exports.getCurrentTimestamp = exports.genShortID = exports.FetchTransport = exports.ErrorsInstrumentation = exports.defaultViewMeta = exports.defaultMetas = exports.defaultLogLevel = exports.defaultInternalLoggerLevel = exports.defaultGlobalObjectKey = exports.defaultEventDomain = exports.defaultExceptionType = exports.deepEqual = exports.createSession = exports.createPromiseBuffer = exports.createInternalLogger = exports.Conventions = exports.ConsoleTransport = exports.ConsoleInstrumentation = exports.buildStackFrame = exports.browserMeta = exports.BaseTransport = exports.BaseInstrumentation = exports.BaseExtension = exports.allLogLevels = exports.faro = exports.reactVersionMajor = exports.reactVersion = exports.isReactVersionAtLeast18 = exports.isReactVersionAtLeast17 = exports.isReactVersionAtLeast16 = exports.isReactVersionAtLeast = exports.getMajorReactVersion = exports.withFaroRouterInstrumentation = exports.setReactRouterV6SSRDependencies = exports.setReactRouterV4V5SSRDependencies = exports.ReactRouterVersion = exports.NavigationType = exports.FaroRoutes = exports.FaroRoute = exports.withFaroProfiler = exports.FaroProfiler = exports.ReactIntegration = exports.withFaroErrorBoundary = exports.faroErrorBoundaryInitialState = exports.FaroErrorBoundary = void 0;
4
+ exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.VERSION = exports.transportItemTypeToBodyKey = exports.TransportItemType = exports.setInternalFaroOnGlobalObject = exports.parseStacktrace = exports.pageMeta = exports.noop = exports.makeCoreConfig = exports.LogLevel = exports.InternalLoggerLevel = exports.isUndefined = exports.isTypeof = exports.isToString = exports.isThenable = exports.isSyntheticEvent = exports.isSymbol = exports.isString = exports.isRegExp = exports.isPrimitive = exports.isObject = exports.isNumber = exports.isNull = exports.isMapDefined = exports.isMap = exports.isInternalFaroOnGlobalObject = exports.isInt = exports.isInstanceOf = exports.isFunction = exports.isEventDefined = exports.isEvent = exports.isErrorEvent = exports.isErrorDefined = exports.isError = exports.isElementDefined = exports.isElement = exports.isDomException = exports.isDomError = exports.isBoolean = exports.isArray = exports.internalGlobalObjectKey = exports.initializeFaro = exports.globalObject = void 0;
5
5
  var errorBoundary_1 = require("./errorBoundary");
6
6
  Object.defineProperty(exports, "FaroErrorBoundary", { enumerable: true, get: function () { return errorBoundary_1.FaroErrorBoundary; } });
7
7
  Object.defineProperty(exports, "faroErrorBoundaryInitialState", { enumerable: true, get: function () { return errorBoundary_1.faroErrorBoundaryInitialState; } });
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "NavigationType", { enumerable: true, get: functi
18
18
  Object.defineProperty(exports, "ReactRouterVersion", { enumerable: true, get: function () { return router_1.ReactRouterVersion; } });
19
19
  Object.defineProperty(exports, "setReactRouterV4V5SSRDependencies", { enumerable: true, get: function () { return router_1.setReactRouterV4V5SSRDependencies; } });
20
20
  Object.defineProperty(exports, "setReactRouterV6SSRDependencies", { enumerable: true, get: function () { return router_1.setReactRouterV6SSRDependencies; } });
21
+ Object.defineProperty(exports, "withFaroRouterInstrumentation", { enumerable: true, get: function () { return router_1.withFaroRouterInstrumentation; } });
21
22
  var utils_1 = require("./utils");
22
23
  Object.defineProperty(exports, "getMajorReactVersion", { enumerable: true, get: function () { return utils_1.getMajorReactVersion; } });
23
24
  Object.defineProperty(exports, "isReactVersionAtLeast", { enumerable: true, get: function () { return utils_1.isReactVersionAtLeast; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type { ReactIntegrationConfig, ReactRouterV4V5Config, ReactRouterV6Config } from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n Conventions,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n defaultMetas,\n defaultViewMeta,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n pageMeta,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleInstrumentationOptions,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n} from '@grafana/faro-web-sdk';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n withFaroRouterInstrumentation,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type { ReactIntegrationConfig, ReactRouterV4V5Config, ReactRouterV6Config } from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n Conventions,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n defaultMetas,\n defaultViewMeta,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n pageMeta,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleInstrumentationOptions,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n} from '@grafana/faro-web-sdk';\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setReactRouterV6SSRDependencies = exports.FaroRoutes = exports.setReactRouterV4V5SSRDependencies = exports.FaroRoute = exports.ReactRouterVersion = exports.NavigationType = exports.initializeReactRouterInstrumentation = void 0;
3
+ exports.withFaroRouterInstrumentation = exports.setReactRouterV6SSRDependencies = exports.FaroRoutes = exports.setReactRouterV4V5SSRDependencies = exports.FaroRoute = exports.ReactRouterVersion = exports.NavigationType = exports.initializeReactRouterInstrumentation = void 0;
4
4
  var initialize_1 = require("./initialize");
5
5
  Object.defineProperty(exports, "initializeReactRouterInstrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterInstrumentation; } });
6
6
  var types_1 = require("./types");
@@ -12,4 +12,5 @@ Object.defineProperty(exports, "setReactRouterV4V5SSRDependencies", { enumerable
12
12
  var v6_1 = require("./v6");
13
13
  Object.defineProperty(exports, "FaroRoutes", { enumerable: true, get: function () { return v6_1.FaroRoutes; } });
14
14
  Object.defineProperty(exports, "setReactRouterV6SSRDependencies", { enumerable: true, get: function () { return v6_1.setReactRouterV6SSRDependencies; } });
15
+ Object.defineProperty(exports, "withFaroRouterInstrumentation", { enumerable: true, get: function () { return v6_1.withFaroRouterInstrumentation; } });
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AAA3D,kIAAA,oCAAoC,OAAA;AAE7C,iCAA6D;AAApD,uGAAA,cAAc,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAG3C,+BAAsE;AAA7D,iGAAA,SAAS,OAAA;AAAE,yHAAA,iCAAiC,OAAA;AAGrD,2BAAmE;AAA1D,gGAAA,UAAU,OAAA;AAAE,qHAAA,+BAA+B,OAAA","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport { FaroRoute, setReactRouterV4V5SSRDependencies } from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport { FaroRoutes, setReactRouterV6SSRDependencies } from './v6';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './v6';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AAA3D,kIAAA,oCAAoC,OAAA;AAE7C,iCAA6D;AAApD,uGAAA,cAAc,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAG3C,+BAAsE;AAA7D,iGAAA,SAAS,OAAA;AAAE,yHAAA,iCAAiC,OAAA;AAGrD,2BAAkG;AAAzF,gGAAA,UAAU,OAAA;AAAE,qHAAA,+BAA+B,OAAA;AAAE,mHAAA,6BAA6B,OAAA","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport { FaroRoute, setReactRouterV4V5SSRDependencies } from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport { FaroRoutes, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation } from './v6';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './v6';\n"]}
@@ -7,14 +7,19 @@ var v4v5_1 = require("./v4v5");
7
7
  var v6_1 = require("./v6");
8
8
  function initializeReactRouterInstrumentation(options) {
9
9
  var _a;
10
+ var initMessage = 'Initializing React Router';
10
11
  switch ((_a = options.router) === null || _a === void 0 ? void 0 : _a.version) {
11
12
  case types_1.ReactRouterVersion.V6:
12
- dependencies_1.internalLogger.debug('Initializing React Router V6 instrumentation');
13
+ dependencies_1.internalLogger.debug("".concat(initMessage, " V6 instrumentation"));
13
14
  (0, v6_1.initializeReactRouterV6Instrumentation)(options.router.dependencies);
14
15
  break;
16
+ case types_1.ReactRouterVersion.V6_data_router:
17
+ dependencies_1.internalLogger.debug("".concat(initMessage, " V6 data router instrumentation"));
18
+ (0, v6_1.initializeReactRouterV6DataRouterInstrumentation)(options.router.dependencies);
19
+ break;
15
20
  case types_1.ReactRouterVersion.V5:
16
21
  case types_1.ReactRouterVersion.V4:
17
- dependencies_1.internalLogger.debug("Initializing React Router ".concat(options.router.version, " instrumentation"));
22
+ dependencies_1.internalLogger.debug("".concat(initMessage, " ").concat(options.router.version, " instrumentation"));
18
23
  (0, v4v5_1.initializeReactRouterV4V5Instrumentation)(options.router.dependencies);
19
24
  break;
20
25
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAGjD,iCAA6C;AAC7C,+BAAkE;AAClE,2BAA8D;AAE9D,SAAgB,oCAAoC,CAAC,OAA+B;;IAClF,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE;QAC/B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACrE,IAAA,2CAAsC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,oCAA6B,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YAC5F,IAAA,+CAAwC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,6BAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;KACnF;AACH,CAAC;AAhBD,oFAgBC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n switch (options.router?.version) {\n case ReactRouterVersion.V6:\n internalLogger.debug('Initializing React Router V6 instrumentation');\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`Initializing React Router ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAGjD,iCAA6C;AAC7C,+BAAkE;AAClE,2BAAgH;AAEhH,SAAgB,oCAAoC,CAAC,OAA+B;;IAClF,IAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE;QAC/B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,wBAAqB,CAAC,CAAC;YAC1D,IAAA,2CAAsC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,0BAAkB,CAAC,cAAc;YACpC,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,oCAAiC,CAAC,CAAC;YACtE,IAAA,qDAAgD,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YACjF,IAAA,+CAAwC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,6BAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;KACnF;AACH,CAAC;AAvBD,oFAuBC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} V6 instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} V6 data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
@@ -6,6 +6,7 @@ var ReactRouterVersion;
6
6
  ReactRouterVersion["V4"] = "v4";
7
7
  ReactRouterVersion["V5"] = "v5";
8
8
  ReactRouterVersion["V6"] = "v6";
9
+ ReactRouterVersion["V6_data_router"] = "v6_data_router";
9
10
  })(ReactRouterVersion = exports.ReactRouterVersion || (exports.ReactRouterVersion = {}));
10
11
  var NavigationType;
11
12
  (function (NavigationType) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,+BAAS,CAAA;AACX,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB","sourcesContent":["export interface ReactRouterLocation<S extends any = unknown> {\n hash: string;\n key: string;\n pathname: string;\n search: string;\n state: S;\n}\n\nexport interface ReactRouterHistory extends Record<string, any> {\n listen?: (cb: (location: ReactRouterLocation, action: NavigationType) => void) => void;\n location?: ReactRouterLocation;\n}\n\nexport enum ReactRouterVersion {\n V4 = 'v4',\n V5 = 'v5',\n V6 = 'v6',\n}\n\nexport enum NavigationType {\n Pop = 'POP',\n Push = 'PUSH',\n Replace = 'REPLACE',\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB","sourcesContent":["export interface ReactRouterLocation<S extends any = unknown> {\n hash: string;\n key: string;\n pathname: string;\n search: string;\n state: S;\n}\n\nexport interface ReactRouterHistory extends Record<string, any> {\n listen?: (cb: (location: ReactRouterLocation, action: NavigationType) => void) => void;\n location?: ReactRouterLocation;\n}\n\nexport enum ReactRouterVersion {\n V4 = 'v4',\n V5 = 'v5',\n V6 = 'v6',\n V6_data_router = 'v6_data_router',\n}\n\nexport enum NavigationType {\n Pop = 'POP',\n Push = 'PUSH',\n Replace = 'REPLACE',\n}\n"]}
@@ -30,10 +30,6 @@ function FaroRoutes(props) {
30
30
  if (routerDependencies_1.isInitialized && (navigationType === types_1.NavigationType.Push || navigationType === types_1.NavigationType.Pop)) {
31
31
  var route = (0, utils_1.getRouteFromLocation)(routes, location);
32
32
  var url = (_a = faro_web_sdk_1.globalObject.location) === null || _a === void 0 ? void 0 : _a.href;
33
- var _c = lastRouteRef.current, fromRoute = _c.fromRoute, fromUrl = _c.fromUrl;
34
- if (route === fromRoute && url === fromUrl) {
35
- return;
36
- }
37
33
  dependencies_1.api.pushEvent(faro_web_sdk_1.EVENT_ROUTE_CHANGE, __assign({ toRoute: route, toUrl: (_b = faro_web_sdk_1.globalObject.location) === null || _b === void 0 ? void 0 : _b.href }, lastRouteRef.current));
38
34
  lastRouteRef.current = {
39
35
  fromRoute: route,
@@ -1 +1 @@
1
- {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6/FaroRoutes.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAmD;AAEnD,sDAAyE;AAEzE,mDAAyC;AACzC,kCAA0C;AAE1C,2DAAuH;AAEvH,iCAA+C;AAE/C,SAAgB,UAAU,CAAC,KAA+B;;IACxD,IAAM,QAAQ,GAAG,gCAAW,aAAX,gCAAW,2BAAX,gCAAW,GAAI,CAAC;IACjC,IAAM,cAAc,GAAG,sCAAiB,aAAjB,sCAAiB,2BAAjB,sCAAiB,GAAI,CAAC;IAE7C,IAAM,MAAM,GAAG,IAAA,eAAO,EAAC,sBAAM,OAAA,MAAA,6CAAwB,aAAxB,6CAAwB,2BAAxB,6CAAwB,EAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,IAAM,YAAY,GAAG,IAAA,cAAM,EAAiC,EAAE,CAAC,CAAC;IAEhE,IAAA,iBAAS,EAAC;;QACR,IAAI,kCAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE;YACtG,IAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,GAAG,GAAG,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAClC,IAAA,KAAyB,YAAY,CAAC,OAAO,EAA3C,SAAS,eAAA,EAAE,OAAO,aAAyB,CAAC;YAEpD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC1C,OAAO;aACR;YAED,kBAAG,CAAC,SAAS,CAAC,iCAAkB,aAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,2BAAM,CAAC;IAErD,OAAO,uBAAC,YAAY,eAAK,KAAK,EAAI,CAAC;AACrC,CAAC;AAlCD,gCAkCC","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n const { fromRoute, fromUrl } = lastRouteRef.current;\n\n if (route === fromRoute && url === fromUrl) {\n return;\n }\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
1
+ {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6/FaroRoutes.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAmD;AAEnD,sDAAyE;AAEzE,mDAAyC;AACzC,kCAA0C;AAE1C,2DAAuH;AAEvH,iCAA+C;AAE/C,SAAgB,UAAU,CAAC,KAA+B;;IACxD,IAAM,QAAQ,GAAG,gCAAW,aAAX,gCAAW,2BAAX,gCAAW,GAAI,CAAC;IACjC,IAAM,cAAc,GAAG,sCAAiB,aAAjB,sCAAiB,2BAAjB,sCAAiB,GAAI,CAAC;IAE7C,IAAM,MAAM,GAAG,IAAA,eAAO,EAAC,sBAAM,OAAA,MAAA,6CAAwB,aAAxB,6CAAwB,2BAAxB,6CAAwB,EAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,IAAM,YAAY,GAAG,IAAA,cAAM,EAAiC,EAAE,CAAC,CAAC;IAEhE,IAAA,iBAAS,EAAC;;QACR,IAAI,kCAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE;YACtG,IAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,GAAG,GAAG,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,kBAAG,CAAC,SAAS,CAAC,iCAAkB,aAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,2BAAM,CAAC;IAErD,OAAO,uBAAC,YAAY,eAAK,KAAK,EAAI,CAAC;AACrC,CAAC;AA7BD,gCA6BC","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setReactRouterV6SSRDependencies = exports.initializeReactRouterV6Instrumentation = exports.FaroRoutes = void 0;
3
+ exports.withFaroRouterInstrumentation = exports.setReactRouterV6SSRDependencies = exports.initializeReactRouterV6DataRouterInstrumentation = exports.initializeReactRouterV6Instrumentation = exports.FaroRoutes = void 0;
4
4
  var FaroRoutes_1 = require("./FaroRoutes");
5
5
  Object.defineProperty(exports, "FaroRoutes", { enumerable: true, get: function () { return FaroRoutes_1.FaroRoutes; } });
6
6
  var initialize_1 = require("./initialize");
7
7
  Object.defineProperty(exports, "initializeReactRouterV6Instrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV6Instrumentation; } });
8
+ Object.defineProperty(exports, "initializeReactRouterV6DataRouterInstrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV6DataRouterInstrumentation; } });
8
9
  var routerDependencies_1 = require("./routerDependencies");
9
10
  Object.defineProperty(exports, "setReactRouterV6SSRDependencies", { enumerable: true, get: function () { return routerDependencies_1.setReactRouterV6SSRDependencies; } });
11
+ var withFaroRouterInstrumentation_1 = require("./withFaroRouterInstrumentation");
12
+ Object.defineProperty(exports, "withFaroRouterInstrumentation", { enumerable: true, get: function () { return withFaroRouterInstrumentation_1.withFaroRouterInstrumentation; } });
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2CAAsE;AAA7D,oIAAA,sCAAsC,OAAA;AAE/C,2DAAuE;AAA9D,qIAAA,+BAA+B,OAAA","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport { initializeReactRouterV6Instrumentation } from './initialize';\n\nexport { setReactRouterV6SSRDependencies } from './routerDependencies';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2CAAwH;AAA/G,oIAAA,sCAAsC,OAAA;AAAE,8IAAA,gDAAgD,OAAA;AAEjG,2DAAuE;AAA9D,qIAAA,+BAA+B,OAAA;AAExC,iFAAgF;AAAvE,8IAAA,6BAA6B,OAAA","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport { initializeReactRouterV6Instrumentation, initializeReactRouterV6DataRouterInstrumentation } from './initialize';\n\nexport { setReactRouterV6SSRDependencies } from './routerDependencies';\n\nexport { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './types';\n"]}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.initializeReactRouterV6Instrumentation = void 0;
6
+ exports.initializeReactRouterV6DataRouterInstrumentation = exports.initializeReactRouterV6Instrumentation = void 0;
7
7
  var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
8
8
  var FaroRoutes_1 = require("./FaroRoutes");
9
9
  var routerDependencies_1 = require("./routerDependencies");
@@ -12,4 +12,8 @@ function initializeReactRouterV6Instrumentation(dependencies) {
12
12
  (0, routerDependencies_1.setReactRouterV6Dependencies)(dependencies);
13
13
  }
14
14
  exports.initializeReactRouterV6Instrumentation = initializeReactRouterV6Instrumentation;
15
+ function initializeReactRouterV6DataRouterInstrumentation(dependencies) {
16
+ (0, routerDependencies_1.setReactRouterV6DataRouterDependencies)(dependencies);
17
+ }
18
+ exports.initializeReactRouterV6DataRouterInstrumentation = initializeReactRouterV6DataRouterInstrumentation;
15
19
  //# sourceMappingURL=initialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6/initialize.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA2D;AAE3D,2CAA0C;AAC1C,2DAAoE;AAGpE,SAAgB,sCAAsC,CAAC,YAAuC;IAC5F,IAAA,iCAAoB,EAAC,uBAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAA,iDAA4B,EAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAJD,wFAIC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport { setReactRouterV6Dependencies } from './routerDependencies';\nimport type { ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n\n setReactRouterV6Dependencies(dependencies);\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6/initialize.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA2D;AAE3D,2CAA0C;AAC1C,2DAG8B;AAG9B,SAAgB,sCAAsC,CAAC,YAAuC;IAC5F,IAAA,iCAAoB,EAAC,uBAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,IAAA,iDAA4B,EAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAHD,wFAGC;AAED,SAAgB,gDAAgD,CAC9D,YAAiD;IAEjD,IAAA,2DAAsC,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAJD,4GAIC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport {\n setReactRouterV6DataRouterDependencies as setReactRouterV6DataRouterDependencies,\n setReactRouterV6Dependencies,\n} from './routerDependencies';\nimport type { ReactRouterV6DataRouterDependencies, ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n setReactRouterV6Dependencies(dependencies);\n}\n\nexport function initializeReactRouterV6DataRouterInstrumentation(\n dependencies: ReactRouterV6DataRouterDependencies\n): void {\n setReactRouterV6DataRouterDependencies(dependencies);\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setReactRouterV6SSRDependencies = exports.setReactRouterV6Dependencies = exports.useNavigationType = exports.useLocation = exports.Routes = exports.matchRoutes = exports.createRoutesFromChildren = exports.isInitialized = void 0;
3
+ exports.setReactRouterV6DataRouterDependencies = exports.setReactRouterV6SSRDependencies = exports.setReactRouterV6Dependencies = exports.useNavigationType = exports.useLocation = exports.Routes = exports.matchRoutes = exports.createRoutesFromChildren = exports.isInitialized = void 0;
4
4
  exports.isInitialized = false;
5
5
  function setReactRouterV6Dependencies(newDependencies) {
6
6
  exports.isInitialized = true;
@@ -15,4 +15,9 @@ function setReactRouterV6SSRDependencies(newDependencies) {
15
15
  exports.Routes = newDependencies.Routes;
16
16
  }
17
17
  exports.setReactRouterV6SSRDependencies = setReactRouterV6SSRDependencies;
18
+ function setReactRouterV6DataRouterDependencies(newDependencies) {
19
+ exports.isInitialized = true;
20
+ exports.matchRoutes = newDependencies.matchRoutes;
21
+ }
22
+ exports.setReactRouterV6DataRouterDependencies = setReactRouterV6DataRouterDependencies;
18
23
  //# sourceMappingURL=routerDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routerDependencies.js","sourceRoot":"","sources":["../../../../src/router/v6/routerDependencies.ts"],"names":[],"mappings":";;;AASW,QAAA,aAAa,GAAG,KAAK,CAAC;AAOjC,SAAgB,4BAA4B,CAAC,eAA0C;IACrF,qBAAa,GAAG,IAAI,CAAC;IAErB,gCAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,yBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AARD,oEAQC;AAED,SAAgB,+BAA+B,CAAC,eAA0D;IACxG,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC;AAFD,0EAEC","sourcesContent":["import type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n\nexport let isInitialized = false;\nexport let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\nexport let matchRoutes: ReactRouterV6MatchRoutes;\nexport let Routes: ReactRouterV6RoutesShape;\nexport let useLocation: ReactRouterV6UseLocation;\nexport let useNavigationType: ReactRouterV6UseNavigationType;\n\nexport function setReactRouterV6Dependencies(newDependencies: ReactRouterV6Dependencies): void {\n isInitialized = true;\n\n createRoutesFromChildren = newDependencies.createRoutesFromChildren;\n matchRoutes = newDependencies.matchRoutes;\n Routes = newDependencies.Routes;\n useLocation = newDependencies.useLocation;\n useNavigationType = newDependencies.useNavigationType;\n}\n\nexport function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n"]}
1
+ {"version":3,"file":"routerDependencies.js","sourceRoot":"","sources":["../../../../src/router/v6/routerDependencies.ts"],"names":[],"mappings":";;;AAUW,QAAA,aAAa,GAAG,KAAK,CAAC;AAOjC,SAAgB,4BAA4B,CAAC,eAA0C;IACrF,qBAAa,GAAG,IAAI,CAAC;IAErB,gCAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,yBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AARD,oEAQC;AAED,SAAgB,+BAA+B,CAAC,eAA0D;IACxG,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC;AAFD,0EAEC;AAED,SAAgB,sCAAsC,CAAC,eAAoD;IACzG,qBAAa,GAAG,IAAI,CAAC;IACrB,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;AAC5C,CAAC;AAHD,wFAGC","sourcesContent":["import type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6DataRouterDependencies,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n\nexport let isInitialized = false;\nexport let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\nexport let matchRoutes: ReactRouterV6MatchRoutes;\nexport let Routes: ReactRouterV6RoutesShape;\nexport let useLocation: ReactRouterV6UseLocation;\nexport let useNavigationType: ReactRouterV6UseNavigationType;\n\nexport function setReactRouterV6Dependencies(newDependencies: ReactRouterV6Dependencies): void {\n isInitialized = true;\n\n createRoutesFromChildren = newDependencies.createRoutesFromChildren;\n matchRoutes = newDependencies.matchRoutes;\n Routes = newDependencies.Routes;\n useLocation = newDependencies.useLocation;\n useNavigationType = newDependencies.useNavigationType;\n}\n\nexport function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n\nexport function setReactRouterV6DataRouterDependencies(newDependencies: ReactRouterV6DataRouterDependencies): void {\n isInitialized = true;\n matchRoutes = newDependencies.matchRoutes;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\n\nimport type { ReactRouterLocation } from '../types';\n\nexport interface ReactRouterV6BaseRouteObject {\n action?: (...args: any[]) => any;\n caseSensitive?: boolean;\n hasErrorBoundary?: boolean;\n handle?: any;\n id?: string;\n loader?: (...args: any[]) => any;\n path?: string;\n shouldRevalidate?: (...args: any[]) => any;\n}\n\nexport type ReactRouterV6RouteObject = ReactRouterV6BaseRouteObject &\n (\n | {\n children?: undefined;\n index: true;\n }\n | {\n children?: ReactRouterV6RouteObject[];\n index?: false;\n }\n );\n\nexport interface ReactRouterV6RoutesProps {\n children?: ReactNode;\n location?: Partial<ReactRouterLocation> | string;\n routesComponent?: ReactRouterV6RoutesShape;\n}\n\nexport type ReactRouterV6Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\nexport interface ReactRouterV6RouteMatch<ParamKey extends string = string> {\n params: ReactRouterV6Params<ParamKey>;\n pathname: string;\n pathnameBase: string;\n route: ReactRouterV6RouteObject;\n}\n\nexport type ReactRouterV6CreateRoutesFromChildren = (children: ReactNode) => ReactRouterV6RouteObject[];\n\nexport type ReactRouterV6MatchRoutes = (\n routes: ReactRouterV6RouteObject[],\n location: Partial<ReactRouterLocation> | string,\n basename?: string | undefined\n) => ReactRouterV6RouteMatch[] | null;\n\nexport type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;\n\nexport type ReactRouterV6UseLocation = () => ReactRouterLocation;\n\nexport type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';\n\nexport interface ReactRouterV6Dependencies {\n createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\n matchRoutes: ReactRouterV6MatchRoutes;\n Routes: ReactRouterV6RoutesShape;\n useLocation: ReactRouterV6UseLocation;\n useNavigationType: ReactRouterV6UseNavigationType;\n}\n\nexport type EventRouteTransitionAttributes = {\n fromRoute?: string;\n fromUrl?: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\n\nimport type { ReactRouterLocation } from '../types';\n\nexport interface ReactRouterV6BaseRouteObject {\n action?: (...args: any[]) => any;\n caseSensitive?: boolean;\n hasErrorBoundary?: boolean;\n handle?: any;\n id?: string;\n loader?: (...args: any[]) => any;\n path?: string;\n shouldRevalidate?: (...args: any[]) => any;\n}\n\nexport type ReactRouterV6RouteObject = ReactRouterV6BaseRouteObject &\n (\n | {\n children?: undefined;\n index: true;\n }\n | {\n children?: ReactRouterV6RouteObject[];\n index?: false;\n }\n );\n\nexport interface ReactRouterV6RoutesProps {\n children?: ReactNode;\n location?: Partial<ReactRouterLocation> | string;\n routesComponent?: ReactRouterV6RoutesShape;\n}\n\nexport type ReactRouterV6Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\nexport interface ReactRouterV6RouteMatch<ParamKey extends string = string> {\n params: ReactRouterV6Params<ParamKey>;\n pathname: string;\n pathnameBase: string;\n route: ReactRouterV6RouteObject;\n}\n\nexport type ReactRouterV6CreateRoutesFromChildren = (children: ReactNode) => ReactRouterV6RouteObject[];\n\nexport type ReactRouterV6MatchRoutes = (\n routes: ReactRouterV6RouteObject[],\n location: Partial<ReactRouterLocation> | string,\n basename?: string | undefined\n) => ReactRouterV6RouteMatch[] | null;\n\nexport type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;\n\nexport type ReactRouterV6UseLocation = () => ReactRouterLocation;\n\nexport type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';\n\nexport interface ReactRouterV6Dependencies {\n createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\n matchRoutes: ReactRouterV6MatchRoutes;\n Routes: ReactRouterV6RoutesShape;\n useLocation: ReactRouterV6UseLocation;\n useNavigationType: ReactRouterV6UseNavigationType;\n}\n\nexport interface ReactRouterV6DataRouterDependencies {\n matchRoutes: ReactRouterV6MatchRoutes;\n}\n\nexport type EventRouteTransitionAttributes = {\n fromRoute?: string;\n fromUrl?: string;\n};\n"]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.withFaroRouterInstrumentation = void 0;
15
+ var faro_web_sdk_1 = require("@grafana/faro-web-sdk");
16
+ var dependencies_1 = require("../../dependencies");
17
+ var types_1 = require("../types");
18
+ var routerDependencies_1 = require("./routerDependencies");
19
+ var utils_1 = require("./utils");
20
+ /**
21
+ * To use with React Router 6.4 data APIs.
22
+ */
23
+ function withFaroRouterInstrumentation(router) {
24
+ var lastRoute = {};
25
+ router.subscribe(function (state) {
26
+ var _a, _b;
27
+ var navigationType = state.historyAction;
28
+ var location = state.location;
29
+ var routes = router.routes;
30
+ if (routerDependencies_1.isInitialized && (navigationType === types_1.NavigationType.Push || navigationType === types_1.NavigationType.Pop)) {
31
+ var route = (0, utils_1.getRouteFromLocation)(routes, location);
32
+ var url = (_a = faro_web_sdk_1.globalObject.location) === null || _a === void 0 ? void 0 : _a.href;
33
+ dependencies_1.api.pushEvent(faro_web_sdk_1.EVENT_ROUTE_CHANGE, __assign({ toRoute: route, toUrl: (_b = faro_web_sdk_1.globalObject.location) === null || _b === void 0 ? void 0 : _b.href }, lastRoute));
34
+ lastRoute = {
35
+ fromRoute: route,
36
+ fromUrl: url,
37
+ };
38
+ }
39
+ });
40
+ return router;
41
+ }
42
+ exports.withFaroRouterInstrumentation = withFaroRouterInstrumentation;
43
+ //# sourceMappingURL=withFaroRouterInstrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withFaroRouterInstrumentation.js","sourceRoot":"","sources":["../../../../src/router/v6/withFaroRouterInstrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAyE;AAEzE,mDAAyC;AACzC,kCAA+D;AAE/D,2DAAqD;AAErD,iCAA+C;AAa/C;;GAEG;AACH,SAAgB,6BAA6B,CAA4B,MAAS;IAChF,IAAI,SAAS,GAAmC,EAAE,CAAC;IAEnD,MAAM,CAAC,SAAS,CAAC,UAAC,KAAK;;QACrB,IAAM,cAAc,GAAmB,KAAK,CAAC,aAAa,CAAC;QAC3D,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,IAAI,kCAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE;YACtG,IAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,GAAG,GAAG,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,kBAAG,CAAC,SAAS,CAAC,iCAAkB,aAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,SAAS,EACZ,CAAC;YAEH,SAAS,GAAG;gBACV,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,sEA0BC","sourcesContent":["import { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType, ReactRouterLocation } from '../types';\n\nimport { isInitialized } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RouteObject } from './types';\nimport { getRouteFromLocation } from './utils';\n\ninterface RouterState {\n historyAction: NavigationType | any;\n location: ReactRouterLocation;\n}\n\ninterface Router {\n state: RouterState;\n routes: ReactRouterV6RouteObject[];\n subscribe(fn: (state: RouterState) => void): () => void;\n}\n\n/**\n * To use with React Router 6.4 data APIs.\n */\nexport function withFaroRouterInstrumentation<R extends Router = Router>(router: R) {\n let lastRoute: EventRouteTransitionAttributes = {};\n\n router.subscribe((state) => {\n const navigationType: NavigationType = state.historyAction;\n const location = state.location;\n const routes = router.routes;\n\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRoute,\n });\n\n lastRoute = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n });\n\n return router;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactRouterV4V5Dependencies, ReactRouterV6Dependencies, ReactRouterVersion } from './router';\n\nexport interface ReactRouterV4V5Config {\n version: ReactRouterVersion.V4 | ReactRouterVersion.V5;\n dependencies: ReactRouterV4V5Dependencies;\n}\n\nexport interface ReactRouterV6Config {\n version: ReactRouterVersion.V6;\n dependencies: ReactRouterV6Dependencies;\n}\n\nexport interface ReactIntegrationConfig {\n router?: ReactRouterV4V5Config | ReactRouterV6Config;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ReactRouterV4V5Dependencies,\n ReactRouterV6DataRouterDependencies,\n ReactRouterV6Dependencies,\n ReactRouterVersion,\n} from './router';\n\nexport interface ReactRouterV4V5Config {\n version: ReactRouterVersion.V4 | ReactRouterVersion.V5;\n dependencies: ReactRouterV4V5Dependencies;\n}\n\nexport interface ReactRouterV6Config {\n version: ReactRouterVersion.V6;\n dependencies: ReactRouterV6Dependencies;\n}\n\nexport interface ReactRouterV6DataRouterConfig {\n version: ReactRouterVersion.V6_data_router;\n dependencies: ReactRouterV6DataRouterDependencies;\n}\n\nexport interface ReactIntegrationConfig {\n router?: ReactRouterV4V5Config | ReactRouterV6Config | ReactRouterV6DataRouterConfig;\n}\n"]}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';
2
2
  export { ReactIntegration } from './instrumentation';
3
3
  export { FaroProfiler, withFaroProfiler } from './profiler';
4
- export { FaroRoute, FaroRoutes, NavigationType, ReactRouterVersion, setReactRouterV4V5SSRDependencies, setReactRouterV6SSRDependencies, } from './router';
4
+ export { FaroRoute, FaroRoutes, NavigationType, ReactRouterVersion, setReactRouterV4V5SSRDependencies, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation, } from './router';
5
5
  export { getMajorReactVersion, isReactVersionAtLeast, isReactVersionAtLeast16, isReactVersionAtLeast17, isReactVersionAtLeast18, reactVersion, reactVersionMajor, } from './utils';
6
6
  export { faro, allLogLevels, BaseExtension, BaseInstrumentation, BaseTransport, browserMeta, buildStackFrame, ConsoleInstrumentation, ConsoleTransport, Conventions, createInternalLogger, createPromiseBuffer, createSession, deepEqual, defaultExceptionType, defaultEventDomain, defaultGlobalObjectKey, defaultInternalLoggerLevel, defaultLogLevel, defaultMetas, defaultViewMeta, ErrorsInstrumentation, FetchTransport, genShortID, getCurrentTimestamp, getDataFromSafariExtensions, getInternalFaroFromGlobalObject, getStackFramesFromError, getTransportBody, getWebInstrumentations, globalObject, initializeFaro, internalGlobalObjectKey, isArray, isBoolean, isDomError, isDomException, isElement, isElementDefined, isError, isErrorDefined, isErrorEvent, isEvent, isEventDefined, isFunction, isInstanceOf, isInt, isInternalFaroOnGlobalObject, isMap, isMapDefined, isNull, isNumber, isObject, isPrimitive, isRegExp, isString, isSymbol, isSyntheticEvent, isThenable, isToString, isTypeof, isUndefined, InternalLoggerLevel, LogLevel, makeCoreConfig, noop, pageMeta, parseStacktrace, setInternalFaroOnGlobalObject, TransportItemType, transportItemTypeToBodyKey, VERSION, ViewInstrumentation, WebVitalsInstrumentation, } from '@grafana/faro-web-sdk';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAS1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,UAAU,CAAC;AAqBlB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,4BAA4B,EAC5B,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,0BAA0B,EAC1B,OAAO,EACP,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type { ReactIntegrationConfig, ReactRouterV4V5Config, ReactRouterV6Config } from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n Conventions,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n defaultMetas,\n defaultViewMeta,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n pageMeta,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleInstrumentationOptions,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n} from '@grafana/faro-web-sdk';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAS1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,UAAU,CAAC;AAqBlB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,4BAA4B,EAC5B,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,0BAA0B,EAC1B,OAAO,EACP,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n withFaroRouterInstrumentation,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type { ReactIntegrationConfig, ReactRouterV4V5Config, ReactRouterV6Config } from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n Conventions,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n defaultMetas,\n defaultViewMeta,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n pageMeta,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleInstrumentationOptions,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n} from '@grafana/faro-web-sdk';\n"]}
@@ -1,5 +1,5 @@
1
1
  export { initializeReactRouterInstrumentation } from './initialize';
2
2
  export { NavigationType, ReactRouterVersion } from './types';
3
3
  export { FaroRoute, setReactRouterV4V5SSRDependencies } from './v4v5';
4
- export { FaroRoutes, setReactRouterV6SSRDependencies } from './v6';
4
+ export { FaroRoutes, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation } from './v6';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,QAAQ,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,+BAA+B,EAAE,MAAM,MAAM,CAAC","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport { FaroRoute, setReactRouterV4V5SSRDependencies } from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport { FaroRoutes, setReactRouterV6SSRDependencies } from './v6';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './v6';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,QAAQ,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,MAAM,CAAC","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport { FaroRoute, setReactRouterV4V5SSRDependencies } from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport { FaroRoutes, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation } from './v6';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './v6';\n"]}
@@ -1,17 +1,22 @@
1
1
  import { internalLogger } from '../dependencies';
2
2
  import { ReactRouterVersion } from './types';
3
3
  import { initializeReactRouterV4V5Instrumentation } from './v4v5';
4
- import { initializeReactRouterV6Instrumentation } from './v6';
4
+ import { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';
5
5
  export function initializeReactRouterInstrumentation(options) {
6
6
  var _a;
7
+ const initMessage = 'Initializing React Router';
7
8
  switch ((_a = options.router) === null || _a === void 0 ? void 0 : _a.version) {
8
9
  case ReactRouterVersion.V6:
9
- internalLogger.debug('Initializing React Router V6 instrumentation');
10
+ internalLogger.debug(`${initMessage} V6 instrumentation`);
10
11
  initializeReactRouterV6Instrumentation(options.router.dependencies);
11
12
  break;
13
+ case ReactRouterVersion.V6_data_router:
14
+ internalLogger.debug(`${initMessage} V6 data router instrumentation`);
15
+ initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);
16
+ break;
12
17
  case ReactRouterVersion.V5:
13
18
  case ReactRouterVersion.V4:
14
- internalLogger.debug(`Initializing React Router ${options.router.version} instrumentation`);
19
+ internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);
15
20
  initializeReactRouterV4V5Instrumentation(options.router.dependencies);
16
21
  break;
17
22
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,wCAAwC,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sCAAsC,EAAE,MAAM,MAAM,CAAC;AAE9D,MAAM,UAAU,oCAAoC,CAAC,OAA+B;;IAClF,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE;QAC/B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACrE,sCAAsC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YAC5F,wCAAwC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,cAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;KACnF;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n switch (options.router?.version) {\n case ReactRouterVersion.V6:\n internalLogger.debug('Initializing React Router V6 instrumentation');\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`Initializing React Router ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,wCAAwC,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,gDAAgD,EAAE,sCAAsC,EAAE,MAAM,MAAM,CAAC;AAEhH,MAAM,UAAU,oCAAoC,CAAC,OAA+B;;IAClF,MAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE;QAC/B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,qBAAqB,CAAC,CAAC;YAC1D,sCAAsC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,kBAAkB,CAAC,cAAc;YACpC,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,iCAAiC,CAAC,CAAC;YACtE,gDAAgD,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACjF,wCAAwC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,cAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;KACnF;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} V6 instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} V6 data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
@@ -3,6 +3,7 @@ export var ReactRouterVersion;
3
3
  ReactRouterVersion["V4"] = "v4";
4
4
  ReactRouterVersion["V5"] = "v5";
5
5
  ReactRouterVersion["V6"] = "v6";
6
+ ReactRouterVersion["V6_data_router"] = "v6_data_router";
6
7
  })(ReactRouterVersion || (ReactRouterVersion = {}));
7
8
  export var NavigationType;
8
9
  (function (NavigationType) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,+BAAS,CAAA;AACX,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB","sourcesContent":["export interface ReactRouterLocation<S extends any = unknown> {\n hash: string;\n key: string;\n pathname: string;\n search: string;\n state: S;\n}\n\nexport interface ReactRouterHistory extends Record<string, any> {\n listen?: (cb: (location: ReactRouterLocation, action: NavigationType) => void) => void;\n location?: ReactRouterLocation;\n}\n\nexport enum ReactRouterVersion {\n V4 = 'v4',\n V5 = 'v5',\n V6 = 'v6',\n}\n\nexport enum NavigationType {\n Pop = 'POP',\n Push = 'PUSH',\n Replace = 'REPLACE',\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,+BAAS,CAAA;IACT,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB","sourcesContent":["export interface ReactRouterLocation<S extends any = unknown> {\n hash: string;\n key: string;\n pathname: string;\n search: string;\n state: S;\n}\n\nexport interface ReactRouterHistory extends Record<string, any> {\n listen?: (cb: (location: ReactRouterLocation, action: NavigationType) => void) => void;\n location?: ReactRouterLocation;\n}\n\nexport enum ReactRouterVersion {\n V4 = 'v4',\n V5 = 'v5',\n V6 = 'v6',\n V6_data_router = 'v6_data_router',\n}\n\nexport enum NavigationType {\n Pop = 'POP',\n Push = 'PUSH',\n Replace = 'REPLACE',\n}\n"]}
@@ -16,10 +16,6 @@ export function FaroRoutes(props) {
16
16
  if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {
17
17
  const route = getRouteFromLocation(routes, location);
18
18
  const url = (_a = globalObject.location) === null || _a === void 0 ? void 0 : _a.href;
19
- const { fromRoute, fromUrl } = lastRouteRef.current;
20
- if (route === fromRoute && url === fromUrl) {
21
- return;
22
- }
23
19
  api.pushEvent(EVENT_ROUTE_CHANGE, Object.assign({ toRoute: route, toUrl: (_b = globalObject.location) === null || _b === void 0 ? void 0 : _b.href }, lastRouteRef.current));
24
20
  lastRouteRef.current = {
25
21
  fromRoute: route,
@@ -1 +1 @@
1
- {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6/FaroRoutes.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,KAA+B;;IACxD,MAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,EAAI,CAAC;IACjC,MAAM,cAAc,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,EAAI,CAAC;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,MAAM,YAAY,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,aAAa,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,IAAI,cAAc,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE;YACtG,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YACxC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAEpD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC1C,OAAO;aACR;YAED,GAAG,CAAC,SAAS,CAAC,kBAAkB,kBAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,MAAM,CAAC;IAErD,OAAO,KAAC,YAAY,oBAAK,KAAK,EAAI,CAAC;AACrC,CAAC","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n const { fromRoute, fromUrl } = lastRouteRef.current;\n\n if (route === fromRoute && url === fromUrl) {\n return;\n }\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
1
+ {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6/FaroRoutes.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,KAA+B;;IACxD,MAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,EAAI,CAAC;IACjC,MAAM,cAAc,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,EAAI,CAAC;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,MAAM,YAAY,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,aAAa,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,IAAI,cAAc,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE;YACtG,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,GAAG,CAAC,SAAS,CAAC,kBAAkB,kBAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,MAAM,CAAC;IAErD,OAAO,KAAC,YAAY,oBAAK,KAAK,EAAI,CAAC;AACrC,CAAC","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export { FaroRoutes } from './FaroRoutes';
2
- export { initializeReactRouterV6Instrumentation } from './initialize';
2
+ export { initializeReactRouterV6Instrumentation, initializeReactRouterV6DataRouterInstrumentation } from './initialize';
3
3
  export { setReactRouterV6SSRDependencies } from './routerDependencies';
4
+ export { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,sCAAsC,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport { initializeReactRouterV6Instrumentation } from './initialize';\n\nexport { setReactRouterV6SSRDependencies } from './routerDependencies';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,sCAAsC,EAAE,gDAAgD,EAAE,MAAM,cAAc,CAAC;AAExH,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport { initializeReactRouterV6Instrumentation, initializeReactRouterV6DataRouterInstrumentation } from './initialize';\n\nexport { setReactRouterV6SSRDependencies } from './routerDependencies';\n\nexport { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './types';\n"]}
@@ -1,8 +1,11 @@
1
1
  import hoistNonReactStatics from 'hoist-non-react-statics';
2
2
  import { FaroRoutes } from './FaroRoutes';
3
- import { setReactRouterV6Dependencies } from './routerDependencies';
3
+ import { setReactRouterV6DataRouterDependencies as setReactRouterV6DataRouterDependencies, setReactRouterV6Dependencies, } from './routerDependencies';
4
4
  export function initializeReactRouterV6Instrumentation(dependencies) {
5
5
  hoistNonReactStatics(FaroRoutes, dependencies.Routes);
6
6
  setReactRouterV6Dependencies(dependencies);
7
7
  }
8
+ export function initializeReactRouterV6DataRouterInstrumentation(dependencies) {
9
+ setReactRouterV6DataRouterDependencies(dependencies);
10
+ }
8
11
  //# sourceMappingURL=initialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,UAAU,sCAAsC,CAAC,YAAuC;IAC5F,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtD,4BAA4B,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport { setReactRouterV6Dependencies } from './routerDependencies';\nimport type { ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n\n setReactRouterV6Dependencies(dependencies);\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,sCAAsC,IAAI,sCAAsC,EAChF,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,UAAU,sCAAsC,CAAC,YAAuC;IAC5F,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,4BAA4B,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gDAAgD,CAC9D,YAAiD;IAEjD,sCAAsC,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport {\n setReactRouterV6DataRouterDependencies as setReactRouterV6DataRouterDependencies,\n setReactRouterV6Dependencies,\n} from './routerDependencies';\nimport type { ReactRouterV6DataRouterDependencies, ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n setReactRouterV6Dependencies(dependencies);\n}\n\nexport function initializeReactRouterV6DataRouterInstrumentation(\n dependencies: ReactRouterV6DataRouterDependencies\n): void {\n setReactRouterV6DataRouterDependencies(dependencies);\n}\n"]}
@@ -15,4 +15,8 @@ export function setReactRouterV6Dependencies(newDependencies) {
15
15
  export function setReactRouterV6SSRDependencies(newDependencies) {
16
16
  Routes = newDependencies.Routes;
17
17
  }
18
+ export function setReactRouterV6DataRouterDependencies(newDependencies) {
19
+ isInitialized = true;
20
+ matchRoutes = newDependencies.matchRoutes;
21
+ }
18
22
  //# sourceMappingURL=routerDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routerDependencies.js","sourceRoot":"","sources":["../../../../src/router/v6/routerDependencies.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,IAAI,aAAa,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,IAAI,wBAA+D,CAAC;AAC3E,MAAM,CAAC,IAAI,WAAqC,CAAC;AACjD,MAAM,CAAC,IAAI,MAAgC,CAAC;AAC5C,MAAM,CAAC,IAAI,WAAqC,CAAC;AACjD,MAAM,CAAC,IAAI,iBAAiD,CAAC;AAE7D,MAAM,UAAU,4BAA4B,CAAC,eAA0C;IACrF,aAAa,GAAG,IAAI,CAAC;IAErB,wBAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,eAA0D;IACxG,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC","sourcesContent":["import type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n\nexport let isInitialized = false;\nexport let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\nexport let matchRoutes: ReactRouterV6MatchRoutes;\nexport let Routes: ReactRouterV6RoutesShape;\nexport let useLocation: ReactRouterV6UseLocation;\nexport let useNavigationType: ReactRouterV6UseNavigationType;\n\nexport function setReactRouterV6Dependencies(newDependencies: ReactRouterV6Dependencies): void {\n isInitialized = true;\n\n createRoutesFromChildren = newDependencies.createRoutesFromChildren;\n matchRoutes = newDependencies.matchRoutes;\n Routes = newDependencies.Routes;\n useLocation = newDependencies.useLocation;\n useNavigationType = newDependencies.useNavigationType;\n}\n\nexport function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n"]}
1
+ {"version":3,"file":"routerDependencies.js","sourceRoot":"","sources":["../../../../src/router/v6/routerDependencies.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,IAAI,aAAa,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,IAAI,wBAA+D,CAAC;AAC3E,MAAM,CAAC,IAAI,WAAqC,CAAC;AACjD,MAAM,CAAC,IAAI,MAAgC,CAAC;AAC5C,MAAM,CAAC,IAAI,WAAqC,CAAC;AACjD,MAAM,CAAC,IAAI,iBAAiD,CAAC;AAE7D,MAAM,UAAU,4BAA4B,CAAC,eAA0C;IACrF,aAAa,GAAG,IAAI,CAAC;IAErB,wBAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,eAA0D;IACxG,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,eAAoD;IACzG,aAAa,GAAG,IAAI,CAAC;IACrB,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;AAC5C,CAAC","sourcesContent":["import type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6DataRouterDependencies,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n\nexport let isInitialized = false;\nexport let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\nexport let matchRoutes: ReactRouterV6MatchRoutes;\nexport let Routes: ReactRouterV6RoutesShape;\nexport let useLocation: ReactRouterV6UseLocation;\nexport let useNavigationType: ReactRouterV6UseNavigationType;\n\nexport function setReactRouterV6Dependencies(newDependencies: ReactRouterV6Dependencies): void {\n isInitialized = true;\n\n createRoutesFromChildren = newDependencies.createRoutesFromChildren;\n matchRoutes = newDependencies.matchRoutes;\n Routes = newDependencies.Routes;\n useLocation = newDependencies.useLocation;\n useNavigationType = newDependencies.useNavigationType;\n}\n\nexport function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n\nexport function setReactRouterV6DataRouterDependencies(newDependencies: ReactRouterV6DataRouterDependencies): void {\n isInitialized = true;\n matchRoutes = newDependencies.matchRoutes;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\n\nimport type { ReactRouterLocation } from '../types';\n\nexport interface ReactRouterV6BaseRouteObject {\n action?: (...args: any[]) => any;\n caseSensitive?: boolean;\n hasErrorBoundary?: boolean;\n handle?: any;\n id?: string;\n loader?: (...args: any[]) => any;\n path?: string;\n shouldRevalidate?: (...args: any[]) => any;\n}\n\nexport type ReactRouterV6RouteObject = ReactRouterV6BaseRouteObject &\n (\n | {\n children?: undefined;\n index: true;\n }\n | {\n children?: ReactRouterV6RouteObject[];\n index?: false;\n }\n );\n\nexport interface ReactRouterV6RoutesProps {\n children?: ReactNode;\n location?: Partial<ReactRouterLocation> | string;\n routesComponent?: ReactRouterV6RoutesShape;\n}\n\nexport type ReactRouterV6Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\nexport interface ReactRouterV6RouteMatch<ParamKey extends string = string> {\n params: ReactRouterV6Params<ParamKey>;\n pathname: string;\n pathnameBase: string;\n route: ReactRouterV6RouteObject;\n}\n\nexport type ReactRouterV6CreateRoutesFromChildren = (children: ReactNode) => ReactRouterV6RouteObject[];\n\nexport type ReactRouterV6MatchRoutes = (\n routes: ReactRouterV6RouteObject[],\n location: Partial<ReactRouterLocation> | string,\n basename?: string | undefined\n) => ReactRouterV6RouteMatch[] | null;\n\nexport type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;\n\nexport type ReactRouterV6UseLocation = () => ReactRouterLocation;\n\nexport type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';\n\nexport interface ReactRouterV6Dependencies {\n createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\n matchRoutes: ReactRouterV6MatchRoutes;\n Routes: ReactRouterV6RoutesShape;\n useLocation: ReactRouterV6UseLocation;\n useNavigationType: ReactRouterV6UseNavigationType;\n}\n\nexport type EventRouteTransitionAttributes = {\n fromRoute?: string;\n fromUrl?: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\n\nimport type { ReactRouterLocation } from '../types';\n\nexport interface ReactRouterV6BaseRouteObject {\n action?: (...args: any[]) => any;\n caseSensitive?: boolean;\n hasErrorBoundary?: boolean;\n handle?: any;\n id?: string;\n loader?: (...args: any[]) => any;\n path?: string;\n shouldRevalidate?: (...args: any[]) => any;\n}\n\nexport type ReactRouterV6RouteObject = ReactRouterV6BaseRouteObject &\n (\n | {\n children?: undefined;\n index: true;\n }\n | {\n children?: ReactRouterV6RouteObject[];\n index?: false;\n }\n );\n\nexport interface ReactRouterV6RoutesProps {\n children?: ReactNode;\n location?: Partial<ReactRouterLocation> | string;\n routesComponent?: ReactRouterV6RoutesShape;\n}\n\nexport type ReactRouterV6Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\nexport interface ReactRouterV6RouteMatch<ParamKey extends string = string> {\n params: ReactRouterV6Params<ParamKey>;\n pathname: string;\n pathnameBase: string;\n route: ReactRouterV6RouteObject;\n}\n\nexport type ReactRouterV6CreateRoutesFromChildren = (children: ReactNode) => ReactRouterV6RouteObject[];\n\nexport type ReactRouterV6MatchRoutes = (\n routes: ReactRouterV6RouteObject[],\n location: Partial<ReactRouterLocation> | string,\n basename?: string | undefined\n) => ReactRouterV6RouteMatch[] | null;\n\nexport type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;\n\nexport type ReactRouterV6UseLocation = () => ReactRouterLocation;\n\nexport type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';\n\nexport interface ReactRouterV6Dependencies {\n createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\n matchRoutes: ReactRouterV6MatchRoutes;\n Routes: ReactRouterV6RoutesShape;\n useLocation: ReactRouterV6UseLocation;\n useNavigationType: ReactRouterV6UseNavigationType;\n}\n\nexport interface ReactRouterV6DataRouterDependencies {\n matchRoutes: ReactRouterV6MatchRoutes;\n}\n\nexport type EventRouteTransitionAttributes = {\n fromRoute?: string;\n fromUrl?: string;\n};\n"]}