@under_koen/bsm 1.0.0 → 1.0.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.
package/README.md CHANGED
@@ -492,6 +492,20 @@ bsm test
492
492
 
493
493
  The above command will execute `echo Hello World!`.
494
494
 
495
+ ## Trouble shooting
496
+
497
+ ### `Script '/home/runner' not found`
498
+
499
+ When using a unix based OS, you might get the following error:
500
+
501
+ ```bash
502
+ Script '{home}' not found
503
+ ```
504
+
505
+ This is caused by the `~` prefix being expanded by the shell.
506
+ You can fix this by using `bsm \~` instead of `bsm ~`.
507
+ In version `1.0.1` and above we try to detect this and fix it automatically.
508
+
495
509
  ## Future plans
496
510
 
497
511
  - [ ] Have support for workspaces / lerna
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
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,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cn(e))!un.call(n,i)&&i!==t&&j(n,i,{get:()=>e[i],enumerable:!(r=sn(e,i))||r.enumerable});return n};var b=(n,e,t)=>(t=n!=null?on(fn(n)):{},an(e||!n||!n.__esModule?j(t,"default",{value:n,enumerable:!0}):t,n));var Y=x((Tn,K)=>{"use strict";function ln(n,e){var t=n;e.slice(0,-1).forEach(function(i){t=t[i]||{}});var r=e[e.length-1];return r in t}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 t={bools:{},strings:{},unknownFn:null};typeof e.unknown=="function"&&(t.unknownFn=e.unknown),typeof e.boolean=="boolean"&&e.boolean?t.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(c){t.bools[c]=!0});var r={};function i(c){return r[c].some(function(d){return t.bools[d]})}Object.keys(e.alias||{}).forEach(function(c){r[c]=[].concat(e.alias[c]),r[c].forEach(function(d){r[d]=[c].concat(r[c].filter(function(v){return d!==v}))})}),[].concat(e.string).filter(Boolean).forEach(function(c){t.strings[c]=!0,r[c]&&[].concat(r[c]).forEach(function(d){t.strings[d]=!0})});var s=e.default||{},o={_:[]};function f(c,d){return t.allBools&&/^--[^=]+$/.test(d)||t.strings[c]||t.bools[c]||r[c]}function p(c,d,v){for(var a=c,O=0;O<d.length-1;O++){var R=d[O];if(V(a,R))return;a[R]===void 0&&(a[R]={}),(a[R]===Object.prototype||a[R]===Number.prototype||a[R]===String.prototype)&&(a[R]={}),a[R]===Array.prototype&&(a[R]=[]),a=a[R]}var A=d[d.length-1];V(a,A)||((a===Object.prototype||a===Number.prototype||a===String.prototype)&&(a={}),a===Array.prototype&&(a=[]),a[A]===void 0||t.bools[A]||typeof a[A]=="boolean"?a[A]=v:Array.isArray(a[A])?a[A].push(v):a[A]=[a[A],v])}function E(c,d,v){if(!(v&&t.unknownFn&&!f(c,v)&&t.unknownFn(v)===!1)){var a=!t.strings[c]&&Q(d)?Number(d):d;p(o,c.split("."),a),(r[c]||[]).forEach(function(O){p(o,O.split("."),a)})}}Object.keys(t.bools).forEach(function(c){E(c,s[c]===void 0?!1:s[c])});var w=[];n.indexOf("--")!==-1&&(w=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var I=0;I<n.length;I++){var u=n[I],l,C;if(/^--.+=/.test(u)){var G=u.match(/^--([^=]+)=([\s\S]*)$/);l=G[1];var y=G[2];t.bools[l]&&(y=y!=="false"),E(l,y,u)}else if(/^--no-.+/.test(u))l=u.match(/^--no-(.+)/)[1],E(l,!1,u);else if(/^--.+/.test(u))l=u.match(/^--(.+)/)[1],C=n[I+1],C!==void 0&&!/^(-|--)[^-]/.test(C)&&!t.bools[l]&&!t.allBools&&(!r[l]||!i(l))?(E(l,C,u),I+=1):/^(true|false)$/.test(C)?(E(l,C==="true",u),I+=1):E(l,t.strings[l]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var T=u.slice(1,-1).split(""),g=!1,S=0;S<T.length;S++){if(C=u.slice(S+2),C==="-"){E(T[S],C,u);continue}if(/[A-Za-z]/.test(T[S])&&C[0]==="="){E(T[S],C.slice(1),u),g=!0;break}if(/[A-Za-z]/.test(T[S])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(C)){E(T[S],C,u),g=!0;break}if(T[S+1]&&T[S+1].match(/\W/)){E(T[S],u.slice(S+2),u),g=!0;break}else E(T[S],t.strings[T[S]]?"":!0,u)}l=u.slice(-1)[0],!g&&l!=="-"&&(n[I+1]&&!/^(-|--)[^-]/.test(n[I+1])&&!t.bools[l]&&(!r[l]||!i(l))?(E(l,n[I+1],u),I+=1):n[I+1]&&/^(true|false)$/.test(n[I+1])?(E(l,n[I+1]==="true",u),I+=1):E(l,t.strings[l]?"":!0,u))}else if((!t.unknownFn||t.unknownFn(u)!==!1)&&o._.push(t.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("."))||(p(o,c.split("."),s[c]),(r[c]||[]).forEach(function(d){p(o,d.split("."),s[c])}))}),e["--"]?o["--"]=w.slice():w.forEach(function(c){o._.push(c)}),o}});var z=x((Ln,pn)=>{pn.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(_=>{"use strict";var k=z(),m=process.env;Object.defineProperty(_,"_vendors",{value:k.map(function(n){return n.constant})});_.name=null;_.isPR=null;k.forEach(function(n){let t=(Array.isArray(n.env)?n.env:[n.env]).every(function(r){return Z(r)});if(_[n.constant]=t,!!t)switch(_.name=n.name,typeof n.pr){case"string":_.isPR=!!m[n.pr];break;case"object":"env"in n.pr?_.isPR=n.pr.env in m&&m[n.pr.env]!==n.pr.ne:"any"in n.pr?_.isPR=n.pr.any.some(function(r){return!!m[r]}):_.isPR=Z(n.pr);break;default:_.isPR=null}});_.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||_.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 rn=b(Y()),h=b(require("node:fs")),B=b(require("path"));function N(n,e,t){let r=[];if(typeof t=="boolean"){if(!t)return}else if(typeof t=="string"||typeof t=="number")r.push(`${t}`);else if(Array.isArray(t))r.push(...t);else return;if(r.push(...e._),r.length===0)console.log(`
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,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cn(e))!un.call(n,i)&&i!==t&&j(n,i,{get:()=>e[i],enumerable:!(r=sn(e,i))||r.enumerable});return n};var b=(n,e,t)=>(t=n!=null?on(fn(n)):{},an(e||!n||!n.__esModule?j(t,"default",{value:n,enumerable:!0}):t,n));var Y=x((Tn,K)=>{"use strict";function ln(n,e){var t=n;e.slice(0,-1).forEach(function(i){t=t[i]||{}});var r=e[e.length-1];return r in t}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 t={bools:{},strings:{},unknownFn:null};typeof e.unknown=="function"&&(t.unknownFn=e.unknown),typeof e.boolean=="boolean"&&e.boolean?t.allBools=!0:[].concat(e.boolean).filter(Boolean).forEach(function(c){t.bools[c]=!0});var r={};function i(c){return r[c].some(function(m){return t.bools[m]})}Object.keys(e.alias||{}).forEach(function(c){r[c]=[].concat(e.alias[c]),r[c].forEach(function(m){r[m]=[c].concat(r[c].filter(function(v){return m!==v}))})}),[].concat(e.string).filter(Boolean).forEach(function(c){t.strings[c]=!0,r[c]&&[].concat(r[c]).forEach(function(m){t.strings[m]=!0})});var s=e.default||{},o={_:[]};function f(c,m){return t.allBools&&/^--[^=]+$/.test(m)||t.strings[c]||t.bools[c]||r[c]}function p(c,m,v){for(var a=c,O=0;O<m.length-1;O++){var R=m[O];if(V(a,R))return;a[R]===void 0&&(a[R]={}),(a[R]===Object.prototype||a[R]===Number.prototype||a[R]===String.prototype)&&(a[R]={}),a[R]===Array.prototype&&(a[R]=[]),a=a[R]}var A=m[m.length-1];V(a,A)||((a===Object.prototype||a===Number.prototype||a===String.prototype)&&(a={}),a===Array.prototype&&(a=[]),a[A]===void 0||t.bools[A]||typeof a[A]=="boolean"?a[A]=v:Array.isArray(a[A])?a[A].push(v):a[A]=[a[A],v])}function E(c,m,v){if(!(v&&t.unknownFn&&!f(c,v)&&t.unknownFn(v)===!1)){var a=!t.strings[c]&&Q(m)?Number(m):m;p(o,c.split("."),a),(r[c]||[]).forEach(function(O){p(o,O.split("."),a)})}}Object.keys(t.bools).forEach(function(c){E(c,s[c]===void 0?!1:s[c])});var w=[];n.indexOf("--")!==-1&&(w=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var I=0;I<n.length;I++){var u=n[I],l,C;if(/^--.+=/.test(u)){var G=u.match(/^--([^=]+)=([\s\S]*)$/);l=G[1];var y=G[2];t.bools[l]&&(y=y!=="false"),E(l,y,u)}else if(/^--no-.+/.test(u))l=u.match(/^--no-(.+)/)[1],E(l,!1,u);else if(/^--.+/.test(u))l=u.match(/^--(.+)/)[1],C=n[I+1],C!==void 0&&!/^(-|--)[^-]/.test(C)&&!t.bools[l]&&!t.allBools&&(!r[l]||!i(l))?(E(l,C,u),I+=1):/^(true|false)$/.test(C)?(E(l,C==="true",u),I+=1):E(l,t.strings[l]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var T=u.slice(1,-1).split(""),D=!1,S=0;S<T.length;S++){if(C=u.slice(S+2),C==="-"){E(T[S],C,u);continue}if(/[A-Za-z]/.test(T[S])&&C[0]==="="){E(T[S],C.slice(1),u),D=!0;break}if(/[A-Za-z]/.test(T[S])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(C)){E(T[S],C,u),D=!0;break}if(T[S+1]&&T[S+1].match(/\W/)){E(T[S],u.slice(S+2),u),D=!0;break}else E(T[S],t.strings[T[S]]?"":!0,u)}l=u.slice(-1)[0],!D&&l!=="-"&&(n[I+1]&&!/^(-|--)[^-]/.test(n[I+1])&&!t.bools[l]&&(!r[l]||!i(l))?(E(l,n[I+1],u),I+=1):n[I+1]&&/^(true|false)$/.test(n[I+1])?(E(l,n[I+1]==="true",u),I+=1):E(l,t.strings[l]?"":!0,u))}else if((!t.unknownFn||t.unknownFn(u)!==!1)&&o._.push(t.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("."))||(p(o,c.split("."),s[c]),(r[c]||[]).forEach(function(m){p(o,m.split("."),s[c])}))}),e["--"]?o["--"]=w.slice():w.forEach(function(c){o._.push(c)}),o}});var z=x((Ln,pn)=>{pn.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(_=>{"use strict";var k=z(),d=process.env;Object.defineProperty(_,"_vendors",{value:k.map(function(n){return n.constant})});_.name=null;_.isPR=null;k.forEach(function(n){let t=(Array.isArray(n.env)?n.env:[n.env]).every(function(r){return Z(r)});if(_[n.constant]=t,!!t)switch(_.name=n.name,typeof n.pr){case"string":_.isPR=!!d[n.pr];break;case"object":"env"in n.pr?_.isPR=n.pr.env in d&&d[n.pr.env]!==n.pr.ne:"any"in n.pr?_.isPR=n.pr.any.some(function(r){return!!d[r]}):_.isPR=Z(n.pr);break;default:_.isPR=null}});_.isCI=!!(d.CI!=="false"&&(d.BUILD_ID||d.BUILD_NUMBER||d.CI||d.CI_APP_ID||d.CI_BUILD_ID||d.CI_BUILD_NUMBER||d.CI_NAME||d.CONTINUOUS_INTEGRATION||d.RUN_ID||_.name));function Z(n){return typeof n=="string"?!!d[n]:"env"in n?d[n.env]&&d[n.env].includes(n.includes):"any"in n?n.any.some(function(e){return!!d[e]}):Object.keys(n).every(function(e){return d[e]===n[e]})}});var rn=b(Y()),h=b(require("node:fs")),B=b(require("path"));function N(n,e,t){let r=[];if(typeof t=="boolean"){if(!t)return}else if(typeof t=="string"||typeof t=="number")r.push(`${t}`);else if(Array.isArray(t))r.push(...t);else return;if(r.push(...e._),r.length===0)console.log(`
3
3
  \x1B[1mAvailable commands:\x1B[0m`),W(n.scripts);else for(let i of r){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 p=0;p<f[0].length;p++)o.push([f[0][p],[...f[1],p.toString()],[]]);else for(let p in f[0])Object.hasOwn(f[0],p)&&o.push([f[0][p],[...f[1],p],f[2].slice(1)])}else{let p=f[2][0];if(typeof f[0]=="object")if(Array.isArray(f[0])){let E=parseInt(p);o.push([f[0][E],[...f[1],E.toString()],f[2].slice(1)])}else o.push([f[0][p],[...f[1],p],f[2].slice(1)])}}}process.exit(0)}function W(n,e=[]){if(Array.isArray(n))n.forEach((t,r)=>{P(t,[...e,r.toString()])});else if(typeof n=="object"){e.length>0&&P(n,[...e]);for(let t in n)Object.hasOwn(n,t)&&P(n[t],[...e,t])}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 t=`\x1B[92m${e.join(".")}\x1B[90m - \x1B[0m`,r;typeof n=="string"?r=n:typeof n=="function"?r="\x1B[90m<function>\x1B[0m":Array.isArray(n)?r=`\x1B[90m[${n.length}]\x1B[0m`:Object.hasOwn(n,"$description")?r=`\x1B[90m${n.$description}\x1B[0m`:r=`\x1B[90m{${Object.keys(n).join(", ")}}\x1B[0m`,console.log(`${t}${r}`)}function F(n){return n!==null&&typeof n=="object"}function M(n,e,t=".",r){if(!F(e))return M(n,{},t,r);let i=Object.assign({},e);for(let s in n){if(s==="__proto__"||s==="constructor")continue;let o=n[s];o!=null&&(r&&r(i,s,o,t)||(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:F(o)&&F(i[s])?i[s]=M(o,i[s],(t?`${t}.`:"")+s.toString(),r):i[s]=o))}return i}function H(n){return(...e)=>e.reduce((t,r)=>M(t,r,"",n),{})}var X=H(),vn=H((n,e,t)=>{if(typeof n[e]<"u"&&typeof t=="function")return n[e]=t(n[e]),!0}),An=H((n,e,t)=>{if(Array.isArray(n[e])&&typeof t=="function")return n[e]=t(n[e]),!0});var En={scripts:{},config:{allowFunction:!1}};function dn(n){return Array.isArray(n)?n[0]:n}function mn(n){return!Object.hasOwn(n,"extends")||!n.extends?[]:n.extends.map(e=>J(e,!1))}function J(n,e=!0){if(!n)return;let t=dn(n);try{t=require.resolve(t,{paths:[process.cwd()]});let r=require(t);typeof r=="function"&&(r=r(...Array.isArray(n)?n.slice(1):[]));let i=mn(r);return X(r,...i,En)}catch(r){if((r==null?void 0:r.code)==="MODULE_NOT_FOUND"){if(e)return;console.error(`\x1B[31mCannot find config '${t}' to extend\x1B[0m`),process.exit(1)}console.error(r),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(t=>t!==void 0);for(let t of e){let r=J(t);if(r)return process.env.BSM_CONFIG=t,r}console.error(`\x1B[31mCannot find config ${e.filter(t=>t!==void 0).map(t=>`'${t}'`).join(" or ")}\x1B[0m`),process.exit(1)}var en=b(require("node:child_process")),tn=b(nn()),L=class n{static async runScript(e,t,r,i){typeof e=="function"?await n.executeFunction(e,t,r,i):typeof e=="string"?await n.executeString(e,t,r,i):typeof e=="object"?Array.isArray(e)?await n.executeArray(e,t,r,i):await n.executeObject(e,t,r,i):n.notFound(r,i)}static notFound(e,t){t.ignoreNotFound||(console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`),process.exit(127))}static async executeFunction(e,t,r,i){var o;console.log(`> \x1B[93mExecuting JavaScript function\x1B[0m \x1B[90m(${[...r].join(".")})\x1B[0m`);let s;try{s=await e.call(null,process.argv)}catch(f){throw f instanceof Error&&(f.stack=(o=f.stack)==null?void 0:o.split(" at executeFunction")[0]),{function:f,script:r.join(".")}}if(s==null){t.length>0&&n.notFound([...r,...t],i);return}await n.runScript(s,t,r,{...i,excludeArgs:!0})}static async executeString(e,t,r,i){var s;if(t.length>0)return n.notFound([...r,...t],i);if(!i.excludeArgs&&((s=process.argv)!=null&&s.length)&&(e+=" "+process.argv.join(" ")),console.log(`> ${e} \x1B[90m(${r.join(".")})\x1B[0m`),e!=="")return await new Promise((o,f)=>{en.default.spawn(e,[],{stdio:"inherit",shell:!0,env:{...process.env,BSM_PATH:r.slice(0,-1).join("."),BSM_SCRIPT:r.join(".")}}).on("close",E=>{E===0?o():f({code:E,script:r.join(".")})})})}static async executeArray(e,t,r,i){if(t.length===0||t[0]==="*"){for(let s=0;s<e.length;s++)await n.runScript(e[s],t.slice(1),[...r,s.toString()],{...i,ignoreNotFound:t[0]==="*"?!0:i.ignoreNotFound});return}else{let s=t[0],o=e[parseInt(s)];if(o===void 0)return n.notFound([...r,s],i);await n.runScript(o,t.slice(1),[...r,s],i)}}static async executeObject(e,t,r,i){var s;try{if(await n.executeHook(e,"_pre",r,i),t.length===0)await n.runObject(e,r,i);else if(t[0]==="*")for(let o in e)o.startsWith("_")||o.startsWith("$")||Object.hasOwn(e,o)&&await n.runScript(e[o],t.slice(1),[...r,o],{...i,ignoreNotFound:!0});else{let o=t[0];if(Object.hasOwn(e,o))await n.runScript(e[o],t.slice(1),[...r,o],i);else return n.notFound([...r,o],i)}await n.executeHook(e,"_post",r,i)}catch(o){if(process.env.BSM_ERROR=((s=o.code)==null?void 0:s.toString())??"1",await n.executeHook(e,"_onError",r,i),!await n.executeHook(e,"_catch",r,i))throw o}finally{await n.executeHook(e,"_finally",r,i)}}static async executeHook(e,t,r,i){return Object.hasOwn(e,t)?(await n.runScript(e[t],[],[...r,t],{...i,excludeArgs:!0}),!0):!1}static get _isCI(){return tn.isCI}static async runObject(e,t,r){let i=`_${process.platform}`;n._isCI&&Object.hasOwn(e,"_ci")?await n.runScript(e._ci,[],[...t,"_ci"],r):Object.hasOwn(e,i)?await n.runScript(e[i],[],[...t,i],r):Object.hasOwn(e,"_default")?await n.runScript(e._default,[],[...t,"_default"],r):n.notFound(t,r)}};var U=(0,rn.default)(process.argv.slice(2),{"--":!0});process.argv=U["--"]??[];var D=q(U);async function In(){N(D,U,U.h),N(D,U,U.help),N(D,U,U._.length===0),Sn(process.env,await Cn());for(let n of U._){if(n.startsWith("~")&&process.env.BSM_PATH){let e=process.env.BSM_PATH.split("."),t=$(D.scripts,e);if(t){await L.runScript(t,n.split(".").splice(1),e,{});continue}}await L.runScript(D.scripts,n.split("."),[],{})}}function Sn(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 $(n,e){if(e.length===0)return n;let t=e[0];if(typeof n=="object"&&Object.hasOwn(n,t))if(Array.isArray(n)){let r=parseInt(t);return $(n[r],e.slice(1))}else return $(n[t],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)});
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 p=0;p<f[0].length;p++)o.push([f[0][p],[...f[1],p.toString()],[]]);else for(let p in f[0])Object.hasOwn(f[0],p)&&o.push([f[0][p],[...f[1],p],f[2].slice(1)])}else{let p=f[2][0];if(typeof f[0]=="object")if(Array.isArray(f[0])){let E=parseInt(p);o.push([f[0][E],[...f[1],E.toString()],f[2].slice(1)])}else o.push([f[0][p],[...f[1],p],f[2].slice(1)])}}}process.exit(0)}function W(n,e=[]){if(Array.isArray(n))n.forEach((t,r)=>{P(t,[...e,r.toString()])});else if(typeof n=="object"){e.length>0&&P(n,[...e]);for(let t in n)Object.hasOwn(n,t)&&P(n[t],[...e,t])}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 t=`\x1B[92m${e.join(".")}\x1B[90m - \x1B[0m`,r;typeof n=="string"?r=n:typeof n=="function"?r="\x1B[90m<function>\x1B[0m":Array.isArray(n)?r=`\x1B[90m[${n.length}]\x1B[0m`:Object.hasOwn(n,"$description")?r=`\x1B[90m${n.$description}\x1B[0m`:r=`\x1B[90m{${Object.keys(n).join(", ")}}\x1B[0m`,console.log(`${t}${r}`)}function F(n){return n!==null&&typeof n=="object"}function M(n,e,t=".",r){if(!F(e))return M(n,{},t,r);let i=Object.assign({},e);for(let s in n){if(s==="__proto__"||s==="constructor")continue;let o=n[s];o!=null&&(r&&r(i,s,o,t)||(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:F(o)&&F(i[s])?i[s]=M(o,i[s],(t?`${t}.`:"")+s.toString(),r):i[s]=o))}return i}function H(n){return(...e)=>e.reduce((t,r)=>M(t,r,"",n),{})}var X=H(),vn=H((n,e,t)=>{if(typeof n[e]<"u"&&typeof t=="function")return n[e]=t(n[e]),!0}),An=H((n,e,t)=>{if(Array.isArray(n[e])&&typeof t=="function")return n[e]=t(n[e]),!0});var En={scripts:{},config:{allowFunction:!1}};function mn(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 t=mn(n);try{t=require.resolve(t,{paths:[process.cwd()]});let r=require(t);typeof r=="function"&&(r=r(...Array.isArray(n)?n.slice(1):[]));let i=dn(r);return X(r,...i,En)}catch(r){if((r==null?void 0:r.code)==="MODULE_NOT_FOUND"){if(e)return;console.error(`\x1B[31mCannot find config '${t}' to extend\x1B[0m`),process.exit(1)}console.error(r),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(t=>t!==void 0);for(let t of e){let r=J(t);if(r)return process.env.BSM_CONFIG=t,r}console.error(`\x1B[31mCannot find config ${e.filter(t=>t!==void 0).map(t=>`'${t}'`).join(" or ")}\x1B[0m`),process.exit(1)}var en=b(require("node:child_process")),tn=b(nn()),L=class n{static async runScript(e,t,r,i){typeof e=="function"?await n.executeFunction(e,t,r,i):typeof e=="string"?await n.executeString(e,t,r,i):typeof e=="object"?Array.isArray(e)?await n.executeArray(e,t,r,i):await n.executeObject(e,t,r,i):n.notFound(r,i)}static notFound(e,t){t.ignoreNotFound||(console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`),process.exit(127))}static async executeFunction(e,t,r,i){var o;console.log(`> \x1B[93mExecuting JavaScript function\x1B[0m \x1B[90m(${[...r].join(".")})\x1B[0m`);let s;try{s=await e.call(null,process.argv)}catch(f){throw f instanceof Error&&(f.stack=(o=f.stack)==null?void 0:o.split(" at executeFunction")[0]),{function:f,script:r.join(".")}}if(s==null){t.length>0&&n.notFound([...r,...t],i);return}await n.runScript(s,t,r,{...i,excludeArgs:!0})}static async executeString(e,t,r,i){var s;if(t.length>0)return n.notFound([...r,...t],i);if(!i.excludeArgs&&((s=process.argv)!=null&&s.length)&&(e+=" "+process.argv.join(" ")),console.log(`> ${e} \x1B[90m(${r.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,BSM_PATH:r.slice(0,-1).join("."),BSM_SCRIPT:r.join(".")}}).on("close",E=>{E===0?o():f({code:E,script:r.join(".")})})})}static async executeArray(e,t,r,i){if(t.length===0||t[0]==="*"){for(let s=0;s<e.length;s++)await n.runScript(e[s],t.slice(1),[...r,s.toString()],{...i,ignoreNotFound:t[0]==="*"?!0:i.ignoreNotFound});return}else{let s=t[0],o=e[parseInt(s)];if(o===void 0)return n.notFound([...r,s],i);await n.runScript(o,t.slice(1),[...r,s],i)}}static async executeObject(e,t,r,i){var s;try{if(await n.executeHook(e,"_pre",r,i),t.length===0)await n.runObject(e,r,i);else if(t[0]==="*")for(let o in e)o.startsWith("_")||o.startsWith("$")||Object.hasOwn(e,o)&&await n.runScript(e[o],t.slice(1),[...r,o],{...i,ignoreNotFound:!0});else{let o=t[0];if(Object.hasOwn(e,o))await n.runScript(e[o],t.slice(1),[...r,o],i);else return n.notFound([...r,o],i)}await n.executeHook(e,"_post",r,i)}catch(o){if(process.env.BSM_ERROR=((s=o.code)==null?void 0:s.toString())??"1",await n.executeHook(e,"_onError",r,i),!await n.executeHook(e,"_catch",r,i))throw o}finally{await n.executeHook(e,"_finally",r,i)}}static async executeHook(e,t,r,i){return Object.hasOwn(e,t)?(await n.runScript(e[t],[],[...r,t],{...i,excludeArgs:!0}),!0):!1}static get _isCI(){return tn.isCI}static async runObject(e,t,r){let i=`_${process.platform}`;n._isCI&&Object.hasOwn(e,"_ci")?await n.runScript(e._ci,[],[...t,"_ci"],r):Object.hasOwn(e,i)?await n.runScript(e[i],[],[...t,i],r):Object.hasOwn(e,"_default")?await n.runScript(e._default,[],[...t,"_default"],r):n.notFound(t,r)}};var U=(0,rn.default)(process.argv.slice(2),{"--":!0});process.argv=U["--"]??[];var g=q(U);async function In(){N(g,U,U.h),N(g,U,U.help),N(g,U,U._.length===0),Sn(process.env,await Cn());for(let n of U._){if(n=n.replace(/^\\~/g,"~"),n.startsWith("~")&&process.env.BSM_PATH){let e=process.env.BSM_PATH.split("."),t=$(g.scripts,e);if(t){await L.runScript(t,n.split(".").splice(1),e,{});continue}}await L.runScript(g.scripts,n.split("."),[],{})}}function Sn(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 $(n,e){if(e.length===0)return n;let t=e[0];if(typeof n=="object"&&Object.hasOwn(n,t))if(Array.isArray(n)){let r=parseInt(t);return $(n[r],e.slice(1))}else return $(n[t],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)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@under_koen/bsm",
3
- "version": "1.0.0",
3
+ "version": "1.0.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>",
@@ -37,7 +37,7 @@
37
37
  "@types/sinon": "^10.0.16",
38
38
  "@typescript-eslint/eslint-plugin": "^6.6.0",
39
39
  "@typescript-eslint/parser": "^6.6.0",
40
- "@under_koen/bsm": "^0.0.6",
40
+ "@under_koen/bsm": "^1.0.0",
41
41
  "c8": "^8.0.1",
42
42
  "ci-info": "^3.8.0",
43
43
  "defu": "^6.1.2",