UNPKG

npm-package-json-lint

Version:
2 lines (1 loc) 2.04 kB
var f=Object.create;var c=Object.defineProperty;var y=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=y(n,i))||t.enumerable});return e};var V=(e,n,s)=>(s=e!=null?f(W(e)):{},h(n||!e||!e.__esModule?c(s,"default",{value:e,enumerable:!0}):s,e)),m=e=>h(c({},"__esModule",{value:!0}),e);var M={};A(M,{lint:()=>j,ruleType:()=>U});module.exports=m(M);var I=require("semver"),x=e=>typeof e=="object"&&e.hasOwnProperty("exceptions");var D=/^(github:)?[^/]+\/[^/]+/,P=e=>D.test(e),F=e=>e.endsWith(".tgz")||e.endsWith(".tar.gz")||e.endsWith(".zip"),O=e=>{if(F(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},g=(e,n,s)=>{let t=!1,i=[],l=[];for(let d in e[n]){if(x(s)&&s.exceptions.includes(d))continue;let u=e[n][d];O(u)||P(u)?(t=!0,i.push(d)):l.push(d)}return{hasGitRepositoryVersions:t,dependenciesWithGitRepositoryVersion:i,dependenciesWithoutGitRepositoryVersion:l}};var r=V(require("chalk")),a=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"?a.default.error:a.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=g(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});