npm-package-json-lint
Version:
Configurable linter for package.json files.
2 lines (1 loc) • 2.04 kB
JavaScript
var y=Object.create;var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var A=(e,n)=>{for(var s in n)c(e,s,{get:n[s],enumerable:!0})},h=(e,n,s,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of R(n))!b.call(e,i)&&i!==s&&c(e,i,{get:()=>n[i],enumerable:!(t=g(n,i))||t.enumerable});return e};var V=(e,n,s)=>(s=e!=null?y(W(e)):{},h(n||!e||!e.__esModule?c(s,"default",{value:e,enumerable:!0}):s,e)),x=e=>h(c({},"__esModule",{value:!0}),e);var I={};A(I,{lint:()=>j,ruleType:()=>U});module.exports=x(I);var M=require("semver"),D=e=>typeof e=="object"&&e.hasOwnProperty("exceptions");var O=/^(github:)?[^/]+\/[^/]+/,F=e=>O.test(e),m=e=>e.endsWith(".tgz")||e.endsWith(".tar.gz")||e.endsWith(".zip"),P=e=>{if(m(e))return!1;let n=new Set(["git@","git://","git+https://","git+ssh://","http://","https://"]),s=!1;for(let t of n)if(e.startsWith(t)){s=!0;break}return s},f=(e,n,s)=>{let t=!1,i=[],a=[];for(let d in e[n]){if(D(s)&&s.exceptions.includes(d))continue;let u=e[n][d];P(u)||F(u)?(t=!0,i.push(d)):a.push(d)}return{hasGitRepositoryVersions:t,dependenciesWithGitRepositoryVersion:i,dependenciesWithoutGitRepositoryVersion:a}};var r=V(require("chalk")),l=V(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"?l.default.error:l.default.warning,s=r.default.cyan.bold(this.lintId),t=r.default.magenta.bold(this.node),i=this.severity==="error"?r.default.red.bold(this.lintMessage):r.default.yellow(this.lintMessage);return`${n} ${s} - node: ${t} - ${i}`}};var v="no-git-devDependencies",o="devDependencies",U="optionalObject",j=(e,n,s)=>{let t=f(e,o,s);return e.hasOwnProperty(o)&&t.hasGitRepositoryVersions?new p(v,n,o,`You are using ${o} from git repository. Please use ${o} from npm. Invalid devDependencies include: ${t.dependenciesWithGitRepositoryVersion.join(", ")}`):null};0&&(module.exports={lint,ruleType});