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 +1 -0
- package/dist/index.js +150 -90
- package/dist/index.js.map +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -3447,9 +3447,9 @@ var require_locate_path = __commonJS({
|
|
|
3447
3447
|
}
|
|
3448
3448
|
});
|
|
3449
3449
|
|
|
3450
|
-
// node_modules/
|
|
3450
|
+
// node_modules/path-exists/index.js
|
|
3451
3451
|
var require_path_exists = __commonJS({
|
|
3452
|
-
"node_modules/
|
|
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
|
-
|
|
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
|
|
12937
|
-
var
|
|
12938
|
-
|
|
12939
|
-
|
|
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,
|
|
13194
|
+
this.prerelease = [identifier, base];
|
|
13176
13195
|
}
|
|
13177
13196
|
} else {
|
|
13178
|
-
this.prerelease = [identifier,
|
|
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
|
-
|
|
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
|
-
|
|
13305
|
-
|
|
13306
|
-
|
|
13307
|
-
|
|
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 =
|
|
13864
|
-
const memoKey =
|
|
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
|
-
|
|
14252
|
-
|
|
14253
|
-
|
|
14254
|
-
|
|
14255
|
-
|
|
14256
|
-
|
|
14257
|
-
|
|
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 =
|
|
14647
|
+
sub = minimumVersionWithPreRelease;
|
|
14609
14648
|
} else {
|
|
14610
|
-
sub =
|
|
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 =
|
|
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.
|
|
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.
|
|
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.
|
|
16849
|
-
"@html-validate/eslint-config": "5.
|
|
16850
|
-
"@html-validate/eslint-config-jest": "5.
|
|
16851
|
-
"@html-validate/eslint-config-typescript": "5.
|
|
16852
|
-
"@html-validate/jest-config": "3.6.
|
|
16853
|
-
"@html-validate/prettier-config": "2.3.
|
|
16854
|
-
"@html-validate/release-scripts": "
|
|
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/
|
|
16857
|
-
"@types/
|
|
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.
|
|
16899
|
+
"@types/tar": "6.1.4",
|
|
16861
16900
|
"@types/tmp": "0.2.3",
|
|
16862
|
-
esbuild: "0.17.
|
|
16863
|
-
glob: "
|
|
16901
|
+
esbuild: "0.17.16",
|
|
16902
|
+
glob: "10.0.0",
|
|
16864
16903
|
husky: "8.0.3",
|
|
16865
|
-
jest: "29.
|
|
16866
|
-
"lint-staged": "13.1
|
|
16867
|
-
prettier: "2.8.
|
|
16868
|
-
"ts-jest": "29.0
|
|
16869
|
-
typescript: "
|
|
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
|
|
17219
|
+
yield* yieldRequiredFiles(pkg.main, { field: "main", ruleId });
|
|
17160
17220
|
}
|
|
17161
17221
|
if (pkg.browser) {
|
|
17162
|
-
yield* yieldRequiredFiles(pkg.browser, { field: "browser", ruleId
|
|
17222
|
+
yield* yieldRequiredFiles(pkg.browser, { field: "browser", ruleId });
|
|
17163
17223
|
}
|
|
17164
17224
|
if (pkg.module) {
|
|
17165
|
-
yield* yieldRequiredFiles(pkg.module, { field: "module", ruleId
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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,
|