🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@qlover/scripts-context

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qlover/scripts-context - npm Package Compare versions

Comparing version
2.1.0
to
2.1.1
+3
-3
dist/index.cjs

@@ -1,2 +0,2 @@

"use strict";var B=Object.create;var b=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var V=(n,e)=>{for(var t in e)b(n,t,{get:e[t],enumerable:!0})},L=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of H(e))!M.call(n,o)&&o!==t&&b(n,o,{get:()=>e[o],enumerable:!(r=q(e,o))||r.enumerable});return n};var z=(n,e,t)=>(t=n!=null?B(U(n)):{},L(e||!n||!n.__esModule?b(t,"default",{value:n,enumerable:!0}):t,n)),Z=n=>L(b({},"__esModule",{value:!0}),n);var Y={};V(Y,{ColorFormatter:()=>E,ConfigSearch:()=>u,ScriptContext:()=>R,ScriptPlugin:()=>F,Shell:()=>d,defaultFeConfig:()=>I});module.exports=Z(Y);var I={protectedBranches:["master","develop","main"],cleanFiles:["dist","node_modules","yarn.lock","package-lock.json",".eslintcache","*.log"],commitlint:{extends:["@commitlint/config-conventional"]},release:{publishPath:"",autoMergeReleasePR:!1,autoMergeType:"squash",branchName:"release-${pkgName}-${tagName}",PRTitle:"[${pkgName} Release] Branch:${branch}, Tag:${tagName}, Env:${env}",PRBody:`## Publish Details
"use strict";var B=Object.create;var b=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var V=(n,e)=>{for(var t in e)b(n,t,{get:e[t],enumerable:!0})},L=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of H(e))!M.call(n,o)&&o!==t&&b(n,o,{get:()=>e[o],enumerable:!(r=q(e,o))||r.enumerable});return n};var z=(n,e,t)=>(t=n!=null?B(U(n)):{},L(e||!n||!n.__esModule?b(t,"default",{value:n,enumerable:!0}):t,n)),Z=n=>L(b({},"__esModule",{value:!0}),n);var ee={};V(ee,{ColorFormatter:()=>E,ConfigSearch:()=>u,ScriptContext:()=>R,ScriptPlugin:()=>F,Shell:()=>d,defaultFeConfig:()=>I});module.exports=Z(ee);var I={protectedBranches:["master","develop","main"],cleanFiles:["dist","node_modules","yarn.lock","package-lock.json",".eslintcache","*.log"],commitlint:{extends:["@commitlint/config-conventional"]},release:{publishPath:"",autoMergeReleasePR:!1,autoMergeType:"squash",branchName:"release-${pkgName}-${tagName}",PRTitle:"[${pkgName} Release] Branch:${branch}, Tag:${tagName}, Env:${env}",PRBody:`## Publish Details

@@ -17,4 +17,4 @@ - \u{1F3F7}\uFE0F Version: \${tagName}

> This PR is auto created by release process, please contact the frontend team if there are any questions.`,label:{color:"1A7F37",description:"Release PR",name:"CI-Release"},packagesDirectories:[],changePackagesLabel:"changes:${name}"},envOrder:[".env.local",".env.production",".env"]};var f=z(require("chalk"),1),E=class{constructor(e={fatal:f.default.bgRed.white.bold,error:f.default.red.bold,warn:f.default.yellow.bold,info:f.default.blue,debug:f.default.green,trace:f.default.gray,log:f.default.white}){this.levelColors=e}format(e){let{level:t,args:r}=e,o=this.levelColors[t]||f.default.white;return[typeof o=="function"?o(t.toUpperCase()):t.toUpperCase(),...r]}};var T=require("cosmiconfig"),C=require("lodash-es");function J(n){let e=["json","js","ts","cjs","yaml","yml"];return["package.json",...e.map(t=>`${n}.${t}`),...e.map(t=>`.${n}.${t}`)]}var u=class{name;searchPlaces;_config;loaders;searchCache;constructor(e){let{name:t,searchPlaces:r,defaultConfig:o,loaders:i}=e;if(!t&&!r)throw new Error("searchPlaces or name is required");this.name=t,this.searchPlaces=r||J(t),this._config=o||{},this.loaders=i}get config(){return(0,C.defaultsDeep)({},this.search(),this._config)}getSearchPlaces(){return this.searchPlaces}get(e={}){let{file:t,dir:r=process.cwd()}=e,o={};if(t===!1)return o;let i=(0,T.cosmiconfigSync)(this.name,{searchPlaces:this.searchPlaces,loaders:this.loaders}),s=t?i.load(t):i.search(r);if(s&&typeof s.config=="string")throw new Error(`Invalid configuration file at ${s.filepath}`);return s&&(0,C.isPlainObject)(s.config)?s.config:o}search(){return this.searchCache?this.searchCache:this.searchCache=this.get({})}};var O=require("lodash-es"),A=require("@qlover/fe-corekit");var v=require("lodash-es"),_=require("@qlover/env-loader"),K=[".env.local",".env"];function G(n,e,t){let r=n.env||_.Env.searchEnv({logger:t,preloadList:e.envOrder||K}),o=n.rootPath||process.cwd(),i=n.sourceBranch||r?.get("FE_RELEASE_BRANCH")||r?.get("FE_RELEASE_SOURCE_BRANCH")||"master";return{...n,sourceBranch:i,rootPath:o,env:r}}function Q(n,e,t){let r=n?(0,v.get)(e,n):e,o=typeof r=="object"&&r!==null,i=o?r:{};return o||t.warn(`rootProp ${n} is not an object, it will be overwritten by the default options`),i}function D(n,e,t,r){let o=Q(n,e,r),i=(0,v.merge)({},o,t);return G(i,e,r)}var $=require("child_process");var k=require("lodash-es");var y=class{constructor(e,t,r,o){this.level=e;this.args=t;this.loggerName=r;this.context=o;this.timestamp=Date.now()}timestamp};var h=class{constructor(e){this.value=e}};var W={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},P=class{constructor(e={}){this.options=e;e.name=e.name||Date.now().toString(),e.levels=e.levels||W,e.handlers=Array.isArray(e.handlers)?e.handlers:e.handlers?[e.handlers]:[]}addAppender(e){this.options.handlers.push(e)}context(e){return new h(e)}print(e,t){let{levels:r,level:o,silent:i,handlers:s}=this.options;if(i)return;let a=t.slice(-1)[0],c=t.length>1&&a instanceof h;if(a=c?a:void 0,t=c?t.slice(0,-1):t,e=a?.value?.level??e,o&&r){let p=r[o],m=r[e];if(p!=null&&m!=null&&m>p)return}let l=new y(e,t,this.options.name,a),g=Array.isArray(s)?s:[s];for(let p of g)p&&p.append(l)}log(...e){this.print("info",e)}fatal(...e){this.print("fatal",e)}error(...e){this.print("error",e)}warn(...e){this.print("warn",e)}info(...e){this.print("info",e)}debug(...e){this.print("debug",e)}trace(...e){this.print("trace",e)}};var w=class{constructor(e=null){this.formatter=e}setFormatter(e){this.formatter=e}append(e){let{level:t,args:r}=e,o=this.formatter?this.formatter.format(e):r;(console[t]||console.log)(...Array.isArray(o)?o:[o])}};var X={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},S=class{constructor(e={}){this.options=e}replacePrefix(e,t){return e.replace(/\{([^{}]+)\}/g,(r,o)=>t[o]||r)}format({timestamp:e,level:t,args:r,context:o,loggerName:i}){let{locale:s="zh-CN",localeOptions:a,prefixTemplate:c="[{formattedTimestamp} {level}]"}=this.options,l=o?.formatType??"datetime",g=l==="date"?"toLocaleDateString":l==="time"?"toLocaleTimeString":"toLocaleString",p=new Date(e)[g](s,{...X,...a});return[this.replacePrefix(c,{...o,timestamp:e.toString(),level:t,loggerName:i,formattedTimestamp:p,locale:s}),...r]}};var N=require("lodash-es"),d=class n{constructor(e,t=new Map){this.config=e;this.cache=t}get logger(){return this.config.logger}static format(e="",t={}){return(0,N.template)(e)(t)}format(e="",t={}){try{return n.format(e,t)}catch(r){throw this.logger.error(`Unable to render template with context:
> This PR is auto created by release process, please contact the frontend team if there are any questions.`,label:{color:"1A7F37",description:"Release PR",name:"CI-Release"},packagesDirectories:[],changePackagesLabel:"changes:${name}"},envOrder:[".env.local",".env.production",".env"]};var f=z(require("chalk"),1),E=class{constructor(e={fatal:f.default.bgRed.white.bold,error:f.default.red.bold,warn:f.default.yellow.bold,info:f.default.blue,debug:f.default.green,trace:f.default.gray,log:f.default.white}){this.levelColors=e}format(e){let{level:t,args:r}=e,o=this.levelColors[t]||f.default.white;return[typeof o=="function"?o(t.toUpperCase()):t.toUpperCase(),...r]}};var T=require("cosmiconfig"),C=require("lodash-es");function J(n){let e=["json","js","ts","cjs","yaml","yml"];return["package.json",...e.map(t=>`${n}.${t}`),...e.map(t=>`.${n}.${t}`)]}var u=class{name;searchPlaces;_config;loaders;searchCache;constructor(e){let{name:t,searchPlaces:r,defaultConfig:o,loaders:i}=e;if(!t&&!r)throw new Error("searchPlaces or name is required");this.name=t,this.searchPlaces=r||J(t),this._config=o||{},this.loaders=i}get config(){return(0,C.defaultsDeep)({},this.search(),this._config)}getSearchPlaces(){return this.searchPlaces}get(e={}){let{file:t,dir:r=process.cwd()}=e,o={};if(t===!1)return o;let i=(0,T.cosmiconfigSync)(this.name,{searchPlaces:this.searchPlaces,loaders:this.loaders}),s=t?i.load(t):i.search(r);if(s&&typeof s.config=="string")throw new Error(`Invalid configuration file at ${s.filepath}`);return s&&(0,C.isPlainObject)(s.config)?s.config:o}search(){return this.searchCache?this.searchCache:this.searchCache=this.get({})}};var O=require("lodash-es"),A=require("@qlover/fe-corekit");var v=require("lodash-es"),_=require("@qlover/env-loader"),K=[".env.local",".env"];function G(n,e,t){let r=n.env||_.Env.searchEnv({logger:t,preloadList:e.envOrder||K}),o=n.rootPath||process.cwd(),i=n.sourceBranch||r?.get("FE_RELEASE_BRANCH")||r?.get("FE_RELEASE_SOURCE_BRANCH")||"master";return{...n,sourceBranch:i,rootPath:o,env:r}}function Q(n,e,t){let r=n?(0,v.get)(e,n):e,o=typeof r=="object"&&r!==null,i=o?r:{};return o||t.warn(`rootProp ${n} is not an object, it will be overwritten by the default options`),i}function N(n,e,t,r){let o=Q(n,e,r),i=(0,v.merge)({},o,t);return G(i,e,r)}var D=require("child_process");var k=require("lodash-es");var y=class{constructor(e,t,r,o){this.level=e;this.args=t;this.loggerName=r;this.context=o;this.timestamp=Date.now()}timestamp};var h=class{constructor(e){this.value=e}};var W={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},P=class{constructor(e={}){this.options=e;e.name=e.name||Date.now().toString(),e.levels=e.levels||W,e.handlers=Array.isArray(e.handlers)?e.handlers:e.handlers?[e.handlers]:[]}addAppender(e){this.options.handlers.push(e)}context(e){return new h(e)}print(e,t){let{levels:r,level:o,silent:i,handlers:s}=this.options;if(i)return;let a=t.slice(-1)[0],c=t.length>1&&a instanceof h;if(a=c?a:void 0,t=c?t.slice(0,-1):t,e=a?.value?.level??e,o&&r){let p=r[o],m=r[e];if(p!=null&&m!=null&&m>p)return}let l=new y(e,t,this.options.name,a),g=Array.isArray(s)?s:[s];for(let p of g)p&&p.append(l)}log(...e){this.print("info",e)}fatal(...e){this.print("fatal",e)}error(...e){this.print("error",e)}warn(...e){this.print("warn",e)}info(...e){this.print("info",e)}debug(...e){this.print("debug",e)}trace(...e){this.print("trace",e)}};var w=class{constructor(e=null){this.formatter=e}setFormatter(e){this.formatter=e}append(e){let{level:t,args:r,loggerName:o}=e,i=this.formatter?this.formatter.format(e):[o?`[${o}]`:null,...r].filter(s=>s!=null);(console[t]||console.log)(...Array.isArray(i)?i:[i])}};var X={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},Y="[{loggerName}] [{formattedTimestamp} {level}]",S=class{constructor(e={}){this.options=e}updateOptions(e){this.options={...this.options,...e}}replacePrefix(e,t){return e.replace(/\{([^{}]+)\}/g,(r,o)=>o in t?String(t[o]??""):"")}format({timestamp:e,level:t,args:r,context:o,loggerName:i}){let{locale:s="zh-CN",localeOptions:a,prefixTemplate:c=Y}=this.options,l=o?.formatType??"datetime",g=l==="date"?"toLocaleDateString":l==="time"?"toLocaleTimeString":"toLocaleString",p=new Date(e)[g](s,{...X,...a});return[this.replacePrefix(c,{...o,timestamp:e.toString(),level:t,loggerName:i,formattedTimestamp:p,locale:s}),...r]}};var $=require("lodash-es"),d=class n{constructor(e,t=new Map){this.config=e;this.cache=t}get logger(){return this.config.logger}static format(e="",t={}){return(0,$.template)(e)(t)}format(e="",t={}){try{return n.format(e,t)}catch(r){throw this.logger.error(`Unable to render template with context:
${e}
${JSON.stringify(t)}`),this.logger.error(r),r}}exec(e,t={}){let{context:r,...o}=t;return typeof e=="string"?this.execFormattedCommand(this.format(e,r||{}),o):this.execFormattedCommand(e,o)}run(e,t={}){return this.exec(e,{silent:!0,...t})}async execFormattedCommand(e,t={}){let r=this.config.execPromise;if(!r)throw new Error("execPromise is not defined");let{dryRunResult:o,silent:i,dryRun:s,isCache:a}=t,c=s!==void 0?s:this.config.dryRun,l=a!==void 0?!!a:!!this.config.isCache,g=typeof e=="string"?e:e.join(" "),p=l&&this.cache.has(g);if(i||this.logger.debug(e),c)return Promise.resolve(o);if(p)return this.cache.get(g);let m=r(e,t);return this.cache.has(g)||this.cache.set(g,m),m}};var x={exec(n,e){let t=Array.isArray(n)?n.join(" "):n;return new Promise((r,o)=>{(0,$.exec)(t,{encoding:"utf-8",...e},(i,s,a)=>{let c;i?i.code===void 0?c=1:c=i.code:c=0,c===0?r(s.trim()):o(new Error(a||s))})})},getConfig(n){return new u({name:"fe-config",defaultConfig:(0,k.merge)({},I,n)})},logger(n,e){return new P({level:e?"debug":"info",name:n,handlers:new w(new S({prefixTemplate:"[{loggerName} {formattedTimestamp} {level}]",localeOptions:{timeZone:"Asia/Shanghai"}}))})},options(n,e){let{logger:t,shell:r,feConfig:o,dryRun:i,verbose:s,options:a}=e,c=a||{},l=t||x.logger(n,!!s),g=r||new d({logger:l,dryRun:i,execPromise:c.execPromise||x.exec}),p=(0,k.merge)({},o,{[n]:e.options});return{options:c,dryRun:!!i,shell:g,logger:l,verbose:!!s,feConfig:x.getConfig(p).config}}};var R=class extends A.ExecutorContextImpl{constructor(t,r={}){if(!t||typeof t!="string")throw new Error("ScriptContext name is required");let{feConfig:o,logger:i,shell:s,dryRun:a,verbose:c,options:l}=x.options(t,r);super(l);this.name=t;this.feConfig=o,this.logger=i,this.shell=s,this.dryRun=a,this.verbose=c,this.setOptions(D(t,o,l,i))}logger;shell;feConfig;dryRun;verbose;get options(){return this.parameters}get env(){if(!this.options.env)throw new Error("Environment is not initialized");return this.options.env}setOptions(t){this.setParameters((0,O.merge)(this.options,t))}getEnv(t,r){return this.env.get(t)??r}getOptions(t,r){return t?(0,O.get)(this.options,t,r):this.options}};var j=require("lodash-es"),F=class{constructor(e,t,r={}){this.context=e;this.pluginName=t;this.props=r;this.setConfig(this.getInitialProps(r))}onlyOne=!0;getInitialProps(e){if(typeof this.context.options!="object")return{};let t=this.context.options[this.pluginName],r=this.context.getOptions(this.pluginName),o=t||r;return e?(0,j.merge)({},o,e):o||{}}get logger(){return this.context.logger}get shell(){return this.context.shell}get options(){return this.context.getOptions(this.pluginName,{})}enabled(e,t){let r=this.getConfig("skip");return!(r===!0||typeof r=="string"&&e===r)}getConfig(e,t){return e?this.context.getOptions([this.pluginName,...Array.isArray(e)?e:[e]],t):this.context.getOptions(this.pluginName,t)}setConfig(e){this.context.setOptions({[this.pluginName]:e})}onBefore(e){}onExec(e){}onSuccess(e){}onError(e){}onFinally(e){}async step(e){this.logger.log(),this.logger.info(e.label),this.logger.log();try{let t=await e.task();return this.logger.info(`${e.label} - success`),t}catch(t){throw this.logger.error(t),t}}};0&&(module.exports={ColorFormatter,ConfigSearch,ScriptContext,ScriptPlugin,Shell,defaultFeConfig});
${JSON.stringify(t)}`),this.logger.error(r),r}}exec(e,t={}){let{context:r,...o}=t;return typeof e=="string"?this.execFormattedCommand(this.format(e,r||{}),o):this.execFormattedCommand(e,o)}run(e,t={}){return this.exec(e,{silent:!0,...t})}async execFormattedCommand(e,t={}){let r=this.config.execPromise;if(!r)throw new Error("execPromise is not defined");let{dryRunResult:o,silent:i,dryRun:s,isCache:a}=t,c=s!==void 0?s:this.config.dryRun,l=a!==void 0?!!a:!!this.config.isCache,g=typeof e=="string"?e:e.join(" "),p=l&&this.cache.has(g);if(i||this.logger.debug(e),c)return Promise.resolve(o);if(p)return this.cache.get(g);let m=r(e,t);return this.cache.has(g)||this.cache.set(g,m),m}};var x={exec(n,e){let t=Array.isArray(n)?n.join(" "):n;return new Promise((r,o)=>{(0,D.exec)(t,{encoding:"utf-8",...e},(i,s,a)=>{let c;i?i.code===void 0?c=1:c=i.code:c=0,c===0?r(s.trim()):o(new Error(a||s))})})},getConfig(n){return new u({name:"fe-config",defaultConfig:(0,k.merge)({},I,n)})},logger(n,e){return new P({level:e?"debug":"info",name:n,handlers:new w(new S({prefixTemplate:"[{loggerName} {formattedTimestamp} {level}]",localeOptions:{timeZone:"Asia/Shanghai"}}))})},options(n,e){let{logger:t,shell:r,feConfig:o,dryRun:i,verbose:s,options:a}=e,c=a||{},l=t||x.logger(n,!!s),g=r||new d({logger:l,dryRun:i,execPromise:c.execPromise||x.exec}),p=(0,k.merge)({},o,{[n]:e.options});return{options:c,dryRun:!!i,shell:g,logger:l,verbose:!!s,feConfig:x.getConfig(p).config}}};var R=class extends A.ExecutorContextImpl{constructor(t,r={}){if(!t||typeof t!="string")throw new Error("ScriptContext name is required");let{feConfig:o,logger:i,shell:s,dryRun:a,verbose:c,options:l}=x.options(t,r);super(l);this.name=t;this.feConfig=o,this.logger=i,this.shell=s,this.dryRun=a,this.verbose=c,this.setOptions(N(t,o,l,i))}logger;shell;feConfig;dryRun;verbose;get options(){return this.parameters}get env(){if(!this.options.env)throw new Error("Environment is not initialized");return this.options.env}setOptions(t){this.setParameters((0,O.merge)(this.options,t))}getEnv(t,r){return this.env.get(t)??r}getOptions(t,r){return t?(0,O.get)(this.options,t,r):this.options}};var j=require("lodash-es"),F=class{constructor(e,t,r={}){this.context=e;this.pluginName=t;this.props=r;this.setConfig(this.getInitialProps(r))}onlyOne=!0;getInitialProps(e){if(typeof this.context.options!="object")return{};let t=this.context.options[this.pluginName],r=this.context.getOptions(this.pluginName),o=t||r;return e?(0,j.merge)({},o,e):o||{}}get logger(){return this.context.logger}get shell(){return this.context.shell}get options(){return this.context.getOptions(this.pluginName,{})}enabled(e,t){let r=this.getConfig("skip");return!(r===!0||typeof r=="string"&&e===r)}getConfig(e,t){return e?this.context.getOptions([this.pluginName,...Array.isArray(e)?e:[e]],t):this.context.getOptions(this.pluginName,t)}setConfig(e){this.context.setOptions({[this.pluginName]:e})}onBefore(e){}onExec(e){}onSuccess(e){}onError(e){}onFinally(e){}async step(e){this.logger.log(),this.logger.info(e.label),this.logger.log();try{let t=await e.task();return this.logger.info(`${e.label} - success`),t}catch(t){throw this.logger.error(t),t}}};0&&(module.exports={ColorFormatter,ConfigSearch,ScriptContext,ScriptPlugin,Shell,defaultFeConfig});
{
"name": "@qlover/scripts-context",
"description": "A scripts context for frontwork",
"version": "2.1.0",
"version": "2.1.1",
"type": "module",

@@ -46,3 +46,3 @@ "private": false,

"@types/shelljs": "^0.8.15",
"@qlover/logger": "1.0.0"
"@qlover/logger": "1.1.1"
},

@@ -53,4 +53,4 @@ "dependencies": {

"lodash-es": "^4.17.22",
"@qlover/env-loader": "1.0.0",
"@qlover/fe-corekit": "3.2.0"
"@qlover/env-loader": "1.0.2",
"@qlover/fe-corekit": "3.2.1"
},

@@ -57,0 +57,0 @@ "scripts": {

Sorry, the diff of this file is too big to display