diff --git a/content/features/upcoming features.md b/content/features/upcoming features.md index fbfccf8..dbd5a17 100644 --- a/content/features/upcoming features.md +++ b/content/features/upcoming features.md @@ -4,7 +4,6 @@ draft: true ## high priority -- attachments path - inspect bundle size generated by esbuild (it shouldnt be that high) - component resources should be emitted by an emitter - https://help.obsidian.md/Editing+and+formatting/Tags#Nested+tags nested tags?? diff --git a/quartz/bootstrap-cli.mjs b/quartz/bootstrap-cli.mjs index f25484b..475e624 100755 --- a/quartz/bootstrap-cli.mjs +++ b/quartz/bootstrap-cli.mjs @@ -79,6 +79,11 @@ const BuildArgv = { default: 8080, describe: "port to serve Quartz on", }, + bundleInfo: { + boolean: true, + default: false, + describe: "show detailed bundle information" + } } function escapePath(fp) { @@ -284,6 +289,7 @@ See the [documentation](https://quartz.jzhao.xyz) for how to get started. outfile: path.join("quartz", cacheFile), bundle: true, keepNames: true, + minify: true, platform: "node", format: "esm", jsx: "automatic", @@ -315,6 +321,7 @@ See the [documentation](https://quartz.jzhao.xyz) for how to get started. sourcefile, }, write: false, + minify: true, bundle: true, platform: "browser", format: "esm", @@ -338,13 +345,14 @@ See the [documentation](https://quartz.jzhao.xyz) for how to get started. process.exit(1) }) - if (argv.verbose) { + if (argv.bundleInfo) { const outputFileName = "quartz/.quartz-cache/transpiled-build.mjs" const meta = result.metafile.outputs[outputFileName] console.log( `Successfully transpiled ${Object.keys(meta.inputs).length} files (${prettyBytes( meta.bytes, - )})`, + )})`) + console.log(await esbuild.analyzeMetafile(result.metafile, { color: true }) ) } diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts index bd57f7d..f3f5cbd 100644 --- a/quartz/components/scripts/graph.inline.ts +++ b/quartz/components/scripts/graph.inline.ts @@ -1,4 +1,4 @@ -import { ContentDetails } from "../../plugins/emitters/contentIndex" +import type { ContentDetails } from "../../plugins/emitters/contentIndex" import * as d3 from "d3" import { registerEscapeHandler, removeAllChildren } from "./util" import { CanonicalSlug, getCanonicalSlug, getClientSlug, resolveRelative } from "../../path"