UNPKG

@anolilab/package-json-utils

Version:

Shared utilities for parsing information from a package.json.

66 lines (53 loc) 3.65 kB
'use strict'; var fs = require('fs'); var g = require('module'); var path = require('path'); var process = require('process'); var dotPathValue = require('dot-path-value'); var $ = require('read-pkg-up'); var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null; function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var g__default = /*#__PURE__*/_interopDefault(g); var $__default = /*#__PURE__*/_interopDefault($); var l=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,t)=>(typeof require<"u"?require:n)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var {packageJson:o,path:u}=$__default.default.sync({cwd:fs.realpathSync(process.cwd())})??{packageJson:void 0,path:void 0},p=e=>e.split("@").includes("@")?e:`${e}@latest`,w=e=>{if(o!==void 0)return dotPathValue.getByPath(o,e)},U=e=>n=>w(`${e}.${n}`),c=e=>!!(o!==void 0&&dotPathValue.getByPath(o,e)),d=e=>n=>c(`${e}.${n}`),x=(e,n)=>n?e.every(t=>c(t)):e.some(t=>c(t)),a=e=>(n,t)=>x(n.map(r=>`${e}.${r}`),t),T=e=>!!(process.env[e]&&process.env[e]!=="undefined"),_=(e,n)=>{if(T(e))try{return JSON.parse(process.env[e]??"")}catch{return process.env[e]}return n},m=u?path.dirname(u):"",C=m,S=(...e)=>path.join(m,...e),M=(...e)=>fs.existsSync(S(...e)),G=a("scripts"),H=d("peerDependencies"),j=a("peerDependencies"),R=d("dependencies"),J=a("dependencies"),V=d("devDependencies"),q=a("devDependencies"),K=(e,n)=>[J,q,n?.peerDeps===!1?()=>!1:j].some(t=>t(e,n?.strict)),Q=(R("typescript")||V("typescript"))&&M("tsconfig.json"),A=x(["type"])&&o?.type==="module",B=e=>{if(process.versions.pnp){let n=(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('out.js', document.baseURI).href)),r=g__default.default.findPnpApi(n).resolveRequest(e,n);if(r)return r}else if(A){let n=(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('out.js', document.baseURI).href));try{return g__default.default.createRequire(n).resolve(e)}catch{return}}try{return l.resolve(e)}catch{return}},W=e=>B(e)!==void 0,X=(e,n,t={})=>{let r=n.length===1?"":"s";console[t.consoleType??"warn"](` ${t.preMessage??""} ${e} could not find the following package${r} ${n.join(` `)} To install the missing package${r}, please run the following command: npm install ${n.map(s=>p(s)).join(" ")} --save-dev or yarn add ${n.map(s=>p(s)).join(" ")} --dev or pnpm add ${n.map(s=>p(s)).join(" ")} -D ${t.postMessage??""} `),(process.env.NODE_ENV!=="test"||t.exit===!0)&&process.exit(1);},Y=e=>[...new Set(e)],Z=o; exports.appDirectory = C; exports.environmentIsSet = T; exports.fromRoot = S; exports.getPackageProperty = w; exports.getPackageSubProperty = U; exports.hasAnyDep = K; exports.hasDependencies = J; exports.hasDependency = R; exports.hasDevDependencies = q; exports.hasDevDependency = V; exports.hasFile = M; exports.hasPackageProperties = x; exports.hasPackageProperty = c; exports.hasPackageSubProperties = a; exports.hasPackageSubProperty = d; exports.hasPeerDependencies = j; exports.hasPeerDependency = H; exports.hasScripts = G; exports.hasTypescript = Q; exports.isPackageAvailable = W; exports.packageIsTypeModule = A; exports.parseEnvironment = _; exports.pkg = Z; exports.projectPath = m; exports.resolvePackage = B; exports.showMissingPackages = X; exports.unique = Y; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.js.map