@under_koen/bsm 1.0.1 → 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 +10 -7
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,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
- \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 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)});
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.0.1",
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>",
@@ -20,11 +20,14 @@
20
20
  "dist"
21
21
  ],
22
22
  "scripts": {
23
- "bsm": "bsm",
24
- "build": "bsm build.prod",
25
- "build:dev": "bsm build.dev",
26
- "build:watch": "bsm build.watch",
27
- "prettier": "bsm prettier",
23
+ "build": "bsm",
24
+ "build:dev": "bsm",
25
+ "build:prod": "bsm",
26
+ "build:watch": "bsm",
27
+ "prettier": "bsm",
28
+ "lint": "bsm",
29
+ "test": "bsm",
30
+ "test:cov": "bsm test.cov",
28
31
  "prepublishOnly": "bsm build.prod"
29
32
  },
30
33
  "devDependencies": {
@@ -37,7 +40,7 @@
37
40
  "@types/sinon": "^10.0.16",
38
41
  "@typescript-eslint/eslint-plugin": "^6.6.0",
39
42
  "@typescript-eslint/parser": "^6.6.0",
40
- "@under_koen/bsm": "^1.0.0",
43
+ "@under_koen/bsm": "^1.0.1",
41
44
  "c8": "^8.0.1",
42
45
  "ci-info": "^3.8.0",
43
46
  "defu": "^6.1.2",