Skip to content

Commit

Permalink
[ci] format
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewp authored and github-actions[bot] committed Jun 21, 2022
1 parent 31110e3 commit 3e66f00
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 61 deletions.
5 changes: 3 additions & 2 deletions src/core/build/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ function shouldSkipDraft(pageModule: ComponentInstance, astroConfig: AstroConfig
// Drafts are disabled
!astroConfig.markdown.drafts &&
// This is a draft post
('frontmatter' in pageModule && (pageModule as any).frontmatter.draft === true)
'frontmatter' in pageModule &&
(pageModule as any).frontmatter.draft === true
);
}

Expand Down Expand Up @@ -133,7 +134,7 @@ async function generatePage(
);
}

if(shouldSkipDraft(pageModule, opts.astroConfig)) {
if (shouldSkipDraft(pageModule, opts.astroConfig)) {
info(opts.logging, null, `${magenta('⚠️')} Skipping draft ${pageData.route.component}`);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion src/core/build/graph.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { GetModuleInfo, ModuleInfo, OutputChunk } from 'rollup';
import type { GetModuleInfo, ModuleInfo } from 'rollup';
import { resolvedPagesVirtualModuleId } from '../app/index.js';

// This walks up the dependency graph and yields out each ModuleInfo object.
Expand Down
3 changes: 1 addition & 2 deletions src/core/build/page-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import * as colors from 'kleur/colors';
import { fileURLToPath } from 'url';
import { debug } from '../logger/core.js';
import { removeTrailingForwardSlash } from '../path.js';
import { preload as ssrPreload } from '../render/dev/index.js';
import { callGetStaticPaths, RouteCache, RouteCacheEntry } from '../render/route-cache.js';
import { matchRoute } from '../routing/match.js';
import { isBuildingToSSR } from '../util.js';
Expand Down Expand Up @@ -132,7 +131,7 @@ export async function collectPagesData(
moduleSpecifier: '',
css: new Set(),
hoistedScript: undefined,
scripts: new Set()
scripts: new Set(),
};
}

Expand Down
15 changes: 6 additions & 9 deletions src/core/build/static-build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@ import { bgGreen, bgMagenta, black, dim } from 'kleur/colors';
import type { RollupOutput } from 'rollup';
import { fileURLToPath } from 'url';
import * as vite from 'vite';
import {
BuildInternals,
createBuildInternals,
} from '../../core/build/internal.js';
import { BuildInternals, createBuildInternals } from '../../core/build/internal.js';
import { prependForwardSlash } from '../../core/path.js';
import { emptyDir, removeDir } from '../../core/util.js';
import { runHookBuildSetup } from '../../integrations/index.js';
Expand All @@ -19,11 +16,11 @@ import { generatePages } from './generate.js';
import { trackPageData } from './internal.js';
import type { PageBuildData, StaticBuildOptions } from './types';
import { getTimeStat } from './util.js';
import { vitePluginAnalyzer } from './vite-plugin-analyzer.js';
import { vitePluginHoistedScripts } from './vite-plugin-hoisted-scripts.js';
import { vitePluginInternals } from './vite-plugin-internals.js';
import { vitePluginPages } from './vite-plugin-pages.js';
import { vitePluginSSR, injectManifest } from './vite-plugin-ssr.js';
import { vitePluginAnalyzer } from './vite-plugin-analyzer.js';
import { injectManifest, vitePluginSSR } from './vite-plugin-ssr.js';

export async function staticBuild(opts: StaticBuildOptions) {
const { allPages, astroConfig } = opts;
Expand Down Expand Up @@ -73,7 +70,7 @@ export async function staticBuild(opts: StaticBuildOptions) {
const clientInput = new Set<string>([
...internals.discoveredHydratedComponents,
...internals.discoveredClientOnlyComponents,
...astroConfig._ctx.renderers.map(r => r.clientEntrypoint).filter(a => a) as string[],
...(astroConfig._ctx.renderers.map((r) => r.clientEntrypoint).filter((a) => a) as string[]),
...internals.discoveredScripts,
]);

Expand All @@ -90,7 +87,7 @@ export async function staticBuild(opts: StaticBuildOptions) {
}
} else {
// Inject the manifest
await injectManifest(opts, internals)
await injectManifest(opts, internals);

info(opts.logging, null, `\n${bgMagenta(black(' finalizing server assets '))}\n`);
await ssrMoveAssets(opts);
Expand Down Expand Up @@ -144,7 +141,7 @@ async function ssrBuild(opts: StaticBuildOptions, internals: BuildInternals, inp
// SSR needs to be last
isBuildingToSSR(opts.astroConfig) &&
vitePluginSSR(opts, internals, opts.astroConfig._ctx.adapter!),
vitePluginAnalyzer(opts.astroConfig, internals)
vitePluginAnalyzer(opts.astroConfig, internals),
],
publicDir: ssr ? false : viteConfig.publicDir,
root: viteConfig.root,
Expand Down
52 changes: 22 additions & 30 deletions src/core/build/vite-plugin-analyzer.ts
Original file line number Diff line number Diff line change
@@ -1,41 +1,33 @@


import type { Plugin as VitePlugin } from 'vite';
import type { PluginContext } from 'rollup';
import type { Plugin as VitePlugin } from 'vite';
import type { AstroConfig } from '../../@types/astro';
import type { BuildInternals } from '../../core/build/internal.js';
import type { PluginMetadata as AstroPluginMetadata } from '../../vite-plugin-astro/types';

import { prependForwardSlash } from '../../core/path.js';
import { getPageDataByViteID, trackClientOnlyPageDatas } from './internal.js';
import { getTopLevelPages } from './graph.js';

import { getPageDataByViteID, trackClientOnlyPageDatas } from './internal.js';

export function vitePluginAnalyzer(
astroConfig: AstroConfig,
internals: BuildInternals
): VitePlugin {

function hoistedScriptScanner() {
const uniqueHoistedIds = new Map<string, string>();
const pageScripts = new Map<string, Set<string>>();

return {
scan(
this: PluginContext,
scripts: AstroPluginMetadata['astro']['scripts'],
from: string
) {
scan(this: PluginContext, scripts: AstroPluginMetadata['astro']['scripts'], from: string) {
const hoistedScripts = new Set<string>();
for(let i = 0; i < scripts.length; i++) {
for (let i = 0; i < scripts.length; i++) {
const hid = `${from.replace('/@fs', '')}?astro&type=script&index=${i}`;
hoistedScripts.add(hid);
}

if (hoistedScripts.size) {
for(const pageId of getTopLevelPages(from, this)) {
for(const hid of hoistedScripts) {
if(pageScripts.has(pageId)) {
for (const pageId of getTopLevelPages(from, this)) {
for (const hid of hoistedScripts) {
if (pageScripts.has(pageId)) {
pageScripts.get(pageId)?.add(hid);
} else {
pageScripts.set(pageId, new Set([hid]));
Expand All @@ -46,16 +38,16 @@ export function vitePluginAnalyzer(
},

finalize() {
for(const [pageId, hoistedScripts] of pageScripts) {
for (const [pageId, hoistedScripts] of pageScripts) {
const pageData = getPageDataByViteID(internals, pageId);
if(!pageData) continue;
if (!pageData) continue;

const { component } = pageData;
const astroModuleId = prependForwardSlash(component);

const uniqueHoistedId = JSON.stringify(Array.from(hoistedScripts).sort());
let moduleId: string;

// If we're already tracking this set of hoisted scripts, get the unique id
if (uniqueHoistedIds.has(uniqueHoistedId)) {
moduleId = uniqueHoistedIds.get(uniqueHoistedId)!;
Expand All @@ -65,7 +57,7 @@ export function vitePluginAnalyzer(
uniqueHoistedIds.set(uniqueHoistedId, moduleId);
}
internals.discoveredScripts.add(moduleId);

// Make sure to track that this page uses this set of hoisted scripts
if (internals.hoistedScriptIdToPagesMap.has(moduleId)) {
const pages = internals.hoistedScriptIdToPagesMap.get(moduleId);
Expand All @@ -75,49 +67,49 @@ export function vitePluginAnalyzer(
internals.hoistedScriptIdToHoistedMap.set(moduleId, hoistedScripts);
}
}
}
},
};
}

return {
name: '@astro/rollup-plugin-astro-analyzer',
generateBundle() {
const hoistScanner = hoistedScriptScanner();

const ids = this.getModuleIds();
for(const id of ids) {
for (const id of ids) {
const info = this.getModuleInfo(id);
if(!info || !info.meta?.astro) continue;
if (!info || !info.meta?.astro) continue;

const astro = info.meta.astro as AstroPluginMetadata['astro'];

for(const c of astro.hydratedComponents) {
for (const c of astro.hydratedComponents) {
internals.discoveredHydratedComponents.add(c.resolvedPath || c.specifier);
}

// Scan hoisted scripts
hoistScanner.scan.call(this, astro.scripts, id);

if(astro.clientOnlyComponents.length) {
if (astro.clientOnlyComponents.length) {
const clientOnlys: string[] = [];

for(const c of astro.clientOnlyComponents) {
for (const c of astro.clientOnlyComponents) {
const cid = c.resolvedPath || c.specifier;
internals.discoveredClientOnlyComponents.add(cid);
clientOnlys.push(cid);
}

for(const pageId of getTopLevelPages(id, this)) {
for (const pageId of getTopLevelPages(id, this)) {
const pageData = getPageDataByViteID(internals, pageId);
if(!pageData) continue;
if (!pageData) continue;

trackClientOnlyPageDatas(internals, pageData, clientOnlys);
}
}
}

// Finalize hoisting
hoistScanner.finalize();
}
},
};
}
6 changes: 3 additions & 3 deletions src/core/build/vite-plugin-ssr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ import type { BuildInternals } from './internal.js';
import type { StaticBuildOptions } from './types';

import glob from 'fast-glob';
import * as fs from 'fs';
import { fileURLToPath } from 'url';
import { runHookBuildSsr } from '../../integrations/index.js';
import { BEFORE_HYDRATION_SCRIPT_ID } from '../../vite-plugin-scripts/index.js';
import { pagesVirtualModuleId } from '../app/index.js';
import { serializeRouteData } from '../routing/index.js';
import { addRollupInput } from './add-rollup-input.js';
import { eachPageData } from './internal.js';
import * as fs from 'fs';

export const virtualModuleId = '@astrojs-ssr-virtual-entry';
const resolvedVirtualModuleId = '\0' + virtualModuleId;
Expand Down Expand Up @@ -82,7 +82,7 @@ if(_start in adapter) {
internals.staticFiles.add(chunk.fileName);
}
}

for (const [chunkName, chunk] of Object.entries(bundle)) {
if (chunk.type === 'asset') {
continue;
Expand All @@ -97,7 +97,7 @@ if(_start in adapter) {
}

export async function injectManifest(buildOpts: StaticBuildOptions, internals: BuildInternals) {
if(!internals.ssrEntryChunk) {
if (!internals.ssrEntryChunk) {
throw new Error(`Did not generate an entry chunk for SSR`);
}

Expand Down
3 changes: 2 additions & 1 deletion src/runtime/server/metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ export class Metadata {

*hoistedScriptPaths() {
for (const metadata of this.deepMetadata()) {
let i = 0, pathname = metadata.mockURL.pathname;
let i = 0,
pathname = metadata.mockURL.pathname;

while (i < metadata.hoisted.length) {
// Strip off the leading "/@fs" added during compilation.
Expand Down
4 changes: 2 additions & 2 deletions src/vite-plugin-astro/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ export default function astro({ config, logging }: AstroPluginOptions): vite.Plu
source,
ssr: Boolean(opts?.ssr),
viteTransform,
pluginContext: this
pluginContext: this,
};
if (query.astro) {
if (query.type === 'style') {
Expand Down Expand Up @@ -222,7 +222,7 @@ export default function astro({ config, logging }: AstroPluginOptions): vite.Plu
const astroMetadata: AstroPluginMetadata['astro'] = {
clientOnlyComponents: transformResult.clientOnlyComponents,
hydratedComponents: transformResult.hydratedComponents,
scripts: transformResult.scripts
scripts: transformResult.scripts,
};

return {
Expand Down
8 changes: 4 additions & 4 deletions src/vite-plugin-astro/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import type { TransformResult } from '@astrojs/compiler';

export interface PluginMetadata {
astro: {
hydratedComponents: TransformResult['hydratedComponents'],
clientOnlyComponents: TransformResult['clientOnlyComponents'],
scripts: TransformResult['scripts']
}
hydratedComponents: TransformResult['hydratedComponents'];
clientOnlyComponents: TransformResult['clientOnlyComponents'];
scripts: TransformResult['scripts'];
};
}
5 changes: 2 additions & 3 deletions src/vite-plugin-build-css/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import type { GetModuleInfo, ModuleInfo, OutputChunk } from 'rollup';
import type { GetModuleInfo, OutputChunk } from 'rollup';
import { BuildInternals } from '../core/build/internal';
import type { PageBuildData } from '../core/build/types';

import crypto from 'crypto';
import esbuild from 'esbuild';
import { Plugin as VitePlugin } from 'vite';
import { resolvedPagesVirtualModuleId } from '../core/app/index.js';
import { getPageDataByViteID, getPageDatasByClientOnlyID } from '../core/build/internal.js';
import { getTopLevelPages, walkParentInfos } from '../core/build/graph.js';
import { getPageDataByViteID, getPageDatasByClientOnlyID } from '../core/build/internal.js';
import { isCSSRequest } from '../core/render/util.js';

interface PluginOptions {
Expand Down
5 changes: 2 additions & 3 deletions src/vite-plugin-markdown/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@ import matter from 'gray-matter';
import { fileURLToPath } from 'url';
import type { Plugin } from 'vite';
import type { AstroConfig } from '../@types/astro';
import type { PluginMetadata as AstroPluginMetadata } from '../vite-plugin-astro/types';
import { pagesVirtualModuleId } from '../core/app/index.js';
import { collectErrorMetadata } from '../core/errors.js';
import { prependForwardSlash } from '../core/path.js';
import { resolvePages, viteID } from '../core/util.js';
import type { PluginMetadata as AstroPluginMetadata } from '../vite-plugin-astro/types';
import { PAGE_SSR_SCRIPT_ID } from '../vite-plugin-scripts/index.js';
import { getFileInfo } from '../vite-plugin-utils/index.js';


interface AstroPluginOptions {
config: AstroConfig;
}
Expand Down Expand Up @@ -212,7 +211,7 @@ ${tsResult}`;
const astroMetadata: AstroPluginMetadata['astro'] = {
clientOnlyComponents: transformResult.clientOnlyComponents,
hydratedComponents: transformResult.hydratedComponents,
scripts: transformResult.scripts
scripts: transformResult.scripts,
};

return {
Expand Down
2 changes: 1 addition & 1 deletion test/astro-markdown-drafts.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ describe('Astro Markdown with draft posts disabled', () => {
} catch (err) {
expect(err.code).to.equal('ENOENT');
}
expect(renderedDraft).to.equal(false,'Rendered a draft post');
expect(renderedDraft).to.equal(false, 'Rendered a draft post');
});
});

Expand Down

0 comments on commit 3e66f00

Please sign in to comment.