@application-kit/nestjs-vite 0.1.0 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @application-kit/nestjs-vite
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 6ddb211: Вход `/testing`: `FakeApplicationRendererModule` — глобальный модуль с фейком рендерера под токеном
8
+ `VITE_APPLICATION_RENDERER` для спек, предмет которых не SSR (ответ — `<div id="app">{url}</div>`, статус 200), и сам
9
+ фейк `fakeApplicationRenderer`. Vite вход не тянет.
10
+
3
11
  ## 0.1.0
4
12
 
5
13
  ### Minor Changes
package/README.md CHANGED
@@ -36,6 +36,12 @@ export default defineConfig({
36
36
  - `VITE_APPLICATION_RENDERER` — токен рендерера приложения (`ViteApplicationRendererInterface`),
37
37
  реализация остаётся за приложением.
38
38
 
39
+ ## Тесты потребителя
40
+
41
+ Вход `@application-kit/nestjs-vite/testing` — `FakeApplicationRendererModule`: глобальный модуль с фейком под
42
+ `VITE_APPLICATION_RENDERER` для спек, предмет которых не SSR (контроллеры зависят от рендерера, а настоящий поднимает
43
+ Vite). Фейк отвечает `<div id="app">{url}</div>` со статусом 200; сам он — `fakeApplicationRenderer`. Vite вход не тянет.
44
+
39
45
  ## Формат
40
46
 
41
47
  ESM и CJS. Это две копии с разными классами и токенами — в одном процессе пакет
@@ -0,0 +1,5 @@
1
+ import type { FastifyRequest } from 'fastify';
2
+ import type { ApplicationInterface } from '../vite-application-renderer.interface.js';
3
+ export declare const fakeApplicationRenderer: {
4
+ renderApplication: (request: Pick<FastifyRequest, "url">) => Promise<ApplicationInterface>;
5
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fakeApplicationRenderer = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.fakeApplicationRenderer = {
6
+ renderApplication: async (request) => {
7
+ await Promise.resolve();
8
+ return { html: `<div id="app">${request.url}</div>`, statusCode: common_1.HttpStatus.OK };
9
+ },
10
+ };
@@ -0,0 +1,2 @@
1
+ export declare class FakeApplicationRendererModule {
2
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FakeApplicationRendererModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const vite_application_renderer_interface_js_1 = require("../vite-application-renderer.interface.js");
12
+ const fake_application_renderer_js_1 = require("./fake-application-renderer.js");
13
+ let FakeApplicationRendererModule = class FakeApplicationRendererModule {
14
+ };
15
+ exports.FakeApplicationRendererModule = FakeApplicationRendererModule;
16
+ exports.FakeApplicationRendererModule = FakeApplicationRendererModule = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ exports: [vite_application_renderer_interface_js_1.VITE_APPLICATION_RENDERER],
20
+ providers: [{ provide: vite_application_renderer_interface_js_1.VITE_APPLICATION_RENDERER, useValue: fake_application_renderer_js_1.fakeApplicationRenderer }],
21
+ })
22
+ ], FakeApplicationRendererModule);
@@ -0,0 +1,2 @@
1
+ export * from './fake-application-renderer.js';
2
+ export * from './fake-application-renderer.module.js';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./fake-application-renderer.js"), exports);
18
+ __exportStar(require("./fake-application-renderer.module.js"), exports);
@@ -0,0 +1,5 @@
1
+ import type { FastifyRequest } from 'fastify';
2
+ import type { ApplicationInterface } from '../vite-application-renderer.interface.js';
3
+ export declare const fakeApplicationRenderer: {
4
+ renderApplication: (request: Pick<FastifyRequest, "url">) => Promise<ApplicationInterface>;
5
+ };
@@ -0,0 +1,7 @@
1
+ import { HttpStatus } from '@nestjs/common';
2
+ export const fakeApplicationRenderer = {
3
+ renderApplication: async (request) => {
4
+ await Promise.resolve();
5
+ return { html: `<div id="app">${request.url}</div>`, statusCode: HttpStatus.OK };
6
+ },
7
+ };
@@ -0,0 +1,2 @@
1
+ export declare class FakeApplicationRendererModule {
2
+ }
@@ -0,0 +1,19 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Global, Module } from '@nestjs/common';
8
+ import { VITE_APPLICATION_RENDERER } from '../vite-application-renderer.interface.js';
9
+ import { fakeApplicationRenderer } from './fake-application-renderer.js';
10
+ let FakeApplicationRendererModule = class FakeApplicationRendererModule {
11
+ };
12
+ FakeApplicationRendererModule = __decorate([
13
+ Global(),
14
+ Module({
15
+ exports: [VITE_APPLICATION_RENDERER],
16
+ providers: [{ provide: VITE_APPLICATION_RENDERER, useValue: fakeApplicationRenderer }],
17
+ })
18
+ ], FakeApplicationRendererModule);
19
+ export { FakeApplicationRendererModule };
@@ -0,0 +1,2 @@
1
+ export * from './fake-application-renderer.js';
2
+ export * from './fake-application-renderer.module.js';
@@ -0,0 +1,2 @@
1
+ export * from './fake-application-renderer.js';
2
+ export * from './fake-application-renderer.module.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@application-kit/nestjs-vite",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Мост Vite ↔ NestJS для SSR: dev-обвязка, загрузка HTML и ssr-entry",
5
5
  "keywords": [
6
6
  "nestjs",
@@ -32,6 +32,16 @@
32
32
  }
33
33
  },
34
34
  "./package.json": "./package.json",
35
+ "./testing": {
36
+ "import": {
37
+ "types": "./dist/esm/testing/index.d.ts",
38
+ "default": "./dist/esm/testing/index.js"
39
+ },
40
+ "require": {
41
+ "types": "./dist/cjs/testing/index.d.ts",
42
+ "default": "./dist/cjs/testing/index.js"
43
+ }
44
+ },
35
45
  "./vite-plugin": {
36
46
  "import": {
37
47
  "types": "./dist/esm/vite-plugin/index.d.ts",
@@ -50,7 +60,7 @@
50
60
  "dist"
51
61
  ],
52
62
  "scripts": {
53
- "build": "rm -rf ./dist && node ../../scripts/barrels.mjs create ./src && tsc --project tsconfig.build.json && tsc --project tsconfig.build.cjs.json && node ../../scripts/barrels.mjs clean ./src && node ../../scripts/mark-cjs.mjs ./dist/cjs",
63
+ "build": "rm -rf ./dist && node ../../scripts/barrels.mjs create ./src --entry-only=testing && tsc --project tsconfig.build.json && tsc --project tsconfig.build.cjs.json && node ../../scripts/barrels.mjs clean ./src && node ../../scripts/mark-cjs.mjs ./dist/cjs",
54
64
  "lint:tsc": "tsc --noEmit --pretty --project .",
55
65
  "test:mutation": "stryker run",
56
66
  "test:unit": "vitest run"
@@ -59,6 +69,7 @@
59
69
  "@nestjs/common": "^11.2.1",
60
70
  "@nestjs/core": "^11.2.1",
61
71
  "@nestjs/platform-fastify": "^11.2.1",
72
+ "@nestjs/testing": "^11.2.7",
62
73
  "@stryker-mutator/core": "^10.0.0",
63
74
  "@stryker-mutator/vitest-runner": "^10.0.0",
64
75
  "@types/node": "^26.2.0",