@jujulego/jill 2.2.0-alpha.2 → 2.2.0-alpha.3

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/554.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";exports.id=554,exports.ids=[554],exports.modules={90236:(e,t,s)=>{s.d(t,{F:()=>d});var r=s(28344),n=s(29724),o=s(79060),a=s(85099),i=s(95960),c=s(29921),l=function(e,t){return function(s,r){t(s,r,e)}};let d=class{constructor(e,t){this.manager=e,this.logger=t}command(e,t,s={}){const n={logger:this.logger,...s},o=new r.m("git",[e,...t],{command:e},n);return o.subscribe("stream",(({data:e})=>n.logger.debug(e.toString("utf-8")))),this.manager.add(o),o}branch(e,t){return this.command("branch",e,t)}diff(e,t){return this.command("diff",e,t)}tag(e,t){return this.command("tag",e,t)}isAffected(e,t=[],s){return new Promise(((r,n)=>{const o=this.diff(["--quiet",e,"--",...t],s);o.subscribe("status.done",(()=>r(!1))),o.subscribe("status.failed",(()=>{o.exitCode?r(!0):n(new Error(`Task ${o.name} failed`))}))}))}async listBranches(e=[],t){const s=this.branch(["-l",...e],t),r=[];for await(const e of(0,i.F)(s,"stdout"))r.push(e.replace(/^[ *] /,""));return r}async listTags(e=[],t){const s=this.tag(["-l",...e],t),r=[];for await(const e of(0,i.F)(s,"stdout"))r.push(e);return r}};d=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,c.t)(),l(0,(0,n.f)(a.N)),l(1,(0,n.f)(o.Y))],d)},79060:(e,t,s)=>{s.d(t,{D:()=>i,Y:()=>c});var r=s(9),n=s(41429),o=s.n(n),a=s(10466);const i=o().format.combine(o().format.colorize({message:!0,colors:{debug:"grey",verbose:"blue",info:"white",error:"red"}}),o().format.printf((({label:e,message:t,stack:s})=>{s&&(t=r.ZP.red(s));const n=t.split("\n");let o="",a=n[0];e&&(o=" ".repeat(e.length+3),a=`${r.ZP.grey(`[${e}]`)} ${n[0]}`);for(let e=1;e<n.length;++e)a+=`\n${o}${n[e]}`;return a})));class c{}a.nC.bind(c).toDynamicValue((()=>o().createLogger({format:o().format.combine(o().format.timestamp(),o().format.errors({stack:!1})),transports:[new(o().transports.Console)({format:i})]}))).inSingletonScope()},53565:(e,t,s)=>{s.d(t,{V:()=>i});var r=s(36793),n=s(26844),o=s(19694),a=s(29921);(0,n.GW)((0,o.b)(),r.n);let i=class extends r.n{_status="stop";_label="";spin(e){this._status="spin",this._label=e,this.emit("update.spin",this.state)}success(e){this._status="success",this._label=e,this.emit("update.success",this.state)}failed(e){this._status="failed",this._label=e,this.emit("update.failed",this.state)}stop(){"spin"===this._status&&(this._status="stop",this.emit("update.stop",this.state))}get state(){return{status:this._status,label:this._label}}};i=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,a.t)()],i)},77839:(e,t,s)=>{s.d(t,{k:()=>y});var r=s(70612),n=s.n(r),o=s(49411),a=s.n(o),i=s(69670),c=s.n(i),l=s(10466),d=s(79060);const u=Symbol("jujulego:jill:Ajv");l.nC.bind(u).toDynamicValue((()=>{const e=l.nC.get(d.Y);return new(c())({allErrors:!0,logger:e.child({label:"ajv"}),strict:!0})})).inSingletonScope();var f=s(13843),p=s(2925);const h=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","type":"object","additionalProperties":false,"properties":{"jobs":{"type":"number"},"plugins":{"type":"array","items":{"type":"string"}},"verbose":{"type":"string","enum":["info","verbose","debug"]}}}');var g=s(18520);const m=Symbol("jujulego:jill:config-explorer"),b=Symbol("jujulego:jill:config-validator");l.nC.bind(b).toDynamicValue((e=>e.container.get(u).compile(h))).inSingletonScope(),l.nC.bind(m).toDynamicValue((()=>(0,p.oG)("jill",{loaders:{".cjs":e=>(0,g.y)(e).then((e=>e.default)),".js":e=>(0,g.y)(e).then((e=>e.default)),".json":p.Jq[".json"],".yaml":p.Jq[".yaml"],".yml":p.Jq[".yml"],noExt:p.Jq.noExt}}))).inSingletonScope();const y=Symbol("jujulego:jill:config");l.nC.bind(y).toDynamicValue((async function(){const e=l.nC.get(d.Y).child({label:"config"}),t=l.nC.get(f.c),s=l.nC.get(m),r=l.nC.get(b),o=await s.search(),i=o?.config??{};if(t.jobs&&(i.jobs=t.jobs),t.verbose&&(i.verbose=t.verbose),i.jobs??=n().cpus().length-1,!r(i)){const t=l.nC.get(u).errorsText(r.errors,{separator:"\n- ",dataVar:"config"});return e.error(`Errors in config file:\n- ${t}`),process.exit(1),{}}if(o){const t=a().dirname(o.filepath);i.plugins=i.plugins?.map((e=>a().resolve(t,e))),i.verbose&&(l.nC.get(d.Y).level=i.verbose),e.verbose(`Loaded ${o.filepath} config file`)}return e.debug(`Loaded config:\n${JSON.stringify(i,null,2)}`),i})).inSingletonScope()},13843:(e,t,s)=>{s.d(t,{N:()=>c,c:()=>a});var r=s(26627),n=s(54346),o=s(10466);const a=Symbol("jujulego:jill:config-options"),i={1:"verbose",2:"debug"};function c(e){return e.option("verbose",{alias:"v",type:"count",description:"Set verbosity level",coerce:e=>i[Math.min(e,2)]}).option("jobs",{alias:"j",type:"number",description:"Set maximum parallel job number"})}o.nC.bind(a).toDynamicValue((()=>{const e=(0,r.Z)((0,n.bA)(process.argv)).help(!1).version(!1);return c(e),e.parse()})).inSingletonScope()},48652:(e,t,s)=>{s.d(t,{L:()=>i});var r=s(90236),n=s(10466),o=s(79060),a=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};class i{constructor(e,t,s){this.format=e,this.fallback=t,this.sort=s}async _formatRevision(e){const t=this._logger.child({label:e.name});let s=this.format;s=s.replace(/(?<!\\)((?:\\\\)*)%name/g,`$1${e.name}`),s=s.replace(/\\(.)/g,"$1");const r=this.sort?["--sort",this.sort]:[];if(s.includes("*")){const n=await this._git.listBranches([...r,s],{cwd:e.cwd,logger:t});n.length>0&&(s=n[n.length-1])}if(s.includes("*")){const n=await this._git.listTags([...r,s],{cwd:e.cwd,logger:t});n.length>0&&(s=n[n.length-1])}return s!==this.format&&t.verbose(`Resolved ${this.format} into ${s}`),s.includes("*")?(t.warn(`No revision found matching ${s}, using fallback ${this.fallback}`),this.fallback):s}async test(e){const t=await this._formatRevision(e);return await e.isAffected(t)}}a([(0,n.yT)(o.Y)],i.prototype,"_logger",void 0),a([(0,n.yT)(r.F)],i.prototype,"_git",void 0)},72999:(e,t,s)=>{s.d(t,{B:()=>r});class r{_filters=[];add(e){this._filters.push(e)}async _test(e){for(const t of this._filters)if(!await t.test(e))return!1;return!0}async*filter(e){for await(const t of e)await this._test(t)&&(yield t)}}},40307:(e,t,s)=>{s.d(t,{N:()=>r});class r{constructor(e){this.value=e}test(e){return(e.manifest.private??!1)===this.value}}},84203:(e,t,s)=>{s.d(t,{f:()=>r});class r{constructor(e){this.scripts=e}test(e){const t=Object.keys(e.manifest.scripts||{});return this.scripts.some((e=>t.includes(e)))}}},10466:(e,t,s)=>{s.d(t,{nC:()=>o,oV:()=>i,yT:()=>a});var r=s(26403),n=s(44147);s(52866);const o=new r.W,{lazyInject:a,lazyInjectNamed:i}=(0,n.Z)(o)},8754:(e,t,s)=>{s.d(t,{r:()=>l});var r=s(29724),n=s(81632),o=s(53565),a=s(10466),i=s(1284),c=s(97672);let l=class{constructor(e){this.spinner=e}builder(e){return e.option("project",{alias:"p",type:"string",default:process.cwd(),description:"Project root directory"}).option("package-manager",{choices:["yarn","npm"],type:"string",description:"Force package manager"})}async handler(e){try{this.spinner.spin("Loading project ...");const t=e.project=await c.I.searchProjectRoot(e.project);a.nC.bind(c.I).toDynamicValue((()=>new c.I(t,{packageManager:e.packageManager}))).whenTargetNamed(i.W)}finally{this.spinner.stop()}}};var d,u;l=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,n.d)(),(d=0,u=(0,r.f)(o.V),function(e,t){u(e,t,d)})],l)},72419:(e,t,s)=>{s.d(t,{S:()=>f});var r=s(29724),n=s(26627),o=s(81632),a=s(53565),i=s(10466),c=s(97672),l=s(1284),d=s(28410),u=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let f=class{constructor(e){this.spinner=e}builder(e){return e.option("workspace",{alias:"w",type:"string",desc:"Workspace to use"})}async handler(e){try{this.spinner.spin(`Loading "${e.workspace||"."}" workspace ...`);const t=await this.project.workspace(e.workspace);t?i.nC.bind(d.j).toConstantValue(t).whenTargetNamed(l.W):(this.spinner.failed(`Workspace "${e.workspace||"."}" not found`),n.Z.exit(1,new Error("Workspace not found")))}finally{this.spinner.stop()}}};var p,h;u([(0,c.P)()],f.prototype,"project",void 0),f=u([(0,o.d)(),(p=0,h=(0,r.f)(a.V),function(e,t){h(e,t,p)})],f)},39717:(e,t,s)=>{s.d(t,{$f:()=>d,NI:()=>c,_Y:()=>l,mY:()=>u});var r=s(26844),n=s(19694),o=s(81632),a=s(23617);const i=Symbol("jujulego:jill:command-opts"),c=Symbol("jujulego:jill:command");function l(e){const t=Reflect.getMetadata(i,e);if("object"!=typeof t)throw new Error(`No command options found in ${e.name}`);return t}function d(e,t){return{command:t.command,aliases:t.aliases,describe:t.describe,deprecated:t.deprecated,builder:async s=>(t.middlewares&&(s=(0,o.S)(s,t.middlewares)),e.builder&&(s=await e.builder(s)),s),handler:(...t)=>e.handler(...t)}}function u(e){return t=>{(0,r.GW)((0,n.b)(),t),Reflect.defineMetadata(i,e,t),(0,a.i8)(t,(s=>{s(t).toSelf(),s(c).toDynamicValue((async({container:s})=>d(await s.getAsync(t),e))).whenTargetNamed(e.command.split(" ")[0])}))}}},63893:(e,t,s)=>{s.d(t,{m:()=>u});var r=s(52010),n=s(29724),o=s(19694),a=s(81119),i=s(10466),c=s(58348);const l=Symbol.for("jujulego:jill:ink-app");i.nC.bind(l).toDynamicValue((()=>(0,a.render)((0,r.jsx)(c.Z,{}),{stdout:process.stdout.isTTY?process.stdout:process.stderr}))).inSingletonScope();var d=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let u=class{builder(e){return e}async handler(e){for await(const t of this.render(e))this.app.rerender((0,r.jsx)(c.Z,{children:t}));return this.app.waitUntilExit()}};d([(0,n.f)(l)],u.prototype,"app",void 0),u=d([(0,o.b)()],u)},81632:(e,t,s)=>{s.d(t,{S:()=>i,d:()=>a});var r=s(26844),n=s(19694),o=s(10466);function a(){return e=>{(0,r.GW)((0,n.b)(),e),o.nC.bind(e).toSelf().inSingletonScope()}}function i(e,t){let s=e;for(const e of t){const t=o.nC.get(e);t.builder&&(s=t.builder(s)),s.middleware((e=>t.handler(e)))}return s}},23617:(e,t,s)=>{s.d(t,{IY:()=>l,JH:()=>a,i8:()=>i,rT:()=>c});var r=s(20328);const n=Symbol("jujulego:jill:module"),o=Symbol("jujulego:jill:registry");function a(e){const t=Reflect.getMetadata(o,e);if("function"!=typeof t)throw new Error(`No registry found in ${e.name}`);return t}function i(e,t){Reflect.defineMetadata(o,t,e)}function c(e,t=!1){let s=Reflect.getMetadata(n,e);if(!(s&&s instanceof r.n)){const n=Reflect.getMetadata(o,e);if("function"!=typeof n){if(t)throw new Error(`No module found in ${e.name}`);return null}s=new r.n(n),l(e,s)}return s}function l(e,t){Reflect.defineMetadata(n,t,e)}},77051:(e,t,s)=>{s.d(t,{B:()=>u});var r=s(29724),n=s(77839),o=s(79060),a=s(10466),i=s(18520),c=s(23617),l=s(29921),d=function(e,t){return function(s,r){t(s,r,e)}};let u=class{constructor(e,t){this._config=e,this._logger=t.child({label:"plugin"})}async _importPlugin(e){this._logger.verbose(`Loading plugin ${e}`);let t=await(0,i.y)(e);for(;t&&"object"==typeof t&&"default"in t;)t=t.default;if(!t)throw new Error(`Invalid plugin ${e}: no plugin class found`);const s=(0,c.rT)(t);if(!s)throw new Error(`Invalid plugin ${e}: invalid plugin class`);return s}async loadPlugins(){if(this._config.plugins)for(const e of this._config.plugins){const t=await this._importPlugin(e);a.nC.load(t)}}};u=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,l.t)(),d(0,(0,r.f)(n.k)),d(1,(0,r.f)(o.Y))],u)},75756:(e,t,s)=>{s.d(t,{S:()=>i,p:()=>a});var r=s(20328),n=s(66150),o=s(23617);class a extends r.n{constructor(e,t){super(((...e)=>{for(const t of this.commands)(0,o.JH)(t)(...e)})),this.name=e,this.commands=t,this.id=(0,n.id)()}}function i(e){return t=>{const s=e.name??t.name,r=new a(s,e.commands);(0,o.IY)(t,r)}}},29921:(e,t,s)=>{s.d(t,{t:()=>a});var r=s(26844),n=s(19694),o=s(10466);function a(){return e=>((0,r.GW)((0,n.b)(),e),o.nC.bind(e).toSelf().inSingletonScope(),e)}},1284:(e,t,s)=>{s.d(t,{W:()=>r});const r="current"},97672:(e,t,s)=>{s.d(t,{I:()=>w,P:()=>j});var r=s(36489),n=s.n(r),o=s(19694),a=s(93977),i=s.n(a),c=s(49411),l=s.n(c),d=s(74782),u=s.n(d),f=s(18799),p=s.n(f),h=s(10466),g=s(79060),m=s(1284),b=s(28410),y=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let w=class{constructor(e,t={}){this._root=e,this._names=new Map,this._workspaces=new Map,this._isFullyLoaded=!1,this._lock=new(n()),t.packageManager&&(this._logger.debug(`Forced use of ${t.packageManager} in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager=t.packageManager)}static async searchProjectRoot(e){const t=h.nC.get(g.Y);let s=!1,r=e;e=l().resolve(e);do{const n=await i().readdir(e);if(n.includes("package.json")&&(r=e,s=!0),["package-lock.json","yarn.lock"].some((e=>n.includes(e))))return t.debug(`Project root found at ${l().relative(process.cwd(),e)||"."}`),e;e=l().dirname(e)}while(e!==l().dirname(e));return s?t.debug(`Project root found at ${l().relative(process.cwd(),r)||"."}`):t.debug(`Project root not found, keeping ${l().relative(process.cwd(),r)||"."}`),r}async _loadManifest(e){const t=l().resolve(this.root,e,"package.json"),s=l().relative(this.root,l().dirname(t)),r=this._logger.child({label:s?`project@${s}`:"project"});r.verbose("Loading package.json ...");const n=await i().readFile(t,"utf-8"),o=JSON.parse(n);return u()(o,(e=>r.verbose(e))),o}async _loadWorkspace(e){return await this._lock.acquire("workspaces",(async()=>{let t=this._workspaces.get(e);if(!t){const s=await this._loadManifest(e);t=new b.j(e,s,this),this._workspaces.set(e,t),this._names.set(t.name,t)}return t}))}async packageManager(){if(!this._packageManager){const e=await i().readdir(this.root);e.includes("yarn.lock")?(this._logger.debug(`Detected yarn in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager="yarn"):e.includes("package-lock.json")?(this._logger.debug(`Detected npm in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager="npm"):(this._logger.debug(`No package manager recognized in ${l().relative(process.cwd(),this.root)||"."}, defaults to npm`),this._packageManager="npm")}return this._packageManager}async mainWorkspace(){if(!this._mainWorkspace){const e=await this._loadManifest(".");this._mainWorkspace=new b.j(".",e,this),this._names.set(this._mainWorkspace.name,this._mainWorkspace)}return this._mainWorkspace}async currentWorkspace(e=process.cwd()){let t=null;e=l().resolve(e);for await(const s of this.workspaces())if(e.startsWith(s.cwd)&&(t=s,s.cwd!==this.root))return s;return t}async*workspaces(){const e=await this.mainWorkspace();if(yield e,this._isFullyLoaded)for(const t of this._names.values())t.name!==e.name&&(yield t);else{const{workspaces:t=[]}=e.manifest;for(const e of t)for(const t of await p()(e,{cwd:this.root}))try{const e=l().resolve(this.root,t);(await i().stat(e)).isDirectory()&&(yield await this._loadWorkspace(t))}catch(e){if("ENOENT"===e.code)continue;throw e}this._isFullyLoaded=!0}}async workspace(e){if(!e){const e=l().relative(this.root,process.cwd());return this._loadWorkspace(e)}const t=this._names.get(e);if(t)return t;if(this._isFullyLoaded)return null;for await(const t of this.workspaces())if(t.name===e)return t;return this._isFullyLoaded=!0,null}get root(){return l().resolve(this._root)}};function j(){return(0,h.oV)(w,m.W)}y([(0,h.yT)(g.Y)],w.prototype,"_logger",void 0),w=y([(0,o.b)()],w)},28410:(e,t,s)=>{s.d(t,{H:()=>g,j:()=>h});var r=s(28344),n=s(19694),o=s(49411),a=s.n(o),i=s(67329),c=s(90236),l=s(10466),d=s(79060),u=s(95960),f=s(1284),p=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let h=class{constructor(e,t,s){this._cwd=e,this.manifest=t,this.project=s,this._affectedCache=new Map,this._tasks=new Map;const r=l.nC.get(d.Y);this._logger=r.child({label:this.manifest.name})}_satisfies(e,t){return t.startsWith("file:")?a().resolve(e.cwd,t.substring(5))===this.cwd:(t.startsWith("workspace:")&&(t=t.substring(10)),!this.version||(0,i.satisfies)(this.version,t))}async _buildDependencies(e,t="all"){const s=[];switch(t){case"all":s.unshift(this.devDependencies());case"prod":s.unshift(this.dependencies())}for await(const t of(0,u.$)(...s)){const s=await t.build();s&&e.dependsOn(s)}}async _isAffected(e){if(await this._git.isAffected(e,[this.cwd],{cwd:this.project.root,logger:this._logger}))return!0;const t=[];for await(const s of(0,u.$)(this.dependencies(),this.devDependencies()))t.push(s.isAffected(e));return(await Promise.all(t)).some((e=>e))}async isAffected(e){let t=this._affectedCache.get(e);return t||(t=this._isAffected(e),this._affectedCache.set(e,t)),await t}async*_loadDependencies(e,t){for(const[s,r]of Object.entries(e)){const e=await this.project.workspace(s);e&&(e._satisfies(this,r)?yield e:this._logger.verbose(`Ignoring ${t} ${e.reference} as it does not match requirement ${r}`))}}async*dependencies(){if(this.manifest.dependencies)for await(const e of this._loadDependencies(this.manifest.dependencies,"dependency"))yield e}async*devDependencies(){if(this.manifest.devDependencies)for await(const e of this._loadDependencies(this.manifest.devDependencies,"devDependency"))yield e}async _streamLogs(e,t,s){try{for await(const r of(0,u.F)(e,t))this._logger.log(s,r,{label:`${this.name}#${e.context.script}`})}catch(s){s&&this._logger.warn(`Error while streaming task ${t}`,s,{label:`${this.name}#${e.context.script}`})}}async run(e,t=[],s={}){let n=this._tasks.get(e);if(!n){const o=await this.project.packageManager();n=new r.m(o,["run",e,...t],{workspace:this,script:e},{...s,cwd:this.cwd,logger:this._logger.child({label:`${this.name}#${e}`}),env:{FORCE_COLOR:"1",...s.env}}),this._streamLogs(n,"stdout","info"),this._streamLogs(n,"stderr","info"),await this._buildDependencies(n,s.buildDeps),this._tasks.set(e,n)}return n}async build(e){const{scripts:t={}}=this.manifest;return t.build?await this.run("build",[],e):(this._logger.warn("Will not be built (no build script)"),null)}get name(){return this.manifest.name}get version(){return this.manifest.version}get reference(){return this.version?`${this.name}@${this.version}`:this.name}get cwd(){return a().resolve(this.project.root,this._cwd)}};function g(){return(0,l.oV)(h,f.W)}p([(0,l.yT)(c.F)],h.prototype,"_git",void 0),h=p([(0,n.b)()],h)},3678:(e,t,s)=>{s.d(t,{P:()=>d});var r=s(36204),n=s(79445),o=s(73480),a=s.n(o),i=s(79060),c=s(29724),l=s(29921);let d=class{static isTaskNode(e){return"script"in e}constructor(e){this._logger=e}_lexer(){return a().states({task:{lparen:"(",whitespace:/[ \t]+/,string:[{match:/[:a-zA-Z0-9]+/,push:"operator"},{match:/'(?:\\['\\]|[^\n'\\])+'/,push:"operator",value:e=>e.slice(1,-1).replace(/\\(['\\])/g,"$1")},{match:/"(?:\\["\\]|[^\n"\\])+"/,push:"operator",value:e=>e.slice(1,-1).replace(/\\(["\\])/g,"$1")}]},operator:{whitespace:/[ \t]+/,rparen:")",operator:{match:["->","//"],pop:1}}})}_nextNode(e,t=0){let s=null;for(const r of e){if("whitespace"===r.type)continue;if("rparen"===r.type)break;if("operator"===r.type){const t=r.value;if(s){if(d.isTaskNode(s)){s={operator:t,tasks:[s]};continue}s.operator!==t&&(s={operator:t,tasks:[s]});continue}throw new Error(e.formatError(r,"Unexpected operator"))}let n;if("string"===r.type)n={script:r.value};else{if("lparen"!==r.type)throw new Error(e.formatError(r,"Unexpected token"));{const s=this._nextNode(e,t+1);if(!s)throw new Error(e.formatError(r,"Empty group found"));n=s}}if(s){if(d.isTaskNode(s))throw new Error(e.formatError(r,"Unexpected token, expected an operator"));s.tasks.push(n)}else s=n}return s}parse(e){const t=this._lexer().reset(e),s={roots:[]};for(;;){const e=this._nextNode(t);if(!e)break;s.roots.push(e)}return s}async buildTask(e,t,s){if(d.isTaskNode(e))return t.run(e.script,[],s);{let o;o="//"===e.operator?new r.W("In parallel",{},{logger:this._logger}):new n.h("In sequence",{},{logger:this._logger});for(const r of e.tasks)o.add(await this.buildTask(r,t,s));return o}}};var u,f;d=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,l.t)(),(u=0,f=(0,c.f)(i.Y),function(e,t){f(e,t,u)})],d)},85099:(e,t,s)=>{s.d(t,{N:()=>i});var r=s(61626),n=s(79060),o=s(77839),a=s(10466);const i=Symbol("jujulego:jill:TaskManager");a.nC.bind(i).toDynamicValue((e=>{const t=e.container.get(o.k),s=e.container.get(n.Y);return new r.q({jobs:t.jobs,logger:s})})).inSingletonScope()},36872:(e,t,s)=>{s.d(t,{Z:()=>c});var r=s(52010),n=s(78487),o=s(81119),a=s(76687),i=s(76797);function c({group:e}){const[t,s]=(0,a.useState)([...e.tasks]);return(0,a.useLayoutEffect)((()=>{let t=!1;return e.subscribe("task.added",(()=>{t||(t=!0,queueMicrotask((()=>{s([...e.tasks]),t=!1})))}))}),[e]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Z,{task:e}),(0,r.jsx)(o.Box,{flexDirection:"column",marginLeft:2,children:t.map((e=>(0,r.jsx)(a.Fragment,{children:e instanceof n.O?(0,r.jsx)(c,{group:e}):(0,r.jsx)(i.Z,{task:e})},e.id)))})]})}},58348:(e,t,s)=>{s.d(t,{Z:()=>y});var r=s(52010),n=s(81119),o=s(96122),a=s(40427),i=s(76687),c=s(10466),l=s(53565);function d(){const[e,t]=(0,i.useState)({status:"stop",label:""});switch((0,i.useLayoutEffect)((()=>{const e=c.nC.get(l.V);return t(e.state),e.subscribe("update",t)}),[]),e.status){case"spin":return(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(o.Z,{})," "+e.label]});case"success":return(0,r.jsxs)(n.Text,{color:"green",children:[a.Z.success," ",e.label]});case"failed":return(0,r.jsxs)(n.Text,{color:"red",children:[a.Z.error," ",e.label]});default:return null}}var u=s(41429),f=s.n(u),p=s(86709),h=s.n(p),g=s(79060);const m=Symbol.for("message");function b(){const{write:e}=(0,n.useStderr)();return(0,i.useLayoutEffect)((()=>{const t=c.nC.get(g.Y);for(const e of t.transports)e instanceof f().transports.Console&&t.remove(e);const s=new class extends(h()){constructor(){super({format:g.D})}log(t,s){setTimeout((()=>{this.emit("logged",t)}),0),e(t[m]+"\n"),s()}};return t.add(s),()=>{t.remove(s),t.add(new(f().transports.Console)({format:g.D}))}}),[e]),null}function y({children:e}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{}),(0,r.jsx)(d,{}),e]})}},75740:(e,t,s)=>{s.d(t,{Z:()=>a});var r=s(52010),n=s(81119),o=s(46379);function a({items:e,headers:t}){return 0===e.length?null:(0,r.jsx)(n.Box,{children:Object.keys(e[0]).map((s=>(0,r.jsxs)(n.Box,{flexDirection:"column",marginRight:2,children:[t&&(0,r.jsx)(n.Text,{bold:!0,children:(0,o.k)(s)}),e.map(((e,t)=>(0,r.jsx)(n.Text,{children:e[s]||" "},t)))]},s)))})}},4887:(e,t,s)=>{s.d(t,{Z:()=>c});var r=s(52010),n=s(78487),o=s(76687),a=s(36872),i=s(76797);function c({manager:e}){const[t,s]=(0,o.useState)(e.tasks.filter((e=>!e.context.groupTask)));return(0,o.useLayoutEffect)((()=>{let t=!1;return e.subscribe("added",(()=>{t||(t=!0,queueMicrotask((()=>{s(e.tasks.filter((e=>!e.context.groupTask))),t=!1})))}))}),[e]),(0,r.jsx)(r.Fragment,{children:t.map((e=>e instanceof n.O?(0,r.jsx)(a.Z,{group:e},e.id):(0,r.jsx)(i.Z,{task:e},e.id)))})}},51562:(e,t,s)=>{s.d(t,{Z:()=>o});var r=s(52010),n=s(81119);function o({task:e}){return"workspace"in e.context?(0,r.jsxs)(n.Text,{children:["Running ",(0,r.jsx)(n.Text,{bold:!0,children:e.context.script})," in ",e.context.workspace.name]}):(0,r.jsx)(n.Text,{children:e.name})}},76797:(e,t,s)=>{s.d(t,{Z:()=>d});var r=s(52010),n=s(81119),o=s(96122),a=s(40427),i=s(21061),c=s(76687),l=s(51562);function d({task:e}){const[t,s]=(0,c.useState)(e.status),[d,u]=(0,c.useState)(0);switch((0,c.useLayoutEffect)((()=>e.subscribe("status",(e=>{s(e.status)}))),[e]),(0,c.useLayoutEffect)((()=>e.subscribe("completed",(({duration:e})=>{u(e)}))),[e]),t){case"blocked":case"ready":return(0,r.jsxs)(n.Text,{color:"grey",children:[(0,r.jsx)(o.Z,{type:"line2"})," ",(0,r.jsx)(l.Z,{task:e})]});case"running":return(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(o.Z,{})," ",(0,r.jsx)(l.Z,{task:e})]});case"done":return(0,r.jsxs)(n.Text,{children:[(0,r.jsxs)(n.Text,{color:"green",children:[a.Z.success," ",(0,r.jsx)(l.Z,{task:e})]}),(0,r.jsxs)(n.Text,{color:"magenta",children:[" ","(took ",(0,i.Z)(d),")"]})]});case"failed":return(0,r.jsxs)(n.Text,{children:[(0,r.jsxs)(n.Text,{color:"red",children:[a.Z.error," ",(0,r.jsx)(l.Z,{task:e})]}),(0,r.jsxs)(n.Text,{color:"magenta",children:[" ","(took ",(0,i.Z)(d),")"]})]})}}},66238:(e,t,s)=>{s.d(t,{Z:()=>i});var r=s(52010),n=s(81119),o=s(76687);const a=e=>({color:e?"blue":""});function i(e){const{workspace:t,dev:s=!1,level:c=""}=e,[l,d]=(0,o.useState)([]);return(0,o.useEffect)((()=>{(async()=>{const e=[];for await(const s of t.dependencies())e.push([s,null]);for await(const s of t.devDependencies())e.push([s,!0]);d(e)})()}),[t]),(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(n.Text,{...a(s),children:t.name}),t.version&&(0,r.jsxs)(n.Text,{color:"grey",children:["@",t.version]}),l.length>0&&(0,r.jsx)(n.Newline,{}),l.map((([e,t],o)=>(0,r.jsxs)(n.Text,{children:[c,(0,r.jsxs)(n.Text,{...a(s),children:[o===l.length-1?"└":"├","─"," "]}),(0,r.jsx)(i,{workspace:e,dev:t??s,level:(0,r.jsxs)(r.Fragment,{children:[c,(0,r.jsxs)(n.Text,{...a(s),children:[o===l.length-1?" ":"│"," "]})]})}),o<l.length-1&&(0,r.jsx)(n.Newline,{})]},e.name)))]})}},18520:(e,t,s)=>{async function r(e){return import("win32"===process.platform?`file://${e}`:e)}s.d(t,{y:()=>r})},95960:(e,t,s)=>{s.d(t,{$:()=>n,F:()=>o});var r=s(94415);async function*n(...e){for(const t of e)yield*t}async function*o(e,t){const s=new AbortController,n=new Error("aborted");e.subscribe("completed",(()=>s.abort(n)));let o="";try{for await(const n of(0,r.Vq)(e,`stream.${t}`,{signal:s.signal})){const e=(o+n.data.toString("utf-8")).split(/\r?\n/);o=e.pop()??"";for(const t of e)yield t}}catch(e){if(e!==n)throw e;o&&(yield o)}}},46379:(e,t,s)=>{function r(e){return e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()}s.d(t,{k:()=>r})}};
1
+ "use strict";exports.id=554,exports.ids=[554],exports.modules={90236:(e,t,s)=>{s.d(t,{F:()=>d});var r=s(28344),n=s(29724),o=s(79060),a=s(85099),i=s(95960),c=s(29921),l=function(e,t){return function(s,r){t(s,r,e)}};let d=class{constructor(e,t){this.manager=e,this.logger=t}command(e,t,s={}){const n={logger:this.logger,...s},o=new r.m("git",[e,...t],{command:e},n);return o.subscribe("stream",(({data:e})=>n.logger.debug(e.toString("utf-8")))),this.manager.add(o),o}branch(e,t){return this.command("branch",e,t)}diff(e,t){return this.command("diff",e,t)}tag(e,t){return this.command("tag",e,t)}isAffected(e,t=[],s){return new Promise(((r,n)=>{const o=this.diff(["--quiet",e,"--",...t],s);o.subscribe("status.done",(()=>r(!1))),o.subscribe("status.failed",(()=>{o.exitCode?r(!0):n(new Error(`Task ${o.name} failed`))}))}))}async listBranches(e=[],t){const s=this.branch(["-l",...e],t),r=[];for await(const e of(0,i.F)(s,"stdout"))r.push(e.replace(/^[ *] /,""));return r}async listTags(e=[],t){const s=this.tag(["-l",...e],t),r=[];for await(const e of(0,i.F)(s,"stdout"))r.push(e);return r}};d=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,c.t)(),l(0,(0,n.f)(a.N)),l(1,(0,n.f)(o.Y))],d)},79060:(e,t,s)=>{s.d(t,{D:()=>i,Y:()=>c});var r=s(9),n=s(41429),o=s.n(n),a=s(10466);const i=o().format.combine(o().format.colorize({message:!0,colors:{debug:"grey",verbose:"blue",info:"white",error:"red"}}),o().format.printf((({label:e,message:t,stack:s})=>{s&&(t=r.ZP.red(s));const n=t.split("\n");let o="",a=n[0];e&&(o=" ".repeat(e.length+3),a=`${r.ZP.grey(`[${e}]`)} ${n[0]}`);for(let e=1;e<n.length;++e)a+=`\n${o}${n[e]}`;return a})));class c{}a.nC.bind(c).toDynamicValue((()=>o().createLogger({format:o().format.combine(o().format.timestamp(),o().format.errors({stack:!1})),transports:[new(o().transports.Console)({format:i})]}))).inSingletonScope()},53565:(e,t,s)=>{s.d(t,{V:()=>i});var r=s(36793),n=s(26844),o=s(19694),a=s(29921);(0,n.GW)((0,o.b)(),r.n);let i=class extends r.n{_status="stop";_label="";spin(e){this._status="spin",this._label=e,this.emit("update.spin",this.state)}success(e){this._status="success",this._label=e,this.emit("update.success",this.state)}failed(e){this._status="failed",this._label=e,this.emit("update.failed",this.state)}stop(){"spin"===this._status&&(this._status="stop",this.emit("update.stop",this.state))}get state(){return{status:this._status,label:this._label}}};i=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,a.t)()],i)},77839:(e,t,s)=>{s.d(t,{k:()=>b});var r=s(70612),n=s.n(r),o=s(49411),a=s.n(o),i=s(69670),c=s.n(i),l=s(10466),d=s(79060);const u=Symbol("jujulego:jill:Ajv");l.nC.bind(u).toDynamicValue((()=>{const e=l.nC.get(d.Y);return new(c())({allErrors:!0,logger:e.child({label:"ajv"}),strict:!0})})).inSingletonScope();var f=s(13843),p=s(2925);const h=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","type":"object","additionalProperties":false,"properties":{"jobs":{"type":"number"},"plugins":{"type":"array","items":{"type":"string"}},"verbose":{"type":"string","enum":["info","verbose","debug"]}}}');var g=s(18520);const m=Symbol("jujulego:jill:config-explorer"),y=Symbol("jujulego:jill:config-validator");l.nC.bind(y).toDynamicValue((e=>e.container.get(u).compile(h))).inSingletonScope(),l.nC.bind(m).toDynamicValue((()=>(0,p.oG)("jill",{loaders:{".cjs":e=>(0,g.y)(e).then((e=>e.default)),".js":e=>(0,g.y)(e).then((e=>e.default)),".json":p.Jq[".json"],".yaml":p.Jq[".yaml"],".yml":p.Jq[".yml"],noExt:p.Jq.noExt}}))).inSingletonScope();const b=Symbol("jujulego:jill:config");l.nC.bind(b).toDynamicValue((async function(){const e=l.nC.get(d.Y).child({label:"config"}),t=l.nC.get(f.c),s=l.nC.get(m),r=l.nC.get(y),o=await s.search(),i=o?.config??{};if(t.jobs&&(i.jobs=t.jobs),t.verbose&&(i.verbose=t.verbose),i.jobs??=n().cpus().length-1,!r(i)){const t=l.nC.get(u).errorsText(r.errors,{separator:"\n- ",dataVar:"config"});return e.error(`Errors in config file:\n- ${t}`),process.exit(1),{}}if(o){const t=a().dirname(o.filepath);i.plugins=i.plugins?.map((e=>a().resolve(t,e))),i.verbose&&(l.nC.get(d.Y).level=i.verbose),e.verbose(`Loaded ${o.filepath} config file`)}return e.debug(`Loaded config:\n${JSON.stringify(i,null,2)}`),i})).inSingletonScope()},13843:(e,t,s)=>{s.d(t,{N:()=>c,c:()=>a});var r=s(26627),n=s(54346),o=s(10466);const a=Symbol("jujulego:jill:config-options"),i={1:"verbose",2:"debug"};function c(e){return e.option("verbose",{alias:"v",type:"count",description:"Set verbosity level",coerce:e=>i[Math.min(e,2)]}).option("jobs",{alias:"j",type:"number",description:"Set maximum parallel job number"})}o.nC.bind(a).toDynamicValue((()=>{const e=(0,r.Z)((0,n.bA)(process.argv)).help(!1).version(!1);return c(e),e.parse()})).inSingletonScope()},48652:(e,t,s)=>{s.d(t,{L:()=>i});var r=s(90236),n=s(10466),o=s(79060),a=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};class i{constructor(e,t,s){this.format=e,this.fallback=t,this.sort=s}async _formatRevision(e){const t=this._logger.child({label:e.name});let s=this.format;s=s.replace(/(?<!\\)((?:\\\\)*)%name/g,`$1${e.name}`),s=s.replace(/\\(.)/g,"$1");const r=this.sort?["--sort",this.sort]:[];if(s.includes("*")){const n=await this._git.listBranches([...r,s],{cwd:e.cwd,logger:t});n.length>0&&(s=n[n.length-1])}if(s.includes("*")){const n=await this._git.listTags([...r,s],{cwd:e.cwd,logger:t});n.length>0&&(s=n[n.length-1])}return s!==this.format&&t.verbose(`Resolved ${this.format} into ${s}`),s.includes("*")?(t.warn(`No revision found matching ${s}, using fallback ${this.fallback}`),this.fallback):s}async test(e){const t=await this._formatRevision(e);return await e.isAffected(t)}}a([(0,n.yT)(o.Y)],i.prototype,"_logger",void 0),a([(0,n.yT)(r.F)],i.prototype,"_git",void 0)},72999:(e,t,s)=>{s.d(t,{B:()=>r});class r{_filters=[];add(e){this._filters.push(e)}async _test(e){for(const t of this._filters)if(!await t.test(e))return!1;return!0}async*filter(e){for await(const t of e)await this._test(t)&&(yield t)}}},40307:(e,t,s)=>{s.d(t,{N:()=>r});class r{constructor(e){this.value=e}test(e){return(e.manifest.private??!1)===this.value}}},84203:(e,t,s)=>{s.d(t,{f:()=>r});class r{constructor(e){this.scripts=e}test(e){const t=Object.keys(e.manifest.scripts||{});return this.scripts.some((e=>t.includes(e)))}}},10466:(e,t,s)=>{s.d(t,{nC:()=>o,oV:()=>i,yT:()=>a});var r=s(26403),n=s(44147);s(52866);const o=new r.W,{lazyInject:a,lazyInjectNamed:i}=(0,n.Z)(o)},8754:(e,t,s)=>{s.d(t,{r:()=>l});var r=s(29724),n=s(81632),o=s(53565),a=s(10466),i=s(1284),c=s(97672);let l=class{constructor(e){this.spinner=e}builder(e){return e.option("project",{alias:"p",type:"string",default:process.cwd(),description:"Project root directory"}).option("package-manager",{choices:["yarn","npm"],type:"string",description:"Force package manager"})}async handler(e){try{this.spinner.spin("Loading project ...");const t=e.project=await c.I.searchProjectRoot(e.project);a.nC.bind(c.I).toDynamicValue((()=>new c.I(t,{packageManager:e.packageManager}))).whenTargetNamed(i.W)}finally{this.spinner.stop()}}};var d,u;l=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,n.d)(),(d=0,u=(0,r.f)(o.V),function(e,t){u(e,t,d)})],l)},72419:(e,t,s)=>{s.d(t,{S:()=>f});var r=s(29724),n=s(26627),o=s(81632),a=s(53565),i=s(10466),c=s(97672),l=s(1284),d=s(28410),u=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let f=class{constructor(e){this.spinner=e}builder(e){return e.option("workspace",{alias:"w",type:"string",desc:"Workspace to use"})}async handler(e){try{this.spinner.spin(`Loading "${e.workspace||"."}" workspace ...`);const t=await this.project.workspace(e.workspace);t?i.nC.bind(d.j).toConstantValue(t).whenTargetNamed(l.W):(this.spinner.failed(`Workspace "${e.workspace||"."}" not found`),n.Z.exit(1,new Error("Workspace not found")))}finally{this.spinner.stop()}}};var p,h;u([(0,c._)()],f.prototype,"project",void 0),f=u([(0,o.d)(),(p=0,h=(0,r.f)(a.V),function(e,t){h(e,t,p)})],f)},39717:(e,t,s)=>{s.d(t,{$f:()=>d,NI:()=>c,_Y:()=>l,mY:()=>u});var r=s(26844),n=s(19694),o=s(81632),a=s(23617);const i=Symbol("jujulego:jill:command-opts"),c=Symbol("jujulego:jill:command");function l(e){const t=Reflect.getMetadata(i,e);if("object"!=typeof t)throw new Error(`No command options found in ${e.name}`);return t}function d(e,t){return{command:t.command,aliases:t.aliases,describe:t.describe,deprecated:t.deprecated,builder:async s=>(t.middlewares&&(s=(0,o.S)(s,t.middlewares)),e.builder&&(s=await e.builder(s)),s),handler:(...t)=>e.handler(...t)}}function u(e){return t=>{(0,r.GW)((0,n.b)(),t),Reflect.defineMetadata(i,e,t),(0,a.i8)(t,(s=>{s(t).toSelf(),s(c).toDynamicValue((async({container:s})=>d(await s.getAsync(t),e))).whenTargetNamed(e.command.split(" ")[0])}))}}},63893:(e,t,s)=>{s.d(t,{m:()=>d});var r=s(52010),n=s(19694),o=s(81119),a=s(10466),i=s(58348);const c=Symbol.for("jujulego:jill:ink-app");a.nC.bind(c).toDynamicValue((()=>(0,o.render)((0,r.jsx)(i.Z,{}),{stdout:process.stdout.isTTY?process.stdout:process.stderr}))).inSingletonScope();var l=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let d=class{builder(e){return e}async handler(e){for await(const t of this.render(e))this.app.rerender((0,r.jsx)(i.Z,{children:t}));return this.app.waitUntilExit()}};l([(0,a.yT)(c)],d.prototype,"app",void 0),d=l([(0,n.b)()],d)},81632:(e,t,s)=>{s.d(t,{S:()=>i,d:()=>a});var r=s(26844),n=s(19694),o=s(10466);function a(){return e=>{(0,r.GW)((0,n.b)(),e),o.nC.bind(e).toSelf().inSingletonScope()}}function i(e,t){let s=e;for(const e of t){const t=o.nC.get(e);t.builder&&(s=t.builder(s)),s.middleware((e=>t.handler(e)))}return s}},23617:(e,t,s)=>{s.d(t,{IY:()=>l,JH:()=>a,i8:()=>i,rT:()=>c});var r=s(20328);const n=Symbol("jujulego:jill:module"),o=Symbol("jujulego:jill:registry");function a(e){const t=Reflect.getMetadata(o,e);if("function"!=typeof t)throw new Error(`No registry found in ${e.name}`);return t}function i(e,t){Reflect.defineMetadata(o,t,e)}function c(e,t=!1){let s=Reflect.getMetadata(n,e);if(!(s&&s instanceof r.n)){const n=Reflect.getMetadata(o,e);if("function"!=typeof n){if(t)throw new Error(`No module found in ${e.name}`);return null}s=new r.n(n),l(e,s)}return s}function l(e,t){Reflect.defineMetadata(n,t,e)}},77051:(e,t,s)=>{s.d(t,{B:()=>u});var r=s(29724),n=s(77839),o=s(79060),a=s(10466),i=s(18520),c=s(23617),l=s(29921),d=function(e,t){return function(s,r){t(s,r,e)}};let u=class{constructor(e,t){this._config=e,this._logger=t.child({label:"plugin"})}async _importPlugin(e){this._logger.verbose(`Loading plugin ${e}`);let t=await(0,i.y)(e);for(;t&&"object"==typeof t&&"default"in t;)t=t.default;if(!t)throw new Error(`Invalid plugin ${e}: no plugin class found`);const s=(0,c.rT)(t);if(!s)throw new Error(`Invalid plugin ${e}: invalid plugin class`);return s}async loadPlugins(){if(this._config.plugins)for(const e of this._config.plugins){const t=await this._importPlugin(e);a.nC.load(t)}}};u=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,l.t)(),d(0,(0,r.f)(n.k)),d(1,(0,r.f)(o.Y))],u)},75756:(e,t,s)=>{s.d(t,{S:()=>i,p:()=>a});var r=s(20328),n=s(66150),o=s(23617);class a extends r.n{constructor(e,t){super(((...e)=>{for(const t of this.commands)(0,o.JH)(t)(...e)})),this.name=e,this.commands=t,this.id=(0,n.id)()}}function i(e){return t=>{const s=e.name??t.name,r=new a(s,e.commands);(0,o.IY)(t,r)}}},29921:(e,t,s)=>{s.d(t,{t:()=>a});var r=s(26844),n=s(19694),o=s(10466);function a(){return e=>((0,r.GW)((0,n.b)(),e),o.nC.bind(e).toSelf().inSingletonScope(),e)}},1284:(e,t,s)=>{s.d(t,{W:()=>r});const r="current"},97672:(e,t,s)=>{s.d(t,{I:()=>w,_:()=>j});var r=s(36489),n=s.n(r),o=s(19694),a=s(93977),i=s.n(a),c=s(49411),l=s.n(c),d=s(74782),u=s.n(d),f=s(18799),p=s.n(f),h=s(10466),g=s(79060),m=s(1284),y=s(28410),b=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let w=class{constructor(e,t={}){this._root=e,this._names=new Map,this._workspaces=new Map,this._isFullyLoaded=!1,this._lock=new(n()),t.packageManager&&(this._logger.debug(`Forced use of ${t.packageManager} in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager=t.packageManager)}static async searchProjectRoot(e){const t=h.nC.get(g.Y);let s=!1,r=e;e=l().resolve(e);do{const n=await i().readdir(e);if(n.includes("package.json")&&(r=e,s=!0),["package-lock.json","yarn.lock"].some((e=>n.includes(e))))return t.debug(`Project root found at ${l().relative(process.cwd(),e)||"."}`),e;e=l().dirname(e)}while(e!==l().dirname(e));return s?t.debug(`Project root found at ${l().relative(process.cwd(),r)||"."}`):t.debug(`Project root not found, keeping ${l().relative(process.cwd(),r)||"."}`),r}async _loadManifest(e){const t=l().resolve(this.root,e,"package.json"),s=l().relative(this.root,l().dirname(t)),r=this._logger.child({label:s?`project@${s}`:"project"});r.verbose("Loading package.json ...");const n=await i().readFile(t,"utf-8"),o=JSON.parse(n);return u()(o,(e=>r.verbose(e))),o}async _loadWorkspace(e){return await this._lock.acquire("workspaces",(async()=>{let t=this._workspaces.get(e);if(!t){const s=await this._loadManifest(e);t=new y.j(e,s,this),this._workspaces.set(e,t),this._names.set(t.name,t)}return t}))}async packageManager(){if(!this._packageManager){const e=await i().readdir(this.root);e.includes("yarn.lock")?(this._logger.debug(`Detected yarn in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager="yarn"):e.includes("package-lock.json")?(this._logger.debug(`Detected npm in ${l().relative(process.cwd(),this.root)||"."}`),this._packageManager="npm"):(this._logger.debug(`No package manager recognized in ${l().relative(process.cwd(),this.root)||"."}, defaults to npm`),this._packageManager="npm")}return this._packageManager}async mainWorkspace(){if(!this._mainWorkspace){const e=await this._loadManifest(".");this._mainWorkspace=new y.j(".",e,this),this._names.set(this._mainWorkspace.name,this._mainWorkspace)}return this._mainWorkspace}async currentWorkspace(e=process.cwd()){let t=null;e=l().resolve(e);for await(const s of this.workspaces())if(e.startsWith(s.cwd)&&(t=s,s.cwd!==this.root))return s;return t}async*workspaces(){const e=await this.mainWorkspace();if(yield e,this._isFullyLoaded)for(const t of this._names.values())t.name!==e.name&&(yield t);else{const{workspaces:t=[]}=e.manifest;for(const e of t)for(const t of await p()(e,{cwd:this.root}))try{const e=l().resolve(this.root,t);(await i().stat(e)).isDirectory()&&(yield await this._loadWorkspace(t))}catch(e){if("ENOENT"===e.code)continue;throw e}this._isFullyLoaded=!0}}async workspace(e){if(!e){const e=l().relative(this.root,process.cwd());return this._loadWorkspace(e)}const t=this._names.get(e);if(t)return t;if(this._isFullyLoaded)return null;for await(const t of this.workspaces())if(t.name===e)return t;return this._isFullyLoaded=!0,null}get root(){return l().resolve(this._root)}};function j(){return(0,h.oV)(w,m.W)}b([(0,h.yT)(g.Y)],w.prototype,"_logger",void 0),w=b([(0,o.b)()],w)},28410:(e,t,s)=>{s.d(t,{I:()=>g,j:()=>h});var r=s(28344),n=s(19694),o=s(49411),a=s.n(o),i=s(67329),c=s(90236),l=s(10466),d=s(79060),u=s(95960),f=s(1284),p=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a};let h=class{constructor(e,t,s){this._cwd=e,this.manifest=t,this.project=s,this._affectedCache=new Map,this._tasks=new Map;const r=l.nC.get(d.Y);this._logger=r.child({label:this.manifest.name})}_satisfies(e,t){return t.startsWith("file:")?a().resolve(e.cwd,t.substring(5))===this.cwd:(t.startsWith("workspace:")&&(t=t.substring(10)),!this.version||(0,i.satisfies)(this.version,t))}async _buildDependencies(e,t="all"){const s=[];switch(t){case"all":s.unshift(this.devDependencies());case"prod":s.unshift(this.dependencies())}for await(const t of(0,u.$)(...s)){const s=await t.build();s&&e.dependsOn(s)}}async _isAffected(e){if(await this._git.isAffected(e,[this.cwd],{cwd:this.project.root,logger:this._logger}))return!0;const t=[];for await(const s of(0,u.$)(this.dependencies(),this.devDependencies()))t.push(s.isAffected(e));return(await Promise.all(t)).some((e=>e))}async isAffected(e){let t=this._affectedCache.get(e);return t||(t=this._isAffected(e),this._affectedCache.set(e,t)),await t}async*_loadDependencies(e,t){for(const[s,r]of Object.entries(e)){const e=await this.project.workspace(s);e&&(e._satisfies(this,r)?yield e:this._logger.verbose(`Ignoring ${t} ${e.reference} as it does not match requirement ${r}`))}}async*dependencies(){if(this.manifest.dependencies)for await(const e of this._loadDependencies(this.manifest.dependencies,"dependency"))yield e}async*devDependencies(){if(this.manifest.devDependencies)for await(const e of this._loadDependencies(this.manifest.devDependencies,"devDependency"))yield e}async _streamLogs(e,t,s){try{for await(const r of(0,u.F)(e,t))this._logger.log(s,r,{label:`${this.name}#${e.context.script}`})}catch(s){s&&this._logger.warn(`Error while streaming task ${t}`,s,{label:`${this.name}#${e.context.script}`})}}async run(e,t=[],s={}){let n=this._tasks.get(e);if(!n){const o=await this.project.packageManager();n=new r.m(o,["run",e,...t],{workspace:this,script:e},{...s,cwd:this.cwd,logger:this._logger.child({label:`${this.name}#${e}`}),env:{FORCE_COLOR:"1",...s.env}}),this._streamLogs(n,"stdout","info"),this._streamLogs(n,"stderr","info"),await this._buildDependencies(n,s.buildDeps),this._tasks.set(e,n)}return n}async build(e){const{scripts:t={}}=this.manifest;return t.build?await this.run("build",[],e):(this._logger.warn("Will not be built (no build script)"),null)}get name(){return this.manifest.name}get version(){return this.manifest.version}get reference(){return this.version?`${this.name}@${this.version}`:this.name}get cwd(){return a().resolve(this.project.root,this._cwd)}};function g(){return(0,l.oV)(h,f.W)}p([(0,l.yT)(c.F)],h.prototype,"_git",void 0),h=p([(0,n.b)()],h)},3678:(e,t,s)=>{s.d(t,{P:()=>d});var r=s(36204),n=s(79445),o=s(73480),a=s.n(o),i=s(79060),c=s(29724),l=s(29921);let d=class{static isTaskNode(e){return"script"in e}constructor(e){this._logger=e}_lexer(){return a().states({task:{lparen:"(",whitespace:/[ \t]+/,string:[{match:/[:a-zA-Z0-9]+/,push:"operator"},{match:/'(?:\\['\\]|[^\n'\\])+'/,push:"operator",value:e=>e.slice(1,-1).replace(/\\(['\\])/g,"$1")},{match:/"(?:\\["\\]|[^\n"\\])+"/,push:"operator",value:e=>e.slice(1,-1).replace(/\\(["\\])/g,"$1")}]},operator:{whitespace:/[ \t]+/,rparen:")",operator:{match:["->","//"],pop:1}}})}_nextNode(e,t=0){let s=null;for(const r of e){if("whitespace"===r.type)continue;if("rparen"===r.type)break;if("operator"===r.type){const t=r.value;if(s){if(d.isTaskNode(s)){s={operator:t,tasks:[s]};continue}s.operator!==t&&(s={operator:t,tasks:[s]});continue}throw new Error(e.formatError(r,"Unexpected operator"))}let n;if("string"===r.type)n={script:r.value};else{if("lparen"!==r.type)throw new Error(e.formatError(r,"Unexpected token"));{const s=this._nextNode(e,t+1);if(!s)throw new Error(e.formatError(r,"Empty group found"));n=s}}if(s){if(d.isTaskNode(s))throw new Error(e.formatError(r,"Unexpected token, expected an operator"));s.tasks.push(n)}else s=n}return s}parse(e){const t=this._lexer().reset(e),s={roots:[]};for(;;){const e=this._nextNode(t);if(!e)break;s.roots.push(e)}return s}async buildTask(e,t,s){if(d.isTaskNode(e))return t.run(e.script,[],s);{let o;o="//"===e.operator?new r.W("In parallel",{},{logger:this._logger}):new n.h("In sequence",{},{logger:this._logger});for(const r of e.tasks)o.add(await this.buildTask(r,t,s));return o}}};var u,f;d=function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a}([(0,l.t)(),(u=0,f=(0,c.f)(i.Y),function(e,t){f(e,t,u)})],d)},85099:(e,t,s)=>{s.d(t,{N:()=>i});var r=s(61626),n=s(79060),o=s(77839),a=s(10466);const i=Symbol("jujulego:jill:TaskManager");a.nC.bind(i).toDynamicValue((e=>{const t=e.container.get(o.k),s=e.container.get(n.Y);return new r.q({jobs:t.jobs,logger:s})})).inSingletonScope()},36872:(e,t,s)=>{s.d(t,{Z:()=>c});var r=s(52010),n=s(78487),o=s(81119),a=s(76687),i=s(76797);function c({group:e}){const[t,s]=(0,a.useState)([...e.tasks]);return(0,a.useLayoutEffect)((()=>{let t=!1;return e.subscribe("task.added",(()=>{t||(t=!0,queueMicrotask((()=>{s([...e.tasks]),t=!1})))}))}),[e]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Z,{task:e}),(0,r.jsx)(o.Box,{flexDirection:"column",marginLeft:2,children:t.map((e=>(0,r.jsx)(a.Fragment,{children:e instanceof n.O?(0,r.jsx)(c,{group:e}):(0,r.jsx)(i.Z,{task:e})},e.id)))})]})}},58348:(e,t,s)=>{s.d(t,{Z:()=>b});var r=s(52010),n=s(81119),o=s(96122),a=s(40427),i=s(76687),c=s(10466),l=s(53565);function d(){const[e,t]=(0,i.useState)({status:"stop",label:""});switch((0,i.useLayoutEffect)((()=>{const e=c.nC.get(l.V);return t(e.state),e.subscribe("update",t)}),[]),e.status){case"spin":return(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(o.Z,{})," "+e.label]});case"success":return(0,r.jsxs)(n.Text,{color:"green",children:[a.Z.success," ",e.label]});case"failed":return(0,r.jsxs)(n.Text,{color:"red",children:[a.Z.error," ",e.label]});default:return null}}var u=s(41429),f=s.n(u),p=s(86709),h=s.n(p),g=s(79060);const m=Symbol.for("message");function y(){const{write:e}=(0,n.useStderr)();return(0,i.useLayoutEffect)((()=>{const t=c.nC.get(g.Y);for(const e of t.transports)e instanceof f().transports.Console&&t.remove(e);const s=new class extends(h()){constructor(){super({format:g.D})}log(t,s){setTimeout((()=>{this.emit("logged",t)}),0),e(t[m]+"\n"),s()}};return t.add(s),()=>{t.remove(s),t.add(new(f().transports.Console)({format:g.D}))}}),[e]),null}function b({children:e}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{}),(0,r.jsx)(d,{}),e]})}},75740:(e,t,s)=>{s.d(t,{Z:()=>a});var r=s(52010),n=s(81119),o=s(46379);function a({items:e,headers:t}){return 0===e.length?null:(0,r.jsx)(n.Box,{children:Object.keys(e[0]).map((s=>(0,r.jsxs)(n.Box,{flexDirection:"column",marginRight:2,children:[t&&(0,r.jsx)(n.Text,{bold:!0,children:(0,o.k)(s)}),e.map(((e,t)=>(0,r.jsx)(n.Text,{children:e[s]||" "},t)))]},s)))})}},4887:(e,t,s)=>{s.d(t,{Z:()=>c});var r=s(52010),n=s(78487),o=s(76687),a=s(36872),i=s(76797);function c({manager:e}){const[t,s]=(0,o.useState)(e.tasks.filter((e=>!e.context.groupTask)));return(0,o.useLayoutEffect)((()=>{let t=!1;return e.subscribe("added",(()=>{t||(t=!0,queueMicrotask((()=>{s(e.tasks.filter((e=>!e.context.groupTask))),t=!1})))}))}),[e]),(0,r.jsx)(r.Fragment,{children:t.map((e=>e instanceof n.O?(0,r.jsx)(a.Z,{group:e},e.id):(0,r.jsx)(i.Z,{task:e},e.id)))})}},51562:(e,t,s)=>{s.d(t,{Z:()=>o});var r=s(52010),n=s(81119);function o({task:e}){return"workspace"in e.context?(0,r.jsxs)(n.Text,{children:["Running ",(0,r.jsx)(n.Text,{bold:!0,children:e.context.script})," in ",e.context.workspace.name]}):(0,r.jsx)(n.Text,{children:e.name})}},76797:(e,t,s)=>{s.d(t,{Z:()=>d});var r=s(52010),n=s(81119),o=s(96122),a=s(40427),i=s(21061),c=s(76687),l=s(51562);function d({task:e}){const[t,s]=(0,c.useState)(e.status),[d,u]=(0,c.useState)(0);switch((0,c.useLayoutEffect)((()=>e.subscribe("status",(e=>{s(e.status)}))),[e]),(0,c.useLayoutEffect)((()=>e.subscribe("completed",(({duration:e})=>{u(e)}))),[e]),t){case"blocked":case"ready":return(0,r.jsxs)(n.Text,{color:"grey",children:[(0,r.jsx)(o.Z,{type:"line2"})," ",(0,r.jsx)(l.Z,{task:e})]});case"running":return(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(o.Z,{})," ",(0,r.jsx)(l.Z,{task:e})]});case"done":return(0,r.jsxs)(n.Text,{children:[(0,r.jsxs)(n.Text,{color:"green",children:[a.Z.success," ",(0,r.jsx)(l.Z,{task:e})]}),(0,r.jsxs)(n.Text,{color:"magenta",children:[" ","(took ",(0,i.Z)(d),")"]})]});case"failed":return(0,r.jsxs)(n.Text,{children:[(0,r.jsxs)(n.Text,{color:"red",children:[a.Z.error," ",(0,r.jsx)(l.Z,{task:e})]}),(0,r.jsxs)(n.Text,{color:"magenta",children:[" ","(took ",(0,i.Z)(d),")"]})]})}}},66238:(e,t,s)=>{s.d(t,{Z:()=>i});var r=s(52010),n=s(81119),o=s(76687);const a=e=>({color:e?"blue":""});function i(e){const{workspace:t,dev:s=!1,level:c=""}=e,[l,d]=(0,o.useState)([]);return(0,o.useEffect)((()=>{(async()=>{const e=[];for await(const s of t.dependencies())e.push([s,null]);for await(const s of t.devDependencies())e.push([s,!0]);d(e)})()}),[t]),(0,r.jsxs)(n.Text,{children:[(0,r.jsx)(n.Text,{...a(s),children:t.name}),t.version&&(0,r.jsxs)(n.Text,{color:"grey",children:["@",t.version]}),l.length>0&&(0,r.jsx)(n.Newline,{}),l.map((([e,t],o)=>(0,r.jsxs)(n.Text,{children:[c,(0,r.jsxs)(n.Text,{...a(s),children:[o===l.length-1?"└":"├","─"," "]}),(0,r.jsx)(i,{workspace:e,dev:t??s,level:(0,r.jsxs)(r.Fragment,{children:[c,(0,r.jsxs)(n.Text,{...a(s),children:[o===l.length-1?" ":"│"," "]})]})}),o<l.length-1&&(0,r.jsx)(n.Newline,{})]},e.name)))]})}},18520:(e,t,s)=>{async function r(e){return import("win32"===process.platform?`file://${e}`:e)}s.d(t,{y:()=>r})},95960:(e,t,s)=>{s.d(t,{$:()=>n,F:()=>o});var r=s(94415);async function*n(...e){for(const t of e)yield*t}async function*o(e,t){const s=new AbortController,n=new Error("aborted");e.subscribe("completed",(()=>s.abort(n)));let o="";try{for await(const n of(0,r.Vq)(e,`stream.${t}`,{signal:s.signal})){const e=(o+n.data.toString("utf-8")).split(/\r?\n/);o=e.pop()??"";for(const t of e)yield t}}catch(e){if(e!==n)throw e;o&&(yield o)}}},46379:(e,t,s)=>{function r(e){return e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()}s.d(t,{k:()=>r})}};
2
2
  //# sourceMappingURL=554.js.map