@under_koen/bsm 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +5 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  #! /usr/bin/env node
2
- "use strict";var on=Object.create;var j=Object.defineProperty;var sn=Object.getOwnPropertyDescriptor;var cn=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var x=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var an=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cn(e))!un.call(n,i)&&i!==r&&j(n,i,{get:()=>e[i],enumerable:!(t=sn(e,i))||t.enumerable});return n};var b=(n,e,r)=>(r=n!=null?on(fn(n)):{},an(e||!n||!n.__esModule?j(r,"default",{value:n,enumerable:!0}):r,n));var Y=x((Tn,K)=>{"use strict";function ln(n,e){var r=n;e.slice(0,-1).forEach(function(i){r=r[i]||{}});var t=e[e.length-1];return t in r}function Q(n){return typeof n=="number"||/^0x[0-9a-f]+$/i.test(n)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(n)}function V(n,e){return e==="constructor"&&typeof n[e]=="function"||e==="__proto__"}K.exports=function(n,e){e||(e={});var r={bools:{},strings:{},unknownFn:null};typeof e.unknown=="function"&&(r.unknownFn=e.unknown),typeof e.boolean=="boolean"&&e.boolean?r.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(c){r.bools[c]=!0});var t={};function i(c){return t[c].some(function(d){return r.bools[d]})}Object.keys(e.alias||{}).forEach(function(c){t[c]=[].concat(e.alias[c]),t[c].forEach(function(d){t[d]=[c].concat(t[c].filter(function(A){return d!==A}))})}),[].concat(e.string).filter(Boolean).forEach(function(c){r.strings[c]=!0,t[c]&&[].concat(t[c]).forEach(function(d){r.strings[d]=!0})});var s=e.default||{},o={_:[]};function f(c,d){return r.allBools&&/^--[^=]+$/.test(d)||r.strings[c]||r.bools[c]||t[c]}function l(c,d,A){for(var a=c,U=0;U<d.length-1;U++){var T=d[U];if(V(a,T))return;a[T]===void 0&&(a[T]={}),(a[T]===Object.prototype||a[T]===Number.prototype||a[T]===String.prototype)&&(a[T]={}),a[T]===Array.prototype&&(a[T]=[]),a=a[T]}var O=d[d.length-1];V(a,O)||((a===Object.prototype||a===Number.prototype||a===String.prototype)&&(a={}),a===Array.prototype&&(a=[]),a[O]===void 0||r.bools[O]||typeof a[O]=="boolean"?a[O]=A:Array.isArray(a[O])?a[O].push(A):a[O]=[a[O],A])}function p(c,d,A){if(!(A&&r.unknownFn&&!f(c,A)&&r.unknownFn(A)===!1)){var a=!r.strings[c]&&Q(d)?Number(d):d;l(o,c.split("."),a),(t[c]||[]).forEach(function(U){l(o,U.split("."),a)})}}Object.keys(r.bools).forEach(function(c){p(c,s[c]===void 0?!1:s[c])});var y=[];n.indexOf("--")!==-1&&(y=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var I=0;I<n.length;I++){var u=n[I],E,_;if(/^--.+=/.test(u)){var G=u.match(/^--([^=]+)=([\s\S]*)$/);E=G[1];var w=G[2];r.bools[E]&&(w=w!=="false"),p(E,w,u)}else if(/^--no-.+/.test(u))E=u.match(/^--no-(.+)/)[1],p(E,!1,u);else if(/^--.+/.test(u))E=u.match(/^--(.+)/)[1],_=n[I+1],_!==void 0&&!/^(-|--)[^-]/.test(_)&&!r.bools[E]&&!r.allBools&&(!t[E]||!i(E))?(p(E,_,u),I+=1):/^(true|false)$/.test(_)?(p(E,_==="true",u),I+=1):p(E,r.strings[E]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var v=u.slice(1,-1).split(""),D=!1,S=0;S<v.length;S++){if(_=u.slice(S+2),_==="-"){p(v[S],_,u);continue}if(/[A-Za-z]/.test(v[S])&&_[0]==="="){p(v[S],_.slice(1),u),D=!0;break}if(/[A-Za-z]/.test(v[S])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(_)){p(v[S],_,u),D=!0;break}if(v[S+1]&&v[S+1].match(/\W/)){p(v[S],u.slice(S+2),u),D=!0;break}else p(v[S],r.strings[v[S]]?"":!0,u)}E=u.slice(-1)[0],!D&&E!=="-"&&(n[I+1]&&!/^(-|--)[^-]/.test(n[I+1])&&!r.bools[E]&&(!t[E]||!i(E))?(p(E,n[I+1],u),I+=1):n[I+1]&&/^(true|false)$/.test(n[I+1])?(p(E,n[I+1]==="true",u),I+=1):p(E,r.strings[E]?"":!0,u))}else if((!r.unknownFn||r.unknownFn(u)!==!1)&&o._.push(r.strings._||!Q(u)?u:Number(u)),e.stopEarly){o._.push.apply(o._,n.slice(I+1));break}}return Object.keys(s).forEach(function(c){ln(o,c.split("."))||(l(o,c.split("."),s[c]),(t[c]||[]).forEach(function(d){l(o,d.split("."),s[c])}))}),e["--"]?o["--"]=y.slice():y.forEach(function(c){o._.push(c)}),o}});var z=x((Ln,mn)=>{mn.exports=[{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]}},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var nn=x(C=>{"use strict";var k=z(),m=process.env;Object.defineProperty(C,"_vendors",{value:k.map(function(n){return n.constant})});C.name=null;C.isPR=null;k.forEach(function(n){let r=(Array.isArray(n.env)?n.env:[n.env]).every(function(t){return Z(t)});if(C[n.constant]=r,!!r)switch(C.name=n.name,typeof n.pr){case"string":C.isPR=!!m[n.pr];break;case"object":"env"in n.pr?C.isPR=n.pr.env in m&&m[n.pr.env]!==n.pr.ne:"any"in n.pr?C.isPR=n.pr.any.some(function(t){return!!m[t]}):C.isPR=Z(n.pr);break;default:C.isPR=null}});C.isCI=!!(m.CI!=="false"&&(m.BUILD_ID||m.BUILD_NUMBER||m.CI||m.CI_APP_ID||m.CI_BUILD_ID||m.CI_BUILD_NUMBER||m.CI_NAME||m.CONTINUOUS_INTEGRATION||m.RUN_ID||C.name));function Z(n){return typeof n=="string"?!!m[n]:"env"in n?m[n.env]&&m[n.env].includes(n.includes):"any"in n?n.any.some(function(e){return!!m[e]}):Object.keys(n).every(function(e){return m[e]===n[e]})}});var tn=b(Y()),h=b(require("node:fs")),B=b(require("path"));function N(n,e,r){let t=[];if(typeof r=="boolean"){if(!r)return}else if(typeof r=="string"||typeof r=="number")t.push(`${r}`);else if(Array.isArray(r))t.push(...r);else return;if(t.push(...e._),t.length===0)console.log(`
3
- \x1B[1mAvailable commands:\x1B[0m`),W(n.scripts);else for(let i of t){console.log(`
4
- \x1B[1mAvailable commands: \x1B[90m${i}\x1B[0m`);let s=i.split("."),o=[[n.scripts,[],s]];for(;o.length>0;){let f=o.shift();if(f)if(f[2].length===0)W(f[0],f[1]);else if(f[2][0]==="*"){if(typeof f[0]=="object")if(Array.isArray(f[0]))for(let l=0;l<f[0].length;l++)o.push([f[0][l],[...f[1],l.toString()],[]]);else for(let l in f[0])Object.hasOwn(f[0],l)&&o.push([f[0][l],[...f[1],l],f[2].slice(1)])}else{let l=f[2][0];if(typeof f[0]=="object")if(Array.isArray(f[0])){let p=parseInt(l);o.push([f[0][p],[...f[1],p.toString()],f[2].slice(1)])}else o.push([f[0][l],[...f[1],l],f[2].slice(1)])}}}process.exit(0)}function W(n,e=[]){if(Array.isArray(n))n.forEach((r,t)=>{P(r,[...e,t.toString()])});else if(typeof n=="object"){e.length>0&&P(n,[...e]);for(let r in n)Object.hasOwn(n,r)&&P(n[r],[...e,r])}else P(n,e)}function P(n,e){if(n===void 0){console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`);return}if(e[e.length-1]==="$description")return;let r=`\x1B[92m${e.join(".")}\x1B[90m - \x1B[0m`,t;typeof n=="string"?t=n:typeof n=="function"?t="\x1B[90m<function>\x1B[0m":Array.isArray(n)?t=`\x1B[90m[${n.length}]\x1B[0m`:Object.hasOwn(n,"$description")?t=`\x1B[90m${n.$description}\x1B[0m`:t=`\x1B[90m{${Object.keys(n).join(", ")}}\x1B[0m`,console.log(`${r}${t}`)}function F(n){return n!==null&&typeof n=="object"}function M(n,e,r=".",t){if(!F(e))return M(n,{},r,t);let i=Object.assign({},e);for(let s in n){if(s==="__proto__"||s==="constructor")continue;let o=n[s];o!=null&&(t&&t(i,s,o,r)||(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:F(o)&&F(i[s])?i[s]=M(o,i[s],(r?`${r}.`:"")+s.toString(),t):i[s]=o))}return i}function $(n){return(...e)=>e.reduce((r,t)=>M(r,t,"",n),{})}var X=$(),An=$((n,e,r)=>{if(typeof n[e]<"u"&&typeof r=="function")return n[e]=r(n[e]),!0}),On=$((n,e,r)=>{if(Array.isArray(n[e])&&typeof r=="function")return n[e]=r(n[e]),!0});var En={scripts:{},config:{allowFunction:!1}};function pn(n){return Array.isArray(n)?n[0]:n}function dn(n){return!Object.hasOwn(n,"extends")||!n.extends?[]:n.extends.map(e=>J(e,!1))}function J(n,e=!0){if(!n)return;let r=pn(n);try{r=require.resolve(r,{paths:[process.cwd()]});let t=require(r);typeof t=="function"&&(t=t(...Array.isArray(n)?n.slice(1):[]));let i=dn(t);return X(t,...i,En)}catch(t){if((t==null?void 0:t.code)==="MODULE_NOT_FOUND"){if(e)return;console.error(`\x1B[31mCannot find config '${r}' to extend\x1B[0m`),process.exit(1)}console.error(t),Array.isArray(n)&&(n=n[0]),console.error(`\x1B[31mError loading config '${n}'\x1B[0m`),process.exit(1)}}function q(n){let e=[n.config,process.env.BSM_CONFIG,"./package.scripts.js","./package.scripts.json"].filter(r=>r!==void 0);for(let r of e){let t=J(r);if(t)return process.env.BSM_CONFIG=r,t}console.error(`\x1B[31mCannot find config ${e.filter(r=>r!==void 0).map(r=>`'${r}'`).join(" or ")}\x1B[0m`),process.exit(1)}var en=b(require("node:child_process")),rn=b(nn()),g=class n{static async runScript(e,r,t,i){typeof e=="function"?await n.executeFunction(e,r,t,i):typeof e=="string"?await n.executeString(e,r,t,i):typeof e=="object"?Array.isArray(e)?await n.executeArray(e,r,t,i):await n.executeObject(e,r,t,i):n.notFound(t,i)}static notFound(e,r){r.ignoreNotFound||(console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`),process.exit(127))}static async executeFunction(e,r,t,i){var f;console.log(`> \x1B[93mExecuting JavaScript function\x1B[0m \x1B[90m(${[...t].join(".")})\x1B[0m`);let s,o=process.env;try{process.env={...process.env,...i.env},s=await e.call(null,process.argv)}catch(l){throw l instanceof Error&&(l.stack=(f=l.stack)==null?void 0:f.split(" at executeFunction")[0]),{function:l,script:t.join(".")}}finally{process.env=o}if(s==null){r.length>0&&n.notFound([...t,...r],i);return}await n.runScript(s,r,t,{...i,excludeArgs:!0})}static async executeString(e,r,t,i){var s;if(r.length>0)return n.notFound([...t,...r],i);if(!i.excludeArgs&&((s=process.argv)!=null&&s.length)&&(e+=" "+process.argv.join(" ")),console.log(`> ${e} \x1B[90m(${t.join(".")})\x1B[0m`),e!=="")return e=e.replace(/bsm ~/g,"bsm \\~"),await new Promise((o,f)=>{en.default.spawn(e,[],{stdio:"inherit",shell:!0,env:{...process.env,...i.env,BSM_PATH:t.slice(0,-1).join("."),BSM_SCRIPT:t.join(".")}}).on("close",p=>{p===0?o():f({code:p,script:t.join(".")})})})}static async executeArray(e,r,t,i){if(r.length===0||r[0]==="*"){for(let s=0;s<e.length;s++)await n.runScript(e[s],r.slice(1),[...t,s.toString()],{...i,ignoreNotFound:r[0]==="*"?!0:i.ignoreNotFound});return}else{let s=r[0],o=e[parseInt(s)];if(o===void 0)return n.notFound([...t,s],i);await n.runScript(o,r.slice(1),[...t,s],i)}}static async executeObject(e,r,t,i){var s;try{if(Object.hasOwn(e,"$env")&&(i.env={...i.env,...n.getEnv(e.$env)}),await n.executeHook(e,"_pre",t,i),r.length===0)await n.runObject(e,t,i);else if(r[0]==="*")for(let o in e)o.startsWith("_")||o.startsWith("$")||Object.hasOwn(e,o)&&await n.runScript(e[o],r.slice(1),[...t,o],{...i,ignoreNotFound:!0});else{let o=r[0];if(Object.hasOwn(e,o))await n.runScript(e[o],r.slice(1),[...t,o],i);else return n.notFound([...t,o],i)}await n.executeHook(e,"_post",t,i)}catch(o){if(process.env.BSM_ERROR=((s=o.code)==null?void 0:s.toString())??"1",await n.executeHook(e,"_onError",t,i),!await n.executeHook(e,"_catch",t,i))throw o}finally{await n.executeHook(e,"_finally",t,i)}}static getEnv(e){if(typeof e!="string"){if(typeof e=="object"&&!Array.isArray(e))return e}return{}}static async executeHook(e,r,t,i){return Object.hasOwn(e,r)?(await n.runScript(e[r],[],[...t,r],{...i,excludeArgs:!0}),!0):!1}static get _isCI(){return rn.isCI}static async runObject(e,r,t){let i=`_${process.platform}`;n._isCI&&Object.hasOwn(e,"_ci")?await n.runScript(e._ci,[],[...r,"_ci"],t):Object.hasOwn(e,i)?await n.runScript(e[i],[],[...r,i],t):Object.hasOwn(e,"_default")?await n.runScript(e._default,[],[...r,"_default"],t):n.notFound(r,t)}};var R=(0,tn.default)(process.argv.slice(2),{"--":!0});process.argv=R["--"]??[];var L=q(R);async function In(){N(L,R,R.h),N(L,R,R.help),Sn(),_n(process.env,await Cn());for(let n of R._){if(n=n.replace(/^\\~/g,"~"),n.startsWith("~")&&process.env.BSM_PATH){let e=process.env.BSM_PATH.split("."),r=H(L.scripts,e);if(r){await g.runScript(r,n.split(".").splice(1),e,{});continue}}await g.runScript(L.scripts,n.split("."),[],{})}}function Sn(){if(R._.length>0)return;let n=process.env.npm_lifecycle_event;if(n&&n!=="npx"){R._=[n.replaceAll(":",".")];return}N(L,R,!0)}function _n(n,e){if(e)if(process.platform==="win32"){if(!process.env.Path||process.env.Path.includes(e))return;n.Path=`${process.env.Path};${e}`}else{if(!process.env.PATH||process.env.PATH.includes(e))return;n.PATH=`${process.env.PATH}:${e}`}}async function Cn(){let n=process.cwd();for(;await h.promises.access(B.default.join(n,"node_modules/.bin"),h.constants.X_OK).then(()=>!1,()=>!0);){let e=B.default.join(n,"../");if(e===n)return null;n=e}return B.default.join(n,"node_modules/.bin")}function H(n,e){if(e.length===0)return n;let r=e[0];if(typeof n=="object"&&Object.hasOwn(n,r))if(Array.isArray(n)){let t=parseInt(r);return H(n[t],e.slice(1))}else return H(n[r],e.slice(1))}In().catch(n=>{n.function&&(console.error(n.function),console.error(`\x1B[31mError executing function '${n.script}'\x1B[0m`),process.exit(1)),n.code===void 0&&(console.error(n),console.error("\x1B[31mScript failed\x1B[0m"),process.exit(1)),console.error(`\x1B[31mScript failed with code ${n.code}\x1B[0m \x1B[90m(${n.script})\x1B[0m`),process.exit(n.code)});
2
+ "use strict";var rn=Object.create;var j=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var sn=Object.getPrototypeOf,cn=Object.prototype.hasOwnProperty;var w=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var fn=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of on(e))!cn.call(n,i)&&i!==r&&j(n,i,{get:()=>e[i],enumerable:!(t=tn(e,i))||t.enumerable});return n};var L=(n,e,r)=>(r=n!=null?rn(sn(n)):{},fn(e||!n||!n.__esModule?j(r,"default",{value:n,enumerable:!0}):r,n));var K=w((vn,V)=>{"use strict";function an(n,e){var r=n;e.slice(0,-1).forEach(function(i){r=r[i]||{}});var t=e[e.length-1];return t in r}function G(n){return typeof n=="number"||/^0x[0-9a-f]+$/i.test(n)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(n)}function Q(n,e){return e==="constructor"&&typeof n[e]=="function"||e==="__proto__"}V.exports=function(n,e){e||(e={});var r={bools:{},strings:{},unknownFn:null};typeof e.unknown=="function"&&(r.unknownFn=e.unknown),typeof e.boolean=="boolean"&&e.boolean?r.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(c){r.bools[c]=!0});var t={};function i(c){return t[c].some(function(m){return r.bools[m]})}Object.keys(e.alias||{}).forEach(function(c){t[c]=[].concat(e.alias[c]),t[c].forEach(function(m){t[m]=[c].concat(t[c].filter(function(A){return m!==A}))})}),[].concat(e.string).filter(Boolean).forEach(function(c){r.strings[c]=!0,t[c]&&[].concat(t[c]).forEach(function(m){r.strings[m]=!0})});var o=e.default||{},s={_:[]};function C(c,m){return r.allBools&&/^--[^=]+$/.test(m)||r.strings[c]||r.bools[c]||t[c]}function f(c,m,A){for(var l=c,g=0;g<m.length-1;g++){var T=m[g];if(Q(l,T))return;l[T]===void 0&&(l[T]={}),(l[T]===Object.prototype||l[T]===Number.prototype||l[T]===String.prototype)&&(l[T]={}),l[T]===Array.prototype&&(l[T]=[]),l=l[T]}var b=m[m.length-1];Q(l,b)||((l===Object.prototype||l===Number.prototype||l===String.prototype)&&(l={}),l===Array.prototype&&(l=[]),l[b]===void 0||r.bools[b]||typeof l[b]=="boolean"?l[b]=A:Array.isArray(l[b])?l[b].push(A):l[b]=[l[b],A])}function a(c,m,A){if(!(A&&r.unknownFn&&!C(c,A)&&r.unknownFn(A)===!1)){var l=!r.strings[c]&&G(m)?Number(m):m;f(s,c.split("."),l),(t[c]||[]).forEach(function(g){f(s,g.split("."),l)})}}Object.keys(r.bools).forEach(function(c){a(c,o[c]===void 0?!1:o[c])});var U=[];n.indexOf("--")!==-1&&(U=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var d=0;d<n.length;d++){var u=n[d],E,S;if(/^--.+=/.test(u)){var M=u.match(/^--([^=]+)=([\s\S]*)$/);E=M[1];var y=M[2];r.bools[E]&&(y=y!=="false"),a(E,y,u)}else if(/^--no-.+/.test(u))E=u.match(/^--no-(.+)/)[1],a(E,!1,u);else if(/^--.+/.test(u))E=u.match(/^--(.+)/)[1],S=n[d+1],S!==void 0&&!/^(-|--)[^-]/.test(S)&&!r.bools[E]&&!r.allBools&&(!t[E]||!i(E))?(a(E,S,u),d+=1):/^(true|false)$/.test(S)?(a(E,S==="true",u),d+=1):a(E,r.strings[E]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var _=u.slice(1,-1).split(""),N=!1,I=0;I<_.length;I++){if(S=u.slice(I+2),S==="-"){a(_[I],S,u);continue}if(/[A-Za-z]/.test(_[I])&&S[0]==="="){a(_[I],S.slice(1),u),N=!0;break}if(/[A-Za-z]/.test(_[I])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(S)){a(_[I],S,u),N=!0;break}if(_[I+1]&&_[I+1].match(/\W/)){a(_[I],u.slice(I+2),u),N=!0;break}else a(_[I],r.strings[_[I]]?"":!0,u)}E=u.slice(-1)[0],!N&&E!=="-"&&(n[d+1]&&!/^(-|--)[^-]/.test(n[d+1])&&!r.bools[E]&&(!t[E]||!i(E))?(a(E,n[d+1],u),d+=1):n[d+1]&&/^(true|false)$/.test(n[d+1])?(a(E,n[d+1]==="true",u),d+=1):a(E,r.strings[E]?"":!0,u))}else if((!r.unknownFn||r.unknownFn(u)!==!1)&&s._.push(r.strings._||!G(u)?u:Number(u)),e.stopEarly){s._.push.apply(s._,n.slice(d+1));break}}return Object.keys(o).forEach(function(c){an(s,c.split("."))||(f(s,c.split("."),o[c]),(t[c]||[]).forEach(function(m){f(s,m.split("."),o[c])}))}),e["--"]?s["--"]=U.slice():U.forEach(function(c){s._.push(c)}),s}});var J=w((Un,mn)=>{mn.exports=[{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]}},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var Z=w(v=>{"use strict";var z=J(),p=process.env;Object.defineProperty(v,"_vendors",{value:z.map(function(n){return n.constant})});v.name=null;v.isPR=null;z.forEach(function(n){let r=(Array.isArray(n.env)?n.env:[n.env]).every(function(t){return q(t)});if(v[n.constant]=r,!!r)switch(v.name=n.name,typeof n.pr){case"string":v.isPR=!!p[n.pr];break;case"object":"env"in n.pr?v.isPR=n.pr.env in p&&p[n.pr.env]!==n.pr.ne:"any"in n.pr?v.isPR=n.pr.any.some(function(t){return!!p[t]}):v.isPR=q(n.pr);break;default:v.isPR=null}});v.isCI=!!(p.CI!=="false"&&(p.BUILD_ID||p.BUILD_NUMBER||p.CI||p.CI_APP_ID||p.CI_BUILD_ID||p.CI_BUILD_NUMBER||p.CI_NAME||p.CONTINUOUS_INTEGRATION||p.RUN_ID||v.name));function q(n){return typeof n=="string"?!!p[n]:"env"in n?p[n.env]&&p[n.env].includes(n.includes):"any"in n?n.any.some(function(e){return!!p[e]}):Object.keys(n).every(function(e){return p[e]===n[e]})}});var en=L(K()),h=L(require("node:fs")),B=L(require("path"));var O=class n{static printHelp(e,r,t){let i=[];if(typeof t=="boolean"){if(!t)return}else if(typeof t=="string"||typeof t=="number")i.push(`${t}`);else if(Array.isArray(t))i.push(...t);else return;if(i.push(...r._),i.length===0)console.log(`
3
+ \x1B[1mAvailable commands:\x1B[0m`),n.printCommands(e.scripts);else for(let o of i){console.log(`
4
+ \x1B[1mAvailable commands: \x1B[90m${o}\x1B[0m`);let s=o.split("."),C=[[e.scripts,[],s]];for(;C.length>0;){let f=C.shift();if(f[2].length===0)n.printCommands(f[0],f[1]);else if(f[2][0]==="*"){if(typeof f[0]=="object")if(Array.isArray(f[0]))for(let a=0;a<f[0].length;a++)C.push([f[0][a],[...f[1],a.toString()],[]]);else for(let a in f[0])Object.hasOwn(f[0],a)&&C.push([f[0][a],[...f[1],a],f[2].slice(1)])}else{let a=f[2][0];if(typeof f[0]=="object")if(Array.isArray(f[0])){let U=parseInt(a);C.push([f[0][U],[...f[1],U.toString()],f[2].slice(1)])}else C.push([f[0][a],[...f[1],a],f[2].slice(1)])}}}process.exit(0)}static printCommands(e,r=[],t=!0){if(Array.isArray(e))e.forEach((i,o)=>{n.printCommand(i,[...r,o.toString()])});else if(typeof e=="object"){t&&r.length>0&&n.printCommand(e,[...r]);for(let i in e)Object.hasOwn(e,i)&&n.printCommand(e[i],[...r,i])}else n.printCommand(e,r)}static printCommand(e,r){if(e===void 0){console.error(`\x1B[31mScript '${r.join(".")}' not found\x1B[0m`);return}if(r[r.length-1]==="$description")return;let t=`\x1B[92m${r.join(".")}\x1B[90m - \x1B[0m`,i;typeof e=="string"?i=e:typeof e=="function"?i="\x1B[90m<function>\x1B[0m":Array.isArray(e)?i=`\x1B[90m[${e.length}]\x1B[0m`:Object.hasOwn(e,"$description")?i=`\x1B[90m${e.$description}\x1B[0m`:i=`\x1B[90m{${Object.keys(e).join(", ")}}\x1B[0m`,console.log(`${t}${i}`)}};function x(n){return n!==null&&typeof n=="object"}function F(n,e,r=".",t){if(!x(e))return F(n,{},r,t);let i=Object.assign({},e);for(let o in n){if(o==="__proto__"||o==="constructor")continue;let s=n[o];s!=null&&(t&&t(i,o,s,r)||(Array.isArray(s)&&Array.isArray(i[o])?i[o]=[...s,...i[o]]:x(s)&&x(i[o])?i[o]=F(s,i[o],(r?`${r}.`:"")+o.toString(),t):i[o]=s))}return i}function $(n){return(...e)=>e.reduce((r,t)=>F(r,t,"",n),{})}var Y=$(),Tn=$((n,e,r)=>{if(typeof n[e]<"u"&&typeof r=="function")return n[e]=r(n[e]),!0}),Rn=$((n,e,r)=>{if(Array.isArray(n[e])&&typeof r=="function")return n[e]=r(n[e]),!0});var un={scripts:{},config:{allowFunction:!1}};function ln(n){return Array.isArray(n)?n[0]:n}function En(n){return!Object.hasOwn(n,"extends")||!n.extends?[]:n.extends.map(e=>W(e,!1))}function W(n,e=!0){if(!n)return;let r=ln(n);try{r=require.resolve(r,{paths:[process.cwd()]});let t=require(r);typeof t=="function"&&(t=t(...Array.isArray(n)?n.slice(1):[]));let i=En(t);return Y(t,...i,un)}catch(t){if((t==null?void 0:t.code)==="MODULE_NOT_FOUND"){if(e)return;console.error(`\x1B[31mCannot find config '${r}' to extend\x1B[0m`),process.exit(1)}console.error(t),Array.isArray(n)&&(n=n[0]),console.error(`\x1B[31mError loading config '${n}'\x1B[0m`),process.exit(1)}}function X(n){let e=[n.config,process.env.BSM_CONFIG,"./package.scripts.js","./package.scripts.json"].filter(r=>r!==void 0);for(let r of e){let t=W(r);if(t)return process.env.BSM_CONFIG=r,t}console.error(`\x1B[31mCannot find config ${e.filter(r=>r!==void 0).map(r=>`'${r}'`).join(" or ")}\x1B[0m`),process.exit(1)}var k=L(require("node:child_process")),nn=L(Z());var D=class n{static async runScript(e,r,t,i){typeof e=="function"?await n.executeFunction(e,r,t,i):typeof e=="string"?await n.executeString(e,r,t,i):typeof e=="object"?Array.isArray(e)?await n.executeArray(e,r,t,i):await n.executeObject(e,r,t,i):n.notFound(t,i)}static notFound(e,r,t){if(!r.ignoreNotFound){if(t){let i=e[e.length-1],o=e.slice(0,-1);o.length===0?console.error(`\x1B[31mScript '${i}' does not exist\x1B[0m
5
+ `):console.error(`\x1B[31mScript '${o.join(".")}' does not have a '${i}' script\x1B[0m
6
+ `),Object.hasOwn(t,"$description")&&(O.printCommand(t,o),console.log()),console.log("\x1B[1mTry one of the following:\x1B[0m"),O.printCommands(t,o,!1)}else console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`);process.exit(127)}}static async executeFunction(e,r,t,i){var C;console.log(`> \x1B[93mExecuting JavaScript function\x1B[0m \x1B[90m(${[...t].join(".")})\x1B[0m`);let o,s=process.env;try{process.env={...process.env,...i.env},o=await e.call(null,process.argv)}catch(f){throw f instanceof Error&&(f.stack=(C=f.stack)==null?void 0:C.split(" at executeFunction")[0]),{function:f,script:t.join(".")}}finally{process.env=s}if(o==null){r.length>0&&n.notFound([...t,...r],i);return}await n.runScript(o,r,t,{...i,excludeArgs:!0})}static async executeString(e,r,t,i){var o;if(r.length>0)return n.notFound([...t,...r],i);if(!i.excludeArgs&&((o=process.argv)!=null&&o.length)&&(e+=" "+process.argv.join(" ")),console.log(`> ${e} \x1B[90m(${t.join(".")})\x1B[0m`),e!=="")return e=e.replace(/bsm ~/g,"bsm \\~"),await new Promise((s,C)=>{k.default.spawn(e,[],{stdio:"inherit",shell:!0,env:{...process.env,...i.env,BSM_PATH:t.slice(0,-1).join("."),BSM_SCRIPT:t.join(".")}}).on("close",a=>{a===0?s():C({code:a,script:t.join(".")})})})}static async executeArray(e,r,t,i){if(r.length===0||r[0]==="*"){for(let o=0;o<e.length;o++)await n.runScript(e[o],r.slice(1),[...t,o.toString()],{...i,ignoreNotFound:r[0]==="*"?!0:i.ignoreNotFound});return}else{let o=r[0],s=e[parseInt(o)];if(s===void 0)return n.notFound([...t,o],i);await n.runScript(s,r.slice(1),[...t,o],i)}}static async executeObject(e,r,t,i){var o;try{if(Object.hasOwn(e,"$env")&&(i.env={...i.env,...n.getEnv(e.$env)}),await n.executeHook(e,"_pre",t,i),r.length===0)await n.runObject(e,t,i);else if(r[0]==="*")for(let s in e)s.startsWith("_")||s.startsWith("$")||Object.hasOwn(e,s)&&await n.runScript(e[s],r.slice(1),[...t,s],{...i,ignoreNotFound:!0});else{let s=r[0];if(Object.hasOwn(e,s))await n.runScript(e[s],r.slice(1),[...t,s],i);else return n.notFound([...t,s],i,e)}await n.executeHook(e,"_post",t,i)}catch(s){if(process.env.BSM_ERROR=((o=s.code)==null?void 0:o.toString())??"1",await n.executeHook(e,"_onError",t,i),!await n.executeHook(e,"_catch",t,i))throw s}finally{await n.executeHook(e,"_finally",t,i)}}static getEnv(e){if(typeof e!="string"){if(typeof e=="object"&&!Array.isArray(e))return e}return{}}static async executeHook(e,r,t,i){return Object.hasOwn(e,r)?(await n.runScript(e[r],[],[...t,r],{...i,excludeArgs:!0}),!0):!1}static get _isCI(){return nn.isCI}static async runObject(e,r,t){let i=`_${process.platform}`;n._isCI&&Object.hasOwn(e,"_ci")?await n.runScript(e._ci,[],[...r,"_ci"],t):Object.hasOwn(e,i)?await n.runScript(e[i],[],[...r,i],t):Object.hasOwn(e,"_default")?await n.runScript(e._default,[],[...r,"_default"],t):n.notFound([...r,"_default"],t,e)}};var R=(0,en.default)(process.argv.slice(2),{"--":!0});process.argv=R["--"]??[];var P=X(R);async function pn(){O.printHelp(P,R,R.h),O.printHelp(P,R,R.help),dn(),In(process.env,await Cn());for(let n of R._){if(n=n.replace(/^\\~/g,"~"),n.startsWith("~")&&process.env.BSM_PATH){let e=process.env.BSM_PATH.split("."),r=H(P.scripts,e);if(r){await D.runScript(r,n.split(".").splice(1),e,{});continue}}await D.runScript(P.scripts,n.split("."),[],{})}}function dn(){if(R._.length>0)return;let n=process.env.npm_lifecycle_event;if(n&&n!=="npx"){R._=[n.replaceAll(":",".")];return}O.printHelp(P,R,!0)}function In(n,e){if(e)if(process.platform==="win32"){if(!process.env.Path||process.env.Path.includes(e))return;n.Path=`${process.env.Path};${e}`}else{if(!process.env.PATH||process.env.PATH.includes(e))return;n.PATH=`${process.env.PATH}:${e}`}}async function Cn(){let n=process.cwd();for(;await h.promises.access(B.default.join(n,"node_modules/.bin"),h.constants.X_OK).then(()=>!1,()=>!0);){let e=B.default.join(n,"../");if(e===n)return null;n=e}return B.default.join(n,"node_modules/.bin")}function H(n,e){if(e.length===0)return n;let r=e[0];if(typeof n=="object"&&Object.hasOwn(n,r))if(Array.isArray(n)){let t=parseInt(r);return H(n[t],e.slice(1))}else return H(n[r],e.slice(1))}pn().catch(n=>{n.function&&(console.error(n.function),console.error(`\x1B[31mError executing function '${n.script}'\x1B[0m`),process.exit(1)),n.code===void 0&&(console.error(n),console.error("\x1B[31mScript failed\x1B[0m"),process.exit(1)),console.error(`\x1B[31mScript failed with code ${n.code}\x1B[0m \x1B[90m(${n.script})\x1B[0m`),process.exit(n.code)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@under_koen/bsm",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "BSM (Basic Script Manager) is a useful tool that enables you to create clear and concise scripts without cluttering your `package.json` file.",
5
5
  "license": "MIT",
6
6
  "author": "Koen van Staveren <koen@underkoen.nl>",