Skip to content

Commit 29ce603

Browse files
committed
chore: [#1906] Fixes failing unit test caused by package version
1 parent 48d174e commit 29ce603

3 files changed

Lines changed: 19 additions & 13 deletions

File tree

packages/@happy-dom/server-renderer/src/ServerRendererServer.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import IServerRendererResult from './types/IServerRendererResult.js';
1111
// eslint-disable-next-line import/no-named-as-default
1212
import Chalk from 'chalk';
1313
import ServerRendererLogLevelEnum from './enums/ServerRendererLogLevelEnum.js';
14+
import PackageVersion from './utilities/PackageVersion.js';
1415

1516
/**
1617
* Server renderer proxy HTTP2 server.
@@ -91,7 +92,7 @@ export default class ServerRendererServer {
9192
this.#server.listen(url.port ? Number(url.port) : url.protocol === 'https:' ? 443 : 80);
9293

9394
// eslint-disable-next-line no-console
94-
console.log(Chalk.green(`\nHappy DOM Proxy Server ${await this.#getVersion()}\n`));
95+
console.log(Chalk.green(`\nHappy DOM Proxy Server ${await PackageVersion.getVersion()}\n`));
9596

9697
// eslint-disable-next-line no-console
9798
console.log(
@@ -333,14 +334,4 @@ export default class ServerRendererServer {
333334
#getCacheKey(url: URL, headers: { [key: string]: string }, statusCode: number): string {
334335
return `${url.href}|${JSON.stringify(headers)}|${statusCode}`;
335336
}
336-
337-
/**
338-
* Returns the version of the package.
339-
*
340-
* @returns The version of the package.
341-
*/
342-
async #getVersion(): Promise<string> {
343-
const packageJson = await import('../package.json', { with: { type: 'json' } });
344-
return packageJson.default['version'];
345-
}
346337
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* Package version.
3+
*/
4+
export default class PackageVersion {
5+
/**
6+
* Prints help information.
7+
*/
8+
public static async getVersion(): Promise<string> {
9+
const packageJson = await import('../../package.json', { with: { type: 'json' } });
10+
return packageJson.default['version'];
11+
}
12+
}

packages/@happy-dom/server-renderer/test/ServerRendererServer.test.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import ZLib from 'node:zlib';
1313
import IOptionalServerRendererConfiguration from '../src/types/IOptionalServerRendererConfiguration.js';
1414
// eslint-disable-next-line import/no-named-as-default
1515
import Chalk from 'chalk';
16+
import PackageVersion from '../src/utilities/PackageVersion.js';
1617

1718
const GZIP_TO_STRING = (chunks: Buffer[]): Promise<string> => {
1819
return new Promise((resolve, reject) => {
@@ -48,6 +49,8 @@ describe('ServerRendererServer', () => {
4849
serverPort = null;
4950
isServerClosed = false;
5051

52+
vi.spyOn(PackageVersion, 'getVersion').mockResolvedValue('0.0.0');
53+
5154
vi.spyOn(Http2, 'createSecureServer').mockImplementation(
5255
(options: any, onRequestHandler: any): any => {
5356
requestOptions = options;
@@ -418,13 +421,13 @@ describe('ServerRendererServer', () => {
418421
...(cacheMode === 'enabled'
419422
? Array(4).fill(
420423
Chalk.bold(`• Waiting for ongoing rendering of ${protocol}//example.com/path/`)
421-
)
424+
)
422425
: []),
423426
Chalk.bold(`• Rendered ${protocol}//example.com/path/`),
424427
...(cacheMode === 'enabled'
425428
? Array(4).fill(
426429
Chalk.bold(`• Using cached response for ${protocol}//example.com/path/`)
427-
)
430+
)
428431
: Array(4).fill(Chalk.bold(`• Rendered ${protocol}//example.com/path/`)))
429432
]);
430433
expect(consoleError).toEqual([]);

0 commit comments

Comments
 (0)