Revert "Deno fix #6131 (#6248)" (#6281)

* Revert "Deno fix #6131 (#6248)"

This reverts commit ef5cea4dc5.

* Create gold-months-live.md
This commit is contained in:
Matthew Phillips 2023-02-17 10:58:53 -05:00 committed by GitHub
parent 7a717d64a4
commit 609b249c8d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 58 deletions

View file

@ -0,0 +1,5 @@
---
"@astrojs/deno": patch
---
Revert prerender fix

View file

@ -36,7 +36,7 @@ export function vitePluginSSR(internals: BuildInternals, adapter: AstroAdapter):
}, },
load(id) { load(id) {
if (id === resolvedVirtualModuleId) { if (id === resolvedVirtualModuleId) {
return `import * as _adapter from '${adapter.serverEntrypoint}'; return `import * as adapter from '${adapter.serverEntrypoint}';
import * as _main from '${pagesVirtualModuleId}'; import * as _main from '${pagesVirtualModuleId}';
import { deserializeManifest as _deserializeManifest } from 'astro/app'; import { deserializeManifest as _deserializeManifest } from 'astro/app';
const _manifest = Object.assign(_deserializeManifest('${manifestReplace}'), { const _manifest = Object.assign(_deserializeManifest('${manifestReplace}'), {
@ -47,7 +47,7 @@ const _args = ${adapter.args ? JSON.stringify(adapter.args) : 'undefined'};
export * from '${pagesVirtualModuleId}'; export * from '${pagesVirtualModuleId}';
${ ${
adapter.exports adapter.exports
? `const _exports = _adapter.createExports(_manifest, _args); ? `const _exports = adapter.createExports(_manifest, _args);
${adapter.exports ${adapter.exports
.map((name) => { .map((name) => {
if (name === 'default') { if (name === 'default') {
@ -61,15 +61,9 @@ export { _default as default };`;
` `
: '' : ''
} }
export const adapter = _adapter
${
adapter.name !== '@astrojs/deno'
? `
const _start = 'start'; const _start = 'start';
if(_start in _adapter) { if(_start in adapter) {
_adapter[_start](_manifest, _args); adapter[_start](_manifest, _args);
}`
: ''
}`; }`;
} }
return void 0; return void 0;

View file

@ -1,2 +0,0 @@
export const DEFAULTIMPORT = `import { Server } from "https://deno.land/std@0.167.0/http/server.ts"; \n import { fetch } from "https://deno.land/x/file_fetch/mod.ts";\nimport { fileExtension } from "https://deno.land/x/file_extension@v2.1.0/mod.ts";`;
export const DEFAULTSTART = `const _start = 'start'; \n if(_start in adapter) { \nadapter[_start](_manifest, _args);}`;

View file

@ -3,7 +3,6 @@ import esbuild from 'esbuild';
import * as fs from 'fs'; import * as fs from 'fs';
import * as npath from 'path'; import * as npath from 'path';
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
import * as CONSTANT from './code-constant';
interface BuildConfig { interface BuildConfig {
server: URL; server: URL;
@ -71,8 +70,7 @@ export default function createIntegration(args?: Options): AstroIntegration {
'astro:build:done': async () => { 'astro:build:done': async () => {
const entryUrl = new URL(_buildConfig.serverEntry, _buildConfig.server); const entryUrl = new URL(_buildConfig.serverEntry, _buildConfig.server);
const pth = fileURLToPath(entryUrl); const pth = fileURLToPath(entryUrl);
const content = await fs.readFileSync(pth, 'utf8');
await fs.writeFileSync(pth, `${CONSTANT.DEFAULTIMPORT}${content}${CONSTANT.DEFAULTSTART}`);
await esbuild.build({ await esbuild.build({
target: 'es2020', target: 'es2020',
platform: 'browser', platform: 'browser',

View file

@ -2,13 +2,18 @@
import type { SSRManifest } from 'astro'; import type { SSRManifest } from 'astro';
import { App } from 'astro/app'; import { App } from 'astro/app';
// @ts-ignore
import { Server } from 'https://deno.land/std@0.167.0/http/server.ts';
// @ts-ignore
import { fetch } from 'https://deno.land/x/file_fetch/mod.ts';
interface Options { interface Options {
port?: number; port?: number;
hostname?: string; hostname?: string;
start?: boolean; start?: boolean;
} }
// @ts-ignore
let _server: Server | undefined = undefined; let _server: Server | undefined = undefined;
let _startPromise: Promise<void> | undefined = undefined; let _startPromise: Promise<void> | undefined = undefined;
@ -36,18 +41,7 @@ export function start(manifest: SSRManifest, options: Options) {
// try to fetch a static file instead // try to fetch a static file instead
const url = new URL(request.url); const url = new URL(request.url);
const localPath = new URL('./' + app.removeBase(url.pathname), clientRoot); const localPath = new URL('./' + app.removeBase(url.pathname), clientRoot);
const stringLocalPath = localPath.toString(); const fileResp = await fetch(localPath.toString());
// @ts-ignore
const extendName = fileExtension(stringLocalPath);
const fileResp = await fetch(
!extendName
? `${
stringLocalPath.endsWith('/')
? `${stringLocalPath}index.html`
: `${stringLocalPath}/index.html`
}`
: stringLocalPath
);
// If the static file can't be found // If the static file can't be found
if (fileResp.status == 404) { if (fileResp.status == 404) {
@ -68,7 +62,6 @@ export function start(manifest: SSRManifest, options: Options) {
}; };
const port = options.port ?? 8085; const port = options.port ?? 8085;
// @ts-ignore
_server = new Server({ _server = new Server({
port, port,
hostname: options.hostname ?? '0.0.0.0', hostname: options.hostname ?? '0.0.0.0',

View file

@ -143,23 +143,3 @@ Deno.test({
sanitizeResources: false, sanitizeResources: false,
sanitizeOps: false, sanitizeOps: false,
}); });
Deno.test({
name: 'perendering',
permissions: defaultTestPermissions,
async fn() {
await startApp(async (baseUrl: URL) => {
const resp = await fetch(new URL('perendering', baseUrl));
assertEquals(resp.status, 200);
const html = await resp.text();
assert(html);
const doc = new DOMParser().parseFromString(html, `text/html`);
const h1 = doc!.querySelector('h1');
assertEquals(h1!.innerText, 'test');
});
},
sanitizeResources: false,
sanitizeOps: false,
});

View file

@ -1,9 +0,0 @@
---
export const prerender = true;
---
<html>
<body>
<h1>test</h1>
</body>
</html>