wbfy 1.77.0 → 1.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import e from"node:fs/promises";import t from"node:path";import{ignoreEnoentAsync as n,ignoreErrorAsync as r}from"@willbooster/shared-lib";import i from"yargs";import a from"node:fs";import{PromisePool as o}from"minimal-promise-pool";import s from"node:child_process";import c from"deepmerge";import u from"node:os";import{globby as l,globbySync as p}from"globby";import{Octokit as f}from"@octokit/core";import d from"lodash.clonedeep";import m from"js-yaml";import h from"dotenv";import v from"libsodium-wrappers";import{simpleGit as y}from"simple-git";function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){O(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(){x=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,i){var a=t&&t.prototype instanceof f?t:f,o=Object.create(a.prototype),s=new S(i||[]);return r(o,"_invoke",{value:w(e,n,s)}),o}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var p={};function f(){}function d(){}function m(){}var h={};c(h,a,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&n.call(y,a)&&(h=y);var g=m.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function i(r,a,o,s){var c=l(e[r],e,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){i("next",e,o,s)}),(function(e){i("throw",e,o,s)})):t.resolve(p).then((function(e){u.value=e,o(u)}),(function(e){return i("throw",e,o,s)}))}s(c.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return F()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=j(o,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=l(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function j(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var i=l(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function O(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:F}}function F(){return{value:void 0,done:!0}}return d.prototype=m,r(g,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:d,configurable:!0}),d.displayName=c(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},b(k.prototype),c(k.prototype,o,(function(){return this})),e.AsyncIterator=k,e.async=function(t,n,r,i,a){void 0===a&&(a=Promise);var o=new k(u(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(g),c(g,s,"Generator"),c(g,a,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=O,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function w(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function j(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){w(a,r,i,o,s,"next",e)}function s(e){w(a,r,i,o,s,"throw",e)}o(void 0)}))}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function S(e,t,n){return t&&_(e.prototype,t),n&&_(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function O(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,s=[],c=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=T(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function B(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var N=new(S((function e(){P(this,e),O(this,"isVerbose",void 0),this.isVerbose=!1}))),L=new(function(){function e(){P(this,e)}var t;return S(e,[{key:"function",value:(t=j(x().mark((function e(t,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N.isVerbose&&console.info("--------- ".concat(t," start ---------")),e.next=3,n();case 3:N.isVerbose&&console.info("---------- ".concat(t," end ----------"));case 4:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}());function I(e){return W.apply(this,arguments)}function W(){return W=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("fixTestDirectories",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.map(function(){var e=j(x().mark((function e(n){var r,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.join(n,"__tests__"),i=t.join(n,"tests"),e.prev=2,e.next=5,a.promises.rename(r,i);case 5:return e.next=7,a.promises.readFile(t.join(n,"package.json"),"utf8");case 7:return o=e.sent,s=o.replace(/__tests__/g,"tests"),e.next=11,a.promises.writeFile(t.join(n,"package.json"),s);case 11:e.next=15;break;case 13:e.prev=13,e.t0=e.catch(2);case 15:case"end":return e.stop()}}),e,null,[[2,13]])})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),W.apply(this,arguments)}var A=new o;function $(e,t){return C.apply(this,arguments)}function C(){return(C=j(x().mark((function r(i,a){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",L.function("fixTypeDefinitions",j(x().mark((function r(){var o,s,c,u,l,p;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=t.resolve(i.dirPath,"@types"),s=i.root&&i.containingSubPackageJsons?void 0:t.resolve(i.dirPath,"src","types"),r.next=4,n((function(){return e.readdir(o,{withFileTypes:!0})}));case 4:if(c=r.sent){r.next=7;break}return r.abrupt("return");case 7:u=D(c),r.prev=8,p=x().mark((function r(){var i,c,u,p,f;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=l.value,c=i.name.slice(0,-5),u=i.name.endsWith(".d.ts"),(p=u?c:i.name).includes("__")&&(p="@".concat(p.replace("__","/"))),f=a.some((function(e){var t,n,r,i;return(null===(t=e.packageJson)||void 0===t||null===(n=t.dependencies)||void 0===n?void 0:n[p])||(null===(r=e.packageJson)||void 0===r||null===(i=r.devDependencies)||void 0===i?void 0:i[p])})),!i.isFile()||!u){r.next=21;break}if(!f){r.next=14;break}return r.next=10,e.mkdir(t.join(o,c));case 10:return r.next=12,A.run((function(){return e.rename(t.join(o,i.name),t.join(o,c,"index.d.ts"))}));case 12:r.next=19;break;case 14:if(!s){r.next=19;break}return r.next=17,e.mkdir(s,{recursive:!0});case 17:return r.next=19,A.run((function(){return e.rename(t.join(o,i.name),t.join(s,i.name))}));case 19:r.next=26;break;case 21:if(!i.isDirectory()||!s||f){r.next=26;break}return r.next=24,e.mkdir(s,{recursive:!0});case 24:return r.next=26,A.run((function(){return n((function(){return e.rename(t.join(o,i.name,"index.d.ts"),t.join(s,"".concat(i.name,".d.ts")))}))}));case 26:case"end":return r.stop()}}),r)})),u.s();case 11:if((l=u.n()).done){r.next=15;break}return r.delegateYield(p(),"t0",13);case 13:r.next=11;break;case 15:r.next=20;break;case 17:r.prev=17,r.t1=r.catch(8),u.e(r.t1);case 20:return r.prev=20,u.f(),r.finish(20);case 23:case"end":return r.stop()}}),r,null,[[8,17,20,23]])})))));case 1:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function J(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;do{var i=G(e,t,n),a=F(i,3),o=a[0],c=a[1],u=a[2];console.log("$ ".concat(o," ").concat(c.join(" ")," at ").concat(u.cwd));var l=s.spawnSync(o,c,u);if(0===l.status)break}while(--r>=0)}function z(e,t,n){var r=F(G(e,t,n),3),i=r[0],a=r[1],o=r[2];o.stdio="pipe";var c=s.spawnSync(i,a,o),u=c.stderr.toString().trim();return u&&console.error("".concat(i," [").concat(a.map((function(e){return'"'.concat(e,'"')})),"] caused the following error:\n ").concat(u)),c.stdout.toString().trim()}function G(e,t,n){var r=b({},process.env);return r.PATH&&r.BERRY_BIN_FOLDER&&(r.PATH=r.PATH.replace("".concat(r.BERRY_BIN_FOLDER,":"),"")),r.ASDF_DIR&&(t=["-l","-c",". ".concat(r.ASDF_DIR,"/asdf.sh && ").concat(e," ").concat(t.join(" "))],e="bash"),[e,t,{cwd:n,env:r,shell:!1,stdio:"inherit"}]}function M(e){return H.apply(this,arguments)}function H(){return(H=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateVersionConfigs",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,K(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var U="1.3.1",Y="3.9.16",q="adoptopenjdk-11.0.17+8";function K(e){return V.apply(this,arguments)}function V(){return(V=j(x().mark((function e(n){var r,i,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.versionsText){e.next=2;break}return e.abrupt("return");case 2:r=[],i=D(n.versionsText.trim().split("\n")),e.prev=4,s=x().mark((function e(){var i,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=o.value,s=i.trim(),c=s.split(/\s+/),u=F(c,2),l=u[0],p=u[1],l&&p){e.next=5;break}return e.abrupt("return","continue");case 5:if("nodejs"!==l){e.next=10;break}return e.next=8,A.run((function(){return a.promises.writeFile(t.resolve(n.dirPath,".node-version"),p+"\n")}));case 8:e.next=16;break;case 10:if("python"!==l){e.next=15;break}return e.next=13,A.run((function(){return a.promises.writeFile(t.resolve(n.dirPath,".python-version"),p+"\n")}));case 13:e.next=16;break;case 15:r.push(s);case 16:case"end":return e.stop()}}),e)})),i.s();case 7:if((o=i.n()).done){e.next=14;break}return e.delegateYield(s(),"t0",9);case 9:if("continue"!==e.t0){e.next=12;break}return e.abrupt("continue",12);case 12:e.next=7;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(4),i.e(e.t1);case 19:return e.prev=19,i.f(),e.finish(19);case 22:return n.containingPoetryLock&&(X(r,"poetry",U),a.existsSync(t.resolve(n.dirPath,".python-version"))||X(r,"python",Y,!0)),n.depending.firebase&&X(r,"java",q,!0),n.containingPackageJson&&(c=z("npm",["show","yarn","version"],n.dirPath),X(r,"yarn",c)),u=t.resolve(n.dirPath,".tool-versions"),e.next=28,r.length>0?A.run((function(){return a.promises.writeFile(u,r.join("\n")+"\n")})):A.run((function(){return a.promises.rm(u,{force:!0})}));case 28:return e.next=30,A.promiseAll();case 30:J("asdf",["plugin","update","--all"],n.dirPath),J("asdf",["install"],n.dirPath);case 32:case"end":return e.stop()}}),e,null,[[4,16,19,22]])})))).apply(this,arguments)}function X(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=e.findIndex((function(e){return e.split(/\s+/)[0]===t})),a="".concat(t," ").concat(n);if(i>=0){var o=e[i].split(/\s+/),s=F(o,2),c=s[1];Z(n)>Z(c)&&(e[i]=a)}else e.splice(r?0:e.length,0,a)}function Z(e){var t,n=0,r=1,i=D(e.split(/[+.-]/).map(Number).filter(Number.isNaN));try{for(i.s();!(t=i.n()).done;){n+=t.value*r,r/=1e3}}catch(e){i.e(e)}finally{i.f()}return n}var Q={codeWith2IndentSize:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","cpp","dart","htm","html","pu","puml","rb","vue","yaml","yml"].sort(),codeWith4IndentSize:["go","gradle","py"].sort(),codeWith8IndentSize:["sh"].sort(),markdownLike:["md"].sort(),eslint:["cjs","mjs","js","cts","mts","ts","tsx","jsx"].sort(),prettier:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","css","htm","html","md","scss","vue","yaml","yml"].sort()},ee=function(t){return j(x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.readFile(t,"utf8");case 3:return n.abrupt("return",n.sent);case 6:n.prev=6,n.t0=n.catch(0);case 8:case"end":return n.stop()}}),n,null,[[0,6]])})))()},te=function(t,n){return j(x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.writeFile(t,n);case 2:console.log("Generated ".concat(t));case 3:case"end":return r.stop()}}),r)})))()},ne="root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n".concat(ae(Q.codeWith2IndentSize),"\nindent_size = 2\nindent_style = space\n\n").concat(ae(Q.codeWith4IndentSize),"\nindent_size = 4\nindent_style = space\n\n").concat(ae(Q.codeWith8IndentSize),"\nindent_size = 8\nindent_style = space\n\n").concat(ae(Q.markdownLike),"\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n");function re(e){return ie.apply(this,arguments)}function ie(){return(ie=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEditorconfig",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".editorconfig"),e.next=3,A.run((function(){return te(r,ne)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ae(e){return e.length>1?"[*.{".concat(e.join(","),"}]"):"[*.".concat(e[0],"]")}var oe="# Project-specific settings",se=/# Project-specific settings[^\n]*\n/gm,ce="# Generated by wbfy",ue="".concat(oe," (head)\n\n\n").concat(ce,"\n"),le="\n".concat(oe," (tail)\n"),pe={separator:ce,separatorPrefix:"# Generated by ",defaultHeadUserContent:ue,defaultTailUserContent:le,readGitignoreWithoutSeparators:function(e){return j(x().mark((function t(){var n,r;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.promises.readFile(e,"utf8");case 3:return n=t.sent,(r=fe(n))>0&&(n=n.slice(0,r-1)),t.abrupt("return",n.replace(se,"").replace(/# Generated by [^\n]*\n/gm,"").replace(/\r?\n\r?\n(\r?\n)+/gm,"\n\n").trim()+"\n");case 9:t.prev=9,t.t0=t.catch(0);case 11:case"end":return t.stop()}}),t,null,[[0,9]])})))()},getHeadUserContent:function(e){var t=e.indexOf(this.separatorPrefix);return t>=0?e.slice(0,e.indexOf("\n",t)+1).replace(se,"".concat(oe," (head)\n")):ue},getTailUserContent:function(e){var t=fe(e);return t>0?e.slice(t-1):le},isBerryZeroInstallEnabled:function(e){return j(x().mark((function t(){var n;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.promises.readFile(e,"utf8");case 3:return n=t.sent,t.abrupt("return",n.includes("\n!.yarn/cache"));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",!1);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()}};function fe(e){var t=e.indexOf(oe),n=e.lastIndexOf(oe);return n>t?n:-1}var de="\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n";function me(e){return he.apply(this,arguments)}function he(){return he=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintignore",j(x().mark((function e(){var r,i,a,o,s,c,u,l;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".eslintignore"),e.next=3,ee(i);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return a=e.t2,o=pe.getHeadUserContent(a)+de,s=pe.getTailUserContent(a),c=t.resolve(n.dirPath,".gitignore"),e.next=18,pe.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l=o+de+u+s,e.next=25,A.run((function(){return te(i,l)}));case 25:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),he.apply(this,arguments)}function ve(e,t){return t}function ye(e,t,n){var r,i=E(e),a=D(t.entries());try{for(a.s();!(r=a.n()).done;){var o=F(r.value,2),s=o[0],u=o[1];void 0===i[s]?i[s]=n.cloneUnlessOtherwiseSpecified(u,n):n.isMergeableObject(u)?i[s]=c(e[s],u,n):e.includes(u)||i.push(u)}}catch(e){a.e(e)}finally{a.f()}return i}function ge(e,t){return be.apply(this,arguments)}function be(){return be=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintrc",j(x().mark((function e(){var i,o,s,u,l,p,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("2"!==r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return i=[],n.eslintBase&&i.push(n.eslintBase),n!==r&&i.push("../../.eslintrc.json"),o={root:!0,extends:i},s=t.resolve(n.dirPath,".eslintrc.json"),e.prev=7,e.next=10,a.promises.readFile(s,"utf8");case 10:u=e.sent,(l=JSON.parse(u)).extends&&(l.extends=l.extends.filter((function(e){return!e.startsWith("@willbooster/")&&"../../.eslintrc.json"!==e}))),0===i.length&&(l.extends=[]),p=o.extends,o.extends=l.extends,l.extends=p,o=c.all([o,l,o],{arrayMerge:ye}),"0"===n.depending.blitz?xe(o,"blitz"):"2"===n.depending.blitz&&xe(o,"@blitzjs/next/eslint"),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return f=JSON.stringify(o),e.next=26,A.run((function(){return te(s,f)}));case 26:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),be.apply(this,arguments)}function xe(e,t){e.extends=[t].concat(E(e.extends.filter((function(e){return e!==t}))))}var ke="* text=auto\n\n*.vcproj text eol=crlf\n\n".concat([].concat(E(Q.codeWith2IndentSize),E(Q.codeWith4IndentSize),E(Q.markdownLike)).map((function(e){return"*.".concat(e," text eol=lf")})).join("\n"),"\n");function we(e){return je.apply(this,arguments)}function je(){return(je=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitattributes",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".gitattributes"),e.next=3,A.run((function(){return te(r,ke)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Pe=["windows","macos","linux","jetbrains","visualstudiocode","emacs","vim","yarn"],_e="\n.devcontainer/\ndist/\ntemp/\nIcon[\r]\n!.keep\n";function Se(e,t){return Oe.apply(this,arguments)}function Oe(){return Oe=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitignore",j(x().mark((function e(){var i,a,o,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".gitignore"),e.next=3,ee(a);case 3:if(e.t1=i=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==i;case 7:if(!e.t0){e.next=11;break}e.t2=i,e.next=12;break;case 11:e.t2="";case 12:o=e.t2,s=pe.getHeadUserContent(o)+_e,c=pe.getTailUserContent(o),u=[].concat(Pe),n.containingGemfile&&u.push("ruby"),n.containingGoMod&&(u.push("go"),s+="".concat(t.basename(n.dirPath),"\n")),n.containingPackageJson&&u.push("node"),n.containingPomXml&&(u.push("maven"),s+=".idea/google-java-format.xml\n"),n.containingPubspecYaml&&(u.push("flutter","AndroidStudio","ruby"),s+=".flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n"),n.containingTemplateYaml&&(s+=".aws-sam/\npackaged.yaml\n"),n.containingPoetryLock&&(u.push("python"),s+=".venv/\n"),r.depending.blitz&&(u.push("nextjs"),s+=".blitz/\n.blitz**\n"),(r.depending.firebase||n.depending.firebase)&&u.push("firebase"),r.depending.prisma&&(s+="*.sqlite3\n*.sqlite3-journal\n"),r.depending.playwright&&(s+="test-results/\n"),(r.depending.reactNative||n.depending.reactNative)&&(u.push("reactnative"),s+="google-services.json\nandroid/app/src/main/assets/\n"),r.depending.storybook&&u.push("storybookjs"),l="",p=D(u),e.prev=31,d=x().mark((function e(){var t,n,r,i,a,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.value,e.next=3,Re(n);case 3:if(e.t1=t=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==t;case 7:if(!e.t0){e.next=11;break}e.t2=t,e.next=12;break;case 11:e.t2="";case 12:if(r=e.t2){e.next=28;break}return i="https://www.toptal.com/developers/gitignore/api/".concat(n),e.next=17,fetch(i);case 17:return a=e.sent,e.next=20,a.text();case 20:if(!(o=e.sent).includes("Attention Required!")){e.next=24;break}return console.error("Failed to fetch ".concat(i)),e.abrupt("return",{v:void 0});case 24:return r=o.trim(),e.next=27,A.run((function(){return Ee(n,r)}));case 27:N.isVerbose&&console.info("Fetched ".concat(i));case 28:l&&(l+="\n"),l+=r+"\n";case 30:case"end":return e.stop()}}),e)})),p.s();case 34:if((f=p.n()).done){e.next=41;break}return e.delegateYield(d(),"t3",36);case 36:if("object"!==k(m=e.t3)){e.next=39;break}return e.abrupt("return",m.v);case 39:e.next=34;break;case 41:e.next=46;break;case 43:e.prev=43,e.t4=e.catch(31),p.e(e.t4);case 46:return e.prev=46,p.f(),e.finish(46);case 49:return e.next=51,pe.isBerryZeroInstallEnabled(a);case 51:if(e.sent){e.next=53;break}l=l.replace("!.yarn/cache","# !.yarn/cache").replace("# .pnp.*",".pnp.*");case 53:return(n.containingPomXml||n.containingPubspecYaml)&&(l=l.replace(/^# .idea\/artifacts$/gm,".idea/artifacts").replace(/^# .idea\/compiler.xml$/gm,".idea/compiler.xml").replace(/^# .idea\/jarRepositories.xml$/gm,".idea/jarRepositories.xml").replace(/^# .idea\/modules.xml$/gm,".idea/modules.xml").replace(/^# .idea\/*.iml$/gm,".idea/*.iml").replace(/^# .idea\/modules$/gm,".idea/modules").replace(/^# *.iml$/gm,"*.iml").replace(/^# *.ipr$/gm,"*.ipr"),n.containingPubspecYaml&&(l=l.replace(/^.idea\/modules.xml$/gm,"# .idea/modules.xml"))),l=l.replace(/^.idea\/?$/gm,"# .idea"),(r.depending.reactNative||n.depending.reactNative||n.containingPubspecYaml)&&(l=l.replace(/^(.idea\/.+)$/gm,"$1\nandroid/$1")),h=s+l+c,e.next=59,A.run((function(){return te(a,h)}));case 59:case"end":return e.stop()}}),e,null,[[31,43,46,49]])})))));case 1:case"end":return e.stop()}}),e)}))),Oe.apply(this,arguments)}var Fe=t.join(u.homedir(),".cache","wbfy","gitignore");function Ee(e,t){return Te.apply(this,arguments)}function Te(){return(Te=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.promises.mkdir(Fe,{recursive:!0});case 2:return e.next=4,a.promises.writeFile(t.join(Fe,n),r);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Re(e){return De.apply(this,arguments)}function De(){return(De=j(x().mark((function e(n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a.promises.stat(t.join(Fe,n));case 3:if(r=e.sent,!(Date.now()-r.mtimeMs>216e5)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,a.promises.readFile(t.join(Fe,n),"utf8");case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(0);case 13:case"end":return e.stop()}}),e,null,[[0,11]])})))).apply(this,arguments)}var Be=function(e){return e.containingJsxOrTsx?' --rule "{ react-hooks/exhaustive-deps: 0 }"':""},Ne=process.env.GH_BOT_PAT||process.env.PUBLIC_GH_BOT_PAT||process.env.GH_TOKEN||process.env.GITHUB_TOKEN,Le=!!Ne,Ie=new f({auth:Ne}),We=new(function(){function e(){P(this,e)}return S(e,[{key:"getOrgAndName",value:function(e){var t,n,r,i=e.split(":").at(-1),a=null==i?void 0:i.split("/");return[null!==(t=null==a?void 0:a.at(-2))&&void 0!==t?t:"",null!==(n=null==a||null===(r=a.at(-1))||void 0===r?void 0:r.replace(/.git$/,""))&&void 0!==n?n:""]}}]),e}()),Ae={node:["src","tests","scripts"].sort(),blitz0:["tests","scripts","app","db","integrations","mailers","test"].sort(),blitz2:["src","tests","scripts","db","integrations","mailers"].sort()};function $e(e){return e.depending.blitz?"0"===e.depending.blitz?Ae.blitz0:Ae.blitz2:Ae.node}var Ce=["eslint","eslint-config-prettier","eslint-plugin-import","eslint-plugin-sort-class-members","eslint-plugin-sort-destructure-keys","eslint-plugin-unicorn"],Je=[].concat(Ce,["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","eslint-import-resolver-typescript"]),ze=["eslint-plugin-react","eslint-plugin-react-hooks"],Ge={"@willbooster/eslint-config-js":["@willbooster/eslint-config-js"].concat(Ce),"@willbooster/eslint-config-js-react":["@willbooster/eslint-config-js-react"].concat(Ce,ze),"@willbooster/eslint-config-ts":["@willbooster/eslint-config-ts"].concat(E(Je)),"@willbooster/eslint-config-ts-react":["@willbooster/eslint-config-ts-react"].concat(E(Je),ze),"../../.eslintrc.json":[]};function Me(e,t,n){return He.apply(this,arguments)}function He(){return(He=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePackageJson",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ue(t,n,r);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t,n){return Ye.apply(this,arguments)}function Ye(){return Ye=j(x().mark((function e(n,r,i){var o,s,u,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,T,R,B,N,L,I,W,A,$,C,z;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.resolve(n.dirPath,"package.json"),e.next=3,a.promises.readFile(u,"utf8");case 3:return p=e.sent,(f=JSON.parse(p)).scripts=f.scripts||{},f.dependencies=f.dependencies||{},f.devDependencies=f.devDependencies||{},f.peerDependencies=f.peerDependencies||{},e.next=11,qe(f);case 11:for("@willbooster/prettier-config"!==f.name&&(f.prettier="@willbooster/prettier-config"),d=0,m=Object.keys(f.scripts);d<m.length;d++)h=m[d],f.scripts[h].includes("git clone")||(f.scripts[h]=f.scripts[h].replace(/yarn\s*&&\s*/,"").replace(/yarn\s*install\s*&&\s*/,""));return f.scripts=c(f.scripts,Ve(n)),e.t0=f.scripts.prettify,e.next=17,Xe(n.dirPath);case 17:if(f.scripts.prettify=e.t0+=e.sent,v=[],y=["lint-staged","prettier","sort-package-json","@willbooster/prettier-config"],g=[],n.root&&(y.push("husky","@willbooster/renovate-config"),(n.publicRepo||n.referredByOtherRepo)&&(y.push("pinst"),f.scripts.prepack="pinst --disable",f.scripts.postpack="pinst --enable"),n.depending.semanticRelease&&(y.push("conventional-changelog-conventionalcommits"),f.devDependencies["semantic-release"]||f.devDependencies["multi-semantic-release"]||f.devDependencies["@qiwi/multi-semantic-release"]||y.push("semantic-release"),f.version="0.0.0-semantically-released"),n.containingSubPackageJsons?f.workspaces=["packages/*"]:delete f.workspaces),(n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages)&&(y.push("eslint","micromatch"),n.containingTypeScriptInPackages&&y.push("@typescript-eslint/parser")),(n.containingTypeScript||n.containingTypeScriptInPackages)&&y.push("typescript"),n.eslintBase&&(b=y).push.apply(b,E(Ge[n.eslintBase])),n.willBoosterConfigs&&(v=v.filter((function(e){return!e.includes("@willbooster/")})),y=y.filter((function(e){return!e.includes("@willbooster/")}))),f.name||(f.name=t.basename(n.dirPath)),n.containingSubPackageJsons&&(f.private=!0),f.license||(f.license="UNLICENSED"),!f.private&&"UNLICENSED"!==f.license&&r.publicRepo&&(null!==(k=f.publishConfig)&&void 0!==k||(f.publishConfig={}),null!==(j=(w=f.publishConfig).access)&&void 0!==j||(w.access="public")),P=We.getOrgAndName(null!==(o=n.repository)&&void 0!==o?o:""),_=F(P,1),"WillBooster"!==(S=_[0])&&"WillBoosterLab"!==S||(f.author="WillBooster Inc."),n.depending.semanticRelease&&n.release.npm&&(n.esmPackage?null===(O=f.resolutions)||void 0===O||delete O["npm/chalk"]:(f.resolutions||(f.resolutions={}),f.resolutions["npm/chalk"]="^4.1.2")),n.containingSubPackageJsons){e.next=46;break}if(n.containingJavaScript||n.containingTypeScript?f.scripts["lint-fix"]+=Be(n):(delete f.scripts.lint,delete f.scripts["lint-fix"],f.scripts.cleanup=f.scripts.cleanup.replace(" && yarn lint-fix","")),n.containingPubspecYaml&&(f.scripts.lint="flutter analyze",f.scripts["lint-fix"]="yarn lint",(T=["lib","test","test_driver"].filter((function(e){return a.existsSync(t.resolve(n.dirPath,e))}))).length>0&&(f.scripts["format-code"]="flutter format $(find ".concat(T.join(" ")," -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)"),f.scripts.format+=" && yarn format-code")),!n.containingPoetryLock){e.next=45;break}return"poetry install"===f.scripts.postinstall&&delete f.scripts.postinstall,e.next=40,l("**/*.py",{cwd:n.dirPath,dot:!0,gitignore:!0,ignore:["test-fixtures"]});case 40:R=e.sent,B=new Set,N=D(R);try{for(N.s();!(L=N.n()).done;)I=L.value,W=I.split(/[/\\]/),A=F(W,2),$=A[0],A[1]&&B.add($)}catch(e){N.e(e)}finally{N.f()}B.size>0&&(C=E(B).join(" "),f.scripts["format-code"]="poetry run isort --profile black ".concat(C," && poetry run black ").concat(C),f.scripts.lint="poetry run flake8 ".concat(C),f.scripts["lint-fix"]="yarn lint",f.scripts.format+=" && yarn format-code",g.push("black","isort","flake8"));case 45:n.repository&&(f.repository=n.repository);case 46:return n.depending.blitz?("0"===n.depending.blitz&&(y=(y=y.filter((function(e){return!e.includes("@typescript-eslint/")}))).filter((function(e){return"eslint-plugin-react"!==e&&"eslint-import-resolver-typescript"!==e&&"eslint-plugin-import"!==e&&"eslint-plugin-react-hooks"!==e}))),null!==(z=f.scripts["gen-code"])&&void 0!==z&&z.startsWith("blitz codegen")||(f.scripts["gen-code"]="blitz codegen")):!n.depending.prisma||null!==(s=f.scripts["gen-code"])&&void 0!==s&&s.startsWith("prisma generate")||(f.scripts["gen-code"]="prisma generate"),0===Object.keys(f.dependencies).length&&delete f.dependencies,0===Object.keys(f.devDependencies).length&&delete f.devDependencies,0===Object.keys(f.peerDependencies).length&&delete f.peerDependencies,e.next=52,a.promises.writeFile(u,JSON.stringify(f));case 52:i||((v=v.filter((function(e){var t;return!(null!==(t=f.devDependencies)&&void 0!==t&&t[e])}))).length>0&&J("yarn",["add"].concat(E(new Set(v))),n.dirPath),(y=y.filter((function(e){var t;return!(null!==(t=f.dependencies)&&void 0!==t&&t[e])}))).length>0&&J("yarn",["add","-D"].concat(E(new Set(y))),n.dirPath),g.length>0&&J("poetry",["add"].concat(E(new Set(g))),n.dirPath));case 53:case"end":return e.stop()}}),e)}))),Ye.apply(this,arguments)}function qe(e){return Ke.apply(this,arguments)}function Ke(){return Ke=j(x().mark((function e(t){var n,r,i,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for("WillBooster LLC"===t.author&&(t.author="WillBooster Inc."),delete t.scripts["sort-package-json"],delete t.scripts["sort-all-package-json"],delete t.scripts["typecheck:codegen"],delete t.dependencies.tslib,delete t.devDependencies["@willbooster/eslint-config"],delete t.devDependencies["@willbooster/eslint-config-react"],delete t.devDependencies["@willbooster/tsconfig"],delete t.devDependencies["eslint-import-resolver-node"],delete t.devDependencies["eslint-plugin-prettier"],delete t.devDependencies.lerna,delete t.devDependencies.pinst,delete t.scripts["flutter-format"],delete t.scripts["format-flutter"],delete t.scripts["python-format"],delete t.scripts["format-python"],delete t.scripts.prettier,n=0,r=Object.values(Ge);n<r.length;n++){i=r[n],o=D(i);try{for(o.s();!(s=o.n()).done;)c=s.value,delete t.devDependencies[c]}catch(e){o.e(e)}finally{o.f()}}return e.next=20,A.run((function(){return a.promises.rm("lerna.json",{force:!0})}));case 20:case"end":return e.stop()}}),e)}))),Ke.apply(this,arguments)}function Ve(e){var t={cleanup:"yarn format && yarn lint-fix",format:"sort-package-json && yarn prettify",lint:'eslint --color "./{'.concat($e(e),"}/**/*.{").concat(Q.eslint.join(","),'}"'),"lint-fix":"yarn lint --fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(Q.prettier.join(","),'}" "!**/test-fixtures/**"'),typecheck:"tsc --noEmit --Pretty"};return e.containingSubPackageJsons?(t=c(b({},t),{format:"sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format",lint:"yarn workspaces foreach --parallel --verbose run lint","lint-fix":"yarn workspaces foreach --parallel --verbose run lint-fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(Q.prettier.join(","),'}" "!**/packages/**" "!**/test-fixtures/**"'),test:"yarn workspaces foreach --verbose run test",typecheck:"yarn workspaces foreach --parallel --verbose run typecheck"}),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck):(e.depending.blitz&&(t.typecheck+=" || yarn run typecheck/warn",t["typecheck/warn"]="echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1",t["typecheck:gen-code"]="yarn gen-code && tsc --noEmit --Pretty"),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck,e.depending.pyright&&(t.typecheck=t.typecheck?"".concat(t.typecheck," && "):"",t.typecheck+="pyright")),t}function Xe(e){return Ze.apply(this,arguments)}function Ze(){return Ze=j(x().mark((function e(n){var r,i,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n,".prettierignore"),e.next=3,a.promises.readFile(r,"utf8");case 3:if(i=e.sent,!((o=i.indexOf(pe.separatorPrefix))<0)){e.next=7;break}return e.abrupt("return","");case 7:return s=i.slice(0,o),c=s.split("\n").map((function(e){var t=e.trim();return t.endsWith("/")?t.slice(0,-1):t})).filter((function(e){return e&&!e.startsWith("#")&&!e.includes("/")})),e.abrupt("return",c.map((function(e){return' "!**/'.concat(e,'/**"')})).join(""));case 10:case"end":return e.stop()}}),e)}))),Ze.apply(this,arguments)}var Qe="npm test",et={preCommit:"node node_modules/.bin/lint-staged",prePush:"yarn typecheck",prePushForLab:'\nif [ $(git branch --show-current) = "main" ] && [ $(git config user.email) != "exkazuu@gmail.com" ]; then\n echo "************************************************"\n echo "*** Don\'t push main branch directly. Use PR! ***"\n echo "************************************************"\n exit 1\nfi\n\nyarn typecheck\n'.trim(),postMerge:'\nchanged_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"\n\nrun_if_changed() {\n if echo "$changed_files" | grep --quiet -E "$1"; then\n eval "$2"\n fi\n}\n'.trim()};function tt(e){return nt.apply(this,arguments)}function nt(){return(nt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateHuskyrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rt(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rt(e){return it.apply(this,arguments)}function it(){return it=j(x().mark((function e(n){var r,i,o,s,c,u,l,p,f,d,m,h,v;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,"package.json"),e.next=3,a.promises.readFile(i,"utf8");case 3:return o=e.sent,(s=JSON.parse(o)).scripts||(s.scripts={}),delete s.scripts.postinstall,delete s.scripts.postpublish,delete s.scripts.prepare,delete s.scripts.prepublishOnly,delete s.scripts.prepack,delete s.scripts.postpack,c=t.resolve(n.dirPath,".husky"),e.next=15,Promise.all([a.promises.writeFile(i,JSON.stringify(s,void 0,2)),a.promises.rm(c,{force:!0,recursive:!0})]);case 15:return J("yarn",["dlx","husky-init","--yarn2"],n.dirPath),u=t.resolve(c,"pre-commit"),e.next=19,a.promises.readFile(u,"utf8");case 19:return l=e.sent,e.next=22,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".huskyrc.json"),{force:!0})}));case 22:return e.next=24,A.run((function(){return a.promises.writeFile(u,l.replace(Qe,et.preCommit))}));case 24:if(p=Ve(n),!(f=p.typecheck)){e.next=30;break}return m=(m=null!==(d=n.repository)&&void 0!==d&&d.startsWith("github:WillBoosterLab/")?et.prePushForLab:et.prePush).replace("yarn typecheck",f.replace("tsc","node node_modules/.bin/tsc").replace("pyright","node node_modules/.bin/pyright")),e.next=30,A.run((function(){return a.promises.writeFile(t.resolve(c,"pre-push"),l.replace(Qe,m),{mode:493})}));case 30:return h=[],n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf plugin update --all"'),null!==(r=n.versionsText)&&void 0!==r&&r.includes("python ")&&h.push('run_if_changed "\\..+-version" "asdf install python"'),n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf install"'),h.push('run_if_changed "package\\.json" "yarn"'),n.containingPoetryLock&&h.push('run_if_changed "poetry\\.lock" "poetry install"'),n.depending.blitz?h.push('run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz prisma migrate deploy"','run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz blitz codegen"'):n.depending.prisma&&h.push('run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma migrate deploy"','run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma generate"'),v=l.replace(Qe,"".concat(et.postMerge,"\n\n").concat(h.join("\n"))),e.next=40,A.run((function(){return a.promises.writeFile(t.resolve(c,"post-merge"),v,{mode:493})}));case 40:case"end":return e.stop()}}),e)}))),it.apply(this,arguments)}var at='<?xml version="1.0" encoding="UTF-8"?>\n<project version="4">\n <component name="ProjectTasksOptions">\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="ts" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.ts)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="tsx" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.tsx)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="js" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.js)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="json" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.json)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="md" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.md)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="html" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.html)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n';function ot(e){return st.apply(this,arguments)}function st(){return st=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateIdeaSettings",j(x().mark((function e(){var r,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.resolve(n.dirPath,".idea"),!a.existsSync(r)){e.next=5;break}return i=t.resolve(r,"watcherTasks.xml"),e.next=5,n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages||n.containingPackageJson&&!n.containingPubspecYaml&&!n.containingGemfile&&!n.containingGoMod&&!n.containingPomXml?A.run((function(){return te(i,at)})):A.run((function(){return a.promises.rm(i,{force:!0})}));case 5:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),st.apply(this,arguments)}function ct(e){return ut.apply(this,arguments)}function ut(){return(ut=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateLintstagedrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,lt(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lt(e){return pt.apply(this,arguments)}function pt(){return pt=j(x().mark((function e(n){var r,i,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.root?"node node_modules/.bin/":"node ../../node_modules/.bin/",i=[],(n.containingJavaScript||n.containingTypeScript)&&(o="\n '".concat(ft(n),"': [").concat(JSON.stringify("".concat(r,"eslint --fix").concat(Be(n))),", '").concat(r,"prettier --cache --write'],"),i.push(o)),s=n.root?" && !file.includes('/packages/')":"",i.push("\n './**/*.{".concat(Q.prettier.join(","),"}': files => {\n ").concat(n.containingJavaScript||n.containingTypeScript?dt(n):"","\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')").concat(s,");\n if (filteredFiles.length === 0) return [];\n const commands = [`").concat(r,"prettier --cache --write ${filteredFiles.join(' ')}`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('").concat(r,"sort-package-json');\n }\n return commands;\n },")),n.containingPubspecYaml&&i.push("\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [`flutter format ${filteredFiles.join(' ')}`];\n },"),n.containingPoetryLock&&i.push("\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],"),c="".concat(n.containingJavaScript||n.containingTypeScript?"const micromatch = require('micromatch');":"","\n\nmodule.exports = {").concat(i.join(""),"\n};\n"),u=t.resolve(n.dirPath,".lintstagedrc.cjs"),e.next=11,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".lintstagedrc.js"),{force:!0})}));case 11:return e.next=13,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".lintstagedrc.json"),{force:!0})}));case 13:return e.next=15,A.run((function(){return te(u,c)}));case 15:case"end":return e.stop()}}),e)}))),pt.apply(this,arguments)}function ft(e){var t=$e(e);return"./{".concat(t.join(","),"}/**/*.{").concat(Q.eslint.join(","),"}")}function dt(e){return"files = micromatch.not(files, '".concat(ft(e),"');")}var mt="\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n";function ht(e){return vt.apply(this,arguments)}function vt(){return vt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePrettierignore",j(x().mark((function e(){var r,i,a,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".prettierignore"),e.next=3,ee(i);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return a=e.t2,o=pe.getHeadUserContent(a)+mt,s=pe.getTailUserContent(a),c=t.resolve(n.dirPath,".gitignore"),e.next=18,pe.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l="",n.containingPubspecYaml&&(l="\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n"),p=o+mt+l+u+s,e.next=27,A.run((function(){return te(i,p)}));case 27:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),vt.apply(this,arguments)}var yt={venvPath:".",venv:".venv"};function gt(e){return bt.apply(this,arguments)}function bt(){return bt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePyrightConfigJson",j(x().mark((function e(){var r,i,o,s,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(yt),i=t.resolve(n.dirPath,"pyrightconfig.json"),e.prev=2,e.next=5,a.promises.readFile(i,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=c.all([r,s,r],{arrayMerge:ve}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return u=JSON.stringify(r),e.next=15,A.run((function(){return te(i,u)}));case 15:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),bt.apply(this,arguments)}function xt(e){return kt.apply(this,arguments)}function kt(){return kt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReadme",j(x().mark((function e(){var r,i,o,s,c,u,l,p,f,d,m;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.resolve(n.dirPath,"README.md"),e.next=3,a.promises.readFile(o,"utf8");case 3:s=e.sent,s=jt(n,s,wt,".releaserc.json"),c=null===(r=n.repository)||void 0===r?void 0:r.slice((null===(i=n.repository)||void 0===i?void 0:i.indexOf(":"))+1),u=a.readdirSync("".concat(n.dirPath,"/.github/workflows")),l=D(u),e.prev=8,l.s();case 10:if((p=l.n()).done){e.next=21;break}if((f=p.value).startsWith("test")||f.startsWith("deploy")){e.next=14;break}return e.abrupt("continue",19);case 14:d=(d=(d=f).charAt(0).toUpperCase()+d.slice(1,d.indexOf("."))).replace("-"," "),m="[.concat(c,"/actions/workflows/").concat(f,"/badge.svg)](https://github.com/").concat(c,"/actions/workflows/").concat(f,")"),s=jt(n,s,m,".github/workflows/".concat(f));case 19:e.next=10;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(8),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:return e.next=31,A.run((function(){return te(o,s)}));case 31:case"end":return e.stop()}}),e,null,[[8,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)}))),kt.apply(this,arguments)}var wt="[](https://github.com/semantic-release/semantic-release)";function jt(e,n,r,i){if(!a.existsSync(t.resolve(e.dirPath,i)))return n;var o=n.indexOf(r);o>=0&&(n=n.slice(0,o)+n.slice(o+r.length));for(var s=!1,c=0;c<n.length;c++)if("\n"===n[c]){s=!0,n="".concat(n.slice(0,c+1)).concat(r,"\n").concat(n.slice(c+1));break}return s||(n="".concat(n,"\n").concat(r,"\n")),n}function Pt(e){return _t.apply(this,arguments)}function _t(){return _t=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReleaserc",j(x().mark((function e(){var r,i,o,s,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".releaserc.json"),e.prev=1,e.t0=JSON,e.next=5,a.promises.readFile(r,"utf8");case 5:for(e.t1=e.sent,i=e.t0.parse.call(e.t0,e.t1),o=(null==i?void 0:i.plugins)||[],s=0;s<o.length;s++)u=Array.isArray(o[s])?o[s][0]:o[s],l=Array.isArray(o[s])&&o[s][1]||{},"@semantic-release/commit-analyzer"===u?o[s]=["@semantic-release/commit-analyzer",c.all([l,{preset:"conventionalcommits"}],{arrayMerge:ve})]:"@semantic-release/github"===u&&(o[s]=["@semantic-release/github",c.all([l,{successComment:!1,labels:["r: semantic-release"],releasedLabels:["released :bookmark:"]}],{arrayMerge:ve})]);return p=JSON.stringify(i),e.next=12,A.run((function(){return te(r,p)}));case 12:e.next=16;break;case 14:e.prev=14,e.t2=e.catch(1);case 16:case"end":return e.stop()}}),e,null,[[1,14]])})))));case 1:case"end":return e.stop()}}),e)}))),_t.apply(this,arguments)}var St={extends:["@willbooster"]};function Ot(e){return Ft.apply(this,arguments)}function Ft(){return Ft=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateRenovateJson",j(x().mark((function e(){var r,i,o,s,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(St),i=t.resolve(n.dirPath,".renovaterc.json"),e.prev=2,e.next=5,a.promises.readFile(i,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=c.all([r,s,r],{arrayMerge:ve}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return e.next=14,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".dependabot"),{force:!0})}));case 14:return e.next=16,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,"renovate.json"),{force:!0})}));case 16:return u=JSON.stringify(r),e.next=19,A.run((function(){return te(i,u)}));case 19:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),Ft.apply(this,arguments)}function Et(e){var t,n=D(Object.entries(e).sort((function(e,t){var n=F(e,1)[0],r=F(t,1)[0];return n.localeCompare(r)})));try{for(n.s();!(t=n.n()).done;){var r=F(t.value,2),i=r[0],a=r[1];delete e[i],e[i]=a}}catch(e){n.e(e)}finally{n.f()}return e}var Tt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["./node_modules/@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*","packages/*/src/**/*","packages/*/tests/**/*","packages/*/scripts/**/*"]},Rt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["../../node_modules/@types","../../@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*"]};function Dt(e,t){return Bt.apply(this,arguments)}function Bt(){return Bt=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateTsconfig",j(x().mark((function e(){var i,o,s,u,l,p,f,m,h,v,y,g,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return s=d(n.root?Tt:Rt),n.containingJsxOrTsx||n.containingJsxOrTsxInPackages||null===(u=s.compilerOptions)||void 0===u||delete u.jsx,n.root&&!n.containingSubPackageJsons&&(s.include=null===(l=s.include)||void 0===l?void 0:l.filter((function(e){return!e.startsWith("packages/*/")}))),n.esmPackage&&(s.compilerOptions=b(b({},s.compilerOptions),{},{moduleResolution:"NodeNext"})),p=t.resolve(n.dirPath,"tsconfig.json"),e.prev=7,e.next=10,a.promises.readFile(p,"utf8");case 10:g=e.sent,"./node_modules/@willbooster/tsconfig/tsconfig.json"===(k=JSON.parse(g)).extends&&delete k.extends,null===(f=s.compilerOptions)||void 0===f||delete f.target,null===(m=s.compilerOptions)||void 0===m||delete m.module,null===(h=s.compilerOptions)||void 0===h||delete h.moduleResolution,null!==(v=k.compilerOptions)&&void 0!==v&&v.jsx&&(null===(w=s.compilerOptions)||void 0===w||delete w.jsx),(s=c.all([s,k,s],{arrayMerge:ye})).include=null===(y=s.include)||void 0===y?void 0:y.filter((function(e){return!e.includes("@types")&&!e.includes("__tests__")})),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return Et(null!==(i=s.compilerOptions)&&void 0!==i?i:{}),null===(o=s.include)||void 0===o||o.sort(),j=JSON.stringify(s),e.next=28,A.run((function(){return te(p,j)}));case 28:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),Bt.apply(this,arguments)}var Nt={test:{name:"Test",on:{pull_request:null,push:{branches:["main","wbfy","renovate/**"]}},jobs:{test:{uses:"WillBooster/reusable-workflows/.github/workflows/test.yml@main"}}},release:{name:"Release",on:{push:{branches:[]}},jobs:{release:{uses:"WillBooster/reusable-workflows/.github/workflows/release.yml@main"}}},wbfy:{name:"Willboosterify",on:{workflow_dispatch:null},jobs:{wbfy:{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main"}}},"wbfy-merge":{name:"Merge wbfy",on:{workflow_dispatch:null},jobs:{"wbfy-merge":{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main"}}},"semantic-pr":{name:"Lint PR title",on:{pull_request_target:{types:["opened","edited","synchronize"]}},jobs:{"semantic-pr":{uses:"WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main"}}},"notify-ready":{name:"Notify ready",on:{issues:{types:["labeled"]}},jobs:{"notify-ready":{uses:"WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main",secrets:{DISCORD_WEBHOOK_URL:"${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}"}}}},"close-comment":{name:"Add close comment",on:{pull_request:{types:["opened"]}},jobs:{"close-comment":{uses:"WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main"}}},"add-issue-to-project":{name:"Add issue to github project",on:{issues:{types:["labeled"]}},jobs:{"add-issue-to-project":{uses:"WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main",secrets:{GH_PROJECT_URL:"${{ secrets.GH_PROJECT_URL }}"}}}}};function Lt(e){return It.apply(this,arguments)}function It(){return(It=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateWorkflow",j(x().mark((function e(){var r,i,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".github","workflows"),e.next=3,a.promises.mkdir(i,{recursive:!0});case 3:return o=t.resolve(n.dirPath,".github","semantic.yml"),e.next=6,A.run((function(){return a.promises.rm(o,{force:!0,recursive:!0})}));case 6:return e.next=8,a.promises.readdir(i,{withFileTypes:!0});case 8:s=e.sent,c=s.filter((function(e){return e.isFile()&&e.name.endsWith(".yml")})).map((function(e){return e.name})),n.depending.semanticRelease&&c.push("release.yml"),(n.publicRepo||null!==(r=n.repository)&&void 0!==r&&r.startsWith("github:WillBoosterLab/"))&&c.push("notify-ready.yml"),c.push("test.yml","wbfy.yml","wbfy-merge.yml","semantic-pr.yml","close-comment.yml","add-issue-to-project.yml"),u=D(c),e.prev=14,p=x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.value,a=t.basename(r,".yml"),e.next=4,A.run((function(){return Wt(n,i,a)}));case 4:case"end":return e.stop()}}),e)})),u.s();case 17:if((l=u.n()).done){e.next=21;break}return e.delegateYield(p(),"t0",19);case 19:e.next=17;break;case 21:e.next=26;break;case 23:e.prev=23,e.t1=e.catch(14),u.e(e.t1);case 26:return e.prev=26,u.f(),e.finish(26);case 29:case"end":return e.stop()}}),e,null,[[14,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wt(e,t,n){return At.apply(this,arguments)}function At(){return(At=j(x().mark((function e(n,r,i){var o,s,u,l,p,f,h,v,y,g,b;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=d(Nt[i]||{}),s=t.join(r,"".concat(i,".yml")),e.prev=2,e.next=5,a.promises.readFile(s,"utf8");case 5:u=e.sent,l=m.load(u),"wbfy"!==i&&"wbfy-merge"!==i||(console.log("writeWorkflowYaml:",i),console.dir(l,{depth:null})),o=c.all([o,l,o],{arrayMerge:ye}),"wbfy"!==i&&"wbfy-merge"!==i||console.dir(o,{depth:null}),e.next=14;break;case 12:e.prev=12,e.t0=e.catch(2);case 14:p=0,f=Object.values(o.jobs);case 15:if(!(p<f.length)){e.next=23;break}if(g=f[p],null!==(h=g.uses)&&void 0!==h&&null!==(v=(y=h).includes)&&void 0!==v&&v.call(y,"/reusable-workflows/")){e.next=19;break}return e.abrupt("return");case 19:$t(n,g,i);case 20:p++,e.next=15;break;case 23:e.t1=i,e.next="release"===e.t1?26:"wbfy"===e.t1?38:"wbfy-merge"===e.t1?40:42;break;case 26:if(!o.on.schedule){e.next=30;break}delete o.on.push,e.next=37;break;case 30:if(!(n.release.branches.length>0)){e.next=34;break}o.on.push.branches=n.release.branches,e.next=37;break;case 34:return e.next=36,a.promises.rm(t.join(r,"release.yml"),{force:!0});case 36:return e.abrupt("return");case 37:return e.abrupt("break",42);case 38:return Ct(o,20,24),e.abrupt("break",42);case 40:return Ct(o,1,4),e.abrupt("break",42);case 42:return Gt(o),e.next=45,Jt(o,s);case 45:if("release"!==i){e.next=50;break}return e.next=48,a.promises.rm(t.join(r,"semantic-release.yml"),{force:!0});case 48:e.next=65;break;case 50:if("sync"!==i){e.next=65;break}return e.next=53,a.promises.rm(t.join(r,"sync-init.yml"),{force:!0});case 53:if(o.jobs.sync){e.next=55;break}return e.abrupt("return");case 55:if(o.jobs["sync-force"]=o.jobs.sync,b=o.jobs.sync.with.sync_params_without_dest){e.next=59;break}return e.abrupt("return");case 59:return o.jobs.sync.with.sync_params_without_dest="--force ".concat(b),o.name="Force to Sync",o.on={workflow_dispatch:null},delete o.jobs.sync,e.next=65,Jt(o,t.join(r,"sync-force.yml"));case 65:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}function $t(e,t,n){var r,i;if(t.with||(t.with={}),t.secrets||(t.secrets={}),"test"!==n&&"release"!==n&&"wbfy"!==n&&"wbfy-merge"!==n&&"add-issue-to-project"!==n||(t.secrets.GH_TOKEN=e.publicRepo?"${{ secrets.PUBLIC_GH_BOT_PAT }}":"${{ secrets.GH_BOT_PAT }}"),!e.release.npm||"release"!==n&&"test"!==n||(t.secrets.NPM_TOKEN="${{ secrets.NPM_TOKEN }}"),t.secrets.FIREBASE_TOKEN&&(t.secrets.GCP_SA_KEY_JSON_FOR_FIREBASE="${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}",delete t.secrets.FIREBASE_TOKEN),(t.secrets.DISCORD_WEBHOOK_URL&&("release"===n||n.startsWith("deploy"))||t.with.server_url&&n.startsWith("deploy"))&&(t.secrets.DISCORD_WEBHOOK_URL="${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}"),"sync"===n){var a,o=null===(a=t.with)||void 0===a?void 0:a.sync_params_without_dest;o&&(t.with.sync_params_without_dest=o.replace("sync ",""))}if(null!==(r=e.repository)&&void 0!==r&&r.startsWith("github:WillBooster/")?t.uses=t.uses.replace("WillBoosterLab/","WillBooster/"):null!==(i=e.repository)&&void 0!==i&&i.startsWith("github:WillBoosterLab/")&&(t.uses=t.uses.replace("WillBooster/","WillBoosterLab/")),function(e){delete e.with.non_self_hosted,delete e.with.notify_discord,delete e.with.require_fly,delete e.with.require_gcloud}(t),".env"===t.with.dot_env_path&&delete t.with.dot_env_path,e.containingDockerfile&&n.startsWith("deploy")&&(t.with.cpu_arch="X64"),"release"===n||"test"===n||"wbfy"===n||"wbfy-merge"===n||n.startsWith("deploy")?e.publicRepo&&(t.with.github_hosted_runner=!0):delete t.with.github_hosted_runner,Object.keys(t.with).length>0?Et(t.with):delete t.with,Object.keys(t.secrets).length>0){var s=Et(t.secrets);delete t.secrets,t.secrets=s}else delete t.secrets}function Ct(e,t,n){var r,i,a,o=F((null!==(r=null===(i=e.on.schedule)||void 0===i||null===(a=i[0])||void 0===a?void 0:a.cron)&&void 0!==r?r:"").split(" ").map(Number),2),s=o[0],c=o[1];if(0!==s&&Number.isInteger(c)){var u=(c+9)%24,l=t<n?t<=u&&u<n:t<=u||u<n;if(l)return;console.log("setSchedule:",e,s,c,l,u,t,n)}else console.log("setSchedule:",e,s,c);var p=1+Math.floor(59*Math.random()),f=t+Math.floor(Math.random()*(n-t)),d="".concat(p," ").concat((f-9+24)%24," * * *");e.on.schedule=[{cron:d}]}function Jt(e,t){return zt.apply(this,arguments)}function zt(){return(zt=j(x().mark((function e(t,n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.dump(t,{lineWidth:-1,noCompatMode:!0,styles:{"!!null":"empty"}}),e.next=3,a.promises.writeFile(n,r);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gt(e){delete e.jobs["add-to-project"]}function Mt(e){return Ht.apply(this,arguments)}function Ht(){return Ht=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateYarnrcYml",j(x().mark((function e(){var r,i,o,s,c,u,l,p,f,d,h,v,y,g,b,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=z("yarn",["--version"],n.dirPath),l=Ut("@yarnpkg/cli",n.dirPath),qt(u)<=qt(l)&&u!==l&&J("yarn",["set","version",l],n.dirPath,1),p=t.join(n.dirPath,".yarn","releases"),e.next=6,a.promises.mkdir(p,{recursive:!0});case 6:return e.t0=D,e.next=9,a.promises.readdir(p);case 9:e.t1=e.sent,f=(0,e.t0)(e.t1),e.prev=11,h=x().mark((function e(){var n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=d.value).startsWith("yarn-")||n.startsWith("yarn-".concat(l,"."))){e.next=5;break}return e.next=4,A.run((function(){return a.promises.rm(t.join(p,n))}));case 4:console.log("Removed",t.join(p,n));case 5:case"end":return e.stop()}}),e)})),f.s();case 14:if((d=f.n()).done){e.next=18;break}return e.delegateYield(h(),"t2",16);case 16:e.next=14;break;case 18:e.next=23;break;case 20:e.prev=20,e.t3=e.catch(11),f.e(e.t3);case 23:return e.prev=23,f.f(),e.finish(23);case 26:return v=t.resolve(n.dirPath,".yarnrc"),e.next=29,A.run((function(){return a.promises.rm(v,{force:!0})}));case 29:return y=t.resolve(n.dirPath,".yarnrc.yml"),e.t4=m,e.next=33,a.promises.readFile(y,"utf8");case 33:if(e.t5=e.sent,(g=e.t4.load.call(e.t4,e.t5)).defaultSemverRangePrefix="",g.nodeLinker="node-modules",g.nmMode="hardlinks-global",g.enableGlobalCache=!0,b=null!==(r=null===(i=g.plugins)||void 0===i?void 0:i.length)&&void 0!==r?r:0,g.plugins=null!==(o=null===(s=g.plugins)||void 0===s?void 0:s.filter((function(e){return".yarn/plugins/undefined.cjs"!==e.path})))&&void 0!==o?o:[],g.plugins.length===b){e.next=45;break}return k=t.resolve(n.dirPath,".yarnrc","undefined.cjs"),e.next=45,A.run((function(){return a.promises.rm(k,{force:!0})}));case 45:return 0===g.plugins.length&&delete g.plugins,e.next=48,a.promises.writeFile(y,m.dump(g,{lineWidth:-1}));case 48:w=(null!==(c=g.plugins)&&void 0!==c?c:[]).map((function(e){return e.spec})),j=n.containingTypeScript||n.containingTypeScriptInPackages,Yt(n,w,j,"@yarnpkg/plugin-typescript"),Yt(n,w,n.containingSubPackageJsons,"@yarnpkg/plugin-workspace-tools"),J("yarn",["dlx","yarn-plugin-auto-install"],n.dirPath);case 53:case"end":return e.stop()}}),e,null,[[11,20,23,26]])})))));case 1:case"end":return e.stop()}}),e)}))),Ht.apply(this,arguments)}function Ut(e,t){var n=z("npm",["show",e,"versions","--json"],t),r=JSON.parse(n);return r[r.length-1]}function Yt(e,t,n,r){n!==t.includes(r)&&J("yarn",["plugin",n?"import":"remove",r],e.dirPath)}function qt(e){var t=F(e.split("."),1)[0];return Number(t)}function Kt(e){return Vt.apply(this,arguments)}function Vt(){return(Vt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupLabels",j(x().mark((function e(){var n,r,i,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Le){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),i=F(r,2),a=i[0],o=i[1],a&&o){e.next=5;break}return e.abrupt("return");case 5:if("WillBooster"===a||"WillBoosterLab"===a){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,Xt(a,o,"d1: x-easy :hedgehog:","EDE9FE");case 10:return e.next=12,Xt(a,o,"d2: easy :rabbit2:","DDD6FE");case 12:return e.next=14,Xt(a,o,"d3: medium :ox:","C4B5FD");case 14:return e.next=16,Xt(a,o,"d4: hard :squid:","A78BFA");case 16:return e.next=18,Xt(a,o,"d5: x-hard :whale2:","8B5CF6");case 18:return e.next=20,Xt(a,o,"p1: critical :fire::fire::fire:","EF4444");case 20:return e.next=22,Xt(a,o,"p2: urgent :fire::fire:","F87171");case 22:return e.next=24,Xt(a,o,"p3: important :fire:","FCA5A5");case 24:return e.next=26,Xt(a,o,"p4: nice to have :droplet:","FECACA");case 26:return e.next=28,Xt(a,o,"r: blitz","5300bc");case 28:return e.next=30,Xt(a,o,"r: firebase","ffca28");case 30:return e.next=32,Xt(a,o,"r: prisma","0c344b");case 32:return e.next=34,Xt(a,o,"r: react","61dafb");case 34:return e.next=36,Xt(a,o,"r: svelte","ff3e00");case 36:return e.next=38,Xt(a,o,"r: semantic-release","494949");case 38:return e.next=40,Xt(a,o,"ready :rocket:","22C55E");case 40:return e.next=42,Xt(a,o,"review requested :mag:","FBCA04");case 42:return e.next=44,Xt(a,o,"released :bookmark:","6366F1");case 44:return e.next=46,Xt(a,o,"s: 0.5h :clock1230:","F3F4F6");case 46:return e.next=48,Xt(a,o,"s: 1h :clock1:","E5E7EB");case 48:return e.next=50,Xt(a,o,"s: 2h :clock2:","D1D5DB");case 50:return e.next=52,Xt(a,o,"s: 3h :clock3:","9CA3AF");case 52:return e.next=54,Xt(a,o,"s: 5h :clock5:","6B7280");case 54:return e.next=56,Xt(a,o,"s: 8h :clock8:","4B5563");case 56:return e.next=58,Xt(a,o,"s: 13h :clock1:","374151");case 58:return e.next=60,Xt(a,o,"t: build :hammer:","BFDBFE");case 60:return e.next=62,Xt(a,o,"t: chore :broom:","BFDBFE");case 62:return e.next=64,Xt(a,o,"t: ci :construction_worker:","BFDBFE");case 64:return e.next=66,Xt(a,o,"t: docs :memo:","BFDBFE");case 66:return e.next=68,Xt(a,o,"t: feat :sparkles:","BFDBFE");case 68:return e.next=70,Xt(a,o,"t: fix :bug:","BFDBFE");case 70:return e.next=72,Xt(a,o,"t: perf :zap:","BFDBFE");case 72:return e.next=74,Xt(a,o,"t: refactor :recycle:","BFDBFE");case 74:return e.next=76,Xt(a,o,"t: style :lipstick:","BFDBFE");case 76:return e.next=78,Xt(a,o,"t: test :test_tube:","BFDBFE");case 78:return e.next=80,Xt(a,o,"project","24292F");case 80:return e.next=82,Qt(a,o,"bug");case 82:return e.next=84,Qt(a,o,"documentation");case 84:return e.next=86,Qt(a,o,"duplicate");case 86:return e.next=88,Qt(a,o,"enhancement");case 88:return e.next=90,Qt(a,o,"good first issue");case 90:return e.next=92,Qt(a,o,"help wanted");case 92:return e.next=94,Qt(a,o,"invalid");case 94:return e.next=96,Qt(a,o,"question");case 96:return e.next=98,Qt(a,o,"wontfix");case 98:return e.next=100,Qt(a,o,"ready");case 100:return e.next=102,Qt(a,o,"review requested");case 102:return e.next=104,Qt(a,o,"released");case 104:return e.next=106,Qt(a,o,"semantic-release");case 106:e.next=111;break;case 108:e.prev=108,e.t0=e.catch(7),console.warn("Skip setupLabels due to:",null!==(s=null===e.t0||void 0===e.t0?void 0:e.t0.stack)&&void 0!==s?s:e.t0);case 111:case"end":return e.stop()}}),e,null,[[7,108]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xt(e,t,n,r){return Zt.apply(this,arguments)}function Zt(){return(Zt=j(x().mark((function e(t,n,r,i){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Ie.request("POST /repos/{owner}/{repo}/labels",{owner:t,repo:n,name:r,color:i});case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),e.next=9,Ie.request("PATCH /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r,color:i});case 9:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}function Qt(e,t,n){return en.apply(this,arguments)}function en(){return(en=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Ie.request("DELETE /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r});case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}var tn=["READY_DISCORD_WEBHOOK_URL"];function nn(e){return rn.apply(this,arguments)}function rn(){return(rn=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupSecrets",j(x().mark((function e(){var n,r,i,a,o,s,c,u,l,p,f,d,m,y,g,b,k,w,j,P,_,S,O;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Le){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),i=F(r,2),a=i[0],o=i[1],a&&o&&"WillBoosterLab"===a){e.next=5;break}return e.abrupt("return");case 5:if(s=h.config().parsed||{},0!==Object.keys(s).length){e.next=8;break}return e.abrupt("return");case 8:e.prev=8,c=D(tn),e.prev=10,c.s();case 12:if((u=c.n()).done){e.next=23;break}return l=u.value,e.prev=14,e.next=17,Ie.request("DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:a,repo:o,secret_name:l});case 17:e.next=21;break;case 19:e.prev=19,e.t0=e.catch(14);case 21:e.next=12;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(10),c.e(e.t1);case 28:return e.prev=28,c.f(),e.finish(28);case 31:return e.next=33,Ie.request("GET /repos/{owner}/{repo}/actions/secrets/public-key",{owner:a,repo:o});case 33:return p=e.sent,f=p.data,d=f.key,m=f.key_id,e.next=37,v.ready;case 37:y=0,g=Object.entries(s);case 38:if(!(y<g.length)){e.next=53;break}if(b=F(g[y],2),k=b[0],w=b[1],!t.publicRepo||"GH_BOT_PAT"!==k){e.next=42;break}return e.abrupt("continue",50);case 42:if(t.publicRepo||"PUBLIC_GH_BOT_PAT"!==k){e.next=44;break}return e.abrupt("continue",50);case 44:return j=v.from_base64(d,v.base64_variants.ORIGINAL),P=v.from_string(w),_=v.crypto_box_seal(P,j),S=v.to_base64(_,v.base64_variants.ORIGINAL),e.next=50,Ie.request("PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:a,repo:o,secret_name:k,encrypted_value:S,key_id:m});case 50:y++,e.next=38;break;case 53:e.next=58;break;case 55:e.prev=55,e.t2=e.catch(8),console.warn("Skip setupSecrets due to:",null!==(O=null===e.t2||void 0===e.t2?void 0:e.t2.stack)&&void 0!==O?O:e.t2);case 58:case"end":return e.stop()}}),e,null,[[8,55],[10,25,28,31],[14,19]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function an(e){return on.apply(this,arguments)}function on(){return(on=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function sn(e){return cn.apply(this,arguments)}function cn(){return cn=j(x().mark((function n(r){var i,o,s,c,u,l,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,E,T,R,D,B,N;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=t.resolve(r,"package.json"),n.prev=1,u=a.existsSync(i),l={},p={},f={},d=!1,u&&(v=a.readFileSync(i,"utf8"),f=JSON.parse(v),l=null!==(m=f.dependencies)&&void 0!==m?m:{},p=null!==(h=f.devDependencies)&&void 0!==h?h:{},d="module"===f.type),y=[],g=[],n.prev=10,k=t.resolve(r,".releaserc.json"),n.t0=JSON,n.next=15,e.readFile(k,"utf8");case 15:n.t1=n.sent,w=n.t0.parse.call(n.t0,n.t1),y=(null==w?void 0:w.branches)||[],g=(null==w||null===(b=w.plugins)||void 0===b?void 0:b.flat())||[],n.next=23;break;case 21:n.prev=21,n.t2=n.catch(10);case 23:if(!(j="packages"!==t.basename(t.resolve(r,".."))||!a.existsSync(t.resolve(r,"..","..","package.json")))){n.next=28;break}return n.next=27,pn(r,f);case 27:P=n.sent;case 28:return _="",n.prev=29,n.next=32,e.readFile(t.resolve(r,".tool-versions"),"utf8");case 32:S=n.sent,_+=S.trim(),n.next=38;break;case 36:n.prev=36,n.t3=n.catch(29);case 38:O=0,E=[["node","nodejs"],["python","python"]];case 39:if(!(O<E.length)){n.next=54;break}return T=F(E[O],2),R=T[0],D=T[1],n.prev=41,n.next=44,e.readFile(t.resolve(r,".".concat(R,"-version")),"utf8");case 44:B=n.sent,_&&(_+="\n"),_+=D+" "+B.trim(),n.next=51;break;case 49:n.prev=49,n.t4=n.catch(41);case 51:O++,n.next=39;break;case 54:if((N={dirPath:r,root:j,publicRepo:!1===(null===(o=P)||void 0===o?void 0:o.private),referredByOtherRepo:!!f.files,repository:null!==(s=P)&&void 0!==s&&s.full_name?"github:".concat(null===(c=P)||void 0===c?void 0:c.full_name):void 0,esmPackage:d,willBoosterConfigs:i.includes("".concat(t.sep,"willbooster-configs")),containingSubPackageJsons:un("packages/**/package.json",r),containingDockerfile:a.existsSync(t.resolve(r,"Dockerfile"))||a.existsSync(t.resolve(r,"docker-compose.yml")),containingGemfile:a.existsSync(t.resolve(r,"Gemfile")),containingGoMod:a.existsSync(t.resolve(r,"go.mod")),containingPackageJson:a.existsSync(t.resolve(r,"package.json")),containingPoetryLock:a.existsSync(t.resolve(r,"poetry.lock")),containingPomXml:a.existsSync(t.resolve(r,"pom.xml")),containingPubspecYaml:a.existsSync(t.resolve(r,"pubspec.yaml")),containingTemplateYaml:a.existsSync(t.resolve(r,"template.yaml")),containingJavaScript:un("@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScript:un("@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsx:un("@(app|src|tests)/**/*.{t,j}sx",r),containingJavaScriptInPackages:un("packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScriptInPackages:un("packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsxInPackages:un("packages/**/@(app|src|tests)/**/*.{t,j}sx",r),depending:{blitz:(l.blitz||p.blitz||"").replace("^","")[0],firebase:!!p["firebase-tools"],playwright:!!p.playwright,prisma:!!l.prisma,pyright:!!p.pyright,reactNative:!!l["react-native"],semanticRelease:!!(p["semantic-release"]||y.length>0||g.length>0),storybook:!!p["@storybook/react"]},release:{branches:y,github:g.includes("@semantic-release/github"),npm:g.includes("@semantic-release/npm")},versionsText:_,packageJson:f}).eslintBase=ln(N),!(N.containingGemfile||N.containingGoMod||N.containingPackageJson||N.containingPoetryLock||N.containingPomXml||N.containingPubspecYaml||N.containingTemplateYaml)){n.next=58;break}return n.abrupt("return",N);case 58:n.next=62;break;case 60:n.prev=60,n.t5=n.catch(1);case 62:case"end":return n.stop()}}),n,null,[[1,60],[10,21],[29,36],[41,49]])}))),cn.apply(this,arguments)}function un(e,t){return p(e,{dot:!0,cwd:t}).length>0}function ln(e){return e.containingTypeScript?e.containingJsxOrTsx?"@willbooster/eslint-config-ts-react":"@willbooster/eslint-config-ts":e.containingJsxOrTsx?"@willbooster/eslint-config-js-react":e.containingJavaScript?"@willbooster/eslint-config-js":void 0}function pn(e,t){return fn.apply(this,arguments)}function fn(){return fn=j(x().mark((function e(t,n){var r,i,a,o,s,c,u,l,p,f,d;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=y(t),e.next=3,s.getRemotes(!0);case 3:if(c=e.sent,u=c.find((function(e){return"origin"===e.name})),"string"!=typeof(l=null!==(r=null==u||null===(i=u.refs)||void 0===i?void 0:i.fetch)&&void 0!==r?r:null==u||null===(a=u.refs)||void 0===a?void 0:a.push)){e.next=12;break}return e.next=9,dn(l);case 9:if(!(p=e.sent)){e.next=12;break}return e.abrupt("return",p);case 12:if(!(f="string"==typeof n.repository?n.repository:null===(o=n.repository)||void 0===o?void 0:o.url)){e.next=19;break}return e.next=16,dn(f);case 16:if(!(d=e.sent)||"Not Found"===d.message){e.next=19;break}return e.abrupt("return",d);case 19:case"end":return e.stop()}}),e)}))),fn.apply(this,arguments)}function dn(e){return mn.apply(this,arguments)}function mn(){return(mn=j(x().mark((function e(t){var n,r,i,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=We.getOrgAndName(t),r=F(n,2),i=r[0],a=r[1],i&&a){e.next=3;break}return e.abrupt("return");case 3:return o={full_name:"".concat(i,"/").concat(a)},e.prev=4,e.next=7,Ie.request("GET /repos/{owner}/{repo}",{owner:i,repo:a});case 7:s=e.sent,Object.assign(o,s.data),e.next=13;break;case 11:e.prev=11,e.t0=e.catch(4);case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function hn(){return hn=j(x().mark((function n(){var a,o,s,c;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,i(process.argv.slice(2)).command("$0 [paths..]","Make a given project follow the WillBooster standard",(function(e){e.positional("paths",{describe:"project paths to be wbfied",array:!0,type:"string",default:["."]})})).options({skipDeps:{description:"Skip dependency installation",type:"boolean",default:!1,alias:"d"},verbose:{description:"Whether or not to enable verbose mode",type:"boolean",default:!1,alias:"v"}}).strict().argv;case 2:a=n.sent,N.isVerbose=a.verbose,o=x().mark((function n(){var i,o,u,l,p,f,d,m,h,v,y,g,b,k,w,j;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c[s],u=t.join(o,"packages"),n.next=4,r((function(){return e.readdir(u,{withFileTypes:!0})}));case 4:if(n.t1=i=n.sent,n.t0=null!==n.t1,!n.t0){n.next=8;break}n.t0=void 0!==i;case 8:if(!n.t0){n.next=12;break}n.t2=i,n.next=13;break;case 12:n.t2=[];case 13:return l=n.t2,p=l.filter((function(e){return e.isDirectory()})).map((function(e){return t.join(u,e.name)})),n.next=17,I([o].concat(E(p)));case 17:return n.next=19,sn(o);case 19:if(f=n.sent){n.next=23;break}return console.error("there is no valid package.json in ".concat(o)),n.abrupt("return","continue");case 23:return n.next=25,Promise.all(p.map((function(e){return sn(e)})));case 25:if(d=n.sent,m=d.filter((function(e){return!!e})),h=[f].concat(E(m)),N.isVerbose){v=D(h);try{for(v.s();!(y=v.n()).done;)g=y.value,console.info(g)}catch(e){v.e(e)}finally{v.f()}}return n.next=31,M(f);case 31:return n.next=33,Mt(f);case 33:return n.next=35,Promise.all([re(f),we(f),tt(f),ot(f),ct(f),xt(f),Ot(f),Pt(f),Lt(f),Kt(f),nn(f),an(f)]);case 35:return n.next=37,A.promiseAll();case 37:b=[],k=D(h),n.prev=39,k.s();case 41:if((w=k.n()).done){n.next=60;break}return((j=w.value).containingTypeScript||j.containingTypeScriptInPackages)&&b.push($(j,j.root?h:[j])),n.next=46,Se(j,f);case 46:return n.next=48,A.promiseAll();case 48:if(j.root||j.containingPackageJson){n.next=50;break}return n.abrupt("continue",58);case 50:return n.next=52,ht(j);case 52:return n.next=54,Me(j,f,a.skipDeps);case 54:b.push(ct(j)),(j.containingTypeScript||j.containingTypeScriptInPackages)&&b.push(Dt(j,f)),(j.containingJavaScript||j.containingJavaScriptInPackages||j.containingTypeScript||j.containingTypeScriptInPackages)&&(f.willBoosterConfigs||b.push(ge(j,f)),b.push(me(j))),j.depending.pyright&&b.push(gt(j));case 58:n.next=41;break;case 60:n.next=65;break;case 62:n.prev=62,n.t3=n.catch(39),k.e(n.t3);case 65:return n.prev=65,k.f(),n.finish(65);case 68:return n.next=70,Promise.all(b);case 70:return n.next=72,A.promiseAll();case 72:J("yarn",["cleanup"],o),J("yarn",["install"],o);case 74:case"end":return n.stop()}}),n,null,[[39,62,65,68]])})),s=0,c=a.paths;case 6:if(!(s<c.length)){n.next=14;break}return n.delegateYield(o(),"t0",8);case 8:if("continue"!==n.t0){n.next=11;break}return n.abrupt("continue",11);case 11:s++,n.next=6;break;case 14:case"end":return n.stop()}}),n)}))),hn.apply(this,arguments)}await function(){return hn.apply(this,arguments)}();
|
1
|
+
import e from"node:fs/promises";import t from"node:path";import{ignoreEnoentAsync as n,ignoreErrorAsync as r}from"@willbooster/shared-lib";import a from"yargs";import i from"node:fs";import{globby as o,globbySync as s}from"globby";import{PromisePool as c}from"minimal-promise-pool";import u from"node:child_process";import l from"deepmerge";import p from"node:os";import{Octokit as f}from"@octokit/core";import d from"lodash.clonedeep";import m from"js-yaml";import h from"dotenv";import v from"libsodium-wrappers";import{simpleGit as y}from"simple-git";function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){O(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(){x=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),s=new S(a||[]);return r(o,"_invoke",{value:w(e,n,s)}),o}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var p={};function f(){}function d(){}function m(){}var h={};c(h,i,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&n.call(y,i)&&(h=y);var g=m.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(r,i,o,s){var c=l(e[r],e,i);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){a("next",e,o,s)}),(function(e){a("throw",e,o,s)})):t.resolve(p).then((function(e){u.value=e,o(u)}),(function(e){return a("throw",e,o,s)}))}s(c.arg)}var i;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){a(e,n,t,r)}))}return i=i?i.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(a,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===a)throw i;return F()}for(n.method=a,n.arg=i;;){var o=n.delegate;if(o){var s=j(o,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=l(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function j(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var a=l(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,p;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function O(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:F}}function F(){return{value:void 0,done:!0}}return d.prototype=m,r(g,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:d,configurable:!0}),d.displayName=c(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},b(k.prototype),c(k.prototype,o,(function(){return this})),e.AsyncIterator=k,e.async=function(t,n,r,a,i){void 0===i&&(i=Promise);var o=new k(u(t,n,r,a),i);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=O,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;_(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function w(e,t,n,r,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}function j(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function o(e){w(i,r,a,o,s,"next",e)}function s(e){w(i,r,a,o,s,"throw",e)}o(void 0)}))}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function S(e,t,n){return t&&_(e.prototype,t),n&&_(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function O(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=T(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function B(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var N=new(S((function e(){P(this,e),O(this,"isVerbose",void 0),this.isVerbose=!1}))),A=new(function(){function e(){P(this,e)}var t;return S(e,[{key:"function",value:(t=j(x().mark((function e(t,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N.isVerbose&&console.info("--------- ".concat(t," start ---------")),e.next=3,n();case 3:N.isVerbose&&console.info("---------- ".concat(t," end ----------"));case 4:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}()),L=new c;function I(e){return $.apply(this,arguments)}function $(){return $=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("fixAbbreviations",j(x().mark((function e(){var r,a,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o("**/*.md",{dot:!0,cwd:n});case 2:r=e.sent,a=D(r),e.prev=4,c=x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.value,a=t.join(n,r),e.next=4,L.run(j(x().mark((function e(){var t,n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.promises.readFile(a,"utf8");case 2:return t=e.sent,n=t.replaceAll("c.f.","cf.").replaceAll("eg.","e.g.").replaceAll("ie.","i.e."),e.next=6,i.promises.writeFile(a,n);case 6:case"end":return e.stop()}}),e)}))));case 4:case"end":return e.stop()}}),e)})),a.s();case 7:if((s=a.n()).done){e.next=11;break}return e.delegateYield(c(),"t0",9);case 9:e.next=7;break;case 11:e.next=16;break;case 13:e.prev=13,e.t1=e.catch(4),a.e(e.t1);case 16:return e.prev=16,a.f(),e.finish(16);case 19:return e.next=21,o("**/*.(ts|tsx)",{dot:!0,cwd:n});case 21:u=e.sent,l=D(u),e.prev=23,l.s();case 25:if((p=l.n()).done){e.next=36;break}return f=p.value,d=t.join(n,f),e.next=30,i.promises.readFile(d,"utf8");case 30:return m=e.sent,h=m.replaceAll(/\/\/(.*)c\.f\./g,"//$1cf.").replaceAll(/\/\/(.*)eg\./g,"//$1e.g.").replaceAll(/\/\/(.*)ie\./g,"//$1i.e."),e.next=34,i.promises.writeFile(d,h);case 34:e.next=25;break;case 36:e.next=41;break;case 38:e.prev=38,e.t2=e.catch(23),l.e(e.t2);case 41:return e.prev=41,l.f(),e.finish(41);case 44:return e.next=46,L.promiseAll();case 46:case"end":return e.stop()}}),e,null,[[4,13,16,19],[23,38,41,44]])})))));case 1:case"end":return e.stop()}}),e)}))),$.apply(this,arguments)}function W(e){var t,n=0,r=1,a=D(e.split(/[+.-]/).map(Number).filter(Number.isNaN));try{for(a.s();!(t=a.n()).done;){n+=t.value*r,r/=1e3}}catch(e){a.e(e)}finally{a.f()}return n}var C="0.11.0";function J(e){return z.apply(this,arguments)}function z(){return z=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("fixDockerfiles",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.map(function(){var e=j(x().mark((function e(n){var r,a,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.join(n,"Dockerfile"),e.next=4,i.promises.readFile(r,"utf8");case 4:return a=e.sent,o=a.replace(/ENV\s+ASDF_VERSION\s+([\d.]+)/,(function(e,t){return W(t)<W(C)?"ENV ASDF_VERSION ".concat(C):e})),e.next=8,i.promises.writeFile(r,o);case 8:e.next=12;break;case 10:e.prev=10,e.t0=e.catch(0);case 12:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),z.apply(this,arguments)}function G(e){return M.apply(this,arguments)}function M(){return M=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("fixTestDirectories",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.map(function(){var e=j(x().mark((function e(n){var r,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.join(n,"__tests__"),a=t.join(n,"tests"),e.prev=2,e.next=5,i.promises.rename(r,a);case 5:return e.next=7,i.promises.readFile(t.join(n,"package.json"),"utf8");case 7:return o=e.sent,s=o.replace(/__tests__/g,"tests"),e.next=11,i.promises.writeFile(t.join(n,"package.json"),s);case 11:e.next=15;break;case 13:e.prev=13,e.t0=e.catch(2);case 15:case"end":return e.stop()}}),e,null,[[2,13]])})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function H(e,t){return Y.apply(this,arguments)}function Y(){return(Y=j(x().mark((function r(a,i){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",A.function("fixTypeDefinitions",j(x().mark((function r(){var o,s,c,u,l,p;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=t.resolve(a.dirPath,"@types"),s=a.root&&a.containingSubPackageJsons?void 0:t.resolve(a.dirPath,"src","types"),r.next=4,n((function(){return e.readdir(o,{withFileTypes:!0})}));case 4:if(c=r.sent){r.next=7;break}return r.abrupt("return");case 7:u=D(c),r.prev=8,p=x().mark((function r(){var a,c,u,p,f;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=l.value,c=a.name.slice(0,-5),u=a.name.endsWith(".d.ts"),(p=u?c:a.name).includes("__")&&(p="@".concat(p.replace("__","/"))),f=i.some((function(e){var t,n,r,a;return(null===(t=e.packageJson)||void 0===t||null===(n=t.dependencies)||void 0===n?void 0:n[p])||(null===(r=e.packageJson)||void 0===r||null===(a=r.devDependencies)||void 0===a?void 0:a[p])})),!a.isFile()||!u){r.next=21;break}if(!f){r.next=14;break}return r.next=10,e.mkdir(t.join(o,c));case 10:return r.next=12,L.run((function(){return e.rename(t.join(o,a.name),t.join(o,c,"index.d.ts"))}));case 12:r.next=19;break;case 14:if(!s){r.next=19;break}return r.next=17,e.mkdir(s,{recursive:!0});case 17:return r.next=19,L.run((function(){return e.rename(t.join(o,a.name),t.join(s,a.name))}));case 19:r.next=26;break;case 21:if(!a.isDirectory()||!s||f){r.next=26;break}return r.next=24,e.mkdir(s,{recursive:!0});case 24:return r.next=26,L.run((function(){return n((function(){return e.rename(t.join(o,a.name,"index.d.ts"),t.join(s,"".concat(a.name,".d.ts")))}))}));case 26:case"end":return r.stop()}}),r)})),u.s();case 11:if((l=u.n()).done){r.next=15;break}return r.delegateYield(p(),"t0",13);case 13:r.next=11;break;case 15:r.next=20;break;case 17:r.prev=17,r.t1=r.catch(8),u.e(r.t1);case 20:return r.prev=20,u.f(),r.finish(20);case 23:case"end":return r.stop()}}),r,null,[[8,17,20,23]])})))));case 1:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function U(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;do{var a=K(e,t,n),i=F(a,3),o=i[0],s=i[1],c=i[2];console.log("$ ".concat(o," ").concat(s.join(" ")," at ").concat(c.cwd));var l=u.spawnSync(o,s,c);if(0===l.status)break}while(--r>=0)}function q(e,t,n){var r=F(K(e,t,n),3),a=r[0],i=r[1],o=r[2];o.stdio="pipe";var s=u.spawnSync(a,i,o),c=s.stderr.toString().trim();return c&&console.error("".concat(a," [").concat(i.map((function(e){return'"'.concat(e,'"')})),"] caused the following error:\n ").concat(c)),s.stdout.toString().trim()}function K(e,t,n){var r=b({},process.env);return r.PATH&&r.BERRY_BIN_FOLDER&&(r.PATH=r.PATH.replace("".concat(r.BERRY_BIN_FOLDER,":"),"")),r.ASDF_DIR&&(t=["-l","-c",". ".concat(r.ASDF_DIR,"/asdf.sh && ").concat(e," ").concat(t.join(" "))],e="bash"),[e,t,{cwd:n,env:r,shell:!1,stdio:"inherit"}]}function V(e){return X.apply(this,arguments)}function X(){return(X=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateVersionConfigs",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,te(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Z="1.3.1",Q="3.9.16",ee="adoptopenjdk-11.0.17+8";function te(e){return ne.apply(this,arguments)}function ne(){return(ne=j(x().mark((function e(n){var r,a,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.versionsText){e.next=2;break}return e.abrupt("return");case 2:r=[],a=D(n.versionsText.trim().split("\n")),e.prev=4,s=x().mark((function e(){var a,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=o.value,s=a.trim(),c=s.split(/\s+/),u=F(c,2),l=u[0],p=u[1],l&&p){e.next=5;break}return e.abrupt("return","continue");case 5:if("nodejs"!==l){e.next=10;break}return e.next=8,L.run((function(){return i.promises.writeFile(t.resolve(n.dirPath,".node-version"),p+"\n")}));case 8:e.next=16;break;case 10:if("python"!==l){e.next=15;break}return e.next=13,L.run((function(){return i.promises.writeFile(t.resolve(n.dirPath,".python-version"),p+"\n")}));case 13:e.next=16;break;case 15:r.push(s);case 16:case"end":return e.stop()}}),e)})),a.s();case 7:if((o=a.n()).done){e.next=14;break}return e.delegateYield(s(),"t0",9);case 9:if("continue"!==e.t0){e.next=12;break}return e.abrupt("continue",12);case 12:e.next=7;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(4),a.e(e.t1);case 19:return e.prev=19,a.f(),e.finish(19);case 22:return n.containingPoetryLock&&(re(r,"poetry",Z),i.existsSync(t.resolve(n.dirPath,".python-version"))||re(r,"python",Q,!0)),n.depending.firebase&&re(r,"java",ee,!0),n.containingPackageJson&&(c=q("npm",["show","yarn","version"],n.dirPath),re(r,"yarn",c)),u=t.resolve(n.dirPath,".tool-versions"),e.next=28,r.length>0?L.run((function(){return i.promises.writeFile(u,r.join("\n")+"\n")})):L.run((function(){return i.promises.rm(u,{force:!0})}));case 28:return e.next=30,L.promiseAll();case 30:U("asdf",["plugin","update","--all"],n.dirPath),U("asdf",["install"],n.dirPath);case 32:case"end":return e.stop()}}),e,null,[[4,16,19,22]])})))).apply(this,arguments)}function re(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=e.findIndex((function(e){return e.split(/\s+/)[0]===t})),i="".concat(t," ").concat(n);if(a>=0){var o=e[a].split(/\s+/),s=F(o,2),c=s[1];W(n)>W(c)&&(e[a]=i)}else e.splice(r?0:e.length,0,i)}var ae={codeWith2IndentSize:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","cpp","dart","htm","html","pu","puml","rb","vue","yaml","yml"].sort(),codeWith4IndentSize:["go","gradle","py"].sort(),codeWith8IndentSize:["sh"].sort(),markdownLike:["md"].sort(),eslint:["cjs","mjs","js","cts","mts","ts","tsx","jsx"].sort(),prettier:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","css","htm","html","md","scss","vue","yaml","yml"].sort()},ie=function(t){return j(x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.readFile(t,"utf8");case 3:return n.abrupt("return",n.sent);case 6:n.prev=6,n.t0=n.catch(0);case 8:case"end":return n.stop()}}),n,null,[[0,6]])})))()},oe=function(t,n){return j(x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.writeFile(t,n);case 2:console.log("Generated ".concat(t));case 3:case"end":return r.stop()}}),r)})))()},se="root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n".concat(le(ae.codeWith2IndentSize),"\nindent_size = 2\nindent_style = space\n\n").concat(le(ae.codeWith4IndentSize),"\nindent_size = 4\nindent_style = space\n\n").concat(le(ae.codeWith8IndentSize),"\nindent_size = 8\nindent_style = space\n\n").concat(le(ae.markdownLike),"\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n");function ce(e){return ue.apply(this,arguments)}function ue(){return(ue=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateEditorconfig",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".editorconfig"),e.next=3,L.run((function(){return oe(r,se)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function le(e){return e.length>1?"[*.{".concat(e.join(","),"}]"):"[*.".concat(e[0],"]")}var pe="# Project-specific settings",fe=/# Project-specific settings[^\n]*\n/gm,de="# Generated by wbfy",me="".concat(pe," (head)\n\n\n").concat(de,"\n"),he="\n".concat(pe," (tail)\n"),ve={separator:de,separatorPrefix:"# Generated by ",defaultHeadUserContent:me,defaultTailUserContent:he,readGitignoreWithoutSeparators:function(e){return j(x().mark((function t(){var n,r;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.promises.readFile(e,"utf8");case 3:return n=t.sent,(r=ye(n))>0&&(n=n.slice(0,r-1)),t.abrupt("return",n.replace(fe,"").replace(/# Generated by [^\n]*\n/gm,"").replace(/\r?\n\r?\n(\r?\n)+/gm,"\n\n").trim()+"\n");case 9:t.prev=9,t.t0=t.catch(0);case 11:case"end":return t.stop()}}),t,null,[[0,9]])})))()},getHeadUserContent:function(e){var t=e.indexOf(this.separatorPrefix);return t>=0?e.slice(0,e.indexOf("\n",t)+1).replace(fe,"".concat(pe," (head)\n")):me},getTailUserContent:function(e){var t=ye(e);return t>0?e.slice(t-1):he},isBerryZeroInstallEnabled:function(e){return j(x().mark((function t(){var n;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.promises.readFile(e,"utf8");case 3:return n=t.sent,t.abrupt("return",n.includes("\n!.yarn/cache"));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",!1);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()}};function ye(e){var t=e.indexOf(pe),n=e.lastIndexOf(pe);return n>t?n:-1}var ge="\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n";function be(e){return xe.apply(this,arguments)}function xe(){return xe=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateEslintignore",j(x().mark((function e(){var r,a,i,o,s,c,u,l;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".eslintignore"),e.next=3,ie(a);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return i=e.t2,o=ve.getHeadUserContent(i)+ge,s=ve.getTailUserContent(i),c=t.resolve(n.dirPath,".gitignore"),e.next=18,ve.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l=o+ge+u+s,e.next=25,L.run((function(){return oe(a,l)}));case 25:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),xe.apply(this,arguments)}function ke(e,t){return t}function we(e,t,n){var r,a=E(e),i=D(t.entries());try{for(i.s();!(r=i.n()).done;){var o=F(r.value,2),s=o[0],c=o[1];void 0===a[s]?a[s]=n.cloneUnlessOtherwiseSpecified(c,n):n.isMergeableObject(c)?a[s]=l(e[s],c,n):e.includes(c)||a.push(c)}}catch(e){i.e(e)}finally{i.f()}return a}function je(e,t){return Pe.apply(this,arguments)}function Pe(){return Pe=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateEslintrc",j(x().mark((function e(){var a,o,s,c,u,p,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("2"!==r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return a=[],n.eslintBase&&a.push(n.eslintBase),n!==r&&a.push("../../.eslintrc.json"),o={root:!0,extends:a},s=t.resolve(n.dirPath,".eslintrc.json"),e.prev=7,e.next=10,i.promises.readFile(s,"utf8");case 10:c=e.sent,(u=JSON.parse(c)).extends&&(u.extends=u.extends.filter((function(e){return!e.startsWith("@willbooster/")&&"../../.eslintrc.json"!==e}))),0===a.length&&(u.extends=[]),p=o.extends,o.extends=u.extends,u.extends=p,o=l.all([o,u,o],{arrayMerge:we}),"0"===n.depending.blitz?_e(o,"blitz"):"2"===n.depending.blitz&&_e(o,"@blitzjs/next/eslint"),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return f=JSON.stringify(o),e.next=26,L.run((function(){return oe(s,f)}));case 26:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),Pe.apply(this,arguments)}function _e(e,t){e.extends=[t].concat(E(e.extends.filter((function(e){return e!==t}))))}var Se="* text=auto\n\n*.vcproj text eol=crlf\n\n".concat([].concat(E(ae.codeWith2IndentSize),E(ae.codeWith4IndentSize),E(ae.markdownLike)).map((function(e){return"*.".concat(e," text eol=lf")})).join("\n"),"\n");function Oe(e){return Fe.apply(this,arguments)}function Fe(){return(Fe=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateGitattributes",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".gitattributes"),e.next=3,L.run((function(){return oe(r,Se)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ee=["windows","macos","linux","jetbrains","visualstudiocode","emacs","vim","yarn"],Te="\n.devcontainer/\ndist/\ntemp/\nIcon[\r]\n!.keep\n";function Re(e,t){return De.apply(this,arguments)}function De(){return De=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateGitignore",j(x().mark((function e(){var a,i,o,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".gitignore"),e.next=3,ie(i);case 3:if(e.t1=a=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==a;case 7:if(!e.t0){e.next=11;break}e.t2=a,e.next=12;break;case 11:e.t2="";case 12:o=e.t2,s=ve.getHeadUserContent(o)+Te,c=ve.getTailUserContent(o),u=[].concat(Ee),n.containingGemfile&&u.push("ruby"),n.containingGoMod&&(u.push("go"),s+="".concat(t.basename(n.dirPath),"\n")),n.containingPackageJson&&u.push("node"),n.containingPomXml&&(u.push("maven"),s+=".idea/google-java-format.xml\n"),n.containingPubspecYaml&&(u.push("flutter","AndroidStudio","ruby"),s+=".flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n"),n.containingTemplateYaml&&(s+=".aws-sam/\npackaged.yaml\n"),n.containingPoetryLock&&(u.push("python"),s+=".venv/\n"),r.depending.blitz&&(u.push("nextjs"),s+=".blitz/\n.blitz**\n"),(r.depending.firebase||n.depending.firebase)&&u.push("firebase"),r.depending.prisma&&(s+="*.sqlite3\n*.sqlite3-journal\n"),r.depending.playwright&&(s+="test-results/\n"),(r.depending.reactNative||n.depending.reactNative)&&(u.push("reactnative"),s+="google-services.json\nandroid/app/src/main/assets/\n"),r.depending.storybook&&u.push("storybookjs"),l="",p=D(u),e.prev=31,d=x().mark((function e(){var t,n,r,a,i,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.value,e.next=3,Le(n);case 3:if(e.t1=t=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==t;case 7:if(!e.t0){e.next=11;break}e.t2=t,e.next=12;break;case 11:e.t2="";case 12:if(r=e.t2){e.next=28;break}return a="https://www.toptal.com/developers/gitignore/api/".concat(n),e.next=17,fetch(a);case 17:return i=e.sent,e.next=20,i.text();case 20:if(!(o=e.sent).includes("Attention Required!")){e.next=24;break}return console.error("Failed to fetch ".concat(a)),e.abrupt("return",{v:void 0});case 24:return r=o.trim(),e.next=27,L.run((function(){return Ne(n,r)}));case 27:N.isVerbose&&console.info("Fetched ".concat(a));case 28:l&&(l+="\n"),l+=r+"\n";case 30:case"end":return e.stop()}}),e)})),p.s();case 34:if((f=p.n()).done){e.next=41;break}return e.delegateYield(d(),"t3",36);case 36:if("object"!==k(m=e.t3)){e.next=39;break}return e.abrupt("return",m.v);case 39:e.next=34;break;case 41:e.next=46;break;case 43:e.prev=43,e.t4=e.catch(31),p.e(e.t4);case 46:return e.prev=46,p.f(),e.finish(46);case 49:return e.next=51,ve.isBerryZeroInstallEnabled(i);case 51:if(e.sent){e.next=53;break}l=l.replace("!.yarn/cache","# !.yarn/cache").replace("# .pnp.*",".pnp.*");case 53:return(n.containingPomXml||n.containingPubspecYaml)&&(l=l.replace(/^# .idea\/artifacts$/gm,".idea/artifacts").replace(/^# .idea\/compiler.xml$/gm,".idea/compiler.xml").replace(/^# .idea\/jarRepositories.xml$/gm,".idea/jarRepositories.xml").replace(/^# .idea\/modules.xml$/gm,".idea/modules.xml").replace(/^# .idea\/*.iml$/gm,".idea/*.iml").replace(/^# .idea\/modules$/gm,".idea/modules").replace(/^# *.iml$/gm,"*.iml").replace(/^# *.ipr$/gm,"*.ipr"),n.containingPubspecYaml&&(l=l.replace(/^.idea\/modules.xml$/gm,"# .idea/modules.xml"))),l=l.replace(/^.idea\/?$/gm,"# .idea"),(r.depending.reactNative||n.depending.reactNative||n.containingPubspecYaml)&&(l=l.replace(/^(.idea\/.+)$/gm,"$1\nandroid/$1")),h=s+l+c,e.next=59,L.run((function(){return oe(i,h)}));case 59:case"end":return e.stop()}}),e,null,[[31,43,46,49]])})))));case 1:case"end":return e.stop()}}),e)}))),De.apply(this,arguments)}var Be=t.join(p.homedir(),".cache","wbfy","gitignore");function Ne(e,t){return Ae.apply(this,arguments)}function Ae(){return(Ae=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.promises.mkdir(Be,{recursive:!0});case 2:return e.next=4,i.promises.writeFile(t.join(Be,n),r);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Le(e){return Ie.apply(this,arguments)}function Ie(){return(Ie=j(x().mark((function e(n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.promises.stat(t.join(Be,n));case 3:if(r=e.sent,!(Date.now()-r.mtimeMs>216e5)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,i.promises.readFile(t.join(Be,n),"utf8");case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(0);case 13:case"end":return e.stop()}}),e,null,[[0,11]])})))).apply(this,arguments)}var $e=function(e){return e.containingJsxOrTsx?' --rule "{ react-hooks/exhaustive-deps: 0 }"':""},We=process.env.GH_BOT_PAT||process.env.PUBLIC_GH_BOT_PAT||process.env.GH_TOKEN||process.env.GITHUB_TOKEN,Ce=!!We,Je=new f({auth:We}),ze=new(function(){function e(){P(this,e)}return S(e,[{key:"getOrgAndName",value:function(e){var t,n,r,a=e.split(":").at(-1),i=null==a?void 0:a.split("/");return[null!==(t=null==i?void 0:i.at(-2))&&void 0!==t?t:"",null!==(n=null==i||null===(r=i.at(-1))||void 0===r?void 0:r.replace(/.git$/,""))&&void 0!==n?n:""]}}]),e}()),Ge={node:["src","tests","scripts"].sort(),blitz0:["tests","scripts","app","db","integrations","mailers","test"].sort(),blitz2:["src","tests","scripts","db","integrations","mailers"].sort()};function Me(e){return e.depending.blitz?"0"===e.depending.blitz?Ge.blitz0:Ge.blitz2:Ge.node}var He=["eslint","eslint-config-prettier","eslint-plugin-import","eslint-plugin-sort-class-members","eslint-plugin-sort-destructure-keys","eslint-plugin-unicorn"],Ye=[].concat(He,["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","eslint-import-resolver-typescript"]),Ue=["eslint-plugin-react","eslint-plugin-react-hooks"],qe={"@willbooster/eslint-config-js":["@willbooster/eslint-config-js"].concat(He),"@willbooster/eslint-config-js-react":["@willbooster/eslint-config-js-react"].concat(He,Ue),"@willbooster/eslint-config-ts":["@willbooster/eslint-config-ts"].concat(E(Ye)),"@willbooster/eslint-config-ts-react":["@willbooster/eslint-config-ts-react"].concat(E(Ye),Ue),"../../.eslintrc.json":[]};function Ke(e,t,n){return Ve.apply(this,arguments)}function Ve(){return(Ve=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generatePackageJson",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Xe(t,n,r);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xe(e,t,n){return Ze.apply(this,arguments)}function Ze(){return Ze=j(x().mark((function e(n,r,a){var s,c,u,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,T,R,B,N,A,L,I,$,W,C,J;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.resolve(n.dirPath,"package.json"),e.next=3,i.promises.readFile(u,"utf8");case 3:return p=e.sent,(f=JSON.parse(p)).scripts=f.scripts||{},f.dependencies=f.dependencies||{},f.devDependencies=f.devDependencies||{},f.peerDependencies=f.peerDependencies||{},e.next=11,Qe(f);case 11:for("@willbooster/prettier-config"!==f.name&&(f.prettier="@willbooster/prettier-config"),d=0,m=Object.keys(f.scripts);d<m.length;d++)h=m[d],f.scripts[h].includes("git clone")||(f.scripts[h]=f.scripts[h].replace(/yarn\s*&&\s*/,"").replace(/yarn\s*install\s*&&\s*/,""));return f.scripts=l(f.scripts,tt(n)),e.t0=f.scripts.prettify,e.next=17,nt(n.dirPath);case 17:if(f.scripts.prettify=e.t0+=e.sent,v=[],y=["lint-staged","prettier","sort-package-json","@willbooster/prettier-config"],g=[],n.root&&(y.push("husky","@willbooster/renovate-config"),(n.publicRepo||n.referredByOtherRepo)&&(y.push("pinst"),f.scripts.prepack="pinst --disable",f.scripts.postpack="pinst --enable"),n.depending.semanticRelease&&(y.push("conventional-changelog-conventionalcommits"),f.devDependencies["semantic-release"]||f.devDependencies["multi-semantic-release"]||f.devDependencies["@qiwi/multi-semantic-release"]||y.push("semantic-release"),f.version="0.0.0-semantically-released"),n.containingSubPackageJsons?f.workspaces=["packages/*"]:delete f.workspaces),(n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages)&&(y.push("eslint","micromatch"),n.containingTypeScriptInPackages&&y.push("@typescript-eslint/parser")),(n.containingTypeScript||n.containingTypeScriptInPackages)&&y.push("typescript"),n.eslintBase&&(b=y).push.apply(b,E(qe[n.eslintBase])),n.willBoosterConfigs&&(v=v.filter((function(e){return!e.includes("@willbooster/")})),y=y.filter((function(e){return!e.includes("@willbooster/")}))),f.name||(f.name=t.basename(n.dirPath)),n.containingSubPackageJsons&&(f.private=!0),f.license||(f.license="UNLICENSED"),!f.private&&"UNLICENSED"!==f.license&&r.publicRepo&&(null!==(k=f.publishConfig)&&void 0!==k||(f.publishConfig={}),null!==(j=(w=f.publishConfig).access)&&void 0!==j||(w.access="public")),P=ze.getOrgAndName(null!==(s=n.repository)&&void 0!==s?s:""),_=F(P,1),"WillBooster"!==(S=_[0])&&"WillBoosterLab"!==S||(f.author="WillBooster Inc."),n.depending.semanticRelease&&n.release.npm&&(n.esmPackage?null===(O=f.resolutions)||void 0===O||delete O["npm/chalk"]:(f.resolutions||(f.resolutions={}),f.resolutions["npm/chalk"]="^4.1.2")),n.containingSubPackageJsons){e.next=46;break}if(n.containingJavaScript||n.containingTypeScript?f.scripts["lint-fix"]+=$e(n):(delete f.scripts.lint,delete f.scripts["lint-fix"],f.scripts.cleanup=f.scripts.cleanup.replace(" && yarn lint-fix","")),n.containingPubspecYaml&&(f.scripts.lint="flutter analyze",f.scripts["lint-fix"]="yarn lint",(T=["lib","test","test_driver"].filter((function(e){return i.existsSync(t.resolve(n.dirPath,e))}))).length>0&&(f.scripts["format-code"]="flutter format $(find ".concat(T.join(" ")," -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)"),f.scripts.format+=" && yarn format-code")),!n.containingPoetryLock){e.next=45;break}return"poetry install"===f.scripts.postinstall&&delete f.scripts.postinstall,e.next=40,o("**/*.py",{cwd:n.dirPath,dot:!0,gitignore:!0,ignore:["test-fixtures"]});case 40:R=e.sent,B=new Set,N=D(R);try{for(N.s();!(A=N.n()).done;)L=A.value,I=L.split(/[/\\]/),$=F(I,2),W=$[0],$[1]&&B.add(W)}catch(e){N.e(e)}finally{N.f()}B.size>0&&(C=E(B).join(" "),f.scripts["format-code"]="poetry run isort --profile black ".concat(C," && poetry run black ").concat(C),f.scripts.lint="poetry run flake8 ".concat(C),f.scripts["lint-fix"]="yarn lint",f.scripts.format+=" && yarn format-code",g.push("black","isort","flake8"));case 45:n.repository&&(f.repository=n.repository);case 46:return n.depending.blitz?("0"===n.depending.blitz&&(y=(y=y.filter((function(e){return!e.includes("@typescript-eslint/")}))).filter((function(e){return"eslint-plugin-react"!==e&&"eslint-import-resolver-typescript"!==e&&"eslint-plugin-import"!==e&&"eslint-plugin-react-hooks"!==e}))),null!==(J=f.scripts["gen-code"])&&void 0!==J&&J.startsWith("blitz codegen")||(f.scripts["gen-code"]="blitz codegen")):!n.depending.prisma||null!==(c=f.scripts["gen-code"])&&void 0!==c&&c.startsWith("prisma generate")||(f.scripts["gen-code"]="prisma generate"),0===Object.keys(f.dependencies).length&&delete f.dependencies,0===Object.keys(f.devDependencies).length&&delete f.devDependencies,0===Object.keys(f.peerDependencies).length&&delete f.peerDependencies,e.next=52,i.promises.writeFile(u,JSON.stringify(f));case 52:a||((v=v.filter((function(e){var t;return!(null!==(t=f.devDependencies)&&void 0!==t&&t[e])}))).length>0&&U("yarn",["add"].concat(E(new Set(v))),n.dirPath),(y=y.filter((function(e){var t;return!(null!==(t=f.dependencies)&&void 0!==t&&t[e])}))).length>0&&U("yarn",["add","-D"].concat(E(new Set(y))),n.dirPath),g.length>0&&U("poetry",["add"].concat(E(new Set(g))),n.dirPath));case 53:case"end":return e.stop()}}),e)}))),Ze.apply(this,arguments)}function Qe(e){return et.apply(this,arguments)}function et(){return et=j(x().mark((function e(t){var n,r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for("WillBooster LLC"===t.author&&(t.author="WillBooster Inc."),delete t.scripts["sort-package-json"],delete t.scripts["sort-all-package-json"],delete t.scripts["typecheck:codegen"],delete t.dependencies.tslib,delete t.devDependencies["@willbooster/eslint-config"],delete t.devDependencies["@willbooster/eslint-config-react"],delete t.devDependencies["@willbooster/tsconfig"],delete t.devDependencies["eslint-import-resolver-node"],delete t.devDependencies["eslint-plugin-prettier"],delete t.devDependencies.lerna,delete t.devDependencies.pinst,delete t.scripts["flutter-format"],delete t.scripts["format-flutter"],delete t.scripts["python-format"],delete t.scripts["format-python"],delete t.scripts.prettier,n=0,r=Object.values(qe);n<r.length;n++){a=r[n],o=D(a);try{for(o.s();!(s=o.n()).done;)c=s.value,delete t.devDependencies[c]}catch(e){o.e(e)}finally{o.f()}}return e.next=20,L.run((function(){return i.promises.rm("lerna.json",{force:!0})}));case 20:case"end":return e.stop()}}),e)}))),et.apply(this,arguments)}function tt(e){var t={cleanup:"yarn format && yarn lint-fix",format:"sort-package-json && yarn prettify",lint:'eslint --color "./{'.concat(Me(e),"}/**/*.{").concat(ae.eslint.join(","),'}"'),"lint-fix":"yarn lint --fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(ae.prettier.join(","),'}" "!**/test-fixtures/**"'),typecheck:"tsc --noEmit --Pretty"};return e.containingSubPackageJsons?(t=l(b({},t),{format:"sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format",lint:"yarn workspaces foreach --parallel --verbose run lint","lint-fix":"yarn workspaces foreach --parallel --verbose run lint-fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(ae.prettier.join(","),'}" "!**/packages/**" "!**/test-fixtures/**"'),test:"yarn workspaces foreach --verbose run test",typecheck:"yarn workspaces foreach --parallel --verbose run typecheck"}),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck):(e.depending.blitz&&(t.typecheck+=" || yarn run typecheck/warn",t["typecheck/warn"]="echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1",t["typecheck:gen-code"]="yarn gen-code && tsc --noEmit --Pretty"),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck,e.depending.pyright&&(t.typecheck=t.typecheck?"".concat(t.typecheck," && "):"",t.typecheck+="pyright")),t}function nt(e){return rt.apply(this,arguments)}function rt(){return rt=j(x().mark((function e(n){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n,".prettierignore"),e.next=3,i.promises.readFile(r,"utf8");case 3:if(a=e.sent,!((o=a.indexOf(ve.separatorPrefix))<0)){e.next=7;break}return e.abrupt("return","");case 7:return s=a.slice(0,o),c=s.split("\n").map((function(e){var t=e.trim();return t.endsWith("/")?t.slice(0,-1):t})).filter((function(e){return e&&!e.startsWith("#")&&!e.includes("/")})),e.abrupt("return",c.map((function(e){return' "!**/'.concat(e,'/**"')})).join(""));case 10:case"end":return e.stop()}}),e)}))),rt.apply(this,arguments)}var at="npm test",it={preCommit:"node node_modules/.bin/lint-staged",prePush:"yarn typecheck",prePushForLab:'\nif [ $(git branch --show-current) = "main" ] && [ $(git config user.email) != "exkazuu@gmail.com" ]; then\n echo "************************************************"\n echo "*** Don\'t push main branch directly. Use PR! ***"\n echo "************************************************"\n exit 1\nfi\n\nyarn typecheck\n'.trim(),postMerge:'\nchanged_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"\n\nrun_if_changed() {\n if echo "$changed_files" | grep --quiet -E "$1"; then\n eval "$2"\n fi\n}\n'.trim()};function ot(e){return st.apply(this,arguments)}function st(){return(st=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateHuskyrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ct(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ct(e){return ut.apply(this,arguments)}function ut(){return ut=j(x().mark((function e(n){var r,a,o,s,c,u,l,p,f,d,m,h,v;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,"package.json"),e.next=3,i.promises.readFile(a,"utf8");case 3:return o=e.sent,(s=JSON.parse(o)).scripts||(s.scripts={}),delete s.scripts.postinstall,delete s.scripts.postpublish,delete s.scripts.prepare,delete s.scripts.prepublishOnly,delete s.scripts.prepack,delete s.scripts.postpack,c=t.resolve(n.dirPath,".husky"),e.next=15,Promise.all([i.promises.writeFile(a,JSON.stringify(s,void 0,2)),i.promises.rm(c,{force:!0,recursive:!0})]);case 15:return U("yarn",["dlx","husky-init","--yarn2"],n.dirPath),u=t.resolve(c,"pre-commit"),e.next=19,i.promises.readFile(u,"utf8");case 19:return l=e.sent,e.next=22,L.run((function(){return i.promises.rm(t.resolve(n.dirPath,".huskyrc.json"),{force:!0})}));case 22:return e.next=24,L.run((function(){return i.promises.writeFile(u,l.replace(at,it.preCommit))}));case 24:if(p=tt(n),!(f=p.typecheck)){e.next=30;break}return m=(m=null!==(d=n.repository)&&void 0!==d&&d.startsWith("github:WillBoosterLab/")?it.prePushForLab:it.prePush).replace("yarn typecheck",f.replace("tsc","node node_modules/.bin/tsc").replace("pyright","node node_modules/.bin/pyright")),e.next=30,L.run((function(){return i.promises.writeFile(t.resolve(c,"pre-push"),l.replace(at,m),{mode:493})}));case 30:return h=[],n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf plugin update --all"'),null!==(r=n.versionsText)&&void 0!==r&&r.includes("python ")&&h.push('run_if_changed "\\..+-version" "asdf install python"'),n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf install"'),h.push('run_if_changed "package\\.json" "yarn"'),n.containingPoetryLock&&h.push('run_if_changed "poetry\\.lock" "poetry install"'),n.depending.blitz?h.push('run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz prisma migrate deploy"','run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz blitz codegen"'):n.depending.prisma&&h.push('run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma migrate deploy"','run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma generate"'),v=l.replace(at,"".concat(it.postMerge,"\n\n").concat(h.join("\n"))),e.next=40,L.run((function(){return i.promises.writeFile(t.resolve(c,"post-merge"),v,{mode:493})}));case 40:case"end":return e.stop()}}),e)}))),ut.apply(this,arguments)}var lt='<?xml version="1.0" encoding="UTF-8"?>\n<project version="4">\n <component name="ProjectTasksOptions">\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="ts" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.ts)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="tsx" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.tsx)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="js" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.js)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="json" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.json)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="md" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.md)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="html" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.html)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n';function pt(e){return ft.apply(this,arguments)}function ft(){return ft=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateIdeaSettings",j(x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.resolve(n.dirPath,".idea"),!i.existsSync(r)){e.next=5;break}return a=t.resolve(r,"watcherTasks.xml"),e.next=5,n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages||n.containingPackageJson&&!n.containingPubspecYaml&&!n.containingGemfile&&!n.containingGoMod&&!n.containingPomXml?L.run((function(){return oe(a,lt)})):L.run((function(){return i.promises.rm(a,{force:!0})}));case 5:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),ft.apply(this,arguments)}function dt(e){return mt.apply(this,arguments)}function mt(){return(mt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateLintstagedrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ht(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ht(e){return vt.apply(this,arguments)}function vt(){return vt=j(x().mark((function e(n){var r,a,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.root?"node node_modules/.bin/":"node ../../node_modules/.bin/",a=[],(n.containingJavaScript||n.containingTypeScript)&&(o="\n '".concat(yt(n),"': [").concat(JSON.stringify("".concat(r,"eslint --fix").concat($e(n))),", '").concat(r,"prettier --cache --write'],"),a.push(o)),s=n.root?" && !file.includes('/packages/')":"",a.push("\n './**/*.{".concat(ae.prettier.join(","),"}': files => {\n ").concat(n.containingJavaScript||n.containingTypeScript?gt(n):"","\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')").concat(s,");\n if (filteredFiles.length === 0) return [];\n const commands = [`").concat(r,"prettier --cache --write ${filteredFiles.join(' ')}`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('").concat(r,"sort-package-json');\n }\n return commands;\n },")),n.containingPubspecYaml&&a.push("\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [`flutter format ${filteredFiles.join(' ')}`];\n },"),n.containingPoetryLock&&a.push("\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],"),c="".concat(n.containingJavaScript||n.containingTypeScript?"const micromatch = require('micromatch');":"","\n\nmodule.exports = {").concat(a.join(""),"\n};\n"),u=t.resolve(n.dirPath,".lintstagedrc.cjs"),e.next=11,L.run((function(){return i.promises.rm(t.resolve(n.dirPath,".lintstagedrc.js"),{force:!0})}));case 11:return e.next=13,L.run((function(){return i.promises.rm(t.resolve(n.dirPath,".lintstagedrc.json"),{force:!0})}));case 13:return e.next=15,L.run((function(){return oe(u,c)}));case 15:case"end":return e.stop()}}),e)}))),vt.apply(this,arguments)}function yt(e){var t=Me(e);return"./{".concat(t.join(","),"}/**/*.{").concat(ae.eslint.join(","),"}")}function gt(e){return"files = micromatch.not(files, '".concat(yt(e),"');")}var bt="\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n";function xt(e){return kt.apply(this,arguments)}function kt(){return kt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generatePrettierignore",j(x().mark((function e(){var r,a,i,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".prettierignore"),e.next=3,ie(a);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return i=e.t2,o=ve.getHeadUserContent(i)+bt,s=ve.getTailUserContent(i),c=t.resolve(n.dirPath,".gitignore"),e.next=18,ve.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l="",n.containingPubspecYaml&&(l="\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n"),p=o+bt+l+u+s,e.next=27,L.run((function(){return oe(a,p)}));case 27:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),kt.apply(this,arguments)}var wt={venvPath:".",venv:".venv"};function jt(e){return Pt.apply(this,arguments)}function Pt(){return Pt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generatePyrightConfigJson",j(x().mark((function e(){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(wt),a=t.resolve(n.dirPath,"pyrightconfig.json"),e.prev=2,e.next=5,i.promises.readFile(a,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=l.all([r,s,r],{arrayMerge:ke}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return c=JSON.stringify(r),e.next=15,L.run((function(){return oe(a,c)}));case 15:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),Pt.apply(this,arguments)}function _t(e){return St.apply(this,arguments)}function St(){return St=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateReadme",j(x().mark((function e(){var r,a,o,s,c,u,l,p,f,d,m;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.resolve(n.dirPath,"README.md"),e.next=3,i.promises.readFile(o,"utf8");case 3:s=e.sent,s=Ft(n,s,Ot,".releaserc.json"),c=null===(r=n.repository)||void 0===r?void 0:r.slice((null===(a=n.repository)||void 0===a?void 0:a.indexOf(":"))+1),u=i.readdirSync("".concat(n.dirPath,"/.github/workflows")),l=D(u),e.prev=8,l.s();case 10:if((p=l.n()).done){e.next=21;break}if((f=p.value).startsWith("test")||f.startsWith("deploy")){e.next=14;break}return e.abrupt("continue",19);case 14:d=(d=(d=f).charAt(0).toUpperCase()+d.slice(1,d.indexOf("."))).replace("-"," "),m="[.concat(c,"/actions/workflows/").concat(f,"/badge.svg)](https://github.com/").concat(c,"/actions/workflows/").concat(f,")"),s=Ft(n,s,m,".github/workflows/".concat(f));case 19:e.next=10;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(8),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:return e.next=31,L.run((function(){return oe(o,s)}));case 31:case"end":return e.stop()}}),e,null,[[8,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)}))),St.apply(this,arguments)}var Ot="[](https://github.com/semantic-release/semantic-release)";function Ft(e,n,r,a){if(!i.existsSync(t.resolve(e.dirPath,a)))return n;var o=n.indexOf(r);o>=0&&(n=n.slice(0,o)+n.slice(o+r.length));for(var s=!1,c=0;c<n.length;c++)if("\n"===n[c]){s=!0,n="".concat(n.slice(0,c+1)).concat(r,"\n").concat(n.slice(c+1));break}return s||(n="".concat(n,"\n").concat(r,"\n")),n}function Et(e){return Tt.apply(this,arguments)}function Tt(){return Tt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateReleaserc",j(x().mark((function e(){var r,a,o,s,c,u,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".releaserc.json"),e.prev=1,e.t0=JSON,e.next=5,i.promises.readFile(r,"utf8");case 5:for(e.t1=e.sent,a=e.t0.parse.call(e.t0,e.t1),o=(null==a?void 0:a.plugins)||[],s=0;s<o.length;s++)c=Array.isArray(o[s])?o[s][0]:o[s],u=Array.isArray(o[s])&&o[s][1]||{},"@semantic-release/commit-analyzer"===c?o[s]=["@semantic-release/commit-analyzer",l.all([u,{preset:"conventionalcommits"}],{arrayMerge:ke})]:"@semantic-release/github"===c&&(o[s]=["@semantic-release/github",l.all([u,{successComment:!1,labels:["r: semantic-release"],releasedLabels:["released :bookmark:"]}],{arrayMerge:ke})]);return p=JSON.stringify(a),e.next=12,L.run((function(){return oe(r,p)}));case 12:e.next=16;break;case 14:e.prev=14,e.t2=e.catch(1);case 16:case"end":return e.stop()}}),e,null,[[1,14]])})))));case 1:case"end":return e.stop()}}),e)}))),Tt.apply(this,arguments)}var Rt={extends:["@willbooster"]};function Dt(e){return Bt.apply(this,arguments)}function Bt(){return Bt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateRenovateJson",j(x().mark((function e(){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(Rt),a=t.resolve(n.dirPath,".renovaterc.json"),e.prev=2,e.next=5,i.promises.readFile(a,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=l.all([r,s,r],{arrayMerge:ke}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return e.next=14,L.run((function(){return i.promises.rm(t.resolve(n.dirPath,".dependabot"),{force:!0})}));case 14:return e.next=16,L.run((function(){return i.promises.rm(t.resolve(n.dirPath,"renovate.json"),{force:!0})}));case 16:return c=JSON.stringify(r),e.next=19,L.run((function(){return oe(a,c)}));case 19:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),Bt.apply(this,arguments)}function Nt(e){var t,n=D(Object.entries(e).sort((function(e,t){var n=F(e,1)[0],r=F(t,1)[0];return n.localeCompare(r)})));try{for(n.s();!(t=n.n()).done;){var r=F(t.value,2),a=r[0],i=r[1];delete e[a],e[a]=i}}catch(e){n.e(e)}finally{n.f()}return e}var At={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["./node_modules/@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*","packages/*/src/**/*","packages/*/tests/**/*","packages/*/scripts/**/*"]},Lt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["../../node_modules/@types","../../@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*"]};function It(e,t){return $t.apply(this,arguments)}function $t(){return $t=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateTsconfig",j(x().mark((function e(){var a,o,s,c,u,p,f,m,h,v,y,g,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return s=d(n.root?At:Lt),n.containingJsxOrTsx||n.containingJsxOrTsxInPackages||null===(c=s.compilerOptions)||void 0===c||delete c.jsx,n.root&&!n.containingSubPackageJsons&&(s.include=null===(u=s.include)||void 0===u?void 0:u.filter((function(e){return!e.startsWith("packages/*/")}))),n.esmPackage&&(s.compilerOptions=b(b({},s.compilerOptions),{},{moduleResolution:"NodeNext"})),p=t.resolve(n.dirPath,"tsconfig.json"),e.prev=7,e.next=10,i.promises.readFile(p,"utf8");case 10:g=e.sent,"./node_modules/@willbooster/tsconfig/tsconfig.json"===(k=JSON.parse(g)).extends&&delete k.extends,null===(f=s.compilerOptions)||void 0===f||delete f.target,null===(m=s.compilerOptions)||void 0===m||delete m.module,null===(h=s.compilerOptions)||void 0===h||delete h.moduleResolution,null!==(v=k.compilerOptions)&&void 0!==v&&v.jsx&&(null===(w=s.compilerOptions)||void 0===w||delete w.jsx),(s=l.all([s,k,s],{arrayMerge:we})).include=null===(y=s.include)||void 0===y?void 0:y.filter((function(e){return!e.includes("@types")&&!e.includes("__tests__")})),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return Nt(null!==(a=s.compilerOptions)&&void 0!==a?a:{}),null===(o=s.include)||void 0===o||o.sort(),j=JSON.stringify(s),e.next=28,L.run((function(){return oe(p,j)}));case 28:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),$t.apply(this,arguments)}var Wt={test:{name:"Test",on:{pull_request:null,push:{branches:["main","wbfy","renovate/**"]}},jobs:{test:{uses:"WillBooster/reusable-workflows/.github/workflows/test.yml@main"}}},release:{name:"Release",on:{push:{branches:[]}},jobs:{release:{uses:"WillBooster/reusable-workflows/.github/workflows/release.yml@main"}}},wbfy:{name:"Willboosterify",on:{workflow_dispatch:null},jobs:{wbfy:{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main"}}},"wbfy-merge":{name:"Merge wbfy",on:{workflow_dispatch:null},jobs:{"wbfy-merge":{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main"}}},"semantic-pr":{name:"Lint PR title",on:{pull_request_target:{types:["opened","edited","synchronize"]}},jobs:{"semantic-pr":{uses:"WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main"}}},"notify-ready":{name:"Notify ready",on:{issues:{types:["labeled"]}},jobs:{"notify-ready":{uses:"WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main",secrets:{DISCORD_WEBHOOK_URL:"${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}"}}}},"close-comment":{name:"Add close comment",on:{pull_request:{types:["opened"]}},jobs:{"close-comment":{uses:"WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main"}}},"add-issue-to-project":{name:"Add issue to github project",on:{issues:{types:["labeled"]}},jobs:{"add-issue-to-project":{uses:"WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main",secrets:{GH_PROJECT_URL:"${{ secrets.GH_PROJECT_URL }}"}}}}};function Ct(e){return Jt.apply(this,arguments)}function Jt(){return(Jt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateWorkflow",j(x().mark((function e(){var r,a,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".github","workflows"),e.next=3,i.promises.mkdir(a,{recursive:!0});case 3:return o=t.resolve(n.dirPath,".github","semantic.yml"),e.next=6,L.run((function(){return i.promises.rm(o,{force:!0,recursive:!0})}));case 6:return e.next=8,i.promises.readdir(a,{withFileTypes:!0});case 8:s=e.sent,c=s.filter((function(e){return e.isFile()&&e.name.endsWith(".yml")})).map((function(e){return e.name})),n.depending.semanticRelease&&c.push("release.yml"),(n.publicRepo||null!==(r=n.repository)&&void 0!==r&&r.startsWith("github:WillBoosterLab/"))&&c.push("notify-ready.yml"),c.push("test.yml","wbfy.yml","wbfy-merge.yml","semantic-pr.yml","close-comment.yml","add-issue-to-project.yml"),u=D(c),e.prev=14,p=x().mark((function e(){var r,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.value,i=t.basename(r,".yml"),e.next=4,L.run((function(){return zt(n,a,i)}));case 4:case"end":return e.stop()}}),e)})),u.s();case 17:if((l=u.n()).done){e.next=21;break}return e.delegateYield(p(),"t0",19);case 19:e.next=17;break;case 21:e.next=26;break;case 23:e.prev=23,e.t1=e.catch(14),u.e(e.t1);case 26:return e.prev=26,u.f(),e.finish(26);case 29:case"end":return e.stop()}}),e,null,[[14,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function zt(e,t,n){return Gt.apply(this,arguments)}function Gt(){return(Gt=j(x().mark((function e(n,r,a){var o,s,c,u,p,f,h,v,y,g,b;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=d(Wt[a]||{}),s=t.join(r,"".concat(a,".yml")),e.prev=2,e.next=5,i.promises.readFile(s,"utf8");case 5:c=e.sent,u=m.load(c),"wbfy"!==a&&"wbfy-merge"!==a||(console.log("writeWorkflowYaml:",a),console.dir(u,{depth:null})),o=l.all([o,u,o],{arrayMerge:we}),"wbfy"!==a&&"wbfy-merge"!==a||console.dir(o,{depth:null}),e.next=14;break;case 12:e.prev=12,e.t0=e.catch(2);case 14:p=0,f=Object.values(o.jobs);case 15:if(!(p<f.length)){e.next=23;break}if(g=f[p],null!==(h=g.uses)&&void 0!==h&&null!==(v=(y=h).includes)&&void 0!==v&&v.call(y,"/reusable-workflows/")){e.next=19;break}return e.abrupt("return");case 19:Mt(n,g,a);case 20:p++,e.next=15;break;case 23:e.t1=a,e.next="release"===e.t1?26:"wbfy"===e.t1?38:"wbfy-merge"===e.t1?40:42;break;case 26:if(!o.on.schedule){e.next=30;break}delete o.on.push,e.next=37;break;case 30:if(!(n.release.branches.length>0)){e.next=34;break}o.on.push.branches=n.release.branches,e.next=37;break;case 34:return e.next=36,i.promises.rm(t.join(r,"release.yml"),{force:!0});case 36:return e.abrupt("return");case 37:return e.abrupt("break",42);case 38:return Ht(o,20,24),e.abrupt("break",42);case 40:return Ht(o,1,4),e.abrupt("break",42);case 42:return qt(o),e.next=45,Yt(o,s);case 45:if("release"!==a){e.next=50;break}return e.next=48,i.promises.rm(t.join(r,"semantic-release.yml"),{force:!0});case 48:e.next=65;break;case 50:if("sync"!==a){e.next=65;break}return e.next=53,i.promises.rm(t.join(r,"sync-init.yml"),{force:!0});case 53:if(o.jobs.sync){e.next=55;break}return e.abrupt("return");case 55:if(o.jobs["sync-force"]=o.jobs.sync,b=o.jobs.sync.with.sync_params_without_dest){e.next=59;break}return e.abrupt("return");case 59:return o.jobs.sync.with.sync_params_without_dest="--force ".concat(b),o.name="Force to Sync",o.on={workflow_dispatch:null},delete o.jobs.sync,e.next=65,Yt(o,t.join(r,"sync-force.yml"));case 65:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}function Mt(e,t,n){var r,a;if(t.with||(t.with={}),t.secrets||(t.secrets={}),"test"!==n&&"release"!==n&&"wbfy"!==n&&"wbfy-merge"!==n&&"add-issue-to-project"!==n||(t.secrets.GH_TOKEN=e.publicRepo?"${{ secrets.PUBLIC_GH_BOT_PAT }}":"${{ secrets.GH_BOT_PAT }}"),!e.release.npm||"release"!==n&&"test"!==n||(t.secrets.NPM_TOKEN="${{ secrets.NPM_TOKEN }}"),t.secrets.FIREBASE_TOKEN&&(t.secrets.GCP_SA_KEY_JSON_FOR_FIREBASE="${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}",delete t.secrets.FIREBASE_TOKEN),(t.secrets.DISCORD_WEBHOOK_URL&&("release"===n||n.startsWith("deploy"))||t.with.server_url&&n.startsWith("deploy"))&&(t.secrets.DISCORD_WEBHOOK_URL="${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}"),"sync"===n){var i,o=null===(i=t.with)||void 0===i?void 0:i.sync_params_without_dest;o&&(t.with.sync_params_without_dest=o.replace("sync ",""))}if(null!==(r=e.repository)&&void 0!==r&&r.startsWith("github:WillBooster/")?t.uses=t.uses.replace("WillBoosterLab/","WillBooster/"):null!==(a=e.repository)&&void 0!==a&&a.startsWith("github:WillBoosterLab/")&&(t.uses=t.uses.replace("WillBooster/","WillBoosterLab/")),function(e){delete e.with.non_self_hosted,delete e.with.notify_discord,delete e.with.require_fly,delete e.with.require_gcloud}(t),".env"===t.with.dot_env_path&&delete t.with.dot_env_path,e.containingDockerfile&&n.startsWith("deploy")&&(t.with.cpu_arch="X64"),"release"===n||"test"===n||"wbfy"===n||"wbfy-merge"===n||n.startsWith("deploy")?e.publicRepo&&(t.with.github_hosted_runner=!0):delete t.with.github_hosted_runner,Object.keys(t.with).length>0?Nt(t.with):delete t.with,Object.keys(t.secrets).length>0){var s=Nt(t.secrets);delete t.secrets,t.secrets=s}else delete t.secrets}function Ht(e,t,n){var r,a,i,o=F((null!==(r=null===(a=e.on.schedule)||void 0===a||null===(i=a[0])||void 0===i?void 0:i.cron)&&void 0!==r?r:"").split(" ").map(Number),2),s=o[0],c=o[1];if(0!==s&&Number.isInteger(c)){var u=(c+9)%24,l=t<n?t<=u&&u<n:t<=u||u<n;if(l)return;console.log("setSchedule:",e,s,c,l,u,t,n)}else console.log("setSchedule:",e,s,c);var p=1+Math.floor(59*Math.random()),f=t+Math.floor(Math.random()*(n-t)),d="".concat(p," ").concat((f-9+24)%24," * * *");e.on.schedule=[{cron:d}]}function Yt(e,t){return Ut.apply(this,arguments)}function Ut(){return(Ut=j(x().mark((function e(t,n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.dump(t,{lineWidth:-1,noCompatMode:!0,styles:{"!!null":"empty"}}),e.next=3,i.promises.writeFile(n,r);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qt(e){delete e.jobs["add-to-project"]}function Kt(e){return Vt.apply(this,arguments)}function Vt(){return Vt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("generateYarnrcYml",j(x().mark((function e(){var r,a,o,s,c,u,l,p,f,d,h,v,y,g,b,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=q("yarn",["--version"],n.dirPath),l=Xt("@yarnpkg/cli",n.dirPath),Qt(u)<=Qt(l)&&u!==l&&U("yarn",["set","version",l],n.dirPath,1),p=t.join(n.dirPath,".yarn","releases"),e.next=6,i.promises.mkdir(p,{recursive:!0});case 6:return e.t0=D,e.next=9,i.promises.readdir(p);case 9:e.t1=e.sent,f=(0,e.t0)(e.t1),e.prev=11,h=x().mark((function e(){var n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=d.value).startsWith("yarn-")||n.startsWith("yarn-".concat(l,"."))){e.next=5;break}return e.next=4,L.run((function(){return i.promises.rm(t.join(p,n))}));case 4:console.log("Removed",t.join(p,n));case 5:case"end":return e.stop()}}),e)})),f.s();case 14:if((d=f.n()).done){e.next=18;break}return e.delegateYield(h(),"t2",16);case 16:e.next=14;break;case 18:e.next=23;break;case 20:e.prev=20,e.t3=e.catch(11),f.e(e.t3);case 23:return e.prev=23,f.f(),e.finish(23);case 26:return v=t.resolve(n.dirPath,".yarnrc"),e.next=29,L.run((function(){return i.promises.rm(v,{force:!0})}));case 29:return y=t.resolve(n.dirPath,".yarnrc.yml"),e.t4=m,e.next=33,i.promises.readFile(y,"utf8");case 33:if(e.t5=e.sent,(g=e.t4.load.call(e.t4,e.t5)).defaultSemverRangePrefix="",g.nodeLinker="node-modules",g.nmMode="hardlinks-global",g.enableGlobalCache=!0,b=null!==(r=null===(a=g.plugins)||void 0===a?void 0:a.length)&&void 0!==r?r:0,g.plugins=null!==(o=null===(s=g.plugins)||void 0===s?void 0:s.filter((function(e){return".yarn/plugins/undefined.cjs"!==e.path})))&&void 0!==o?o:[],g.plugins.length===b){e.next=45;break}return k=t.resolve(n.dirPath,".yarnrc","undefined.cjs"),e.next=45,L.run((function(){return i.promises.rm(k,{force:!0})}));case 45:return 0===g.plugins.length&&delete g.plugins,e.next=48,i.promises.writeFile(y,m.dump(g,{lineWidth:-1}));case 48:w=(null!==(c=g.plugins)&&void 0!==c?c:[]).map((function(e){return e.spec})),j=n.containingTypeScript||n.containingTypeScriptInPackages,Zt(n,w,j,"@yarnpkg/plugin-typescript"),Zt(n,w,n.containingSubPackageJsons,"@yarnpkg/plugin-workspace-tools"),U("yarn",["dlx","yarn-plugin-auto-install"],n.dirPath);case 53:case"end":return e.stop()}}),e,null,[[11,20,23,26]])})))));case 1:case"end":return e.stop()}}),e)}))),Vt.apply(this,arguments)}function Xt(e,t){var n=q("npm",["show",e,"versions","--json"],t),r=JSON.parse(n);return r[r.length-1]}function Zt(e,t,n,r){n!==t.includes(r)&&U("yarn",["plugin",n?"import":"remove",r],e.dirPath)}function Qt(e){var t=F(e.split("."),1)[0];return Number(t)}function en(e){return tn.apply(this,arguments)}function tn(){return(tn=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("setupLabels",j(x().mark((function e(){var n,r,a,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ce){e.next=2;break}return e.abrupt("return");case 2:if(r=ze.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),a=F(r,2),i=a[0],o=a[1],i&&o){e.next=5;break}return e.abrupt("return");case 5:if("WillBooster"===i||"WillBoosterLab"===i){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,nn(i,o,"d1: x-easy :hedgehog:","EDE9FE");case 10:return e.next=12,nn(i,o,"d2: easy :rabbit2:","DDD6FE");case 12:return e.next=14,nn(i,o,"d3: medium :ox:","C4B5FD");case 14:return e.next=16,nn(i,o,"d4: hard :squid:","A78BFA");case 16:return e.next=18,nn(i,o,"d5: x-hard :whale2:","8B5CF6");case 18:return e.next=20,nn(i,o,"p1: critical :fire::fire::fire:","EF4444");case 20:return e.next=22,nn(i,o,"p2: urgent :fire::fire:","F87171");case 22:return e.next=24,nn(i,o,"p3: important :fire:","FCA5A5");case 24:return e.next=26,nn(i,o,"p4: nice to have :droplet:","FECACA");case 26:return e.next=28,nn(i,o,"r: blitz","5300bc");case 28:return e.next=30,nn(i,o,"r: firebase","ffca28");case 30:return e.next=32,nn(i,o,"r: prisma","0c344b");case 32:return e.next=34,nn(i,o,"r: react","61dafb");case 34:return e.next=36,nn(i,o,"r: svelte","ff3e00");case 36:return e.next=38,nn(i,o,"r: semantic-release","494949");case 38:return e.next=40,nn(i,o,"ready :rocket:","22C55E");case 40:return e.next=42,nn(i,o,"review requested :mag:","FBCA04");case 42:return e.next=44,nn(i,o,"released :bookmark:","6366F1");case 44:return e.next=46,nn(i,o,"s: 0.5h :clock1230:","F3F4F6");case 46:return e.next=48,nn(i,o,"s: 1h :clock1:","E5E7EB");case 48:return e.next=50,nn(i,o,"s: 2h :clock2:","D1D5DB");case 50:return e.next=52,nn(i,o,"s: 3h :clock3:","9CA3AF");case 52:return e.next=54,nn(i,o,"s: 5h :clock5:","6B7280");case 54:return e.next=56,nn(i,o,"s: 8h :clock8:","4B5563");case 56:return e.next=58,nn(i,o,"s: 13h :clock1:","374151");case 58:return e.next=60,nn(i,o,"t: build :hammer:","BFDBFE");case 60:return e.next=62,nn(i,o,"t: chore :broom:","BFDBFE");case 62:return e.next=64,nn(i,o,"t: ci :construction_worker:","BFDBFE");case 64:return e.next=66,nn(i,o,"t: docs :memo:","BFDBFE");case 66:return e.next=68,nn(i,o,"t: feat :sparkles:","BFDBFE");case 68:return e.next=70,nn(i,o,"t: fix :bug:","BFDBFE");case 70:return e.next=72,nn(i,o,"t: perf :zap:","BFDBFE");case 72:return e.next=74,nn(i,o,"t: refactor :recycle:","BFDBFE");case 74:return e.next=76,nn(i,o,"t: style :lipstick:","BFDBFE");case 76:return e.next=78,nn(i,o,"t: test :test_tube:","BFDBFE");case 78:return e.next=80,nn(i,o,"project","24292F");case 80:return e.next=82,an(i,o,"bug");case 82:return e.next=84,an(i,o,"documentation");case 84:return e.next=86,an(i,o,"duplicate");case 86:return e.next=88,an(i,o,"enhancement");case 88:return e.next=90,an(i,o,"good first issue");case 90:return e.next=92,an(i,o,"help wanted");case 92:return e.next=94,an(i,o,"invalid");case 94:return e.next=96,an(i,o,"question");case 96:return e.next=98,an(i,o,"wontfix");case 98:return e.next=100,an(i,o,"ready");case 100:return e.next=102,an(i,o,"review requested");case 102:return e.next=104,an(i,o,"released");case 104:return e.next=106,an(i,o,"semantic-release");case 106:e.next=111;break;case 108:e.prev=108,e.t0=e.catch(7),console.warn("Skip setupLabels due to:",null!==(s=null===e.t0||void 0===e.t0?void 0:e.t0.stack)&&void 0!==s?s:e.t0);case 111:case"end":return e.stop()}}),e,null,[[7,108]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nn(e,t,n,r){return rn.apply(this,arguments)}function rn(){return(rn=j(x().mark((function e(t,n,r,a){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Je.request("POST /repos/{owner}/{repo}/labels",{owner:t,repo:n,name:r,color:a});case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),e.next=9,Je.request("PATCH /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r,color:a});case 9:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}function an(e,t,n){return on.apply(this,arguments)}function on(){return(on=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Je.request("DELETE /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r});case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}var sn=["READY_DISCORD_WEBHOOK_URL"];function cn(e){return un.apply(this,arguments)}function un(){return(un=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",A.function("setupSecrets",j(x().mark((function e(){var n,r,a,i,o,s,c,u,l,p,f,d,m,y,g,b,k,w,j,P,_,S,O;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ce){e.next=2;break}return e.abrupt("return");case 2:if(r=ze.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),a=F(r,2),i=a[0],o=a[1],i&&o&&"WillBoosterLab"===i){e.next=5;break}return e.abrupt("return");case 5:if(s=h.config().parsed||{},0!==Object.keys(s).length){e.next=8;break}return e.abrupt("return");case 8:e.prev=8,c=D(sn),e.prev=10,c.s();case 12:if((u=c.n()).done){e.next=23;break}return l=u.value,e.prev=14,e.next=17,Je.request("DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:i,repo:o,secret_name:l});case 17:e.next=21;break;case 19:e.prev=19,e.t0=e.catch(14);case 21:e.next=12;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(10),c.e(e.t1);case 28:return e.prev=28,c.f(),e.finish(28);case 31:return e.next=33,Je.request("GET /repos/{owner}/{repo}/actions/secrets/public-key",{owner:i,repo:o});case 33:return p=e.sent,f=p.data,d=f.key,m=f.key_id,e.next=37,v.ready;case 37:y=0,g=Object.entries(s);case 38:if(!(y<g.length)){e.next=53;break}if(b=F(g[y],2),k=b[0],w=b[1],!t.publicRepo||"GH_BOT_PAT"!==k){e.next=42;break}return e.abrupt("continue",50);case 42:if(t.publicRepo||"PUBLIC_GH_BOT_PAT"!==k){e.next=44;break}return e.abrupt("continue",50);case 44:return j=v.from_base64(d,v.base64_variants.ORIGINAL),P=v.from_string(w),_=v.crypto_box_seal(P,j),S=v.to_base64(_,v.base64_variants.ORIGINAL),e.next=50,Je.request("PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:i,repo:o,secret_name:k,encrypted_value:S,key_id:m});case 50:y++,e.next=38;break;case 53:e.next=58;break;case 55:e.prev=55,e.t2=e.catch(8),console.warn("Skip setupSecrets due to:",null!==(O=null===e.t2||void 0===e.t2?void 0:e.t2.stack)&&void 0!==O?O:e.t2);case 58:case"end":return e.stop()}}),e,null,[[8,55],[10,25,28,31],[14,19]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ln(e){return pn.apply(this,arguments)}function pn(){return(pn=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fn(e){return dn.apply(this,arguments)}function dn(){return dn=j(x().mark((function n(r){var a,o,s,c,u,l,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,E,T,R,D,B,N;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=t.resolve(r,"package.json"),n.prev=1,u=i.existsSync(a),l={},p={},f={},d=!1,u&&(v=i.readFileSync(a,"utf8"),f=JSON.parse(v),l=null!==(m=f.dependencies)&&void 0!==m?m:{},p=null!==(h=f.devDependencies)&&void 0!==h?h:{},d="module"===f.type),y=[],g=[],n.prev=10,k=t.resolve(r,".releaserc.json"),n.t0=JSON,n.next=15,e.readFile(k,"utf8");case 15:n.t1=n.sent,w=n.t0.parse.call(n.t0,n.t1),y=(null==w?void 0:w.branches)||[],g=(null==w||null===(b=w.plugins)||void 0===b?void 0:b.flat())||[],n.next=23;break;case 21:n.prev=21,n.t2=n.catch(10);case 23:if(!(j="packages"!==t.basename(t.resolve(r,".."))||!i.existsSync(t.resolve(r,"..","..","package.json")))){n.next=28;break}return n.next=27,vn(r,f);case 27:P=n.sent;case 28:return _="",n.prev=29,n.next=32,e.readFile(t.resolve(r,".tool-versions"),"utf8");case 32:S=n.sent,_+=S.trim(),n.next=38;break;case 36:n.prev=36,n.t3=n.catch(29);case 38:O=0,E=[["node","nodejs"],["python","python"]];case 39:if(!(O<E.length)){n.next=54;break}return T=F(E[O],2),R=T[0],D=T[1],n.prev=41,n.next=44,e.readFile(t.resolve(r,".".concat(R,"-version")),"utf8");case 44:B=n.sent,_&&(_+="\n"),_+=D+" "+B.trim(),n.next=51;break;case 49:n.prev=49,n.t4=n.catch(41);case 51:O++,n.next=39;break;case 54:if((N={dirPath:r,root:j,publicRepo:!1===(null===(o=P)||void 0===o?void 0:o.private),referredByOtherRepo:!!f.files,repository:null!==(s=P)&&void 0!==s&&s.full_name?"github:".concat(null===(c=P)||void 0===c?void 0:c.full_name):void 0,esmPackage:d,willBoosterConfigs:a.includes("".concat(t.sep,"willbooster-configs")),containingSubPackageJsons:mn("packages/**/package.json",r),containingDockerfile:i.existsSync(t.resolve(r,"Dockerfile"))||i.existsSync(t.resolve(r,"docker-compose.yml")),containingGemfile:i.existsSync(t.resolve(r,"Gemfile")),containingGoMod:i.existsSync(t.resolve(r,"go.mod")),containingPackageJson:i.existsSync(t.resolve(r,"package.json")),containingPoetryLock:i.existsSync(t.resolve(r,"poetry.lock")),containingPomXml:i.existsSync(t.resolve(r,"pom.xml")),containingPubspecYaml:i.existsSync(t.resolve(r,"pubspec.yaml")),containingTemplateYaml:i.existsSync(t.resolve(r,"template.yaml")),containingJavaScript:mn("@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScript:mn("@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsx:mn("@(app|src|tests)/**/*.{t,j}sx",r),containingJavaScriptInPackages:mn("packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScriptInPackages:mn("packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsxInPackages:mn("packages/**/@(app|src|tests)/**/*.{t,j}sx",r),depending:{blitz:(l.blitz||p.blitz||"").replace("^","")[0],firebase:!!p["firebase-tools"],playwright:!!p.playwright,prisma:!!l.prisma,pyright:!!p.pyright,reactNative:!!l["react-native"],semanticRelease:!!(p["semantic-release"]||y.length>0||g.length>0),storybook:!!p["@storybook/react"]},release:{branches:y,github:g.includes("@semantic-release/github"),npm:g.includes("@semantic-release/npm")},versionsText:_,packageJson:f}).eslintBase=hn(N),!(N.containingGemfile||N.containingGoMod||N.containingPackageJson||N.containingPoetryLock||N.containingPomXml||N.containingPubspecYaml||N.containingTemplateYaml)){n.next=58;break}return n.abrupt("return",N);case 58:n.next=62;break;case 60:n.prev=60,n.t5=n.catch(1);case 62:case"end":return n.stop()}}),n,null,[[1,60],[10,21],[29,36],[41,49]])}))),dn.apply(this,arguments)}function mn(e,t){return s(e,{dot:!0,cwd:t}).length>0}function hn(e){return e.containingTypeScript?e.containingJsxOrTsx?"@willbooster/eslint-config-ts-react":"@willbooster/eslint-config-ts":e.containingJsxOrTsx?"@willbooster/eslint-config-js-react":e.containingJavaScript?"@willbooster/eslint-config-js":void 0}function vn(e,t){return yn.apply(this,arguments)}function yn(){return yn=j(x().mark((function e(t,n){var r,a,i,o,s,c,u,l,p,f,d;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=y(t),e.next=3,s.getRemotes(!0);case 3:if(c=e.sent,u=c.find((function(e){return"origin"===e.name})),"string"!=typeof(l=null!==(r=null==u||null===(a=u.refs)||void 0===a?void 0:a.fetch)&&void 0!==r?r:null==u||null===(i=u.refs)||void 0===i?void 0:i.push)){e.next=12;break}return e.next=9,gn(l);case 9:if(!(p=e.sent)){e.next=12;break}return e.abrupt("return",p);case 12:if(!(f="string"==typeof n.repository?n.repository:null===(o=n.repository)||void 0===o?void 0:o.url)){e.next=19;break}return e.next=16,gn(f);case 16:if(!(d=e.sent)||"Not Found"===d.message){e.next=19;break}return e.abrupt("return",d);case 19:case"end":return e.stop()}}),e)}))),yn.apply(this,arguments)}function gn(e){return bn.apply(this,arguments)}function bn(){return(bn=j(x().mark((function e(t){var n,r,a,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=ze.getOrgAndName(t),r=F(n,2),a=r[0],i=r[1],a&&i){e.next=3;break}return e.abrupt("return");case 3:return o={full_name:"".concat(a,"/").concat(i)},e.prev=4,e.next=7,Je.request("GET /repos/{owner}/{repo}",{owner:a,repo:i});case 7:s=e.sent,Object.assign(o,s.data),e.next=13;break;case 11:e.prev=11,e.t0=e.catch(4);case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function xn(){return xn=j(x().mark((function n(){var i,o,s,c;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,a(process.argv.slice(2)).command("$0 [paths..]","Make a given project follow the WillBooster standard",(function(e){e.positional("paths",{describe:"project paths to be wbfied",array:!0,type:"string",default:["."]})})).options({skipDeps:{description:"Skip dependency installation",type:"boolean",default:!1,alias:"d"},verbose:{description:"Whether or not to enable verbose mode",type:"boolean",default:!1,alias:"v"}}).strict().argv;case 2:i=n.sent,N.isVerbose=i.verbose,o=x().mark((function n(){var a,o,u,l,p,f,d,m,h,v,y,g,b,k,w,j;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c[s],u=t.join(o,"packages"),n.next=4,r((function(){return e.readdir(u,{withFileTypes:!0})}));case 4:if(n.t1=a=n.sent,n.t0=null!==n.t1,!n.t0){n.next=8;break}n.t0=void 0!==a;case 8:if(!n.t0){n.next=12;break}n.t2=a,n.next=13;break;case 12:n.t2=[];case 13:return l=n.t2,p=l.filter((function(e){return e.isDirectory()})).map((function(e){return t.join(u,e.name)})),n.next=17,G([o].concat(E(p)));case 17:return n.next=19,Promise.all([I(o),J([o].concat(E(p)))]);case 19:return n.next=21,fn(o);case 21:if(f=n.sent){n.next=25;break}return console.error("there is no valid package.json in ".concat(o)),n.abrupt("return","continue");case 25:return n.next=27,Promise.all(p.map((function(e){return fn(e)})));case 27:if(d=n.sent,m=d.filter((function(e){return!!e})),h=[f].concat(E(m)),N.isVerbose){v=D(h);try{for(v.s();!(y=v.n()).done;)g=y.value,console.info(g)}catch(e){v.e(e)}finally{v.f()}}return n.next=33,V(f);case 33:return n.next=35,Kt(f);case 35:return n.next=37,Promise.all([ce(f),Oe(f),ot(f),pt(f),dt(f),_t(f),Dt(f),Et(f),Ct(f),en(f),cn(f),ln(f)]);case 37:return n.next=39,L.promiseAll();case 39:b=[],k=D(h),n.prev=41,k.s();case 43:if((w=k.n()).done){n.next=62;break}return((j=w.value).containingTypeScript||j.containingTypeScriptInPackages)&&b.push(H(j,j.root?h:[j])),n.next=48,Re(j,f);case 48:return n.next=50,L.promiseAll();case 50:if(j.root||j.containingPackageJson){n.next=52;break}return n.abrupt("continue",60);case 52:return n.next=54,xt(j);case 54:return n.next=56,Ke(j,f,i.skipDeps);case 56:b.push(dt(j)),(j.containingTypeScript||j.containingTypeScriptInPackages)&&b.push(It(j,f)),(j.containingJavaScript||j.containingJavaScriptInPackages||j.containingTypeScript||j.containingTypeScriptInPackages)&&(f.willBoosterConfigs||b.push(je(j,f)),b.push(be(j))),j.depending.pyright&&b.push(jt(j));case 60:n.next=43;break;case 62:n.next=67;break;case 64:n.prev=64,n.t3=n.catch(41),k.e(n.t3);case 67:return n.prev=67,k.f(),n.finish(67);case 70:return n.next=72,Promise.all(b);case 72:return n.next=74,L.promiseAll();case 74:U("yarn",["cleanup"],o),U("yarn",["install"],o);case 76:case"end":return n.stop()}}),n,null,[[41,64,67,70]])})),s=0,c=i.paths;case 6:if(!(s<c.length)){n.next=14;break}return n.delegateYield(o(),"t0",8);case 8:if("continue"!==n.t0){n.next=11;break}return n.abrupt("continue",11);case 11:s++,n.next=6;break;case 14:case"end":return n.stop()}}),n)}))),xn.apply(this,arguments)}await function(){return xn.apply(this,arguments)}();
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/options.ts","../src/logger.ts","../src/utils/promisePool.ts","../src/fixers/abbreviations.ts","../src/utils/version.ts","../src/fixers/dockerfile.ts","../src/fixers/testDirectory.ts","../src/fixers/typeDefinition.ts","../src/utils/spawnUtil.ts","../src/generators/asdf.ts","../src/utils/extensions.ts","../src/utils/fsUtil.ts","../src/generators/editorconfig.ts","../src/utils/ignoreFileUtil.ts","../src/generators/eslintignore.ts","../src/utils/mergeUtil.ts","../src/generators/eslintrc.ts","../src/generators/gitattributes.ts","../src/generators/gitignore.ts","../src/utils/eslintUtil.ts","../src/utils/githubUtil.ts","../src/utils/srcDirectories.ts","../src/generators/packageJson.ts","../src/generators/huskyrc.ts","../src/generators/idea.ts","../src/generators/lintstagedrc.ts","../src/generators/prettierignore.ts","../src/generators/pyrightconfig.ts","../src/generators/readme.ts","../src/generators/releaserc.ts","../src/generators/renovaterc.ts","../src/utils/objectUtil.ts","../src/generators/tsconfig.ts","../src/generators/workflow.ts","../src/generators/yarnrc.ts","../src/github/label.ts","../src/github/secret.ts","../src/github/settings.ts","../src/packageConfig.ts","../src/index.ts"],"sourcesContent":["class Options {\n isVerbose: boolean;\n\n constructor() {\n this.isVerbose = false;\n }\n}\n\nexport const options = new Options();\n","import { options } from './options.js';\n\nclass Logger {\n async function(name: string, func: () => Promise<void>): Promise<void> {\n if (options.isVerbose) {\n console.info(`--------- ${name} start ---------`);\n }\n await func();\n if (options.isVerbose) {\n console.info(`---------- ${name} end ----------`);\n }\n }\n}\n\nexport const logger = new Logger();\n","import { PromisePool } from 'minimal-promise-pool';\n\nexport const promisePool = new PromisePool();\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { globby } from 'globby';\n\nimport { logger } from '../logger.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function fixAbbreviations(dirPath: string): Promise<void> {\n return logger.function('fixAbbreviations', async () => {\n const mdFiles = await globby('**/*.md', { dot: true, cwd: dirPath });\n for (const mdFile of mdFiles) {\n const filePath = path.join(dirPath, mdFile);\n await promisePool.run(async () => {\n const content = await fs.promises.readFile(filePath, 'utf8');\n const newContent = content.replaceAll('c.f.', 'cf.').replaceAll('eg.', 'e.g.').replaceAll('ie.', 'i.e.');\n await fs.promises.writeFile(filePath, newContent);\n });\n }\n\n const tsFiles = await globby('**/*.(ts|tsx)', { dot: true, cwd: dirPath });\n for (const tsFile of tsFiles) {\n const filePath = path.join(dirPath, tsFile);\n const content = await fs.promises.readFile(filePath, 'utf8');\n const newContent = content\n .replaceAll(/\\/\\/(.*)c\\.f\\./g, '//$1cf.')\n .replaceAll(/\\/\\/(.*)eg\\./g, '//$1e.g.')\n .replaceAll(/\\/\\/(.*)ie\\./g, '//$1i.e.');\n await fs.promises.writeFile(filePath, newContent);\n }\n\n await promisePool.promiseAll();\n });\n}\n","export function convertVersionIntoNumber(version: string): number {\n // e.g. java adoptopenjdk-11.0.17+8\n const numbers = version.split(/[+.-]/).map(Number).filter(Number.isNaN);\n let versionNumber = 0;\n let divisor = 1;\n for (const num of numbers) {\n versionNumber += num * divisor;\n divisor /= 1000;\n }\n return versionNumber;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { convertVersionIntoNumber } from '../utils/version.js';\n\nconst ASDF_VERSION = '0.11.0';\n\nexport async function fixDockerfiles(packageDirPaths: string[]): Promise<void> {\n return logger.function('fixDockerfiles', async () => {\n await Promise.all(\n packageDirPaths.map(async (packageDirPath) => {\n try {\n const filePath = path.join(packageDirPath, 'Dockerfile');\n const content = await fs.promises.readFile(filePath, 'utf8');\n const newContent = content.replace(/ENV\\s+ASDF_VERSION\\s+([\\d.]+)/, (substring, version) => {\n if (convertVersionIntoNumber(version) < convertVersionIntoNumber(ASDF_VERSION)) {\n return `ENV ASDF_VERSION ${ASDF_VERSION}`;\n }\n return substring;\n });\n await fs.promises.writeFile(filePath, newContent);\n } catch {\n // do nothing\n }\n })\n );\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\n\nexport async function fixTestDirectories(packageDirPaths: string[]): Promise<void> {\n return logger.function('fixTestDirectories', async () => {\n await Promise.all(\n packageDirPaths.map(async (packageDirPath) => {\n const oldTestDirPath = path.join(packageDirPath, '__tests__');\n const newTestDirPath = path.join(packageDirPath, 'tests');\n try {\n await fs.promises.rename(oldTestDirPath, newTestDirPath);\n const packageJsonText = await fs.promises.readFile(path.join(packageDirPath, 'package.json'), 'utf8');\n const newPackageJsonText = packageJsonText.replace(/__tests__/g, 'tests');\n await fs.promises.writeFile(path.join(packageDirPath, 'package.json'), newPackageJsonText);\n } catch {\n // do nothing\n }\n })\n );\n });\n}\n","import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { ignoreEnoentAsync } from '@willbooster/shared-lib';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function fixTypeDefinitions(\n config: PackageConfig,\n configsIncludingChildren: PackageConfig[]\n): Promise<void> {\n return logger.function('fixTypeDefinitions', async () => {\n const libTypeDirPath = path.resolve(config.dirPath, '@types');\n const srcTypeDirPath =\n config.root && config.containingSubPackageJsons ? undefined : path.resolve(config.dirPath, 'src', 'types');\n\n const dirents = await ignoreEnoentAsync(() => fs.readdir(libTypeDirPath, { withFileTypes: true }));\n if (!dirents) return;\n\n for (const dirent of dirents) {\n const dirName = dirent.name.slice(0, -5);\n const hasTypeDeclarationExtension = dirent.name.endsWith('.d.ts');\n let packageName = hasTypeDeclarationExtension ? dirName : dirent.name;\n if (packageName.includes('__')) {\n packageName = `@${packageName.replace('__', '/')}`;\n }\n const hasLibrary = configsIncludingChildren.some(\n (config) =>\n config.packageJson?.dependencies?.[packageName] || config.packageJson?.devDependencies?.[packageName]\n );\n\n if (dirent.isFile() && hasTypeDeclarationExtension) {\n if (hasLibrary) {\n // Move @types/<name>/index.d.ts if installed\n await fs.mkdir(path.join(libTypeDirPath, dirName));\n await promisePool.run(() =>\n fs.rename(path.join(libTypeDirPath, dirent.name), path.join(libTypeDirPath, dirName, 'index.d.ts'))\n );\n } else if (srcTypeDirPath) {\n // Move src/types/<name> if not installed\n await fs.mkdir(srcTypeDirPath, { recursive: true });\n await promisePool.run(() =>\n fs.rename(path.join(libTypeDirPath, dirent.name), path.join(srcTypeDirPath, dirent.name))\n );\n }\n } else if (dirent.isDirectory() && srcTypeDirPath && !hasLibrary) {\n // Move src/types/<name>.d.ts if not installed\n await fs.mkdir(srcTypeDirPath, { recursive: true });\n await promisePool.run(() =>\n ignoreEnoentAsync(() =>\n fs.rename(\n path.join(libTypeDirPath, dirent.name, 'index.d.ts'),\n path.join(srcTypeDirPath, `${dirent.name}.d.ts`)\n )\n )\n );\n }\n }\n });\n}\n","import child_process, { SpawnSyncOptions } from 'node:child_process';\n\nexport function spawnSync(command: string, args: string[], cwd: string, retry = 0): void {\n do {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n console.log(`$ ${newCmd} ${newArgs.join(' ')} at ${options.cwd}`);\n const ret = child_process.spawnSync(newCmd, newArgs, options);\n if (ret.status === 0) break;\n } while (--retry >= 0);\n}\n\nexport function spawnSyncWithStringResult(command: string, args: string[], cwd: string): string {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n options.stdio = 'pipe';\n const proc = child_process.spawnSync(newCmd, newArgs, options);\n const error = proc.stderr.toString().trim();\n if (error) {\n console.error(`${newCmd} [${newArgs.map((s) => `\"${s}\"`)}] caused the following error:\\n ${error}`);\n }\n return proc.stdout.toString().trim();\n}\n\nexport function getSpawnSyncArgs(command: string, args: string[], cwd: string): [string, string[], SpawnSyncOptions] {\n const env = { ...process.env };\n // Remove berry from PATH\n if (env.PATH && env.BERRY_BIN_FOLDER) {\n env.PATH = env.PATH.replace(`${env.BERRY_BIN_FOLDER}:`, '');\n }\n\n if (env.ASDF_DIR) {\n args = ['-l', '-c', `. ${env.ASDF_DIR}/asdf.sh && ${command} ${args.join(' ')}`];\n command = 'bash';\n }\n return [\n command,\n args,\n {\n cwd,\n env,\n shell: false,\n stdio: 'inherit',\n },\n ];\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil.js';\nimport { convertVersionIntoNumber } from '../utils/version.js';\n\nexport async function generateVersionConfigs(config: PackageConfig): Promise<void> {\n return logger.function('generateVersionConfigs', async () => {\n await core(config);\n });\n}\n\nconst POETRY_VERSION = '1.3.1';\nconst PYTHON_VERSION = '3.9.16';\nconst JAVA_VERSION = 'adoptopenjdk-11.0.17+8';\n\nasync function core(config: PackageConfig): Promise<void> {\n if (!config.versionsText) return;\n\n const lines: string[] = [];\n for (const versionText of config.versionsText.trim().split('\\n')) {\n const line = versionText.trim();\n const [name, version] = line.split(/\\s+/);\n if (!name || !version) continue;\n if (name === 'nodejs') {\n await promisePool.run(() => fs.promises.writeFile(path.resolve(config.dirPath, '.node-version'), version + '\\n'));\n } else if (name === 'python') {\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(config.dirPath, '.python-version'), version + '\\n')\n );\n } else {\n lines.push(line);\n }\n }\n\n if (config.containingPoetryLock) {\n updateVersion(lines, 'poetry', POETRY_VERSION);\n // Don't update python in .python-version automatically\n if (!fs.existsSync(path.resolve(config.dirPath, '.python-version'))) {\n updateVersion(lines, 'python', PYTHON_VERSION, true);\n }\n }\n if (config.depending.firebase) {\n updateVersion(lines, 'java', JAVA_VERSION, true);\n }\n if (config.containingPackageJson) {\n const version = spawnSyncWithStringResult('npm', ['show', 'yarn', 'version'], config.dirPath);\n updateVersion(lines, 'yarn', version);\n }\n\n const toolVersionsPath = path.resolve(config.dirPath, '.tool-versions');\n await (lines.length > 0\n ? promisePool.run(() => fs.promises.writeFile(toolVersionsPath, lines.join('\\n') + '\\n'))\n : promisePool.run(() => fs.promises.rm(toolVersionsPath, { force: true })));\n await promisePool.promiseAll();\n spawnSync('asdf', ['plugin', 'update', '--all'], config.dirPath);\n spawnSync('asdf', ['install'], config.dirPath);\n}\n\nfunction updateVersion(lines: string[], toolName: string, newVersion: string, head = false): void {\n const index = lines.findIndex((l) => l.split(/\\s+/)[0] === toolName);\n const newLine = `${toolName} ${newVersion}`;\n if (index >= 0) {\n const [, version] = lines[index].split(/\\s+/);\n if (convertVersionIntoNumber(newVersion) > convertVersionIntoNumber(version)) {\n lines[index] = newLine;\n }\n } else {\n lines.splice(head ? 0 : lines.length, 0, newLine);\n }\n}\n","export const extensions = {\n codeWith2IndentSize: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'cts',\n 'mts',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'cpp',\n 'dart',\n 'htm',\n 'html',\n 'pu',\n 'puml',\n 'rb',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n codeWith4IndentSize: ['go', 'gradle', 'py'].sort(),\n codeWith8IndentSize: ['sh'].sort(),\n markdownLike: ['md'].sort(),\n eslint: ['cjs', 'mjs', 'js', 'cts', 'mts', 'ts', 'tsx', 'jsx'].sort(),\n prettier: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'cts',\n 'mts',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'css',\n 'htm',\n 'html',\n 'md',\n 'scss',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n};\n","import fsp from 'node:fs/promises';\n\nexport const fsUtil = {\n async readFileIgnoringError(filePath: string): Promise<string | undefined> {\n try {\n return await fsp.readFile(filePath, 'utf8');\n } catch {\n // do nothing\n }\n },\n async generateFile(filePath: string, content: string): Promise<void> {\n await fsp.writeFile(filePath, content);\n console.log(`Generated ${filePath}`);\n },\n};\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n${generateExtensions(extensions.codeWith2IndentSize)}\nindent_size = 2\nindent_style = space\n\n${generateExtensions(extensions.codeWith4IndentSize)}\nindent_size = 4\nindent_style = space\n\n${generateExtensions(extensions.codeWith8IndentSize)}\nindent_size = 8\nindent_style = space\n\n${generateExtensions(extensions.markdownLike)}\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n`;\n\nexport async function generateEditorconfig(config: PackageConfig): Promise<void> {\n return logger.function('generateEditorconfig', async () => {\n const filePath = path.resolve(config.dirPath, '.editorconfig');\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nfunction generateExtensions(extensions: string[]): string {\n return extensions.length > 1 ? `[*.{${extensions.join(',')}}]` : `[*.${extensions[0]}]`;\n}\n","import fs from 'node:fs';\n\nconst userContentHeader = '# Project-specific settings';\nconst userContentHeaderRegex = /# Project-specific settings[^\\n]*\\n/gm;\nconst separator = '# Generated by wbfy';\nconst separatorPrefix = '# Generated by ';\nconst defaultHeadUserContent = `${userContentHeader} (head)\n\n\n${separator}\n`;\nconst defaultTailUserContent = `\n${userContentHeader} (tail)\n`;\n\nexport const ignoreFileUtil = {\n separator,\n separatorPrefix,\n defaultHeadUserContent,\n defaultTailUserContent,\n async readGitignoreWithoutSeparators(filePath: string): Promise<string | undefined> {\n try {\n let content = await fs.promises.readFile(filePath, 'utf8');\n const lastHeaderIndex = getIndexOfTailUserContentHeader(content);\n if (lastHeaderIndex > 0) {\n content = content.slice(0, lastHeaderIndex - 1);\n }\n return (\n content\n .replace(userContentHeaderRegex, '')\n .replace(/# Generated by [^\\n]*\\n/gm, '')\n .replace(/\\r?\\n\\r?\\n(\\r?\\n)+/gm, '\\n\\n')\n .trim() + '\\n'\n );\n } catch {\n // do nothing\n }\n },\n getHeadUserContent(content: string): string {\n const index = content.indexOf(this.separatorPrefix);\n if (index >= 0) {\n return content\n .slice(0, content.indexOf('\\n', index) + 1)\n .replace(userContentHeaderRegex, `${userContentHeader} (head)\\n`);\n }\n return defaultHeadUserContent;\n },\n getTailUserContent(content: string): string | undefined {\n const lastHeaderIndex = getIndexOfTailUserContentHeader(content);\n if (lastHeaderIndex > 0) {\n return content.slice(lastHeaderIndex - 1);\n }\n return defaultTailUserContent;\n },\n async isBerryZeroInstallEnabled(filePath: string): Promise<boolean> {\n try {\n const content = await fs.promises.readFile(filePath, 'utf8');\n return content.includes('\\n!.yarn/cache');\n } catch {\n return false;\n }\n },\n};\n\nfunction getIndexOfTailUserContentHeader(content: string): number {\n const index = content.indexOf(userContentHeader);\n const lastIndex = content.lastIndexOf(userContentHeader);\n return lastIndex > index ? lastIndex : -1;\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst commonContent = `\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n`;\n\nexport async function generateEslintignore(config: PackageConfig): Promise<void> {\n return logger.function('generateEslintignore', async () => {\n const filePath = path.resolve(config.dirPath, '.eslintignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n const headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await ignoreFileUtil.readGitignoreWithoutSeparators(gitignoreFilePath)) || '';\n\n const newContent = headUserContent + commonContent + gitignoreContent + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import merge from 'deepmerge';\n\nexport function overwriteMerge(destinationArray: any[], sourceArray: any[]): any[] {\n return sourceArray;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function combineMerge(target: any[], source: any[], options: any): any[] {\n const destination = [...target];\n\n for (const [index, item] of source.entries()) {\n if (destination[index] === undefined) {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (!target.includes(item)) {\n destination.push(item);\n }\n }\n return destination;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateEslintrc(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateEslintrc', async () => {\n // TODO: support Blitz v2\n if (rootConfig.depending.blitz === '2') return;\n\n const bases = [];\n if (config.eslintBase) {\n bases.push(config.eslintBase);\n }\n if (config !== rootConfig) {\n bases.push('../../.eslintrc.json');\n }\n let newSettings: any = { root: true, extends: bases };\n\n const filePath = path.resolve(config.dirPath, '.eslintrc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent);\n if (oldSettings.extends) {\n oldSettings.extends = oldSettings.extends.filter(\n (ext: string) => !ext.startsWith('@willbooster/') && ext !== '../../.eslintrc.json'\n );\n }\n if (bases.length === 0) {\n oldSettings.extends = [];\n }\n const newExtends = newSettings.extends;\n newSettings.extends = oldSettings.extends;\n oldSettings.extends = newExtends;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n if (config.depending.blitz === '0') {\n addExtensionToHead(newSettings, 'blitz');\n } else if (config.depending.blitz === '2') {\n addExtensionToHead(newSettings, '@blitzjs/next/eslint');\n }\n } catch {\n // do nothing\n }\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nfunction addExtensionToHead(newSettings: any, extension: string): void {\n newSettings.extends = [extension, ...newSettings.extends.filter((e: string) => e !== extension)];\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `* text=auto\n\n*.vcproj text eol=crlf\n\n${[...extensions.codeWith2IndentSize, ...extensions.codeWith4IndentSize, ...extensions.markdownLike]\n .map((ext) => `*.${ext} text eol=lf`)\n .join('\\n')}\n`;\n\nexport async function generateGitattributes(config: PackageConfig): Promise<void> {\n return logger.function('generateGitattributes', async () => {\n const filePath = path.resolve(config.dirPath, '.gitattributes');\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { options } from '../options.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst defaultNames = ['windows', 'macos', 'linux', 'jetbrains', 'visualstudiocode', 'emacs', 'vim', 'yarn'];\n\nconst commonContent = `\n.devcontainer/\ndist/\ntemp/\nIcon[\\r]\n!.keep\n`;\n\nexport async function generateGitignore(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateGitignore', async () => {\n const filePath = path.resolve(config.dirPath, '.gitignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n let headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const names = [...defaultNames];\n if (config.containingGemfile) {\n names.push('ruby');\n }\n if (config.containingGoMod) {\n names.push('go');\n headUserContent += `${path.basename(config.dirPath)}\n`;\n }\n if (config.containingPackageJson) {\n names.push('node');\n }\n if (config.containingPomXml) {\n names.push('maven');\n headUserContent += `.idea/google-java-format.xml\n`;\n }\n if (config.containingPubspecYaml) {\n names.push('flutter', 'AndroidStudio', 'ruby');\n headUserContent += `.flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n`;\n }\n if (config.containingTemplateYaml) {\n headUserContent += `.aws-sam/\npackaged.yaml\n`;\n }\n // Because .venv should be ignored on root directory\n if (config.containingPoetryLock) {\n names.push('python');\n headUserContent += `.venv/\n`;\n }\n\n if (rootConfig.depending.blitz) {\n names.push('nextjs');\n headUserContent += `.blitz/\n.blitz**\n`;\n }\n if (rootConfig.depending.firebase || config.depending.firebase) {\n names.push('firebase');\n }\n if (rootConfig.depending.prisma) {\n headUserContent += `*.sqlite3\n*.sqlite3-journal\n`;\n }\n if (rootConfig.depending.playwright) {\n headUserContent += `test-results/\n`;\n }\n if (rootConfig.depending.reactNative || config.depending.reactNative) {\n names.push('reactnative');\n headUserContent += `google-services.json\nandroid/app/src/main/assets/\n`;\n }\n if (rootConfig.depending.storybook) {\n names.push('storybookjs');\n }\n\n let generated = '';\n for (const name of names) {\n let content = (await readCache(name)) ?? '';\n if (!content) {\n const url = `https://www.toptal.com/developers/gitignore/api/${name}`;\n const response = await fetch(url);\n const responseText = await response.text();\n if (responseText.includes('Attention Required!')) {\n console.error(`Failed to fetch ${url}`);\n return;\n }\n content = responseText.trim();\n await promisePool.run(() => writeCache(name, content));\n if (options.isVerbose) {\n console.info(`Fetched ${url}`);\n }\n }\n if (generated) generated += '\\n';\n generated += content + '\\n';\n }\n if (!(await ignoreFileUtil.isBerryZeroInstallEnabled(filePath))) {\n generated = generated.replace('!.yarn/cache', '# !.yarn/cache').replace('# .pnp.*', '.pnp.*');\n }\n if (config.containingPomXml || config.containingPubspecYaml) {\n generated = generated\n .replace(/^# .idea\\/artifacts$/gm, '.idea/artifacts')\n .replace(/^# .idea\\/compiler.xml$/gm, '.idea/compiler.xml')\n .replace(/^# .idea\\/jarRepositories.xml$/gm, '.idea/jarRepositories.xml')\n .replace(/^# .idea\\/modules.xml$/gm, '.idea/modules.xml')\n .replace(/^# .idea\\/*.iml$/gm, '.idea/*.iml')\n .replace(/^# .idea\\/modules$/gm, '.idea/modules')\n .replace(/^# *.iml$/gm, '*.iml')\n .replace(/^# *.ipr$/gm, '*.ipr');\n if (config.containingPubspecYaml) {\n generated = generated.replace(/^.idea\\/modules.xml$/gm, '# .idea/modules.xml');\n }\n }\n generated = generated.replace(/^.idea\\/?$/gm, '# .idea');\n if (rootConfig.depending.reactNative || config.depending.reactNative || config.containingPubspecYaml) {\n generated = generated.replace(/^(.idea\\/.+)$/gm, '$1\\nandroid/$1');\n }\n const newContent = headUserContent + generated + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nconst dirPath = path.join(os.homedir(), '.cache', 'wbfy', 'gitignore');\n\nasync function writeCache(name: string, content: string): Promise<void> {\n await fs.promises.mkdir(dirPath, { recursive: true });\n await fs.promises.writeFile(path.join(dirPath, name), content);\n}\n\nasync function readCache(name: string): Promise<string | undefined> {\n try {\n const stat = await fs.promises.stat(path.join(dirPath, name));\n if (Date.now() - stat.mtimeMs > 6 * 60 * 60 * 1000) {\n return;\n }\n return await fs.promises.readFile(path.join(dirPath, name), 'utf8');\n } catch {\n // do nothing\n }\n}\n","import { PackageConfig } from '../packageConfig.js';\n\nexport const EslintUtil = {\n getLintFixSuffix(config: PackageConfig): string {\n return config.containingJsxOrTsx ? ' --rule \"{ react-hooks/exhaustive-deps: 0 }\"' : '';\n },\n};\n","import { Octokit } from '@octokit/core';\n\nconst token =\n process.env.GH_BOT_PAT || process.env.PUBLIC_GH_BOT_PAT || process.env.GH_TOKEN || process.env.GITHUB_TOKEN;\nexport const hasGitHubToken = !!token;\nexport const octokit = new Octokit({\n auth: token,\n});\n\nclass GitHubUtil {\n getOrgAndName(urlOrFullName: string): [string, string] {\n const urlWithoutProtocol = urlOrFullName.split(':').at(-1);\n const names = urlWithoutProtocol?.split('/');\n const org = names?.at(-2) ?? '';\n const name = names?.at(-1)?.replace(/.git$/, '') ?? '';\n return [org, name];\n }\n}\n\nexport const gitHubUtil = new GitHubUtil();\n","import { PackageConfig } from '../packageConfig.js';\n\nconst srcDirectories = {\n node: ['src', 'tests', 'scripts'].sort(),\n blitz0: ['tests', 'scripts', 'app', 'db', 'integrations', 'mailers', 'test'].sort(),\n // We rename 'test' directory to 'tests'\n blitz2: ['src', 'tests', 'scripts', 'db', 'integrations', 'mailers'].sort(),\n};\n\nexport function getSrcDirs(config: PackageConfig): string[] {\n if (config.depending.blitz) {\n return config.depending.blitz === '0' ? srcDirectories.blitz0 : srcDirectories.blitz2;\n }\n return srcDirectories.node;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport { globby } from 'globby';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { EslintUtil } from '../utils/eslintUtil.js';\nimport { extensions } from '../utils/extensions.js';\nimport { gitHubUtil } from '../utils/githubUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync } from '../utils/spawnUtil.js';\nimport { getSrcDirs } from '../utils/srcDirectories.js';\n\nconst jsCommonDeps = [\n 'eslint',\n 'eslint-config-prettier',\n 'eslint-plugin-import',\n 'eslint-plugin-sort-class-members',\n 'eslint-plugin-sort-destructure-keys',\n 'eslint-plugin-unicorn',\n];\n\nconst tsCommonDeps = [\n ...jsCommonDeps,\n '@typescript-eslint/eslint-plugin',\n '@typescript-eslint/parser',\n 'eslint-import-resolver-typescript',\n];\n\nconst reactCommonDeps = ['eslint-plugin-react', 'eslint-plugin-react-hooks'];\n\nconst devDeps: { [prop: string]: string[] } = {\n '@willbooster/eslint-config-js': ['@willbooster/eslint-config-js', ...jsCommonDeps],\n '@willbooster/eslint-config-js-react': ['@willbooster/eslint-config-js-react', ...jsCommonDeps, ...reactCommonDeps],\n '@willbooster/eslint-config-ts': ['@willbooster/eslint-config-ts', ...tsCommonDeps],\n '@willbooster/eslint-config-ts-react': ['@willbooster/eslint-config-ts-react', ...tsCommonDeps, ...reactCommonDeps],\n '../../.eslintrc.json': [],\n};\n\nexport async function generatePackageJson(\n config: PackageConfig,\n rootConfig: PackageConfig,\n skipAddingDeps: boolean\n): Promise<void> {\n return logger.function('generatePackageJson', async () => {\n await core(config, rootConfig, skipAddingDeps);\n });\n}\n\nasync function core(config: PackageConfig, rootConfig: PackageConfig, skipAddingDeps: boolean): Promise<void> {\n const filePath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(filePath, 'utf8');\n const jsonObj = JSON.parse(jsonText);\n jsonObj.scripts = jsonObj.scripts || {};\n jsonObj.dependencies = jsonObj.dependencies || {};\n jsonObj.devDependencies = jsonObj.devDependencies || {};\n jsonObj.peerDependencies = jsonObj.peerDependencies || {};\n\n await removeDeprecatedStuff(jsonObj);\n\n if (jsonObj.name !== '@willbooster/prettier-config') {\n jsonObj.prettier = '@willbooster/prettier-config';\n }\n\n for (const scriptKey of Object.keys(jsonObj.scripts)) {\n // Fresh repo still requires 'yarn install'\n if (!jsonObj.scripts[scriptKey].includes('git clone')) {\n jsonObj.scripts[scriptKey] = jsonObj.scripts[scriptKey]\n .replace(/yarn\\s*&&\\s*/, '')\n .replace(/yarn\\s*install\\s*&&\\s*/, '');\n }\n }\n\n jsonObj.scripts = merge(jsonObj.scripts, generateScripts(config));\n jsonObj.scripts.prettify += await generatePrettierSuffix(config.dirPath);\n\n let dependencies: string[] = [];\n let devDependencies = ['lint-staged', 'prettier', 'sort-package-json', '@willbooster/prettier-config'];\n const poetryDependencies: string[] = [];\n\n if (config.root) {\n // To install the latest pinst\n devDependencies.push('husky', '@willbooster/renovate-config');\n if (config.publicRepo || config.referredByOtherRepo) {\n // https://typicode.github.io/husky/#/?id=install-1\n devDependencies.push('pinst');\n jsonObj.scripts['prepack'] = 'pinst --disable';\n jsonObj.scripts['postpack'] = 'pinst --enable';\n }\n if (config.depending.semanticRelease) {\n devDependencies.push('conventional-changelog-conventionalcommits');\n if (\n !jsonObj.devDependencies['semantic-release'] &&\n !jsonObj.devDependencies['multi-semantic-release'] &&\n !jsonObj.devDependencies['@qiwi/multi-semantic-release']\n ) {\n devDependencies.push('semantic-release');\n }\n jsonObj.version = '0.0.0-semantically-released';\n }\n if (config.containingSubPackageJsons) {\n jsonObj.workspaces = ['packages/*'];\n } else {\n delete jsonObj.workspaces;\n }\n }\n\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n devDependencies.push('eslint', 'micromatch');\n // TODO: not needed anymore?\n if (config.containingTypeScriptInPackages) {\n devDependencies.push('@typescript-eslint/parser');\n }\n }\n\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n devDependencies.push('typescript');\n }\n\n if (config.eslintBase) {\n devDependencies.push(...devDeps[config.eslintBase]);\n }\n\n if (config.willBoosterConfigs) {\n dependencies = dependencies.filter((dep) => !dep.includes('@willbooster/'));\n devDependencies = devDependencies.filter((dep) => !dep.includes('@willbooster/'));\n }\n\n if (!jsonObj.name) {\n jsonObj.name = path.basename(config.dirPath);\n }\n\n if (config.containingSubPackageJsons) {\n jsonObj.private = true;\n }\n if (!jsonObj.license) {\n jsonObj.license = 'UNLICENSED';\n }\n if (!jsonObj.private && jsonObj.license !== 'UNLICENSED' && rootConfig.publicRepo) {\n jsonObj.publishConfig ??= {};\n jsonObj.publishConfig.access ??= 'public';\n }\n const [owner] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (owner === 'WillBooster' || owner === 'WillBoosterLab') {\n jsonObj.author = 'WillBooster Inc.';\n }\n\n // https://github.com/semantic-release/semantic-release/issues/2323#issuecomment-1032341621\n if (config.depending.semanticRelease && config.release.npm) {\n if (config.esmPackage) {\n delete jsonObj.resolutions?.['npm/chalk'];\n } else {\n jsonObj.resolutions ||= {};\n jsonObj.resolutions['npm/chalk'] = '^4.1.2';\n }\n }\n\n if (!config.containingSubPackageJsons) {\n if (!config.containingJavaScript && !config.containingTypeScript) {\n delete jsonObj.scripts.lint;\n delete jsonObj.scripts['lint-fix'];\n jsonObj.scripts.cleanup = jsonObj.scripts.cleanup.replace(' && yarn lint-fix', '');\n } else {\n jsonObj.scripts['lint-fix'] += EslintUtil.getLintFixSuffix(config);\n }\n\n if (config.containingPubspecYaml) {\n jsonObj.scripts.lint = 'flutter analyze';\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n const dirs = ['lib', 'test', 'test_driver'].filter((dir) => fs.existsSync(path.resolve(config.dirPath, dir)));\n if (dirs.length > 0) {\n jsonObj.scripts['format-code'] = `flutter format $(find ${dirs.join(\n ' '\n )} -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)`;\n jsonObj.scripts.format += ` && yarn format-code`;\n }\n }\n\n if (config.containingPoetryLock) {\n if (jsonObj.scripts.postinstall === 'poetry install') {\n delete jsonObj.scripts.postinstall;\n }\n const pythonFiles = await globby('**/*.py', {\n cwd: config.dirPath,\n dot: true,\n gitignore: true,\n ignore: ['test-fixtures'],\n });\n const dirNameSet = new Set<string>();\n for (const pythonFile of pythonFiles) {\n const [first, second] = pythonFile.split(/[/\\\\]/);\n if (second) {\n dirNameSet.add(first);\n }\n }\n if (dirNameSet.size > 0) {\n const dirNamesStr = [...dirNameSet].join(' ');\n jsonObj.scripts[\n 'format-code'\n ] = `poetry run isort --profile black ${dirNamesStr} && poetry run black ${dirNamesStr}`;\n jsonObj.scripts.lint = `poetry run flake8 ${dirNamesStr}`;\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n jsonObj.scripts.format += ` && yarn format-code`;\n poetryDependencies.push('black', 'isort', 'flake8');\n }\n }\n\n if (config.repository) {\n jsonObj.repository = config.repository;\n }\n }\n\n if (config.depending.blitz) {\n if (config.depending.blitz === '0') {\n // These cause an error of eslint-plugin-import loading\n devDependencies = devDependencies.filter((dep) => !dep.includes('@typescript-eslint/'));\n // This causes eslint errors\n devDependencies = devDependencies.filter(\n (d) =>\n d !== 'eslint-plugin-react' &&\n d !== 'eslint-import-resolver-typescript' &&\n d !== 'eslint-plugin-import' &&\n d !== 'eslint-plugin-react-hooks'\n );\n }\n if (!jsonObj.scripts['gen-code']?.startsWith('blitz codegen')) {\n jsonObj.scripts['gen-code'] = 'blitz codegen';\n }\n } else if (config.depending.prisma && !jsonObj.scripts['gen-code']?.startsWith('prisma generate')) {\n jsonObj.scripts['gen-code'] = 'prisma generate';\n }\n if (Object.keys(jsonObj.dependencies).length === 0) {\n delete jsonObj.dependencies;\n }\n if (Object.keys(jsonObj.devDependencies).length === 0) {\n delete jsonObj.devDependencies;\n }\n if (Object.keys(jsonObj.peerDependencies).length === 0) {\n delete jsonObj.peerDependencies;\n }\n\n await fs.promises.writeFile(filePath, JSON.stringify(jsonObj));\n\n if (!skipAddingDeps) {\n dependencies = dependencies.filter((dep) => !jsonObj.devDependencies?.[dep]);\n if (dependencies.length > 0) {\n spawnSync('yarn', ['add', ...new Set(dependencies)], config.dirPath);\n }\n devDependencies = devDependencies.filter((dep) => !jsonObj.dependencies?.[dep]);\n if (devDependencies.length > 0) {\n spawnSync('yarn', ['add', '-D', ...new Set(devDependencies)], config.dirPath);\n }\n if (poetryDependencies.length > 0) {\n spawnSync('poetry', ['add', ...new Set(poetryDependencies)], config.dirPath);\n }\n }\n}\n\n// TODO: remove the following migration code in future\nasync function removeDeprecatedStuff(jsonObj: any): Promise<void> {\n if (jsonObj.author === 'WillBooster LLC') {\n jsonObj.author = 'WillBooster Inc.';\n }\n delete jsonObj.scripts['sort-package-json'];\n delete jsonObj.scripts['sort-all-package-json'];\n delete jsonObj.scripts['typecheck:codegen'];\n delete jsonObj.dependencies['tslib'];\n delete jsonObj.devDependencies['@willbooster/eslint-config'];\n delete jsonObj.devDependencies['@willbooster/eslint-config-react'];\n delete jsonObj.devDependencies['@willbooster/tsconfig'];\n delete jsonObj.devDependencies['eslint-import-resolver-node'];\n delete jsonObj.devDependencies['eslint-plugin-prettier'];\n delete jsonObj.devDependencies['lerna'];\n // To install the latest pinst\n delete jsonObj.devDependencies['pinst'];\n delete jsonObj.scripts['flutter-format'];\n delete jsonObj.scripts['format-flutter'];\n delete jsonObj.scripts['python-format'];\n delete jsonObj.scripts['format-python'];\n delete jsonObj.scripts['prettier'];\n for (const deps of Object.values(devDeps)) {\n for (const dep of deps) {\n delete jsonObj.devDependencies[dep];\n }\n }\n await promisePool.run(() => fs.promises.rm('lerna.json', { force: true }));\n}\n\nexport function generateScripts(config: PackageConfig): Record<string, string> {\n let scripts: Record<string, string> = {\n cleanup: 'yarn format && yarn lint-fix',\n format: `sort-package-json && yarn prettify`,\n lint: `eslint --color \"./{${getSrcDirs(config)}}/**/*.{${extensions.eslint.join(',')}}\"`,\n 'lint-fix': 'yarn lint --fix',\n prettify: `prettier --cache --color --write \"**/{.*/,}*.{${extensions.prettier.join(',')}}\" \"!**/test-fixtures/**\"`,\n typecheck: 'tsc --noEmit --Pretty',\n };\n if (config.containingSubPackageJsons) {\n scripts = merge(\n { ...scripts },\n {\n format: `sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format`,\n lint: `yarn workspaces foreach --parallel --verbose run lint`,\n 'lint-fix': 'yarn workspaces foreach --parallel --verbose run lint-fix',\n prettify: `prettier --cache --color --write \"**/{.*/,}*.{${extensions.prettier.join(\n ','\n )}}\" \"!**/packages/**\" \"!**/test-fixtures/**\"`,\n test: 'yarn workspaces foreach --verbose run test',\n typecheck: 'yarn workspaces foreach --parallel --verbose run typecheck',\n }\n );\n if (!config.containingTypeScript && !config.containingTypeScriptInPackages) {\n delete scripts.typecheck;\n }\n } else {\n if (config.depending.blitz) {\n scripts.typecheck += ' || yarn run typecheck/warn';\n scripts['typecheck/warn'] = `echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1`;\n scripts['typecheck:gen-code'] = 'yarn gen-code && tsc --noEmit --Pretty';\n }\n if (!config.containingTypeScript && !config.containingTypeScriptInPackages) {\n delete scripts.typecheck;\n }\n if (config.depending.pyright) {\n scripts.typecheck = scripts.typecheck ? `${scripts.typecheck} && ` : '';\n scripts.typecheck += 'pyright';\n }\n }\n return scripts;\n}\n\nasync function generatePrettierSuffix(dirPath: string): Promise<string> {\n const filePath = path.resolve(dirPath, '.prettierignore');\n const existingContent = await fs.promises.readFile(filePath, 'utf8');\n const index = existingContent.indexOf(ignoreFileUtil.separatorPrefix);\n if (index < 0) return '';\n\n const originalContent = existingContent.slice(0, index);\n const lines = originalContent\n .split('\\n')\n .map((line) => {\n const newLine = line.trim();\n return newLine.endsWith('/') ? newLine.slice(0, -1) : newLine;\n })\n .filter((l) => l && !l.startsWith('#') && !l.includes('/'));\n\n return lines.map((line) => ` \"!**/${line}/**\"`).join('');\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync } from '../utils/spawnUtil.js';\n\nimport { generateScripts } from './packageJson.js';\n\nconst DEFAULT_COMMAND = 'npm test';\n\nconst settings = {\n preCommit: 'node node_modules/.bin/lint-staged',\n prePush: `yarn typecheck`,\n prePushForLab: `\nif [ $(git branch --show-current) = \"main\" ] && [ $(git config user.email) != \"exkazuu@gmail.com\" ]; then\n echo \"************************************************\"\n echo \"*** Don't push main branch directly. Use PR! ***\"\n echo \"************************************************\"\n exit 1\nfi\n\nyarn typecheck\n`.trim(),\n postMerge: `\nchanged_files=\"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\"\n\nrun_if_changed() {\n if echo \"$changed_files\" | grep --quiet -E \"$1\"; then\n eval \"$2\"\n fi\n}\n`.trim(),\n};\n\nexport async function generateHuskyrc(config: PackageConfig): Promise<void> {\n return logger.function('generateHuskyrc', async () => {\n await core(config);\n });\n}\n\nasync function core(config: PackageConfig): Promise<void> {\n const packageJsonPath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(packageJsonPath, 'utf8');\n const packageJson = JSON.parse(jsonText);\n packageJson.scripts ||= {};\n delete packageJson.scripts['postinstall'];\n delete packageJson.scripts['postpublish'];\n delete packageJson.scripts['prepare'];\n delete packageJson.scripts['prepublishOnly'];\n delete packageJson.scripts['prepack'];\n delete packageJson.scripts['postpack'];\n\n const dirPath = path.resolve(config.dirPath, '.husky');\n await Promise.all([\n fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, undefined, 2)),\n fs.promises.rm(dirPath, { force: true, recursive: true }),\n ]);\n spawnSync('yarn', ['dlx', 'husky-init', '--yarn2'], config.dirPath);\n\n const preCommitFilePath = path.resolve(dirPath, 'pre-commit');\n const content = await fs.promises.readFile(preCommitFilePath, 'utf8');\n\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.huskyrc.json'), { force: true }));\n await promisePool.run(() =>\n fs.promises.writeFile(preCommitFilePath, content.replace(DEFAULT_COMMAND, settings.preCommit))\n );\n\n const { typecheck } = generateScripts(config);\n if (typecheck) {\n let prePush = config.repository?.startsWith('github:WillBoosterLab/') ? settings.prePushForLab : settings.prePush;\n prePush = prePush.replace(\n 'yarn typecheck',\n typecheck.replace('tsc', 'node node_modules/.bin/tsc').replace('pyright', 'node node_modules/.bin/pyright')\n );\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'pre-push'), content.replace(DEFAULT_COMMAND, prePush), {\n mode: 0o755,\n })\n );\n }\n\n const postMergeCommands: string[] = [];\n if (config.versionsText) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf plugin update --all\"');\n }\n // Pythonがないとインストールできない処理系が存在するため、強制的に最初にインストールする。\n if (config.versionsText?.includes('python ')) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf install python\"');\n }\n if (config.versionsText) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf install\"');\n }\n postMergeCommands.push('run_if_changed \"package\\\\.json\" \"yarn\"');\n if (config.containingPoetryLock) {\n postMergeCommands.push('run_if_changed \"poetry\\\\.lock\" \"poetry install\"');\n }\n if (config.depending.blitz) {\n postMergeCommands.push(\n 'run_if_changed \"db/schema.prisma\" \"node node_modules/.bin/blitz prisma migrate deploy\"',\n 'run_if_changed \"db/schema.prisma\" \"node node_modules/.bin/blitz blitz codegen\"'\n );\n } else if (config.depending.prisma) {\n postMergeCommands.push(\n 'run_if_changed \"prisma/schema.prisma\" \"node node_modules/.bin/prisma migrate deploy\"',\n 'run_if_changed \"prisma/schema.prisma\" \"node node_modules/.bin/prisma generate\"'\n );\n }\n const postMergeCommand = content.replace(DEFAULT_COMMAND, `${settings.postMerge}\\n\\n${postMergeCommands.join('\\n')}`);\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'post-merge'), postMergeCommand, {\n mode: 0o755,\n })\n );\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"ProjectTasksOptions\">\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"ts\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.ts)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"tsx\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.tsx)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"js\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.js)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"json\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.json)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"md\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.md)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"html\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.html)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n`;\n\nexport async function generateIdeaSettings(config: PackageConfig): Promise<void> {\n return logger.function('generateIdeaSettings', async () => {\n const dirPath = path.resolve(config.dirPath, '.idea');\n if (fs.existsSync(dirPath)) {\n const filePath = path.resolve(dirPath, 'watcherTasks.xml');\n await (config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages ||\n (config.containingPackageJson &&\n !config.containingPubspecYaml &&\n !config.containingGemfile &&\n !config.containingGoMod &&\n !config.containingPomXml)\n ? promisePool.run(() => fsUtil.generateFile(filePath, newContent))\n : promisePool.run(() => fs.promises.rm(filePath, { force: true })));\n }\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { EslintUtil } from '../utils/eslintUtil.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { getSrcDirs } from '../utils/srcDirectories.js';\n\nexport async function generateLintstagedrc(config: PackageConfig): Promise<void> {\n return logger.function('generateLintstagedrc', async () => {\n await core(config);\n });\n}\n\nasync function core(config: PackageConfig): Promise<void> {\n const packagePrefix = config.root ? 'node node_modules/.bin/' : 'node ../../node_modules/.bin/';\n const lines: string[] = [];\n if (config.containingJavaScript || config.containingTypeScript) {\n const eslint = `\n '${getEslintKey(config)}': [${JSON.stringify(\n `${packagePrefix}eslint --fix${EslintUtil.getLintFixSuffix(config)}`\n )}, '${packagePrefix}prettier --cache --write'],`;\n lines.push(eslint);\n }\n const packagesFilter = config.root ? \" && !file.includes('/packages/')\" : '';\n lines.push(`\n './**/*.{${extensions.prettier.join(',')}}': files => {\n ${config.containingJavaScript || config.containingTypeScript ? getEslintFilterForPrettier(config) : ''}\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')${packagesFilter});\n if (filteredFiles.length === 0) return [];\n const commands = [\\`${packagePrefix}prettier --cache --write \\${filteredFiles.join(' ')}\\`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('${packagePrefix}sort-package-json');\n }\n return commands;\n },`);\n if (config.containingPubspecYaml) {\n lines.push(`\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [\\`flutter format \\${filteredFiles.join(' ')}\\`];\n },`);\n }\n if (config.containingPoetryLock) {\n lines.push(`\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],`);\n }\n\n const newContent = `${\n config.containingJavaScript || config.containingTypeScript ? \"const micromatch = require('micromatch');\" : ''\n }\n\nmodule.exports = {${lines.join('')}\n};\n`;\n\n const filePath = path.resolve(config.dirPath, '.lintstagedrc.cjs');\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.js'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.json'), { force: true }));\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n}\n\nfunction getEslintKey(config: PackageConfig): string {\n const dirs = getSrcDirs(config);\n return `./{${dirs.join(',')}}/**/*.{${extensions.eslint.join(',')}}`;\n}\n\nfunction getEslintFilterForPrettier(config: PackageConfig): string {\n return `files = micromatch.not(files, '${getEslintKey(config)}');`;\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst commonContent = `\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n`;\n\nexport async function generatePrettierignore(config: PackageConfig): Promise<void> {\n return logger.function('generatePrettierignore', async () => {\n const filePath = path.resolve(config.dirPath, '.prettierignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n const headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await ignoreFileUtil.readGitignoreWithoutSeparators(gitignoreFilePath)) || '';\n\n let additionalContent = '';\n if (config.containingPubspecYaml) {\n additionalContent = `\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n`;\n }\n\n const newContent = headUserContent + commonContent + additionalContent + gitignoreContent + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst jsonObj = {\n venvPath: '.',\n venv: '.venv',\n};\n\nexport async function generatePyrightConfigJson(config: PackageConfig): Promise<void> {\n return logger.function('generatePyrightConfigJson', async () => {\n let newSettings: unknown = cloneDeep(jsonObj);\n const filePath = path.resolve(config.dirPath, 'pyrightconfig.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent);\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch {\n // do nothing\n }\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateReadme(config: PackageConfig): Promise<void> {\n return logger.function('generateReadme', async () => {\n const filePath = path.resolve(config.dirPath, 'README.md');\n let newContent = await fs.promises.readFile(filePath, 'utf8');\n\n newContent = insertBadge(config, newContent, semanticReleaseBadge, '.releaserc.json');\n\n const repository = config.repository?.slice(config.repository?.indexOf(':') + 1);\n const fileNames = fs.readdirSync(`${config.dirPath}/.github/workflows`);\n for (const fileName of fileNames) {\n if (!fileName.startsWith('test') && !fileName.startsWith('deploy')) continue;\n\n let badgeName = fileName;\n badgeName = badgeName.charAt(0).toUpperCase() + badgeName.slice(1, badgeName.indexOf('.'));\n badgeName = badgeName.replace('-', ' ');\n const badge = `[](https://github.com/${repository}/actions/workflows/${fileName})`;\n newContent = insertBadge(config, newContent, badge, `.github/workflows/${fileName}`);\n }\n\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nconst semanticReleaseBadge =\n '[](https://github.com/semantic-release/semantic-release)';\n\nfunction insertBadge(config: PackageConfig, newContent: string, badge: string, fileName: string): string {\n if (!fs.existsSync(path.resolve(config.dirPath, fileName))) {\n return newContent;\n }\n\n // 既にbadgeがある場合は削除\n const badgePos = newContent.indexOf(badge);\n if (badgePos >= 0) {\n newContent = newContent.slice(0, badgePos) + newContent.slice(badgePos + badge.length);\n }\n let inserted = false;\n for (let i = 0; i < newContent.length; i++) {\n if (newContent[i] === '\\n') {\n inserted = true;\n newContent = `${newContent.slice(0, i + 1)}${badge}\\n${newContent.slice(i + 1)}`;\n break;\n }\n }\n if (!inserted) newContent = `${newContent}\\n${badge}\\n`;\n return newContent;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateReleaserc(rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateReleaserc', async () => {\n const filePath = path.resolve(rootConfig.dirPath, '.releaserc.json');\n try {\n const settings = JSON.parse(await fs.promises.readFile(filePath, 'utf8'));\n const plugins = settings?.plugins || [];\n for (let i = 0; i < plugins.length; i++) {\n const plugin = Array.isArray(plugins[i]) ? plugins[i][0] : plugins[i];\n const oldConfig = (Array.isArray(plugins[i]) && plugins[i][1]) || {};\n if (plugin === '@semantic-release/commit-analyzer') {\n plugins[i] = [\n '@semantic-release/commit-analyzer',\n merge.all(\n [\n oldConfig,\n {\n preset: 'conventionalcommits',\n },\n ],\n { arrayMerge: overwriteMerge }\n ),\n ];\n } else if (plugin === '@semantic-release/github') {\n plugins[i] = [\n '@semantic-release/github',\n merge.all(\n [\n oldConfig,\n {\n successComment: false,\n labels: ['r: semantic-release'],\n releasedLabels: ['released :bookmark:'],\n },\n ],\n { arrayMerge: overwriteMerge }\n ),\n ];\n }\n }\n const newContent = JSON.stringify(settings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n } catch {\n // do nothing\n }\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst jsonObj = {\n extends: ['@willbooster'],\n};\n\nexport async function generateRenovateJson(config: PackageConfig): Promise<void> {\n return logger.function('generateRenovateJson', async () => {\n let newSettings: any = cloneDeep(jsonObj);\n const filePath = path.resolve(config.dirPath, '.renovaterc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent) as any;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch {\n // do nothing\n }\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.dependabot'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, 'renovate.json'), { force: true }));\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","export function sortKeys<T extends Record<string, unknown>>(obj: T): T {\n const keyAndValues = Object.entries(obj).sort(([key1], [key2]) => key1.localeCompare(key2));\n for (const [key, value] of keyAndValues) {\n delete obj[key];\n (obj as Record<string, unknown>)[key] = value;\n }\n return obj;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\nimport { TsConfigJson } from 'type-fest';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { sortKeys } from '../utils/objectUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst rootJsonObj = {\n compilerOptions: {\n target: 'ESNext',\n module: 'ESNext',\n moduleResolution: 'Node',\n jsx: 'react-jsx',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n declaration: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n typeRoots: ['./node_modules/@types', './@types'],\n },\n include: [\n 'src/**/*',\n 'tests/**/*',\n 'scripts/**/*',\n 'packages/*/src/**/*',\n 'packages/*/tests/**/*',\n 'packages/*/scripts/**/*',\n ],\n};\n\nconst subJsonObj = {\n compilerOptions: {\n target: 'ESNext',\n module: 'ESNext',\n moduleResolution: 'Node',\n jsx: 'react-jsx',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n declaration: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n typeRoots: ['../../node_modules/@types', '../../@types', './@types'],\n },\n include: ['src/**/*', 'tests/**/*', 'scripts/**/*'],\n};\n\nexport async function generateTsconfig(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateTsconfig', async () => {\n if (rootConfig.depending.blitz) return;\n\n let newSettings = cloneDeep(config.root ? rootJsonObj : subJsonObj) as TsConfigJson;\n if (!config.containingJsxOrTsx && !config.containingJsxOrTsxInPackages) {\n delete newSettings.compilerOptions?.jsx;\n }\n if (config.root && !config.containingSubPackageJsons) {\n newSettings.include = newSettings.include?.filter((dirPath: string) => !dirPath.startsWith('packages/*/'));\n }\n if (config.esmPackage) {\n newSettings.compilerOptions = { ...newSettings.compilerOptions, moduleResolution: 'NodeNext' };\n }\n\n const filePath = path.resolve(config.dirPath, 'tsconfig.json');\n try {\n const existingContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(existingContent) as TsConfigJson;\n if (oldSettings.extends === './node_modules/@willbooster/tsconfig/tsconfig.json') {\n delete oldSettings.extends;\n }\n // Don't modify \"target\", \"module\" and \"moduleResolution\".\n delete newSettings.compilerOptions?.target;\n delete newSettings.compilerOptions?.module;\n delete newSettings.compilerOptions?.moduleResolution;\n if (oldSettings.compilerOptions?.jsx) {\n delete newSettings.compilerOptions?.jsx;\n }\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n newSettings.include = newSettings.include?.filter(\n (dirPath: string) => !dirPath.includes('@types') && !dirPath.includes('__tests__')\n );\n } catch {\n // do nothing\n }\n sortKeys(newSettings.compilerOptions ?? {});\n newSettings.include?.sort();\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","/* eslint-disable unicorn/no-null */\n\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport yaml from 'js-yaml';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { sortKeys } from '../utils/objectUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst workflows = {\n test: {\n name: 'Test',\n on: {\n pull_request: null,\n push: {\n branches: ['main', 'wbfy', 'renovate/**'],\n },\n },\n jobs: {\n test: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/test.yml@main',\n },\n },\n },\n release: {\n name: 'Release',\n on: {\n push: {\n branches: [],\n },\n },\n jobs: {\n release: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/release.yml@main',\n },\n },\n },\n wbfy: {\n name: 'Willboosterify',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n wbfy: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main',\n },\n },\n },\n 'wbfy-merge': {\n name: 'Merge wbfy',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n 'wbfy-merge': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main',\n },\n },\n },\n 'semantic-pr': {\n name: 'Lint PR title',\n on: {\n pull_request_target: {\n types: ['opened', 'edited', 'synchronize'],\n },\n },\n jobs: {\n 'semantic-pr': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main',\n },\n },\n },\n 'notify-ready': {\n name: 'Notify ready',\n on: {\n issues: {\n types: ['labeled'],\n },\n },\n jobs: {\n 'notify-ready': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main',\n secrets: {\n DISCORD_WEBHOOK_URL: '${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}',\n },\n },\n },\n },\n 'close-comment': {\n name: 'Add close comment',\n on: {\n pull_request: {\n types: ['opened'],\n },\n },\n jobs: {\n 'close-comment': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main',\n },\n },\n },\n 'add-issue-to-project': {\n name: 'Add issue to github project',\n on: {\n issues: {\n types: ['labeled'],\n },\n },\n jobs: {\n 'add-issue-to-project': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main',\n secrets: {\n GH_PROJECT_URL: '${{ secrets.GH_PROJECT_URL }}',\n },\n },\n },\n },\n} as Record<KnownKind, any>;\n\ntype KnownKind =\n | 'test'\n | 'release'\n | 'sync'\n | 'wbfy'\n | 'wbfy-merge'\n | 'semantic-pr'\n | 'notify-ready'\n | 'close-comment'\n | 'add-issue-to-project';\n\nexport async function generateWorkflows(rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateWorkflow', async () => {\n const workflowsPath = path.resolve(rootConfig.dirPath, '.github', 'workflows');\n await fs.promises.mkdir(workflowsPath, { recursive: true });\n\n // Remove config of semantic pull request\n const semanticYmlPath = path.resolve(rootConfig.dirPath, '.github', 'semantic.yml');\n await promisePool.run(() => fs.promises.rm(semanticYmlPath, { force: true, recursive: true }));\n\n const entries = await fs.promises.readdir(workflowsPath, { withFileTypes: true });\n const fileNames = entries\n .filter((dirent) => dirent.isFile() && dirent.name.endsWith('.yml'))\n .map((dirent) => dirent.name);\n if (rootConfig.depending.semanticRelease) {\n fileNames.push('release.yml');\n }\n if (rootConfig.publicRepo || rootConfig.repository?.startsWith('github:WillBoosterLab/')) {\n fileNames.push('notify-ready.yml');\n }\n fileNames.push(\n 'test.yml',\n 'wbfy.yml',\n 'wbfy-merge.yml',\n 'semantic-pr.yml',\n 'close-comment.yml',\n 'add-issue-to-project.yml'\n );\n\n for (const fileName of fileNames) {\n // 実際はKnownKind以外の値も代入されることに注意\n const kind = path.basename(fileName, '.yml') as KnownKind;\n await promisePool.run(() => writeWorkflowYaml(rootConfig, workflowsPath, kind));\n }\n });\n}\n\nasync function writeWorkflowYaml(config: PackageConfig, workflowsPath: string, kind: KnownKind): Promise<void> {\n let newSettings = cloneDeep(workflows[kind] || {});\n const filePath = path.join(workflowsPath, `${kind}.yml`);\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = yaml.load(oldContent);\n if (kind === 'wbfy' || kind === 'wbfy-merge') {\n console.log('writeWorkflowYaml:', kind);\n console.dir(oldSettings, { depth: null });\n }\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n if (kind === 'wbfy' || kind === 'wbfy-merge') {\n console.dir(newSettings, { depth: null });\n }\n } catch {\n // do nothing\n }\n for (const job of Object.values(newSettings.jobs) as any[]) {\n // Ignore non-reusable workflows\n if (!job.uses?.includes?.('/reusable-workflows/')) return;\n\n normalizeJob(config, job, kind);\n }\n\n switch (kind) {\n case 'release': {\n if (newSettings.on.schedule) {\n delete newSettings.on.push;\n } else if (config.release.branches.length > 0) {\n newSettings.on.push.branches = config.release.branches;\n } else {\n // Don't use release.yml if release branch is not specified\n await fs.promises.rm(path.join(workflowsPath, 'release.yml'), { force: true });\n return;\n }\n break;\n }\n case 'wbfy': {\n setSchedule(newSettings, 20, 24);\n break;\n }\n case 'wbfy-merge': {\n setSchedule(newSettings, 1, 4);\n break;\n }\n // No default\n }\n migrateWorkflow(newSettings);\n await writeYaml(newSettings, filePath);\n\n if (kind === 'release') {\n await fs.promises.rm(path.join(workflowsPath, 'semantic-release.yml'), { force: true });\n } else if (kind === 'sync') {\n await fs.promises.rm(path.join(workflowsPath, 'sync-init.yml'), { force: true });\n if (!newSettings.jobs.sync) return;\n\n newSettings.jobs['sync-force'] = newSettings.jobs.sync;\n const params = newSettings.jobs.sync.with.sync_params_without_dest;\n if (!params) return;\n\n newSettings.jobs.sync.with.sync_params_without_dest = `--force ${params}`;\n newSettings.name = 'Force to Sync';\n newSettings.on = { workflow_dispatch: null };\n delete newSettings.jobs.sync;\n await writeYaml(newSettings, path.join(workflowsPath, 'sync-force.yml'));\n }\n}\n\nfunction normalizeJob(config: PackageConfig, job: any, kind: KnownKind): void {\n job.with ||= {};\n job.secrets ||= {};\n\n if (\n kind === 'test' ||\n kind === 'release' ||\n kind === 'wbfy' ||\n kind === 'wbfy-merge' ||\n kind === 'add-issue-to-project'\n ) {\n job.secrets['GH_TOKEN'] = config.publicRepo ? '${{ secrets.PUBLIC_GH_BOT_PAT }}' : '${{ secrets.GH_BOT_PAT }}';\n }\n if (config.release.npm && (kind === 'release' || kind === 'test')) {\n job.secrets['NPM_TOKEN'] = '${{ secrets.NPM_TOKEN }}';\n }\n if (job.secrets['FIREBASE_TOKEN']) {\n job.secrets['GCP_SA_KEY_JSON_FOR_FIREBASE'] = '${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}';\n delete job.secrets['FIREBASE_TOKEN'];\n }\n if (\n (job.secrets['DISCORD_WEBHOOK_URL'] && (kind === 'release' || kind.startsWith('deploy'))) ||\n (job.with.server_url && kind.startsWith('deploy'))\n ) {\n job.secrets['DISCORD_WEBHOOK_URL'] = '${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}';\n }\n\n if (kind === 'sync') {\n const params = job.with?.sync_params_without_dest;\n if (params) {\n job.with.sync_params_without_dest = params.replace('sync ', '');\n }\n }\n\n if (config.repository?.startsWith('github:WillBooster/')) {\n job.uses = job.uses.replace('WillBoosterLab/', 'WillBooster/');\n } else if (config.repository?.startsWith('github:WillBoosterLab/')) {\n job.uses = job.uses.replace('WillBooster/', 'WillBoosterLab/');\n }\n\n // Remove deprecated parameters\n migrateJob(job);\n if (job.with['dot_env_path'] === '.env') {\n delete job.with['dot_env_path'];\n }\n\n if (config.containingDockerfile && kind.startsWith('deploy')) {\n job.with['cpu_arch'] = 'X64';\n }\n // Because github.event.repository.private is always true if job is scheduled\n if (kind === 'release' || kind === 'test' || kind === 'wbfy' || kind === 'wbfy-merge' || kind.startsWith('deploy')) {\n if (config.publicRepo) {\n job.with['github_hosted_runner'] = true;\n }\n } else {\n delete job.with['github_hosted_runner'];\n }\n\n if (Object.keys(job.with).length > 0) {\n sortKeys(job.with);\n } else {\n delete job.with;\n }\n if (Object.keys(job.secrets).length > 0) {\n // Move secrets prop after with prop\n const newSecrets = sortKeys(job.secrets);\n delete job.secrets;\n job.secrets = newSecrets;\n } else {\n delete job.secrets;\n }\n}\n\nfunction setSchedule(newSettings: any, inclusiveMinHourJst: number, exclusiveMaxHourJst: number): void {\n const [minuteUtc, hourUtc] = ((newSettings.on.schedule?.[0]?.cron as string) ?? '').split(' ').map(Number);\n if (minuteUtc !== 0 && Number.isInteger(hourUtc)) {\n const hourJst = (hourUtc + 9) % 24;\n const inRange =\n inclusiveMinHourJst < exclusiveMaxHourJst\n ? inclusiveMinHourJst <= hourJst && hourJst < exclusiveMaxHourJst\n : inclusiveMinHourJst <= hourJst || hourJst < exclusiveMaxHourJst;\n if (inRange) return;\n console.log(\n 'setSchedule:',\n newSettings,\n minuteUtc,\n hourUtc,\n inRange,\n hourJst,\n inclusiveMinHourJst,\n exclusiveMaxHourJst\n );\n } else {\n console.log('setSchedule:', newSettings, minuteUtc, hourUtc);\n }\n\n const minJst = 1 + Math.floor(Math.random() * 59);\n const hourJst = inclusiveMinHourJst + Math.floor(Math.random() * (exclusiveMaxHourJst - inclusiveMinHourJst));\n const cron = `${minJst} ${(hourJst - 9 + 24) % 24} * * *`;\n newSettings.on.schedule = [{ cron }];\n}\n\nasync function writeYaml(newSettings: any, filePath: string): Promise<void> {\n const yamlText = yaml.dump(newSettings, {\n lineWidth: -1,\n noCompatMode: true,\n styles: {\n '!!null': 'empty',\n },\n });\n await fs.promises.writeFile(filePath, yamlText);\n}\n\nfunction migrateWorkflow(newSettings: any): void {\n delete newSettings.jobs['add-to-project'];\n}\n\nfunction migrateJob(job: any): void {\n delete job.with['non_self_hosted'];\n delete job.with['notify_discord'];\n delete job.with['require_fly'];\n delete job.with['require_gcloud'];\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport yaml from 'js-yaml';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil.js';\n\nexport async function generateYarnrcYml(config: PackageConfig): Promise<void> {\n return logger.function('generateYarnrcYml', async () => {\n const currentVersion = spawnSyncWithStringResult('yarn', ['--version'], config.dirPath);\n const latestVersion = getLatestVersion('@yarnpkg/cli', config.dirPath);\n if (getMajorNumber(currentVersion) <= getMajorNumber(latestVersion) && currentVersion !== latestVersion) {\n spawnSync('yarn', ['set', 'version', latestVersion], config.dirPath, 1);\n }\n\n const releasesPath = path.join(config.dirPath, '.yarn', 'releases');\n await fs.promises.mkdir(releasesPath, { recursive: true });\n for (const file of await fs.promises.readdir(releasesPath)) {\n if (file.startsWith('yarn-') && !file.startsWith(`yarn-${latestVersion}.`)) {\n await promisePool.run(() => fs.promises.rm(path.join(releasesPath, file)));\n console.log('Removed', path.join(releasesPath, file));\n }\n }\n\n const yarnrcPath = path.resolve(config.dirPath, '.yarnrc');\n await promisePool.run(() => fs.promises.rm(yarnrcPath, { force: true }));\n\n const yarnrcYmlPath = path.resolve(config.dirPath, '.yarnrc.yml');\n const settings = yaml.load(await fs.promises.readFile(yarnrcYmlPath, 'utf8')) as any;\n settings.defaultSemverRangePrefix = '';\n settings.nodeLinker = 'node-modules';\n settings.nmMode = 'hardlinks-global';\n // c.f. https://github.com/yarnpkg/berry/pull/4698\n settings.enableGlobalCache = true;\n const originalLength = settings.plugins?.length ?? 0;\n settings.plugins = settings.plugins?.filter((p: any) => p.path !== '.yarn/plugins/undefined.cjs') ?? [];\n if (settings.plugins.length !== originalLength) {\n const pluginPath = path.resolve(config.dirPath, '.yarnrc', 'undefined.cjs');\n await promisePool.run(() => fs.promises.rm(pluginPath, { force: true }));\n }\n if (settings.plugins.length === 0) {\n delete settings.plugins;\n }\n await fs.promises.writeFile(yarnrcYmlPath, yaml.dump(settings, { lineWidth: -1 }));\n\n const plugins = (settings.plugins ?? []).map((p: any) => p.spec);\n const requireTypeScript = config.containingTypeScript || config.containingTypeScriptInPackages;\n importOrRemovePlugin(config, plugins, requireTypeScript, '@yarnpkg/plugin-typescript');\n importOrRemovePlugin(config, plugins, config.containingSubPackageJsons, '@yarnpkg/plugin-workspace-tools');\n spawnSync('yarn', ['dlx', 'yarn-plugin-auto-install'], config.dirPath);\n });\n}\n\nexport function getLatestVersion(packageName: string, dirPath: string): string {\n const versionsJson = spawnSyncWithStringResult('npm', ['show', packageName, 'versions', '--json'], dirPath);\n const versions = JSON.parse(versionsJson) as string[];\n return versions[versions.length - 1];\n}\n\nfunction importOrRemovePlugin(config: PackageConfig, plugins: string[], requirePlugin: boolean, plugin: string): void {\n if (requirePlugin !== plugins.includes(plugin)) {\n spawnSync('yarn', ['plugin', requirePlugin ? 'import' : 'remove', plugin], config.dirPath);\n }\n}\n\nfunction getMajorNumber(version: string): number {\n const [major] = version.split('.');\n return Number(major);\n}\n","import { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { gitHubUtil, hasGitHubToken, octokit } from '../utils/githubUtil.js';\n\nexport async function setupLabels(config: PackageConfig): Promise<void> {\n return logger.function('setupLabels', async () => {\n if (!hasGitHubToken) return;\n\n const [owner, repo] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (!owner || !repo) return;\n if (owner !== 'WillBooster' && owner !== 'WillBoosterLab') return;\n\n try {\n await setupLabel(owner, repo, 'd1: x-easy :hedgehog:', 'EDE9FE');\n await setupLabel(owner, repo, 'd2: easy :rabbit2:', 'DDD6FE');\n await setupLabel(owner, repo, 'd3: medium :ox:', 'C4B5FD');\n await setupLabel(owner, repo, 'd4: hard :squid:', 'A78BFA');\n await setupLabel(owner, repo, 'd5: x-hard :whale2:', '8B5CF6');\n await setupLabel(owner, repo, 'p1: critical :fire::fire::fire:', 'EF4444');\n await setupLabel(owner, repo, 'p2: urgent :fire::fire:', 'F87171');\n await setupLabel(owner, repo, 'p3: important :fire:', 'FCA5A5');\n await setupLabel(owner, repo, 'p4: nice to have :droplet:', 'FECACA');\n await setupLabel(owner, repo, 'r: blitz', '5300bc');\n await setupLabel(owner, repo, 'r: firebase', 'ffca28');\n await setupLabel(owner, repo, 'r: prisma', '0c344b');\n await setupLabel(owner, repo, 'r: react', '61dafb');\n await setupLabel(owner, repo, 'r: svelte', 'ff3e00');\n await setupLabel(owner, repo, 'r: semantic-release', '494949');\n await setupLabel(owner, repo, 'ready :rocket:', '22C55E');\n await setupLabel(owner, repo, 'review requested :mag:', 'FBCA04');\n await setupLabel(owner, repo, 'released :bookmark:', '6366F1');\n await setupLabel(owner, repo, 's: 0.5h :clock1230:', 'F3F4F6');\n await setupLabel(owner, repo, 's: 1h :clock1:', 'E5E7EB');\n await setupLabel(owner, repo, 's: 2h :clock2:', 'D1D5DB');\n await setupLabel(owner, repo, 's: 3h :clock3:', '9CA3AF');\n await setupLabel(owner, repo, 's: 5h :clock5:', '6B7280');\n await setupLabel(owner, repo, 's: 8h :clock8:', '4B5563');\n await setupLabel(owner, repo, 's: 13h :clock1:', '374151');\n await setupLabel(owner, repo, 't: build :hammer:', 'BFDBFE');\n await setupLabel(owner, repo, 't: chore :broom:', 'BFDBFE');\n await setupLabel(owner, repo, 't: ci :construction_worker:', 'BFDBFE');\n await setupLabel(owner, repo, 't: docs :memo:', 'BFDBFE');\n await setupLabel(owner, repo, 't: feat :sparkles:', 'BFDBFE');\n await setupLabel(owner, repo, 't: fix :bug:', 'BFDBFE');\n await setupLabel(owner, repo, 't: perf :zap:', 'BFDBFE');\n await setupLabel(owner, repo, 't: refactor :recycle:', 'BFDBFE');\n await setupLabel(owner, repo, 't: style :lipstick:', 'BFDBFE');\n await setupLabel(owner, repo, 't: test :test_tube:', 'BFDBFE');\n await setupLabel(owner, repo, 'project', '24292F');\n\n await deleteLabel(owner, repo, 'bug');\n await deleteLabel(owner, repo, 'documentation');\n await deleteLabel(owner, repo, 'duplicate');\n await deleteLabel(owner, repo, 'enhancement');\n await deleteLabel(owner, repo, 'good first issue');\n await deleteLabel(owner, repo, 'help wanted');\n await deleteLabel(owner, repo, 'invalid');\n await deleteLabel(owner, repo, 'question');\n await deleteLabel(owner, repo, 'wontfix');\n\n await deleteLabel(owner, repo, 'ready');\n await deleteLabel(owner, repo, 'review requested');\n await deleteLabel(owner, repo, 'released');\n await deleteLabel(owner, repo, 'semantic-release');\n } catch (error) {\n console.warn('Skip setupLabels due to:', (error as Error)?.stack ?? error);\n }\n });\n}\n\nasync function setupLabel(owner: string, repo: string, name: string, color: string): Promise<void> {\n try {\n await octokit.request('POST /repos/{owner}/{repo}/labels', {\n owner,\n repo,\n name,\n color,\n });\n } catch {\n await octokit.request('PATCH /repos/{owner}/{repo}/labels/{name}', {\n owner,\n repo,\n name,\n color,\n });\n }\n}\n\nasync function deleteLabel(owner: string, repo: string, name: string): Promise<void> {\n try {\n await octokit.request('DELETE /repos/{owner}/{repo}/labels/{name}', {\n owner,\n repo,\n name,\n });\n } catch {\n // do nothing\n }\n}\n","import dotenv from 'dotenv';\nimport sodium from 'libsodium-wrappers';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { gitHubUtil, hasGitHubToken, octokit } from '../utils/githubUtil.js';\n\nconst deprecatedSecretNames = ['READY_DISCORD_WEBHOOK_URL'];\n\nexport async function setupSecrets(config: PackageConfig): Promise<void> {\n return logger.function('setupSecrets', async () => {\n if (!hasGitHubToken) return;\n\n const [owner, repo] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (!owner || !repo || owner !== 'WillBoosterLab') return;\n\n const parsed = dotenv.config().parsed || {};\n if (Object.keys(parsed).length === 0) return;\n\n try {\n for (const secretName of deprecatedSecretNames) {\n try {\n await octokit.request('DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner,\n repo,\n secret_name: secretName,\n });\n } catch {\n // do nothing\n }\n }\n\n const response = await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/public-key', {\n owner,\n repo,\n });\n const { key, key_id: keyId } = response.data;\n\n await sodium.ready;\n\n for (const [name, secret] of Object.entries(parsed)) {\n if (config.publicRepo && name === 'GH_BOT_PAT') continue;\n if (!config.publicRepo && name === 'PUBLIC_GH_BOT_PAT') continue;\n\n // Convert Secret & Base64 key to Uint8Array.\n const rawKey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL);\n const rawSec = sodium.from_string(secret);\n\n // Encrypt the secret using LibSodium\n const encBytes = sodium.crypto_box_seal(rawSec, rawKey);\n\n // Convert encrypted Uint8Array to Base64\n const encBase64 = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL);\n\n await octokit.request('PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner,\n repo,\n secret_name: name,\n encrypted_value: encBase64,\n key_id: keyId,\n });\n }\n } catch (error) {\n console.warn('Skip setupSecrets due to:', (error as Error)?.stack ?? error);\n }\n });\n}\n","import { PackageConfig } from '../packageConfig.js';\n\nexport async function setupSettings(config: PackageConfig): Promise<void> {\n // TODO: implement code for https://github.com/WillBooster/wbfy/issues/324\n}\n","import fs from 'node:fs';\nimport fsp from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { globbySync } from 'globby';\nimport { simpleGit } from 'simple-git';\nimport { PackageJson } from 'type-fest';\n\nimport { gitHubUtil, octokit } from './utils/githubUtil.js';\n\nexport interface PackageConfig {\n dirPath: string;\n root: boolean;\n publicRepo: boolean;\n referredByOtherRepo: boolean;\n repository?: string;\n esmPackage: boolean;\n willBoosterConfigs: boolean;\n containingSubPackageJsons: boolean;\n containingDockerfile: boolean;\n containingGemfile: boolean;\n containingGoMod: boolean;\n containingPackageJson: boolean;\n containingPoetryLock: boolean;\n containingPomXml: boolean;\n containingPubspecYaml: boolean;\n containingTemplateYaml: boolean;\n\n containingJavaScript: boolean;\n containingTypeScript: boolean;\n containingJsxOrTsx: boolean;\n containingJavaScriptInPackages: boolean;\n containingTypeScriptInPackages: boolean;\n containingJsxOrTsxInPackages: boolean;\n depending: {\n blitz?: string;\n firebase: boolean;\n playwright: boolean;\n prisma: boolean;\n pyright: boolean;\n reactNative: boolean;\n semanticRelease: boolean;\n storybook: boolean;\n };\n release: {\n branches: string[];\n github: boolean;\n npm: boolean;\n };\n eslintBase?: string;\n versionsText?: string;\n packageJson?: PackageJson;\n}\n\nexport async function getPackageConfig(dirPath: string): Promise<PackageConfig | undefined> {\n const packageJsonPath = path.resolve(dirPath, 'package.json');\n try {\n const containingPackageJson = fs.existsSync(packageJsonPath);\n let dependencies: PackageJson['dependencies'] = {};\n let devDependencies: PackageJson['devDependencies'] = {};\n let packageJson: PackageJson = {};\n let esmPackage = false;\n if (containingPackageJson) {\n const packageJsonText = fs.readFileSync(packageJsonPath, 'utf8');\n packageJson = JSON.parse(packageJsonText);\n dependencies = packageJson.dependencies ?? {};\n devDependencies = packageJson.devDependencies ?? {};\n esmPackage = packageJson.type === 'module';\n }\n\n let releaseBranches: string[] = [];\n let releasePlugins: string[] = [];\n try {\n const releasercJsonPath = path.resolve(dirPath, '.releaserc.json');\n const json = JSON.parse(await fsp.readFile(releasercJsonPath, 'utf8'));\n releaseBranches = json?.branches || [];\n releasePlugins = json?.plugins?.flat() || [];\n } catch {\n // do nothing\n }\n\n const isRoot =\n path.basename(path.resolve(dirPath, '..')) !== 'packages' ||\n !fs.existsSync(path.resolve(dirPath, '..', '..', 'package.json'));\n\n let repoInfo: Record<string, any> | undefined;\n if (isRoot) {\n repoInfo = await fetchRepoInfo(dirPath, packageJson);\n }\n\n let versionsText = '';\n try {\n const content = await fsp.readFile(path.resolve(dirPath, '.tool-versions'), 'utf8');\n versionsText += content.trim();\n } catch {\n // do nothing\n }\n for (const [prefix, name] of [\n ['node', 'nodejs'],\n ['python', 'python'],\n ]) {\n try {\n const nodeVersionContent = await fsp.readFile(path.resolve(dirPath, `.${prefix}-version`), 'utf8');\n if (versionsText) {\n versionsText += '\\n';\n }\n versionsText += name + ' ' + nodeVersionContent.trim();\n } catch {\n // do nothing\n }\n }\n\n const config: PackageConfig = {\n dirPath,\n root: isRoot,\n publicRepo: repoInfo?.private === false,\n referredByOtherRepo: !!packageJson.files,\n repository: repoInfo?.full_name ? `github:${repoInfo?.full_name}` : undefined,\n esmPackage,\n willBoosterConfigs: packageJsonPath.includes(`${path.sep}willbooster-configs`),\n containingSubPackageJsons: containsAny('packages/**/package.json', dirPath),\n containingDockerfile:\n fs.existsSync(path.resolve(dirPath, 'Dockerfile')) ||\n fs.existsSync(path.resolve(dirPath, 'docker-compose.yml')),\n containingGemfile: fs.existsSync(path.resolve(dirPath, 'Gemfile')),\n containingGoMod: fs.existsSync(path.resolve(dirPath, 'go.mod')),\n containingPackageJson: fs.existsSync(path.resolve(dirPath, 'package.json')),\n containingPoetryLock: fs.existsSync(path.resolve(dirPath, 'poetry.lock')),\n containingPomXml: fs.existsSync(path.resolve(dirPath, 'pom.xml')),\n containingPubspecYaml: fs.existsSync(path.resolve(dirPath, 'pubspec.yaml')),\n containingTemplateYaml: fs.existsSync(path.resolve(dirPath, 'template.yaml')),\n containingJavaScript: containsAny('@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}', dirPath),\n containingTypeScript: containsAny('@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}', dirPath),\n containingJsxOrTsx: containsAny('@(app|src|tests)/**/*.{t,j}sx', dirPath),\n containingJavaScriptInPackages: containsAny(\n 'packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}',\n dirPath\n ),\n containingTypeScriptInPackages: containsAny(\n 'packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}',\n dirPath\n ),\n containingJsxOrTsxInPackages: containsAny('packages/**/@(app|src|tests)/**/*.{t,j}sx', dirPath),\n depending: {\n blitz: (dependencies['blitz'] || devDependencies['blitz'] || '').replace('^', '')[0],\n firebase: !!devDependencies['firebase-tools'],\n playwright: !!devDependencies['playwright'],\n prisma: !!dependencies['prisma'],\n pyright: !!devDependencies['pyright'],\n reactNative: !!dependencies['react-native'],\n semanticRelease: !!(\n devDependencies['semantic-release'] ||\n releaseBranches.length > 0 ||\n releasePlugins.length > 0\n ),\n storybook: !!devDependencies['@storybook/react'],\n },\n release: {\n branches: releaseBranches,\n github: releasePlugins.includes('@semantic-release/github'),\n npm: releasePlugins.includes('@semantic-release/npm'),\n },\n versionsText,\n packageJson,\n };\n config.eslintBase = getEslintExtensionBase(config);\n if (\n config.containingGemfile ||\n config.containingGoMod ||\n config.containingPackageJson ||\n config.containingPoetryLock ||\n config.containingPomXml ||\n config.containingPubspecYaml ||\n config.containingTemplateYaml\n ) {\n return config;\n }\n } catch {\n // do nothing\n }\n}\n\nfunction containsAny(pattern: string, dirPath: string): boolean {\n return globbySync(pattern, { dot: true, cwd: dirPath }).length > 0;\n}\n\nfunction getEslintExtensionBase(config: PackageConfig): string | undefined {\n if (config.containingTypeScript) {\n return config.containingJsxOrTsx ? '@willbooster/eslint-config-ts-react' : '@willbooster/eslint-config-ts';\n } else {\n if (config.containingJsxOrTsx) {\n return '@willbooster/eslint-config-js-react';\n } else if (config.containingJavaScript) {\n return '@willbooster/eslint-config-js';\n }\n }\n}\n\nasync function fetchRepoInfo(dirPath: string, packageJson: PackageJson): Promise<Record<string, any> | undefined> {\n const git = simpleGit(dirPath);\n const remotes = await git.getRemotes(true);\n const origin = remotes.find((r) => r.name === 'origin');\n const remoteUrl = origin?.refs?.fetch ?? origin?.refs?.push;\n if (typeof remoteUrl === 'string') {\n const json = await requestRepoInfo(remoteUrl);\n if (json) return json;\n }\n\n const url = typeof packageJson.repository === 'string' ? packageJson.repository : packageJson.repository?.url;\n if (url) {\n const json = await requestRepoInfo(url);\n if (json && json.message !== 'Not Found') return json;\n }\n}\n\nasync function requestRepoInfo(urlOrFullName: string): Promise<Record<string, any> | undefined> {\n const [org, name] = gitHubUtil.getOrgAndName(urlOrFullName);\n if (!org || !name) return;\n\n const ret = { full_name: `${org}/${name}` };\n try {\n const response = await octokit.request('GET /repos/{owner}/{repo}', {\n owner: org,\n repo: name,\n });\n Object.assign(ret, response.data);\n } catch {\n // do nothing\n }\n return ret;\n}\n","import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { ignoreErrorAsync } from '@willbooster/shared-lib';\nimport yargs from 'yargs';\n\nimport { fixAbbreviations } from './fixers/abbreviations.js';\nimport { fixDockerfiles } from './fixers/dockerfile.js';\nimport { fixTestDirectories } from './fixers/testDirectory.js';\nimport { fixTypeDefinitions } from './fixers/typeDefinition.js';\nimport { generateVersionConfigs } from './generators/asdf.js';\nimport { generateEditorconfig } from './generators/editorconfig.js';\nimport { generateEslintignore } from './generators/eslintignore.js';\nimport { generateEslintrc } from './generators/eslintrc.js';\nimport { generateGitattributes } from './generators/gitattributes.js';\nimport { generateGitignore } from './generators/gitignore.js';\nimport { generateHuskyrc } from './generators/huskyrc.js';\nimport { generateIdeaSettings } from './generators/idea.js';\nimport { generateLintstagedrc } from './generators/lintstagedrc.js';\nimport { generatePackageJson } from './generators/packageJson.js';\nimport { generatePrettierignore } from './generators/prettierignore.js';\nimport { generatePyrightConfigJson } from './generators/pyrightconfig.js';\nimport { generateReadme } from './generators/readme.js';\nimport { generateReleaserc } from './generators/releaserc.js';\nimport { generateRenovateJson } from './generators/renovaterc.js';\nimport { generateTsconfig } from './generators/tsconfig.js';\nimport { generateWorkflows } from './generators/workflow.js';\nimport { generateYarnrcYml } from './generators/yarnrc.js';\nimport { setupLabels } from './github/label.js';\nimport { setupSecrets } from './github/secret.js';\nimport { setupSettings } from './github/settings.js';\nimport { options } from './options.js';\nimport { getPackageConfig, PackageConfig } from './packageConfig.js';\nimport { promisePool } from './utils/promisePool.js';\nimport { spawnSync } from './utils/spawnUtil.js';\n\nasync function main(): Promise<void> {\n const argv = await yargs(process.argv.slice(2))\n .command('$0 [paths..]', 'Make a given project follow the WillBooster standard', (yargs) => {\n yargs.positional('paths', {\n describe: 'project paths to be wbfied',\n array: true,\n type: 'string',\n default: ['.'],\n });\n })\n .options({\n skipDeps: {\n description: 'Skip dependency installation',\n type: 'boolean',\n default: false,\n alias: 'd',\n },\n verbose: {\n description: 'Whether or not to enable verbose mode',\n type: 'boolean',\n default: false,\n alias: 'v',\n },\n })\n .strict().argv;\n options.isVerbose = argv.verbose;\n\n for (const rootDirPath of argv.paths as string[]) {\n const packagesDirPath = path.join(rootDirPath, 'packages');\n const dirents = (await ignoreErrorAsync(() => fs.readdir(packagesDirPath, { withFileTypes: true }))) ?? [];\n const subDirPaths = dirents.filter((d) => d.isDirectory()).map((d) => path.join(packagesDirPath, d.name));\n\n await fixTestDirectories([rootDirPath, ...subDirPaths]);\n await Promise.all([fixAbbreviations(rootDirPath), fixDockerfiles([rootDirPath, ...subDirPaths])]);\n\n const rootConfig = await getPackageConfig(rootDirPath);\n if (!rootConfig) {\n console.error(`there is no valid package.json in ${rootDirPath}`);\n continue;\n }\n\n const nullableSubPackageConfigs = await Promise.all(subDirPaths.map((subDirPath) => getPackageConfig(subDirPath)));\n const subPackageConfigs = nullableSubPackageConfigs.filter((config) => !!config) as PackageConfig[];\n const allPackageConfigs = [rootConfig, ...subPackageConfigs];\n\n if (options.isVerbose) {\n for (const config of allPackageConfigs) {\n console.info(config);\n }\n }\n\n // Install tools via asdf at first\n await generateVersionConfigs(rootConfig);\n // Install yarn berry\n await generateYarnrcYml(rootConfig);\n await Promise.all([\n generateEditorconfig(rootConfig),\n generateGitattributes(rootConfig),\n generateHuskyrc(rootConfig),\n generateIdeaSettings(rootConfig),\n generateLintstagedrc(rootConfig),\n generateReadme(rootConfig),\n generateRenovateJson(rootConfig),\n generateReleaserc(rootConfig),\n generateWorkflows(rootConfig),\n setupLabels(rootConfig),\n setupSecrets(rootConfig),\n setupSettings(rootConfig),\n ]);\n await promisePool.promiseAll();\n\n const promises: Promise<void>[] = [];\n for (const config of allPackageConfigs) {\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n promises.push(fixTypeDefinitions(config, config.root ? allPackageConfigs : [config]));\n }\n await generateGitignore(config, rootConfig);\n await promisePool.promiseAll();\n if (!config.root && !config.containingPackageJson) {\n continue;\n }\n await generatePrettierignore(config);\n await generatePackageJson(config, rootConfig, argv.skipDeps);\n\n promises.push(generateLintstagedrc(config));\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n promises.push(generateTsconfig(config, rootConfig));\n }\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n if (!rootConfig.willBoosterConfigs) {\n promises.push(generateEslintrc(config, rootConfig));\n }\n promises.push(generateEslintignore(config));\n }\n if (config.depending.pyright) {\n promises.push(generatePyrightConfigJson(config));\n }\n }\n await Promise.all(promises);\n await promisePool.promiseAll();\n\n spawnSync('yarn', ['cleanup'], rootDirPath);\n // 'yarn install' should be after `yarn cleanup` because yarn berry generates yarn.lock\n // corresponding to the contents of dependant sub-package in monorepo\n spawnSync('yarn', ['install'], rootDirPath);\n }\n}\n\nawait main();\n"],"names":["Options","options","_classCallCheck","this","_defineProperty","isVerbose","logger","Logger","_function2","_createClass","key","value","_asyncToGenerator","_regeneratorRuntime","mark","_callee","name","func","wrap","_context","prev","next","console","info","stop","_x","_x2","apply","arguments","promisePool","PromisePool","fixAbbreviations","_fixAbbreviations","dirPath","_context4","abrupt","_callee2","mdFiles","_iterator","_step","_loop","tsFiles","_iterator2","_step2","tsFile","filePath","content","newContent","_context3","globby","dot","cwd","sent","_createForOfIteratorHelper","mdFile","_context2","path","join","run","fs","promises","readFile","replaceAll","writeFile","s","n","done","delegateYield","t1","e","f","finish","t2","promiseAll","_callee3","convertVersionIntoNumber","version","versionNumber","divisor","split","map","Number","filter","isNaN","err","ASDF_VERSION","fixDockerfiles","_fixDockerfiles","packageDirPaths","Promise","all","_ref2","packageDirPath","replace","substring","concat","t0","fixTestDirectories","_fixTestDirectories","oldTestDirPath","newTestDirPath","packageJsonText","newPackageJsonText","rename","fixTypeDefinitions","_fixTypeDefinitions","config","configsIncludingChildren","libTypeDirPath","srcTypeDirPath","dirents","resolve","root","containingSubPackageJsons","undefined","ignoreEnoentAsync","readdir","withFileTypes","dirent","dirName","hasTypeDeclarationExtension","packageName","hasLibrary","slice","endsWith","includes","some","_config$packageJson","_config$packageJson$d","_config$packageJson2","_config$packageJson2$","packageJson","dependencies","devDependencies","isFile","mkdir","recursive","isDirectory","spawnSync","command","args","retry","_getSpawnSyncArgs","getSpawnSyncArgs","_getSpawnSyncArgs2","_slicedToArray","newCmd","newArgs","log","ret","child_process","status","spawnSyncWithStringResult","_getSpawnSyncArgs4","stdio","proc","error","stderr","toString","trim","stdout","env","_objectSpread","process","PATH","BERRY_BIN_FOLDER","ASDF_DIR","shell","generateVersionConfigs","_generateVersionConfigs","core","POETRY_VERSION","PYTHON_VERSION","JAVA_VERSION","_core","lines","toolVersionsPath","versionsText","versionText","line","_line$split","_line$split2","push","containingPoetryLock","updateVersion","existsSync","depending","firebase","containingPackageJson","length","rm","force","toolName","newVersion","head","index","findIndex","l","newLine","_lines$index$split2","_lines$index$split","splice","extensions","codeWith2IndentSize","sort","codeWith4IndentSize","codeWith8IndentSize","markdownLike","eslint","prettier","fsUtil","fsp","generateExtensions","generateEditorconfig","_generateEditorconfig","userContentHeader","userContentHeaderRegex","separator","defaultHeadUserContent","defaultTailUserContent","ignoreFileUtil","separatorPrefix","readGitignoreWithoutSeparators","lastHeaderIndex","getIndexOfTailUserContentHeader","getHeadUserContent","indexOf","getTailUserContent","isBerryZeroInstallEnabled","lastIndex","lastIndexOf","commonContent","generateEslintignore","_generateEslintignore","_yield$fsUtil$readFil","headUserContent","tailUserContent","gitignoreFilePath","gitignoreContent","t3","overwriteMerge","destinationArray","sourceArray","combineMerge","target","source","destination","entries","_step$value","item","cloneUnlessOtherwiseSpecified","isMergeableObject","merge","generateEslintrc","_generateEslintrc","rootConfig","bases","newSettings","oldContent","oldSettings","newExtends","blitz","eslintBase","extends","JSON","parse","ext","startsWith","arrayMerge","addExtensionToHead","stringify","extension","_toConsumableArray","generateGitattributes","_generateGitattributes","defaultNames","generateGitignore","_generateGitignore","names","generated","_ret","containingGemfile","containingGoMod","basename","containingPomXml","containingPubspecYaml","containingTemplateYaml","prisma","playwright","reactNative","storybook","_yield$readCache","url","response","responseText","readCache","fetch","text","v","writeCache","_typeof","t4","os","homedir","_x3","_x4","_writeCache","_x5","_readCache","stat","_context5","Date","now","mtimeMs","_callee4","EslintUtil","containingJsxOrTsx","token","GH_BOT_PAT","PUBLIC_GH_BOT_PAT","GH_TOKEN","GITHUB_TOKEN","hasGitHubToken","octokit","Octokit","auth","gitHubUtil","GitHubUtil","urlOrFullName","_names$at","_names$at$replace","_names$at2","urlWithoutProtocol","at","srcDirectories","node","blitz0","blitz2","getSrcDirs","jsCommonDeps","tsCommonDeps","reactCommonDeps","devDeps","generatePackageJson","_generatePackageJson","skipAddingDeps","_x6","_config$repository","_jsonObj$scripts$gen2","jsonText","jsonObj","_i","_Object$keys","scriptKey","poetryDependencies","_devDependencies","_jsonObj$publishConfi","_jsonObj$publishConfi2","_jsonObj$publishConfi3","_gitHubUtil$getOrgAnd","_gitHubUtil$getOrgAnd2","owner","_jsonObj$resolutions","dirs","pythonFiles","dirNameSet","pythonFile","_pythonFile$split","_pythonFile$split2","first","dirNamesStr","_jsonObj$scripts$gen","scripts","peerDependencies","removeDeprecatedStuff","Object","keys","generateScripts","prettify","generatePrettierSuffix","publicRepo","referredByOtherRepo","semanticRelease","workspaces","containingJavaScript","containingJavaScriptInPackages","containingTypeScript","containingTypeScriptInPackages","willBoosterConfigs","dep","license","publishConfig","access","getOrgAndName","repository","author","release","npm","esmPackage","resolutions","lint","cleanup","dir","format","postinstall","gitignore","ignore","Set","add","size","d","_jsonObj$devDependenc","_jsonObj$dependencies","_x7","_removeDeprecatedStuff","_i2","_Object$values","deps","values","typecheck","test","pyright","_x8","_generatePrettierSuffix","existingContent","originalContent","_callee5","DEFAULT_COMMAND","settings","preCommit","prePush","prePushForLab","postMerge","generateHuskyrc","_generateHuskyrc","_config$versionsText","packageJsonPath","preCommitFilePath","_generateScripts","postMergeCommands","postMergeCommand","mode","generateIdeaSettings","_generateIdeaSettings","generateLintstagedrc","_generateLintstagedrc","packagePrefix","packagesFilter","getEslintKey","getEslintFilterForPrettier","generatePrettierignore","_generatePrettierignore","additionalContent","venvPath","venv","generatePyrightConfigJson","_generatePyrightConfigJson","cloneDeep","generateReadme","_generateReadme","_config$repository2","fileNames","fileName","badgeName","badge","insertBadge","semanticReleaseBadge","readdirSync","charAt","toUpperCase","badgePos","inserted","i","generateReleaserc","_generateReleaserc","plugins","plugin","oldConfig","call","Array","isArray","preset","successComment","labels","releasedLabels","generateRenovateJson","_generateRenovateJson","sortKeys","obj","_ref","key1","key2","localeCompare","rootJsonObj","compilerOptions","module","moduleResolution","jsx","alwaysStrict","strict","skipLibCheck","allowSyntheticDefaultImports","esModuleInterop","resolveJsonModule","declaration","sourceMap","importHelpers","outDir","typeRoots","include","subJsonObj","generateTsconfig","_generateTsconfig","_newSettings$compiler6","_newSettings$include3","_newSettings$compiler","_newSettings$include","_newSettings$compiler2","_newSettings$compiler3","_newSettings$compiler4","_oldSettings$compiler","_newSettings$include2","_newSettings$compiler5","containingJsxOrTsxInPackages","workflows","on","pull_request","branches","jobs","uses","wbfy","workflow_dispatch","pull_request_target","types","issues","secrets","DISCORD_WEBHOOK_URL","GH_PROJECT_URL","generateWorkflows","_generateWorkflows","_rootConfig$repositor","workflowsPath","semanticYmlPath","kind","writeWorkflowYaml","_writeWorkflowYaml","_arr","_job$uses","_job$uses$includes","_job$uses2","job","params","yaml","load","depth","normalizeJob","schedule","setSchedule","migrateWorkflow","writeYaml","sync","sync_params_without_dest","server_url","_job$with","migrateJob","containingDockerfile","newSecrets","inclusiveMinHourJst","exclusiveMaxHourJst","_newSettings$on$sched","_newSettings$on$sched2","_split$map2","cron","minuteUtc","hourUtc","isInteger","hourJst","inRange","minJst","Math","floor","random","_writeYaml","yamlText","dump","lineWidth","noCompatMode","styles","generateYarnrcYml","_generateYarnrcYml","_settings$plugins$len","_settings$plugins","_settings$plugins$fil","_settings$plugins2","_settings$plugins3","currentVersion","latestVersion","releasesPath","yarnrcPath","yarnrcYmlPath","originalLength","pluginPath","requireTypeScript","getLatestVersion","getMajorNumber","file","t5","defaultSemverRangePrefix","nodeLinker","nmMode","enableGlobalCache","p","spec","importOrRemovePlugin","versionsJson","versions","requirePlugin","major","setupLabels","_setupLabels","repo","_stack","setupLabel","deleteLabel","warn","stack","_setupLabel","color","request","_deleteLabel","deprecatedSecretNames","setupSecrets","_setupSecrets","parsed","secretName","_response$data","keyId","_Object$entries","_Object$entries$_i","secret","rawKey","rawSec","encBytes","encBase64","dotenv","secret_name","data","key_id","sodium","ready","from_base64","base64_variants","ORIGINAL","from_string","crypto_box_seal","to_base64","encrypted_value","setupSettings","_setupSettings","getPackageConfig","_getPackageConfig","_repoInfo","_repoInfo2","_repoInfo3","_packageJson$dependen","_packageJson$devDepen","releaseBranches","releasePlugins","_json$plugins","releasercJsonPath","json","isRoot","repoInfo","_arr$_i","prefix","nodeVersionContent","readFileSync","type","flat","fetchRepoInfo","files","full_name","sep","containsAny","github","getEslintExtensionBase","pattern","globbySync","_fetchRepoInfo","_origin$refs$fetch","_origin$refs","_origin$refs2","_packageJson$reposito","git","remotes","origin","remoteUrl","_json","simpleGit","getRemotes","find","r","refs","requestRepoInfo","message","_requestRepoInfo","org","assign","_main","argv","yargs","positional","describe","array","default","skipDeps","description","alias","verbose","_yield$ignoreErrorAsy","rootDirPath","packagesDirPath","subDirPaths","nullableSubPackageConfigs","subPackageConfigs","allPackageConfigs","_config","ignoreErrorAsync","subDirPath","paths","main"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "wbfy",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.79.0",
|
4
4
|
"description": "A tool for applying WillBooster's conventional configures to npm packages",
|
5
5
|
"repository": "github:WillBooster/wbfy",
|
6
6
|
"license": "Apache-2.0",
|
@@ -57,8 +57,8 @@
|
|
57
57
|
"@willbooster/eslint-config-ts": "10.0.8",
|
58
58
|
"@willbooster/prettier-config": "9.1.1",
|
59
59
|
"@willbooster/renovate-config": "9.5.0",
|
60
|
-
"@yarnpkg/core": "4.0.0-rc.
|
61
|
-
"build-ts": "3.2.
|
60
|
+
"@yarnpkg/core": "4.0.0-rc.35",
|
61
|
+
"build-ts": "3.2.5",
|
62
62
|
"conventional-changelog-conventionalcommits": "5.0.0",
|
63
63
|
"eslint": "8.31.0",
|
64
64
|
"eslint-config-prettier": "8.6.0",
|
@@ -73,12 +73,12 @@
|
|
73
73
|
"micromatch": "4.0.5",
|
74
74
|
"pinst": "3.0.0",
|
75
75
|
"prettier": "2.8.2",
|
76
|
-
"semantic-release": "20.0.
|
76
|
+
"semantic-release": "20.0.2",
|
77
77
|
"sort-package-json": "2.1.0",
|
78
78
|
"ts-node": "10.9.1",
|
79
79
|
"type-fest": "3.5.1",
|
80
80
|
"typescript": "4.9.4",
|
81
|
-
"vitest": "0.
|
81
|
+
"vitest": "0.27.1"
|
82
82
|
},
|
83
83
|
"packageManager": "yarn@4.0.0-rc.35",
|
84
84
|
"engines": {
|