@u3u/prettier-config
Version:
🎨 The most perfect Prettier config
115 lines (109 loc) • 3.5 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
default: () => index_default
});
module.exports = __toCommonJS(index_exports);
var import_local_pkg = require("local-pkg");
// src/utils/define-config.ts
var defineConfig = (config) => {
return config;
};
// src/base.ts
var base_default = defineConfig({
arrowParens: "always",
bracketSameLine: false,
bracketSpacing: true,
embeddedLanguageFormatting: "auto",
endOfLine: "lf",
htmlWhitespaceSensitivity: "ignore",
jsxSingleQuote: false,
printWidth: 120,
proseWrap: "preserve",
quoteProps: "as-needed",
semi: true,
singleAttributePerLine: false,
singleQuote: true,
tabWidth: 2,
trailingComma: "all",
useTabs: false,
vueIndentScriptAndStyle: false
});
// src/index.ts
var typescript = (0, import_local_pkg.getPackageInfoSync)("typescript");
var index_default = defineConfig({
...base_default,
// https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0
// importOrderBuiltinModulesToTop: true, // [Removed] (always true)
// importOrderCombineTypeAndValueImports: true, // [Replace with `importOrderTypeScriptVersion`]
// importOrderMergeDuplicateImports: true, // [Removed] (always true)
// importOrderSortSpecifiers: true, // [Removed]
importOrderTypeScriptVersion: typescript?.version || "5.0.0",
iniSpaceAroundEquals: true,
jsonRecursiveSort: true,
multilineArraysWrapThreshold: 2,
overrides: [
{
files: ["nginx.conf", "nginx/**/*.conf"],
options: { parser: "nginx" }
},
{
files: [
".npmrc",
".env",
".env.*"
],
options: { parser: "ini" }
},
{
files: ["*.blade.php"],
options: { parser: "blade" }
}
],
plugins: [
"prettier-plugin-sort-json",
"prettier-plugin-packagejson",
"prettier-plugin-multiline-arrays",
"@ianvs/prettier-plugin-sort-imports",
"prettier-plugin-jsdoc",
"prettier-plugin-nginx",
"prettier-plugin-ini",
"prettier-plugin-sh",
"prettier-plugin-sql",
"@prettier/plugin-xml",
"@prettier/plugin-php",
"@shufo/prettier-plugin-blade",
"prettier-plugin-prisma",
"prettier-plugin-astro"
].map((item) => require.resolve(item)),
// https://github.com/shufo/prettier-plugin-blade/tree/main?tab=readme-ov-file#options
sortHtmlAttributes: "alphabetical",
sortTailwindcssClasses: true,
wrapAttributes: "force-expand-multiline",
xmlSortAttributesByKey: true,
xmlWhitespaceSensitivity: "ignore"
});
// fix-cjs-exports
if (module.exports.default) {
Object.assign(module.exports.default, module.exports);
module.exports = module.exports.default;
delete module.exports.default;
}
;