Skip to content

Commit

Permalink
build(scripts): convert to ESM
Browse files Browse the repository at this point in the history
  • Loading branch information
metonym committed Nov 10, 2024
1 parent 4551dcf commit dd26341
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 49 deletions.
57 changes: 28 additions & 29 deletions scripts/build-css.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
const fs = require("node:fs");
const path = require("node:path");
const sass = require("sass");
const autoprefixer = require("autoprefixer");
const postcss = require("postcss");
// @ts-check
import fs from "node:fs";
import path from "node:path";
import sass from "sass";
import autoprefixer from "autoprefixer";
import postcss from "postcss";

(async () => {
const scss = fs
.readdirSync("css")
.filter((file) => file.endsWith(".scss") && !/^\_popover/.test(file))
.map((file) => path.parse(file));
const scss = fs
.readdirSync("css")
.filter((file) => file.endsWith(".scss") && !/^\_popover/.test(file))
.map((file) => path.parse(file));

for (const { name, base } of scss) {
const file = `css/${base}`;
const outFile = `css/${name}.css`;
for (const { name, base } of scss) {
const file = `css/${base}`;
const outFile = `css/${name}.css`;

console.log("[build-css]", file, "-->", outFile);
console.log("[build-css]", file, "-->", outFile);

const { css } = sass.renderSync({
file,
outFile,
outputStyle: "compressed",
omitSourceMapUrl: true,
includePaths: ["node_modules"],
});
const { css } = sass.renderSync({
file,
outFile,
outputStyle: "compressed",
omitSourceMapUrl: true,
includePaths: ["node_modules"],
});

const prefixed = await postcss([
autoprefixer({
overrideBrowserslist: ["last 1 version", "ie >= 11", "Firefox ESR"],
}),
]).process(css, { from: undefined });
const prefixed = await postcss([
autoprefixer({
overrideBrowserslist: ["last 1 version", "ie >= 11", "Firefox ESR"],
}),
]).process(css, { from: undefined });

fs.writeFileSync(outFile, prefixed.css);
}
})();
fs.writeFileSync(outFile, prefixed.css);
}
9 changes: 5 additions & 4 deletions scripts/build-docs.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
const fs = require("node:fs");
const { globSync }= require("tinyglobby");
const { sveld } = require("sveld");
const pkg = require("../package.json");
// @ts-check
import fs from "node:fs";
import { globSync } from "tinyglobby";
import { sveld } from "sveld";
import pkg from "../package.json" assert { type: "json" };

sveld({
glob: true,
Expand Down
31 changes: 15 additions & 16 deletions scripts/build-package.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
const fs = require("node:fs");
const path = require("node:path");

const packagePath = path.join(process.cwd(), "package.json");
const package = JSON.parse(fs.readFileSync(packagePath, "utf8"));
// @ts-check
import fs from "node:fs";
import path from "node:path";
import pkg from "../package.json" assert { type: "json" };

/** @type {Array<keyof typeof pkg>} */
const keys_to_remove = ["prettier", "standard-version", "devDependencies"];
const scripts_to_keep = ["postinstall"];

for (const key of keys_to_remove) {
delete package[key];
delete pkg[key];
}

if (package.scripts) {
const preserved_scripts = {};
/** @type {Set<keyof typeof pkg.scripts>} */
const scripts_to_keep = new Set(["postinstall"]);

for (const script of scripts_to_keep) {
if (package.scripts[script]) {
preserved_scripts[script] = package.scripts[script];
}
for (const script in pkg.scripts) {
// @ts-ignore
if (!scripts_to_keep.has(script)) {
delete pkg.scripts[script];
}

package.scripts = preserved_scripts;
}

fs.writeFileSync(packagePath, JSON.stringify(package, null, 2) + "\n");
// Write the updated package.json file.
const pkgPath = path.join(process.cwd(), "package.json");
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");

0 comments on commit dd26341

Please sign in to comment.