@under_koen/bsm 1.2.3 → 1.2.5
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/dist/index.js +7 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
"use strict";var on=Object.create;var G=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var y=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ln=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of an(e))!un.call(n,i)&&i!==t&&G(n,i,{get:()=>e[i],enumerable:!(r=cn(e,i))||r.enumerable});return n};var O=(n,e,t)=>(t=n!=null?on(fn(n)):{},ln(e||!n||!n.__esModule?G(t,"default",{value:n,enumerable:!0}):t,n));var Y=y((Tn,V)=>{"use strict";function mn(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 K(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 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(a){t.bools[a]=!0});var r={};function i(a){return r[a].some(function(p){return t.bools[p]})}Object.keys(e.alias||{}).forEach(function(a){r[a]=[].concat(e.alias[a]),r[a].forEach(function(p){r[p]=[a].concat(r[a].filter(function(R){return p!==R}))})}),[].concat(e.string).filter(Boolean).forEach(function(a){t.strings[a]=!0,r[a]&&[].concat(r[a]).forEach(function(p){t.strings[p]=!0})});var s=e.default||{},o={_:[]};function I(a,p){return t.allBools&&/^--[^=]+$/.test(p)||t.strings[a]||t.bools[a]||r[a]}function c(a,p,R){for(var l=a,L=0;L<p.length-1;L++){var g=p[L];if(Q(l,g))return;l[g]===void 0&&(l[g]={}),(l[g]===Object.prototype||l[g]===Number.prototype||l[g]===String.prototype)&&(l[g]={}),l[g]===Array.prototype&&(l[g]=[]),l=l[g]}var A=p[p.length-1];Q(l,A)||((l===Object.prototype||l===Number.prototype||l===String.prototype)&&(l={}),l===Array.prototype&&(l=[]),l[A]===void 0||t.bools[A]||typeof l[A]=="boolean"?l[A]=R:Array.isArray(l[A])?l[A].push(R):l[A]=[l[A],R])}function f(a,p,R){if(!(R&&t.unknownFn&&!I(a,R)&&t.unknownFn(R)===!1)){var l=!t.strings[a]&&K(p)?Number(p):p;c(o,a.split("."),l),(r[a]||[]).forEach(function(L){c(o,L.split("."),l)})}}Object.keys(t.bools).forEach(function(a){f(a,s[a]===void 0?!1:s[a])});var U=[];n.indexOf("--")!==-1&&(U=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var E=0;E<n.length;E++){var u=n[E],m,b;if(/^--.+=/.test(u)){var j=u.match(/^--([^=]+)=([\s\S]*)$/);m=j[1];var x=j[2];t.bools[m]&&(x=x!=="false"),f(m,x,u)}else if(/^--no-.+/.test(u))m=u.match(/^--no-(.+)/)[1],f(m,!1,u);else if(/^--.+/.test(u))m=u.match(/^--(.+)/)[1],b=n[E+1],b!==void 0&&!/^(-|--)[^-]/.test(b)&&!t.bools[m]&&!t.allBools&&(!r[m]||!i(m))?(f(m,b,u),E+=1):/^(true|false)$/.test(b)?(f(m,b==="true",u),E+=1):f(m,t.strings[m]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var C=u.slice(1,-1).split(""),h=!1,S=0;S<C.length;S++){if(b=u.slice(S+2),b==="-"){f(C[S],b,u);continue}if(/[A-Za-z]/.test(C[S])&&b[0]==="="){f(C[S],b.slice(1),u),h=!0;break}if(/[A-Za-z]/.test(C[S])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(b)){f(C[S],b,u),h=!0;break}if(C[S+1]&&C[S+1].match(/\W/)){f(C[S],u.slice(S+2),u),h=!0;break}else f(C[S],t.strings[C[S]]?"":!0,u)}m=u.slice(-1)[0],!h&&m!=="-"&&(n[E+1]&&!/^(-|--)[^-]/.test(n[E+1])&&!t.bools[m]&&(!r[m]||!i(m))?(f(m,n[E+1],u),E+=1):n[E+1]&&/^(true|false)$/.test(n[E+1])?(f(m,n[E+1]==="true",u),E+=1):f(m,t.strings[m]?"":!0,u))}else if((!t.unknownFn||t.unknownFn(u)!==!1)&&o._.push(t.strings._||!K(u)?u:Number(u)),e.stopEarly){o._.push.apply(o._,n.slice(E+1));break}}return Object.keys(s).forEach(function(a){mn(o,a.split("."))||(c(o,a.split("."),s[a]),(r[a]||[]).forEach(function(p){c(o,p.split("."),s[a])}))}),e["--"]?o["--"]=U.slice():U.forEach(function(a){o._.push(a)}),o}});var W=y((Rn,pn)=>{pn.exports={name:"@under_koen/bsm",version:"1.2.3",description:"BSM (Basic Script Manager) is a useful tool that enables you to create clear and concise scripts without cluttering your `package.json` file.",license:"MIT",author:"Koen van Staveren <koen@underkoen.nl>",homepage:"https://github.com/UnderKoen/bsm#readme",repository:{type:"git",url:"https://github.com/UnderKoen/bsm.git"},bugs:{url:"https://github.com/UnderKoen/bsm/issues"},main:"dist/index.js",bin:{bsm:"./dist/index.js"},files:["dist"],scripts:{build:"bsm","build:dev":"bsm","build:prod":"bsm","build:watch":"bsm",lint:"bsm",prettier:"bsm",prepublishOnly:"bsm build.prod",test:"bsm","test:cov":"bsm test.cov"},devDependencies:{"@semantic-release/changelog":"^6.0.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.7","@types/minimist":"^1.2.2","@types/node":"^20.5.9","@types/sinon":"^10.0.16","@typescript-eslint/eslint-plugin":"^6.6.0","@typescript-eslint/parser":"^6.6.0","@under_koen/bsm":"^1.1.1",c8:"^8.0.1","ci-info":"^3.8.0",defu:"^6.1.2",esbuild:"^0.19.2",eslint:"^8.48.0","eslint-config-prettier":"^9.0.0",minimist:"^1.2.8",prettier:"3.0.3","prettier-package-json":"^2.8.0","semantic-release":"^21.0.1",sinon:"^15.2.0",tsm:"^2.3.0",typescript:"^5.2.2",uvu:"^0.5.6"},keywords:["script","scripting"]}});var z=y((hn,Sn)=>{Sn.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=y(v=>{"use strict";var k=z(),d=process.env;Object.defineProperty(v,"_vendors",{value:k.map(function(n){return n.constant})});v.name=null;v.isPR=null;k.forEach(function(n){let t=(Array.isArray(n.env)?n.env:[n.env]).every(function(r){return Z(r)});if(v[n.constant]=t,!!t)switch(v.name=n.name,typeof n.pr){case"string":v.isPR=!!d[n.pr];break;case"object":"env"in n.pr?v.isPR=n.pr.env in d&&d[n.pr.env]!==n.pr.ne:"any"in n.pr?v.isPR=n.pr.any.some(function(r){return!!d[r]}):v.isPR=Z(n.pr);break;default:v.isPR=null}});v.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||v.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 sn=O(Y()),w=O(require("node:fs")),N=O(require("path"));var T=class n{static printHelp(e,t,r){let i=[];if(typeof r=="boolean"){if(!r)return}else if(typeof r=="string"||typeof r=="number")i.push(`${r}`);else if(Array.isArray(r))i.push(...r);else return;if(i.push(...t._),i.length===0)console.log(`
|
|
2
|
+
"use strict";var on=Object.create;var G=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var y=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ln=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of an(e))!un.call(n,i)&&i!==r&&G(n,i,{get:()=>e[i],enumerable:!(t=cn(e,i))||t.enumerable});return n};var U=(n,e,r)=>(r=n!=null?on(fn(n)):{},ln(e||!n||!n.__esModule?G(r,"default",{value:n,enumerable:!0}):r,n));var Y=y((Tn,V)=>{"use strict";function pn(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 K(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(a){r.bools[a]=!0});var t={};function i(a){return t[a].some(function(m){return r.bools[m]})}Object.keys(e.alias||{}).forEach(function(a){t[a]=[].concat(e.alias[a]),t[a].forEach(function(m){t[m]=[a].concat(t[a].filter(function(R){return m!==R}))})}),[].concat(e.string).filter(Boolean).forEach(function(a){r.strings[a]=!0,t[a]&&[].concat(t[a]).forEach(function(m){r.strings[m]=!0})});var s=e.default||{},o={_:[]};function v(a,m){return r.allBools&&/^--[^=]+$/.test(m)||r.strings[a]||r.bools[a]||t[a]}function c(a,m,R){for(var l=a,L=0;L<m.length-1;L++){var _=m[L];if(Q(l,_))return;l[_]===void 0&&(l[_]={}),(l[_]===Object.prototype||l[_]===Number.prototype||l[_]===String.prototype)&&(l[_]={}),l[_]===Array.prototype&&(l[_]=[]),l=l[_]}var A=m[m.length-1];Q(l,A)||((l===Object.prototype||l===Number.prototype||l===String.prototype)&&(l={}),l===Array.prototype&&(l=[]),l[A]===void 0||r.bools[A]||typeof l[A]=="boolean"?l[A]=R:Array.isArray(l[A])?l[A].push(R):l[A]=[l[A],R])}function f(a,m,R){if(!(R&&r.unknownFn&&!v(a,R)&&r.unknownFn(R)===!1)){var l=!r.strings[a]&&K(m)?Number(m):m;c(o,a.split("."),l),(t[a]||[]).forEach(function(L){c(o,L.split("."),l)})}}Object.keys(r.bools).forEach(function(a){f(a,s[a]===void 0?!1:s[a])});var O=[];n.indexOf("--")!==-1&&(O=n.slice(n.indexOf("--")+1),n=n.slice(0,n.indexOf("--")));for(var E=0;E<n.length;E++){var u=n[E],p,b;if(/^--.+=/.test(u)){var j=u.match(/^--([^=]+)=([\s\S]*)$/);p=j[1];var w=j[2];r.bools[p]&&(w=w!=="false"),f(p,w,u)}else if(/^--no-.+/.test(u))p=u.match(/^--no-(.+)/)[1],f(p,!1,u);else if(/^--.+/.test(u))p=u.match(/^--(.+)/)[1],b=n[E+1],b!==void 0&&!/^(-|--)[^-]/.test(b)&&!r.bools[p]&&!r.allBools&&(!t[p]||!i(p))?(f(p,b,u),E+=1):/^(true|false)$/.test(b)?(f(p,b==="true",u),E+=1):f(p,r.strings[p]?"":!0,u);else if(/^-[^-]+/.test(u)){for(var C=u.slice(1,-1).split(""),h=!1,I=0;I<C.length;I++){if(b=u.slice(I+2),b==="-"){f(C[I],b,u);continue}if(/[A-Za-z]/.test(C[I])&&b[0]==="="){f(C[I],b.slice(1),u),h=!0;break}if(/[A-Za-z]/.test(C[I])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(b)){f(C[I],b,u),h=!0;break}if(C[I+1]&&C[I+1].match(/\W/)){f(C[I],u.slice(I+2),u),h=!0;break}else f(C[I],r.strings[C[I]]?"":!0,u)}p=u.slice(-1)[0],!h&&p!=="-"&&(n[E+1]&&!/^(-|--)[^-]/.test(n[E+1])&&!r.bools[p]&&(!t[p]||!i(p))?(f(p,n[E+1],u),E+=1):n[E+1]&&/^(true|false)$/.test(n[E+1])?(f(p,n[E+1]==="true",u),E+=1):f(p,r.strings[p]?"":!0,u))}else if((!r.unknownFn||r.unknownFn(u)!==!1)&&o._.push(r.strings._||!K(u)?u:Number(u)),e.stopEarly){o._.push.apply(o._,n.slice(E+1));break}}return Object.keys(s).forEach(function(a){pn(o,a.split("."))||(c(o,a.split("."),s[a]),(t[a]||[]).forEach(function(m){c(o,m.split("."),s[a])}))}),e["--"]?o["--"]=O.slice():O.forEach(function(a){o._.push(a)}),o}});var W=y((Rn,mn)=>{mn.exports={name:"@under_koen/bsm",version:"1.2.5",description:"BSM (Basic Script Manager) is a useful tool that enables you to create clear and concise scripts without cluttering your `package.json` file.",license:"MIT",author:"Koen van Staveren <koen@underkoen.nl>",homepage:"https://github.com/UnderKoen/bsm#readme",repository:{type:"git",url:"https://github.com/UnderKoen/bsm.git"},bugs:{url:"https://github.com/UnderKoen/bsm/issues"},main:"dist/index.js",bin:{bsm:"./dist/index.js"},files:["dist"],scripts:{build:"bsm","build:dev":"bsm","build:prod":"bsm","build:watch":"bsm",lint:"bsm",prettier:"bsm",prepublishOnly:"bsm build.prod",test:"bsm","test:cov":"bsm test.cov"},devDependencies:{"@semantic-release/changelog":"^6.0.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.7","@types/minimist":"^1.2.2","@types/node":"^20.5.9","@types/sinon":"^10.0.16","@typescript-eslint/eslint-plugin":"^6.6.0","@typescript-eslint/parser":"^6.6.0","@under_koen/bsm":"^1.1.1",c8:"^8.0.1","ci-info":"^3.8.0",defu:"^6.1.2",esbuild:"^0.19.2",eslint:"^8.48.0","eslint-config-prettier":"^9.0.0",minimist:"^1.2.8",prettier:"3.0.3","prettier-package-json":"^2.8.0","semantic-release":"^21.0.1",sinon:"^15.2.0",tsm:"^2.3.0",typescript:"^5.2.2",uvu:"^0.5.6"},keywords:["script","scripting"]}});var z=y((hn,In)=>{In.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=y(S=>{"use strict";var k=z(),d=process.env;Object.defineProperty(S,"_vendors",{value:k.map(function(n){return n.constant})});S.name=null;S.isPR=null;k.forEach(function(n){let r=(Array.isArray(n.env)?n.env:[n.env]).every(function(t){return Z(t)});if(S[n.constant]=r,!!r)switch(S.name=n.name,typeof n.pr){case"string":S.isPR=!!d[n.pr];break;case"object":"env"in n.pr?S.isPR=n.pr.env in d&&d[n.pr.env]!==n.pr.ne:"any"in n.pr?S.isPR=n.pr.any.some(function(t){return!!d[t]}):S.isPR=Z(n.pr);break;default:S.isPR=null}});S.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||S.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 sn=U(Y()),N=U(require("node:fs")),B=U(require("path"));var T=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
3
|
\x1B[1mAvailable commands:\x1B[0m`),n.printCommands(e.scripts);else for(let s of i){console.log(`
|
|
4
|
-
\x1B[1mAvailable commands: \x1B[90m${s}\x1B[0m`);let o=s.split("."),
|
|
4
|
+
\x1B[1mAvailable commands: \x1B[90m${s}\x1B[0m`);let o=s.split("."),v=[[e.scripts,[],o]];for(;v.length>0;){let c=v.shift();if(c[2].length===0)n.printCommands(c[0],c[1]);else if(c[2][0]==="*"){if(typeof c[0]=="object")if(Array.isArray(c[0]))for(let f=0;f<c[0].length;f++)v.push([c[0][f],[...c[1],f.toString()],[]]);else for(let f in c[0])Object.hasOwn(c[0],f)&&v.push([c[0][f],[...c[1],f],c[2].slice(1)])}else{let f=c[2][0];if(typeof c[0]=="object")if(Array.isArray(c[0])){let O=parseInt(f);v.push([c[0][O],[...c[1],O.toString()],c[2].slice(1)])}else v.push([c[0][f],[...c[1],f],c[2].slice(1)])}}}process.exit(0)}static printCommands(e,r=[],t=!0){if(Array.isArray(e))e.forEach((i,s)=>{n.printCommand(i,[...r,s.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}`)}static printVersion(){let e=W();console.log(`${e.version}`),process.exit(0)}};function x(n){return n!==null&&typeof n=="object"}function $(n,e,r=".",t){if(!x(e))return $(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]]:x(o)&&x(i[s])?i[s]=$(o,i[s],(r?`${r}.`:"")+s.toString(),t):i[s]=o))}return i}function F(n){return(...e)=>e.reduce((r,t)=>$(r,t,"",n),{})}var q=F(),On=F((n,e,r)=>{if(typeof n[e]<"u"&&typeof r=="function")return n[e]=r(n[e]),!0}),Un=F((n,e,r)=>{if(Array.isArray(n[e])&&typeof r=="function")return n[e]=r(n[e]),!0});var dn={scripts:{},config:{allowFunction:!1}};function En(n){return Array.isArray(n)?n[0]:n}function vn(n){return!Object.hasOwn(n,"extends")||!n.extends?[]:n.extends.map(e=>J(e,!1))}function J(n,e=!0){var t;if(!n)return;let r=En(n);try{r=require.resolve(r,{paths:[process.cwd()]});let i=require(r);typeof i=="function"&&(i=i(...Array.isArray(n)?n.slice(1):[]));let s=vn(i);return q(i,...s,dn)}catch(i){if((i==null?void 0:i.code)==="MODULE_NOT_FOUND"&&((t=i.requireStack)==null?void 0:t.length)===1){if(e)return;console.error(`\x1B[31mCannot find config '${r}' to extend\x1B[0m`),process.exit(1)}console.error(i),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=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=U(require("node:child_process")),rn=U(nn());var tn=U(require("path")),M=U(require("fs")),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],s=e.slice(0,-1);s.length===0?console.error(`\x1B[31mScript '${i}' does not exist\x1B[0m
|
|
5
5
|
`):console.error(`\x1B[31mScript '${s.join(".")}' does not have a '${i}' script\x1B[0m
|
|
6
|
-
`),Object.hasOwn(
|
|
6
|
+
`),Object.hasOwn(t,"$description")&&(T.printCommand(t,s),console.log()),console.log("\x1B[1mTry one of the following:\x1B[0m"),T.printCommands(t,s,!1)}else console.error(`\x1B[31mScript '${e.join(".")}' not found\x1B[0m`);process.exit(127)}}static async executeFunction(e,r,t,i){var v;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(c){throw c instanceof Error&&(c.stack=(v=c.stack)==null?void 0:v.split(" at executeFunction")[0]),{function:c,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,v)=>{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",f=>{f===0?o():v({code:f,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,e)}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(e.startsWith("file:")){let r=tn.default.join(process.cwd(),e.slice(5));if(!M.default.existsSync(r))return console.error(`\x1B[31mFile '${r}' does not exist\x1B[0m
|
|
7
7
|
\x1B[1mRunning script without these environment variables\x1B[0m
|
|
8
|
-
`),{};let i=
|
|
9
|
-
`).filter(o=>!o.startsWith("#")&&o.trim()!==""),s={};for(let o of i){let c=/^([^=]+)=(['"])?(.+)\2$/g.exec(o);
|
|
8
|
+
`),{};let i=M.default.readFileSync(r,"utf-8").replaceAll("\r","").split(`
|
|
9
|
+
`).filter(o=>!o.startsWith("#")&&o.trim()!==""),s={};for(let o of i){let c=/^([^=]+)=(['"])?(.+)\2$/g.exec(o);if(c){let f=c[3];c[2]==='"'&&(f=f.replaceAll(/(?<=(?<!\\)(\\\\)*)\\n/g,`
|
|
10
|
+
`).replaceAll(/(?<=(?<!\\)(\\\\)*)\\t/g," ").replaceAll(/(?<=(?<!\\)(\\\\)*)\\r/g,"\r").replaceAll(/(?<=(?<!\\)(\\\\)*)\\\\/g,"\\")),s[c[1]]=f}}return s}else return console.error(`\x1B[31mCurrently only file: is supported for environment variables\x1B[0m
|
|
11
|
+
`),{};else if(typeof e=="object")if(Array.isArray(e)){let r={};for(let t of e)r={...r,...n.getEnv(t)};return r}else return e;else{let r=e.call(null,process.argv);return r===void 0?{}:n.getEnv(r)}}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,"_default"],t,e)}};var g=(0,sn.default)(process.argv.slice(2),{"--":!0});process.argv=g["--"]??[];var P=X(g);async function bn(){g.version&&T.printVersion(),T.printHelp(P,g,g.h),T.printHelp(P,g,g.help),Sn(),Cn(process.env,await gn());for(let n of g._){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 Sn(){if(g._.length>0)return;let n=process.env.npm_lifecycle_event;if(n&&n!=="npx"){g._=[n.replaceAll(":",".")];return}T.printHelp(P,g,!0)}function Cn(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 gn(){let n=process.cwd();for(;await N.promises.access(B.default.join(n,"node_modules/.bin"),N.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))}bn().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.2.
|
|
3
|
+
"version": "1.2.5",
|
|
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>",
|