npm-pkg-lint 1.11.2 → 1.12.0

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.
package/README.md CHANGED
@@ -51,6 +51,7 @@ Requires files specified in `package.json` to be present.
51
51
 
52
52
  Verifies the presence of files specified in:
53
53
 
54
+ - `exports` (wildcard patterns are ignored)
54
55
  - `main`
55
56
  - `browser`
56
57
  - `module`
package/dist/index.js CHANGED
@@ -3447,9 +3447,9 @@ var require_locate_path = __commonJS({
3447
3447
  }
3448
3448
  });
3449
3449
 
3450
- // node_modules/find-up/node_modules/path-exists/index.js
3450
+ // node_modules/path-exists/index.js
3451
3451
  var require_path_exists = __commonJS({
3452
- "node_modules/find-up/node_modules/path-exists/index.js"(exports, module2) {
3452
+ "node_modules/path-exists/index.js"(exports, module2) {
3453
3453
  "use strict";
3454
3454
  var fs3 = require("fs");
3455
3455
  var { promisify } = require("util");
@@ -12368,7 +12368,7 @@ var require_unpack = __commonJS({
12368
12368
  const fd = stream.fd;
12369
12369
  if (entry.mtime && !this.noMtime) {
12370
12370
  actions++;
12371
- const atime = entry.atime || new Date();
12371
+ const atime = entry.atime || /* @__PURE__ */ new Date();
12372
12372
  const mtime = entry.mtime;
12373
12373
  fs3.futimes(fd, atime, mtime, (er) => er ? fs3.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
12374
12374
  }
@@ -12408,7 +12408,7 @@ var require_unpack = __commonJS({
12408
12408
  };
12409
12409
  if (entry.mtime && !this.noMtime) {
12410
12410
  actions++;
12411
- fs3.utimes(entry.absolute, entry.atime || new Date(), entry.mtime, done);
12411
+ fs3.utimes(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
12412
12412
  }
12413
12413
  if (this[DOCHOWN](entry)) {
12414
12414
  actions++;
@@ -12652,7 +12652,7 @@ var require_unpack = __commonJS({
12652
12652
  tx.on("end", (_) => {
12653
12653
  let er = null;
12654
12654
  if (entry.mtime && !this.noMtime) {
12655
- const atime = entry.atime || new Date();
12655
+ const atime = entry.atime || /* @__PURE__ */ new Date();
12656
12656
  const mtime = entry.mtime;
12657
12657
  try {
12658
12658
  fs3.futimesSync(fd, atime, mtime);
@@ -12690,7 +12690,7 @@ var require_unpack = __commonJS({
12690
12690
  }
12691
12691
  if (entry.mtime && !this.noMtime) {
12692
12692
  try {
12693
- fs3.utimesSync(entry.absolute, entry.atime || new Date(), entry.mtime);
12693
+ fs3.utimesSync(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
12694
12694
  } catch (er2) {
12695
12695
  }
12696
12696
  }
@@ -12849,11 +12849,23 @@ var require_constants2 = __commonJS({
12849
12849
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
12850
12850
  9007199254740991;
12851
12851
  var MAX_SAFE_COMPONENT_LENGTH = 16;
12852
+ var RELEASE_TYPES = [
12853
+ "major",
12854
+ "premajor",
12855
+ "minor",
12856
+ "preminor",
12857
+ "patch",
12858
+ "prepatch",
12859
+ "prerelease"
12860
+ ];
12852
12861
  module2.exports = {
12853
- SEMVER_SPEC_VERSION,
12854
12862
  MAX_LENGTH,
12863
+ MAX_SAFE_COMPONENT_LENGTH,
12855
12864
  MAX_SAFE_INTEGER,
12856
- MAX_SAFE_COMPONENT_LENGTH
12865
+ RELEASE_TYPES,
12866
+ SEMVER_SPEC_VERSION,
12867
+ FLAG_INCLUDE_PRERELEASE: 1,
12868
+ FLAG_LOOSE: 2
12857
12869
  };
12858
12870
  }
12859
12871
  });
@@ -12933,11 +12945,17 @@ var require_re = __commonJS({
12933
12945
  // node_modules/semver/internal/parse-options.js
12934
12946
  var require_parse_options = __commonJS({
12935
12947
  "node_modules/semver/internal/parse-options.js"(exports, module2) {
12936
- var opts = ["includePrerelease", "loose", "rtl"];
12937
- var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { loose: true } : opts.filter((k) => options[k]).reduce((o, k) => {
12938
- o[k] = true;
12939
- return o;
12940
- }, {});
12948
+ var looseOption = Object.freeze({ loose: true });
12949
+ var emptyOpts = Object.freeze({});
12950
+ var parseOptions = (options) => {
12951
+ if (!options) {
12952
+ return emptyOpts;
12953
+ }
12954
+ if (typeof options !== "object") {
12955
+ return looseOption;
12956
+ }
12957
+ return options;
12958
+ };
12941
12959
  module2.exports = parseOptions;
12942
12960
  }
12943
12961
  });
@@ -13107,31 +13125,31 @@ var require_semver = __commonJS({
13107
13125
  }
13108
13126
  // preminor will bump the version up to the next minor release, and immediately
13109
13127
  // down to pre-release. premajor and prepatch work the same way.
13110
- inc(release, identifier) {
13128
+ inc(release, identifier, identifierBase) {
13111
13129
  switch (release) {
13112
13130
  case "premajor":
13113
13131
  this.prerelease.length = 0;
13114
13132
  this.patch = 0;
13115
13133
  this.minor = 0;
13116
13134
  this.major++;
13117
- this.inc("pre", identifier);
13135
+ this.inc("pre", identifier, identifierBase);
13118
13136
  break;
13119
13137
  case "preminor":
13120
13138
  this.prerelease.length = 0;
13121
13139
  this.patch = 0;
13122
13140
  this.minor++;
13123
- this.inc("pre", identifier);
13141
+ this.inc("pre", identifier, identifierBase);
13124
13142
  break;
13125
13143
  case "prepatch":
13126
13144
  this.prerelease.length = 0;
13127
- this.inc("patch", identifier);
13128
- this.inc("pre", identifier);
13145
+ this.inc("patch", identifier, identifierBase);
13146
+ this.inc("pre", identifier, identifierBase);
13129
13147
  break;
13130
13148
  case "prerelease":
13131
13149
  if (this.prerelease.length === 0) {
13132
- this.inc("patch", identifier);
13150
+ this.inc("patch", identifier, identifierBase);
13133
13151
  }
13134
- this.inc("pre", identifier);
13152
+ this.inc("pre", identifier, identifierBase);
13135
13153
  break;
13136
13154
  case "major":
13137
13155
  if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
@@ -13170,12 +13188,13 @@ var require_semver = __commonJS({
13170
13188
  }
13171
13189
  }
13172
13190
  if (identifier) {
13191
+ const base = Number(identifierBase) ? 1 : 0;
13173
13192
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
13174
13193
  if (isNaN(this.prerelease[1])) {
13175
- this.prerelease = [identifier, 0];
13194
+ this.prerelease = [identifier, base];
13176
13195
  }
13177
13196
  } else {
13178
- this.prerelease = [identifier, 0];
13197
+ this.prerelease = [identifier, base];
13179
13198
  }
13180
13199
  }
13181
13200
  break;
@@ -13195,11 +13214,8 @@ var require_semver = __commonJS({
13195
13214
  var require_parse2 = __commonJS({
13196
13215
  "node_modules/semver/functions/parse.js"(exports, module2) {
13197
13216
  var { MAX_LENGTH } = require_constants2();
13198
- var { re, t } = require_re();
13199
13217
  var SemVer = require_semver();
13200
- var parseOptions = require_parse_options();
13201
13218
  var parse = (version2, options) => {
13202
- options = parseOptions(options);
13203
13219
  if (version2 instanceof SemVer) {
13204
13220
  return version2;
13205
13221
  }
@@ -13209,10 +13225,6 @@ var require_parse2 = __commonJS({
13209
13225
  if (version2.length > MAX_LENGTH) {
13210
13226
  return null;
13211
13227
  }
13212
- const r = options.loose ? re[t.LOOSE] : re[t.FULL];
13213
- if (!r.test(version2)) {
13214
- return null;
13215
- }
13216
13228
  try {
13217
13229
  return new SemVer(version2, options);
13218
13230
  } catch (er) {
@@ -13251,8 +13263,9 @@ var require_clean = __commonJS({
13251
13263
  var require_inc = __commonJS({
13252
13264
  "node_modules/semver/functions/inc.js"(exports, module2) {
13253
13265
  var SemVer = require_semver();
13254
- var inc = (version2, release, options, identifier) => {
13266
+ var inc = (version2, release, options, identifier, identifierBase) => {
13255
13267
  if (typeof options === "string") {
13268
+ identifierBase = identifier;
13256
13269
  identifier = options;
13257
13270
  options = void 0;
13258
13271
  }
@@ -13260,7 +13273,7 @@ var require_inc = __commonJS({
13260
13273
  return new SemVer(
13261
13274
  version2 instanceof SemVer ? version2.version : version2,
13262
13275
  options
13263
- ).inc(release, identifier).version;
13276
+ ).inc(release, identifier, identifierBase).version;
13264
13277
  } catch (er) {
13265
13278
  return null;
13266
13279
  }
@@ -13293,19 +13306,32 @@ var require_diff = __commonJS({
13293
13306
  var parse = require_parse2();
13294
13307
  var eq = require_eq();
13295
13308
  var diff = (version1, version2) => {
13296
- if (eq(version1, version2)) {
13309
+ const v1 = parse(version1);
13310
+ const v2 = parse(version2);
13311
+ if (eq(v1, v2)) {
13297
13312
  return null;
13298
13313
  } else {
13299
- const v1 = parse(version1);
13300
- const v2 = parse(version2);
13301
13314
  const hasPre = v1.prerelease.length || v2.prerelease.length;
13302
13315
  const prefix2 = hasPre ? "pre" : "";
13303
13316
  const defaultResult = hasPre ? "prerelease" : "";
13304
- for (const key in v1) {
13305
- if (key === "major" || key === "minor" || key === "patch") {
13306
- if (v1[key] !== v2[key]) {
13307
- return prefix2 + key;
13308
- }
13317
+ if (v1.major !== v2.major) {
13318
+ return prefix2 + "major";
13319
+ }
13320
+ if (v1.minor !== v2.minor) {
13321
+ return prefix2 + "minor";
13322
+ }
13323
+ if (v1.patch !== v2.patch) {
13324
+ return prefix2 + "patch";
13325
+ }
13326
+ if (!v1.prerelease.length || !v2.prerelease.length) {
13327
+ if (v1.patch) {
13328
+ return "patch";
13329
+ }
13330
+ if (v1.minor) {
13331
+ return "minor";
13332
+ }
13333
+ if (v1.major) {
13334
+ return "major";
13309
13335
  }
13310
13336
  }
13311
13337
  return defaultResult;
@@ -13860,8 +13886,8 @@ var require_range = __commonJS({
13860
13886
  }
13861
13887
  parseRange(range) {
13862
13888
  range = range.trim();
13863
- const memoOpts = Object.keys(this.options).join(",");
13864
- const memoKey = `parseRange:${memoOpts}:${range}`;
13889
+ const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
13890
+ const memoKey = memoOpts + ":" + range;
13865
13891
  const cached = cache2.get(memoKey);
13866
13892
  if (cached) {
13867
13893
  return cached;
@@ -13946,6 +13972,7 @@ var require_range = __commonJS({
13946
13972
  tildeTrimReplace,
13947
13973
  caretTrimReplace
13948
13974
  } = require_re();
13975
+ var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2();
13949
13976
  var isNullSet = (c) => c.value === "<0.0.0-0";
13950
13977
  var isAny = (c) => c.value === "";
13951
13978
  var isSatisfiable = (comparators, options) => {
@@ -14231,12 +14258,6 @@ var require_comparator = __commonJS({
14231
14258
  if (!(comp instanceof Comparator)) {
14232
14259
  throw new TypeError("a Comparator is required");
14233
14260
  }
14234
- if (!options || typeof options !== "object") {
14235
- options = {
14236
- loose: !!options,
14237
- includePrerelease: false
14238
- };
14239
- }
14240
14261
  if (this.operator === "") {
14241
14262
  if (this.value === "") {
14242
14263
  return true;
@@ -14248,13 +14269,29 @@ var require_comparator = __commonJS({
14248
14269
  }
14249
14270
  return new Range(this.value, options).test(comp.semver);
14250
14271
  }
14251
- const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
14252
- const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
14253
- const sameSemVer = this.semver.version === comp.semver.version;
14254
- const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
14255
- const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
14256
- const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
14257
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
14272
+ options = parseOptions(options);
14273
+ if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
14274
+ return false;
14275
+ }
14276
+ if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
14277
+ return false;
14278
+ }
14279
+ if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
14280
+ return true;
14281
+ }
14282
+ if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
14283
+ return true;
14284
+ }
14285
+ if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
14286
+ return true;
14287
+ }
14288
+ if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
14289
+ return true;
14290
+ }
14291
+ if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
14292
+ return true;
14293
+ }
14294
+ return false;
14258
14295
  }
14259
14296
  };
14260
14297
  module2.exports = Comparator;
@@ -14512,7 +14549,7 @@ var require_intersects = __commonJS({
14512
14549
  var intersects = (r1, r2, options) => {
14513
14550
  r1 = new Range(r1, options);
14514
14551
  r2 = new Range(r2, options);
14515
- return r1.intersects(r2);
14552
+ return r1.intersects(r2, options);
14516
14553
  };
14517
14554
  module2.exports = intersects;
14518
14555
  }
@@ -14597,6 +14634,8 @@ var require_subset = __commonJS({
14597
14634
  }
14598
14635
  return true;
14599
14636
  };
14637
+ var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
14638
+ var minimumVersion = [new Comparator(">=0.0.0")];
14600
14639
  var simpleSubset = (sub, dom, options) => {
14601
14640
  if (sub === dom) {
14602
14641
  return true;
@@ -14605,16 +14644,16 @@ var require_subset = __commonJS({
14605
14644
  if (dom.length === 1 && dom[0].semver === ANY) {
14606
14645
  return true;
14607
14646
  } else if (options.includePrerelease) {
14608
- sub = [new Comparator(">=0.0.0-0")];
14647
+ sub = minimumVersionWithPreRelease;
14609
14648
  } else {
14610
- sub = [new Comparator(">=0.0.0")];
14649
+ sub = minimumVersion;
14611
14650
  }
14612
14651
  }
14613
14652
  if (dom.length === 1 && dom[0].semver === ANY) {
14614
14653
  if (options.includePrerelease) {
14615
14654
  return true;
14616
14655
  } else {
14617
- dom = [new Comparator(">=0.0.0")];
14656
+ dom = minimumVersion;
14618
14657
  }
14619
14658
  }
14620
14659
  const eqSet = /* @__PURE__ */ new Set();
@@ -14814,6 +14853,7 @@ var require_semver2 = __commonJS({
14814
14853
  src: internalRe.src,
14815
14854
  tokens: internalRe.t,
14816
14855
  SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
14856
+ RELEASE_TYPES: constants.RELEASE_TYPES,
14817
14857
  compareIdentifiers: identifiers.compareIdentifiers,
14818
14858
  rcompareIdentifiers: identifiers.rcompareIdentifiers
14819
14859
  };
@@ -16781,7 +16821,7 @@ var require_package = __commonJS({
16781
16821
  "package.json"(exports, module2) {
16782
16822
  module2.exports = {
16783
16823
  name: "npm-pkg-lint",
16784
- version: "1.11.1",
16824
+ version: "1.11.2",
16785
16825
  description: "Opinionated linter for NPM package tarball and package.json metadata",
16786
16826
  keywords: [
16787
16827
  "lint",
@@ -16840,33 +16880,32 @@ var require_package = __commonJS({
16840
16880
  argparse: "2.0.1",
16841
16881
  execa: "5.1.1",
16842
16882
  "find-up": "5.0.0",
16843
- semver: "7.3.8",
16883
+ semver: "7.4.0",
16844
16884
  tar: "6.1.13",
16845
16885
  tmp: "0.2.1"
16846
16886
  },
16847
16887
  devDependencies: {
16848
- "@html-validate/commitlint-config": "3.0.9",
16849
- "@html-validate/eslint-config": "5.5.19",
16850
- "@html-validate/eslint-config-jest": "5.5.18",
16851
- "@html-validate/eslint-config-typescript": "5.5.19",
16852
- "@html-validate/jest-config": "3.6.2",
16853
- "@html-validate/prettier-config": "2.3.3",
16854
- "@html-validate/release-scripts": "3.5.9",
16888
+ "@html-validate/commitlint-config": "3.0.13",
16889
+ "@html-validate/eslint-config": "5.7.3",
16890
+ "@html-validate/eslint-config-jest": "5.7.0",
16891
+ "@html-validate/eslint-config-typescript": "5.7.3",
16892
+ "@html-validate/jest-config": "3.6.3",
16893
+ "@html-validate/prettier-config": "2.3.9",
16894
+ "@html-validate/release-scripts": "4.0.6",
16855
16895
  "@types/argparse": "2.0.10",
16856
- "@types/glob": "8.0.0",
16857
- "@types/jest": "29.2.5",
16858
- "@types/node": "14.18.36",
16896
+ "@types/jest": "29.5.0",
16897
+ "@types/node": "14.18.42",
16859
16898
  "@types/semver": "7.3.13",
16860
- "@types/tar": "6.1.3",
16899
+ "@types/tar": "6.1.4",
16861
16900
  "@types/tmp": "0.2.3",
16862
- esbuild: "0.17.0",
16863
- glob: "8.0.3",
16901
+ esbuild: "0.17.16",
16902
+ glob: "10.0.0",
16864
16903
  husky: "8.0.3",
16865
- jest: "29.3.1",
16866
- "lint-staged": "13.1.0",
16867
- prettier: "2.8.3",
16868
- "ts-jest": "29.0.5",
16869
- typescript: "4.9.4"
16904
+ jest: "29.5.0",
16905
+ "lint-staged": "13.2.1",
16906
+ prettier: "2.8.7",
16907
+ "ts-jest": "29.1.0",
16908
+ typescript: "5.0.4"
16870
16909
  },
16871
16910
  engines: {
16872
16911
  node: ">= 14.0"
@@ -17096,6 +17135,7 @@ function isBlacklisted(filename2) {
17096
17135
  // src/tarball.ts
17097
17136
  var import_fs = __toESM(require("fs"));
17098
17137
  var import_tar = __toESM(require_tar());
17138
+ var ruleId = "no-missing-main";
17099
17139
  function normalize(filename2) {
17100
17140
  return filename2.replace(/^[^/]+\//, "");
17101
17141
  }
@@ -17154,20 +17194,40 @@ function* yieldRequiredFiles(src, template) {
17154
17194
  yield { ...template, filename: filename2 };
17155
17195
  }
17156
17196
  }
17197
+ function* yieldExportedFiles(exports) {
17198
+ if (!exports) {
17199
+ return;
17200
+ }
17201
+ if (typeof exports === "string") {
17202
+ yield {
17203
+ field: "exports",
17204
+ ruleId: "no-missing-exports",
17205
+ filename: exports
17206
+ };
17207
+ return;
17208
+ }
17209
+ for (const [key, value] of Object.entries(exports)) {
17210
+ if (key.includes("*")) {
17211
+ continue;
17212
+ }
17213
+ yield* yieldExportedFiles(value);
17214
+ }
17215
+ }
17157
17216
  function* requiredFiles(pkg) {
17217
+ yield* yieldExportedFiles(pkg.exports);
17158
17218
  if (pkg.main) {
17159
- yield* yieldRequiredFiles(pkg.main, { field: "main", ruleId: "no-missing-main" });
17219
+ yield* yieldRequiredFiles(pkg.main, { field: "main", ruleId });
17160
17220
  }
17161
17221
  if (pkg.browser) {
17162
- yield* yieldRequiredFiles(pkg.browser, { field: "browser", ruleId: "no-missing-main" });
17222
+ yield* yieldRequiredFiles(pkg.browser, { field: "browser", ruleId });
17163
17223
  }
17164
17224
  if (pkg.module) {
17165
- yield* yieldRequiredFiles(pkg.module, { field: "module", ruleId: "no-missing-main" });
17225
+ yield* yieldRequiredFiles(pkg.module, { field: "module", ruleId });
17166
17226
  }
17167
17227
  if (pkg["jsnext:main"]) {
17168
17228
  yield* yieldRequiredFiles(pkg["jsnext:main"], {
17169
17229
  field: "jsnext:main",
17170
- ruleId: "no-missing-main"
17230
+ ruleId
17171
17231
  });
17172
17232
  }
17173
17233
  if (pkg.typings) {
@@ -17392,12 +17452,12 @@ var nodeVersions = [
17392
17452
  ];
17393
17453
 
17394
17454
  // src/rules/outdated-engines.ts
17395
- var ruleId = "outdated-engines";
17455
+ var ruleId2 = "outdated-engines";
17396
17456
  var severity = import_stylish.Severity.ERROR;
17397
17457
  function* outdatedEngines(pkg) {
17398
17458
  if (!pkg.engines || !pkg.engines.node) {
17399
17459
  yield {
17400
- ruleId,
17460
+ ruleId: ruleId2,
17401
17461
  severity,
17402
17462
  message: "Missing engines.node field",
17403
17463
  line: 1,
@@ -17408,7 +17468,7 @@ function* outdatedEngines(pkg) {
17408
17468
  const range = pkg.engines.node;
17409
17469
  if (!import_semver.default.validRange(range)) {
17410
17470
  yield {
17411
- ruleId,
17471
+ ruleId: ruleId2,
17412
17472
  severity,
17413
17473
  message: `engines.node "${range}" is not a valid semver range`,
17414
17474
  line: 1,
@@ -17428,7 +17488,7 @@ function* outdatedEngines(pkg) {
17428
17488
  const nodeRelease = parsed.major || `0.${parsed.minor}`;
17429
17489
  const message = `engines.node is satisfied by Node ${nodeRelease} (EOL since ${descriptor.eol})`;
17430
17490
  yield {
17431
- ruleId,
17491
+ ruleId: ruleId2,
17432
17492
  severity,
17433
17493
  message,
17434
17494
  line: 1,
@@ -17455,7 +17515,7 @@ async function npmInfo(pkg) {
17455
17515
  }
17456
17516
 
17457
17517
  // src/rules/verify-engine-constraint.ts
17458
- var ruleId2 = "invalid-engine-constraint";
17518
+ var ruleId3 = "invalid-engine-constraint";
17459
17519
  async function* getDeepDependencies(pkg, dependency) {
17460
17520
  const pkgData = dependency ? await npmInfo(dependency) : pkg;
17461
17521
  for (const [key, value] of Object.entries(pkgData.dependencies ?? {})) {
@@ -17483,7 +17543,7 @@ async function verifyEngineConstraint(pkg) {
17483
17543
  }
17484
17544
  if (!import_semver2.default.satisfies(minDeclared, constraint)) {
17485
17545
  messages.push({
17486
- ruleId: ruleId2,
17546
+ ruleId: ruleId3,
17487
17547
  severity: 2,
17488
17548
  message: `the transitive dependency "${dependency}" (node ${constraint}) does not satisfy the declared node engine "${declaredConstraint}"`,
17489
17549
  line: 1,
@@ -17497,7 +17557,7 @@ async function verifyEngineConstraint(pkg) {
17497
17557
  // src/rules/types-node-matching-engine.ts
17498
17558
  var import_semver3 = __toESM(require_semver2());
17499
17559
  var import_stylish2 = __toESM(require_dist());
17500
- var ruleId3 = "types-node-matching-engine";
17560
+ var ruleId4 = "types-node-matching-engine";
17501
17561
  var severity2 = import_stylish2.Severity.ERROR;
17502
17562
  function* typesNodeMatchingEngine(pkg) {
17503
17563
  if (!pkg.engines || !pkg.engines.node) {
@@ -17518,7 +17578,7 @@ function* typesNodeMatchingEngine(pkg) {
17518
17578
  }
17519
17579
  if (typesVersion.major !== nodeVersion.major) {
17520
17580
  yield {
17521
- ruleId: ruleId3,
17581
+ ruleId: ruleId4,
17522
17582
  severity: severity2,
17523
17583
  message: `@types/node v${typesVersion.major} does not equal engines.node v${nodeVersion.major}`,
17524
17584
  line: 1,