@fulldecent/nice-checkers-plugin 0.2.1 → 1.0.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.cjs +1 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
time INTEGER NOT NULL
|
|
16
16
|
);
|
|
17
17
|
CREATE INDEX IF NOT EXISTS time_idx ON latest_packages (time);
|
|
18
|
-
`),e.exec(`DELETE FROM latest_packages WHERE time < unixepoch() - ${this.options.cacheExpirySeconds}`),e}performPackageCheck(s,e){let a=s.match(/cdn\.jsdelivr\.net\/npm\/(@?[^/]+)@([^/]+)/);if(!a)return;let t=a[1],r=a[2],i=`https://data.jsdelivr.com/v1/package/npm/${t}`,o=shellQuote.quote([i]),n=`curl --silent --fail --no-location --max-time ${this.options.timeoutSeconds} ${o}`;try{let d=child_process.execSync(n).toString(),m=JSON.parse(d);m&&m.tags&&Object.values(m.tags).includes(r)?this.db.prepare("REPLACE INTO latest_packages (url, current, time) VALUES (?, 1, unixepoch())").run(s):(this.db.prepare("REPLACE INTO latest_packages (url, current, time) VALUES (?, 0, unixepoch())").run(s),this.report({node:e,message:`Package "${t}" is not using a current version tag. Found "${r}", but latest is "${m.tags.latest}".`}));}catch(d){console.error(`[html-validate-latest-packages] Error checking package version for ${s}: ${d.message}`);}}tagReady(s){let{target:e}=s,{tagName:a}=s.target,t;if(a==="script"){let i=e.getAttribute("src")?.value;typeof i=="string"&&(t=i);}else if(a==="link"&&e.getAttribute("rel")?.value==="stylesheet"){let i=e.getAttribute("href")?.value;typeof i=="string"&&(t=i);}else return;if(!t||!t.startsWith("http")||this.options.skipUrlPatterns.some(i=>t.includes(i)))return;(!e.hasAttribute("integrity")||!e.hasAttribute("crossorigin"))&&this.report({node:e,message:`Package resource is missing required "integrity" and "crossorigin" attributes: ${t}`});let r=this.db.prepare("SELECT current FROM latest_packages WHERE url = ?").get(t);if(r){r.current===0&&this.report({node:e,message:`Package is using an outdated version: ${t}`});return}this.performPackageCheck(t,e);}};c(k,"LatestPackagesRule");var b=k;var ne={requiredParameters:["subject","body"]},E=class E extends htmlValidate.Rule{constructor(s){super({...ne,...s});}static schema(){return {requiredParameters:{type:"array",items:{type:"string"},description:'An array of parameters that must be present in a mailto: link (e.g., ["subject", "body"]).'}}}documentation(){return {description:"Enforce that mailto: links contain specific parameters.",url:"https://github.com/fulldecent/html-validate-nice-checkers/blob/main/README.m#rules"}}setup(){this.on("tag:ready",s=>this.tagReady(s));}tagReady(s){let{target:e}=s;if(e.tagName!=="a")return;let a=e.getAttribute("href")?.value;if(!(typeof a!="string"||!a)&&a.startsWith("mailto:"))try{let t=new URL(a),r=this.options.requiredParameters.filter(i=>!t.searchParams.has(i));r.length>0&&this.report({node:e,message:`mailto: link is missing required parameters: ${r.join(", ")}`});}catch{this.report({node:e,message:"mailto: link is malformed and could not be parsed."});}}};c(E,"MailtoAwesomeRule");var v=E;var x=class x extends htmlValidate.Rule{documentation(){return {description:"Disallow script tag with src including jQuery",url:"https://github.com/fulldecent/html-validate-nice-checkers/blob/main/README.m#rules"}}setup(){this.on("tag:ready",s=>{let{target:e}=s;if(e.tagName!=="script")return;let a=e.getAttribute("src")?.value;typeof a!="string"||!a||a.toLowerCase().includes("jquery")&&this.report({node:e,message:"Script tag with src including jQuery is not allowed"});});}};c(x,"NoJqueryRule");var P=x;var O={"@context":{brick:"https://brickschema.org/schema/Brick#",csvw:"http://www.w3.org/ns/csvw#",dc:"http://purl.org/dc/elements/1.1/",dcam:"http://purl.org/dc/dcam/",dcat:"http://www.w3.org/ns/dcat#",dcmitype:"http://purl.org/dc/dcmitype/",dcterms:"http://purl.org/dc/terms/",doap:"http://usefulinc.com/ns/doap#",foaf:"http://xmlns.com/foaf/0.1/",odrl:"http://www.w3.org/ns/odrl/2/",org:"http://www.w3.org/ns/org#",owl:"http://www.w3.org/2002/07/owl#",prof:"http://www.w3.org/ns/dx/prof/",prov:"http://www.w3.org/ns/prov#",qb:"http://purl.org/linked-data/cube#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",schema:"https://schema.org/",sh:"http://www.w3.org/ns/shacl#",skos:"http://www.w3.org/2004/02/skos/core#",sosa:"http://www.w3.org/ns/sosa/",ssn:"http://www.w3.org/ns/ssn/",time:"http://www.w3.org/2006/time#",vann:"http://purl.org/vocab/vann/",void:"http://rdfs.org/ns/void#",xsd:"http://www.w3.org/2001/XMLSchema#"},"@graph":[{"@id":"schema:option","@type":"rdf:Property","rdfs:comment":"A sub property of object. The options subject to this action.","rdfs:label":"option","rdfs:subPropertyOf":{"@id":"schema:object"},"schema:domainIncludes":{"@id":"schema:ChooseAction"},"schema:rangeIncludes":[{"@id":"schema:Text"},{"@id":"schema:Thing"}],"schema:supersededBy":{"@id":"schema:actionOption"}},{"@id":"schema:minimumPaymentDue","@type":"rdf:Property","rdfs:comment":"The minimum payment required at this time.","rdfs:label":"minimumPaymentDue","schema:domainIncludes":{"@id":"schema:Invoice"},"schema:rangeIncludes":[{"@id":"schema:PriceSpecification"},{"@id":"schema:MonetaryAmount"}]},{"@id":"schema:DJMixAlbum","@type":"schema:MusicAlbumProductionType","rdfs:comment":"DJMixAlbum.","rdfs:label":"DJMixAlbum","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:Nonprofit501c27","@type":"schema:USNonprofitType","rdfs:comment":"Nonprofit501c27: Non-profit type referring to State-Sponsored Workers' Compensation Reinsurance Organizations.","rdfs:label":"Nonprofit501c27","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:includedDataCatalog","@type":"rdf:Property","rdfs:comment":"A data catalog which contains this dataset (this property was previously 'catalog', preferred name is now 'includedInDataCatalog').","rdfs:label":"includedDataCatalog","schema:domainIncludes":{"@id":"schema:Dataset"},"schema:rangeIncludes":{"@id":"schema:DataCatalog"},"schema:supersededBy":{"@id":"schema:includedInDataCatalog"}},{"@id":"schema:UKTrust","@type":"schema:UKNonprofitType","rdfs:comment":"UKTrust: Non-profit type referring to a UK trust.","rdfs:label":"UKTrust","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:discount","@type":"rdf:Property","rdfs:comment":"Any discount applied (to an Order).","rdfs:label":"discount","schema:domainIncludes":{"@id":"schema:Order"},"schema:rangeIncludes":[{"@id":"schema:Text"},{"@id":"schema:Number"}]},{"@id":"schema:printPage","@type":"rdf:Property","rdfs:comment":"If this NewsArticle appears in print, this field indicates the name of the page on which the article is found. Please note that this field is intended for the exact page name (e.g. A5, B18).","rdfs:label":"printPage","schema:domainIncludes":{"@id":"schema:NewsArticle"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:muscleAction","@type":"rdf:Property","rdfs:comment":"The movement the muscle generates.","rdfs:label":"muscleAction","schema:domainIncludes":{"@id":"schema:Muscle"},"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:illustrator","@type":"rdf:Property","rdfs:comment":"The illustrator of the book.","rdfs:label":"illustrator","schema:domainIncludes":{"@id":"schema:Book"},"schema:rangeIncludes":{"@id":"schema:Person"}},{"@id":"schema:contentType","@type":"rdf:Property","rdfs:comment":"The supported content type(s) for an EntryPoint response.","rdfs:label":"contentType","schema:domainIncludes":{"@id":"schema:EntryPoint"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:servesCuisine","@type":"rdf:Property","rdfs:comment":"The cuisine of the restaurant.","rdfs:label":"servesCuisine","schema:domainIncludes":{"@id":"schema:FoodEstablishment"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:distance","@type":"rdf:Property","rdfs:comment":"The distance travelled, e.g. exercising or travelling.","rdfs:label":"distance","schema:domainIncludes":[{"@id":"schema:ExerciseAction"},{"@id":"schema:TravelAction"}],"schema:rangeIncludes":{"@id":"schema:Distance"}},{"@id":"schema:containedInPlace","@type":"rdf:Property","rdfs:comment":"The basic containment relation between a place and one that contains it.","rdfs:label":"containedInPlace","schema:domainIncludes":{"@id":"schema:Place"},"schema:inverseOf":{"@id":"schema:containsPlace"},"schema:rangeIncludes":{"@id":"schema:Place"}},{"@id":"schema:ReturnAtKiosk","@type":"schema:ReturnMethodEnumeration","rdfs:comment":"Specifies that product returns must be made at a kiosk.","rdfs:label":"ReturnAtKiosk","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:broker","@type":"rdf:Property","rdfs:comment":"An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred.","rdfs:label":"broker","schema:domainIncludes":[{"@id":"schema:Order"},{"@id":"schema:Reservation"},{"@id":"schema:Service"},{"@id":"schema:Invoice"}],"schema:rangeIncludes":[{"@id":"schema:Person"},{"@id":"schema:Organization"}]},{"@id":"schema:permittedUsage","@type":"rdf:Property","rdfs:comment":"Indications regarding the permitted usage of the accommodation.","rdfs:label":"permittedUsage","schema:contributor":{"@id":"https://schema.org/docs/collab/STI_Accommodation_Ontology"},"schema:domainIncludes":{"@id":"schema:Accommodation"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:AerobicActivity","@type":"schema:PhysicalActivityCategory","rdfs:comment":"Physical activity of relatively low intensity that depends primarily on the aerobic energy-generating process; during activity, the aerobic metabolism uses oxygen to adequately meet energy demands during exercise.","rdfs:label":"AerobicActivity","schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}},{"@id":"schema:totalHistoricalEnrollment","@type":"rdf:Property","rdfs:comment":"The total number of students that have enrolled in the history of the course.","rdfs:label":"totalHistoricalEnrollment","schema:domainIncludes":{"@id":"schema:Course"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Integer"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3281"}},{"@id":"schema:WearableMeasurementHeight","@type":"schema:WearableMeasurementTypeEnumeration","rdfs:comment":"Measurement of the height, for example the heel height of a shoe.","rdfs:label":"WearableMeasurementHeight","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2811"}},{"@id":"schema:Clip","@type":"rdfs:Class","rdfs:comment":"A short TV or radio program or a segment/part of a program.","rdfs:label":"Clip","rdfs:subClassOf":{"@id":"schema:CreativeWork"}},{"@id":"schema:WatchAction","@type":"rdfs:Class","rdfs:comment":"The act of consuming dynamic/moving visual content.","rdfs:label":"WatchAction","rdfs:subClassOf":{"@id":"schema:ConsumeAction"}},{"@id":"schema:issuedBy","@type":"rdf:Property","rdfs:comment":"The organization issuing the item, for example a [[Permit]], [[Ticket]], or [[Certification]].","rdfs:label":"issuedBy","schema:domainIncludes":[{"@id":"schema:Permit"},{"@id":"schema:Ticket"},{"@id":"schema:Certification"}],"schema:rangeIncludes":{"@id":"schema:Organization"}},{"@id":"schema:DemoAlbum","@type":"schema:MusicAlbumProductionType","rdfs:comment":"DemoAlbum.","rdfs:label":"DemoAlbum","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:hasMemberProgram","@type":"rdf:Property","rdfs:comment":"MemberProgram offered by an Organization, for example an eCommerce merchant or an airline.","rdfs:label":"hasMemberProgram","schema:domainIncludes":{"@id":"schema:Organization"},"schema:rangeIncludes":{"@id":"schema:MemberProgram"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3563"}},{"@id":"schema:hasEnergyEfficiencyCategory","@type":"rdf:Property","rdfs:comment":"Defines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard.","rdfs:label":"hasEnergyEfficiencyCategory","schema:domainIncludes":{"@id":"schema:EnergyConsumptionDetails"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:EnergyEfficiencyEnumeration"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2670"}},{"@id":"schema:rangeIncludes","@type":"rdf:Property","rdfs:comment":"Relates a property to a class that constitutes (one of) the expected type(s) for values of the property.","rdfs:label":"rangeIncludes","schema:domainIncludes":{"@id":"schema:Property"},"schema:isPartOf":{"@id":"https://meta.schema.org"},"schema:rangeIncludes":{"@id":"schema:Class"}},{"@id":"schema:contentLocation","@type":"rdf:Property","rdfs:comment":"The location depicted or described in the content. For example, the location in a photograph or painting.","rdfs:label":"contentLocation","schema:domainIncludes":{"@id":"schema:CreativeWork"},"schema:rangeIncludes":{"@id":"schema:Place"}},{"@id":"schema:NonprofitANBI","@type":"schema:NLNonprofitType","rdfs:comment":"NonprofitANBI: Non-profit type referring to a Public Benefit Organization (NL).","rdfs:label":"NonprofitANBI","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:ExerciseGym","@type":"rdfs:Class","rdfs:comment":"A gym.","rdfs:label":"ExerciseGym","rdfs:subClassOf":{"@id":"schema:SportsActivityLocation"}},{"@id":"schema:MusicPlaylist","@type":"rdfs:Class","rdfs:comment":"A collection of music tracks in playlist form.","rdfs:label":"MusicPlaylist","rdfs:subClassOf":{"@id":"schema:CreativeWork"}},{"@id":"schema:weightPercentage","@type":"rdf:Property","rdfs:comment":"Fraction of the weight that is used to compute the shipping price.","rdfs:label":"weightPercentage","schema:domainIncludes":{"@id":"schema:ShippingRateSettings"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Number"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3617"}},{"@id":"schema:landlord","@type":"rdf:Property","rdfs:comment":"A sub property of participant. The owner of the real estate property.","rdfs:label":"landlord","rdfs:subPropertyOf":{"@id":"schema:participant"},"schema:domainIncludes":{"@id":"schema:RentAction"},"schema:rangeIncludes":[{"@id":"schema:Organization"},{"@id":"schema:Person"}]},{"@id":"schema:recordedAt","@type":"rdf:Property","rdfs:comment":"The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event.","rdfs:label":"recordedAt","schema:domainIncludes":{"@id":"schema:CreativeWork"},"schema:inverseOf":{"@id":"schema:recordedIn"},"schema:rangeIncludes":{"@id":"schema:Event"}},{"@id":"schema:DigitalFormat","@type":"schema:MusicReleaseFormatType","rdfs:comment":"DigitalFormat.","rdfs:label":"DigitalFormat","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:EmployeeRole","@type":"rdfs:Class","rdfs:comment":"A subclass of OrganizationRole used to describe employee relationships.","rdfs:label":"EmployeeRole","rdfs:subClassOf":{"@id":"schema:OrganizationRole"}},{"@id":"schema:RejectAction","@type":"rdfs:Class","rdfs:comment":"The act of rejecting to/adopting an object.\\n\\nRelated actions:\\n\\n* [[AcceptAction]]: The antonym of RejectAction.","rdfs:label":"RejectAction","rdfs:subClassOf":{"@id":"schema:AllocateAction"}},{"@id":"schema:MerchantReturnFiniteReturnWindow","@type":"schema:MerchantReturnEnumeration","rdfs:comment":"Specifies that there is a finite window for product returns.","rdfs:label":"MerchantReturnFiniteReturnWindow","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2288"}},{"@id":"schema:ActiveActionStatus","@type":"schema:ActionStatusType","rdfs:comment":"An in-progress action (e.g., while watching the movie, or driving to a location).","rdfs:label":"ActiveActionStatus"},{"@id":"schema:EventVenue","@type":"rdfs:Class","rdfs:comment":"An event venue.","rdfs:label":"EventVenue","rdfs:subClassOf":{"@id":"schema:CivicStructure"}},{"@id":"schema:FreeReturn","@type":"schema:ReturnFeesEnumeration","rdfs:comment":"Specifies that product returns are free of charge for the customer.","rdfs:label":"FreeReturn","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:frequency","@type":"rdf:Property","rdfs:comment":"How often the dose is taken, e.g. 'daily'.","rdfs:label":"frequency","schema:domainIncludes":{"@id":"schema:DoseSchedule"},"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:polygon","@type":"rdf:Property","rdfs:comment":"A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more space delimited points where the first and final points are identical.","rdfs:label":"polygon","schema:domainIncludes":{"@id":"schema:GeoShape"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:isTierOf","@type":"rdf:Property","rdfs:comment":"The member program this tier is a part of.","rdfs:label":"isTierOf","schema:domainIncludes":{"@id":"schema:MemberProgramTier"},"schema:inverseOf":{"@id":"schema:hasTiers"},"schema:rangeIncludes":{"@id":"schema:MemberProgram"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3563"}},{"@id":"schema:ScheduleAction","@type":"rdfs:Class","rdfs:comment":"Scheduling future actions, events, or tasks.\\n\\nRelated actions:\\n\\n* [[ReserveAction]]: Unlike ReserveAction, ScheduleAction allocates future actions (e.g. an event, a task, etc) towards a time slot / spatial allocation.","rdfs:label":"ScheduleAction","rdfs:subClassOf":{"@id":"schema:PlanAction"}},{"@id":"schema:itemDefectReturnLabelSource","@type":"rdf:Property","rdfs:comment":"The method (from an enumeration) by which the customer obtains a return shipping label for a defect product.","rdfs:label":"itemDefectReturnLabelSource","schema:domainIncludes":{"@id":"schema:MerchantReturnPolicy"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:ReturnLabelSourceEnumeration"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:MedicalCode","@type":"rdfs:Class","rdfs:comment":"A code for a medical entity.","rdfs:label":"MedicalCode","rdfs:subClassOf":[{"@id":"schema:MedicalIntangible"},{"@id":"schema:CategoryCode"}],"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}},{"@id":"schema:isInvolvedInBiologicalProcess","@type":"rdf:Property","rdfs:comment":"Biological process this BioChemEntity is involved in; please use PropertyValue if you want to include any evidence.","rdfs:label":"isInvolvedInBiologicalProcess","schema:domainIncludes":{"@id":"schema:BioChemEntity"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":[{"@id":"schema:PropertyValue"},{"@id":"schema:URL"},{"@id":"schema:DefinedTerm"}],"schema:source":{"@id":"http://www.bioschemas.org/BioChemEntity"}},{"@id":"schema:productionDate","@type":"rdf:Property","rdfs:comment":"The date of production of the item, e.g. vehicle.","rdfs:label":"productionDate","schema:contributor":{"@id":"https://schema.org/docs/collab/Automotive_Ontology_Working_Group"},"schema:domainIncludes":[{"@id":"schema:Product"},{"@id":"schema:Vehicle"}],"schema:rangeIncludes":{"@id":"schema:Date"}},{"@id":"schema:emissionsCO2","@type":"rdf:Property","rdfs:comment":'The CO2 emissions in g/km. When used in combination with a QuantitativeValue, put "g/km" into the unitText property of that value, since there is no UN/CEFACT Common Code for "g/km".',"rdfs:label":"emissionsCO2","schema:contributor":{"@id":"https://schema.org/docs/collab/Automotive_Ontology_Working_Group"},"schema:domainIncludes":{"@id":"schema:Vehicle"},"schema:isPartOf":{"@id":"https://auto.schema.org"},"schema:rangeIncludes":{"@id":"schema:Number"}},{"@id":"schema:legislationDateVersion","@type":"rdf:Property","owl:equivalentProperty":{"@id":"http://data.europa.eu/eli/ontology#version_date"},"rdfs:comment":'The point-in-time at which the provided description of the legislation is valid (e.g.: when looking at the law on the 2016-04-07 (= dateVersion), I get the consolidation of 2015-04-12 of the "National Insurance Contributions Act 2015")',"rdfs:label":"legislationDateVersion","schema:contributor":{"@id":"https://schema.org/docs/collab/ELI"},"schema:domainIncludes":{"@id":"schema:Legislation"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Date"},"schema:source":[{"@id":"https://op.europa.eu/en/web/eu-vocabularies/model/-/resource/dataset/eli"},{"@id":"https://github.com/schemaorg/schemaorg/issues/1156"}],"skos:exactMatch":{"@id":"http://data.europa.eu/eli/ontology#version_date"}},{"@id":"schema:Hotel","@type":"rdfs:Class","rdfs:comment":`A hotel is an establishment that provides lodging paid on a short-term basis (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).
|
|
18
|
+
`),e.exec(`DELETE FROM latest_packages WHERE time < unixepoch() - ${this.options.cacheExpirySeconds}`),e}performPackageCheck(s,e){let a=s.match(/cdn\.jsdelivr\.net\/npm\/(@?[^/]+)@([^/]+)/);if(!a)return;let t=a[1],r=a[2],i=`https://data.jsdelivr.com/v1/package/npm/${t}`,o=shellQuote.quote([i]),n=`curl --silent --fail --no-location --max-time ${this.options.timeoutSeconds} ${o}`;try{let d=child_process.execSync(n).toString(),m=JSON.parse(d);m&&m.tags&&Object.values(m.tags).includes(r)?this.db.prepare("REPLACE INTO latest_packages (url, current, time) VALUES (?, 1, unixepoch())").run(s):(this.db.prepare("REPLACE INTO latest_packages (url, current, time) VALUES (?, 0, unixepoch())").run(s),this.report({node:e,message:`Package "${t}" is not using a current version tag. Found "${r}", but latest is "${m.tags.latest}".`}));}catch(d){console.error(`[html-validate-latest-packages] Error checking package version for ${s}: ${d.message}`);}}tagReady(s){let{target:e}=s,{tagName:a}=s.target,t;if(a==="script"){let i=e.getAttribute("src")?.value;typeof i=="string"&&(t=i);}else if(a==="link"&&e.getAttribute("rel")?.value==="stylesheet"){let i=e.getAttribute("href")?.value;typeof i=="string"&&(t=i);}else return;if(!t||!t.startsWith("http")||this.options.skipUrlPatterns.some(i=>t.includes(i)))return;(!e.hasAttribute("integrity")||!e.hasAttribute("crossorigin"))&&this.report({node:e,message:`Package resource is missing required "integrity" and "crossorigin" attributes: ${t}`});let r=this.db.prepare("SELECT current FROM latest_packages WHERE url = ?").get(t);if(r){r.current===0&&this.report({node:e,message:`Package is using an outdated version: ${t}`});return}this.performPackageCheck(t,e);}};c(k,"LatestPackagesRule");var b=k;var ne={requiredParameters:["subject","body"]},E=class E extends htmlValidate.Rule{constructor(s){super({...ne,...s});}static schema(){return {requiredParameters:{type:"array",items:{type:"string"},description:'An array of parameters that must be present in a mailto: link (e.g., ["subject", "body"]).'}}}documentation(){return {description:"Enforce that mailto: links contain specific parameters.",url:"https://github.com/fulldecent/html-validate-nice-checkers/blob/main/README.m#rules"}}setup(){this.on("tag:ready",s=>this.tagReady(s));}tagReady(s){let{target:e}=s;if(e.tagName!=="a")return;let a=e.getAttribute("href")?.value;if(!(typeof a!="string"||!a)&&a.startsWith("mailto:"))try{let t=a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),r=new URL(t),i=this.options.requiredParameters.filter(o=>!r.searchParams.has(o));i.length>0&&this.report({node:e,message:`mailto: link is missing required parameters: ${i.join(", ")}`});}catch{this.report({node:e,message:"mailto: link is malformed and could not be parsed."});}}};c(E,"MailtoAwesomeRule");var v=E;var x=class x extends htmlValidate.Rule{documentation(){return {description:"Disallow script tag with src including jQuery",url:"https://github.com/fulldecent/html-validate-nice-checkers/blob/main/README.m#rules"}}setup(){this.on("tag:ready",s=>{let{target:e}=s;if(e.tagName!=="script")return;let a=e.getAttribute("src")?.value;typeof a!="string"||!a||a.toLowerCase().includes("jquery")&&this.report({node:e,message:"Script tag with src including jQuery is not allowed"});});}};c(x,"NoJqueryRule");var P=x;var O={"@context":{brick:"https://brickschema.org/schema/Brick#",csvw:"http://www.w3.org/ns/csvw#",dc:"http://purl.org/dc/elements/1.1/",dcam:"http://purl.org/dc/dcam/",dcat:"http://www.w3.org/ns/dcat#",dcmitype:"http://purl.org/dc/dcmitype/",dcterms:"http://purl.org/dc/terms/",doap:"http://usefulinc.com/ns/doap#",foaf:"http://xmlns.com/foaf/0.1/",odrl:"http://www.w3.org/ns/odrl/2/",org:"http://www.w3.org/ns/org#",owl:"http://www.w3.org/2002/07/owl#",prof:"http://www.w3.org/ns/dx/prof/",prov:"http://www.w3.org/ns/prov#",qb:"http://purl.org/linked-data/cube#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",schema:"https://schema.org/",sh:"http://www.w3.org/ns/shacl#",skos:"http://www.w3.org/2004/02/skos/core#",sosa:"http://www.w3.org/ns/sosa/",ssn:"http://www.w3.org/ns/ssn/",time:"http://www.w3.org/2006/time#",vann:"http://purl.org/vocab/vann/",void:"http://rdfs.org/ns/void#",xsd:"http://www.w3.org/2001/XMLSchema#"},"@graph":[{"@id":"schema:option","@type":"rdf:Property","rdfs:comment":"A sub property of object. The options subject to this action.","rdfs:label":"option","rdfs:subPropertyOf":{"@id":"schema:object"},"schema:domainIncludes":{"@id":"schema:ChooseAction"},"schema:rangeIncludes":[{"@id":"schema:Text"},{"@id":"schema:Thing"}],"schema:supersededBy":{"@id":"schema:actionOption"}},{"@id":"schema:minimumPaymentDue","@type":"rdf:Property","rdfs:comment":"The minimum payment required at this time.","rdfs:label":"minimumPaymentDue","schema:domainIncludes":{"@id":"schema:Invoice"},"schema:rangeIncludes":[{"@id":"schema:PriceSpecification"},{"@id":"schema:MonetaryAmount"}]},{"@id":"schema:DJMixAlbum","@type":"schema:MusicAlbumProductionType","rdfs:comment":"DJMixAlbum.","rdfs:label":"DJMixAlbum","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:Nonprofit501c27","@type":"schema:USNonprofitType","rdfs:comment":"Nonprofit501c27: Non-profit type referring to State-Sponsored Workers' Compensation Reinsurance Organizations.","rdfs:label":"Nonprofit501c27","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:includedDataCatalog","@type":"rdf:Property","rdfs:comment":"A data catalog which contains this dataset (this property was previously 'catalog', preferred name is now 'includedInDataCatalog').","rdfs:label":"includedDataCatalog","schema:domainIncludes":{"@id":"schema:Dataset"},"schema:rangeIncludes":{"@id":"schema:DataCatalog"},"schema:supersededBy":{"@id":"schema:includedInDataCatalog"}},{"@id":"schema:UKTrust","@type":"schema:UKNonprofitType","rdfs:comment":"UKTrust: Non-profit type referring to a UK trust.","rdfs:label":"UKTrust","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:discount","@type":"rdf:Property","rdfs:comment":"Any discount applied (to an Order).","rdfs:label":"discount","schema:domainIncludes":{"@id":"schema:Order"},"schema:rangeIncludes":[{"@id":"schema:Text"},{"@id":"schema:Number"}]},{"@id":"schema:printPage","@type":"rdf:Property","rdfs:comment":"If this NewsArticle appears in print, this field indicates the name of the page on which the article is found. Please note that this field is intended for the exact page name (e.g. A5, B18).","rdfs:label":"printPage","schema:domainIncludes":{"@id":"schema:NewsArticle"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:muscleAction","@type":"rdf:Property","rdfs:comment":"The movement the muscle generates.","rdfs:label":"muscleAction","schema:domainIncludes":{"@id":"schema:Muscle"},"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:illustrator","@type":"rdf:Property","rdfs:comment":"The illustrator of the book.","rdfs:label":"illustrator","schema:domainIncludes":{"@id":"schema:Book"},"schema:rangeIncludes":{"@id":"schema:Person"}},{"@id":"schema:contentType","@type":"rdf:Property","rdfs:comment":"The supported content type(s) for an EntryPoint response.","rdfs:label":"contentType","schema:domainIncludes":{"@id":"schema:EntryPoint"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:servesCuisine","@type":"rdf:Property","rdfs:comment":"The cuisine of the restaurant.","rdfs:label":"servesCuisine","schema:domainIncludes":{"@id":"schema:FoodEstablishment"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:distance","@type":"rdf:Property","rdfs:comment":"The distance travelled, e.g. exercising or travelling.","rdfs:label":"distance","schema:domainIncludes":[{"@id":"schema:ExerciseAction"},{"@id":"schema:TravelAction"}],"schema:rangeIncludes":{"@id":"schema:Distance"}},{"@id":"schema:containedInPlace","@type":"rdf:Property","rdfs:comment":"The basic containment relation between a place and one that contains it.","rdfs:label":"containedInPlace","schema:domainIncludes":{"@id":"schema:Place"},"schema:inverseOf":{"@id":"schema:containsPlace"},"schema:rangeIncludes":{"@id":"schema:Place"}},{"@id":"schema:ReturnAtKiosk","@type":"schema:ReturnMethodEnumeration","rdfs:comment":"Specifies that product returns must be made at a kiosk.","rdfs:label":"ReturnAtKiosk","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:broker","@type":"rdf:Property","rdfs:comment":"An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred.","rdfs:label":"broker","schema:domainIncludes":[{"@id":"schema:Order"},{"@id":"schema:Reservation"},{"@id":"schema:Service"},{"@id":"schema:Invoice"}],"schema:rangeIncludes":[{"@id":"schema:Person"},{"@id":"schema:Organization"}]},{"@id":"schema:permittedUsage","@type":"rdf:Property","rdfs:comment":"Indications regarding the permitted usage of the accommodation.","rdfs:label":"permittedUsage","schema:contributor":{"@id":"https://schema.org/docs/collab/STI_Accommodation_Ontology"},"schema:domainIncludes":{"@id":"schema:Accommodation"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:AerobicActivity","@type":"schema:PhysicalActivityCategory","rdfs:comment":"Physical activity of relatively low intensity that depends primarily on the aerobic energy-generating process; during activity, the aerobic metabolism uses oxygen to adequately meet energy demands during exercise.","rdfs:label":"AerobicActivity","schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}},{"@id":"schema:totalHistoricalEnrollment","@type":"rdf:Property","rdfs:comment":"The total number of students that have enrolled in the history of the course.","rdfs:label":"totalHistoricalEnrollment","schema:domainIncludes":{"@id":"schema:Course"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Integer"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3281"}},{"@id":"schema:WearableMeasurementHeight","@type":"schema:WearableMeasurementTypeEnumeration","rdfs:comment":"Measurement of the height, for example the heel height of a shoe.","rdfs:label":"WearableMeasurementHeight","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2811"}},{"@id":"schema:Clip","@type":"rdfs:Class","rdfs:comment":"A short TV or radio program or a segment/part of a program.","rdfs:label":"Clip","rdfs:subClassOf":{"@id":"schema:CreativeWork"}},{"@id":"schema:WatchAction","@type":"rdfs:Class","rdfs:comment":"The act of consuming dynamic/moving visual content.","rdfs:label":"WatchAction","rdfs:subClassOf":{"@id":"schema:ConsumeAction"}},{"@id":"schema:issuedBy","@type":"rdf:Property","rdfs:comment":"The organization issuing the item, for example a [[Permit]], [[Ticket]], or [[Certification]].","rdfs:label":"issuedBy","schema:domainIncludes":[{"@id":"schema:Permit"},{"@id":"schema:Ticket"},{"@id":"schema:Certification"}],"schema:rangeIncludes":{"@id":"schema:Organization"}},{"@id":"schema:DemoAlbum","@type":"schema:MusicAlbumProductionType","rdfs:comment":"DemoAlbum.","rdfs:label":"DemoAlbum","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:hasMemberProgram","@type":"rdf:Property","rdfs:comment":"MemberProgram offered by an Organization, for example an eCommerce merchant or an airline.","rdfs:label":"hasMemberProgram","schema:domainIncludes":{"@id":"schema:Organization"},"schema:rangeIncludes":{"@id":"schema:MemberProgram"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3563"}},{"@id":"schema:hasEnergyEfficiencyCategory","@type":"rdf:Property","rdfs:comment":"Defines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard.","rdfs:label":"hasEnergyEfficiencyCategory","schema:domainIncludes":{"@id":"schema:EnergyConsumptionDetails"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:EnergyEfficiencyEnumeration"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2670"}},{"@id":"schema:rangeIncludes","@type":"rdf:Property","rdfs:comment":"Relates a property to a class that constitutes (one of) the expected type(s) for values of the property.","rdfs:label":"rangeIncludes","schema:domainIncludes":{"@id":"schema:Property"},"schema:isPartOf":{"@id":"https://meta.schema.org"},"schema:rangeIncludes":{"@id":"schema:Class"}},{"@id":"schema:contentLocation","@type":"rdf:Property","rdfs:comment":"The location depicted or described in the content. For example, the location in a photograph or painting.","rdfs:label":"contentLocation","schema:domainIncludes":{"@id":"schema:CreativeWork"},"schema:rangeIncludes":{"@id":"schema:Place"}},{"@id":"schema:NonprofitANBI","@type":"schema:NLNonprofitType","rdfs:comment":"NonprofitANBI: Non-profit type referring to a Public Benefit Organization (NL).","rdfs:label":"NonprofitANBI","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2543"}},{"@id":"schema:ExerciseGym","@type":"rdfs:Class","rdfs:comment":"A gym.","rdfs:label":"ExerciseGym","rdfs:subClassOf":{"@id":"schema:SportsActivityLocation"}},{"@id":"schema:MusicPlaylist","@type":"rdfs:Class","rdfs:comment":"A collection of music tracks in playlist form.","rdfs:label":"MusicPlaylist","rdfs:subClassOf":{"@id":"schema:CreativeWork"}},{"@id":"schema:weightPercentage","@type":"rdf:Property","rdfs:comment":"Fraction of the weight that is used to compute the shipping price.","rdfs:label":"weightPercentage","schema:domainIncludes":{"@id":"schema:ShippingRateSettings"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Number"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3617"}},{"@id":"schema:landlord","@type":"rdf:Property","rdfs:comment":"A sub property of participant. The owner of the real estate property.","rdfs:label":"landlord","rdfs:subPropertyOf":{"@id":"schema:participant"},"schema:domainIncludes":{"@id":"schema:RentAction"},"schema:rangeIncludes":[{"@id":"schema:Organization"},{"@id":"schema:Person"}]},{"@id":"schema:recordedAt","@type":"rdf:Property","rdfs:comment":"The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event.","rdfs:label":"recordedAt","schema:domainIncludes":{"@id":"schema:CreativeWork"},"schema:inverseOf":{"@id":"schema:recordedIn"},"schema:rangeIncludes":{"@id":"schema:Event"}},{"@id":"schema:DigitalFormat","@type":"schema:MusicReleaseFormatType","rdfs:comment":"DigitalFormat.","rdfs:label":"DigitalFormat","schema:contributor":{"@id":"https://schema.org/docs/collab/MBZ"}},{"@id":"schema:EmployeeRole","@type":"rdfs:Class","rdfs:comment":"A subclass of OrganizationRole used to describe employee relationships.","rdfs:label":"EmployeeRole","rdfs:subClassOf":{"@id":"schema:OrganizationRole"}},{"@id":"schema:RejectAction","@type":"rdfs:Class","rdfs:comment":"The act of rejecting to/adopting an object.\\n\\nRelated actions:\\n\\n* [[AcceptAction]]: The antonym of RejectAction.","rdfs:label":"RejectAction","rdfs:subClassOf":{"@id":"schema:AllocateAction"}},{"@id":"schema:MerchantReturnFiniteReturnWindow","@type":"schema:MerchantReturnEnumeration","rdfs:comment":"Specifies that there is a finite window for product returns.","rdfs:label":"MerchantReturnFiniteReturnWindow","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2288"}},{"@id":"schema:ActiveActionStatus","@type":"schema:ActionStatusType","rdfs:comment":"An in-progress action (e.g., while watching the movie, or driving to a location).","rdfs:label":"ActiveActionStatus"},{"@id":"schema:EventVenue","@type":"rdfs:Class","rdfs:comment":"An event venue.","rdfs:label":"EventVenue","rdfs:subClassOf":{"@id":"schema:CivicStructure"}},{"@id":"schema:FreeReturn","@type":"schema:ReturnFeesEnumeration","rdfs:comment":"Specifies that product returns are free of charge for the customer.","rdfs:label":"FreeReturn","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:frequency","@type":"rdf:Property","rdfs:comment":"How often the dose is taken, e.g. 'daily'.","rdfs:label":"frequency","schema:domainIncludes":{"@id":"schema:DoseSchedule"},"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:polygon","@type":"rdf:Property","rdfs:comment":"A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more space delimited points where the first and final points are identical.","rdfs:label":"polygon","schema:domainIncludes":{"@id":"schema:GeoShape"},"schema:rangeIncludes":{"@id":"schema:Text"}},{"@id":"schema:isTierOf","@type":"rdf:Property","rdfs:comment":"The member program this tier is a part of.","rdfs:label":"isTierOf","schema:domainIncludes":{"@id":"schema:MemberProgramTier"},"schema:inverseOf":{"@id":"schema:hasTiers"},"schema:rangeIncludes":{"@id":"schema:MemberProgram"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/3563"}},{"@id":"schema:ScheduleAction","@type":"rdfs:Class","rdfs:comment":"Scheduling future actions, events, or tasks.\\n\\nRelated actions:\\n\\n* [[ReserveAction]]: Unlike ReserveAction, ScheduleAction allocates future actions (e.g. an event, a task, etc) towards a time slot / spatial allocation.","rdfs:label":"ScheduleAction","rdfs:subClassOf":{"@id":"schema:PlanAction"}},{"@id":"schema:itemDefectReturnLabelSource","@type":"rdf:Property","rdfs:comment":"The method (from an enumeration) by which the customer obtains a return shipping label for a defect product.","rdfs:label":"itemDefectReturnLabelSource","schema:domainIncludes":{"@id":"schema:MerchantReturnPolicy"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:ReturnLabelSourceEnumeration"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2880"}},{"@id":"schema:MedicalCode","@type":"rdfs:Class","rdfs:comment":"A code for a medical entity.","rdfs:label":"MedicalCode","rdfs:subClassOf":[{"@id":"schema:MedicalIntangible"},{"@id":"schema:CategoryCode"}],"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}},{"@id":"schema:isInvolvedInBiologicalProcess","@type":"rdf:Property","rdfs:comment":"Biological process this BioChemEntity is involved in; please use PropertyValue if you want to include any evidence.","rdfs:label":"isInvolvedInBiologicalProcess","schema:domainIncludes":{"@id":"schema:BioChemEntity"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":[{"@id":"schema:PropertyValue"},{"@id":"schema:URL"},{"@id":"schema:DefinedTerm"}],"schema:source":{"@id":"http://www.bioschemas.org/BioChemEntity"}},{"@id":"schema:productionDate","@type":"rdf:Property","rdfs:comment":"The date of production of the item, e.g. vehicle.","rdfs:label":"productionDate","schema:contributor":{"@id":"https://schema.org/docs/collab/Automotive_Ontology_Working_Group"},"schema:domainIncludes":[{"@id":"schema:Product"},{"@id":"schema:Vehicle"}],"schema:rangeIncludes":{"@id":"schema:Date"}},{"@id":"schema:emissionsCO2","@type":"rdf:Property","rdfs:comment":'The CO2 emissions in g/km. When used in combination with a QuantitativeValue, put "g/km" into the unitText property of that value, since there is no UN/CEFACT Common Code for "g/km".',"rdfs:label":"emissionsCO2","schema:contributor":{"@id":"https://schema.org/docs/collab/Automotive_Ontology_Working_Group"},"schema:domainIncludes":{"@id":"schema:Vehicle"},"schema:isPartOf":{"@id":"https://auto.schema.org"},"schema:rangeIncludes":{"@id":"schema:Number"}},{"@id":"schema:legislationDateVersion","@type":"rdf:Property","owl:equivalentProperty":{"@id":"http://data.europa.eu/eli/ontology#version_date"},"rdfs:comment":'The point-in-time at which the provided description of the legislation is valid (e.g.: when looking at the law on the 2016-04-07 (= dateVersion), I get the consolidation of 2015-04-12 of the "National Insurance Contributions Act 2015")',"rdfs:label":"legislationDateVersion","schema:contributor":{"@id":"https://schema.org/docs/collab/ELI"},"schema:domainIncludes":{"@id":"schema:Legislation"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Date"},"schema:source":[{"@id":"https://op.europa.eu/en/web/eu-vocabularies/model/-/resource/dataset/eli"},{"@id":"https://github.com/schemaorg/schemaorg/issues/1156"}],"skos:exactMatch":{"@id":"http://data.europa.eu/eli/ontology#version_date"}},{"@id":"schema:Hotel","@type":"rdfs:Class","rdfs:comment":`A hotel is an establishment that provides lodging paid on a short-term basis (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).
|
|
19
19
|
<br /><br />
|
|
20
20
|
See also the <a href="/docs/hotels.html">dedicated document on the use of schema.org for marking up hotels and other forms of accommodations</a>.
|
|
21
21
|
`,"rdfs:label":"Hotel","rdfs:subClassOf":{"@id":"schema:LodgingBusiness"},"schema:contributor":{"@id":"https://schema.org/docs/collab/STI_Accommodation_Ontology"}},{"@id":"schema:diet","@type":"rdf:Property","rdfs:comment":"A sub property of instrument. The diet used in this action.","rdfs:label":"diet","rdfs:subPropertyOf":{"@id":"schema:instrument"},"schema:domainIncludes":{"@id":"schema:ExerciseAction"},"schema:isPartOf":{"@id":"https://health-lifesci.schema.org"},"schema:rangeIncludes":{"@id":"schema:Diet"}},{"@id":"schema:maximumVirtualAttendeeCapacity","@type":"rdf:Property","rdfs:comment":"The maximum virtual attendee capacity of an [[Event]] whose [[eventAttendanceMode]] is [[OnlineEventAttendanceMode]] (or the online aspects, in the case of a [[MixedEventAttendanceMode]]). ","rdfs:label":"maximumVirtualAttendeeCapacity","schema:domainIncludes":{"@id":"schema:Event"},"schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:rangeIncludes":{"@id":"schema:Integer"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/1842"}},{"@id":"schema:Neuro","@type":"schema:PhysicalExam","rdfs:comment":"Neurological system clinical examination.","rdfs:label":"Neuro","schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}},{"@id":"schema:comment","@type":"rdf:Property","rdfs:comment":"Comments, typically from users.","rdfs:label":"comment","schema:domainIncludes":[{"@id":"schema:RsvpAction"},{"@id":"schema:CreativeWork"}],"schema:rangeIncludes":{"@id":"schema:Comment"}},{"@id":"schema:UnemploymentSupport","@type":"schema:GovernmentBenefitsType","rdfs:comment":"UnemploymentSupport: this is a benefit for unemployment support.","rdfs:label":"UnemploymentSupport","schema:isPartOf":{"@id":"https://pending.schema.org"},"schema:source":{"@id":"https://github.com/schemaorg/schemaorg/issues/2534"}},{"@id":"schema:hoursAvailable","@type":"rdf:Property","rdfs:comment":"The hours during which this service or contact is available.","rdfs:label":"hoursAvailable","schema:domainIncludes":[{"@id":"schema:Service"},{"@id":"schema:LocationFeatureSpecification"},{"@id":"schema:ContactPoint"}],"schema:rangeIncludes":{"@id":"schema:OpeningHoursSpecification"}},{"@id":"schema:PaymentMethod","@type":"rdfs:Class","rdfs:comment":`A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction. The following legacy values should be accepted:
|
|
@@ -518,6 +518,4 @@ or Fast and expensive: $15 in 1-2 days.`,"rdfs:label":"OfferShippingDetails","rd
|
|
|
518
518
|
See also the <a href="/docs/hotels.html">dedicated document on the use of schema.org for marking up hotels and other forms of accommodations</a>.
|
|
519
519
|
`,"rdfs:label":"HotelRoom","rdfs:subClassOf":{"@id":"schema:Room"},"schema:contributor":{"@id":"https://schema.org/docs/collab/STI_Accommodation_Ontology"}},{"@id":"schema:PercutaneousProcedure","@type":"schema:MedicalProcedureType","rdfs:comment":"A type of medical procedure that involves percutaneous techniques, where access to organs or tissue is achieved via needle-puncture of the skin. For example, catheter-based procedures like stent delivery.","rdfs:label":"PercutaneousProcedure","schema:isPartOf":{"@id":"https://health-lifesci.schema.org"}}]};var M=class M extends htmlValidate.Rule{constructor(){super();this.validClasses=new Set;this.validProperties=new Set;try{let e=O["@context"],a=e.rdfs+"Class",t=e.rdf+"Property";if(O["@graph"])for(let r of O["@graph"]){let i=Array.isArray(r["@type"])?r["@type"]:[r["@type"]];(i.includes("rdfs:Class")||i.includes(a))&&this.validClasses.add(r["rdfs:label"]),(i.includes("rdf:Property")||i.includes(t))&&this.validProperties.add(r["rdfs:label"]);}if(this.validClasses.size===0||this.validProperties.size===0)throw new Error("Schema loading resulted in zero classes or properties. The vocabulary format may have changed.")}catch(e){throw new Error(`[SchemaOrgJsonLdRule] CRITICAL: Failed to load or process schema: ${e.message}`)}}documentation(){return {description:"Validates JSON-LD against the bundled Schema.org vocabulary.",url:"https://github.com/fulldecent/html-validate-nice-checkers/blob/main/README.md#schema-org-json-ld"}}setup(){this.on("dom:ready",e=>{let{document:a,source:t}=e,r='script[type="application/ld+json"]',i=a.querySelectorAll(r);if(i.length===0)return;let o=cheerio.load(t.data);o(r).each((d,m)=>{let h=o(m).text();if(!h||h.trim()==="")return;let R=i[d],D;try{D=JSON.parse(h);}catch(B){this.report({node:R,message:`Invalid JSON syntax: ${B.message}`});return}this.validateSchemaObject(D,R,true);});});}validateSchemaObject(e,a,t){if(Array.isArray(e)){e.forEach(i=>this.validateSchemaObject(i,a,t));return}if(typeof e!="object"||e===null)return;let r=e["@type"];if(t&&!r){this.report({node:a,message:'Top-level JSON-LD object is missing required "@type" property.'});return}if(r){let i=Array.isArray(r)?r:[r];for(let o of i)this.validClasses.has(o)||this.report({node:a,message:`Schema.org type "${o}" is not a valid class.`});}for(let i in e){if(i.startsWith("@"))continue;this.validProperties.has(i)||this.report({node:a,message:`Schema.org property "${i}" is not a valid property.`});let o=e[i];typeof o=="object"&&o!==null&&this.validateSchemaObject(o,a,false);}}};c(M,"SchemaOrgJsonLdRule");var I=M;var fe={name:"nice-checkers-plugin",rules:{"nice-checkers/canonical-link":p,"nice-checkers/external-links":u,"nice-checkers/https-links":g,"nice-checkers/internal-links":y,"nice-checkers/latest-packages":b,"nice-checkers/mailto-awesome":v,"nice-checkers/no-jquery":P,"nice-checkers/schema-org-json-ld":I},configs:{recommended:{rules:{"nice-checkers/canonical-link":["error"],"nice-checkers/external-links":["error"],"nice-checkers/https-links":["error"],"nice-checkers/internal-links":["error"],"nice-checkers/latest-packages":["warn"],"nice-checkers/mailto-awesome":["error"],"nice-checkers/no-jquery":["error"],"nice-checkers/schema-org-json-ld":["error"]}}}},fs=fe;
|
|
520
520
|
module.exports=fs;//# sourceMappingURL=index.cjs.map
|
|
521
|
-
|
|
522
|
-
module.exports = exports.default;
|
|
523
521
|
//# sourceMappingURL=index.cjs.map
|