diff options
author | 2023-08-28 17:19:04 +0100 | |
---|---|---|
committer | 2023-08-28 17:19:04 +0100 | |
commit | 34b92f6f35cc335f559f80a329b65aca88ab7850 (patch) | |
tree | 9d918204e84e0a0cf2a6f65c35fb09abf8be827a /packages/integrations/node/src | |
parent | 1280f892008af7f43519912449cfac5cc00a38c6 (diff) | |
download | astro-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.ts | 4 | ||||
-rw-r--r-- | packages/integrations/node/src/preview.ts | 12 | ||||
-rw-r--r-- | packages/integrations/node/src/response-iterator.ts | 5 | ||||
-rw-r--r-- | packages/integrations/node/src/standalone.ts | 9 |
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 { |