make ci also run on windows, re-add css minification

This commit is contained in:
Jacky Zhao 2023-08-02 20:53:13 -07:00
parent 990ef3a317
commit 2caebeaed4
3 changed files with 18 additions and 7 deletions

View File

@ -7,7 +7,7 @@ on:
jobs: jobs:
build-and-test: build-and-test:
runs-on: ubuntu-22.04 runs-on: [windows-latest, macos-13, ubuntu-22.04]
permissions: permissions:
contents: write contents: write
steps: steps:

View File

@ -11,7 +11,7 @@ import { intro, isCancel, outro, select, text } from "@clack/prompts"
import { rimraf } from "rimraf" import { rimraf } from "rimraf"
import prettyBytes from "pretty-bytes" import prettyBytes from "pretty-bytes"
import { spawnSync } from "child_process" import { spawnSync } from "child_process"
import { transform } from "lightningcss" import { transform as cssTransform } from "lightningcss"
const UPSTREAM_NAME = "upstream" const UPSTREAM_NAME = "upstream"
const QUARTZ_SOURCE_BRANCH = "v4-alpha" const QUARTZ_SOURCE_BRANCH = "v4-alpha"
@ -115,6 +115,7 @@ async function stashContentFolder(contentFolder) {
} }
async function popContentFolder(contentFolder) { async function popContentFolder(contentFolder) {
await fs.promises.rm(contentFolder, { force: true, recursive: true })
await fs.promises.cp(contentCacheFolder, contentFolder, { await fs.promises.cp(contentCacheFolder, contentFolder, {
force: true, force: true,
recursive: true, recursive: true,
@ -304,6 +305,14 @@ See the [documentation](https://quartz.jzhao.xyz) for how to get started.
sassPlugin({ sassPlugin({
type: "css-text", type: "css-text",
cssImports: true, cssImports: true,
async transform(css) {
const { code } = cssTransform({
filename: "style.css",
code: Buffer.from(css),
minify: true,
})
return code.toString()
},
}), }),
{ {
name: "inline-script-loader", name: "inline-script-loader",

View File

@ -42,11 +42,13 @@ async function buildQuartz(argv: Argv, version: string) {
console.log(`Cleaned output directory \`${output}\` in ${perf.timeSince("clean")}`) console.log(`Cleaned output directory \`${output}\` in ${perf.timeSince("clean")}`)
perf.addEvent("glob") perf.addEvent("glob")
const fps = (await globby("**/*.md", { const fps = (
await globby("**/*.md", {
cwd: argv.directory, cwd: argv.directory,
ignore: cfg.configuration.ignorePatterns, ignore: cfg.configuration.ignorePatterns,
gitignore: true, gitignore: true,
})).map(fp => fp.split(path.sep).join(path.posix.sep)) })
).map((fp) => fp.split(path.sep).join(path.posix.sep))
console.log( console.log(
`Found ${fps.length} input files from \`${argv.directory}\` in ${perf.timeSince("glob")}`, `Found ${fps.length} input files from \`${argv.directory}\` in ${perf.timeSince("glob")}`,
) )