@html-validate/prettier-config 3.1.11 → 3.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -820,7 +820,7 @@ var require_range = __commonJS({
820
820
  parseRange(range) {
821
821
  const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
822
822
  const memoKey = memoOpts + ":" + range;
823
- const cached = cache.get(memoKey);
823
+ const cached = cache2.get(memoKey);
824
824
  if (cached) {
825
825
  return cached;
826
826
  }
@@ -854,7 +854,7 @@ var require_range = __commonJS({
854
854
  rangeMap.delete("");
855
855
  }
856
856
  const result = [...rangeMap.values()];
857
- cache.set(memoKey, result);
857
+ cache2.set(memoKey, result);
858
858
  return result;
859
859
  }
860
860
  intersects(range, options) {
@@ -893,7 +893,7 @@ var require_range = __commonJS({
893
893
  };
894
894
  module.exports = Range;
895
895
  var LRU = require_lrucache();
896
- var cache = new LRU();
896
+ var cache2 = new LRU();
897
897
  var parseOptions = require_parse_options();
898
898
  var Comparator = require_comparator();
899
899
  var debug = require_debug();
@@ -1187,6 +1187,9 @@ var require_min_version = __commonJS({
1187
1187
  // src/sort-package-json.ts
1188
1188
  import { parsers } from "prettier/esm/parser-babel.mjs";
1189
1189
 
1190
+ // node_modules/sort-package-json/index.js
1191
+ import fs from "node:fs";
1192
+
1190
1193
  // node_modules/sort-object-keys/index.js
1191
1194
  var has = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
1192
1195
  function sortObjectByKeyNameList(object, sortWith) {
@@ -1412,7 +1415,9 @@ var sortDirectories = sortObjectBy([
1412
1415
  "example",
1413
1416
  "test"
1414
1417
  ]);
1415
- var overProperty = (property, over) => (object, ...args) => Object.hasOwn(object, property) ? { ...object, [property]: over(object[property], ...args) } : object;
1418
+ var overProperty = (property, over) => onObject(
1419
+ (object, ...args) => Object.hasOwn(object, property) ? { ...object, [property]: over(object[property], ...args) } : object
1420
+ );
1416
1421
  var sortGitHooks = sortObjectBy(git_hooks_list_default);
1417
1422
  var parseNameAndVersionRange = (specifier) => {
1418
1423
  const [nameAndVersion] = specifier.split(">");
@@ -1451,14 +1456,49 @@ var sortObjectByIdent = (a, b) => {
1451
1456
  if (packageNameA > packageNameB) return 1;
1452
1457
  return 0;
1453
1458
  };
1454
- var sortDependenciesLikeNpm = sortObjectBy((a, b) => a.localeCompare(b, "en"));
1455
- var sortWorkspaces = onObject(
1456
- pipe([
1457
- sortObjectBy(["packages", "catalog"]),
1458
- overProperty("packages", uniqAndSortArray),
1459
- overProperty("catalog", sortDependenciesLikeNpm)
1460
- ])
1461
- );
1459
+ var cache = /* @__PURE__ */ new Map();
1460
+ var hasYarnOrPnpmFiles = () => {
1461
+ const cwd = process.cwd();
1462
+ if (!cache.has(cwd)) {
1463
+ cache.set(
1464
+ cwd,
1465
+ fs.existsSync("yarn.lock") || fs.existsSync(".yarn/") || fs.existsSync(".yarnrc.yml") || fs.existsSync("pnpm-lock.yaml") || fs.existsSync("pnpm-workspace.yaml")
1466
+ );
1467
+ }
1468
+ return cache.get(cwd);
1469
+ };
1470
+ function shouldSortDependenciesLikeNpm(packageJson) {
1471
+ if (typeof packageJson.packageManager === "string") {
1472
+ return packageJson.packageManager.startsWith("npm@");
1473
+ }
1474
+ if (packageJson.devEngines?.packageManager?.name) {
1475
+ return packageJson.devEngines.packageManager.name === "npm";
1476
+ }
1477
+ if (packageJson.pnpm) {
1478
+ return false;
1479
+ }
1480
+ if (packageJson.engines?.npm) {
1481
+ return true;
1482
+ }
1483
+ if (hasYarnOrPnpmFiles()) {
1484
+ return false;
1485
+ }
1486
+ return true;
1487
+ }
1488
+ var sortDependencies = onObject((dependencies, packageJson) => {
1489
+ if (Object.keys(dependencies).length < 2) {
1490
+ return dependencies;
1491
+ }
1492
+ if (shouldSortDependenciesLikeNpm(packageJson)) {
1493
+ return sortObjectByKeyNameList(dependencies, (a, b) => a.localeCompare(b, "en"));
1494
+ }
1495
+ return sortObjectByKeyNameList(dependencies);
1496
+ });
1497
+ var sortWorkspaces = pipe([
1498
+ sortObjectBy(["packages", "catalog"]),
1499
+ overProperty("packages", uniqAndSortArray),
1500
+ overProperty("catalog", sortDependencies)
1501
+ ]);
1462
1502
  var eslintBaseConfigProperties = [
1463
1503
  // `files` and `excludedFiles` are only on `overrides[]`
1464
1504
  // for easier sort `overrides[]`,
@@ -1479,51 +1519,53 @@ var eslintBaseConfigProperties = [
1479
1519
  "noInlineConfig",
1480
1520
  "reportUnusedDisableDirectives"
1481
1521
  ];
1482
- var sortEslintConfig = onObject(
1483
- pipe([
1484
- sortObjectBy(eslintBaseConfigProperties),
1485
- overProperty("env", sortObject),
1486
- overProperty("globals", sortObject),
1487
- overProperty(
1488
- "overrides",
1489
- onArray((overrides) => overrides.map(sortEslintConfig))
1490
- ),
1491
- overProperty("parserOptions", sortObject),
1492
- overProperty(
1493
- "rules",
1494
- sortObjectBy(
1495
- (rule1, rule2) => rule1.split("/").length - rule2.split("/").length || rule1.localeCompare(rule2)
1496
- )
1497
- ),
1498
- overProperty("settings", sortObject)
1499
- ])
1500
- );
1522
+ var sortEslintConfig = pipe([
1523
+ sortObjectBy(eslintBaseConfigProperties),
1524
+ overProperty("env", sortObject),
1525
+ overProperty("globals", sortObject),
1526
+ overProperty(
1527
+ "overrides",
1528
+ onArray((overrides) => overrides.map(sortEslintConfig))
1529
+ ),
1530
+ overProperty("parserOptions", sortObject),
1531
+ overProperty(
1532
+ "rules",
1533
+ sortObjectBy(
1534
+ (rule1, rule2) => rule1.split("/").length - rule2.split("/").length || rule1.localeCompare(rule2)
1535
+ )
1536
+ ),
1537
+ overProperty("settings", sortObject)
1538
+ ]);
1501
1539
  var sortVSCodeBadgeObject = sortObjectBy(["description", "url", "href"]);
1502
- var sortPrettierConfig = onObject(
1503
- pipe([
1504
- // sort keys alphabetically, but put `overrides` at bottom
1540
+ var sortPrettierConfig = pipe([
1541
+ // sort keys alphabetically, but put `overrides` at bottom
1542
+ onObject(
1505
1543
  (config) => sortObjectByKeyNameList(config, [
1506
1544
  ...Object.keys(config).filter((key) => key !== "overrides").sort(),
1507
1545
  "overrides"
1508
- ]),
1509
- // if `config.overrides` exists
1510
- overProperty(
1511
- "overrides",
1512
- // and `config.overrides` is an array
1513
- onArray(
1514
- (overrides) => overrides.map(
1515
- pipe([
1516
- // sort `config.overrides[]` alphabetically
1517
- sortObject,
1518
- // sort `config.overrides[].options` alphabetically
1519
- overProperty("options", sortObject)
1520
- ])
1521
- )
1546
+ ])
1547
+ ),
1548
+ // if `config.overrides` exists
1549
+ overProperty(
1550
+ "overrides",
1551
+ // and `config.overrides` is an array
1552
+ onArray(
1553
+ (overrides) => overrides.map(
1554
+ pipe([
1555
+ // sort `config.overrides[]` alphabetically
1556
+ sortObject,
1557
+ // sort `config.overrides[].options` alphabetically
1558
+ overProperty("options", sortObject)
1559
+ ])
1522
1560
  )
1523
1561
  )
1524
- ])
1525
- );
1562
+ )
1563
+ ]);
1526
1564
  var sortVolta = sortObjectBy(["node", "npm", "yarn"]);
1565
+ var sortDevEngines = overProperty(
1566
+ "packageManager",
1567
+ sortObjectBy(["name", "version", "onFail"])
1568
+ );
1527
1569
  var pnpmBaseConfigProperties = [
1528
1570
  "peerDependencyRules",
1529
1571
  "neverBuiltDependencies",
@@ -1539,12 +1581,10 @@ var pnpmBaseConfigProperties = [
1539
1581
  "patchedDependencies",
1540
1582
  "packageExtensions"
1541
1583
  ];
1542
- var sortPnpmConfig = onObject(
1543
- pipe([
1544
- sortObjectBy(pnpmBaseConfigProperties, true),
1545
- overProperty("overrides", sortObjectBySemver)
1546
- ])
1547
- );
1584
+ var sortPnpmConfig = pipe([
1585
+ sortObjectBy(pnpmBaseConfigProperties, true),
1586
+ overProperty("overrides", sortObjectBySemver)
1587
+ ]);
1548
1588
  var defaultNpmScripts = /* @__PURE__ */ new Set([
1549
1589
  "install",
1550
1590
  "pack",
@@ -1577,7 +1617,7 @@ function sortScriptNames(keys, prefix = "") {
1577
1617
  for (const key of keys) {
1578
1618
  const rest = prefix ? key.slice(prefix.length + 1) : key;
1579
1619
  const idx = rest.indexOf(":");
1580
- if (idx !== -1) {
1620
+ if (idx > 0) {
1581
1621
  const base = key.slice(0, (prefix ? prefix.length + 1 : 0) + idx);
1582
1622
  if (!groupMap.has(base)) groupMap.set(base, []);
1583
1623
  groupMap.get(base).push(key);
@@ -1750,14 +1790,14 @@ var fields = [
1750
1790
  { key: "tap", over: sortObject },
1751
1791
  { key: "oclif", over: sortObjectBy(void 0, true) },
1752
1792
  { key: "resolutions", over: sortObject },
1753
- { key: "overrides", over: sortDependenciesLikeNpm },
1754
- { key: "dependencies", over: sortDependenciesLikeNpm },
1755
- { key: "devDependencies", over: sortDependenciesLikeNpm },
1793
+ { key: "overrides", over: sortDependencies },
1794
+ { key: "dependencies", over: sortDependencies },
1795
+ { key: "devDependencies", over: sortDependencies },
1756
1796
  { key: "dependenciesMeta", over: sortObjectBy(sortObjectByIdent, true) },
1757
- { key: "peerDependencies", over: sortDependenciesLikeNpm },
1797
+ { key: "peerDependencies", over: sortDependencies },
1758
1798
  // TODO: only sort depth = 2
1759
1799
  { key: "peerDependenciesMeta", over: sortObjectBy(void 0, true) },
1760
- { key: "optionalDependencies", over: sortDependenciesLikeNpm },
1800
+ { key: "optionalDependencies", over: sortDependencies },
1761
1801
  { key: "bundledDependencies", over: uniqAndSortArray },
1762
1802
  { key: "bundleDependencies", over: uniqAndSortArray },
1763
1803
  /* vscode */
@@ -1768,6 +1808,7 @@ var fields = [
1768
1808
  { key: "packageManager" },
1769
1809
  { key: "engines", over: sortObject },
1770
1810
  { key: "engineStrict", over: sortObject },
1811
+ { key: "devEngines", over: sortDevEngines },
1771
1812
  { key: "volta", over: sortVolta },
1772
1813
  { key: "languageName" },
1773
1814
  { key: "os" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@html-validate/prettier-config",
3
- "version": "3.1.11",
3
+ "version": "3.1.12",
4
4
  "description": "Prettier sharable config used by the various HTML-validate packages",
5
5
  "keywords": [
6
6
  "prettier"