eslint-plugin-better-tailwindcss
Version:
auto-wraps tailwind classes after a certain print width or class count into multiple lines to improve readability.
28 lines • 1.33 kB
JavaScript
import { resolve } from "node:path";
import { createSyncFn } from "synckit";
import { getTailwindConfigPath } from "./config.js";
import { invalidateByModifiedDate, withCache } from "../utils/cache.js";
import { getTailwindcssVersion, TailwindcssVersion } from "../utils/version.js";
import { getWorkerOptions } from "../utils/worker.js";
export function getPrefix({ configPath, cwd }) {
const version = getTailwindcssVersion();
const { path, warning } = getTailwindConfigPath({ configPath, cwd });
return withCache("prefix", () => {
const prefix = getPrefixSync({ configPath: path });
const suffix = version.major === TailwindcssVersion.V3 || prefix === ""
? ""
: ":";
return { prefix, suffix, warnings: [warning] };
}, date => invalidateByModifiedDate(date, path));
}
const getPrefixSync = createSyncFn(getWorkerPath(), getWorkerOptions());
function getWorkerPath() {
const { major } = getTailwindcssVersion();
return resolve(getCurrentDirectory(), `./prefix.async.v${major}.js`);
}
function getCurrentDirectory() {
// eslint-disable-next-line eslint-plugin-typescript/prefer-ts-expect-error
// @ts-ignore - `import.meta` doesn't exist in CommonJS -> will be transformed in build step
return import.meta.dirname;
}
//# sourceMappingURL=prefix.js.map