summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src
diff options
context:
space:
mode:
authorGravatar Emanuele Stoppa <my.burning@gmail.com> 2023-08-28 17:19:04 +0100
committerGravatar GitHub <noreply@github.com> 2023-08-28 17:19:04 +0100
commit34b92f6f35cc335f559f80a329b65aca88ab7850 (patch)
tree9d918204e84e0a0cf2a6f65c35fb09abf8be827a /packages/integrations/node/src
parent1280f892008af7f43519912449cfac5cc00a38c6 (diff)
downloadastro-34b92f6f35cc335f559f80a329b65aca88ab7850.tar.gz
astro-34b92f6f35cc335f559f80a329b65aca88ab7850.tar.zst
astro-34b92f6f35cc335f559f80a329b65aca88ab7850.zip
refactor: use new Astro internals (#8254)
* refactor: use new Astro internals * chore: update tests --------- Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Diffstat (limited to 'packages/integrations/node/src')
-rw-r--r--packages/integrations/node/src/index.ts4
-rw-r--r--packages/integrations/node/src/preview.ts12
-rw-r--r--packages/integrations/node/src/response-iterator.ts5
-rw-r--r--packages/integrations/node/src/standalone.ts9
4 files changed, 16 insertions, 14 deletions
diff --git a/packages/integrations/node/src/index.ts b/packages/integrations/node/src/index.ts
index 7435a60ed..20f33f4a8 100644
--- a/packages/integrations/node/src/index.ts
+++ b/packages/integrations/node/src/index.ts
@@ -1,6 +1,6 @@
import type { AstroAdapter, AstroIntegration } from 'astro';
import type { Options, UserOptions } from './types';
-
+import { AstroError } from 'astro/errors';
export function getAdapter(options: Options): AstroAdapter {
return {
name: '@astrojs/node',
@@ -23,7 +23,7 @@ export function getAdapter(options: Options): AstroAdapter {
export default function createIntegration(userOptions: UserOptions): AstroIntegration {
if (!userOptions?.mode) {
- throw new Error(`[@astrojs/node] Setting the 'mode' option is required.`);
+ throw new AstroError(`Setting the 'mode' option is required.`);
}
let _options: Options;
diff --git a/packages/integrations/node/src/preview.ts b/packages/integrations/node/src/preview.ts
index 62a4301c1..2928ac0bf 100644
--- a/packages/integrations/node/src/preview.ts
+++ b/packages/integrations/node/src/preview.ts
@@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
import { getNetworkAddress } from './get-network-address.js';
import { createServer } from './http-server.js';
import type { createExports } from './server';
+import { AstroError } from 'astro/errors';
const preview: CreatePreviewServer = async function ({
client,
@@ -11,6 +12,7 @@ const preview: CreatePreviewServer = async function ({
host,
port,
base,
+ logger,
}) {
type ServerModule = ReturnType<typeof createExports>;
type MaybeServerModule = Partial<ServerModule>;
@@ -21,13 +23,13 @@ const preview: CreatePreviewServer = async function ({
if (typeof ssrModule.handler === 'function') {
ssrHandler = ssrModule.handler;
} else {
- throw new Error(
+ throw new AstroError(
`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 Error(
+ throw new AstroError(
`The server entrypoint ${fileURLToPath(
serverEntrypoint
)} does not exist. Have you ran a build yet?`
@@ -63,13 +65,11 @@ const preview: CreatePreviewServer = async function ({
const address = getNetworkAddress('http', host, port);
if (host === undefined) {
- // eslint-disable-next-line no-console
- console.log(
+ logger.info(
`Preview server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`
);
} else {
- // eslint-disable-next-line no-console
- console.log(`Preview server listening on ${address.local[0]}`);
+ logger.info(`Preview server listening on ${address.local[0]}`);
}
return server;
diff --git a/packages/integrations/node/src/response-iterator.ts b/packages/integrations/node/src/response-iterator.ts
index 0dd6e63af..ef7a42c40 100644
--- a/packages/integrations/node/src/response-iterator.ts
+++ b/packages/integrations/node/src/response-iterator.ts
@@ -6,6 +6,7 @@
import type { ReadableStreamDefaultReadResult } from 'node:stream/web';
import { Readable as NodeReadableStream } from 'stream';
+import { AstroError } from 'astro/errors';
interface NodeStreamIterator<T> {
next(): Promise<IteratorResult<T, boolean | undefined>>;
@@ -221,5 +222,7 @@ export function responseIterator<T>(response: Response | Buffer): AsyncIterableI
if (isNodeReadableStream(body)) return nodeStreamIterator<T>(body);
- throw new Error('Unknown body type for responseIterator. Please pass a streamable response.');
+ throw new AstroError(
+ 'Unknown body type for responseIterator. Please pass a streamable response.'
+ );
}
diff --git a/packages/integrations/node/src/standalone.ts b/packages/integrations/node/src/standalone.ts
index 94dc26758..66d1b9c6a 100644
--- a/packages/integrations/node/src/standalone.ts
+++ b/packages/integrations/node/src/standalone.ts
@@ -37,6 +37,7 @@ export function getResolvedHostForHttpServer(host: string | boolean) {
}
export default function startServer(app: NodeApp, options: Options) {
+ const logger = app.getAdapterLogger();
const port = process.env.PORT ? Number(process.env.PORT) : options.port ?? 8080;
const { client } = resolvePaths(options);
const handler = middleware(app, options.mode);
@@ -59,13 +60,11 @@ export default function startServer(app: NodeApp, options: Options) {
const address = getNetworkAddress(protocol, host, port);
if (host === undefined) {
- // eslint-disable-next-line no-console
- console.log(
- `Preview server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`
+ logger.info(
+ `Server listening on \n local: ${address.local[0]} \t\n network: ${address.network[0]}\n`
);
} else {
- // eslint-disable-next-line no-console
- console.log(`Preview server listening on ${address.local[0]}`);
+ logger.info(`Server listening on ${address.local[0]}`);
}
return {