From 25d242bf0ded05d70caa7eb6e39b30ec4fb82053 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sat, 13 Apr 2024 12:19:32 -0700 Subject: [PATCH] Revert "build: refactor scripts to use Bun APIs (#339)" This reverts commit 93f6056147ccbb3040af9448b293ebd9669e0646. --- bun.lockb | Bin 258013 -> 265463 bytes package.json | 1 + scripts/build-languages.ts | 6 +- scripts/build-styles.ts | 22 +++--- scripts/index.ts | 12 +-- scripts/npm-package.ts | 125 +++++++++++++++++-------------- scripts/utils/create-markdown.ts | 8 +- scripts/utils/fs.ts | 12 +++ scripts/utils/write-to.ts | 3 +- tsconfig.json | 2 +- 10 files changed, 113 insertions(+), 78 deletions(-) create mode 100644 scripts/utils/fs.ts diff --git a/bun.lockb b/bun.lockb index 41c76f5df842b3f2717cee23194bf56882d56b7b..c9c44a9687be54b6fe0cca3e39ae628326fd74d7 100755 GIT binary patch delta 50861 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 a6z-&UvoToWozyNioOzWcwUc^_&Hn*_(89|A diff --git a/package.json b/package.json index 3d9addd..19c9f4f 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "prettier-plugin-svelte": "latest", "svelte": "latest", "svelte-focus-key": "latest", + "totalist": "latest", "typescript": "latest", "vite": "latest" }, diff --git a/scripts/build-languages.ts b/scripts/build-languages.ts index 8445d62..f8182a0 100644 --- a/scripts/build-languages.ts +++ b/scripts/build-languages.ts @@ -1,13 +1,13 @@ -import { $ } from "bun"; import hljs from "highlight.js"; -import type { ModuleNames } from "./build-styles"; import { createMarkdown } from "./utils/create-markdown"; +import { mkdir } from "./utils/fs"; import { toCamelCase } from "./utils/to-pascal-case"; import { writeTo } from "./utils/write-to"; +import type { ModuleNames } from "./build-styles"; export async function buildLanguages() { console.time("build languages"); - await $`rm -rf src/styles; mkdir src/styles`; + mkdir("src/languages"); let languages = hljs.listLanguages(); let markdown = createMarkdown("Languages", languages.length); diff --git a/scripts/build-styles.ts b/scripts/build-styles.ts index 2e6f452..c3fec1f 100644 --- a/scripts/build-styles.ts +++ b/scripts/build-styles.ts @@ -1,6 +1,7 @@ -import { $, Glob } from "bun"; import path from "node:path"; +import { totalist } from "totalist"; import { createMarkdown } from "./utils/create-markdown"; +import { copyFile, mkdir, readFile } from "./utils/fs"; import { minifyCss } from "./utils/minify-css"; import { toCamelCase } from "./utils/to-pascal-case"; import { writeTo } from "./utils/write-to"; @@ -9,16 +10,19 @@ export type ModuleNames = Array<{ name: string; moduleName: string }>; export async function buildStyles() { console.time("build styles"); - await $`rm -rf src/styles; mkdir src/styles`; + mkdir("src/styles"); let scoped_styles = ""; let names: string[] = []; let styles: ModuleNames = []; - const glob = new Glob("**/*"); - - for await (const file of glob.scan("node_modules/highlight.js/styles")) { - const absPath = path.resolve("node_modules/highlight.js/styles", file); + await totalist("node_modules/highlight.js/styles", async (file, absPath) => { + /** + * highlight.js >=v11.19.0 also ships minified + * CSS with the extension `.min.css`. + * + * We only include non-minified CSS files. + */ if (/(? { if (a.name > b.name) return 1; diff --git a/scripts/index.ts b/scripts/index.ts index 2fc995d..ed1118e 100644 --- a/scripts/index.ts +++ b/scripts/index.ts @@ -1,8 +1,10 @@ -import { $ } from "bun"; - import { buildLanguages } from "./build-languages"; import { buildStyles } from "./build-styles"; +import { mkdir } from "./utils/fs"; + +(async () => { + mkdir("www/data"); -await $`rm -rf www/data; mkdir www/data`; -await buildLanguages(); -await buildStyles(); + await buildLanguages(); + await buildStyles(); +})(); diff --git a/scripts/npm-package.ts b/scripts/npm-package.ts index ab8ee5b..8d2b187 100644 --- a/scripts/npm-package.ts +++ b/scripts/npm-package.ts @@ -1,65 +1,76 @@ -import { $ } from "bun"; +import fs from "node:fs"; +import { mkdir, writeFile } from "./utils/fs"; -console.time("package"); -await $`rm -rf package; mkdir package`; -await Bun.write("./package/package.json", Bun.file("./package.json")); -await Bun.write("./package/README.md", Bun.file("./README.md")); -await Bun.write("./package/LICENSE", Bun.file("./LICENSE")); +async function npmPackage() { + console.time("package"); -// Copy source folder to package -await $`cp -r ./src/ ./package`; + mkdir("./package"); -const pkgJson = await Bun.file("./package/package.json").json(); + await Bun.write("./package/package.json", Bun.file("./package.json")); + await Bun.write("./package/README.md", Bun.file("./README.md")); + await Bun.write("./package/LICENSE", Bun.file("./LICENSE")); -delete pkgJson.scripts; -delete pkgJson.devDependencies; + // Copy source folder to package + mkdir("./package/src"); + fs.cpSync("./src", "./package", { recursive: true }); + fs.rmSync("./package/src", { recursive: true, force: true }); -pkgJson.exports = { - ".": { - types: "./index.d.ts", - svelte: "./index.js", - }, - "./*.svelte": { - types: "./*.svelte.d.ts", - import: "./*.svelte", - }, - "./styles/*.css": { - import: "./styles/*.css", - }, - "./styles": { - types: "./styles/index.d.ts", - import: "./styles/index.js", - }, - "./styles/*": { - types: "./styles/*.d.ts", - import: "./styles/*.js", - }, - "./styles/*.js": { - types: "./styles/*.d.ts", - import: "./styles/*.js", - }, - "./languages": { - types: "./languages/index.d.ts", - import: "./languages/index.js", - }, - "./languages/*": { - types: "./languages/*.d.ts", - import: "./languages/*.js", - }, - "./languages/*.js": { - types: "./languages/*.d.ts", - import: "./languages/*.js", - }, - "./package.json": "./package.json", -}; + const pkgJson = JSON.parse( + fs.readFileSync("./package/package.json", "utf-8"), + ); -// Svelte entry point is deprecated but we preserve it for backwards compatibility. -pkgJson.svelte = "./index.js"; -pkgJson.types = "./index.d.ts"; + delete pkgJson.scripts; + delete pkgJson.devDependencies; -// Most modern bundlers know if standalone StyleSheets are used. -// We specify it here to be sure so that it will not be mistakenly tree-shaken. -pkgJson.sideEffects = ["src/styles/*.css"]; + pkgJson.exports = { + ".": { + types: "./index.d.ts", + svelte: "./index.js", + }, + "./*.svelte": { + types: "./*.svelte.d.ts", + import: "./*.svelte", + }, + "./styles/*.css": { + import: "./styles/*.css", + }, + "./styles": { + types: "./styles/index.d.ts", + import: "./styles/index.js", + }, + "./styles/*": { + types: "./styles/*.d.ts", + import: "./styles/*.js", + }, + "./styles/*.js": { + types: "./styles/*.d.ts", + import: "./styles/*.js", + }, + "./languages": { + types: "./languages/index.d.ts", + import: "./languages/index.js", + }, + "./languages/*": { + types: "./languages/*.d.ts", + import: "./languages/*.js", + }, + "./languages/*.js": { + types: "./languages/*.d.ts", + import: "./languages/*.js", + }, + "./package.json": "./package.json", + }; -await Bun.write("./package/package.json", JSON.stringify(pkgJson, null, 2)); -console.timeEnd("package"); + // Svelte entry point is deprecated but we preserve it for backwards compatibility. + pkgJson.svelte = "./index.js"; + pkgJson.types = "./index.d.ts"; + + // Most modern bundlers know if standalone StyleSheets are used. + // We specify it here to be sure so that it will not be mistakenly tree-shaken. + pkgJson.sideEffects = ["src/styles/*.css"]; + + await writeFile("./package/package.json", JSON.stringify(pkgJson, null, 2)); + console.timeEnd("package"); +} + +npmPackage(); diff --git a/scripts/utils/create-markdown.ts b/scripts/utils/create-markdown.ts index fd36d9f..6a7dbef 100644 --- a/scripts/utils/create-markdown.ts +++ b/scripts/utils/create-markdown.ts @@ -1,4 +1,8 @@ -import { dependencies } from "../../package.json"; +import fs from "node:fs"; + +const pkg = JSON.parse( + fs.readFileSync(new URL("../../package.json", import.meta.url), "utf8"), +); /** Creates header metadata for supported languages/styles */ export const createMarkdown = (type: "Languages" | "Styles", len: number) => @@ -6,6 +10,6 @@ export const createMarkdown = (type: "Languages" | "Styles", len: number) => # Supported ${type} > ${len} ${type.toLowerCase()} exported from highlight.js@${ - dependencies["highlight.js"] + pkg.dependencies["highlight.js"] } `; diff --git a/scripts/utils/fs.ts b/scripts/utils/fs.ts new file mode 100644 index 0000000..34c2eaa --- /dev/null +++ b/scripts/utils/fs.ts @@ -0,0 +1,12 @@ +import fs from "node:fs"; +import fsp from "node:fs/promises"; + +export const mkdir = (dir: string) => { + if (fs.existsSync(dir)) { + fs.rmSync(dir, { recursive: true }); + } + fs.mkdirSync(dir); +}; +export const readFile = fsp.readFile; +export const writeFile = fsp.writeFile; +export const copyFile = fsp.copyFile; diff --git a/scripts/utils/write-to.ts b/scripts/utils/write-to.ts index d30d3de..808304f 100644 --- a/scripts/utils/write-to.ts +++ b/scripts/utils/write-to.ts @@ -1,5 +1,6 @@ import path from "node:path"; import prettier, { type BuiltInParserName } from "prettier"; +import { writeFile } from "./fs"; const PARSER: Record = { ".md": "markdown", @@ -16,5 +17,5 @@ export async function writeTo(file: string, source: string | object) { if (!parser) throw new Error(`No parser found for ${file}`); - await Bun.write(file, await prettier.format(value, { parser })); + await writeFile(file, await prettier.format(value, { parser })); } diff --git a/tsconfig.json b/tsconfig.json index 844d398..2ca0e5f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,5 +13,5 @@ "svelte-highlight/*": ["./src/*"] } }, - "include": ["src/**/*", "www/**/*", "tests/**/*", "scripts/**/*"] + "include": ["src/**/*", "www/**/*", "tests/**/*", "scripts/**/*"], }