summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/integrations/node/CHANGELOG.md2
-rw-r--r--packages/integrations/node/package.json9
-rw-r--r--packages/integrations/node/src/index.ts2
-rw-r--r--packages/integrations/node/src/log-listening-on.ts17
-rw-r--r--packages/integrations/node/src/middleware.ts3
-rw-r--r--packages/integrations/node/src/preview.ts9
-rw-r--r--packages/integrations/node/src/serve-app.ts2
-rw-r--r--packages/integrations/node/src/serve-static.ts10
-rw-r--r--packages/integrations/node/src/standalone.ts3
-rw-r--r--packages/integrations/node/test/api-route.test.js10
-rw-r--r--packages/integrations/node/test/bad-urls.test.js2
-rw-r--r--packages/integrations/node/test/encoded.test.js2
-rw-r--r--packages/integrations/node/test/errors.test.js5
-rw-r--r--packages/integrations/node/test/headers.test.js1
-rw-r--r--packages/integrations/node/test/image.test.js2
-rw-r--r--packages/integrations/node/test/locals.test.js8
-rw-r--r--packages/integrations/node/test/node-middleware.test.js4
-rw-r--r--packages/integrations/node/test/prerender-404-500.test.js12
-rw-r--r--packages/integrations/node/test/prerender.test.js15
-rw-r--r--packages/integrations/node/test/test-utils.js7
-rw-r--r--packages/integrations/node/test/trailing-slash.test.js12
-rw-r--r--packages/integrations/node/test/url.test.js6
-rw-r--r--packages/integrations/node/tsconfig.json4
23 files changed, 116 insertions, 31 deletions
diff --git a/packages/integrations/node/CHANGELOG.md b/packages/integrations/node/CHANGELOG.md
index 044cdbead..481dcb7cc 100644
--- a/packages/integrations/node/CHANGELOG.md
+++ b/packages/integrations/node/CHANGELOG.md
@@ -764,7 +764,7 @@
{ darkMode: true },
{
expires: '1 month',
- },
+ }
);
const prefs = Astro.cookies.get<Prefs>('prefs').json();
diff --git a/packages/integrations/node/package.json b/packages/integrations/node/package.json
index 42a5a8dc2..6573b2293 100644
--- a/packages/integrations/node/package.json
+++ b/packages/integrations/node/package.json
@@ -11,10 +11,7 @@
"url": "https://github.com/withastro/astro.git",
"directory": "packages/integrations/node"
},
- "keywords": [
- "withastro",
- "astro-adapter"
- ],
+ "keywords": ["withastro", "astro-adapter"],
"bugs": "https://github.com/withastro/astro/issues",
"homepage": "https://docs.astro.build/en/guides/integrations-guide/node/",
"exports": {
@@ -23,9 +20,7 @@
"./preview.js": "./dist/preview.js",
"./package.json": "./package.json"
},
- "files": [
- "dist"
- ],
+ "files": ["dist"],
"scripts": {
"build": "tsc",
"test": "astro-scripts test \"test/**/*.test.js\""
diff --git a/packages/integrations/node/src/index.ts b/packages/integrations/node/src/index.ts
index 42a2ed91f..ec7a2ae3f 100644
--- a/packages/integrations/node/src/index.ts
+++ b/packages/integrations/node/src/index.ts
@@ -72,7 +72,7 @@ export default function createIntegration(userOptions: UserOptions): AstroIntegr
if (config.output === 'static') {
logger.warn(
- `\`output: "server"\` or \`output: "hybrid"\` is required to use this adapter.`,
+ `\`output: "server"\` or \`output: "hybrid"\` is required to use this adapter.`
);
}
},
diff --git a/packages/integrations/node/src/log-listening-on.ts b/packages/integrations/node/src/log-listening-on.ts
index 7e299740c..2f774c31c 100644
--- a/packages/integrations/node/src/log-listening-on.ts
+++ b/packages/integrations/node/src/log-listening-on.ts
@@ -8,20 +8,20 @@ import type { Options } from './types.js';
export async function logListeningOn(
logger: AstroIntegrationLogger,
server: http.Server | https.Server,
- options: Pick<Options, 'host'>,
+ options: Pick<Options, 'host'>
) {
await new Promise<void>((resolve) => server.once('listening', resolve));
const protocol = server instanceof https.Server ? 'https' : 'http';
// Allow to provide host value at runtime
const host = getResolvedHostForHttpServer(
- process.env.HOST !== undefined && process.env.HOST !== '' ? process.env.HOST : options.host,
+ process.env.HOST !== undefined && process.env.HOST !== '' ? process.env.HOST : options.host
);
const { port } = server.address() as AddressInfo;
const address = getNetworkAddress(protocol, host, port);
if (host === undefined) {
logger.info(
- `Server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`,
+ `Server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`
);
} else {
logger.info(`Server listening on ${address.local[0]}`);
@@ -32,9 +32,11 @@ function getResolvedHostForHttpServer(host: string | boolean) {
if (host === false) {
// Use a secure default
return 'localhost';
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else if (host === true) {
// If passed --host in the CLI without arguments
return undefined; // undefined typically means 0.0.0.0 or :: (listen on all IPs)
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else {
return host;
}
@@ -49,29 +51,32 @@ const wildcardHosts = new Set(['0.0.0.0', '::', '0000:0000:0000:0000:0000:0000:0
// this code from vite https://github.com/vitejs/vite/blob/d09bbd093a4b893e78f0bbff5b17c7cf7821f403/packages/vite/src/node/utils.ts#L892-L914
export function getNetworkAddress(
+ // biome-ignore lint/style/useDefaultParameterLast: <explanation>
protocol: 'http' | 'https' = 'http',
hostname: string | undefined,
port: number,
- base?: string,
+ base?: string
) {
const NetworkAddress: NetworkAddressOpt = {
local: [],
network: [],
};
+ // biome-ignore lint/complexity/noForEach: <explanation>
Object.values(os.networkInterfaces())
.flatMap((nInterface) => nInterface ?? [])
.filter(
(detail) =>
+ // biome-ignore lint/complexity/useOptionalChain: <explanation>
detail &&
detail.address &&
(detail.family === 'IPv4' ||
// @ts-expect-error Node 18.0 - 18.3 returns number
- detail.family === 4),
+ detail.family === 4)
)
.forEach((detail) => {
let host = detail.address.replace(
'127.0.0.1',
- hostname === undefined || wildcardHosts.has(hostname) ? 'localhost' : hostname,
+ hostname === undefined || wildcardHosts.has(hostname) ? 'localhost' : hostname
);
// ipv6 host
if (host.includes(':')) {
diff --git a/packages/integrations/node/src/middleware.ts b/packages/integrations/node/src/middleware.ts
index 5cc4c4a46..169404064 100644
--- a/packages/integrations/node/src/middleware.ts
+++ b/packages/integrations/node/src/middleware.ts
@@ -23,7 +23,9 @@ export default function createMiddleware(app: NodeApp): RequestHandler {
const error = req;
if (next) {
return next(error);
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else {
+ // biome-ignore lint/complexity/useArrowFunction: <explanation>
throw error;
}
}
@@ -33,6 +35,7 @@ export default function createMiddleware(app: NodeApp): RequestHandler {
logger.error(`Could not render ${req.url}`);
console.error(err);
if (!res.headersSent) {
+ // biome-ignore lint/style/noUnusedTemplateLiteral: <explanation>
res.writeHead(500, `Server error`);
res.end();
}
diff --git a/packages/integrations/node/src/preview.ts b/packages/integrations/node/src/preview.ts
index 518155c4a..b6666129d 100644
--- a/packages/integrations/node/src/preview.ts
+++ b/packages/integrations/node/src/preview.ts
@@ -16,19 +16,22 @@ const createPreviewServer: CreatePreviewServer = async function (preview) {
const ssrModule: MaybeServerModule = await import(preview.serverEntrypoint.toString());
if (typeof ssrModule.handler === 'function') {
ssrHandler = ssrModule.handler;
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
options = ssrModule.options!;
+ // biome-ignore lint/complexity/useArrowFunction: <explanation>
} else {
throw new AstroError(
- `The server entrypoint doesn't have a handler. Are you sure this is the right file?`,
+ `The server entrypoint doesn't have a handler. Are you sure this is the right file?`
);
}
} catch (err) {
if ((err as any).code === 'ERR_MODULE_NOT_FOUND') {
throw new AstroError(
`The server entrypoint ${fileURLToPath(
- preview.serverEntrypoint,
- )} does not exist. Have you ran a build yet?`,
+ preview.serverEntrypoint
+ )} does not exist. Have you ran a build yet?`
);
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else {
throw err;
}
diff --git a/packages/integrations/node/src/serve-app.ts b/packages/integrations/node/src/serve-app.ts
index 72b4e0fd6..2934a01ab 100644
--- a/packages/integrations/node/src/serve-app.ts
+++ b/packages/integrations/node/src/serve-app.ts
@@ -39,7 +39,7 @@ export function createAppHandler(app: NodeApp): RequestHandler {
addCookieHeader: true,
locals,
routeData,
- }),
+ })
);
await NodeApp.writeResponse(response, res);
} else if (next) {
diff --git a/packages/integrations/node/src/serve-static.ts b/packages/integrations/node/src/serve-static.ts
index 725f7afa6..f4fa1fa5c 100644
--- a/packages/integrations/node/src/serve-static.ts
+++ b/packages/integrations/node/src/serve-static.ts
@@ -36,16 +36,21 @@ export function createStaticHandler(app: NodeApp, options: Options) {
const hasSlash = urlPath.endsWith('/');
switch (trailingSlash) {
case 'never':
+ // biome-ignore lint/suspicious/noDoubleEquals: <explanation>
if (isDirectory && urlPath != '/' && hasSlash) {
+ // biome-ignore lint/style/useTemplate: <explanation>
+ // biome-ignore lint/suspicious/noFallthroughSwitchClause: <explanation>
pathname = urlPath.slice(0, -1) + (urlQuery ? '?' + urlQuery : '');
res.statusCode = 301;
res.setHeader('Location', pathname);
return res.end();
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else pathname = urlPath;
// intentionally fall through
case 'ignore':
{
if (isDirectory && !hasSlash) {
+ // biome-ignore lint/style/useTemplate: <explanation>
pathname = urlPath + '/index.html';
} else pathname = urlPath;
}
@@ -53,10 +58,12 @@ export function createStaticHandler(app: NodeApp, options: Options) {
case 'always':
// trailing slash is not added to "subresources"
if (!hasSlash && !isSubresourceRegex.test(urlPath)) {
+ // biome-ignore lint/style/useTemplate: <explanation>
pathname = urlPath + '/' + (urlQuery ? '?' + urlQuery : '');
res.statusCode = 301;
res.setHeader('Location', pathname);
return res.end();
+ // biome-ignore lint/style/noUselessElse: <explanation>
} else pathname = urlPath;
break;
}
@@ -110,6 +117,7 @@ function resolveClientDir(options: Options) {
while (!serverEntryFolderURL.endsWith(serverFolder)) {
serverEntryFolderURL = path.dirname(serverEntryFolderURL);
}
+ // biome-ignore lint/style/useTemplate: <explanation>
const serverEntryURL = serverEntryFolderURL + '/entry.mjs';
const clientURL = new URL(appendForwardSlash(rel), serverEntryURL);
const client = url.fileURLToPath(clientURL);
@@ -117,9 +125,11 @@ function resolveClientDir(options: Options) {
}
function prependForwardSlash(pth: string) {
+ // biome-ignore lint/style/useTemplate: <explanation>
return pth.startsWith('/') ? pth : '/' + pth;
}
function appendForwardSlash(pth: string) {
+ // biome-ignore lint/style/useTemplate: <explanation>
return pth.endsWith('/') ? pth : pth + '/';
}
diff --git a/packages/integrations/node/src/standalone.ts b/packages/integrations/node/src/standalone.ts
index 76e672d2f..8ae10a9ba 100644
--- a/packages/integrations/node/src/standalone.ts
+++ b/packages/integrations/node/src/standalone.ts
@@ -39,6 +39,7 @@ export function createStandaloneHandler(app: NodeApp, options: Options) {
return (req: http.IncomingMessage, res: http.ServerResponse) => {
try {
// validate request path
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
decodeURI(req.url!);
} catch {
res.writeHead(400);
@@ -59,7 +60,7 @@ export function createServer(listener: http.RequestListener, host: string, port:
key: fs.readFileSync(process.env.SERVER_KEY_PATH),
cert: fs.readFileSync(process.env.SERVER_CERT_PATH),
},
- listener,
+ listener
);
} else {
httpServer = http.createServer(listener);
diff --git a/packages/integrations/node/test/api-route.test.js b/packages/integrations/node/test/api-route.test.js
index 9743ce42d..63324c51c 100644
--- a/packages/integrations/node/test/api-route.test.js
+++ b/packages/integrations/node/test/api-route.test.js
@@ -27,6 +27,7 @@ describe('API routes', () => {
it('Can get the request body', async () => {
const { handler } = await import('./fixtures/api-route/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
method: 'POST',
url: '/recipes',
@@ -38,8 +39,10 @@ describe('API routes', () => {
handler(req, res);
+ // biome-ignore lint/style/useConst: <explanation>
let [buffer] = await done;
+ // biome-ignore lint/style/useConst: <explanation>
let json = JSON.parse(buffer.toString('utf-8'));
assert.equal(json.length, 1);
@@ -50,6 +53,7 @@ describe('API routes', () => {
it('Can get binary data', async () => {
const { handler } = await import('./fixtures/api-route/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
method: 'POST',
url: '/binary',
@@ -61,7 +65,9 @@ describe('API routes', () => {
handler(req, res);
+ // biome-ignore lint/style/useConst: <explanation>
let [out] = await done;
+ // biome-ignore lint/style/useConst: <explanation>
let arr = Array.from(new Uint8Array(out.buffer));
assert.deepEqual(arr, [5, 4, 3, 2, 1]);
});
@@ -69,6 +75,7 @@ describe('API routes', () => {
it('Can post large binary data', async () => {
const { handler } = await import('./fixtures/api-route/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
method: 'POST',
url: '/hash',
@@ -95,16 +102,19 @@ describe('API routes', () => {
expectedDigest = hash.digest();
});
+ // biome-ignore lint/style/useConst: <explanation>
let [out] = await done;
assert.deepEqual(new Uint8Array(out.buffer), new Uint8Array(expectedDigest));
});
it('Can bail on streaming', async () => {
const { handler } = await import('./fixtures/api-route/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
url: '/streaming',
});
+ // biome-ignore lint/style/useConst: <explanation>
let locals = { cancelledByTheServer: false };
handler(req, res, () => {}, locals);
diff --git a/packages/integrations/node/test/bad-urls.test.js b/packages/integrations/node/test/bad-urls.test.js
index 9323516e8..cdc0158ff 100644
--- a/packages/integrations/node/test/bad-urls.test.js
+++ b/packages/integrations/node/test/bad-urls.test.js
@@ -39,7 +39,7 @@ describe('Bad URLs', () => {
assert.equal(
statusCodes.includes(fetchResult.status),
true,
- `${weirdUrl} returned something else than 400, 404, or 500`,
+ `${weirdUrl} returned something else than 400, 404, or 500`
);
}
const stillWork = await fixture.fetch('/');
diff --git a/packages/integrations/node/test/encoded.test.js b/packages/integrations/node/test/encoded.test.js
index edc6ae78b..bea3e95f1 100644
--- a/packages/integrations/node/test/encoded.test.js
+++ b/packages/integrations/node/test/encoded.test.js
@@ -18,6 +18,7 @@ describe('Encoded Pathname', () => {
it('Can get an Astro file', async () => {
const { handler } = await import('./fixtures/encoded/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
url: '/什么',
});
@@ -32,6 +33,7 @@ describe('Encoded Pathname', () => {
it('Can get a Markdown file', async () => {
const { handler } = await import('./fixtures/encoded/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
url: '/blog/什么',
});
diff --git a/packages/integrations/node/test/errors.test.js b/packages/integrations/node/test/errors.test.js
index 802fa6e25..9bf4aa29b 100644
--- a/packages/integrations/node/test/errors.test.js
+++ b/packages/integrations/node/test/errors.test.js
@@ -20,6 +20,7 @@ describe('Errors', () => {
});
let devPreview;
+ // biome-ignore lint/suspicious/noDuplicateTestHooks: <explanation>
before(async () => {
// The two tests that need the server to run are skipped
// devPreview = await fixture.preview();
@@ -58,7 +59,7 @@ describe('Errors', () => {
const $ = cheerio.load(html);
assert.equal($('p').text().trim(), 'Internal server error');
- },
+ }
);
it(
@@ -86,6 +87,6 @@ describe('Errors', () => {
} else {
throw new Error('The response should take at most 2 chunks.');
}
- },
+ }
);
});
diff --git a/packages/integrations/node/test/headers.test.js b/packages/integrations/node/test/headers.test.js
index 00b1766c7..8342e28da 100644
--- a/packages/integrations/node/test/headers.test.js
+++ b/packages/integrations/node/test/headers.test.js
@@ -132,6 +132,7 @@ describe('Node Adapter Headers', () => {
async function runTest(url, expectedHeaders) {
const { handler } = await import('./fixtures/headers/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
method: 'GET',
url,
diff --git a/packages/integrations/node/test/image.test.js b/packages/integrations/node/test/image.test.js
index 5303fe37e..c4758f96b 100644
--- a/packages/integrations/node/test/image.test.js
+++ b/packages/integrations/node/test/image.test.js
@@ -28,7 +28,7 @@ describe.skip('Image endpoint', () => {
assert.equal(res.status, 200);
const resImage = await fixture.fetch(
- '/_image?href=/_astro/some_penguin.97ef5f92.png&w=50&f=webp',
+ '/_image?href=/_astro/some_penguin.97ef5f92.png&w=50&f=webp'
);
assert.equal(resImage.status, 200);
diff --git a/packages/integrations/node/test/locals.test.js b/packages/integrations/node/test/locals.test.js
index 6d2776079..a232ed299 100644
--- a/packages/integrations/node/test/locals.test.js
+++ b/packages/integrations/node/test/locals.test.js
@@ -18,15 +18,18 @@ describe('API routes', () => {
it('Can use locals added by node middleware', async () => {
const { handler } = await import('./fixtures/locals/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
url: '/from-node-middleware',
});
+ // biome-ignore lint/style/useConst: <explanation>
let locals = { foo: 'bar' };
handler(req, res, () => {}, locals);
req.send();
+ // biome-ignore lint/style/useConst: <explanation>
let html = await text();
assert.equal(html.includes('<h1>bar</h1>'), true);
@@ -34,6 +37,7 @@ describe('API routes', () => {
it('Throws an error when provided non-objects as locals', async () => {
const { handler } = await import('./fixtures/locals/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
url: '/from-node-middleware',
});
@@ -62,18 +66,22 @@ describe('API routes', () => {
it('Can access locals in API', async () => {
const { handler } = await import('./fixtures/locals/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, done } = createRequestAndResponse({
method: 'POST',
url: '/api',
});
+ // biome-ignore lint/style/useConst: <explanation>
let locals = { foo: 'bar' };
handler(req, res, () => {}, locals);
req.send();
+ // biome-ignore lint/style/useConst: <explanation>
let [buffer] = await done;
+ // biome-ignore lint/style/useConst: <explanation>
let json = JSON.parse(buffer.toString('utf-8'));
assert.equal(json.foo, 'bar');
diff --git a/packages/integrations/node/test/node-middleware.test.js b/packages/integrations/node/test/node-middleware.test.js
index d1b016a51..0ff741a7f 100644
--- a/packages/integrations/node/test/node-middleware.test.js
+++ b/packages/integrations/node/test/node-middleware.test.js
@@ -23,6 +23,7 @@ describe('behavior from middleware, standalone', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -31,6 +32,7 @@ describe('behavior from middleware, standalone', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -71,10 +73,12 @@ describe('behavior from middleware, middleware', () => {
after(async () => {
server.close();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
it('when mode is standalone', async () => {
+ // biome-ignore lint/style/noUnusedTemplateLiteral: <explanation>
const res = await fetch(`http://localhost:8888/ssr`);
assert.equal(res.status, 200);
diff --git a/packages/integrations/node/test/prerender-404-500.test.js b/packages/integrations/node/test/prerender-404-500.test.js
index 2535fcb35..0cc669c45 100644
--- a/packages/integrations/node/test/prerender-404-500.test.js
+++ b/packages/integrations/node/test/prerender-404-500.test.js
@@ -34,6 +34,7 @@ describe('Prerender 404', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -42,7 +43,7 @@ describe('Prerender 404', () => {
after(async () => {
await server.stop();
await fixture.clean();
- delete process.env.PRERENDER;
+ process.env.PRERENDER = undefined;
});
it('Can render SSR route', async () => {
@@ -124,6 +125,7 @@ describe('Prerender 404', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -132,7 +134,7 @@ describe('Prerender 404', () => {
after(async () => {
await server.stop();
await fixture.clean();
- delete process.env.PRERENDER;
+ process.env.PRERENDER = undefined;
});
it('Can render SSR route', async () => {
@@ -193,6 +195,7 @@ describe('Hybrid 404', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -201,7 +204,7 @@ describe('Hybrid 404', () => {
after(async () => {
await server.stop();
await fixture.clean();
- delete process.env.PRERENDER;
+ process.env.PRERENDER = undefined;
});
it('Can render SSR route', async () => {
@@ -255,6 +258,7 @@ describe('Hybrid 404', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -263,7 +267,7 @@ describe('Hybrid 404', () => {
after(async () => {
await server.stop();
await fixture.clean();
- delete process.env.PRERENDER;
+ process.env.PRERENDER = undefined;
});
it('Can render SSR route', async () => {
diff --git a/packages/integrations/node/test/prerender.test.js b/packages/integrations/node/test/prerender.test.js
index e699a1b3c..e4d8cbb4a 100644
--- a/packages/integrations/node/test/prerender.test.js
+++ b/packages/integrations/node/test/prerender.test.js
@@ -30,6 +30,7 @@ describe('Prerendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -38,6 +39,7 @@ describe('Prerendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -105,6 +107,7 @@ describe('Prerendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -113,6 +116,7 @@ describe('Prerendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -181,6 +185,7 @@ describe('Prerendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -189,6 +194,7 @@ describe('Prerendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -233,10 +239,12 @@ describe('Prerendering', () => {
after(async () => {
await devServer.stop();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
it('Can render SSR route', async () => {
+ // biome-ignore lint/style/noUnusedTemplateLiteral: <explanation>
const res = await fixture.fetch(`/one`);
const html = await res.text();
const $ = cheerio.load(html);
@@ -246,6 +254,7 @@ describe('Prerendering', () => {
});
it('Can render prerendered route', async () => {
+ // biome-ignore lint/style/noUnusedTemplateLiteral: <explanation>
const res = await fixture.fetch(`/two`);
const html = await res.text();
const $ = cheerio.load(html);
@@ -277,6 +286,7 @@ describe('Hybrid rendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -285,6 +295,7 @@ describe('Hybrid rendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -350,6 +361,7 @@ describe('Hybrid rendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -358,6 +370,7 @@ describe('Hybrid rendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -415,6 +428,7 @@ describe('Hybrid rendering', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -423,6 +437,7 @@ describe('Hybrid rendering', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
diff --git a/packages/integrations/node/test/test-utils.js b/packages/integrations/node/test/test-utils.js
index 10faba5cf..86b871f93 100644
--- a/packages/integrations/node/test/test-utils.js
+++ b/packages/integrations/node/test/test-utils.js
@@ -20,17 +20,21 @@ export function loadFixture(inlineConfig) {
}
export function createRequestAndResponse(reqOptions) {
+ // biome-ignore lint/style/useConst: <explanation>
let req = httpMocks.createRequest(reqOptions);
+ // biome-ignore lint/style/useConst: <explanation>
let res = httpMocks.createResponse({
eventEmitter: EventEmitter,
req,
});
+ // biome-ignore lint/style/useConst: <explanation>
let done = toPromise(res);
// Get the response as text
const text = async () => {
+ // biome-ignore lint/style/useConst: <explanation>
let chunks = await done;
return buffersToString(chunks);
};
@@ -45,11 +49,13 @@ export function toPromise(res) {
const write = res.write;
res.write = function (data, encoding) {
if (ArrayBuffer.isView(data) && !Buffer.isBuffer(data)) {
+ // biome-ignore lint/style/noParameterAssign: <explanation>
data = Buffer.from(data.buffer);
}
return write.call(this, data, encoding);
};
res.on('end', () => {
+ // biome-ignore lint/style/useConst: <explanation>
let chunks = res._getChunks();
resolve(chunks);
});
@@ -57,6 +63,7 @@ export function toPromise(res) {
}
export function buffersToString(buffers) {
+ // biome-ignore lint/style/useConst: <explanation>
let decoder = new TextDecoder();
let str = '';
for (const buffer of buffers) {
diff --git a/packages/integrations/node/test/trailing-slash.test.js b/packages/integrations/node/test/trailing-slash.test.js
index 9ea8fcddd..95c6661f5 100644
--- a/packages/integrations/node/test/trailing-slash.test.js
+++ b/packages/integrations/node/test/trailing-slash.test.js
@@ -32,6 +32,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -40,6 +41,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -103,6 +105,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -111,6 +114,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -177,6 +181,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -185,6 +190,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -241,6 +247,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -249,6 +256,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -308,6 +316,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -316,6 +325,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
@@ -390,6 +400,7 @@ describe('Trailing slash', () => {
});
await fixture.build();
const { startServer } = await fixture.loadAdapterEntryModule();
+ // biome-ignore lint/style/useConst: <explanation>
let res = startServer();
server = res.server;
await waitServerListen(server.server);
@@ -398,6 +409,7 @@ describe('Trailing slash', () => {
after(async () => {
await server.stop();
await fixture.clean();
+ // biome-ignore lint/performance/noDelete: <explanation>
delete process.env.PRERENDER;
});
diff --git a/packages/integrations/node/test/url.test.js b/packages/integrations/node/test/url.test.js
index 77ca45836..0b19c693b 100644
--- a/packages/integrations/node/test/url.test.js
+++ b/packages/integrations/node/test/url.test.js
@@ -20,6 +20,7 @@ describe('URL', () => {
it('return http when non-secure', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
url: '/',
});
@@ -33,6 +34,7 @@ describe('URL', () => {
it('return https when secure', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
socket: new TLSSocket(),
url: '/',
@@ -47,6 +49,7 @@ describe('URL', () => {
it('return http when the X-Forwarded-Proto header is set to http', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
headers: { 'X-Forwarded-Proto': 'http' },
url: '/',
@@ -61,6 +64,7 @@ describe('URL', () => {
it('return https when the X-Forwarded-Proto header is set to https', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
headers: { 'X-Forwarded-Proto': 'https' },
url: '/',
@@ -75,6 +79,7 @@ describe('URL', () => {
it('includes forwarded host and port in the url', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
headers: {
'X-Forwarded-Proto': 'https',
@@ -95,6 +100,7 @@ describe('URL', () => {
it('accepts port in forwarded host and forwarded port', async () => {
const { handler } = await import('./fixtures/url/dist/server/entry.mjs');
+ // biome-ignore lint/style/useConst: <explanation>
let { req, res, text } = createRequestAndResponse({
headers: {
'X-Forwarded-Proto': 'https',
diff --git a/packages/integrations/node/tsconfig.json b/packages/integrations/node/tsconfig.json
index b9feb9b9b..18443cddf 100644
--- a/packages/integrations/node/tsconfig.json
+++ b/packages/integrations/node/tsconfig.json
@@ -1,8 +1,6 @@
{
"extends": "../../tsconfig.base.json",
- "include": [
- "src"
- ],
+ "include": ["src"],
"compilerOptions": {
"outDir": "./dist"
}