Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
43 lines
1.6 KiB
JavaScript
43 lines
1.6 KiB
JavaScript
// @ts-check
|
|
|
|
import path from "node:path";
|
|
|
|
import postcssExtendRule from "postcss-extend-rule";
|
|
import postcssImport from "postcss-import";
|
|
import postcssPrefixWrap from "postcss-prefixwrap";
|
|
import postcssPresetEnv from "postcss-preset-env";
|
|
import postcssSimpleVars from "postcss-simple-vars";
|
|
|
|
import {container_breakpoints, media_breakpoints} from "./src/css_variables.ts";
|
|
|
|
/**
|
|
* @param {object} ctx
|
|
* @returns {import("postcss-load-config").Config}
|
|
* @satisfies {import("postcss-load-config").ConfigFn & import("postcss-loader/dist/config").PostCSSLoaderOptions}
|
|
*/
|
|
const config = (ctx) => ({
|
|
plugins: [
|
|
"file" in ctx &&
|
|
(typeof ctx.file === "string"
|
|
? path.basename(ctx.file)
|
|
: typeof ctx.file === "object" && ctx.file !== null && "basename" in ctx.file
|
|
? ctx.file.basename
|
|
: undefined) === "dark_theme.css" &&
|
|
// Add postcss-import plugin with postcss-prefixwrap to handle
|
|
// the flatpickr dark theme. We do this because flatpickr themes
|
|
// are not scoped. See https://github.com/flatpickr/flatpickr/issues/2168.
|
|
postcssImport({
|
|
plugins: [postcssPrefixWrap("%dark-theme")],
|
|
}),
|
|
postcssExtendRule,
|
|
postcssSimpleVars({variables: {...container_breakpoints, ...media_breakpoints}}),
|
|
postcssPresetEnv({
|
|
features: {
|
|
"is-pseudo-class": true, // Needed for postcss-extend-rule
|
|
"nesting-rules": true,
|
|
},
|
|
}),
|
|
],
|
|
});
|
|
export default config; // eslint-disable-line unicorn/default-export-style
|