@tramvai/module-router 1.44.4 → 1.46.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -315,6 +315,37 @@ Such a route is specified in the list of routes with the special `*` character i
315
315
  </details>
316
316
  </p>
317
317
 
318
+ ### How to change Not found route response status
319
+
320
+ By default, responses for the Not found route return a status of 200.
321
+ You can change status in custom Route Guard, by using `RESPONSE_MANAGER_TOKEN`.
322
+
323
+ <p>
324
+ <details>
325
+ <summary>An example of changing a Not Found route response status</summary>
326
+
327
+ @inline ../../../examples/how-to/router-not-found-custom-status/index.tsx
328
+
329
+ </details>
330
+ </p>
331
+
332
+ ### How to change response status in actions
333
+
334
+ For example, you make a important request in action, and if this request will fail, application need to return 500 or 404 status.
335
+
336
+ Page actions running after router navigation flow, when route is completely resolved.
337
+ You can change status by using `RESPONSE_MANAGER_TOKEN`.
338
+ If you want to prevent page component rendering, you can throw `NotFoundError` from `@tinkoff/errors` library.
339
+
340
+ <p>
341
+ <details>
342
+ <summary>An example of changing response status in actions</summary>
343
+
344
+ @inline ../../../examples/how-to/router-action-error/index.tsx
345
+
346
+ </details>
347
+ </p>
348
+
318
349
  ### Testing
319
350
 
320
351
  #### Testing ROUTER_GUARD_TOKEN extensions
@@ -16,6 +16,7 @@ import { isFileSystemPageComponent, fileSystemPagesEnabled, getStaticFileSystemP
16
16
  import uniq from '@tinkoff/utils/array/uniq';
17
17
  import { isRedirectFoundError, isNotFoundError } from '@tinkoff/errors';
18
18
  import noop from '@tinkoff/utils/function/noop';
19
+ import { __decorate } from 'tslib';
19
20
 
20
21
  const setCurrentNavigation = createEvent('SET_CURRENT_ROUTE');
21
22
  const setUrlOnRehydrate = createEvent('SET_URL_ON_REHYDRATE');
@@ -595,4 +596,21 @@ const SpaRouterModule = /* @__PURE__ */ Module({
595
596
  _a.forRoot = generateForRoot(_a),
596
597
  _a));
597
598
 
598
- export { NoSpaRouterModule, RouterStore, SpaRouterModule, generateForRoot, setCurrentNavigation, setUrlOnRehydrate };
599
+ let RouterChildAppModule = class RouterChildAppModule {
600
+ };
601
+ RouterChildAppModule = __decorate([
602
+ Module({
603
+ providers: [
604
+ provide({
605
+ provide: EXTEND_RENDER,
606
+ multi: true,
607
+ useFactory: provideRouter,
608
+ deps: {
609
+ router: ROUTER_TOKEN,
610
+ },
611
+ }),
612
+ ],
613
+ })
614
+ ], RouterChildAppModule);
615
+
616
+ export { NoSpaRouterModule, RouterChildAppModule, RouterStore, SpaRouterModule, generateForRoot, setCurrentNavigation, setUrlOnRehydrate };
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { NoSpaRouterModule, SpaRouterModule } from './modules/server';
2
+ export { RouterChildAppModule } from './modules/child-app';
2
3
  export { Provider, useNavigate, useRoute, useRouter, useUrl, Link } from '@tinkoff/router';
3
4
  export * from '@tramvai/tokens-router';
4
5
  export { generateForRoot } from './modules/utils/forRoot';
package/lib/index.es.js CHANGED
@@ -621,4 +621,21 @@ NoSpaRouterModule = NoSpaRouterModule_1 = __decorate([
621
621
  ], NoSpaRouterModule);
622
622
  const SpaRouterModule = NoSpaRouterModule;
623
623
 
624
- export { NoSpaRouterModule, RouterStore, SpaRouterModule, generateForRoot, setCurrentNavigation, setUrlOnRehydrate };
624
+ let RouterChildAppModule = class RouterChildAppModule {
625
+ };
626
+ RouterChildAppModule = __decorate([
627
+ Module({
628
+ providers: [
629
+ provide({
630
+ provide: EXTEND_RENDER,
631
+ multi: true,
632
+ useFactory: provideRouter,
633
+ deps: {
634
+ router: ROUTER_TOKEN,
635
+ },
636
+ }),
637
+ ],
638
+ })
639
+ ], RouterChildAppModule);
640
+
641
+ export { NoSpaRouterModule, RouterChildAppModule, RouterStore, SpaRouterModule, generateForRoot, setCurrentNavigation, setUrlOnRehydrate };
package/lib/index.js CHANGED
@@ -633,6 +633,23 @@ exports.NoSpaRouterModule = NoSpaRouterModule_1 = tslib.__decorate([
633
633
  ], exports.NoSpaRouterModule);
634
634
  const SpaRouterModule = exports.NoSpaRouterModule;
635
635
 
636
+ exports.RouterChildAppModule = class RouterChildAppModule {
637
+ };
638
+ exports.RouterChildAppModule = tslib.__decorate([
639
+ core.Module({
640
+ providers: [
641
+ core.provide({
642
+ provide: tokensRender.EXTEND_RENDER,
643
+ multi: true,
644
+ useFactory: provideRouter,
645
+ deps: {
646
+ router: tokensRouter.ROUTER_TOKEN,
647
+ },
648
+ }),
649
+ ],
650
+ })
651
+ ], exports.RouterChildAppModule);
652
+
636
653
  Object.defineProperty(exports, 'Link', {
637
654
  enumerable: true,
638
655
  get: function () { return router.Link; }
@@ -0,0 +1,2 @@
1
+ export declare class RouterChildAppModule {
2
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-router",
3
- "version": "1.44.4",
3
+ "version": "1.46.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "browser": {
@@ -25,23 +25,23 @@
25
25
  "@tinkoff/errors": "0.2.18",
26
26
  "@tinkoff/router": "0.1.64",
27
27
  "@tinkoff/url": "0.7.37",
28
- "@tramvai/tokens-render": "1.44.4",
29
- "@tramvai/tokens-router": "1.44.4",
30
- "@tramvai/tokens-server": "1.44.4",
31
- "@tramvai/experiments": "1.44.4"
28
+ "@tramvai/tokens-render": "1.46.6",
29
+ "@tramvai/tokens-router": "1.46.6",
30
+ "@tramvai/tokens-server": "1.46.6",
31
+ "@tramvai/experiments": "1.46.6"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@tinkoff/utils": "^2.1.2",
35
- "@tramvai/cli": "1.44.4",
36
- "@tramvai/core": "1.44.4",
37
- "@tramvai/module-log": "1.44.4",
38
- "@tramvai/module-server": "1.44.4",
39
- "@tramvai/papi": "1.44.4",
40
- "@tramvai/state": "1.44.4",
41
- "@tramvai/test-helpers": "1.44.4",
42
- "@tramvai/test-mocks": "1.44.4",
43
- "@tramvai/tokens-common": "1.44.4",
44
- "@tinkoff/dippy": "0.7.35",
35
+ "@tramvai/cli": "1.46.6",
36
+ "@tramvai/core": "1.46.6",
37
+ "@tramvai/module-log": "1.46.6",
38
+ "@tramvai/module-server": "1.46.6",
39
+ "@tramvai/papi": "1.46.6",
40
+ "@tramvai/state": "1.46.6",
41
+ "@tramvai/test-helpers": "1.46.6",
42
+ "@tramvai/test-mocks": "1.46.6",
43
+ "@tramvai/tokens-common": "1.46.6",
44
+ "@tinkoff/dippy": "0.7.36",
45
45
  "react": "*",
46
46
  "tslib": "^2.0.3"
47
47
  },