@html-validate/commitlint-config 3.6.2 → 3.6.3

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.
Files changed (2) hide show
  1. package/dist/commitlint.js +47 -10
  2. package/package.json +1 -1
@@ -234716,7 +234716,8 @@ var scopeCase = (parsed, when = "always", value = []) => {
234716
234716
  if (!scope) {
234717
234717
  return [true];
234718
234718
  }
234719
- const checks = (Array.isArray(value) ? value : [value]).map((check) => {
234719
+ const isObjectBasedConfiguration = !Array.isArray(value) && !(typeof value === "string");
234720
+ const checks = (isObjectBasedConfiguration ? value.cases : Array.isArray(value) ? value : [value]).map((check) => {
234720
234721
  if (typeof check === "string") {
234721
234722
  return {
234722
234723
  when: "always",
@@ -234725,10 +234726,14 @@ var scopeCase = (parsed, when = "always", value = []) => {
234725
234726
  }
234726
234727
  return check;
234727
234728
  });
234728
- const delimiters = /\/|\\|, ?/g;
234729
- const scopeSegments = scope.split(delimiters);
234729
+ const delimiters = isObjectBasedConfiguration && value.delimiters?.length ? value.delimiters : ["/", "\\", ","];
234730
+ const delimiterPatterns = delimiters.map((delimiter) => {
234731
+ return delimiter === "," ? ", ?" : delimiter.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
234732
+ });
234733
+ const delimiterRegex = new RegExp(delimiterPatterns.join("|"));
234734
+ const scopeSegments = scope.split(delimiterRegex);
234730
234735
  const result = checks.some((check) => {
234731
- const r2 = scopeSegments.every((segment) => delimiters.test(segment) || case_default(segment, check.case));
234736
+ const r2 = scopeSegments.every((segment) => delimiterRegex.test(segment) || case_default(segment, check.case));
234732
234737
  return negated3(check.when) ? !r2 : r2;
234733
234738
  });
234734
234739
  const list = checks.map((c2) => c2.case).join(", ");
@@ -234738,6 +234743,30 @@ var scopeCase = (parsed, when = "always", value = []) => {
234738
234743
  ];
234739
234744
  };
234740
234745
 
234746
+ // node_modules/@commitlint/rules/lib/scope-delimiter-style.js
234747
+ var scopeDelimiterStyle = ({ scope }, when = "always", value = []) => {
234748
+ if (!scope) {
234749
+ return [true];
234750
+ }
234751
+ const delimiters = value.length ? value : ["/", "\\", ","];
234752
+ const scopeRawDelimiters = scope.match(/[^A-Za-z0-9-_]+/g) ?? [];
234753
+ const scopeDelimiters = [
234754
+ ...new Set(scopeRawDelimiters.map((delimiter) => {
234755
+ return delimiter.trim() === "," ? "," : delimiter;
234756
+ }))
234757
+ ];
234758
+ const isAllDelimitersAllowed = scopeDelimiters.every((delimiter) => {
234759
+ return enum_default(delimiter, delimiters);
234760
+ });
234761
+ const isNever = when === "never";
234762
+ return [
234763
+ isNever ? !isAllDelimitersAllowed : isAllDelimitersAllowed,
234764
+ message([
234765
+ `scope delimiters must ${isNever ? "not " : ""}be one of [${delimiters.join(", ")}]`
234766
+ ])
234767
+ ];
234768
+ };
234769
+
234741
234770
  // node_modules/@commitlint/rules/lib/scope-empty.js
234742
234771
  var scopeEmpty = (parsed, when = "never") => {
234743
234772
  const negated6 = when === "always";
@@ -234750,13 +234779,17 @@ var scopeEmpty = (parsed, when = "never") => {
234750
234779
 
234751
234780
  // node_modules/@commitlint/rules/lib/scope-enum.js
234752
234781
  var scopeEnum = ({ scope }, when = "always", value = []) => {
234753
- if (!scope || !value.length) {
234782
+ const scopes = Array.isArray(value) ? value : value.scopes;
234783
+ if (!scope || !scopes.length) {
234754
234784
  return [true, ""];
234755
234785
  }
234756
- const delimiters = /\/|\\|, ?/g;
234757
- const messageScopes = scope.split(delimiters);
234758
- const errorMessage = ["scope must", `be one of [${value.join(", ")}]`];
234759
- const isScopeInEnum = (scope2) => enum_default(scope2, value);
234786
+ const delimiters = Array.isArray(value) || !value.delimiters?.length ? ["/", "\\", ","] : value.delimiters;
234787
+ const delimiterPatterns = delimiters.map((delimiter) => {
234788
+ return delimiter === "," ? ", ?" : delimiter.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
234789
+ });
234790
+ const messageScopes = scope.split(new RegExp(delimiterPatterns.join("|")));
234791
+ const errorMessage = ["scope must", `be one of [${scopes.join(", ")}]`];
234792
+ const isScopeInEnum = (scope2) => enum_default(scope2, scopes);
234760
234793
  let isValid;
234761
234794
  if (when === "never") {
234762
234795
  isValid = !messageScopes.some(isScopeInEnum) && !isScopeInEnum(scope);
@@ -235028,6 +235061,7 @@ var lib_default2 = {
235028
235061
  "header-trim": headerTrim,
235029
235062
  "references-empty": referencesEmpty,
235030
235063
  "scope-case": scopeCase,
235064
+ "scope-delimiter-style": scopeDelimiterStyle,
235031
235065
  "scope-empty": scopeEmpty,
235032
235066
  "scope-enum": scopeEnum,
235033
235067
  "scope-max-length": scopeMaxLength,
@@ -236853,12 +236887,15 @@ async function loadConfig(cwd, configPath) {
236853
236887
  // files supported by TypescriptLoader
236854
236888
  `.${moduleName}rc.ts`,
236855
236889
  `.${moduleName}rc.cts`,
236890
+ `.${moduleName}rc.mts`,
236856
236891
  `${moduleName}.config.ts`,
236857
- `${moduleName}.config.cts`
236892
+ `${moduleName}.config.cts`,
236893
+ `${moduleName}.config.mts`
236858
236894
  ],
236859
236895
  loaders: {
236860
236896
  ".ts": tsLoader,
236861
236897
  ".cts": tsLoader,
236898
+ ".mts": tsLoader,
236862
236899
  ".cjs": loaders[".cjs"],
236863
236900
  ".js": loaders[".js"]
236864
236901
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@html-validate/commitlint-config",
3
- "version": "3.6.2",
3
+ "version": "3.6.3",
4
4
  "description": "Commitlint sharable config used by the various HTML-validate packages",
5
5
  "keywords": [
6
6
  "commitlint"