@jujulego/jill 2.2.0-alpha.5 → 2.2.0-alpha.7
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/508.js +2 -0
- package/dist/508.js.map +1 -0
- package/dist/630.js +2 -0
- package/dist/630.js.map +1 -0
- package/dist/828.js +2 -0
- package/dist/828.js.map +1 -0
- package/dist/833.js +9 -0
- package/dist/833.js.map +1 -0
- package/dist/839.js +2 -0
- package/dist/839.js.map +1 -0
- package/dist/commands/each.d.ts +2 -2
- package/dist/commands/exec.d.ts +16 -0
- package/dist/commands/group.d.ts +1 -1
- package/dist/commands/run.d.ts +4 -1
- package/dist/commons/context.service.d.ts +23 -0
- package/dist/commons/logger/console.formatter.d.ts +2 -0
- package/dist/commons/logger/log.tag.d.ts +1 -0
- package/dist/commons/logger.service.d.ts +18 -4
- package/dist/commons/spinner.service.d.ts +4 -3
- package/dist/index.d.ts +8 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jill.application.d.ts +19 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/middlewares/load-project.d.ts +10 -5
- package/dist/middlewares/load-workspace.d.ts +7 -4
- package/dist/modules/command.d.ts +2 -1
- package/dist/modules/plugin-loader.service.d.ts +2 -1
- package/dist/modules/task-command.d.ts +1 -1
- package/dist/project/project.d.ts +4 -5
- package/dist/project/project.repository.d.ts +15 -0
- package/dist/project/types.d.ts +1 -0
- package/dist/project/workspace.d.ts +8 -10
- package/dist/tasks/command-task.d.ts +15 -0
- package/dist/tasks/script-task.d.ts +20 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/events.d.ts +3 -0
- package/dist/utils/exit.d.ts +4 -0
- package/dist/utils/string.d.ts +1 -0
- package/package.json +25 -21
- package/dist/322.js +0 -9
- package/dist/322.js.map +0 -1
- package/dist/57.js +0 -2
- package/dist/57.js.map +0 -1
- /package/dist/{322.js.LICENSE.txt → 833.js.LICENSE.txt} +0 -0
- /package/dist/{project/constants.d.ts → constants.d.ts} +0 -0
package/dist/main.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var e={id:179,ids:[179]};e.modules={91071:(e,t,r)=>{"use strict";r.r(t);var s=r(96678),o=r(65359),n=r(39717),i=r(62429),a=r(13843),c=r(29724),d=r(52010),p=r(94415),l=r(36793),u=r(32980);class f extends l.n{constructor(e){super(),this.manager=e,this._tasks=new Set,this._status="created",this._results={success:0,failed:0}}_handleComplete(e,t){this.emit("completed",e),t?++this._results.success:++this._results.failed,this._results.success+this._results.failed===this._tasks.size&&(this._status="finished",this.emit("finished",this._results))}add(e){if((0,u.M)(e),"created"!==this._status)throw Error(`Cannot add a task to a ${this._status} task set`);this._tasks.has(e)||(e.subscribe("status",(({status:t})=>{"running"===t?this.emit("started",e):"done"!==t&&"failed"!==t||this._handleComplete(e,"done"===t)})),this._tasks.add(e))}start(){if("created"!==this._status)throw Error(`Cannot start a ${this._status} task set`);if(0===this._tasks.size)this._status="finished",this.emit("finished",this._results);else{this._status="started";for(const e of this._tasks)this.manager.add(e)}}[Symbol.iterator](){return this._tasks.values()}get status(){return this._status}get tasks(){return Array.from(this._tasks.values())}get results(){return this._results}}var h=r(50397);function*m(e,t){if(!t.has(e)){t.add(e);for(const r of e.dependencies)yield*m(r,t);if(yield e.summary,e instanceof h.O)for(const r of e.tasks)yield*m(r,t)}}var y=r(19694),g=r(10466),v=r(85099),w=r(75740),b=r(4887),k=r(55472),O=r(96729),j=r(9),x=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};let A=class extends O.m{addTaskOptions(e){return e.option("plan",{type:"boolean",desc:"Only prints tasks to be run",default:!1}).option("plan-mode",{type:"string",desc:"Plan output mode",choices:["json","list"],default:"list"})}async*render(e){const t=new f(this.manager);for await(const r of this.prepare(e))t.add(r);if(e.plan){const r=Array.from(function*(e){e instanceof u.i&&(e=[e]);const t=new Set;for(const r of e)yield*m(r,t)}(t));if("json"===e.planMode)(0,k.i)(r);else{const e=r.map((e=>({id:e.id.substring(0,6),name:e.name,workspace:e.isGroup?j.ZP.grey("group"):e.context.workspace?.name,group:e.groupId?.substring(0,6),"depends on":e.dependenciesIds.map((e=>e.substring(0,6))).join(", ")})));yield(0,d.jsx)(w.Z,{items:e,headers:!0})}}else if(t.tasks.length>0&&(yield(0,d.jsx)(b.Z,{manager:this.manager}),t.start(),(await(0,p.mA)(t,"finished")).failed>0))return process.exit(1)}};x([(0,g.yT)(v.N)],A.prototype,"manager",void 0),A=x([(0,y.b)()],A);var E=r(53565),S=r(48652),R=r(72999),_=r(40307),P=r(84203),q=r(8754),D=r(97672),Y=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};let N=class extends A{constructor(e){super(),this.spinner=e}builder(e){return this.addTaskOptions(e).positional("script",{type:"string",demandOption:!0}).option("deps-mode",{choice:["all","prod","none"],default:"all",desc:"Dependency selection mode:\n - all = dependencies AND devDependencies\n - prod = dependencies\n - none = nothing"}).option("private",{type:"boolean",group:"Filters:",desc:"Print only private workspaces"}).option("affected",{alias:"a",type:"string",coerce:e=>""===e?"master":e,group:"Filters:",desc:"Print only affected workspaces towards given git revision. If no revision is given, it will check towards master. Replaces %name by workspace name."}).option("affected-rev-sort",{type:"string",group:"Filters:",desc:"Sort applied to git tag / git branch command"}).option("affected-rev-fallback",{type:"string",default:"master",group:"Filters:",desc:"Fallback revision, used if no revision matching the given format is found"})}async*prepare(e){try{this.spinner.spin("Loading workspaces ...");const t=new R.B;t.add(new P.f([e.script])),void 0!==e.private&&t.add(new _.N(e.private)),void 0!==e.affected&&t.add(new S.L(e.affected,e.affectedRevFallback,e.affectedRevSort));const r=e._.map((e=>e.toString()));"each"===r[0]&&r.splice(0,1);let s=!0;for await(const o of t.filter(this.project.workspaces())){const t=await o.run(e.script,r,{buildDeps:e.depsMode});yield t,s=!1}if(s)return this.spinner.failed("No workspace found !"),process.exit(1)}finally{this.spinner.stop()}}};var I,z;Y([(0,D._)()],N.prototype,"project",void 0),N=Y([(0,n.mY)({command:"each <script>",describe:"Run script on many workspaces",middlewares:[q.r]}),(I=0,z=(0,c.f)(E.V),function(e,t){z(e,t,I)})],N);var C=r(72419),U=r(28410),F=r(3678),T=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};let Z=class extends A{constructor(e){super(),this.taskExpr=e}builder(e){return this.addTaskOptions(e).positional("script",{demandOption:!0,coerce:e=>this.taskExpr.parse(e.join(" "))}).option("deps-mode",{choice:["all","prod","none"],default:"all",desc:"Dependency selection mode:\n - all = dependencies AND devDependencies\n - prod = dependencies\n - none = nothing"})}async*prepare(e){const t=await this.taskExpr.buildTask(e.script.roots[0],this.workspace,{buildDeps:e.depsMode});yield t}};T([(0,U.I)()],Z.prototype,"workspace",void 0),Z=T([(0,n.mY)({command:"group <script..>",describe:"Run many scripts inside a workspace (experimental)",middlewares:[q.r,C.S]}),function(e,t){return function(r,s){t(r,s,e)}}(0,(0,c.f)(F.P))],Z);var J=r(49411),H=r.n(J),L=r(50248),G=r.n(L),M=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};const W=["name","version","root"],B=["name","version","slug","root"],K=["name"],$={name:e=>e.name,version:(e,t)=>e.manifest.version||(t?void 0:j.ZP.grey("unset")),root:e=>e.cwd,slug:e=>G()(e.name)};let V=class extends O.m{builder(e){return e.option("private",{type:"boolean",group:"Filters:",desc:"Print only private workspaces"}).option("with-script",{type:"array",string:!0,group:"Filters:",desc:"Print only workspaces having the given script"}).option("affected",{alias:"a",type:"string",coerce:e=>""===e?"master":e,group:"Filters:",desc:"Print only affected workspaces towards given git revision. If no revision is given, it will check towards master. Replaces %name by workspace name."}).option("affected-rev-sort",{type:"string",group:"Filters:",desc:"Sort applied to git tag / git branch command"}).option("affected-rev-fallback",{type:"string",default:"master",group:"Filters:",desc:"Fallback revision, used if no revision matching the given format is found"}).option("attrs",{type:"array",choices:["name","version","root","slug"],default:[],group:"Format:",desc:"Select printed attributes"}).option("headers",{type:"boolean",group:"Format:",desc:"Prints columns headers"}).option("long",{alias:"l",type:"boolean",group:"Format:",desc:"Prints name, version and root of all workspaces"}).option("json",{type:"boolean",group:"Format:",desc:"Prints data as a JSON array"})}async*render(e){const t=new R.B;void 0!==e.private&&t.add(new _.N(e.private)),e.withScript&&t.add(new P.f(e.withScript)),void 0!==e.affected&&t.add(new S.L(e.affected,e.affectedRevFallback,e.affectedRevSort));const r=[];for await(const e of t.filter(this.project.workspaces()))r.push(e);let s=e.attrs;0===s.length&&(s=e.long?W:e.json?B:K);const o=r.map((t=>function(e){return(t,r)=>{const s={};for(const o of e)s[o]=$[o](t,r);return s}}(s)(t,e.json||!1)));if(e.json)(0,k.i)(o);else{for(const e of o)e.root&&(e.root=H().relative(process.cwd(),e.root)||".");yield(0,d.jsx)(w.Z,{items:o,headers:e.headers??s.length>1})}}};M([(0,D._)()],V.prototype,"project",void 0),V=M([(0,n.mY)({command:"list",aliases:["ls"],describe:"List workspace",middlewares:[q.r]})],V);var X=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};let Q=class extends A{builder(e){return this.addTaskOptions(e).positional("script",{type:"string",demandOption:!0}).option("deps-mode",{choice:["all","prod","none"],default:"all",desc:"Dependency selection mode:\n - all = dependencies AND devDependencies\n - prod = dependencies\n - none = nothing"})}async*prepare(e){const t=e._.map((e=>e.toString()));"run"===t[0]&&t.splice(0,1);const r=await this.workspace.run(e.script,t,{buildDeps:e.depsMode});yield r}};X([(0,U.I)()],Q.prototype,"workspace",void 0),Q=X([(0,n.mY)({command:"run <script>",describe:"Run script inside workspace",middlewares:[q.r,C.S]})],Q);var ee=r(66238),te=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i};let re=class extends O.m{*render(){yield(0,d.jsx)(ee.Z,{workspace:this.workspace})}};te([(0,U.I)()],re.prototype,"workspace",void 0),re=te([(0,n.mY)({command:"tree",describe:"Print workspace dependency tree",middlewares:[q.r,C.S]})],re);var se=r(75756);let oe=class{};oe=function(e,t,r,s){var o,n=arguments.length,i=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(n<3?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i}([(0,se.S)({name:"core",commands:[N,Z,V,Q,re]})],oe);var ne=r(23617),ie=r(77051);const ae=JSON.parse('{"i8":"2.2.0-alpha.5"}');(async()=>{try{const e=(0,s.Z)((0,o.bA)(process.argv)).scriptName("jill").completion("completion","Generate bash completion script").help("help","Show help for a command").version("version","Show version",ae.i8).wrap(process.stdout.columns);(0,a.N)(e),g.nC.load((0,ne.rT)(oe,!0));const t=await g.nC.getAsync(ie.B);await t.loadPlugins(),await e.command(await g.nC.getAllAsync(n.NI)).demandCommand().recommendCommands().strict().parse()}catch(e){g.nC.get(i.Y).error(e),process.exit(1)}})()},50248:function(e){var t;t=function(){var e=JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}'),t=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function r(r,s){if("string"!=typeof r)throw new Error("slugify: string argument expected");var o=t[(s="string"==typeof s?{replacement:s}:s||{}).locale]||{},n=void 0===s.replacement?"-":s.replacement,i=void 0===s.trim||s.trim,a=r.normalize().split("").reduce((function(t,r){var i=o[r]||e[r]||r;return i===n&&(i=" "),t+i.replace(s.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")}),"");return s.strict&&(a=a.replace(/[^A-Za-z0-9\s]/g,"")),i&&(a=a.trim()),a=a.replace(/\s+/g,n),s.lower&&(a=a.toLowerCase()),a}return r.extend=function(t){Object.assign(e,t)},r},e.exports=t(),e.exports.default=t()},39491:e=>{"use strict";e.exports=require("assert")},14300:e=>{"use strict";e.exports=require("buffer")},32081:e=>{"use strict";e.exports=require("child_process")},82361:e=>{"use strict";e.exports=require("events")},57147:e=>{"use strict";e.exports=require("fs")},13685:e=>{"use strict";e.exports=require("http")},95687:e=>{"use strict";e.exports=require("https")},98188:e=>{"use strict";e.exports=require("module")},17718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},93977:e=>{"use strict";e.exports=require("node:fs/promises")},70612:e=>{"use strict";e.exports=require("node:os")},49411:e=>{"use strict";e.exports=require("node:path")},97742:e=>{"use strict";e.exports=require("node:process")},25997:e=>{"use strict";e.exports=require("node:tty")},24086:e=>{"use strict";e.exports=require("node:worker_threads")},22037:e=>{"use strict";e.exports=require("os")},71017:e=>{"use strict";e.exports=require("path")},12781:e=>{"use strict";e.exports=require("stream")},71576:e=>{"use strict";e.exports=require("string_decoder")},76224:e=>{"use strict";e.exports=require("tty")},57310:e=>{"use strict";e.exports=require("url")},73837:e=>{"use strict";e.exports=require("util")},59796:e=>{"use strict";e.exports=require("zlib")}};var t=require("./runtime.js");t.C(e);var r=t.X(0,[322,57],(()=>(91071,t(t.s=91071))));module.exports=r})();
|
|
1
|
+
"use strict";(()=>{var e={id:179,ids:[179]};e.modules={20635:(e,r,s)=>{s.r(r);var o=s(9),t=s(14281),i=s(10466),p=s(88727),u=s(16505);(async()=>{const e=await i.nC.getAsync(p.T);try{await e.run((0,t.bA)(process.argv))}catch(r){r instanceof u.T?process.exit(r.code):(console.error(await e.parser.getHelp()),console.error(o.ZP.red(r.message)),process.exit(1))}})()},39491:e=>{e.exports=require("assert")},14300:e=>{e.exports=require("buffer")},32081:e=>{e.exports=require("child_process")},82361:e=>{e.exports=require("events")},57147:e=>{e.exports=require("fs")},13685:e=>{e.exports=require("http")},95687:e=>{e.exports=require("https")},98188:e=>{e.exports=require("module")},92761:e=>{e.exports=require("node:async_hooks")},17718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},93977:e=>{e.exports=require("node:fs/promises")},70612:e=>{e.exports=require("node:os")},49411:e=>{e.exports=require("node:path")},97742:e=>{e.exports=require("node:process")},25997:e=>{e.exports=require("node:tty")},24086:e=>{e.exports=require("node:worker_threads")},22037:e=>{e.exports=require("os")},71017:e=>{e.exports=require("path")},12781:e=>{e.exports=require("stream")},71576:e=>{e.exports=require("string_decoder")},76224:e=>{e.exports=require("tty")},57310:e=>{e.exports=require("url")},73837:e=>{e.exports=require("util")},59796:e=>{e.exports=require("zlib")}};var r=require("./runtime.js");r.C(e);var s=r.X(0,[833,839],(()=>(20635,r(r.s=20635))));module.exports=s})();
|
|
2
2
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","mappings":"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OC,QAAP,QAA4BvB,G,yBCJhCsB,EAAOC,QAAUC,QAAQ,S,yBCAzBF,EAAOC,QAAUC,QAAQ,S,yBCAzBF,EAAOC,QAAUC,QAAQ,gB,yBCAzBF,EAAOC,QAAUC,QAAQ,S,yBCAzBF,EAAOC,QAAUC,QAAQ,K,yBCAzBF,EAAOC,QAAUC,QAAQ,O,yBCAzBF,EAAOC,QAAUC,QAAQ,Q,yBCAzBF,EAAOC,QAAUC,QAAQ,S,yBCAzBF,EAAOC,QAAUC,QAAQ,qB,wBCAzBF,EAAOC,QAAUC,QAAQ,c,yBCAzBF,EAAOC,QAAUC,QAAQ,mB,yBCAzBF,EAAOC,QAAUC,QAAQ,U,yBCAzBF,EAAOC,QAAUC,QAAQ,Y,yBCAzBF,EAAOC,QAAUC,QAAQ,e,yBCAzBF,EAAOC,QAAUC,QAAQ,W,yBCAzBF,EAAOC,QAAUC,QAAQ,sB,yBCAzBF,EAAOC,QAAUC,QAAQ,K,yBCAzBF,EAAOC,QAAUC,QAAQ,O,yBCAzBF,EAAOC,QAAUC,QAAQ,S,yBCAzBF,EAAOC,QAAUC,QAAQ,iB,yBCAzBF,EAAOC,QAAUC,QAAQ,M,yBCAzBF,EAAOC,QAAUC,QAAQ,M,yBCAzBF,EAAOC,QAAUC,QAAQ,O,yBCAzBF,EAAOC,QAAUC,QAAQ,O","sources":["webpack://@jujulego/jill/./.yarn/cache/@jujulego-tasks-npm-1.3.0-5865a0b0f6-2dc1861474.zip/node_modules/@jujulego/tasks/dist/esm/task-set.js","webpack://@jujulego/jill/./.yarn/cache/@jujulego-tasks-npm-1.3.0-5865a0b0f6-2dc1861474.zip/node_modules/@jujulego/tasks/dist/esm/plan.js","webpack://@jujulego/jill/./src/modules/task-command.tsx","webpack://@jujulego/jill/./src/commands/each.tsx","webpack://@jujulego/jill/./src/commands/group.tsx","webpack://@jujulego/jill/./src/commands/list.tsx","webpack://@jujulego/jill/./src/commands/run.tsx","webpack://@jujulego/jill/./src/commands/tree.tsx","webpack://@jujulego/jill/./src/core.plugin.ts","webpack://@jujulego/jill/./src/main.ts","webpack://@jujulego/jill/./.yarn/cache/slugify-npm-1.6.5-6db25d7016-a955a1b600.zip/node_modules/slugify/slugify.js","webpack://@jujulego/jill/external node-commonjs \"assert\"","webpack://@jujulego/jill/external node-commonjs \"buffer\"","webpack://@jujulego/jill/external node-commonjs \"child_process\"","webpack://@jujulego/jill/external node-commonjs \"events\"","webpack://@jujulego/jill/external node-commonjs \"fs\"","webpack://@jujulego/jill/external node-commonjs \"http\"","webpack://@jujulego/jill/external node-commonjs \"https\"","webpack://@jujulego/jill/external node-commonjs \"module\"","webpack://@jujulego/jill/external node-commonjs \"node:child_process\"","webpack://@jujulego/jill/external node-commonjs \"node:crypto\"","webpack://@jujulego/jill/external node-commonjs \"node:fs/promises\"","webpack://@jujulego/jill/external node-commonjs \"node:os\"","webpack://@jujulego/jill/external node-commonjs \"node:path\"","webpack://@jujulego/jill/external node-commonjs \"node:process\"","webpack://@jujulego/jill/external node-commonjs \"node:tty\"","webpack://@jujulego/jill/external node-commonjs \"node:worker_threads\"","webpack://@jujulego/jill/external node-commonjs \"os\"","webpack://@jujulego/jill/external node-commonjs \"path\"","webpack://@jujulego/jill/external node-commonjs \"stream\"","webpack://@jujulego/jill/external node-commonjs \"string_decoder\"","webpack://@jujulego/jill/external node-commonjs \"tty\"","webpack://@jujulego/jill/external node-commonjs \"url\"","webpack://@jujulego/jill/external node-commonjs \"util\"","webpack://@jujulego/jill/external node-commonjs \"zlib\""],"sourcesContent":["import { EventSource } from '@jujulego/event-tree';\nimport { assertIsTask } from './task';\n// Class\nexport class TaskSet extends EventSource {\n // Constructor\n constructor(manager){\n super();\n this.manager = manager;\n this._tasks = new Set();\n this._status = 'created';\n this._results = {\n success: 0,\n failed: 0\n };\n }\n // Methods\n _handleComplete(task, success) {\n this.emit('completed', task);\n // Trigger finished\n if (success) {\n ++this._results.success;\n } else {\n ++this._results.failed;\n }\n if (this._results.success + this._results.failed === this._tasks.size) {\n this._status = 'finished';\n this.emit('finished', this._results);\n }\n }\n add(task) {\n assertIsTask(task);\n if (this._status !== 'created') {\n throw Error(`Cannot add a task to a ${this._status} task set`);\n }\n if (this._tasks.has(task)) {\n return;\n }\n // Listen to task's status\n task.subscribe('status', ({ status })=>{\n if (status === 'running') {\n this.emit('started', task);\n } else if (status === 'done' || status === 'failed') {\n this._handleComplete(task, status === 'done');\n }\n });\n // Add task\n this._tasks.add(task);\n }\n start() {\n if (this._status !== 'created') {\n throw Error(`Cannot start a ${this._status} task set`);\n }\n if (this._tasks.size === 0) {\n this._status = 'finished';\n this.emit('finished', this._results);\n } else {\n // Update status\n this._status = 'started';\n // Add tasks to task manager\n for (const t of this._tasks){\n this.manager.add(t);\n }\n }\n }\n [Symbol.iterator]() {\n return this._tasks.values();\n }\n // Properties\n get status() {\n return this._status;\n }\n get tasks() {\n return Array.from(this._tasks.values());\n }\n get results() {\n return this._results;\n }\n}\n\n//# sourceMappingURL=task-set.js.map\n","import { Task } from './task';\nimport { GroupTask } from './group-task';\n// Utils\nexport function* _plan(task, marks) {\n // Ensure task is treated only once\n if (marks.has(task)) return;\n marks.add(task);\n // Handle dependencies\n for (const dep of task.dependencies){\n yield* _plan(dep, marks);\n }\n // Handle task it self\n yield task.summary;\n // Handle group's children\n if (task instanceof GroupTask) {\n for (const child of task.tasks){\n yield* _plan(child, marks);\n }\n }\n}\nexport function* plan(tasks) {\n if (tasks instanceof Task) {\n tasks = [\n tasks\n ];\n }\n // Recursively pass on all tasks\n const marks = new Set();\n for (const task of tasks){\n yield* _plan(task, marks);\n }\n}\n\n//# sourceMappingURL=plan.js.map\n","import { waitForEvent } from '@jujulego/event-tree';\nimport { plan as extractPlan, type Task, type TaskManager, TaskSet } from '@jujulego/tasks';\nimport { injectable } from 'inversify';\nimport { type ArgumentsCamelCase, type Argv } from 'yargs';\n\nimport { lazyInject } from '@/src/inversify.config';\nimport { TASK_MANAGER } from '@/src/tasks/task-manager.config';\nimport { type AwaitableGenerator } from '@/src/types';\nimport List from '@/src/ui/list';\nimport TaskManagerSpinner from '@/src/ui/task-manager-spinner';\nimport { printJson } from '@/src/utils/json';\n\nimport { InkCommand } from './ink-command';\nimport chalk from 'chalk';\n\n// Types\nexport interface ITaskCommandArgs {\n plan: boolean;\n 'plan-mode': 'json' | 'list';\n}\n\n// Class\n@injectable()\nexport abstract class TaskCommand<A = unknown> extends InkCommand<A> {\n // Attributes\n @lazyInject(TASK_MANAGER)\n readonly manager: TaskManager;\n\n // Methods\n abstract prepare(args: ArgumentsCamelCase<A>): AwaitableGenerator<Task>;\n\n protected addTaskOptions(parser: Argv): Argv<ITaskCommandArgs> {\n return parser\n .option('plan', {\n type: 'boolean',\n desc: 'Only prints tasks to be run',\n default: false,\n })\n .option('plan-mode', {\n type: 'string',\n desc: 'Plan output mode',\n choices: ['json', 'list'] as const,\n default: 'list' as const\n });\n }\n\n async* render(args: ArgumentsCamelCase<A & ITaskCommandArgs>) {\n // Prepare tasks\n const tasks = new TaskSet(this.manager);\n\n for await (const tsk of this.prepare(args)) {\n tasks.add(tsk);\n }\n\n if (args.plan) {\n const plan = Array.from(extractPlan(tasks));\n\n if (args.planMode === 'json') {\n printJson(plan);\n } else {\n const data = plan.map((tsk) => ({\n id: tsk.id.substring(0, 6),\n name: tsk.name,\n workspace: tsk.isGroup ? chalk.grey('group') : tsk.context.workspace?.name,\n group: tsk.groupId?.substring(0, 6),\n 'depends on': tsk.dependenciesIds.map(id => id.substring(0, 6)).join(', ')\n }));\n\n yield <List items={data} headers/>;\n }\n } else if (tasks.tasks.length > 0) {\n // Render\n yield <TaskManagerSpinner manager={this.manager} />;\n\n // Start tasks\n tasks.start();\n\n const result = await waitForEvent(tasks, 'finished');\n\n if (result.failed > 0) {\n return process.exit(1);\n }\n }\n }\n}\n","import { inject } from 'inversify';\nimport { type ArgumentsCamelCase, type Argv } from 'yargs';\n\nimport { Command } from '@/src/modules/command';\nimport { TaskCommand } from '@/src/modules/task-command';\nimport { SpinnerService } from '@/src/commons/spinner.service';\nimport { AffectedFilter } from '@/src/filters/affected.filter';\nimport { Pipeline } from '@/src/filters/pipeline';\nimport { PrivateFilter } from '@/src/filters/private.filter';\nimport { ScriptsFilter } from '@/src/filters/scripts.filter';\nimport { LoadProject } from '@/src/middlewares/load-project';\nimport { LazyCurrentProject, type Project } from '@/src/project/project';\nimport { type WorkspaceDepsMode } from '@/src/project/workspace';\n\n// Types\nexport interface IEachCommandArgs {\n script: string;\n 'deps-mode': WorkspaceDepsMode;\n\n // Filters\n private?: boolean;\n\n // Affected filter\n affected: string;\n 'affected-rev-fallback': string;\n 'affected-rev-sort'?: string;\n}\n\n\n// Command\n@Command({\n command: 'each <script>',\n describe: 'Run script on many workspaces',\n middlewares: [\n LoadProject\n ]\n})\nexport class EachCommand extends TaskCommand<IEachCommandArgs> {\n // Lazy injections\n @LazyCurrentProject()\n readonly project: Project;\n\n // Constructor\n constructor(\n @inject(SpinnerService)\n private readonly spinner: SpinnerService,\n ) {\n super();\n }\n\n // Methods\n builder(parser: Argv): Argv<IEachCommandArgs> {\n return this.addTaskOptions(parser)\n // Run options\n .positional('script', { type: 'string', demandOption: true })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all' as const,\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n })\n\n // Filters\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('affected', {\n alias: 'a',\n type: 'string',\n coerce: (rev) => rev === '' ? 'master' : rev,\n group: 'Filters:',\n desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master. Replaces %name by workspace name.',\n })\n .option('affected-rev-sort', {\n type: 'string',\n group: 'Filters:',\n desc: 'Sort applied to git tag / git branch command',\n })\n .option('affected-rev-fallback', {\n type: 'string',\n default: 'master',\n group: 'Filters:',\n desc: 'Fallback revision, used if no revision matching the given format is found',\n });\n }\n\n async *prepare(args: ArgumentsCamelCase<IEachCommandArgs>) {\n try {\n this.spinner.spin('Loading workspaces ...');\n\n // Setup pipeline\n const pipeline = new Pipeline();\n pipeline.add(new ScriptsFilter([args.script]));\n\n if (args.private !== undefined) {\n pipeline.add(new PrivateFilter(args.private));\n }\n\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(\n args.affected,\n args.affectedRevFallback,\n args.affectedRevSort\n ));\n }\n\n // Extract arguments\n const rest = args._.map(arg => arg.toString());\n\n if (rest[0] === 'each') {\n rest.splice(0, 1);\n }\n\n // Create script tasks\n let empty = true;\n\n for await (const wks of pipeline.filter(this.project.workspaces())) {\n const task = await wks.run(args.script, rest, {\n buildDeps: args.depsMode,\n });\n\n yield task;\n empty = false;\n }\n\n if (empty) {\n this.spinner.failed('No workspace found !');\n return process.exit(1);\n }\n } finally {\n this.spinner.stop();\n }\n }\n}\n","import { inject } from 'inversify';\nimport { type ArgumentsCamelCase, type Argv } from 'yargs';\n\nimport { Command } from '@/src/modules/command';\nimport { TaskCommand } from '@/src/modules/task-command';\nimport { LoadProject } from '@/src/middlewares/load-project';\nimport { LoadWorkspace } from '@/src/middlewares/load-workspace';\nimport { LazyCurrentWorkspace, type Workspace, type WorkspaceDepsMode } from '@/src/project/workspace';\nimport { TaskExprService, type TaskTree } from '@/src/tasks/task-expr.service';\n\n// Types\nexport interface IGroupCommandArgs {\n script: TaskTree;\n 'deps-mode': WorkspaceDepsMode;\n}\n\n// Command\n@Command({\n command: 'group <script..>',\n describe: 'Run many scripts inside a workspace (experimental)',\n middlewares: [\n LoadProject,\n LoadWorkspace\n ]\n})\nexport class GroupCommand extends TaskCommand<IGroupCommandArgs> {\n // Lazy injections\n @LazyCurrentWorkspace()\n readonly workspace: Workspace;\n\n // Constructor\n constructor(\n @inject(TaskExprService)\n private readonly taskExpr: TaskExprService,\n ) {\n super();\n }\n\n // Methods\n builder(parser: Argv): Argv<IGroupCommandArgs> {\n return this.addTaskOptions(parser)\n .positional('script', {\n demandOption: true,\n coerce: (expr: string[]) => {\n return this.taskExpr.parse(expr.join(' '));\n }\n })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all' as const,\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n });\n }\n\n async *prepare(args: ArgumentsCamelCase<IGroupCommandArgs>) {\n // Run script in workspace\n const group = await this.taskExpr.buildTask(args.script.roots[0], this.workspace, {\n buildDeps: args.depsMode,\n });\n\n yield group;\n }\n}\n","import chalk from 'chalk';\nimport path from 'node:path';\nimport slugify from 'slugify';\nimport { type ArgumentsCamelCase, type Argv } from 'yargs';\n\nimport { Command } from '@/src/modules/command';\nimport { InkCommand } from '@/src/modules/ink-command';\nimport { AffectedFilter } from '@/src/filters/affected.filter';\nimport { Pipeline } from '@/src/filters/pipeline';\nimport { PrivateFilter } from '@/src/filters/private.filter';\nimport { ScriptsFilter } from '@/src/filters/scripts.filter';\nimport { LoadProject } from '@/src/middlewares/load-project';\nimport { LazyCurrentProject, type Project } from '@/src/project/project';\nimport { type Workspace } from '@/src/project/workspace';\nimport List from '@/src/ui/list';\nimport { printJson } from '@/src/utils/json';\n\n// Types\nexport type Attribute = 'name' | 'version' | 'root' | 'slug';\nexport type Data = Partial<Record<Attribute, string>>;\n\ntype Extractor<T> = (wks: Workspace, json: boolean) => T;\n\nexport interface IListCommandArgs {\n // Filters\n private?: boolean;\n 'with-script'?: string[];\n\n // Affected filter\n affected: string;\n 'affected-rev-fallback': string;\n 'affected-rev-sort'?: string;\n\n // Format\n attrs: Attribute[];\n headers?: boolean;\n long?: boolean;\n json?: boolean;\n}\n\n// Constants\nconst LONG_ATTRIBUTES: Attribute[] = ['name', 'version', 'root'];\nconst JSON_ATTRIBUTES: Attribute[] = ['name', 'version', 'slug', 'root'];\nconst DEFAULT_ATTRIBUTES: Attribute[] = ['name'];\n\nconst EXTRACTORS = {\n name: wks => wks.name,\n version: (wks, json) => wks.manifest.version || (json ? undefined : chalk.grey('unset')),\n root: wks => wks.cwd,\n slug: wks => slugify(wks.name)\n} satisfies Record<Attribute, Extractor<string | undefined>>;\n\n// Utils\nfunction buildExtractor(attrs: Attribute[]): Extractor<Data> {\n return (wks, json: boolean) => {\n const data: Data = {};\n\n for (const attr of attrs) {\n data[attr] = EXTRACTORS[attr](wks, json);\n }\n\n return data;\n };\n}\n\n// Command\n@Command({\n command: 'list',\n aliases: ['ls'],\n describe: 'List workspace',\n middlewares: [\n LoadProject,\n ]\n})\nexport class ListCommand extends InkCommand<IListCommandArgs> {\n // Lazy injections\n @LazyCurrentProject()\n readonly project: Project;\n\n // Methods\n builder(parser: Argv): Argv<IListCommandArgs> {\n return parser\n // Filters\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('with-script', {\n type: 'array',\n string: true,\n group: 'Filters:',\n desc: 'Print only workspaces having the given script',\n })\n .option('affected', {\n alias: 'a',\n type: 'string',\n coerce: (rev) => rev === '' ? 'master' : rev,\n group: 'Filters:',\n desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master. Replaces %name by workspace name.',\n })\n .option('affected-rev-sort', {\n type: 'string',\n group: 'Filters:',\n desc: 'Sort applied to git tag / git branch command',\n })\n .option('affected-rev-fallback', {\n type: 'string',\n default: 'master',\n group: 'Filters:',\n desc: 'Fallback revision, used if no revision matching the given format is found',\n })\n\n // Format\n .option('attrs', {\n type: 'array',\n choices: ['name', 'version', 'root', 'slug'] as const,\n default: [],\n group: 'Format:',\n desc: 'Select printed attributes'\n })\n .option('headers', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints columns headers'\n })\n .option('long', {\n alias: 'l',\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints name, version and root of all workspaces',\n })\n .option('json', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints data as a JSON array',\n });\n }\n\n async *render(args: ArgumentsCamelCase<IListCommandArgs>) {\n // Setup pipeline\n const pipeline = new Pipeline();\n\n if (args.private !== undefined) {\n pipeline.add(new PrivateFilter(args.private));\n }\n\n if (args.withScript) {\n pipeline.add(new ScriptsFilter(args.withScript));\n }\n\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(\n args.affected,\n args.affectedRevFallback,\n args.affectedRevSort\n ));\n }\n\n // Load workspaces\n const workspaces: Workspace[] = [];\n\n for await (const wks of pipeline.filter(this.project.workspaces())) {\n workspaces.push(wks);\n }\n\n // Build data\n let attrs = args.attrs;\n\n if (attrs.length === 0) {\n if (args.long) {\n attrs = LONG_ATTRIBUTES;\n } else if (args.json) {\n attrs = JSON_ATTRIBUTES;\n } else {\n attrs = DEFAULT_ATTRIBUTES;\n }\n }\n\n const data = workspaces.map(wks => buildExtractor(attrs)(wks, args.json || false));\n\n // Print list\n if (args.json) {\n printJson(data);\n } else {\n for (const d of data) {\n if (d.root) {\n d.root = path.relative(process.cwd(), d.root) || '.';\n }\n }\n\n yield <List items={data} headers={args.headers ?? (attrs.length > 1)} />;\n }\n }\n}\n","import { type ArgumentsCamelCase, type Argv } from 'yargs';\n\nimport { Command } from '@/src/modules/command';\nimport { TaskCommand } from '@/src/modules/task-command';\nimport { LoadProject } from '@/src/middlewares/load-project';\nimport { LoadWorkspace } from '@/src/middlewares/load-workspace';\nimport { LazyCurrentWorkspace, type Workspace, type WorkspaceDepsMode } from '@/src/project/workspace';\n\n// Types\nexport interface IRunCommandArgs {\n script: string;\n 'deps-mode': WorkspaceDepsMode;\n}\n\n// Command\n@Command({\n command: 'run <script>',\n describe: 'Run script inside workspace',\n middlewares: [\n LoadProject,\n LoadWorkspace\n ]\n})\nexport class RunCommand extends TaskCommand<IRunCommandArgs> {\n // Lazy injections\n @LazyCurrentWorkspace()\n readonly workspace: Workspace;\n\n // Methods\n builder(parser: Argv) {\n return this.addTaskOptions(parser)\n .positional('script', { type: 'string', demandOption: true })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all' as const,\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n });\n }\n\n async *prepare(args: ArgumentsCamelCase<IRunCommandArgs>) {\n // Extract arguments\n const rest = args._.map(arg => arg.toString());\n\n if (rest[0] === 'run') {\n rest.splice(0, 1);\n }\n\n // Run script in workspace\n const task = await this.workspace.run(args.script, rest, {\n buildDeps: args.depsMode,\n });\n\n yield task;\n }\n}\n","import { Command } from '@/src/modules/command';\nimport { InkCommand } from '@/src/modules/ink-command';\nimport { LoadProject } from '@/src/middlewares/load-project';\nimport { LoadWorkspace } from '@/src/middlewares/load-workspace';\nimport { LazyCurrentWorkspace, type Workspace } from '@/src/project/workspace';\nimport WorkspaceTree from '@/src/ui/workspace-tree';\n\n// Command\n@Command({\n command: 'tree',\n describe: 'Print workspace dependency tree',\n middlewares: [\n LoadProject,\n LoadWorkspace\n ]\n})\nexport class TreeCommand extends InkCommand {\n // Lazy injections\n @LazyCurrentWorkspace()\n readonly workspace: Workspace;\n\n // Methods\n *render() {\n yield <WorkspaceTree workspace={this.workspace} />;\n }\n}\n","import { EachCommand } from '@/src/commands/each';\nimport { GroupCommand } from '@/src/commands/group';\nimport { ListCommand } from '@/src/commands/list';\nimport { RunCommand } from '@/src/commands/run';\nimport { TreeCommand } from '@/src/commands/tree';\nimport { Plugin } from '@/src/modules/plugin';\n\n// Plugin\n@Plugin({\n name: 'core',\n commands: [\n EachCommand,\n GroupCommand,\n ListCommand,\n RunCommand,\n TreeCommand,\n ]\n})\nexport class CorePlugin {}\n","import yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\n\nimport { COMMAND } from '@/src/modules/command';\nimport { Logger } from '@/src/commons/logger.service';\nimport { applyConfigOptions } from '@/src/config/config-options';\nimport { CorePlugin } from '@/src/core.plugin';\nimport { container } from '@/src/inversify.config';\nimport { getModule } from '@/src/modules/module';\nimport { PluginLoaderService } from '@/src/modules/plugin-loader.service';\n\n// @ts-ignore: Outside of typescript's rootDir in build\nimport pkg from '../package.json';\n\n// Bootstrap\n(async () => {\n try {\n // Setup yargs\n const parser = yargs(hideBin(process.argv))\n .scriptName('jill')\n .completion('completion', 'Generate bash completion script')\n .help('help', 'Show help for a command')\n .version('version', 'Show version', pkg.version)\n .wrap(process.stdout.columns);\n\n // Options (for doc)\n applyConfigOptions(parser);\n\n // Load plugins\n container.load(getModule(CorePlugin, true));\n\n const pluginLoader = await container.getAsync(PluginLoaderService);\n await pluginLoader.loadPlugins();\n\n // Commands\n await parser\n .command(await container.getAllAsync(COMMAND) as any)\n .demandCommand()\n .recommendCommands()\n .strict()\n .parse();\n } catch (err) {\n const logger = container.get(Logger);\n logger.error(err);\n\n process.exit(1);\n }\n})();\n","\n;(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory()\n module.exports['default'] = factory()\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory)\n }\n else {\n root[name] = factory()\n }\n}('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"Ա\":\"A\",\"Բ\":\"B\",\"Գ\":\"G\",\"Դ\":\"D\",\"Ե\":\"E\",\"Զ\":\"Z\",\"Է\":\"E\\'\",\"Ը\":\"Y\\'\",\"Թ\":\"T\\'\",\"Ժ\":\"JH\",\"Ի\":\"I\",\"Լ\":\"L\",\"Խ\":\"X\",\"Ծ\":\"C\\'\",\"Կ\":\"K\",\"Հ\":\"H\",\"Ձ\":\"D\\'\",\"Ղ\":\"GH\",\"Ճ\":\"TW\",\"Մ\":\"M\",\"Յ\":\"Y\",\"Ն\":\"N\",\"Շ\":\"SH\",\"Չ\":\"CH\",\"Պ\":\"P\",\"Ջ\":\"J\",\"Ռ\":\"R\\'\",\"Ս\":\"S\",\"Վ\":\"V\",\"Տ\":\"T\",\"Ր\":\"R\",\"Ց\":\"C\",\"Փ\":\"P\\'\",\"Ք\":\"Q\\'\",\"Օ\":\"O\\'\\'\",\"Ֆ\":\"F\",\"և\":\"EV\",\"ء\":\"a\",\"آ\":\"aa\",\"أ\":\"a\",\"ؤ\":\"u\",\"إ\":\"i\",\"ئ\":\"e\",\"ا\":\"a\",\"ب\":\"b\",\"ة\":\"h\",\"ت\":\"t\",\"ث\":\"th\",\"ج\":\"j\",\"ح\":\"h\",\"خ\":\"kh\",\"د\":\"d\",\"ذ\":\"th\",\"ر\":\"r\",\"ز\":\"z\",\"س\":\"s\",\"ش\":\"sh\",\"ص\":\"s\",\"ض\":\"dh\",\"ط\":\"t\",\"ظ\":\"z\",\"ع\":\"a\",\"غ\":\"gh\",\"ف\":\"f\",\"ق\":\"q\",\"ك\":\"k\",\"ل\":\"l\",\"م\":\"m\",\"ن\":\"n\",\"ه\":\"h\",\"و\":\"w\",\"ى\":\"a\",\"ي\":\"y\",\"ً\":\"an\",\"ٌ\":\"on\",\"ٍ\":\"en\",\"َ\":\"a\",\"ُ\":\"u\",\"ِ\":\"e\",\"ْ\":\"\",\"٠\":\"0\",\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"پ\":\"p\",\"چ\":\"ch\",\"ژ\":\"zh\",\"ک\":\"k\",\"گ\":\"g\",\"ی\":\"y\",\"۰\":\"0\",\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ṣ\":\"S\",\"ṣ\":\"s\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"–\":\"-\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"„\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\",\"ﻵ\":\"laa\",\"ﻷ\":\"laa\",\"ﻹ\":\"lai\",\"ﻻ\":\"la\"}')\n var locales = JSON.parse('{\"bg\":{\"Й\":\"Y\",\"Ц\":\"Ts\",\"Щ\":\"Sht\",\"Ъ\":\"A\",\"Ь\":\"Y\",\"й\":\"y\",\"ц\":\"ts\",\"щ\":\"sht\",\"ъ\":\"a\",\"ь\":\"y\"},\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"ß\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"¢\":\"centavos\",\"£\":\"libras\",\"¤\":\"moneda\",\"₣\":\"francos\",\"∑\":\"suma\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"¢\":\"centavo\",\"∑\":\"soma\",\"£\":\"libra\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"uk\":{\"И\":\"Y\",\"и\":\"y\",\"Й\":\"Y\",\"й\":\"y\",\"Ц\":\"Ts\",\"ц\":\"ts\",\"Х\":\"Kh\",\"х\":\"kh\",\"Щ\":\"Shch\",\"щ\":\"shch\",\"Г\":\"H\",\"г\":\"h\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"da\":{\"Ø\":\"OE\",\"ø\":\"oe\",\"Å\":\"AA\",\"å\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"større end\"},\"nb\":{\"&\":\"og\",\"Å\":\"AA\",\"Æ\":\"AE\",\"Ø\":\"OE\",\"å\":\"aa\",\"æ\":\"ae\",\"ø\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"Å\":\"AA\",\"Ä\":\"AE\",\"Ö\":\"OE\",\"å\":\"aa\",\"ä\":\"ae\",\"ö\":\"oe\"}}')\n\n function replace (string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected')\n }\n\n options = (typeof options === 'string')\n ? {replacement: options}\n : options || {}\n\n var locale = locales[options.locale] || {}\n\n var replacement = options.replacement === undefined ? '-' : options.replacement\n\n var trim = options.trim === undefined ? true : options.trim\n\n var slug = string.normalize().split('')\n // replace characters based on charMap\n .reduce(function (result, ch) {\n var appendChar = locale[ch] || charMap[ch] || ch;\n if (appendChar === replacement) {\n appendChar = ' ';\n }\n return result + appendChar\n // remove not allowed characters\n .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '')\n }, '');\n\n if (options.strict) {\n slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n }\n\n if (trim) {\n slug = slug.trim()\n }\n\n // Replace spaces with replacement character, treating multiple consecutive\n // spaces as a single space.\n slug = slug.replace(/\\s+/g, replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase()\n }\n\n return slug\n }\n\n replace.extend = function (customMap) {\n Object.assign(charMap, customMap)\n }\n\n return replace\n}))\n","module.exports = require(\"assert\");","module.exports = require(\"buffer\");","module.exports = require(\"child_process\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"module\");","module.exports = require(\"node:child_process\");","module.exports = require(\"node:crypto\");","module.exports = require(\"node:fs/promises\");","module.exports = require(\"node:os\");","module.exports = require(\"node:path\");","module.exports = require(\"node:process\");","module.exports = require(\"node:tty\");","module.exports = require(\"node:worker_threads\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"stream\");","module.exports = require(\"string_decoder\");","module.exports = require(\"tty\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");"],"names":["TaskSet","constructor","manager","super","this","_tasks","Set","_status","_results","success","failed","_handleComplete","task","emit","size","add","Error","has","subscribe","status","start","t","Symbol","iterator","values","tasks","Array","from","results","_plan","marks","dep","dependencies","summary","child","TaskCommand","InkCommand","addTaskOptions","parser","option","type","desc","default","choices","async","args","tsk","prepare","plan","extractPlan","planMode","printJson","data","map","id","substring","name","workspace","isGroup","chalk","context","group","groupId","dependenciesIds","join","List","items","headers","length","TaskManagerSpinner","waitForEvent","process","exit","lazyInject","TASK_MANAGER","injectable","EachCommand","spinner","builder","positional","demandOption","choice","alias","coerce","rev","spin","pipeline","Pipeline","ScriptsFilter","script","undefined","private","PrivateFilter","affected","AffectedFilter","affectedRevFallback","affectedRevSort","rest","_","arg","toString","splice","empty","wks","filter","project","workspaces","run","buildDeps","depsMode","stop","LazyCurrentProject","Command","command","describe","middlewares","LoadProject","inject","SpinnerService","GroupCommand","taskExpr","expr","parse","buildTask","roots","LazyCurrentWorkspace","LoadWorkspace","TaskExprService","LONG_ATTRIBUTES","JSON_ATTRIBUTES","DEFAULT_ATTRIBUTES","EXTRACTORS","version","json","manifest","root","cwd","slug","slugify","ListCommand","string","withScript","push","attrs","long","attr","buildExtractor","d","path","aliases","RunCommand","TreeCommand","WorkspaceTree","CorePlugin","Plugin","commands","yargs","hideBin","argv","scriptName","completion","help","pkg","wrap","stdout","columns","applyConfigOptions","container","getModule","pluginLoader","PluginLoaderService","loadPlugins","COMMAND","demandCommand","recommendCommands","strict","err","Logger","error","factory","charMap","JSON","locales","replace","options","locale","replacement","trim","normalize","split","reduce","result","ch","appendChar","remove","lower","toLowerCase","extend","customMap","Object","assign","module","exports","require"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"main.js","mappings":"qIAQC,WACC,MAAMA,QAAYC,EAAAA,GAAAA,SAAmBC,EAAAA,GAErC,UACQF,EAAIG,KAAIC,EAAAA,EAAAA,IAAQC,QAAQC,MAUhC,CATE,MAAOC,GACHA,aAAeC,EAAAA,EACjBH,QAAQI,KAAKF,EAAIG,OAEjBC,QAAQC,YAAYZ,EAAIa,OAAOC,WAC/BH,QAAQC,MAAMG,EAAAA,GAAAA,IAAUR,EAAIS,UAE5BX,QAAQI,KAAK,GAEjB,CACD,EAfA,E,YCRDQ,EAAOC,QAAUC,QAAQ,S,YCAzBF,EAAOC,QAAUC,QAAQ,S,YCAzBF,EAAOC,QAAUC,QAAQ,gB,YCAzBF,EAAOC,QAAUC,QAAQ,S,YCAzBF,EAAOC,QAAUC,QAAQ,K,YCAzBF,EAAOC,QAAUC,QAAQ,O,YCAzBF,EAAOC,QAAUC,QAAQ,Q,YCAzBF,EAAOC,QAAUC,QAAQ,S,YCAzBF,EAAOC,QAAUC,QAAQ,mB,YCAzBF,EAAOC,QAAUC,QAAQ,qB,WCAzBF,EAAOC,QAAUC,QAAQ,c,YCAzBF,EAAOC,QAAUC,QAAQ,mB,YCAzBF,EAAOC,QAAUC,QAAQ,U,YCAzBF,EAAOC,QAAUC,QAAQ,Y,YCAzBF,EAAOC,QAAUC,QAAQ,e,YCAzBF,EAAOC,QAAUC,QAAQ,W,YCAzBF,EAAOC,QAAUC,QAAQ,sB,YCAzBF,EAAOC,QAAUC,QAAQ,K,YCAzBF,EAAOC,QAAUC,QAAQ,O,YCAzBF,EAAOC,QAAUC,QAAQ,S,YCAzBF,EAAOC,QAAUC,QAAQ,iB,YCAzBF,EAAOC,QAAUC,QAAQ,M,YCAzBF,EAAOC,QAAUC,QAAQ,M,YCAzBF,EAAOC,QAAUC,QAAQ,O,YCAzBF,EAAOC,QAAUC,QAAQ,O","sources":["webpack://@jujulego/jill/./src/main.ts","webpack://@jujulego/jill/external node-commonjs \"assert\"","webpack://@jujulego/jill/external node-commonjs \"buffer\"","webpack://@jujulego/jill/external node-commonjs \"child_process\"","webpack://@jujulego/jill/external node-commonjs \"events\"","webpack://@jujulego/jill/external node-commonjs \"fs\"","webpack://@jujulego/jill/external node-commonjs \"http\"","webpack://@jujulego/jill/external node-commonjs \"https\"","webpack://@jujulego/jill/external node-commonjs \"module\"","webpack://@jujulego/jill/external node-commonjs \"node:async_hooks\"","webpack://@jujulego/jill/external node-commonjs \"node:child_process\"","webpack://@jujulego/jill/external node-commonjs \"node:crypto\"","webpack://@jujulego/jill/external node-commonjs \"node:fs/promises\"","webpack://@jujulego/jill/external node-commonjs \"node:os\"","webpack://@jujulego/jill/external node-commonjs \"node:path\"","webpack://@jujulego/jill/external node-commonjs \"node:process\"","webpack://@jujulego/jill/external node-commonjs \"node:tty\"","webpack://@jujulego/jill/external node-commonjs \"node:worker_threads\"","webpack://@jujulego/jill/external node-commonjs \"os\"","webpack://@jujulego/jill/external node-commonjs \"path\"","webpack://@jujulego/jill/external node-commonjs \"stream\"","webpack://@jujulego/jill/external node-commonjs \"string_decoder\"","webpack://@jujulego/jill/external node-commonjs \"tty\"","webpack://@jujulego/jill/external node-commonjs \"url\"","webpack://@jujulego/jill/external node-commonjs \"util\"","webpack://@jujulego/jill/external node-commonjs \"zlib\""],"sourcesContent":["import chalk from 'chalk';\nimport { hideBin } from 'yargs/helpers';\n\nimport { container } from '@/src/inversify.config';\nimport { JillApplication } from '@/src/jill.application';\nimport { ExitException } from '@/src/utils/exit';\n\n// Bootstrap\n(async () => {\n const app = await container.getAsync(JillApplication);\n\n try {\n await app.run(hideBin(process.argv));\n } catch (err) {\n if (err instanceof ExitException) {\n process.exit(err.code);\n } else {\n console.error(await app.parser.getHelp());\n console.error(chalk.red(err.message));\n\n process.exit(1);\n }\n }\n})();\n","module.exports = require(\"assert\");","module.exports = require(\"buffer\");","module.exports = require(\"child_process\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"module\");","module.exports = require(\"node:async_hooks\");","module.exports = require(\"node:child_process\");","module.exports = require(\"node:crypto\");","module.exports = require(\"node:fs/promises\");","module.exports = require(\"node:os\");","module.exports = require(\"node:path\");","module.exports = require(\"node:process\");","module.exports = require(\"node:tty\");","module.exports = require(\"node:worker_threads\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"stream\");","module.exports = require(\"string_decoder\");","module.exports = require(\"tty\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");"],"names":["app","container","JillApplication","run","hideBin","process","argv","err","ExitException","exit","code","console","error","parser","getHelp","chalk","message","module","exports","require"],"sourceRoot":""}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { type ArgumentsCamelCase, type Argv } from 'yargs';
|
|
2
|
-
import {
|
|
2
|
+
import { ContextService } from '@/src/commons/context.service';
|
|
3
3
|
import { SpinnerService } from '@/src/commons/spinner.service';
|
|
4
|
-
import { type
|
|
4
|
+
import { type IMiddleware } from '@/src/modules/middleware';
|
|
5
|
+
import { ProjectRepository } from '@/src/project/project.repository';
|
|
6
|
+
import { type PackageManager } from '@/src/project/types';
|
|
5
7
|
export interface ILoadProjectArgs {
|
|
6
|
-
project
|
|
8
|
+
project?: string;
|
|
7
9
|
'package-manager'?: PackageManager;
|
|
8
10
|
}
|
|
9
11
|
export declare class LoadProject implements IMiddleware<ILoadProjectArgs> {
|
|
10
12
|
private readonly spinner;
|
|
11
|
-
|
|
13
|
+
private readonly projects;
|
|
14
|
+
private readonly context;
|
|
15
|
+
constructor(spinner: SpinnerService, projects: ProjectRepository, context: ContextService);
|
|
12
16
|
builder(parser: Argv): Argv<{
|
|
13
|
-
project: string;
|
|
17
|
+
project: string | undefined;
|
|
14
18
|
} & {
|
|
15
19
|
"package-manager": "npm" | "yarn" | undefined;
|
|
16
20
|
}>;
|
|
17
21
|
handler(args: ArgumentsCamelCase<ILoadProjectArgs>): Promise<void>;
|
|
18
22
|
}
|
|
23
|
+
export declare function LazyCurrentProject(): (proto: any, key: string) => void;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { type ArgumentsCamelCase, type Argv } from 'yargs';
|
|
2
|
+
import { ContextService } from '@/src/commons/context.service';
|
|
3
3
|
import { SpinnerService } from '@/src/commons/spinner.service';
|
|
4
|
+
import { type IMiddleware } from '@/src/modules/middleware';
|
|
4
5
|
import { type Project } from '@/src/project/project';
|
|
5
6
|
export interface ILoadWorkspaceArgs {
|
|
6
7
|
workspace?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare class LoadWorkspace implements IMiddleware<ILoadWorkspaceArgs> {
|
|
9
10
|
private readonly spinner;
|
|
11
|
+
private readonly context;
|
|
10
12
|
readonly project: Project;
|
|
11
|
-
constructor(spinner: SpinnerService);
|
|
12
|
-
builder(parser: Argv):
|
|
13
|
+
constructor(spinner: SpinnerService, context: ContextService);
|
|
14
|
+
builder(parser: Argv): Argv<{
|
|
13
15
|
workspace: string | undefined;
|
|
14
16
|
}>;
|
|
15
17
|
handler(args: ArgumentsCamelCase<ILoadWorkspaceArgs>): Promise<void>;
|
|
16
18
|
}
|
|
19
|
+
export declare function LazyCurrentWorkspace(): (proto: any, key: string) => void;
|
|
@@ -2,7 +2,8 @@ import { type interfaces as int } from 'inversify';
|
|
|
2
2
|
import { type ArgumentsCamelCase, type Argv, type CommandModule } from 'yargs';
|
|
3
3
|
import { type Awaitable, type Class, type Type } from '@/src/types';
|
|
4
4
|
import { type IMiddleware } from './middleware';
|
|
5
|
-
export declare const COMMAND: int.ServiceIdentifier<
|
|
5
|
+
export declare const COMMAND: int.ServiceIdentifier<ICommand>;
|
|
6
|
+
export declare const COMMAND_MODULE: int.ServiceIdentifier<CommandModule>;
|
|
6
7
|
export interface ICommand<A = unknown> {
|
|
7
8
|
builder?: (parser: Argv) => Argv<A>;
|
|
8
9
|
handler(args: ArgumentsCamelCase<A>): Awaitable<void>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type interfaces as int } from 'inversify';
|
|
1
2
|
import { type IConfig } from '@/src/config/types';
|
|
2
3
|
import { Logger } from '@/src/commons/logger.service';
|
|
3
4
|
export declare class PluginLoaderService {
|
|
@@ -5,5 +6,5 @@ export declare class PluginLoaderService {
|
|
|
5
6
|
private readonly _logger;
|
|
6
7
|
constructor(_config: IConfig, logger: Logger);
|
|
7
8
|
private _importPlugin;
|
|
8
|
-
loadPlugins(): Promise<void>;
|
|
9
|
+
loadPlugins(ctn?: int.Container): Promise<void>;
|
|
9
10
|
}
|
|
@@ -11,5 +11,5 @@ export declare abstract class TaskCommand<A = unknown> extends InkCommand<A> {
|
|
|
11
11
|
readonly manager: TaskManager;
|
|
12
12
|
abstract prepare(args: ArgumentsCamelCase<A>): AwaitableGenerator<Task>;
|
|
13
13
|
protected addTaskOptions(parser: Argv): Argv<ITaskCommandArgs>;
|
|
14
|
-
render(args: ArgumentsCamelCase<A & ITaskCommandArgs>): AsyncGenerator<JSX.Element,
|
|
14
|
+
render(args: ArgumentsCamelCase<A & ITaskCommandArgs>): AsyncGenerator<JSX.Element, void, unknown>;
|
|
15
15
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
import { type Logger } from '@/src/commons/logger.service';
|
|
1
2
|
import { Workspace } from './workspace';
|
|
2
|
-
|
|
3
|
+
import { type PackageManager } from './types';
|
|
3
4
|
export interface ProjectOptions {
|
|
4
5
|
packageManager?: PackageManager | undefined;
|
|
5
6
|
}
|
|
6
7
|
export declare class Project {
|
|
7
8
|
private readonly _root;
|
|
9
|
+
private readonly _logger;
|
|
8
10
|
private _mainWorkspace?;
|
|
9
11
|
private readonly _names;
|
|
10
12
|
private readonly _workspaces;
|
|
11
13
|
private _packageManager?;
|
|
12
14
|
private _isFullyLoaded;
|
|
13
15
|
private _lock;
|
|
14
|
-
|
|
15
|
-
constructor(_root: string, opts?: ProjectOptions);
|
|
16
|
-
static searchProjectRoot(dir: string): Promise<string>;
|
|
16
|
+
constructor(_root: string, _logger: Logger, opts?: ProjectOptions);
|
|
17
17
|
private _loadManifest;
|
|
18
18
|
private _loadWorkspace;
|
|
19
19
|
packageManager(): Promise<PackageManager>;
|
|
@@ -23,4 +23,3 @@ export declare class Project {
|
|
|
23
23
|
workspace(name?: string): Promise<Workspace | null>;
|
|
24
24
|
get root(): string;
|
|
25
25
|
}
|
|
26
|
-
export declare function LazyCurrentProject(): (proto: any, key: string) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Logger } from '@/src/commons/logger.service';
|
|
2
|
+
import { Project, type ProjectOptions } from './project';
|
|
3
|
+
export interface IsProjectRoot {
|
|
4
|
+
hasManifest: boolean;
|
|
5
|
+
hasLockFile: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class ProjectRepository {
|
|
8
|
+
private readonly _logger;
|
|
9
|
+
private readonly _cache;
|
|
10
|
+
private readonly _roots;
|
|
11
|
+
constructor(logger: Logger);
|
|
12
|
+
isProjectRoot(dir: string): Promise<IsProjectRoot>;
|
|
13
|
+
searchProjectRoot(directory: string): Promise<string>;
|
|
14
|
+
getProject(root: string, opts?: ProjectOptions): Project;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PackageManager = 'npm' | 'yarn';
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type TaskOptions } from '@jujulego/tasks';
|
|
2
2
|
import { type Package } from 'normalize-package-data';
|
|
3
|
+
import { CommandTask } from '@/src/tasks/command-task';
|
|
4
|
+
import { ScriptTask } from '@/src/tasks/script-task';
|
|
3
5
|
import { type Project } from './project';
|
|
4
6
|
export type WorkspaceDepsMode = 'all' | 'prod' | 'none';
|
|
5
|
-
export interface
|
|
6
|
-
workspace: Workspace;
|
|
7
|
-
script: string;
|
|
8
|
-
}
|
|
9
|
-
export interface WorkspaceRunOptions extends Omit<SpawnTaskOptions, 'cwd'> {
|
|
7
|
+
export interface WorkspaceRunOptions extends Omit<TaskOptions, 'logger'> {
|
|
10
8
|
buildDeps?: WorkspaceDepsMode;
|
|
11
9
|
}
|
|
12
10
|
export declare class Workspace {
|
|
@@ -25,9 +23,10 @@ export declare class Workspace {
|
|
|
25
23
|
private _loadDependencies;
|
|
26
24
|
dependencies(): AsyncGenerator<Workspace, void>;
|
|
27
25
|
devDependencies(): AsyncGenerator<Workspace, void>;
|
|
28
|
-
|
|
29
|
-
run(script: string, args?: string[], opts?: WorkspaceRunOptions): Promise<
|
|
30
|
-
build(opts?: WorkspaceRunOptions): Promise<
|
|
26
|
+
exec(command: string, args?: string[], opts?: WorkspaceRunOptions): Promise<CommandTask>;
|
|
27
|
+
run(script: string, args?: string[], opts?: WorkspaceRunOptions): Promise<ScriptTask | null>;
|
|
28
|
+
build(opts?: WorkspaceRunOptions): Promise<ScriptTask | null>;
|
|
29
|
+
getScript(script: string): string | null;
|
|
31
30
|
toJSON(): {
|
|
32
31
|
name: string;
|
|
33
32
|
version: string;
|
|
@@ -38,4 +37,3 @@ export declare class Workspace {
|
|
|
38
37
|
get reference(): string;
|
|
39
38
|
get cwd(): string;
|
|
40
39
|
}
|
|
41
|
-
export declare function LazyCurrentWorkspace(): (proto: any, key: string) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SpawnTask, type SpawnTaskOptions, type TaskContext } from '@jujulego/tasks';
|
|
2
|
+
import { type Workspace } from '@/src/project/workspace';
|
|
3
|
+
export interface CommandContext extends TaskContext {
|
|
4
|
+
workspace: Workspace;
|
|
5
|
+
command: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CommandOptions extends Omit<SpawnTaskOptions, 'cwd'> {
|
|
8
|
+
superCommand?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function isCommandCtx(ctx: Readonly<TaskContext>): ctx is Readonly<CommandContext>;
|
|
11
|
+
export declare class CommandTask extends SpawnTask<CommandContext> {
|
|
12
|
+
readonly workspace: Workspace;
|
|
13
|
+
constructor(workspace: Workspace, command: string, args: string[], opts?: CommandOptions);
|
|
14
|
+
private _logStreams;
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GroupTask, type Task, type TaskContext, type TaskOptions } from '@jujulego/tasks';
|
|
2
|
+
import { type Workspace } from '@/src/project/workspace';
|
|
3
|
+
export interface ScriptContext extends TaskContext {
|
|
4
|
+
workspace: Workspace;
|
|
5
|
+
script: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function isScriptCtx(ctx: Readonly<TaskContext>): ctx is Readonly<ScriptContext>;
|
|
8
|
+
export declare class ScriptTask extends GroupTask<ScriptContext> {
|
|
9
|
+
readonly workspace: Workspace;
|
|
10
|
+
readonly script: string;
|
|
11
|
+
readonly args: string[];
|
|
12
|
+
private _scriptTasks;
|
|
13
|
+
constructor(workspace: Workspace, script: string, args: string[], opts?: TaskOptions);
|
|
14
|
+
private _runScript;
|
|
15
|
+
prepare(): Promise<void>;
|
|
16
|
+
protected _orchestrate(): AsyncGenerator<Task, void, undefined>;
|
|
17
|
+
protected _stop(): void;
|
|
18
|
+
complexity(cache?: Map<string, number>): number;
|
|
19
|
+
get project(): import("..").Project;
|
|
20
|
+
}
|