npm-package-json-lint
Version:
Configurable linter for package.json files.
2 lines (1 loc) • 2.21 kB
JavaScript
var b=Object.create;var l=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var O=(e,n)=>{for(var s in n)l(e,s,{get:n[s],enumerable:!0})},g=(e,n,s,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of x(n))!D.call(e,i)&&i!==s&&l(e,i,{get:()=>n[i],enumerable:!(t=A(n,i))||t.enumerable});return e};var y=(e,n,s)=>(s=e!=null?b(m(e)):{},g(n||!e||!e.__esModule?l(s,"default",{value:e,enumerable:!0}):s,e)),F=e=>g(l({},"__esModule",{value:!0}),e);var C={};O(C,{lint:()=>M,ruleType:()=>I});module.exports=F(C);var k=require("semver"),P=e=>typeof e=="object"&&e.hasOwnProperty("exceptions");var v=(e,n,s)=>{let d=!0,c=0,V=[],f=[];for(let p in e[n]){if(P(s)&&s.exceptions.includes(p))continue;let r=e[n][p];r.startsWith("^",0)||r.startsWith("~",0)||r.startsWith(">",0)||r.startsWith("<",0)||r.indexOf("*")!==-1?(d=!1,f.push(p)):V.push(p),c+=1}return{onlyAbsoluteVersionDetected:d,dependenciesChecked:c,dependenciesWithAbsoluteVersion:V,dependenciesWithoutAbsoluteVersion:f}};var W=(e,n,s)=>{let{onlyAbsoluteVersionDetected:t,dependenciesChecked:i,dependenciesWithAbsoluteVersion:d,dependenciesWithoutAbsoluteVersion:c}=v(e,n,s);return{onlyNonAbsoluteVersionsDetected:i>0?!t:!1,dependenciesWithAbsoluteVersion:d,dependenciesWithoutAbsoluteVersion:c}};var U=require("jsonc-parser"),R=(e,n)=>e.hasOwnProperty(n);var o=y(require("chalk")),h=y(require("log-symbols"));var a=class{constructor(n,s,t,i){this.lintId=n,this.severity=s,this.node=t,this.lintMessage=i}toString(){let n=this.severity==="error"?h.default.error:h.default.warning,s=o.default.cyan.bold(this.lintId),t=o.default.magenta.bold(this.node),i=this.severity==="error"?o.default.red.bold(this.lintMessage):o.default.yellow(this.lintMessage);return`${n} ${s} - node: ${t} - ${i}`}};var j="prefer-absolute-version-devDependencies",u="devDependencies",I="optionalObject",M=(e,n,s)=>{let t=W(e,u,s);return R(e,u)&&t.onlyNonAbsoluteVersionsDetected?new a(j,n,u,`You are using an invalid version range. Please use absolute versions. Invalid ${u} include: ${t.dependenciesWithoutAbsoluteVersion.join(", ")}`):null};0&&(module.exports={lint,ruleType});