npm-package-json-lint
Version:
Configurable linter for package.json files.
2 lines (1 loc) • 1.72 kB
JavaScript
var g=Object.create;var c=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var b=(e,n)=>{for(var s in n)c(e,s,{get:n[s],enumerable:!0})},u=(e,n,s,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of y(n))!W.call(e,i)&&i!==s&&c(e,i,{get:()=>n[i],enumerable:!(t=f(n,i))||t.enumerable});return e};var h=(e,n,s)=>(s=e!=null?g(R(e)):{},u(n||!e||!e.__esModule?c(s,"default",{value:e,enumerable:!0}):s,e)),A=e=>u(c({},"__esModule",{value:!0}),e);var F={};b(F,{lint:()=>P,ruleType:()=>D});module.exports=A(F);var U=require("semver"),m=e=>typeof e=="object"&&e.hasOwnProperty("exceptions");var V=(e,n,s)=>{let t=!1,i=[],l=[];for(let d in e[n]){if(m(s)&&s.exceptions.includes(d))continue;e[n][d].startsWith("file:")?(t=!0,i.push(d)):l.push(d)}return{hasFileUrlVersions:t,dependenciesWithFileUrlVersion:i,dependenciesWithoutFileUrlVersion:l}};var o=h(require("chalk")),a=h(require("log-symbols"));var p=class{constructor(n,s,t,i){this.lintId=n,this.severity=s,this.node=t,this.lintMessage=i}toString(){let n=this.severity==="error"?a.default.error:a.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 x="no-file-devDependencies",r="devDependencies",D="optionalObject",P=(e,n,s)=>{let t=V(e,r,s);return e.hasOwnProperty(r)&&t.hasFileUrlVersions?new p(x,n,r,`You are using ${r} via url to local file. Please use ${r} from npm. Invalid ${r} include: ${t.dependenciesWithFileUrlVersion.join(", ")}`):null};0&&(module.exports={lint,ruleType});