@svelte-vitals/core 0.41.1 → 0.42.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/dist/index.d.ts +37 -23
- package/dist/index.js +188 -1329
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -35,36 +35,29 @@ var CHILD_NODE_KEYS = [
|
|
|
35
35
|
"catch",
|
|
36
36
|
"fallback"
|
|
37
37
|
];
|
|
38
|
+
var hasExpression = (nodes) => nodes.some((n) => n?.type === "ExpressionTag");
|
|
39
|
+
function joinText(nodes) {
|
|
40
|
+
return nodes.filter((n) => n?.type === "Text").map((n) => String(n.data ?? "")).join("");
|
|
41
|
+
}
|
|
38
42
|
function valueFromNodes(nodes) {
|
|
39
43
|
if (!Array.isArray(nodes)) return "absent";
|
|
40
|
-
if (nodes
|
|
41
|
-
|
|
42
|
-
return text.trim().length > 0 ? "static" : "absent";
|
|
44
|
+
if (hasExpression(nodes)) return "dynamic";
|
|
45
|
+
return joinText(nodes).trim().length > 0 ? "static" : "absent";
|
|
43
46
|
}
|
|
44
47
|
function textFromNodes(nodes) {
|
|
45
|
-
if (!Array.isArray(nodes) || nodes
|
|
46
|
-
const text = nodes
|
|
48
|
+
if (!Array.isArray(nodes) || hasExpression(nodes)) return void 0;
|
|
49
|
+
const text = joinText(nodes);
|
|
47
50
|
return text.trim().length > 0 ? text : void 0;
|
|
48
51
|
}
|
|
49
52
|
function attrText(attributes, name) {
|
|
50
|
-
const
|
|
51
|
-
if (!attr) return void 0;
|
|
52
|
-
const v = attr.value;
|
|
53
|
+
const v = findAttr(attributes, name)?.value;
|
|
53
54
|
if (v === true) return "";
|
|
54
|
-
if (Array.isArray(v))
|
|
55
|
-
|
|
56
|
-
return v.filter((n) => n?.type === "Text").map((n) => String(n.data ?? "")).join("");
|
|
57
|
-
}
|
|
58
|
-
return void 0;
|
|
55
|
+
if (!Array.isArray(v) || hasExpression(v)) return void 0;
|
|
56
|
+
return joinText(v);
|
|
59
57
|
}
|
|
60
58
|
function attrValue(attributes, name) {
|
|
61
59
|
const attr = findAttr(attributes, name);
|
|
62
|
-
|
|
63
|
-
const v = attr.value;
|
|
64
|
-
if (v === true) return "absent";
|
|
65
|
-
if (Array.isArray(v)) return valueFromNodes(v);
|
|
66
|
-
if (v && v.type === "ExpressionTag") return "dynamic";
|
|
67
|
-
return "absent";
|
|
60
|
+
return attr ? attrValueOf(attr) : "absent";
|
|
68
61
|
}
|
|
69
62
|
function lineOf(source, offset) {
|
|
70
63
|
if (typeof offset !== "number" || offset < 0) return 0;
|
|
@@ -86,9 +79,7 @@ function attrValueOf(attr) {
|
|
|
86
79
|
}
|
|
87
80
|
function attrTextOf(attr) {
|
|
88
81
|
const v = attr?.value;
|
|
89
|
-
|
|
90
|
-
const text = v.filter((n) => n?.type === "Text").map((n) => String(n.data ?? "")).join("");
|
|
91
|
-
return text.trim().length > 0 ? text : void 0;
|
|
82
|
+
return Array.isArray(v) ? textFromNodes(v) : void 0;
|
|
92
83
|
}
|
|
93
84
|
|
|
94
85
|
// src/component-parse.ts
|
|
@@ -2749,56 +2740,56 @@ var seoHtmlLang = {
|
|
|
2749
2740
|
}
|
|
2750
2741
|
};
|
|
2751
2742
|
|
|
2743
|
+
// src/rules/detection.ts
|
|
2744
|
+
var PENALIZED = { presence: "none", value: "absent" };
|
|
2745
|
+
var PASS = { presence: "own", value: "static" };
|
|
2746
|
+
|
|
2752
2747
|
// src/rules/perf/image-rule.ts
|
|
2753
|
-
function
|
|
2754
|
-
const docsUrl12 = docsUrlFor(
|
|
2755
|
-
const category = opts.category ?? "performance";
|
|
2748
|
+
function routeItemRule(spec) {
|
|
2749
|
+
const docsUrl12 = docsUrlFor(spec.id);
|
|
2756
2750
|
return {
|
|
2757
|
-
id:
|
|
2758
|
-
title:
|
|
2759
|
-
category,
|
|
2760
|
-
severity:
|
|
2751
|
+
id: spec.id,
|
|
2752
|
+
title: spec.title,
|
|
2753
|
+
category: spec.category,
|
|
2754
|
+
severity: spec.severity,
|
|
2761
2755
|
scope: "route",
|
|
2762
|
-
rationale:
|
|
2763
|
-
...
|
|
2756
|
+
rationale: spec.rationale,
|
|
2757
|
+
...spec.fix ? { fix: spec.fix } : {},
|
|
2764
2758
|
async check(ctx) {
|
|
2765
2759
|
const out = [];
|
|
2766
|
-
for (const
|
|
2767
|
-
if (
|
|
2768
|
-
const bad =
|
|
2760
|
+
for (const g of spec.groups(ctx)) {
|
|
2761
|
+
if (g.items.length === 0) continue;
|
|
2762
|
+
const bad = g.items.filter((item) => !spec.ok(item));
|
|
2769
2763
|
if (bad.length === 0) {
|
|
2770
2764
|
out.push({
|
|
2771
|
-
id:
|
|
2772
|
-
category,
|
|
2773
|
-
severity:
|
|
2774
|
-
detection:
|
|
2775
|
-
route:
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
// was missed by the design spike's grep and added to its blast-radius table
|
|
2780
|
-
// afterward, maintainer ruling, same date). `route.images.length === 0` already
|
|
2781
|
-
// continued above, so `[0]` is always defined here.
|
|
2782
|
-
location: route.images[0].file,
|
|
2783
|
-
message: opts.label,
|
|
2784
|
-
recommendation: opts.recommendation,
|
|
2765
|
+
id: spec.id,
|
|
2766
|
+
category: spec.category,
|
|
2767
|
+
severity: spec.severity,
|
|
2768
|
+
detection: PASS,
|
|
2769
|
+
route: g.route,
|
|
2770
|
+
location: g.passLocation,
|
|
2771
|
+
message: spec.label,
|
|
2772
|
+
recommendation: spec.recommendation,
|
|
2785
2773
|
docsUrl: docsUrl12
|
|
2786
2774
|
});
|
|
2787
2775
|
continue;
|
|
2788
2776
|
}
|
|
2789
|
-
for (const
|
|
2777
|
+
for (const item of bad) {
|
|
2778
|
+
const line = spec.line?.(item);
|
|
2790
2779
|
out.push({
|
|
2791
|
-
id:
|
|
2792
|
-
category,
|
|
2793
|
-
severity:
|
|
2794
|
-
detection:
|
|
2795
|
-
route:
|
|
2796
|
-
location:
|
|
2797
|
-
...
|
|
2798
|
-
message: `Missing ${
|
|
2799
|
-
recommendation:
|
|
2780
|
+
id: spec.id,
|
|
2781
|
+
category: spec.category,
|
|
2782
|
+
severity: spec.severity,
|
|
2783
|
+
detection: PENALIZED,
|
|
2784
|
+
route: g.route,
|
|
2785
|
+
location: spec.location(item, g.passLocation),
|
|
2786
|
+
...line !== void 0 && line > 0 ? { line } : {},
|
|
2787
|
+
message: `Missing ${spec.label}`,
|
|
2788
|
+
recommendation: spec.recommendation,
|
|
2800
2789
|
docsUrl: docsUrl12,
|
|
2801
|
-
|
|
2790
|
+
// Copy per finding: spec.fix is a rule-level template shared across all
|
|
2791
|
+
// results this rule emits; a fresh object keeps findings independent.
|
|
2792
|
+
...spec.fix ? { fix: { ...spec.fix } } : {}
|
|
2802
2793
|
});
|
|
2803
2794
|
}
|
|
2804
2795
|
}
|
|
@@ -2806,6 +2797,18 @@ function imageRule(opts) {
|
|
|
2806
2797
|
}
|
|
2807
2798
|
};
|
|
2808
2799
|
}
|
|
2800
|
+
function imageRule(opts) {
|
|
2801
|
+
return routeItemRule({
|
|
2802
|
+
...opts,
|
|
2803
|
+
category: opts.category ?? "performance",
|
|
2804
|
+
// No single route-level file exists here (unlike ResolvedHead.file) — the route's
|
|
2805
|
+
// first image stands in as its attributed file; empty routes are filtered first,
|
|
2806
|
+
// so `[0]` is always defined.
|
|
2807
|
+
groups: (ctx) => (ctx.images ?? []).filter((r) => r.images.length > 0).map((r) => ({ route: r.route, items: r.images, passLocation: r.images[0].file })),
|
|
2808
|
+
location: (img) => img.file,
|
|
2809
|
+
line: (img) => img.line
|
|
2810
|
+
});
|
|
2811
|
+
}
|
|
2809
2812
|
|
|
2810
2813
|
// src/rules/perf/image-dimensions.ts
|
|
2811
2814
|
var performanceImageDimensions = imageRule({
|
|
@@ -2857,62 +2860,19 @@ var performanceResponsiveImage = imageRule({
|
|
|
2857
2860
|
|
|
2858
2861
|
// src/rules/perf/link-rule.ts
|
|
2859
2862
|
function linkRule(opts) {
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
id: opts.id,
|
|
2863
|
-
title: opts.title,
|
|
2863
|
+
return routeItemRule({
|
|
2864
|
+
...opts,
|
|
2864
2865
|
category: "performance",
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
if (bad.length === 0) {
|
|
2876
|
-
out.push({
|
|
2877
|
-
id: opts.id,
|
|
2878
|
-
category: "performance",
|
|
2879
|
-
severity: opts.severity,
|
|
2880
|
-
detection: { presence: "own", value: "static" },
|
|
2881
|
-
route: head.route,
|
|
2882
|
-
// The route's own attributed file (design 2026-08-08-pass-result-location-design.md)
|
|
2883
|
-
// — this uncaught inline PASS literal was missed by the design spike's grep and
|
|
2884
|
-
// added to its blast-radius table afterward (maintainer ruling, same date). No
|
|
2885
|
-
// single per-tag location applies here (many links can back one pass), so the
|
|
2886
|
-
// route's own head file is the uniform attribution; per-tag penalized locations
|
|
2887
|
-
// above remain per-tag.
|
|
2888
|
-
location: head.file,
|
|
2889
|
-
message: opts.label,
|
|
2890
|
-
recommendation: opts.recommendation,
|
|
2891
|
-
docsUrl: docsUrl12
|
|
2892
|
-
});
|
|
2893
|
-
continue;
|
|
2894
|
-
}
|
|
2895
|
-
for (const tag of bad) {
|
|
2896
|
-
out.push({
|
|
2897
|
-
id: opts.id,
|
|
2898
|
-
category: "performance",
|
|
2899
|
-
severity: opts.severity,
|
|
2900
|
-
detection: { presence: "none", value: "absent" },
|
|
2901
|
-
route: head.route,
|
|
2902
|
-
// Point at the file the link actually came from (a layout in static
|
|
2903
|
-
// mode); fall back to the route's representative file when the tag
|
|
2904
|
-
// carries no file (rendered mode).
|
|
2905
|
-
location: tag.file ?? head.file,
|
|
2906
|
-
message: `Missing ${opts.label}`,
|
|
2907
|
-
recommendation: opts.recommendation,
|
|
2908
|
-
docsUrl: docsUrl12,
|
|
2909
|
-
...opts.fix ? { fix: { ...opts.fix } } : {}
|
|
2910
|
-
});
|
|
2911
|
-
}
|
|
2912
|
-
}
|
|
2913
|
-
return out;
|
|
2914
|
-
}
|
|
2915
|
-
};
|
|
2866
|
+
// The route's own head file is the PASS attribution (many links can back one pass).
|
|
2867
|
+
groups: (ctx) => ctx.heads.map((head) => ({
|
|
2868
|
+
route: head.route,
|
|
2869
|
+
items: head.tags.filter((t) => t.kind === "link" && opts.relevant(t)),
|
|
2870
|
+
passLocation: head.file
|
|
2871
|
+
})),
|
|
2872
|
+
// Point at the file the link actually came from (a layout in static mode); fall back
|
|
2873
|
+
// to the route's representative file when the tag carries no file (rendered mode).
|
|
2874
|
+
location: (tag, passLocation) => tag.file ?? passLocation
|
|
2875
|
+
});
|
|
2916
2876
|
}
|
|
2917
2877
|
|
|
2918
2878
|
// src/rules/perf/preload-missing-as.ts
|
|
@@ -3083,6 +3043,9 @@ function withFailedRulesOff(config, failedRuleIds) {
|
|
|
3083
3043
|
}
|
|
3084
3044
|
};
|
|
3085
3045
|
}
|
|
3046
|
+
function formatFailedRuleWarning(f) {
|
|
3047
|
+
return `rule ${f.id} failed and was skipped: ${f.message.split("\n")[0]}`;
|
|
3048
|
+
}
|
|
3086
3049
|
function applyRuleSeverities(results, config) {
|
|
3087
3050
|
return results.map((result) => {
|
|
3088
3051
|
const severity = settingSeverity(config.rules[result.id]);
|
|
@@ -3483,10 +3446,6 @@ var seoSitemapInRobots = {
|
|
|
3483
3446
|
}
|
|
3484
3447
|
};
|
|
3485
3448
|
|
|
3486
|
-
// src/rules/seo/detection.ts
|
|
3487
|
-
var PENALIZED = { presence: "none", value: "absent" };
|
|
3488
|
-
var PASS = { presence: "own", value: "static" };
|
|
3489
|
-
|
|
3490
3449
|
// src/rules/seo/jsonld-engine.ts
|
|
3491
3450
|
function parseJsonLd(raw) {
|
|
3492
3451
|
let data;
|
|
@@ -3700,1042 +3659,11 @@ function jsonldRule(opts) {
|
|
|
3700
3659
|
}
|
|
3701
3660
|
|
|
3702
3661
|
// src/rules/seo/schema-vocabulary.generated.ts
|
|
3703
|
-
var SCHEMA_ORG_TYPES =
|
|
3704
|
-
"3DModel",
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
"AcceptAction",
|
|
3709
|
-
"Accommodation",
|
|
3710
|
-
"AccountingService",
|
|
3711
|
-
"AchieveAction",
|
|
3712
|
-
"Action",
|
|
3713
|
-
"ActionAccessSpecification",
|
|
3714
|
-
"ActionStatusType",
|
|
3715
|
-
"ActivateAction",
|
|
3716
|
-
"AddAction",
|
|
3717
|
-
"AdministrativeArea",
|
|
3718
|
-
"AdultEntertainment",
|
|
3719
|
-
"AdultOrientedEnumeration",
|
|
3720
|
-
"AdvertiserContentArticle",
|
|
3721
|
-
"AggregateOffer",
|
|
3722
|
-
"AggregateRating",
|
|
3723
|
-
"AgreeAction",
|
|
3724
|
-
"Airline",
|
|
3725
|
-
"Airport",
|
|
3726
|
-
"AlignmentObject",
|
|
3727
|
-
"AllocateAction",
|
|
3728
|
-
"AmpStory",
|
|
3729
|
-
"AmusementPark",
|
|
3730
|
-
"AnalysisNewsArticle",
|
|
3731
|
-
"AnatomicalStructure",
|
|
3732
|
-
"AnatomicalSystem",
|
|
3733
|
-
"AnimalShelter",
|
|
3734
|
-
"Answer",
|
|
3735
|
-
"Apartment",
|
|
3736
|
-
"ApartmentComplex",
|
|
3737
|
-
"AppendAction",
|
|
3738
|
-
"ApplyAction",
|
|
3739
|
-
"ApprovedIndication",
|
|
3740
|
-
"Aquarium",
|
|
3741
|
-
"ArchiveComponent",
|
|
3742
|
-
"ArchiveOrganization",
|
|
3743
|
-
"ArriveAction",
|
|
3744
|
-
"ArtGallery",
|
|
3745
|
-
"Artery",
|
|
3746
|
-
"Article",
|
|
3747
|
-
"AskAction",
|
|
3748
|
-
"AskPublicNewsArticle",
|
|
3749
|
-
"AssessAction",
|
|
3750
|
-
"AssignAction",
|
|
3751
|
-
"Atlas",
|
|
3752
|
-
"Attorney",
|
|
3753
|
-
"Audience",
|
|
3754
|
-
"AudioObject",
|
|
3755
|
-
"AudioObjectSnapshot",
|
|
3756
|
-
"Audiobook",
|
|
3757
|
-
"AuthenticateAction",
|
|
3758
|
-
"AuthorizeAction",
|
|
3759
|
-
"AutoBodyShop",
|
|
3760
|
-
"AutoDealer",
|
|
3761
|
-
"AutoPartsStore",
|
|
3762
|
-
"AutoRental",
|
|
3763
|
-
"AutoRepair",
|
|
3764
|
-
"AutoWash",
|
|
3765
|
-
"AutomatedTeller",
|
|
3766
|
-
"AutomotiveBusiness",
|
|
3767
|
-
"BackgroundNewsArticle",
|
|
3768
|
-
"Bakery",
|
|
3769
|
-
"BankAccount",
|
|
3770
|
-
"BankOrCreditUnion",
|
|
3771
|
-
"BarOrPub",
|
|
3772
|
-
"Barcode",
|
|
3773
|
-
"Beach",
|
|
3774
|
-
"BeautySalon",
|
|
3775
|
-
"BedAndBreakfast",
|
|
3776
|
-
"BedDetails",
|
|
3777
|
-
"BedType",
|
|
3778
|
-
"BefriendAction",
|
|
3779
|
-
"BikeStore",
|
|
3780
|
-
"BioChemEntity",
|
|
3781
|
-
"Blog",
|
|
3782
|
-
"BlogPosting",
|
|
3783
|
-
"BloodTest",
|
|
3784
|
-
"BoardingPolicyType",
|
|
3785
|
-
"BoatReservation",
|
|
3786
|
-
"BoatTerminal",
|
|
3787
|
-
"BoatTrip",
|
|
3788
|
-
"BodyMeasurementTypeEnumeration",
|
|
3789
|
-
"BodyOfWater",
|
|
3790
|
-
"Bone",
|
|
3791
|
-
"Book",
|
|
3792
|
-
"BookFormatType",
|
|
3793
|
-
"BookSeries",
|
|
3794
|
-
"BookStore",
|
|
3795
|
-
"BookmarkAction",
|
|
3796
|
-
"Boolean",
|
|
3797
|
-
"BorrowAction",
|
|
3798
|
-
"BowlingAlley",
|
|
3799
|
-
"BrainStructure",
|
|
3800
|
-
"Brand",
|
|
3801
|
-
"BreadcrumbList",
|
|
3802
|
-
"Brewery",
|
|
3803
|
-
"Bridge",
|
|
3804
|
-
"BroadcastChannel",
|
|
3805
|
-
"BroadcastEvent",
|
|
3806
|
-
"BroadcastFrequencySpecification",
|
|
3807
|
-
"BroadcastService",
|
|
3808
|
-
"BrokerageAccount",
|
|
3809
|
-
"BuddhistTemple",
|
|
3810
|
-
"BusOrCoach",
|
|
3811
|
-
"BusReservation",
|
|
3812
|
-
"BusStation",
|
|
3813
|
-
"BusStop",
|
|
3814
|
-
"BusTrip",
|
|
3815
|
-
"BusinessAudience",
|
|
3816
|
-
"BusinessEntityType",
|
|
3817
|
-
"BusinessEvent",
|
|
3818
|
-
"BusinessFunction",
|
|
3819
|
-
"BuyAction",
|
|
3820
|
-
"CDCPMDRecord",
|
|
3821
|
-
"CableOrSatelliteService",
|
|
3822
|
-
"CafeOrCoffeeShop",
|
|
3823
|
-
"Campground",
|
|
3824
|
-
"CampingPitch",
|
|
3825
|
-
"Canal",
|
|
3826
|
-
"CancelAction",
|
|
3827
|
-
"Car",
|
|
3828
|
-
"CarUsageType",
|
|
3829
|
-
"Casino",
|
|
3830
|
-
"CategoryCode",
|
|
3831
|
-
"CategoryCodeSet",
|
|
3832
|
-
"CatholicChurch",
|
|
3833
|
-
"Cemetery",
|
|
3834
|
-
"Certification",
|
|
3835
|
-
"CertificationStatusEnumeration",
|
|
3836
|
-
"Chapter",
|
|
3837
|
-
"CheckAction",
|
|
3838
|
-
"CheckInAction",
|
|
3839
|
-
"CheckOutAction",
|
|
3840
|
-
"CheckoutPage",
|
|
3841
|
-
"ChemicalSubstance",
|
|
3842
|
-
"ChildCare",
|
|
3843
|
-
"ChildrensEvent",
|
|
3844
|
-
"ChooseAction",
|
|
3845
|
-
"Church",
|
|
3846
|
-
"City",
|
|
3847
|
-
"CityHall",
|
|
3848
|
-
"CivicStructure",
|
|
3849
|
-
"Claim",
|
|
3850
|
-
"ClaimReview",
|
|
3851
|
-
"Class",
|
|
3852
|
-
"Clip",
|
|
3853
|
-
"ClothingStore",
|
|
3854
|
-
"Code",
|
|
3855
|
-
"Collection",
|
|
3856
|
-
"CollectionPage",
|
|
3857
|
-
"CollegeOrUniversity",
|
|
3858
|
-
"ComedyClub",
|
|
3859
|
-
"ComedyEvent",
|
|
3860
|
-
"ComicCoverArt",
|
|
3861
|
-
"ComicIssue",
|
|
3862
|
-
"ComicSeries",
|
|
3863
|
-
"ComicStory",
|
|
3864
|
-
"Comment",
|
|
3865
|
-
"CommentAction",
|
|
3866
|
-
"CommunicateAction",
|
|
3867
|
-
"CommunityHealth",
|
|
3868
|
-
"CompleteDataFeed",
|
|
3869
|
-
"CompoundPriceSpecification",
|
|
3870
|
-
"ComputerLanguage",
|
|
3871
|
-
"ComputerStore",
|
|
3872
|
-
"ConferenceEvent",
|
|
3873
|
-
"ConfirmAction",
|
|
3874
|
-
"Consortium",
|
|
3875
|
-
"ConstraintNode",
|
|
3876
|
-
"ConsumeAction",
|
|
3877
|
-
"ContactPage",
|
|
3878
|
-
"ContactPoint",
|
|
3879
|
-
"ContactPointOption",
|
|
3880
|
-
"Continent",
|
|
3881
|
-
"ControlAction",
|
|
3882
|
-
"ConvenienceStore",
|
|
3883
|
-
"Conversation",
|
|
3884
|
-
"CookAction",
|
|
3885
|
-
"Cooperative",
|
|
3886
|
-
"Corporation",
|
|
3887
|
-
"CorrectionComment",
|
|
3888
|
-
"Country",
|
|
3889
|
-
"Course",
|
|
3890
|
-
"CourseInstance",
|
|
3891
|
-
"Courthouse",
|
|
3892
|
-
"CoverArt",
|
|
3893
|
-
"CovidTestingFacility",
|
|
3894
|
-
"CreateAction",
|
|
3895
|
-
"CreativeWork",
|
|
3896
|
-
"CreativeWorkSeason",
|
|
3897
|
-
"CreativeWorkSeries",
|
|
3898
|
-
"Credential",
|
|
3899
|
-
"CreditCard",
|
|
3900
|
-
"Crematorium",
|
|
3901
|
-
"CriticReview",
|
|
3902
|
-
"CssSelectorType",
|
|
3903
|
-
"CurrencyConversionService",
|
|
3904
|
-
"DDxElement",
|
|
3905
|
-
"DENonprofitType",
|
|
3906
|
-
"DanceEvent",
|
|
3907
|
-
"DanceGroup",
|
|
3908
|
-
"DataCatalog",
|
|
3909
|
-
"DataDownload",
|
|
3910
|
-
"DataFeed",
|
|
3911
|
-
"DataFeedItem",
|
|
3912
|
-
"DataType",
|
|
3913
|
-
"Dataset",
|
|
3914
|
-
"Date",
|
|
3915
|
-
"DateTime",
|
|
3916
|
-
"DatedMoneySpecification",
|
|
3917
|
-
"DayOfWeek",
|
|
3918
|
-
"DaySpa",
|
|
3919
|
-
"DeactivateAction",
|
|
3920
|
-
"DefenceEstablishment",
|
|
3921
|
-
"DefinedRegion",
|
|
3922
|
-
"DefinedTerm",
|
|
3923
|
-
"DefinedTermSet",
|
|
3924
|
-
"DeleteAction",
|
|
3925
|
-
"DeliveryChargeSpecification",
|
|
3926
|
-
"DeliveryEvent",
|
|
3927
|
-
"DeliveryMethod",
|
|
3928
|
-
"DeliveryTimeSettings",
|
|
3929
|
-
"Demand",
|
|
3930
|
-
"Dentist",
|
|
3931
|
-
"DepartAction",
|
|
3932
|
-
"DepartmentStore",
|
|
3933
|
-
"DepositAccount",
|
|
3934
|
-
"Dermatology",
|
|
3935
|
-
"DiagnosticLab",
|
|
3936
|
-
"DiagnosticProcedure",
|
|
3937
|
-
"Diet",
|
|
3938
|
-
"DietNutrition",
|
|
3939
|
-
"DietarySupplement",
|
|
3940
|
-
"DigitalDocument",
|
|
3941
|
-
"DigitalDocumentPermission",
|
|
3942
|
-
"DigitalDocumentPermissionType",
|
|
3943
|
-
"DigitalPlatformEnumeration",
|
|
3944
|
-
"DisagreeAction",
|
|
3945
|
-
"DiscoverAction",
|
|
3946
|
-
"DiscussionForumPosting",
|
|
3947
|
-
"DislikeAction",
|
|
3948
|
-
"Distance",
|
|
3949
|
-
"Distillery",
|
|
3950
|
-
"DonateAction",
|
|
3951
|
-
"DoseSchedule",
|
|
3952
|
-
"DownloadAction",
|
|
3953
|
-
"DrawAction",
|
|
3954
|
-
"Drawing",
|
|
3955
|
-
"DrinkAction",
|
|
3956
|
-
"DriveWheelConfigurationValue",
|
|
3957
|
-
"Drug",
|
|
3958
|
-
"DrugClass",
|
|
3959
|
-
"DrugCost",
|
|
3960
|
-
"DrugCostCategory",
|
|
3961
|
-
"DrugLegalStatus",
|
|
3962
|
-
"DrugPregnancyCategory",
|
|
3963
|
-
"DrugPrescriptionStatus",
|
|
3964
|
-
"DrugStrength",
|
|
3965
|
-
"DryCleaningOrLaundry",
|
|
3966
|
-
"Duration",
|
|
3967
|
-
"EUEnergyEfficiencyEnumeration",
|
|
3968
|
-
"EatAction",
|
|
3969
|
-
"EducationEvent",
|
|
3970
|
-
"EducationalAudience",
|
|
3971
|
-
"EducationalOccupationalCredential",
|
|
3972
|
-
"EducationalOccupationalProgram",
|
|
3973
|
-
"EducationalOrganization",
|
|
3974
|
-
"Electrician",
|
|
3975
|
-
"ElectronicsStore",
|
|
3976
|
-
"ElementarySchool",
|
|
3977
|
-
"EmailMessage",
|
|
3978
|
-
"Embassy",
|
|
3979
|
-
"Emergency",
|
|
3980
|
-
"EmergencyService",
|
|
3981
|
-
"EmployeeRole",
|
|
3982
|
-
"EmployerAggregateRating",
|
|
3983
|
-
"EmployerReview",
|
|
3984
|
-
"EmploymentAgency",
|
|
3985
|
-
"EndorseAction",
|
|
3986
|
-
"EndorsementRating",
|
|
3987
|
-
"Energy",
|
|
3988
|
-
"EnergyConsumptionDetails",
|
|
3989
|
-
"EnergyEfficiencyEnumeration",
|
|
3990
|
-
"EnergyStarEnergyEfficiencyEnumeration",
|
|
3991
|
-
"EngineSpecification",
|
|
3992
|
-
"EntertainmentBusiness",
|
|
3993
|
-
"EntryPoint",
|
|
3994
|
-
"Enumeration",
|
|
3995
|
-
"Episode",
|
|
3996
|
-
"Error",
|
|
3997
|
-
"Event",
|
|
3998
|
-
"EventAttendanceModeEnumeration",
|
|
3999
|
-
"EventReservation",
|
|
4000
|
-
"EventSeries",
|
|
4001
|
-
"EventStatusType",
|
|
4002
|
-
"EventVenue",
|
|
4003
|
-
"ExchangeRateSpecification",
|
|
4004
|
-
"ExerciseAction",
|
|
4005
|
-
"ExerciseGym",
|
|
4006
|
-
"ExercisePlan",
|
|
4007
|
-
"ExhibitionEvent",
|
|
4008
|
-
"FAQPage",
|
|
4009
|
-
"FMRadioChannel",
|
|
4010
|
-
"FastFoodRestaurant",
|
|
4011
|
-
"Festival",
|
|
4012
|
-
"FilmAction",
|
|
4013
|
-
"FinancialIncentive",
|
|
4014
|
-
"FinancialProduct",
|
|
4015
|
-
"FinancialService",
|
|
4016
|
-
"FindAction",
|
|
4017
|
-
"FireStation",
|
|
4018
|
-
"Flight",
|
|
4019
|
-
"FlightReservation",
|
|
4020
|
-
"Float",
|
|
4021
|
-
"FloorPlan",
|
|
4022
|
-
"Florist",
|
|
4023
|
-
"FollowAction",
|
|
4024
|
-
"FoodEstablishment",
|
|
4025
|
-
"FoodEstablishmentReservation",
|
|
4026
|
-
"FoodEvent",
|
|
4027
|
-
"FoodService",
|
|
4028
|
-
"FulfillmentTypeEnumeration",
|
|
4029
|
-
"FundingAgency",
|
|
4030
|
-
"FundingScheme",
|
|
4031
|
-
"FurnitureStore",
|
|
4032
|
-
"Game",
|
|
4033
|
-
"GameAvailabilityEnumeration",
|
|
4034
|
-
"GamePlayMode",
|
|
4035
|
-
"GameServer",
|
|
4036
|
-
"GameServerStatus",
|
|
4037
|
-
"GardenStore",
|
|
4038
|
-
"GasStation",
|
|
4039
|
-
"GatedResidenceCommunity",
|
|
4040
|
-
"GenderType",
|
|
4041
|
-
"Gene",
|
|
4042
|
-
"GeneralContractor",
|
|
4043
|
-
"GeoCircle",
|
|
4044
|
-
"GeoCoordinates",
|
|
4045
|
-
"GeoShape",
|
|
4046
|
-
"GeospatialGeometry",
|
|
4047
|
-
"Geriatric",
|
|
4048
|
-
"GiveAction",
|
|
4049
|
-
"GolfCourse",
|
|
4050
|
-
"GovernmentBenefitsType",
|
|
4051
|
-
"GovernmentBuilding",
|
|
4052
|
-
"GovernmentOffice",
|
|
4053
|
-
"GovernmentOrganization",
|
|
4054
|
-
"GovernmentPermit",
|
|
4055
|
-
"GovernmentService",
|
|
4056
|
-
"Grant",
|
|
4057
|
-
"GroceryStore",
|
|
4058
|
-
"Guide",
|
|
4059
|
-
"Gynecologic",
|
|
4060
|
-
"HVACBusiness",
|
|
4061
|
-
"Hackathon",
|
|
4062
|
-
"HairSalon",
|
|
4063
|
-
"HardwareStore",
|
|
4064
|
-
"HealthAndBeautyBusiness",
|
|
4065
|
-
"HealthAspectEnumeration",
|
|
4066
|
-
"HealthClub",
|
|
4067
|
-
"HealthInsurancePlan",
|
|
4068
|
-
"HealthPlanCostSharingSpecification",
|
|
4069
|
-
"HealthPlanFormulary",
|
|
4070
|
-
"HealthPlanNetwork",
|
|
4071
|
-
"HealthTopicContent",
|
|
4072
|
-
"HighSchool",
|
|
4073
|
-
"HinduTemple",
|
|
4074
|
-
"HobbyShop",
|
|
4075
|
-
"HomeAndConstructionBusiness",
|
|
4076
|
-
"HomeGoodsStore",
|
|
4077
|
-
"Hospital",
|
|
4078
|
-
"Hostel",
|
|
4079
|
-
"Hotel",
|
|
4080
|
-
"HotelRoom",
|
|
4081
|
-
"House",
|
|
4082
|
-
"HousePainter",
|
|
4083
|
-
"HowTo",
|
|
4084
|
-
"HowToDirection",
|
|
4085
|
-
"HowToItem",
|
|
4086
|
-
"HowToSection",
|
|
4087
|
-
"HowToStep",
|
|
4088
|
-
"HowToSupply",
|
|
4089
|
-
"HowToTip",
|
|
4090
|
-
"HowToTool",
|
|
4091
|
-
"HyperToc",
|
|
4092
|
-
"HyperTocEntry",
|
|
4093
|
-
"IPTCDigitalSourceEnumeration",
|
|
4094
|
-
"ITNonprofitType",
|
|
4095
|
-
"IceCreamShop",
|
|
4096
|
-
"IgnoreAction",
|
|
4097
|
-
"ImageGallery",
|
|
4098
|
-
"ImageObject",
|
|
4099
|
-
"ImageObjectSnapshot",
|
|
4100
|
-
"ImagingTest",
|
|
4101
|
-
"IncentiveQualifiedExpenseType",
|
|
4102
|
-
"IncentiveStatus",
|
|
4103
|
-
"IncentiveType",
|
|
4104
|
-
"IndividualPhysician",
|
|
4105
|
-
"IndividualProduct",
|
|
4106
|
-
"InfectiousAgentClass",
|
|
4107
|
-
"InfectiousDisease",
|
|
4108
|
-
"InformAction",
|
|
4109
|
-
"InsertAction",
|
|
4110
|
-
"InstallAction",
|
|
4111
|
-
"InstantaneousEvent",
|
|
4112
|
-
"InsuranceAgency",
|
|
4113
|
-
"Intangible",
|
|
4114
|
-
"Integer",
|
|
4115
|
-
"InteractAction",
|
|
4116
|
-
"InteractionCounter",
|
|
4117
|
-
"InternetCafe",
|
|
4118
|
-
"InvestmentFund",
|
|
4119
|
-
"InvestmentOrDeposit",
|
|
4120
|
-
"InviteAction",
|
|
4121
|
-
"Invoice",
|
|
4122
|
-
"ItemAvailability",
|
|
4123
|
-
"ItemList",
|
|
4124
|
-
"ItemListOrderType",
|
|
4125
|
-
"ItemPage",
|
|
4126
|
-
"JewelryStore",
|
|
4127
|
-
"JobPosting",
|
|
4128
|
-
"JoinAction",
|
|
4129
|
-
"Joint",
|
|
4130
|
-
"LakeBodyOfWater",
|
|
4131
|
-
"Landform",
|
|
4132
|
-
"LandmarksOrHistoricalBuildings",
|
|
4133
|
-
"Language",
|
|
4134
|
-
"LearningResource",
|
|
4135
|
-
"LeaveAction",
|
|
4136
|
-
"LegalForceStatus",
|
|
4137
|
-
"LegalService",
|
|
4138
|
-
"LegalValueLevel",
|
|
4139
|
-
"Legislation",
|
|
4140
|
-
"LegislationObject",
|
|
4141
|
-
"LegislativeBuilding",
|
|
4142
|
-
"LendAction",
|
|
4143
|
-
"Library",
|
|
4144
|
-
"LibrarySystem",
|
|
4145
|
-
"LifestyleModification",
|
|
4146
|
-
"Ligament",
|
|
4147
|
-
"LikeAction",
|
|
4148
|
-
"LinkRole",
|
|
4149
|
-
"LiquorStore",
|
|
4150
|
-
"ListItem",
|
|
4151
|
-
"ListenAction",
|
|
4152
|
-
"LiteraryEvent",
|
|
4153
|
-
"LiveBlogPosting",
|
|
4154
|
-
"LoanOrCredit",
|
|
4155
|
-
"LocalBusiness",
|
|
4156
|
-
"LocationFeatureSpecification",
|
|
4157
|
-
"Locksmith",
|
|
4158
|
-
"LodgingBusiness",
|
|
4159
|
-
"LodgingReservation",
|
|
4160
|
-
"LoginAction",
|
|
4161
|
-
"LoseAction",
|
|
4162
|
-
"LymphaticVessel",
|
|
4163
|
-
"Manuscript",
|
|
4164
|
-
"Map",
|
|
4165
|
-
"MapCategoryType",
|
|
4166
|
-
"MarryAction",
|
|
4167
|
-
"Mass",
|
|
4168
|
-
"MathSolver",
|
|
4169
|
-
"MaximumDoseSchedule",
|
|
4170
|
-
"MeasurementMethodEnum",
|
|
4171
|
-
"MeasurementTypeEnumeration",
|
|
4172
|
-
"MediaEnumeration",
|
|
4173
|
-
"MediaGallery",
|
|
4174
|
-
"MediaManipulationRatingEnumeration",
|
|
4175
|
-
"MediaObject",
|
|
4176
|
-
"MediaReview",
|
|
4177
|
-
"MediaReviewItem",
|
|
4178
|
-
"MediaSubscription",
|
|
4179
|
-
"MedicalAudience",
|
|
4180
|
-
"MedicalAudienceType",
|
|
4181
|
-
"MedicalBusiness",
|
|
4182
|
-
"MedicalCause",
|
|
4183
|
-
"MedicalClinic",
|
|
4184
|
-
"MedicalCode",
|
|
4185
|
-
"MedicalCondition",
|
|
4186
|
-
"MedicalConditionStage",
|
|
4187
|
-
"MedicalContraindication",
|
|
4188
|
-
"MedicalDevice",
|
|
4189
|
-
"MedicalDevicePurpose",
|
|
4190
|
-
"MedicalEntity",
|
|
4191
|
-
"MedicalEnumeration",
|
|
4192
|
-
"MedicalEvidenceLevel",
|
|
4193
|
-
"MedicalGuideline",
|
|
4194
|
-
"MedicalGuidelineContraindication",
|
|
4195
|
-
"MedicalGuidelineRecommendation",
|
|
4196
|
-
"MedicalImagingTechnique",
|
|
4197
|
-
"MedicalIndication",
|
|
4198
|
-
"MedicalIntangible",
|
|
4199
|
-
"MedicalObservationalStudy",
|
|
4200
|
-
"MedicalObservationalStudyDesign",
|
|
4201
|
-
"MedicalOrganization",
|
|
4202
|
-
"MedicalProcedure",
|
|
4203
|
-
"MedicalProcedureType",
|
|
4204
|
-
"MedicalRiskCalculator",
|
|
4205
|
-
"MedicalRiskEstimator",
|
|
4206
|
-
"MedicalRiskFactor",
|
|
4207
|
-
"MedicalRiskScore",
|
|
4208
|
-
"MedicalScholarlyArticle",
|
|
4209
|
-
"MedicalSign",
|
|
4210
|
-
"MedicalSignOrSymptom",
|
|
4211
|
-
"MedicalSpecialty",
|
|
4212
|
-
"MedicalStudy",
|
|
4213
|
-
"MedicalStudyStatus",
|
|
4214
|
-
"MedicalSymptom",
|
|
4215
|
-
"MedicalTest",
|
|
4216
|
-
"MedicalTestPanel",
|
|
4217
|
-
"MedicalTherapy",
|
|
4218
|
-
"MedicalTrial",
|
|
4219
|
-
"MedicalTrialDesign",
|
|
4220
|
-
"MedicalWebPage",
|
|
4221
|
-
"MedicineSystem",
|
|
4222
|
-
"MeetingRoom",
|
|
4223
|
-
"MemberProgram",
|
|
4224
|
-
"MemberProgramTier",
|
|
4225
|
-
"MensClothingStore",
|
|
4226
|
-
"Menu",
|
|
4227
|
-
"MenuItem",
|
|
4228
|
-
"MenuSection",
|
|
4229
|
-
"MerchantReturnEnumeration",
|
|
4230
|
-
"MerchantReturnPolicy",
|
|
4231
|
-
"MerchantReturnPolicySeasonalOverride",
|
|
4232
|
-
"Message",
|
|
4233
|
-
"MiddleSchool",
|
|
4234
|
-
"Midwifery",
|
|
4235
|
-
"MobileApplication",
|
|
4236
|
-
"MobilePhoneStore",
|
|
4237
|
-
"MolecularEntity",
|
|
4238
|
-
"MonetaryAmount",
|
|
4239
|
-
"MonetaryAmountDistribution",
|
|
4240
|
-
"MonetaryGrant",
|
|
4241
|
-
"MoneyTransfer",
|
|
4242
|
-
"MortgageLoan",
|
|
4243
|
-
"Mosque",
|
|
4244
|
-
"Motel",
|
|
4245
|
-
"Motorcycle",
|
|
4246
|
-
"MotorcycleDealer",
|
|
4247
|
-
"MotorcycleRepair",
|
|
4248
|
-
"MotorizedBicycle",
|
|
4249
|
-
"Mountain",
|
|
4250
|
-
"MoveAction",
|
|
4251
|
-
"Movie",
|
|
4252
|
-
"MovieClip",
|
|
4253
|
-
"MovieRentalStore",
|
|
4254
|
-
"MovieSeries",
|
|
4255
|
-
"MovieTheater",
|
|
4256
|
-
"MovingCompany",
|
|
4257
|
-
"Muscle",
|
|
4258
|
-
"Museum",
|
|
4259
|
-
"MusicAlbum",
|
|
4260
|
-
"MusicAlbumProductionType",
|
|
4261
|
-
"MusicAlbumReleaseType",
|
|
4262
|
-
"MusicComposition",
|
|
4263
|
-
"MusicEvent",
|
|
4264
|
-
"MusicGroup",
|
|
4265
|
-
"MusicPlaylist",
|
|
4266
|
-
"MusicRecording",
|
|
4267
|
-
"MusicRelease",
|
|
4268
|
-
"MusicReleaseFormatType",
|
|
4269
|
-
"MusicStore",
|
|
4270
|
-
"MusicVenue",
|
|
4271
|
-
"MusicVideoObject",
|
|
4272
|
-
"NGO",
|
|
4273
|
-
"NLNonprofitType",
|
|
4274
|
-
"NailSalon",
|
|
4275
|
-
"Nerve",
|
|
4276
|
-
"NewsArticle",
|
|
4277
|
-
"NewsMediaOrganization",
|
|
4278
|
-
"Newspaper",
|
|
4279
|
-
"NightClub",
|
|
4280
|
-
"NonprofitType",
|
|
4281
|
-
"Notary",
|
|
4282
|
-
"NoteDigitalDocument",
|
|
4283
|
-
"Number",
|
|
4284
|
-
"Nursing",
|
|
4285
|
-
"NutritionInformation",
|
|
4286
|
-
"Observation",
|
|
4287
|
-
"Obstetric",
|
|
4288
|
-
"Occupation",
|
|
4289
|
-
"OccupationalExperienceRequirements",
|
|
4290
|
-
"OccupationalTherapy",
|
|
4291
|
-
"OceanBodyOfWater",
|
|
4292
|
-
"Offer",
|
|
4293
|
-
"OfferCatalog",
|
|
4294
|
-
"OfferForLease",
|
|
4295
|
-
"OfferForPurchase",
|
|
4296
|
-
"OfferItemCondition",
|
|
4297
|
-
"OfferShippingDetails",
|
|
4298
|
-
"OfficeEquipmentStore",
|
|
4299
|
-
"OnDemandEvent",
|
|
4300
|
-
"Oncologic",
|
|
4301
|
-
"OnlineBusiness",
|
|
4302
|
-
"OnlineMarketplace",
|
|
4303
|
-
"OnlineStore",
|
|
4304
|
-
"OpeningHoursSpecification",
|
|
4305
|
-
"OperatingSystem",
|
|
4306
|
-
"OpinionNewsArticle",
|
|
4307
|
-
"Optician",
|
|
4308
|
-
"Optometric",
|
|
4309
|
-
"Order",
|
|
4310
|
-
"OrderAction",
|
|
4311
|
-
"OrderItem",
|
|
4312
|
-
"OrderStatus",
|
|
4313
|
-
"Organization",
|
|
4314
|
-
"OrganizationRole",
|
|
4315
|
-
"OrganizeAction",
|
|
4316
|
-
"Otolaryngologic",
|
|
4317
|
-
"OutletStore",
|
|
4318
|
-
"OwnershipInfo",
|
|
4319
|
-
"PaintAction",
|
|
4320
|
-
"Painting",
|
|
4321
|
-
"PalliativeProcedure",
|
|
4322
|
-
"ParcelDelivery",
|
|
4323
|
-
"ParentAudience",
|
|
4324
|
-
"Park",
|
|
4325
|
-
"ParkingFacility",
|
|
4326
|
-
"PathologyTest",
|
|
4327
|
-
"Patient",
|
|
4328
|
-
"PawnShop",
|
|
4329
|
-
"PayAction",
|
|
4330
|
-
"PaymentCard",
|
|
4331
|
-
"PaymentChargeSpecification",
|
|
4332
|
-
"PaymentMethod",
|
|
4333
|
-
"PaymentMethodType",
|
|
4334
|
-
"PaymentService",
|
|
4335
|
-
"PaymentStatusType",
|
|
4336
|
-
"Pediatric",
|
|
4337
|
-
"PeopleAudience",
|
|
4338
|
-
"PerformAction",
|
|
4339
|
-
"PerformanceRole",
|
|
4340
|
-
"PerformingArtsEvent",
|
|
4341
|
-
"PerformingArtsTheater",
|
|
4342
|
-
"PerformingGroup",
|
|
4343
|
-
"Periodical",
|
|
4344
|
-
"Permit",
|
|
4345
|
-
"Person",
|
|
4346
|
-
"PetStore",
|
|
4347
|
-
"Pharmacy",
|
|
4348
|
-
"Photograph",
|
|
4349
|
-
"PhotographAction",
|
|
4350
|
-
"PhysicalActivity",
|
|
4351
|
-
"PhysicalActivityCategory",
|
|
4352
|
-
"PhysicalExam",
|
|
4353
|
-
"PhysicalTherapy",
|
|
4354
|
-
"Physician",
|
|
4355
|
-
"PhysiciansOffice",
|
|
4356
|
-
"Physiotherapy",
|
|
4357
|
-
"Place",
|
|
4358
|
-
"PlaceOfWorship",
|
|
4359
|
-
"PlanAction",
|
|
4360
|
-
"PlasticSurgery",
|
|
4361
|
-
"Play",
|
|
4362
|
-
"PlayAction",
|
|
4363
|
-
"PlayGameAction",
|
|
4364
|
-
"Playground",
|
|
4365
|
-
"Plumber",
|
|
4366
|
-
"PodcastEpisode",
|
|
4367
|
-
"PodcastSeason",
|
|
4368
|
-
"PodcastSeries",
|
|
4369
|
-
"Podiatric",
|
|
4370
|
-
"PoliceStation",
|
|
4371
|
-
"PoliticalParty",
|
|
4372
|
-
"Pond",
|
|
4373
|
-
"PostOffice",
|
|
4374
|
-
"PostalAddress",
|
|
4375
|
-
"PostalCodeRangeSpecification",
|
|
4376
|
-
"Poster",
|
|
4377
|
-
"PreOrderAction",
|
|
4378
|
-
"PrependAction",
|
|
4379
|
-
"Preschool",
|
|
4380
|
-
"PresentationDigitalDocument",
|
|
4381
|
-
"PreventionIndication",
|
|
4382
|
-
"PriceComponentTypeEnumeration",
|
|
4383
|
-
"PriceSpecification",
|
|
4384
|
-
"PriceTypeEnumeration",
|
|
4385
|
-
"PrimaryCare",
|
|
4386
|
-
"Product",
|
|
4387
|
-
"ProductCollection",
|
|
4388
|
-
"ProductGroup",
|
|
4389
|
-
"ProductModel",
|
|
4390
|
-
"ProductReturnEnumeration",
|
|
4391
|
-
"ProductReturnPolicy",
|
|
4392
|
-
"ProfessionalService",
|
|
4393
|
-
"ProfilePage",
|
|
4394
|
-
"ProgramMembership",
|
|
4395
|
-
"Project",
|
|
4396
|
-
"PronounceableText",
|
|
4397
|
-
"Property",
|
|
4398
|
-
"PropertyValue",
|
|
4399
|
-
"PropertyValueSpecification",
|
|
4400
|
-
"Protein",
|
|
4401
|
-
"Psychiatric",
|
|
4402
|
-
"PsychologicalTreatment",
|
|
4403
|
-
"PublicHealth",
|
|
4404
|
-
"PublicSwimmingPool",
|
|
4405
|
-
"PublicToilet",
|
|
4406
|
-
"PublicationEvent",
|
|
4407
|
-
"PublicationIssue",
|
|
4408
|
-
"PublicationVolume",
|
|
4409
|
-
"PurchaseType",
|
|
4410
|
-
"QAPage",
|
|
4411
|
-
"QualitativeValue",
|
|
4412
|
-
"QuantitativeValue",
|
|
4413
|
-
"QuantitativeValueDistribution",
|
|
4414
|
-
"Quantity",
|
|
4415
|
-
"Question",
|
|
4416
|
-
"Quiz",
|
|
4417
|
-
"Quotation",
|
|
4418
|
-
"QuoteAction",
|
|
4419
|
-
"RVPark",
|
|
4420
|
-
"RadiationTherapy",
|
|
4421
|
-
"RadioBroadcastService",
|
|
4422
|
-
"RadioChannel",
|
|
4423
|
-
"RadioClip",
|
|
4424
|
-
"RadioEpisode",
|
|
4425
|
-
"RadioSeason",
|
|
4426
|
-
"RadioSeries",
|
|
4427
|
-
"RadioStation",
|
|
4428
|
-
"Rating",
|
|
4429
|
-
"ReactAction",
|
|
4430
|
-
"ReadAction",
|
|
4431
|
-
"RealEstateAgent",
|
|
4432
|
-
"RealEstateListing",
|
|
4433
|
-
"ReceiveAction",
|
|
4434
|
-
"Recipe",
|
|
4435
|
-
"Recommendation",
|
|
4436
|
-
"RecommendedDoseSchedule",
|
|
4437
|
-
"RecyclingCenter",
|
|
4438
|
-
"RefundTypeEnumeration",
|
|
4439
|
-
"RegisterAction",
|
|
4440
|
-
"RejectAction",
|
|
4441
|
-
"RentAction",
|
|
4442
|
-
"RentalCarReservation",
|
|
4443
|
-
"RepaymentSpecification",
|
|
4444
|
-
"ReplaceAction",
|
|
4445
|
-
"ReplyAction",
|
|
4446
|
-
"Report",
|
|
4447
|
-
"ReportageNewsArticle",
|
|
4448
|
-
"ReportedDoseSchedule",
|
|
4449
|
-
"ResearchOrganization",
|
|
4450
|
-
"ResearchProject",
|
|
4451
|
-
"Researcher",
|
|
4452
|
-
"Reservation",
|
|
4453
|
-
"ReservationPackage",
|
|
4454
|
-
"ReservationStatusType",
|
|
4455
|
-
"ReserveAction",
|
|
4456
|
-
"Reservoir",
|
|
4457
|
-
"ResetPasswordAction",
|
|
4458
|
-
"Residence",
|
|
4459
|
-
"Resort",
|
|
4460
|
-
"RespiratoryTherapy",
|
|
4461
|
-
"Restaurant",
|
|
4462
|
-
"RestrictedDiet",
|
|
4463
|
-
"ResumeAction",
|
|
4464
|
-
"ReturnAction",
|
|
4465
|
-
"ReturnFeesEnumeration",
|
|
4466
|
-
"ReturnLabelSourceEnumeration",
|
|
4467
|
-
"ReturnMethodEnumeration",
|
|
4468
|
-
"Review",
|
|
4469
|
-
"ReviewAction",
|
|
4470
|
-
"ReviewNewsArticle",
|
|
4471
|
-
"RiverBodyOfWater",
|
|
4472
|
-
"Role",
|
|
4473
|
-
"RoofingContractor",
|
|
4474
|
-
"Room",
|
|
4475
|
-
"RsvpAction",
|
|
4476
|
-
"RsvpResponseType",
|
|
4477
|
-
"RuntimePlatform",
|
|
4478
|
-
"SaleEvent",
|
|
4479
|
-
"SatiricalArticle",
|
|
4480
|
-
"Schedule",
|
|
4481
|
-
"ScheduleAction",
|
|
4482
|
-
"ScholarlyArticle",
|
|
4483
|
-
"School",
|
|
4484
|
-
"SchoolDistrict",
|
|
4485
|
-
"ScreeningEvent",
|
|
4486
|
-
"Sculpture",
|
|
4487
|
-
"SeaBodyOfWater",
|
|
4488
|
-
"SearchAction",
|
|
4489
|
-
"SearchRescueOrganization",
|
|
4490
|
-
"SearchResultsPage",
|
|
4491
|
-
"Season",
|
|
4492
|
-
"Seat",
|
|
4493
|
-
"SeekToAction",
|
|
4494
|
-
"SelfStorage",
|
|
4495
|
-
"SellAction",
|
|
4496
|
-
"SendAction",
|
|
4497
|
-
"SequentialArt",
|
|
4498
|
-
"Series",
|
|
4499
|
-
"Service",
|
|
4500
|
-
"ServiceChannel",
|
|
4501
|
-
"ServicePeriod",
|
|
4502
|
-
"ShareAction",
|
|
4503
|
-
"SheetMusic",
|
|
4504
|
-
"ShippingConditions",
|
|
4505
|
-
"ShippingDeliveryTime",
|
|
4506
|
-
"ShippingRateSettings",
|
|
4507
|
-
"ShippingService",
|
|
4508
|
-
"ShoeStore",
|
|
4509
|
-
"ShoppingCenter",
|
|
4510
|
-
"ShortStory",
|
|
4511
|
-
"SingleFamilyResidence",
|
|
4512
|
-
"SiteNavigationElement",
|
|
4513
|
-
"SizeGroupEnumeration",
|
|
4514
|
-
"SizeSpecification",
|
|
4515
|
-
"SizeSystemEnumeration",
|
|
4516
|
-
"SkiResort",
|
|
4517
|
-
"SocialEvent",
|
|
4518
|
-
"SocialMediaPosting",
|
|
4519
|
-
"SoftwareApplication",
|
|
4520
|
-
"SoftwareSourceCode",
|
|
4521
|
-
"SolveMathAction",
|
|
4522
|
-
"SomeProducts",
|
|
4523
|
-
"SpeakableSpecification",
|
|
4524
|
-
"SpecialAnnouncement",
|
|
4525
|
-
"Specialty",
|
|
4526
|
-
"SportingGoodsStore",
|
|
4527
|
-
"SportsActivityLocation",
|
|
4528
|
-
"SportsClub",
|
|
4529
|
-
"SportsEvent",
|
|
4530
|
-
"SportsOrganization",
|
|
4531
|
-
"SportsTeam",
|
|
4532
|
-
"SpreadsheetDigitalDocument",
|
|
4533
|
-
"StadiumOrArena",
|
|
4534
|
-
"State",
|
|
4535
|
-
"Statement",
|
|
4536
|
-
"StatisticalPopulation",
|
|
4537
|
-
"StatisticalVariable",
|
|
4538
|
-
"StatusEnumeration",
|
|
4539
|
-
"SteeringPositionValue",
|
|
4540
|
-
"Store",
|
|
4541
|
-
"StructuredValue",
|
|
4542
|
-
"StupidType",
|
|
4543
|
-
"SubscribeAction",
|
|
4544
|
-
"Substance",
|
|
4545
|
-
"SubwayStation",
|
|
4546
|
-
"Suite",
|
|
4547
|
-
"SuperficialAnatomy",
|
|
4548
|
-
"SurgicalProcedure",
|
|
4549
|
-
"SuspendAction",
|
|
4550
|
-
"Syllabus",
|
|
4551
|
-
"Synagogue",
|
|
4552
|
-
"TVClip",
|
|
4553
|
-
"TVEpisode",
|
|
4554
|
-
"TVSeason",
|
|
4555
|
-
"TVSeries",
|
|
4556
|
-
"Table",
|
|
4557
|
-
"TakeAction",
|
|
4558
|
-
"TattooParlor",
|
|
4559
|
-
"Taxi",
|
|
4560
|
-
"TaxiReservation",
|
|
4561
|
-
"TaxiService",
|
|
4562
|
-
"TaxiStand",
|
|
4563
|
-
"Taxon",
|
|
4564
|
-
"TechArticle",
|
|
4565
|
-
"TelevisionChannel",
|
|
4566
|
-
"TelevisionStation",
|
|
4567
|
-
"TennisComplex",
|
|
4568
|
-
"Text",
|
|
4569
|
-
"TextDigitalDocument",
|
|
4570
|
-
"TextObject",
|
|
4571
|
-
"TheaterEvent",
|
|
4572
|
-
"TheaterGroup",
|
|
4573
|
-
"TherapeuticProcedure",
|
|
4574
|
-
"Thesis",
|
|
4575
|
-
"Thing",
|
|
4576
|
-
"Ticket",
|
|
4577
|
-
"TieAction",
|
|
4578
|
-
"TierBenefitEnumeration",
|
|
4579
|
-
"Time",
|
|
4580
|
-
"TipAction",
|
|
4581
|
-
"TireShop",
|
|
4582
|
-
"TouristAttraction",
|
|
4583
|
-
"TouristDestination",
|
|
4584
|
-
"TouristInformationCenter",
|
|
4585
|
-
"TouristTrip",
|
|
4586
|
-
"ToyStore",
|
|
4587
|
-
"TrackAction",
|
|
4588
|
-
"TradeAction",
|
|
4589
|
-
"TrainReservation",
|
|
4590
|
-
"TrainStation",
|
|
4591
|
-
"TrainTrip",
|
|
4592
|
-
"TransferAction",
|
|
4593
|
-
"TravelAction",
|
|
4594
|
-
"TravelAgency",
|
|
4595
|
-
"TreatmentIndication",
|
|
4596
|
-
"Trip",
|
|
4597
|
-
"TypeAndQuantityNode",
|
|
4598
|
-
"UKNonprofitType",
|
|
4599
|
-
"URL",
|
|
4600
|
-
"USNonprofitType",
|
|
4601
|
-
"UnRegisterAction",
|
|
4602
|
-
"UnitPriceSpecification",
|
|
4603
|
-
"UpdateAction",
|
|
4604
|
-
"UseAction",
|
|
4605
|
-
"UserBlocks",
|
|
4606
|
-
"UserCheckins",
|
|
4607
|
-
"UserComments",
|
|
4608
|
-
"UserDownloads",
|
|
4609
|
-
"UserInteraction",
|
|
4610
|
-
"UserLikes",
|
|
4611
|
-
"UserPageVisits",
|
|
4612
|
-
"UserPlays",
|
|
4613
|
-
"UserPlusOnes",
|
|
4614
|
-
"UserReview",
|
|
4615
|
-
"UserTweets",
|
|
4616
|
-
"VacationRental",
|
|
4617
|
-
"Vehicle",
|
|
4618
|
-
"Vein",
|
|
4619
|
-
"Vessel",
|
|
4620
|
-
"VeterinaryCare",
|
|
4621
|
-
"VideoGallery",
|
|
4622
|
-
"VideoGame",
|
|
4623
|
-
"VideoGameClip",
|
|
4624
|
-
"VideoGameSeries",
|
|
4625
|
-
"VideoObject",
|
|
4626
|
-
"VideoObjectSnapshot",
|
|
4627
|
-
"ViewAction",
|
|
4628
|
-
"VirtualLocation",
|
|
4629
|
-
"VisualArtsEvent",
|
|
4630
|
-
"VisualArtwork",
|
|
4631
|
-
"VitalSign",
|
|
4632
|
-
"Volcano",
|
|
4633
|
-
"VoteAction",
|
|
4634
|
-
"WPAdBlock",
|
|
4635
|
-
"WPFooter",
|
|
4636
|
-
"WPHeader",
|
|
4637
|
-
"WPSideBar",
|
|
4638
|
-
"WantAction",
|
|
4639
|
-
"WarrantyPromise",
|
|
4640
|
-
"WarrantyScope",
|
|
4641
|
-
"WatchAction",
|
|
4642
|
-
"Waterfall",
|
|
4643
|
-
"WearAction",
|
|
4644
|
-
"WearableMeasurementTypeEnumeration",
|
|
4645
|
-
"WearableSizeGroupEnumeration",
|
|
4646
|
-
"WearableSizeSystemEnumeration",
|
|
4647
|
-
"WebAPI",
|
|
4648
|
-
"WebApplication",
|
|
4649
|
-
"WebContent",
|
|
4650
|
-
"WebPage",
|
|
4651
|
-
"WebPageElement",
|
|
4652
|
-
"WebSite",
|
|
4653
|
-
"WholesaleStore",
|
|
4654
|
-
"WinAction",
|
|
4655
|
-
"Winery",
|
|
4656
|
-
"WorkBasedProgram",
|
|
4657
|
-
"WorkersUnion",
|
|
4658
|
-
"WriteAction",
|
|
4659
|
-
"XPathType",
|
|
4660
|
-
"Zoo",
|
|
4661
|
-
"iflastandards_info_ns_lrm_lrmoo_F31_Performance",
|
|
4662
|
-
"purl_bioontology_org_ontology_SNOMEDCT_105590001",
|
|
4663
|
-
"purl_bioontology_org_ontology_SNOMEDCT_116154003",
|
|
4664
|
-
"purl_bioontology_org_ontology_SNOMEDCT_277132007",
|
|
4665
|
-
"purl_bioontology_org_ontology_SNOMEDCT_387713003",
|
|
4666
|
-
"purl_bioontology_org_ontology_SNOMEDCT_410942007",
|
|
4667
|
-
"purl_bioontology_org_ontology_SNOMEDCT_50731006",
|
|
4668
|
-
"purl_bioontology_org_ontology_SNOMEDCT_51114001",
|
|
4669
|
-
"purl_bioontology_org_ontology_SNOMEDCT_63653004",
|
|
4670
|
-
"purl_org_dc_dcmitype_Dataset",
|
|
4671
|
-
"purl_org_dc_dcmitype_Event",
|
|
4672
|
-
"purl_org_dc_dcmitype_Image",
|
|
4673
|
-
"purl_org_dc_dcmitype_Text",
|
|
4674
|
-
"purl_org_ontology_bibo_Issue",
|
|
4675
|
-
"purl_org_ontology_bibo_Periodical",
|
|
4676
|
-
"rdfs_org_ns_void_Dataset",
|
|
4677
|
-
"ref_gs1_org_voc_CertificationDetails",
|
|
4678
|
-
"ref_gs1_org_voc_ContactPoint",
|
|
4679
|
-
"ref_gs1_org_voc_Country",
|
|
4680
|
-
"ref_gs1_org_voc_Organization",
|
|
4681
|
-
"ref_gs1_org_voc_PostalAddress",
|
|
4682
|
-
"sarif_info_Result",
|
|
4683
|
-
"spec_edmcouncil_org_fibo_ontology_BE_Corporations_Corporations_Corporation",
|
|
4684
|
-
"spec_edmcouncil_org_fibo_ontology_BE_LegalEntities_CorporateBodies_CooperativeSociety",
|
|
4685
|
-
"spec_edmcouncil_org_fibo_ontology_BE_NotForProfitOrganizations_NotForProfitOrganizations_NonGovernmentalOrganization",
|
|
4686
|
-
"spec_edmcouncil_org_fibo_ontology_FBC_ProductsAndServices_FinancialProductsAndServices_BankAccount",
|
|
4687
|
-
"spec_edmcouncil_org_fibo_ontology_FBC_ProductsAndServices_FinancialProductsAndServices_PaymentMechanism",
|
|
4688
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Agreements_Contracts_MutualContractualAgreement",
|
|
4689
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_Certificate",
|
|
4690
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_Document",
|
|
4691
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_LegalDocument",
|
|
4692
|
-
"spec_edmcouncil_org_fibo_ontology_FND_DatesAndTimes_Occurrences_Occurrence",
|
|
4693
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Organizations_Organizations_ContactPoint",
|
|
4694
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Organizations_Organizations_Organization",
|
|
4695
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Places_Addresses_PostalAddress",
|
|
4696
|
-
"spec_edmcouncil_org_fibo_ontology_FND_Places_Locations_Municipality",
|
|
4697
|
-
"spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Offer",
|
|
4698
|
-
"spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Price",
|
|
4699
|
-
"spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Product",
|
|
4700
|
-
"spec_edmcouncil_org_fibo_ontology_PAY_PaymentServices_PaymentServices_PaymentService",
|
|
4701
|
-
"unece_org_vocab_AmountType",
|
|
4702
|
-
"unece_org_vocab_BrandName",
|
|
4703
|
-
"unece_org_vocab_Country",
|
|
4704
|
-
"unece_org_vocab_ElectronicDocument",
|
|
4705
|
-
"unece_org_vocab_FinancialCard",
|
|
4706
|
-
"unece_org_vocab_GeographicalCoordinate",
|
|
4707
|
-
"unece_org_vocab_Invoice",
|
|
4708
|
-
"unece_org_vocab_LineTradeAgreement",
|
|
4709
|
-
"unece_org_vocab_Offer",
|
|
4710
|
-
"unece_org_vocab_Order",
|
|
4711
|
-
"unece_org_vocab_PaymentMeans",
|
|
4712
|
-
"unece_org_vocab_RequestForQuotation",
|
|
4713
|
-
"unece_org_vocab_SpecifiedCertificate",
|
|
4714
|
-
"unece_org_vocab_SpecifiedTradeProduct",
|
|
4715
|
-
"unece_org_vocab_TradeAddress",
|
|
4716
|
-
"unece_org_vocab_TradeProduct",
|
|
4717
|
-
"unece_org_vocab_TransportMethod",
|
|
4718
|
-
"www_omg_org_spec_Commons_Classifiers_Classifier",
|
|
4719
|
-
"www_omg_org_spec_Commons_Collections_Collection",
|
|
4720
|
-
"www_omg_org_spec_Commons_DatesAndTimes_Date",
|
|
4721
|
-
"www_omg_org_spec_Commons_DatesAndTimes_DateTime",
|
|
4722
|
-
"www_omg_org_spec_Commons_DatesAndTimes_Duration",
|
|
4723
|
-
"www_omg_org_spec_Commons_GeopoliticalEntities_GeopoliticalEntity",
|
|
4724
|
-
"www_omg_org_spec_Commons_GeopoliticalEntities_Subdivision",
|
|
4725
|
-
"www_omg_org_spec_Commons_Locations_Address",
|
|
4726
|
-
"www_omg_org_spec_Commons_Locations_GeographicCoordinate",
|
|
4727
|
-
"www_omg_org_spec_Commons_Locations_Location",
|
|
4728
|
-
"www_omg_org_spec_LCC_Countries_CountryRepresentation_Continent",
|
|
4729
|
-
"www_omg_org_spec_LCC_Countries_CountryRepresentation_Country",
|
|
4730
|
-
"www_w3_org_2006_vcard_ns_VCard",
|
|
4731
|
-
"www_w3_org_ns_dcat_Catalog",
|
|
4732
|
-
"www_w3_org_ns_dcat_Dataset",
|
|
4733
|
-
"www_w3_org_ns_dcat_Distribution",
|
|
4734
|
-
"www_w3_org_ns_hydra_core_Error",
|
|
4735
|
-
"www_w3_org_ns_prov_InstantaneousEvent",
|
|
4736
|
-
"www_w3_org_ns_prov_atTime",
|
|
4737
|
-
"xmlns_com_foaf_0_1_Person"
|
|
4738
|
-
]);
|
|
3662
|
+
var SCHEMA_ORG_TYPES = new Set(
|
|
3663
|
+
"3DModel AMRadioChannel APIReference AboutPage AcceptAction Accommodation AccountingService AchieveAction Action ActionAccessSpecification ActionStatusType ActivateAction AddAction AdministrativeArea AdultEntertainment AdultOrientedEnumeration AdvertiserContentArticle AggregateOffer AggregateRating AgreeAction Airline Airport AlignmentObject AllocateAction AmpStory AmusementPark AnalysisNewsArticle AnatomicalStructure AnatomicalSystem AnimalShelter Answer Apartment ApartmentComplex AppendAction ApplyAction ApprovedIndication Aquarium ArchiveComponent ArchiveOrganization ArriveAction ArtGallery Artery Article AskAction AskPublicNewsArticle AssessAction AssignAction Atlas Attorney Audience AudioObject AudioObjectSnapshot Audiobook AuthenticateAction AuthorizeAction AutoBodyShop AutoDealer AutoPartsStore AutoRental AutoRepair AutoWash AutomatedTeller AutomotiveBusiness BackgroundNewsArticle Bakery BankAccount BankOrCreditUnion BarOrPub Barcode Beach BeautySalon BedAndBreakfast BedDetails BedType BefriendAction BikeStore BioChemEntity Blog BlogPosting BloodTest BoardingPolicyType BoatReservation BoatTerminal BoatTrip BodyMeasurementTypeEnumeration BodyOfWater Bone Book BookFormatType BookSeries BookStore BookmarkAction Boolean BorrowAction BowlingAlley BrainStructure Brand BreadcrumbList Brewery Bridge BroadcastChannel BroadcastEvent BroadcastFrequencySpecification BroadcastService BrokerageAccount BuddhistTemple BusOrCoach BusReservation BusStation BusStop BusTrip BusinessAudience BusinessEntityType BusinessEvent BusinessFunction BuyAction CDCPMDRecord CableOrSatelliteService CafeOrCoffeeShop Campground CampingPitch Canal CancelAction Car CarUsageType Casino CategoryCode CategoryCodeSet CatholicChurch Cemetery Certification CertificationStatusEnumeration Chapter CheckAction CheckInAction CheckOutAction CheckoutPage ChemicalSubstance ChildCare ChildrensEvent ChooseAction Church City CityHall CivicStructure Claim ClaimReview Class Clip ClothingStore Code Collection CollectionPage CollegeOrUniversity ComedyClub ComedyEvent ComicCoverArt ComicIssue ComicSeries ComicStory Comment CommentAction CommunicateAction CommunityHealth CompleteDataFeed CompoundPriceSpecification ComputerLanguage ComputerStore ConferenceEvent ConfirmAction Consortium ConstraintNode ConsumeAction ContactPage ContactPoint ContactPointOption Continent ControlAction ConvenienceStore Conversation CookAction Cooperative Corporation CorrectionComment Country Course CourseInstance Courthouse CoverArt CovidTestingFacility CreateAction CreativeWork CreativeWorkSeason CreativeWorkSeries Credential CreditCard Crematorium CriticReview CssSelectorType CurrencyConversionService DDxElement DENonprofitType DanceEvent DanceGroup DataCatalog DataDownload DataFeed DataFeedItem DataType Dataset Date DateTime DatedMoneySpecification DayOfWeek DaySpa DeactivateAction DefenceEstablishment DefinedRegion DefinedTerm DefinedTermSet DeleteAction DeliveryChargeSpecification DeliveryEvent DeliveryMethod DeliveryTimeSettings Demand Dentist DepartAction DepartmentStore DepositAccount Dermatology DiagnosticLab DiagnosticProcedure Diet DietNutrition DietarySupplement DigitalDocument DigitalDocumentPermission DigitalDocumentPermissionType DigitalPlatformEnumeration DisagreeAction DiscoverAction DiscussionForumPosting DislikeAction Distance Distillery DonateAction DoseSchedule DownloadAction DrawAction Drawing DrinkAction DriveWheelConfigurationValue Drug DrugClass DrugCost DrugCostCategory DrugLegalStatus DrugPregnancyCategory DrugPrescriptionStatus DrugStrength DryCleaningOrLaundry Duration EUEnergyEfficiencyEnumeration EatAction EducationEvent EducationalAudience EducationalOccupationalCredential EducationalOccupationalProgram EducationalOrganization Electrician ElectronicsStore ElementarySchool EmailMessage Embassy Emergency EmergencyService EmployeeRole EmployerAggregateRating EmployerReview EmploymentAgency EndorseAction EndorsementRating Energy EnergyConsumptionDetails EnergyEfficiencyEnumeration EnergyStarEnergyEfficiencyEnumeration EngineSpecification EntertainmentBusiness EntryPoint Enumeration Episode Error Event EventAttendanceModeEnumeration EventReservation EventSeries EventStatusType EventVenue ExchangeRateSpecification ExerciseAction ExerciseGym ExercisePlan ExhibitionEvent FAQPage FMRadioChannel FastFoodRestaurant Festival FilmAction FinancialIncentive FinancialProduct FinancialService FindAction FireStation Flight FlightReservation Float FloorPlan Florist FollowAction FoodEstablishment FoodEstablishmentReservation FoodEvent FoodService FulfillmentTypeEnumeration FundingAgency FundingScheme FurnitureStore Game GameAvailabilityEnumeration GamePlayMode GameServer GameServerStatus GardenStore GasStation GatedResidenceCommunity GenderType Gene GeneralContractor GeoCircle GeoCoordinates GeoShape GeospatialGeometry Geriatric GiveAction GolfCourse GovernmentBenefitsType GovernmentBuilding GovernmentOffice GovernmentOrganization GovernmentPermit GovernmentService Grant GroceryStore Guide Gynecologic HVACBusiness Hackathon HairSalon HardwareStore HealthAndBeautyBusiness HealthAspectEnumeration HealthClub HealthInsurancePlan HealthPlanCostSharingSpecification HealthPlanFormulary HealthPlanNetwork HealthTopicContent HighSchool HinduTemple HobbyShop HomeAndConstructionBusiness HomeGoodsStore Hospital Hostel Hotel HotelRoom House HousePainter HowTo HowToDirection HowToItem HowToSection HowToStep HowToSupply HowToTip HowToTool HyperToc HyperTocEntry IPTCDigitalSourceEnumeration ITNonprofitType IceCreamShop IgnoreAction ImageGallery ImageObject ImageObjectSnapshot ImagingTest IncentiveQualifiedExpenseType IncentiveStatus IncentiveType IndividualPhysician IndividualProduct InfectiousAgentClass InfectiousDisease InformAction InsertAction InstallAction InstantaneousEvent InsuranceAgency Intangible Integer InteractAction InteractionCounter InternetCafe InvestmentFund InvestmentOrDeposit InviteAction Invoice ItemAvailability ItemList ItemListOrderType ItemPage JewelryStore JobPosting JoinAction Joint LakeBodyOfWater Landform LandmarksOrHistoricalBuildings Language LearningResource LeaveAction LegalForceStatus LegalService LegalValueLevel Legislation LegislationObject LegislativeBuilding LendAction Library LibrarySystem LifestyleModification Ligament LikeAction LinkRole LiquorStore ListItem ListenAction LiteraryEvent LiveBlogPosting LoanOrCredit LocalBusiness LocationFeatureSpecification Locksmith LodgingBusiness LodgingReservation LoginAction LoseAction LymphaticVessel Manuscript Map MapCategoryType MarryAction Mass MathSolver MaximumDoseSchedule MeasurementMethodEnum MeasurementTypeEnumeration MediaEnumeration MediaGallery MediaManipulationRatingEnumeration MediaObject MediaReview MediaReviewItem MediaSubscription MedicalAudience MedicalAudienceType MedicalBusiness MedicalCause MedicalClinic MedicalCode MedicalCondition MedicalConditionStage MedicalContraindication MedicalDevice MedicalDevicePurpose MedicalEntity MedicalEnumeration MedicalEvidenceLevel MedicalGuideline MedicalGuidelineContraindication MedicalGuidelineRecommendation MedicalImagingTechnique MedicalIndication MedicalIntangible MedicalObservationalStudy MedicalObservationalStudyDesign MedicalOrganization MedicalProcedure MedicalProcedureType MedicalRiskCalculator MedicalRiskEstimator MedicalRiskFactor MedicalRiskScore MedicalScholarlyArticle MedicalSign MedicalSignOrSymptom MedicalSpecialty MedicalStudy MedicalStudyStatus MedicalSymptom MedicalTest MedicalTestPanel MedicalTherapy MedicalTrial MedicalTrialDesign MedicalWebPage MedicineSystem MeetingRoom MemberProgram MemberProgramTier MensClothingStore Menu MenuItem MenuSection MerchantReturnEnumeration MerchantReturnPolicy MerchantReturnPolicySeasonalOverride Message MiddleSchool Midwifery MobileApplication MobilePhoneStore MolecularEntity MonetaryAmount MonetaryAmountDistribution MonetaryGrant MoneyTransfer MortgageLoan Mosque Motel Motorcycle MotorcycleDealer MotorcycleRepair MotorizedBicycle Mountain MoveAction Movie MovieClip MovieRentalStore MovieSeries MovieTheater MovingCompany Muscle Museum MusicAlbum MusicAlbumProductionType MusicAlbumReleaseType MusicComposition MusicEvent MusicGroup MusicPlaylist MusicRecording MusicRelease MusicReleaseFormatType MusicStore MusicVenue MusicVideoObject NGO NLNonprofitType NailSalon Nerve NewsArticle NewsMediaOrganization Newspaper NightClub NonprofitType Notary NoteDigitalDocument Number Nursing NutritionInformation Observation Obstetric Occupation OccupationalExperienceRequirements OccupationalTherapy OceanBodyOfWater Offer OfferCatalog OfferForLease OfferForPurchase OfferItemCondition OfferShippingDetails OfficeEquipmentStore OnDemandEvent Oncologic OnlineBusiness OnlineMarketplace OnlineStore OpeningHoursSpecification OperatingSystem OpinionNewsArticle Optician Optometric Order OrderAction OrderItem OrderStatus Organization OrganizationRole OrganizeAction Otolaryngologic OutletStore OwnershipInfo PaintAction Painting PalliativeProcedure ParcelDelivery ParentAudience Park ParkingFacility PathologyTest Patient PawnShop PayAction PaymentCard PaymentChargeSpecification PaymentMethod PaymentMethodType PaymentService PaymentStatusType Pediatric PeopleAudience PerformAction PerformanceRole PerformingArtsEvent PerformingArtsTheater PerformingGroup Periodical Permit Person PetStore Pharmacy Photograph PhotographAction PhysicalActivity PhysicalActivityCategory PhysicalExam PhysicalTherapy Physician PhysiciansOffice Physiotherapy Place PlaceOfWorship PlanAction PlasticSurgery Play PlayAction PlayGameAction Playground Plumber PodcastEpisode PodcastSeason PodcastSeries Podiatric PoliceStation PoliticalParty Pond PostOffice PostalAddress PostalCodeRangeSpecification Poster PreOrderAction PrependAction Preschool PresentationDigitalDocument PreventionIndication PriceComponentTypeEnumeration PriceSpecification PriceTypeEnumeration PrimaryCare Product ProductCollection ProductGroup ProductModel ProductReturnEnumeration ProductReturnPolicy ProfessionalService ProfilePage ProgramMembership Project PronounceableText Property PropertyValue PropertyValueSpecification Protein Psychiatric PsychologicalTreatment PublicHealth PublicSwimmingPool PublicToilet PublicationEvent PublicationIssue PublicationVolume PurchaseType QAPage QualitativeValue QuantitativeValue QuantitativeValueDistribution Quantity Question Quiz Quotation QuoteAction RVPark RadiationTherapy RadioBroadcastService RadioChannel RadioClip RadioEpisode RadioSeason RadioSeries RadioStation Rating ReactAction ReadAction RealEstateAgent RealEstateListing ReceiveAction Recipe Recommendation RecommendedDoseSchedule RecyclingCenter RefundTypeEnumeration RegisterAction RejectAction RentAction RentalCarReservation RepaymentSpecification ReplaceAction ReplyAction Report ReportageNewsArticle ReportedDoseSchedule ResearchOrganization ResearchProject Researcher Reservation ReservationPackage ReservationStatusType ReserveAction Reservoir ResetPasswordAction Residence Resort RespiratoryTherapy Restaurant RestrictedDiet ResumeAction ReturnAction ReturnFeesEnumeration ReturnLabelSourceEnumeration ReturnMethodEnumeration Review ReviewAction ReviewNewsArticle RiverBodyOfWater Role RoofingContractor Room RsvpAction RsvpResponseType RuntimePlatform SaleEvent SatiricalArticle Schedule ScheduleAction ScholarlyArticle School SchoolDistrict ScreeningEvent Sculpture SeaBodyOfWater SearchAction SearchRescueOrganization SearchResultsPage Season Seat SeekToAction SelfStorage SellAction SendAction SequentialArt Series Service ServiceChannel ServicePeriod ShareAction SheetMusic ShippingConditions ShippingDeliveryTime ShippingRateSettings ShippingService ShoeStore ShoppingCenter ShortStory SingleFamilyResidence SiteNavigationElement SizeGroupEnumeration SizeSpecification SizeSystemEnumeration SkiResort SocialEvent SocialMediaPosting SoftwareApplication SoftwareSourceCode SolveMathAction SomeProducts SpeakableSpecification SpecialAnnouncement Specialty SportingGoodsStore SportsActivityLocation SportsClub SportsEvent SportsOrganization SportsTeam SpreadsheetDigitalDocument StadiumOrArena State Statement StatisticalPopulation StatisticalVariable StatusEnumeration SteeringPositionValue Store StructuredValue StupidType SubscribeAction Substance SubwayStation Suite SuperficialAnatomy SurgicalProcedure SuspendAction Syllabus Synagogue TVClip TVEpisode TVSeason TVSeries Table TakeAction TattooParlor Taxi TaxiReservation TaxiService TaxiStand Taxon TechArticle TelevisionChannel TelevisionStation TennisComplex Text TextDigitalDocument TextObject TheaterEvent TheaterGroup TherapeuticProcedure Thesis Thing Ticket TieAction TierBenefitEnumeration Time TipAction TireShop TouristAttraction TouristDestination TouristInformationCenter TouristTrip ToyStore TrackAction TradeAction TrainReservation TrainStation TrainTrip TransferAction TravelAction TravelAgency TreatmentIndication Trip TypeAndQuantityNode UKNonprofitType URL USNonprofitType UnRegisterAction UnitPriceSpecification UpdateAction UseAction UserBlocks UserCheckins UserComments UserDownloads UserInteraction UserLikes UserPageVisits UserPlays UserPlusOnes UserReview UserTweets VacationRental Vehicle Vein Vessel VeterinaryCare VideoGallery VideoGame VideoGameClip VideoGameSeries VideoObject VideoObjectSnapshot ViewAction VirtualLocation VisualArtsEvent VisualArtwork VitalSign Volcano VoteAction WPAdBlock WPFooter WPHeader WPSideBar WantAction WarrantyPromise WarrantyScope WatchAction Waterfall WearAction WearableMeasurementTypeEnumeration WearableSizeGroupEnumeration WearableSizeSystemEnumeration WebAPI WebApplication WebContent WebPage WebPageElement WebSite WholesaleStore WinAction Winery WorkBasedProgram WorkersUnion WriteAction XPathType Zoo iflastandards_info_ns_lrm_lrmoo_F31_Performance purl_bioontology_org_ontology_SNOMEDCT_105590001 purl_bioontology_org_ontology_SNOMEDCT_116154003 purl_bioontology_org_ontology_SNOMEDCT_277132007 purl_bioontology_org_ontology_SNOMEDCT_387713003 purl_bioontology_org_ontology_SNOMEDCT_410942007 purl_bioontology_org_ontology_SNOMEDCT_50731006 purl_bioontology_org_ontology_SNOMEDCT_51114001 purl_bioontology_org_ontology_SNOMEDCT_63653004 purl_org_dc_dcmitype_Dataset purl_org_dc_dcmitype_Event purl_org_dc_dcmitype_Image purl_org_dc_dcmitype_Text purl_org_ontology_bibo_Issue purl_org_ontology_bibo_Periodical rdfs_org_ns_void_Dataset ref_gs1_org_voc_CertificationDetails ref_gs1_org_voc_ContactPoint ref_gs1_org_voc_Country ref_gs1_org_voc_Organization ref_gs1_org_voc_PostalAddress sarif_info_Result spec_edmcouncil_org_fibo_ontology_BE_Corporations_Corporations_Corporation spec_edmcouncil_org_fibo_ontology_BE_LegalEntities_CorporateBodies_CooperativeSociety spec_edmcouncil_org_fibo_ontology_BE_NotForProfitOrganizations_NotForProfitOrganizations_NonGovernmentalOrganization spec_edmcouncil_org_fibo_ontology_FBC_ProductsAndServices_FinancialProductsAndServices_BankAccount spec_edmcouncil_org_fibo_ontology_FBC_ProductsAndServices_FinancialProductsAndServices_PaymentMechanism spec_edmcouncil_org_fibo_ontology_FND_Agreements_Contracts_MutualContractualAgreement spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_Certificate spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_Document spec_edmcouncil_org_fibo_ontology_FND_Arrangements_Documents_LegalDocument spec_edmcouncil_org_fibo_ontology_FND_DatesAndTimes_Occurrences_Occurrence spec_edmcouncil_org_fibo_ontology_FND_Organizations_Organizations_ContactPoint spec_edmcouncil_org_fibo_ontology_FND_Organizations_Organizations_Organization spec_edmcouncil_org_fibo_ontology_FND_Places_Addresses_PostalAddress spec_edmcouncil_org_fibo_ontology_FND_Places_Locations_Municipality spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Offer spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Price spec_edmcouncil_org_fibo_ontology_FND_ProductsAndServices_ProductsAndServices_Product spec_edmcouncil_org_fibo_ontology_PAY_PaymentServices_PaymentServices_PaymentService unece_org_vocab_AmountType unece_org_vocab_BrandName unece_org_vocab_Country unece_org_vocab_ElectronicDocument unece_org_vocab_FinancialCard unece_org_vocab_GeographicalCoordinate unece_org_vocab_Invoice unece_org_vocab_LineTradeAgreement unece_org_vocab_Offer unece_org_vocab_Order unece_org_vocab_PaymentMeans unece_org_vocab_RequestForQuotation unece_org_vocab_SpecifiedCertificate unece_org_vocab_SpecifiedTradeProduct unece_org_vocab_TradeAddress unece_org_vocab_TradeProduct unece_org_vocab_TransportMethod www_omg_org_spec_Commons_Classifiers_Classifier www_omg_org_spec_Commons_Collections_Collection www_omg_org_spec_Commons_DatesAndTimes_Date www_omg_org_spec_Commons_DatesAndTimes_DateTime www_omg_org_spec_Commons_DatesAndTimes_Duration www_omg_org_spec_Commons_GeopoliticalEntities_GeopoliticalEntity www_omg_org_spec_Commons_GeopoliticalEntities_Subdivision www_omg_org_spec_Commons_Locations_Address www_omg_org_spec_Commons_Locations_GeographicCoordinate www_omg_org_spec_Commons_Locations_Location www_omg_org_spec_LCC_Countries_CountryRepresentation_Continent www_omg_org_spec_LCC_Countries_CountryRepresentation_Country www_w3_org_2006_vcard_ns_VCard www_w3_org_ns_dcat_Catalog www_w3_org_ns_dcat_Dataset www_w3_org_ns_dcat_Distribution www_w3_org_ns_hydra_core_Error www_w3_org_ns_prov_InstantaneousEvent www_w3_org_ns_prov_atTime xmlns_com_foaf_0_1_Person".split(
|
|
3664
|
+
" "
|
|
3665
|
+
)
|
|
3666
|
+
);
|
|
4739
3667
|
|
|
4740
3668
|
// src/rules/seo/json-ld-validity.ts
|
|
4741
3669
|
var SCHEMA_ORG_CONTEXT_RE = /^https?:\/\/schema\.org\/?$/;
|
|
@@ -5355,57 +4283,56 @@ var seoHeadingLevelSkip = {
|
|
|
5355
4283
|
}
|
|
5356
4284
|
};
|
|
5357
4285
|
|
|
5358
|
-
// src/rules/
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
function isSuppressed(m, ruleId, line) {
|
|
5362
|
-
return (m.suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ruleId)));
|
|
4286
|
+
// src/rules/component-rule.ts
|
|
4287
|
+
function isSuppressed(suppressions, ruleId, line) {
|
|
4288
|
+
return (suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ruleId)));
|
|
5363
4289
|
}
|
|
5364
|
-
function
|
|
5365
|
-
const docsUrl12 = docsUrlFor(
|
|
5366
|
-
const severity = opts.severity ?? "warning";
|
|
4290
|
+
function fileRule(spec) {
|
|
4291
|
+
const docsUrl12 = docsUrlFor(spec.id);
|
|
5367
4292
|
return {
|
|
5368
|
-
id:
|
|
5369
|
-
title:
|
|
5370
|
-
category:
|
|
5371
|
-
severity,
|
|
4293
|
+
id: spec.id,
|
|
4294
|
+
title: spec.title,
|
|
4295
|
+
category: spec.category,
|
|
4296
|
+
severity: spec.severity,
|
|
5372
4297
|
scope: "component",
|
|
5373
|
-
rationale:
|
|
5374
|
-
...
|
|
4298
|
+
rationale: spec.rationale,
|
|
4299
|
+
...spec.fix ? { fix: spec.fix } : {},
|
|
4300
|
+
...spec.options ? { options: spec.options } : {},
|
|
5375
4301
|
async check(ctx) {
|
|
5376
4302
|
const out = [];
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
const
|
|
4303
|
+
const compiled = compileOverrides(ctx.config);
|
|
4304
|
+
for (const f of spec.facts(ctx) ?? []) {
|
|
4305
|
+
const o = resolveRuleOptions(spec.id, spec.options, ctx.config, { route: f.file, file: f.file }, compiled);
|
|
4306
|
+
if (!spec.applies(f, o, ctx)) continue;
|
|
4307
|
+
const recommendation10 = typeof spec.recommendation === "function" ? spec.recommendation(o) : spec.recommendation;
|
|
4308
|
+
const bad = spec.bad(f, o, ctx).filter((b) => !(b.line > 0 && isSuppressed(f.suppressions, spec.id, b.line)));
|
|
5380
4309
|
if (bad.length === 0) {
|
|
5381
4310
|
out.push({
|
|
5382
|
-
id:
|
|
5383
|
-
category:
|
|
5384
|
-
severity,
|
|
5385
|
-
detection:
|
|
5386
|
-
route:
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
message: opts.label,
|
|
5391
|
-
recommendation: opts.recommendation,
|
|
4311
|
+
id: spec.id,
|
|
4312
|
+
category: spec.category,
|
|
4313
|
+
severity: spec.severity,
|
|
4314
|
+
detection: PASS,
|
|
4315
|
+
route: f.file,
|
|
4316
|
+
location: f.file,
|
|
4317
|
+
message: spec.label,
|
|
4318
|
+
recommendation: recommendation10,
|
|
5392
4319
|
docsUrl: docsUrl12
|
|
5393
4320
|
});
|
|
5394
4321
|
continue;
|
|
5395
4322
|
}
|
|
5396
4323
|
for (const b of bad) {
|
|
5397
4324
|
out.push({
|
|
5398
|
-
id:
|
|
5399
|
-
category:
|
|
5400
|
-
severity,
|
|
5401
|
-
detection:
|
|
5402
|
-
route:
|
|
5403
|
-
location:
|
|
4325
|
+
id: spec.id,
|
|
4326
|
+
category: spec.category,
|
|
4327
|
+
severity: spec.severity,
|
|
4328
|
+
detection: PENALIZED,
|
|
4329
|
+
route: f.file,
|
|
4330
|
+
location: f.file,
|
|
5404
4331
|
...b.line > 0 ? { line: b.line } : {},
|
|
5405
4332
|
message: b.message,
|
|
5406
|
-
recommendation:
|
|
4333
|
+
recommendation: recommendation10,
|
|
5407
4334
|
docsUrl: docsUrl12,
|
|
5408
|
-
...
|
|
4335
|
+
...spec.fix ? { fix: { ...spec.fix } } : {}
|
|
5409
4336
|
});
|
|
5410
4337
|
}
|
|
5411
4338
|
}
|
|
@@ -5413,6 +4340,24 @@ function kitModuleRule(opts) {
|
|
|
5413
4340
|
}
|
|
5414
4341
|
};
|
|
5415
4342
|
}
|
|
4343
|
+
function componentRule(opts) {
|
|
4344
|
+
return fileRule({
|
|
4345
|
+
...opts,
|
|
4346
|
+
severity: opts.severity ?? "warning",
|
|
4347
|
+
facts: (ctx) => ctx.components
|
|
4348
|
+
});
|
|
4349
|
+
}
|
|
4350
|
+
|
|
4351
|
+
// src/rules/kit-module-rule.ts
|
|
4352
|
+
function kitModuleRule(opts) {
|
|
4353
|
+
return fileRule({
|
|
4354
|
+
...opts,
|
|
4355
|
+
severity: opts.severity ?? "warning",
|
|
4356
|
+
facts: (ctx) => ctx.kitModules,
|
|
4357
|
+
applies: (m, _o, ctx) => opts.applies(m, ctx),
|
|
4358
|
+
bad: (m, _o, ctx) => opts.bad(m, ctx)
|
|
4359
|
+
});
|
|
4360
|
+
}
|
|
5416
4361
|
|
|
5417
4362
|
// src/rules/seo/ssr-disabled.ts
|
|
5418
4363
|
var ROOT_LAYOUT_RE = /^src\/routes\/\+layout(\.server)?\.(ts|js)$/;
|
|
@@ -5433,69 +4378,6 @@ var seoSsrDisabled = kitModuleRule({
|
|
|
5433
4378
|
]
|
|
5434
4379
|
});
|
|
5435
4380
|
|
|
5436
|
-
// src/rules/component-rule.ts
|
|
5437
|
-
var PENALIZED3 = { presence: "none", value: "absent" };
|
|
5438
|
-
var PASS3 = { presence: "own", value: "static" };
|
|
5439
|
-
function isSuppressed2(c, ruleId, line) {
|
|
5440
|
-
return (c.suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ruleId)));
|
|
5441
|
-
}
|
|
5442
|
-
function componentRule(opts) {
|
|
5443
|
-
const docsUrl12 = docsUrlFor(opts.id);
|
|
5444
|
-
const severity = opts.severity ?? "warning";
|
|
5445
|
-
return {
|
|
5446
|
-
id: opts.id,
|
|
5447
|
-
title: opts.title,
|
|
5448
|
-
category: opts.category,
|
|
5449
|
-
severity,
|
|
5450
|
-
scope: "component",
|
|
5451
|
-
rationale: opts.rationale,
|
|
5452
|
-
...opts.fix ? { fix: opts.fix } : {},
|
|
5453
|
-
...opts.options ? { options: opts.options } : {},
|
|
5454
|
-
async check(ctx) {
|
|
5455
|
-
const out = [];
|
|
5456
|
-
const compiled = compileOverrides(ctx.config);
|
|
5457
|
-
for (const c of ctx.components ?? []) {
|
|
5458
|
-
const o = resolveRuleOptions(opts.id, opts.options, ctx.config, { route: c.file, file: c.file }, compiled);
|
|
5459
|
-
const recommendation10 = typeof opts.recommendation === "function" ? opts.recommendation(o) : opts.recommendation;
|
|
5460
|
-
if (!opts.applies(c, o, ctx)) continue;
|
|
5461
|
-
const bad = opts.bad(c, o, ctx).filter((b) => !(b.line > 0 && isSuppressed2(c, opts.id, b.line)));
|
|
5462
|
-
if (bad.length === 0) {
|
|
5463
|
-
out.push({
|
|
5464
|
-
id: opts.id,
|
|
5465
|
-
category: opts.category,
|
|
5466
|
-
severity,
|
|
5467
|
-
detection: PASS3,
|
|
5468
|
-
route: c.file,
|
|
5469
|
-
// Uniform PASS-result attribution (design 2026-08-08-pass-result-location-design.md):
|
|
5470
|
-
// same location a penalized result for this file would carry.
|
|
5471
|
-
location: c.file,
|
|
5472
|
-
message: opts.label,
|
|
5473
|
-
recommendation: recommendation10,
|
|
5474
|
-
docsUrl: docsUrl12
|
|
5475
|
-
});
|
|
5476
|
-
continue;
|
|
5477
|
-
}
|
|
5478
|
-
for (const b of bad) {
|
|
5479
|
-
out.push({
|
|
5480
|
-
id: opts.id,
|
|
5481
|
-
category: opts.category,
|
|
5482
|
-
severity,
|
|
5483
|
-
detection: PENALIZED3,
|
|
5484
|
-
route: c.file,
|
|
5485
|
-
location: c.file,
|
|
5486
|
-
...b.line > 0 ? { line: b.line } : {},
|
|
5487
|
-
message: b.message,
|
|
5488
|
-
recommendation: recommendation10,
|
|
5489
|
-
docsUrl: docsUrl12,
|
|
5490
|
-
...opts.fix ? { fix: { ...opts.fix } } : {}
|
|
5491
|
-
});
|
|
5492
|
-
}
|
|
5493
|
-
}
|
|
5494
|
-
return out;
|
|
5495
|
-
}
|
|
5496
|
-
};
|
|
5497
|
-
}
|
|
5498
|
-
|
|
5499
4381
|
// src/rules/correctness/each-key.ts
|
|
5500
4382
|
var correctnessEachKey = componentRule({
|
|
5501
4383
|
id: "correctness/each-key",
|
|
@@ -5659,8 +4541,6 @@ var correctnessOrphanEffect = componentRule({
|
|
|
5659
4541
|
});
|
|
5660
4542
|
|
|
5661
4543
|
// src/rules/correctness/orphan-lifecycle.ts
|
|
5662
|
-
var PENALIZED4 = { presence: "none", value: "absent" };
|
|
5663
|
-
var PASS4 = { presence: "own", value: "static" };
|
|
5664
4544
|
var ID = "correctness/orphan-lifecycle";
|
|
5665
4545
|
var DOCS_URL = docsUrlFor(ID);
|
|
5666
4546
|
var LABEL = "Lifecycle-call context";
|
|
@@ -5674,17 +4554,14 @@ function kitLifecycleMessage(name, kind, inHandler) {
|
|
|
5674
4554
|
}
|
|
5675
4555
|
return inHandler ? `${name}() is called in a load/handler \u2014 it runs on every request, outside component initialisation, and throws lifecycle_outside_component at runtime` : `${name}() runs outside component initialisation (module evaluation or the init hook) \u2014 it throws lifecycle_outside_component at runtime`;
|
|
5676
4556
|
}
|
|
5677
|
-
function isSuppressed3(suppressions, line) {
|
|
5678
|
-
return (suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ID)));
|
|
5679
|
-
}
|
|
5680
4557
|
function emitFile(out, file, issues, suppressions) {
|
|
5681
|
-
const bad = issues.filter((b) => !(b.line > 0 &&
|
|
4558
|
+
const bad = issues.filter((b) => !(b.line > 0 && isSuppressed(suppressions, ID, b.line)));
|
|
5682
4559
|
if (bad.length === 0) {
|
|
5683
4560
|
out.push({
|
|
5684
4561
|
id: ID,
|
|
5685
4562
|
category: "correctness",
|
|
5686
4563
|
severity: "critical",
|
|
5687
|
-
detection:
|
|
4564
|
+
detection: PASS,
|
|
5688
4565
|
route: file,
|
|
5689
4566
|
// Uniform PASS-result attribution (design 2026-08-08-pass-result-location-design.md):
|
|
5690
4567
|
// same location a penalized result for this file would carry.
|
|
@@ -5700,7 +4577,7 @@ function emitFile(out, file, issues, suppressions) {
|
|
|
5700
4577
|
id: ID,
|
|
5701
4578
|
category: "correctness",
|
|
5702
4579
|
severity: "critical",
|
|
5703
|
-
detection:
|
|
4580
|
+
detection: PENALIZED,
|
|
5704
4581
|
route: file,
|
|
5705
4582
|
location: file,
|
|
5706
4583
|
...b.line > 0 ? { line: b.line } : {},
|
|
@@ -5750,8 +4627,6 @@ var correctnessOrphanLifecycle = {
|
|
|
5750
4627
|
};
|
|
5751
4628
|
|
|
5752
4629
|
// src/rules/correctness/base-path-navigation.ts
|
|
5753
|
-
var PENALIZED5 = { presence: "none", value: "absent" };
|
|
5754
|
-
var PASS5 = { presence: "own", value: "static" };
|
|
5755
4630
|
var ID2 = "correctness/base-path-navigation";
|
|
5756
4631
|
var DOCS_URL2 = docsUrlFor(ID2);
|
|
5757
4632
|
var LABEL2 = "Base-path-aware navigation";
|
|
@@ -5768,17 +4643,14 @@ function messageFor2(link) {
|
|
|
5768
4643
|
}
|
|
5769
4644
|
return `redirect(\u2026, '${link.path}') is root-relative \u2014 the Location header points outside this project's kit.paths.base and 404s in production. Use resolve('${link.path}') from '$app/paths'.`;
|
|
5770
4645
|
}
|
|
5771
|
-
function isSuppressed4(suppressions, line) {
|
|
5772
|
-
return (suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ID2)));
|
|
5773
|
-
}
|
|
5774
4646
|
function emitFile2(out, file, links, suppressions) {
|
|
5775
|
-
const bad = links.filter((l) => !(l.line > 0 &&
|
|
4647
|
+
const bad = links.filter((l) => !(l.line > 0 && isSuppressed(suppressions, ID2, l.line)));
|
|
5776
4648
|
if (bad.length === 0) {
|
|
5777
4649
|
out.push({
|
|
5778
4650
|
id: ID2,
|
|
5779
4651
|
category: "correctness",
|
|
5780
4652
|
severity: "warning",
|
|
5781
|
-
detection:
|
|
4653
|
+
detection: PASS,
|
|
5782
4654
|
route: file,
|
|
5783
4655
|
// Uniform PASS-result attribution (design 2026-08-08-pass-result-location-design.md):
|
|
5784
4656
|
// same location a penalized result for this file would carry.
|
|
@@ -5794,7 +4666,7 @@ function emitFile2(out, file, links, suppressions) {
|
|
|
5794
4666
|
id: ID2,
|
|
5795
4667
|
category: "correctness",
|
|
5796
4668
|
severity: "warning",
|
|
5797
|
-
detection:
|
|
4669
|
+
detection: PENALIZED,
|
|
5798
4670
|
route: file,
|
|
5799
4671
|
location: file,
|
|
5800
4672
|
...l.line > 0 ? { line: l.line } : {},
|
|
@@ -5831,24 +4703,19 @@ var correctnessBasePathNavigation = {
|
|
|
5831
4703
|
};
|
|
5832
4704
|
|
|
5833
4705
|
// src/rules/correctness/server-browser-global.ts
|
|
5834
|
-
var PENALIZED6 = { presence: "none", value: "absent" };
|
|
5835
|
-
var PASS6 = { presence: "own", value: "static" };
|
|
5836
4706
|
var ID3 = "correctness/server-browser-global";
|
|
5837
4707
|
var DOCS_URL3 = docsUrlFor(ID3);
|
|
5838
4708
|
var LABEL3 = "Server-safe module code";
|
|
5839
4709
|
var RECOMMENDATION3 = "Move browser-only code into onMount or $effect (they never run on the server), or guard it with browser from $app/environment (or a typeof check).";
|
|
5840
4710
|
var moduleMessage = (name) => `${name} is accessed at module scope \u2014 it does not exist on the server, so importing this file crashes SSR with "${name} is not defined"`;
|
|
5841
|
-
function isSuppressed5(suppressions, line) {
|
|
5842
|
-
return (suppressions ?? []).some((s) => s.line === line && (!s.ruleIds || s.ruleIds.includes(ID3)));
|
|
5843
|
-
}
|
|
5844
4711
|
function emitFile3(out, file, issues, suppressions) {
|
|
5845
|
-
const bad = issues.filter((b) => !(b.line > 0 &&
|
|
4712
|
+
const bad = issues.filter((b) => !(b.line > 0 && isSuppressed(suppressions, ID3, b.line)));
|
|
5846
4713
|
if (bad.length === 0) {
|
|
5847
4714
|
out.push({
|
|
5848
4715
|
id: ID3,
|
|
5849
4716
|
category: "correctness",
|
|
5850
4717
|
severity: "critical",
|
|
5851
|
-
detection:
|
|
4718
|
+
detection: PASS,
|
|
5852
4719
|
route: file,
|
|
5853
4720
|
// Uniform PASS-result attribution (design 2026-08-08-pass-result-location-design.md):
|
|
5854
4721
|
// same location a penalized result for this file would carry.
|
|
@@ -5864,7 +4731,7 @@ function emitFile3(out, file, issues, suppressions) {
|
|
|
5864
4731
|
id: ID3,
|
|
5865
4732
|
category: "correctness",
|
|
5866
4733
|
severity: "critical",
|
|
5867
|
-
detection:
|
|
4734
|
+
detection: PENALIZED,
|
|
5868
4735
|
route: file,
|
|
5869
4736
|
location: file,
|
|
5870
4737
|
...b.line > 0 ? { line: b.line } : {},
|
|
@@ -6122,7 +4989,7 @@ var architecturePrivateScopeImport = {
|
|
|
6122
4989
|
}
|
|
6123
4990
|
if (!sawScopedImport) continue;
|
|
6124
4991
|
const visible = violations.filter(
|
|
6125
|
-
(v) => !(v.line > 0 &&
|
|
4992
|
+
(v) => !(v.line > 0 && isSuppressed(c.suppressions, "architecture/private-scope-import", v.line))
|
|
6126
4993
|
);
|
|
6127
4994
|
if (visible.length === 0) {
|
|
6128
4995
|
out.push({
|
|
@@ -7092,7 +5959,7 @@ var performanceNamespaceImport = componentRule({
|
|
|
7092
5959
|
});
|
|
7093
5960
|
|
|
7094
5961
|
// src/rules/perf/minify-disabled.ts
|
|
7095
|
-
var
|
|
5962
|
+
var PENALIZED2 = { presence: "none", value: "absent" };
|
|
7096
5963
|
var MINIFY_DISABLED_FIX = {
|
|
7097
5964
|
description: "Remove the minify: false override from vite.config (Vite minifies by default), or scope it to non-production builds.",
|
|
7098
5965
|
snippet: "export default defineConfig({\n build: {\n // minify: false \u2014 removed; Vite minifies production builds by default\n }\n});",
|
|
@@ -7116,7 +5983,7 @@ var performanceMinifyDisabled = {
|
|
|
7116
5983
|
id: "performance/minify-disabled",
|
|
7117
5984
|
category: "performance",
|
|
7118
5985
|
severity: "warning",
|
|
7119
|
-
detection:
|
|
5986
|
+
detection: PENALIZED2,
|
|
7120
5987
|
...hit.file !== void 0 ? { location: hit.file } : {},
|
|
7121
5988
|
...hit.line !== void 0 ? { line: hit.line } : {},
|
|
7122
5989
|
message: "JS/CSS minification is disabled (build.minify: false) \u2014 production bundles ship unminified and several times larger." + provenance,
|
|
@@ -7474,14 +6341,7 @@ var SEVERITY_TITLE = {
|
|
|
7474
6341
|
warning: "Warnings",
|
|
7475
6342
|
info: "Info"
|
|
7476
6343
|
};
|
|
7477
|
-
var
|
|
7478
|
-
seo: "SEO",
|
|
7479
|
-
performance: "Performance",
|
|
7480
|
-
correctness: "Correctness",
|
|
7481
|
-
security: "Security",
|
|
7482
|
-
architecture: "Architecture"
|
|
7483
|
-
};
|
|
7484
|
-
var CATEGORY_ORDER = ["seo", "performance", "correctness", "security", "architecture"];
|
|
6344
|
+
var categoryLabel = (c) => c === "seo" ? "SEO" : c.charAt(0).toUpperCase() + c.slice(1);
|
|
7485
6345
|
var MAX_RULE_GROUPS_PER_BUCKET = 5;
|
|
7486
6346
|
function groupByRule(results) {
|
|
7487
6347
|
const groups = /* @__PURE__ */ new Map();
|
|
@@ -7536,7 +6396,7 @@ function formatConsoleReport(results, config, options = {}) {
|
|
|
7536
6396
|
const p = options.palette ?? noColorPalette;
|
|
7537
6397
|
const summary = summarize(results, config);
|
|
7538
6398
|
const { health, categories: byCat } = computeHealth(results, config);
|
|
7539
|
-
const present3 =
|
|
6399
|
+
const present3 = CATEGORIES.filter((c) => byCat[c] !== void 0);
|
|
7540
6400
|
const lines = [];
|
|
7541
6401
|
if (!options.omitHeader) {
|
|
7542
6402
|
lines.push(
|
|
@@ -7546,7 +6406,7 @@ function formatConsoleReport(results, config, options = {}) {
|
|
|
7546
6406
|
);
|
|
7547
6407
|
}
|
|
7548
6408
|
for (const c of present3) {
|
|
7549
|
-
lines.push(scoreLine(p,
|
|
6409
|
+
lines.push(scoreLine(p, categoryLabel(c), byCat[c]));
|
|
7550
6410
|
}
|
|
7551
6411
|
lines.push("");
|
|
7552
6412
|
const SEVERITY_COLOR = {
|
|
@@ -7675,8 +6535,25 @@ function formatJsonReport(results, config, meta, ruleIds, examined) {
|
|
|
7675
6535
|
return JSON.stringify(buildJsonReport(results, config, meta, ruleIds, examined), null, 2);
|
|
7676
6536
|
}
|
|
7677
6537
|
|
|
7678
|
-
// src/reporter/
|
|
6538
|
+
// src/reporter/shared.ts
|
|
7679
6539
|
var SEVERITY_RANK = { critical: 0, warning: 1, info: 2 };
|
|
6540
|
+
function severityToSarifLevel(sev) {
|
|
6541
|
+
return sev === "critical" ? "error" : sev === "warning" ? "warning" : "note";
|
|
6542
|
+
}
|
|
6543
|
+
function severityToGithubLevel(sev) {
|
|
6544
|
+
return sev === "critical" ? "error" : sev === "warning" ? "warning" : "notice";
|
|
6545
|
+
}
|
|
6546
|
+
function messageText(result) {
|
|
6547
|
+
return result.recommendation ? `${result.message} ${result.recommendation}` : result.message;
|
|
6548
|
+
}
|
|
6549
|
+
var RULE_META = new Map(
|
|
6550
|
+
allRules.map((r) => [r.id, { title: r.title, severity: r.severity, docsUrl: docsUrlFor(r.id) }])
|
|
6551
|
+
);
|
|
6552
|
+
function ruleMetaById(id) {
|
|
6553
|
+
return RULE_META.get(id);
|
|
6554
|
+
}
|
|
6555
|
+
|
|
6556
|
+
// src/reporter/agent.ts
|
|
7680
6557
|
function formatAgentReport(results, config) {
|
|
7681
6558
|
const failing = results.filter((r) => classify(r, config) === "fail");
|
|
7682
6559
|
const { health } = computeHealth(results, config);
|
|
@@ -7719,23 +6596,6 @@ function formatAgentReport(results, config) {
|
|
|
7719
6596
|
return lines.join("\n").replace(/\n+$/, "\n");
|
|
7720
6597
|
}
|
|
7721
6598
|
|
|
7722
|
-
// src/reporter/shared.ts
|
|
7723
|
-
function severityToSarifLevel(sev) {
|
|
7724
|
-
return sev === "critical" ? "error" : sev === "warning" ? "warning" : "note";
|
|
7725
|
-
}
|
|
7726
|
-
function severityToGithubLevel(sev) {
|
|
7727
|
-
return sev === "critical" ? "error" : sev === "warning" ? "warning" : "notice";
|
|
7728
|
-
}
|
|
7729
|
-
function messageText(result) {
|
|
7730
|
-
return result.recommendation ? `${result.message} ${result.recommendation}` : result.message;
|
|
7731
|
-
}
|
|
7732
|
-
var RULE_META = new Map(
|
|
7733
|
-
allRules.map((r) => [r.id, { title: r.title, severity: r.severity, docsUrl: docsUrlFor(r.id) }])
|
|
7734
|
-
);
|
|
7735
|
-
function ruleMetaById(id) {
|
|
7736
|
-
return RULE_META.get(id);
|
|
7737
|
-
}
|
|
7738
|
-
|
|
7739
6599
|
// src/reporter/sarif.ts
|
|
7740
6600
|
function formatSarifReport(results, config, meta) {
|
|
7741
6601
|
const penalized = results.filter((r) => isPenalized(r.detection, config.treatDynamicAs));
|
|
@@ -7822,7 +6682,6 @@ function formatGithubReport(results, config) {
|
|
|
7822
6682
|
// src/reporter/markdown.ts
|
|
7823
6683
|
var MAX_FINDINGS = 50;
|
|
7824
6684
|
var SEVERITY_EMOJI = { critical: "\u{1F534}", warning: "\u{1F7E1}", info: "\u{1F535}" };
|
|
7825
|
-
var SEVERITY_RANK2 = { critical: 0, warning: 1, info: 2 };
|
|
7826
6685
|
function escapeCell(s) {
|
|
7827
6686
|
return mdEscape(s).replace(/(\\*)\|/g, (_, bs) => bs + bs + "\\|");
|
|
7828
6687
|
}
|
|
@@ -7853,7 +6712,7 @@ function flattenFindings(report) {
|
|
|
7853
6712
|
message: messageWithRecommendation(issue)
|
|
7854
6713
|
});
|
|
7855
6714
|
}
|
|
7856
|
-
return findings.map((f, index) => ({ f, index })).sort((a, b) =>
|
|
6715
|
+
return findings.map((f, index) => ({ f, index })).sort((a, b) => SEVERITY_RANK[a.f.severity] - SEVERITY_RANK[b.f.severity] || a.index - b.index).map(({ f }) => f);
|
|
7857
6716
|
}
|
|
7858
6717
|
function categoryRows(categories) {
|
|
7859
6718
|
const names = Object.keys(categories).sort();
|
|
@@ -7903,6 +6762,24 @@ function formatMarkdownReport(results, config, meta) {
|
|
|
7903
6762
|
}
|
|
7904
6763
|
|
|
7905
6764
|
// src/reporter/app-shell.ts
|
|
6765
|
+
var BAND_COLOR = {
|
|
6766
|
+
good: "#2FA968",
|
|
6767
|
+
warn: "#E8A317",
|
|
6768
|
+
poor: "#E5484D"
|
|
6769
|
+
};
|
|
6770
|
+
function scoreBand(score) {
|
|
6771
|
+
return score >= 90 ? "good" : score >= 50 ? "warn" : "poor";
|
|
6772
|
+
}
|
|
6773
|
+
function escapeHtml(s) {
|
|
6774
|
+
return s.replace(
|
|
6775
|
+
/[&<>"']/g,
|
|
6776
|
+
(c) => c === "&" ? "&" : c === "<" ? "<" : c === ">" ? ">" : c === '"' ? """ : "'"
|
|
6777
|
+
);
|
|
6778
|
+
}
|
|
6779
|
+
function safeHref(url) {
|
|
6780
|
+
const normalized = url.replace(/\s/g, "").toLowerCase();
|
|
6781
|
+
return /^https?:\/\//.test(normalized) ? url : null;
|
|
6782
|
+
}
|
|
7906
6783
|
function embedJson(value) {
|
|
7907
6784
|
return JSON.stringify(value).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
|
7908
6785
|
}
|
|
@@ -8575,26 +7452,6 @@ function buildHtmlDocument(report, meta) {
|
|
|
8575
7452
|
function formatHtmlReport(results, config, meta) {
|
|
8576
7453
|
return buildHtmlDocument(buildJsonReport(results, config, meta), meta);
|
|
8577
7454
|
}
|
|
8578
|
-
|
|
8579
|
-
// src/reporter/html.ts
|
|
8580
|
-
var BAND_COLOR = {
|
|
8581
|
-
good: "#2FA968",
|
|
8582
|
-
warn: "#E8A317",
|
|
8583
|
-
poor: "#E5484D"
|
|
8584
|
-
};
|
|
8585
|
-
function scoreBand(score) {
|
|
8586
|
-
return score >= 90 ? "good" : score >= 50 ? "warn" : "poor";
|
|
8587
|
-
}
|
|
8588
|
-
function escapeHtml(s) {
|
|
8589
|
-
return s.replace(
|
|
8590
|
-
/[&<>"']/g,
|
|
8591
|
-
(c) => c === "&" ? "&" : c === "<" ? "<" : c === ">" ? ">" : c === '"' ? """ : "'"
|
|
8592
|
-
);
|
|
8593
|
-
}
|
|
8594
|
-
function safeHref(url) {
|
|
8595
|
-
const normalized = url.replace(/\s/g, "").toLowerCase();
|
|
8596
|
-
return /^https?:\/\//.test(normalized) ? url : null;
|
|
8597
|
-
}
|
|
8598
7455
|
export {
|
|
8599
7456
|
APP_SCRIPT,
|
|
8600
7457
|
APP_STYLE,
|
|
@@ -8660,6 +7517,7 @@ export {
|
|
|
8660
7517
|
findMinifyDisabled,
|
|
8661
7518
|
formatAgentReport,
|
|
8662
7519
|
formatConsoleReport,
|
|
7520
|
+
formatFailedRuleWarning,
|
|
8663
7521
|
formatGithubReport,
|
|
8664
7522
|
formatHtmlReport,
|
|
8665
7523
|
formatJsonReport,
|
|
@@ -8745,6 +7603,7 @@ export {
|
|
|
8745
7603
|
settingSeverity,
|
|
8746
7604
|
shouldSkipRangeCheck,
|
|
8747
7605
|
summarize,
|
|
7606
|
+
terminalSafe,
|
|
8748
7607
|
textFromNodes,
|
|
8749
7608
|
validateRuleOptions,
|
|
8750
7609
|
validateRuleSetting,
|