fscr 5.4.0 → 6.1.1

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.
Files changed (66) hide show
  1. package/bin +1 -1
  2. package/dist/index.js +196 -49
  3. package/dist/lib/auth/auth-conf.js +63 -0
  4. package/dist/lib/codemod/arrow.js +13 -0
  5. package/dist/lib/codemod/arrow2.js +67 -0
  6. package/dist/lib/codemod/funcs.js +25 -0
  7. package/dist/lib/codemod/removeConsole.js +12 -0
  8. package/dist/lib/codemod/test.js +8 -0
  9. package/dist/lib/components/App.js +64 -0
  10. package/dist/lib/components/Selector.js +133 -0
  11. package/dist/lib/components/TabChanger.js +113 -0
  12. package/dist/lib/components/Table.js +177 -0
  13. package/dist/lib/components/Tabs.js +221 -0
  14. package/dist/lib/encryption/decryptConfig.js +81 -0
  15. package/dist/lib/encryption/encryption.js +135 -0
  16. package/dist/lib/generateFScripts.js +25 -0
  17. package/dist/lib/generateToc.js +36 -0
  18. package/dist/lib/generators/generateFScripts.js +25 -0
  19. package/dist/lib/generators/generateToc.js +38 -0
  20. package/dist/lib/generators/index.js +2 -0
  21. package/dist/lib/git/files.js +26 -0
  22. package/dist/lib/git/pub.js +42 -0
  23. package/dist/lib/git/taskRunner.js +80 -0
  24. package/dist/lib/git/validateNotDev.js +71 -0
  25. package/dist/lib/helpers.js +191 -0
  26. package/dist/lib/optionList.js +61 -0
  27. package/dist/lib/parseScriptsMd.js +93 -0
  28. package/dist/lib/parseScriptsPackage.js +9 -0
  29. package/dist/lib/parsers/parseScriptsMd.js +96 -0
  30. package/dist/lib/parsers/parseScriptsPackage.js +9 -0
  31. package/dist/lib/release/bump.js +52 -0
  32. package/dist/lib/release/commitWithMessage.js +65 -0
  33. package/dist/lib/release/index.js +4 -0
  34. package/dist/lib/release/publish.js +23 -0
  35. package/dist/lib/release/publish.sh +1 -0
  36. package/dist/lib/release/pushToGit.js +43 -0
  37. package/dist/lib/release/releasenotes.js +158 -0
  38. package/dist/lib/release/seeChangedFiles.js +89 -0
  39. package/dist/lib/release/sort.js +136 -0
  40. package/dist/lib/release/tree.js +163 -0
  41. package/dist/lib/release/validateNotDev.js +63 -0
  42. package/dist/lib/run/lib.js +454 -0
  43. package/dist/lib/run/main-p.js +59 -0
  44. package/dist/lib/run/main-s.js +56 -0
  45. package/dist/lib/run/parse-cli-args.js +222 -0
  46. package/dist/lib/run/run-p.js +30 -0
  47. package/dist/lib/run/run-s.js +57 -0
  48. package/dist/lib/runCLICommand.js +30 -0
  49. package/dist/lib/runParallel.js +20 -0
  50. package/dist/lib/runSequence.js +38 -0
  51. package/dist/lib/running/index.js +3 -0
  52. package/dist/lib/running/runCLICommand.js +38 -0
  53. package/dist/lib/running/runParallel.js +33 -0
  54. package/dist/lib/running/runSequence.js +43 -0
  55. package/dist/lib/startScripts.js +135 -0
  56. package/dist/lib/taskList.js +93 -0
  57. package/dist/lib/taskListAutoComplete.js +10 -0
  58. package/dist/lib/upgradePackages.js +65 -0
  59. package/dist/lib/utils/clear.js +18 -0
  60. package/dist/lib/utils/console.js +33 -0
  61. package/dist/lib/utils/encryption.js +18 -0
  62. package/dist/lib/utils/helpers.js +228 -0
  63. package/dist/lib/utils/index.js +2 -0
  64. package/dist/lib/utils/prompt.js +34 -0
  65. package/package.json +10 -8
  66. /package/dist/{index.html → lib/auth/index.html} +0 -0
package/bin CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- require("./dist/index.js");
2
+ import('./dist/index.js');
package/dist/index.js CHANGED
@@ -1,49 +1,196 @@
1
- parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"Wq8g":[function(require,module,exports) {
2
- "use strict";var e=r(require("@babel/runtime/helpers/defineProperty"));function r(e){return e&&e.__esModule?e:{default:e}}function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function n(r){for(var n=1;n<arguments.length;n++){var c=null!=arguments[n]?arguments[n]:{};n%2?t(Object(c),!0).forEach(function(t){(0,e.default)(r,t,c[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(c)):t(Object(c)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(c,e))})}return r}const{prompt:c}=require("enquirer"),i=require("chalk"),o=async(e={},r="name it:")=>{"list"===e.type&&(e.type="select"),e.message&&(r=e.message),e.choices&&e.choices[0].value&&(e.choices=e.choices.map(e=>({message:e.name,value:e.value}))),e.pageSize&&(e.limit=e.pageSize);const{answer:t}=await c(n({type:"input",message:`${i.green.bold.underline(r)}`,name:"answer"},e));return t};module.exports=o;
3
- },{}],"tplV":[function(require,module,exports) {
4
- const e=require("path"),i=require("chalk"),t=require("../utils/prompt"),a=require("fs");let n=e.resolve(process.cwd(),"package.json");const{execSync:o}=require("child_process"),r=async e=>o(e);a.existsSync(n)||(console.error("Cannot find package.json file in the current directory"),process.exit(1));const s=async(e=null)=>{let o="patch";o=e||await t({type:"list",message:i.green.bold.underline("How big of a bump is this?"),choices:["patch","minor","major"]});let s=await t({type:"confirm",message:i.green.bold.underline("Add git tag?"),default:!1});await r(`yarn version --${o} ${s?"--no-git-tag-version":""} --no-commit-hooks`);const c=await a.readFileSync(n),{version:l}=JSON.parse(c);s&&(await r("git add ."),await r(`git commit -m "VERSION ${l}"`),await r(`git tag -a v${l} -m "VERSION ${l}"`),await r("git push origin --tags")),console.log(i.green.underline(`\nNew version: ${l}\n`))};module.exports=s;
5
- },{"../utils/prompt":"Wq8g"}],"G5f5":[function(require,module,exports) {
6
- const e=require("fs-extra"),r=require("chalk"),t=require("boxen"),n=1/6,a=1/3,o=2/3,c={emptyDir:async r=>{try{await e.emptyDir(r)}catch(t){console.error(t)}}},i=1533,s={mode:1533};c.ensureDir=(async(r,t=s)=>{try{await e.ensureDir(r,t)}catch(n){console.error(n)}}),c.ensureFile=(async r=>{try{await e.ensureFile(r)}catch(t){console.error(t)}}),c.pathExists=(async r=>{return await e.pathExists(r)}),c.readJson=(async r=>{try{return await e.readJson(r)}catch(t){return console.error(t),{}}}),c.readFile=(async r=>{try{return await e.readFileSync(r,"utf8")}catch(t){return console.error(t),{}}}),c.removeFile=(async r=>{try{return await e.remove(r)}catch(t){return console.error(`File ${r} NOT REMOVED! ${t}`),!1}}),c.writeFile=(async(r,t="")=>{try{return e.writeFileSync(r,t,"utf-8")}catch(n){console.error(n)}}),c.writeJson=(async(r,t={})=>{try{await e.writeJson(r,t)}catch(n){console.error(n)}}),c.chainAsync=(e=>{let r=0;const t=e[e.length-1],n=()=>{const a=e[r++];a===t?a():a(n)};n()}),c.appendToFile=(async(r,t="")=>{try{await e.appendFileSync(r,t)}catch(n){console.error(n)}}),c.boxInform=(async(e,n="",a=0,o={left:2,top:0,bottom:0,right:0})=>{console.log(t(r.hex("#717877")(e)+"\n"+r.bold.underline.hex("#438b34")(n)+r.hex("#717877")(" "),{padding:a,margin:o,borderStyle:{topLeft:r.hex("#5a596d")("╔"),topRight:r.hex("#5a596d")("╗"),bottomLeft:r.hex("#5a596d")("╚"),bottomRight:r.hex("#5a596d")("╝"),horizontal:r.hex("#5a596d")("═"),vertical:r.hex("#5a596d")("║")},align:"center"}))});const l=(e,r,t)=>(t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(r-e)*t:t<.5?r:t<2/3?e+(r-e)*(2/3-t)*6:e),h=(e,r,t)=>{if(0===r)return new Array(3).fill(t);const n=t<.5?t*r+t:t+r-t*r,a=2*t-n;return[l(a,n,e+1/3),l(a,n,e),l(a,n,e-1/3)]};c.rainbowGradient=((e,r=1,t=.5)=>{const n=[];for(let a=0;a<e;a++)n.push(h(a/e,r,t).map(e=>Math.round(255*e)));return n}),c.timestamp=(()=>{let e=new Date,r=[e.getHours(),e.getMinutes(),e.getSeconds()];return(r=r.map(e=>e<10?(e+"").padStart(2,"0"):e)).join(":")}),module.exports=c;
7
- },{}],"d66x":[function(require,module,exports) {
8
- const e=require("path"),r=require("chalk"),t=require("joycon"),n=require("markdown-toc"),s=new t({stopDir:e.dirname(process.cwd())}),{writeFile:o}=require("../utils/helpers.js"),i=async(e="fscripts.md")=>{const{path:t,data:i}=s.loadSync([e]);if(!t)return console.warn(`${r.bold.red("You're missing the fscripts.md file!")}\n${r.green("Please run 'fsr generate' to get started!")}`),process.exit(0),null;{console.warn(`${r.bold.green("Located fscripts.md file!")}`);let t="",s=i.split("\x3c!-- end toc --\x3e"),c="";c=2===s.length?s[1]:i,t=n(c).content+"\n\x3c!-- end toc --\x3e\n\n"+c.trim(),await o(e,t)}};module.exports=i;
9
- },{"../utils/helpers.js":"G5f5"}],"nPea":[function(require,module,exports) {
10
- const e=require("chalk"),s=require("inquirer"),{appendToFile:r,writeFile:a,boxInform:n,readJson:i,readFile:c}=require("../utils/helpers.js"),t=require("path"),o=process.cwd(),p=t.join(o,"package.json"),l={scripts:[]};let h="# First category of scripts\n\nWelcome to your new amazing fscripts.md file. It replaces the headaches of npm scripts! But so much more.\n";l.init=(async()=>{try{l.packageJson=await i(p),Object.keys(l.packageJson.scripts).forEach(e=>{h+=`\n## ${e}\n\n${l.packageJson.scripts[e]}\n\n\`\`\`bash\n${l.packageJson.scripts[e]}\n\`\`\`\n\n`}),await a("./sample.fscripts.md",h)}catch(e){console.error(e)}}),module.exports=l.init;
11
- },{"../utils/helpers.js":"G5f5"}],"DhJC":[function(require,module,exports) {
12
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"generateToc",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(exports,"generateFScripts",{enumerable:!0,get:function(){return r.default}});var e=t(require("./generateToc")),r=t(require("./generateFScripts"));function t(e){return e&&e.__esModule?e:{default:e}}
13
- },{"./generateToc":"d66x","./generateFScripts":"nPea"}],"IUT3":[function(require,module,exports) {
14
- "use strict";var e=t(require("@babel/runtime/helpers/defineProperty"));function t(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,s)}return r}function s(t){for(var s=1;s<arguments.length;s++){var n=null!=arguments[s]?arguments[s]:{};s%2?r(Object(n),!0).forEach(function(r){(0,e.default)(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}const n=require("joycon"),c=require("path"),a=require("chalk"),i=require("fs"),o=new n({stopDir:c.dirname(process.cwd())}),p=(e,t="")=>Object.keys(e).reduce((r,s)=>{const n=t.length?t+".":"";return"object"==typeof e[s]?Object.assign(r,p(e[s],n+s)):r[n+s]=e[s],r},{}),l=require("marked");let u=function(e){let t=l.lexer(e),r=(t=t.filter(e=>"space"!==e.type)).slice(),n={},c="",a="",i=0;r.forEach((e,r)=>{if("heading"===e.type&&1===e.depth){i=0,c=e.text,n[c]={name:e.text,tasks:{},description:""};let s=t[r+1];"paragraph"===s.type&&(n[c].description=s.text)}else if("heading"===e.type&&2===e.depth){a=e.text,n[c].tasks[a]={script:"",name:a,description:"",order:i},i++;let s=t[r+1],o=t[r+2];"paragraph"===s.type&&"code"===o.type?(n[c].tasks[a].description=s.text,n[c].tasks[a].lang=o.lang,n[c].tasks[a].script=o.text):"code"===s.type&&(n[c].tasks[a].lang=s.lang,n[c].tasks[a].script=s.text)}});let o=[];return{categories:Object.keys(n).map(e=>{let t=n[e].tasks,r=Object.keys(t).map(e=>t[e]);return o=[...o,...r],s({name:e},n[e])}),allTasks:o}};const d=async()=>{const e=await i.readFileSync(c.resolve(process.cwd(),"fscripts.md"),"utf-8");if(e){let t=e.split("\x3c!-- end toc --\x3e");return t=t[2===t.length?1:0],u(t)}return!1};module.exports=d;
15
- },{}],"ySTt":[function(require,module,exports) {
16
- const e=require("fs"),r=require("path"),s=require("child_process"),o=require("chalk"),n=e=>{console.log(o.red("[Error]: "+e))},t=e=>{console.log(o.blue("[Start]: "+e))},c=e=>{console.log(o.green("[Done]: "+e))};let i="",l=r.resolve(process.cwd(),"package.json");e.existsSync(l)||(n("Cannot find package.json file in the current directory"),process.exit(1));const a=require(l);let d=[];const p=async()=>{a.fscripts&&a.fscripts["ignore-upgrade"]&&(d=a.fscripts["ignore-upgrade"]);let o={before:{},after:{}};for(let i of["dependencies","devDependencies","peerDependencies"])if(a[i]){let p=`yarn add ${Object.keys(a[i]).filter(e=>!d.includes(e)).map(e=>(o.before[e]=a[i][e],e+"@latest")).join(" ")}`;try{s.execSync(p,{stdio:"inherit",env:Object.assign({},process.env,{FORCE_COLOR:!0,PATH:`${r.resolve("node_modules")}:${process.env.PATH}`})});const a=JSON.parse(e.readFileSync(l));let f=Object.keys(a[i]).filter(e=>!d.includes(e)).map(e=>(o.after[e]=a[i][e],o.before[e]!==o.after[e]?`Updated: ${e} from: ${o.before[e]} | to: ${o.after[e]}\n`:"")).join("");c(f)}catch(t){n(`${p} - ${t}`)}}};module.exports=p;
17
- },{}],"I4ud":[function(require,module,exports) {
18
- "use strict";var e=r(require("@babel/runtime/helpers/defineProperty"));function r(e){return e&&e.__esModule?e:{default:e}}function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function n(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(Object(o),!0).forEach(function(t){(0,e.default)(r,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}const o=require("chalk"),s=require("path"),c=require("moment-mini"),i=require("cross-spawn"),u=require("require-from-string");module.exports=(async({script:e,task:r,type:t=e.type},l=!1)=>(l||console.log(`${o.green.bgHex("#181c24").bold("["+c().format("HH:MM:SS")+"]")}${o.bgHex("#181c24").bold.hex("#8c91a7")(" "+r.name+": ")}`),new Promise(r=>{if("javascript"===e.lang)u(e.full,"./fscripts.md"),r();else{i(t,[...e.rest],{stdio:"inherit",env:Object.assign({},process.env,n({FORCE_COLOR:!0,PATH:`${s.resolve("node_modules/.bin")}:${process.env.PATH}`},e.env))}).on("close",e=>{0===e?r():(console.error(`${o.red("ERROR")} ${e} runCli`),r())})}})));
19
- },{}],"xdpe":[function(require,module,exports) {
20
- const e=require("./runCLICommand"),l=require("chalk"),s=async(s,n)=>{for(let t in s){let i=s[t];const r=n.allTasks.find(e=>e.name===i);if(r){let{script:l,lang:s}=r,n=l.split(" "),t=n[0],o={};if(n[0].includes("=")){let e=t.split("=");o[e[0]]=e[1],t=n[1],n.shift(),n.shift(),l=n.join(" ")}else n.shift(),l=n.join(" ");await e({task:{name:i},script:{lang:s,env:o,type:t,full:l,rest:l.split(" ")}})}else console.error(`${l.bold.underline.red("Task not found")}`)}};module.exports=s;
21
- },{"./runCLICommand":"I4ud"}],"UcV7":[function(require,module,exports) {
22
- const e=require("./runCLICommand"),s=require("chalk"),a=async(a,n)=>{const l=a.map(async a=>new Promise(async l=>{const r=n.allTasks.find(e=>e.name===a);if(r){let{script:s,lang:n}=r,t=s.split(" ");await e({task:{name:a},script:{lang:n,type:t.shift(),full:s,rest:s.split(" ").slice(1)}}),l()}else console.error(`${s.bold.underline.red("Task not found")}`),l()}));await Promise.all(l)};module.exports=a;
23
- },{"./runCLICommand":"I4ud"}],"E5ik":[function(require,module,exports) {
24
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"runSequence",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(exports,"runParallel",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(exports,"runCLICommand",{enumerable:!0,get:function(){return u.default}});var e=n(require("./runSequence")),r=n(require("./runParallel")),u=n(require("./runCLICommand"));function n(e){return e&&e.__esModule?e:{default:e}}
25
- },{"./runSequence":"xdpe","./runParallel":"UcV7","./runCLICommand":"I4ud"}],"oAWT":[function(require,module,exports) {
26
- const e=require("inquirer"),t=" ~ ",a=require("term-size"),n=require("chalk"),r=e=>{let t=e.match(/(\*\*|^\*\*)(?=\S)([\s\S]*?\S)\*\*(?![\*\*\S])/g);null!==t&&t.forEach(t=>{e=e.replace(t,n.bold.redBright(t.replace(/\*\*/g,"")))});let a=e.match(/(_|^_)(?=\S)([\s\S]*?\S)_(?![_\S])/g);return null!==a&&a.forEach(t=>{e=e.replace(t,n.underline.greenBright(t.replace(/\_\_/g,"")))}),e},l=e=>e.map(e=>r(e)),i=async(t,i)=>new Promise(s=>{let o=[...i.map(e=>({name:`${n.bold.underline.green(e)}`,value:{type:"task",name:e}})),{name:"-------------",value:null},...t.categories.map(e=>({name:`${n.bold.underline.green(e.name)} ~ ${r(e.description)}`,value:{type:"category",name:e.name}}))];const{rows:c}=a();e.prompt([{type:"list",name:"category",message:"What category do you want to run?",pageSize:c-1,choices:o}]).then(({category:a})=>{o.indexOf("-------------"),o.indexOf(a);if(null===a)console.log("Can't select divider");else if("task"===a.type){let e=a.name.split(" ~ ")[0].trim();s(e)}else{a.name.split(" ~ ")[0];let n=t.categories.findIndex(e=>e.name===a.name);n=t.categories[n];let r=Object.keys(n.tasks).map(e=>{let t=n.tasks[e];return`${e} ${t.description?" ~ "+t.description.replace(/\n/g," ").trim():""}`});r=l(r),e.prompt([{type:"list",name:"taskToRun",message:"Which task do you want to run",choices:r}]).then(({taskToRun:e})=>{e=e.split(" ~ ")[0].trim(),s(e)})}})});module.exports=i;
27
- },{}],"FYJb":[function(require,module,exports) {
28
- "use strict";const e=require("path"),r=require("chalk"),s=e.join(process.cwd(),"./package.json"),{readJson:t}=require("../utils/helpers"),a=async()=>{return(await t(s)).scripts};module.exports=a;
29
- },{"../utils/helpers":"G5f5"}],"JJn1":[function(require,module,exports) {
30
- const e=require("./taskList"),t=" ~ ",s=require("conf"),a=require("moment-mini"),r=require("chalk"),n=require("./parsers/parseScriptsMd.js"),i=require("./parsers/parseScriptsPackage.js"),c=require("./running/runCLICommand"),{prompt:l}=require("enquirer"),o=require("path"),p=require("fs");let u=o.resolve(process.cwd(),"package.json");const m=JSON.parse(p.readFileSync(u));console.info("Console --- packageJsonAfter.name",m.name);const d=new s({configName:m.name}),k=async e=>{try{let{answer:s}=await l({type:"autocomplete",message:`${r.green.bold.underline("Choose task to run")}`,choices:e,name:"answer"});return s.split(" ~ ")[0].trim()}catch(t){return!1}},f=async(t=!0)=>{const s=await n();if(!1===s)return!1;let i,l=d.get("recentTasks",{}),o=Object.keys(l).map(e=>{return{name:e,lastExecuted:l[e].lastExecuted}}).sort((e,t)=>e.lastExecuted>t.lastExecuted?1:t.lastExecuted>e.lastExecuted?-1:0).reverse().slice(0,3).map(e=>e.name+" ~ "+a(e.lastExecuted).calendar());if(t)i=await e(s,o);else{let e=s.allTasks;i=await k(e.map(e=>`${e.name} ~ ${e.description}`))}void 0===l[i]?l[i]={lastExecuted:Date.now()}:l[i].lastExecuted=Date.now(),d.set("recentTasks",l);const p=s.allTasks.find(e=>e.name===i);if(!p)return void console.error(`${r.bold.underline.red("Task not found")}`);let{script:u,lang:m}=p,f=u.split(" "),g=f[0],w={};if(f[0].includes("=")){let e=g.split("=");w[e[0]]=e[1],g=f[1],f.shift(),f.shift(),u=f.join(" ")}else f.shift(),u=f.join(" ");await c({task:{name:i},script:{lang:m,type:g,env:w,full:u,rest:u.split(" ")}})},g=async()=>{const e=await i();let t=Object.keys(e).map(t=>({name:t,script:e[t]})),s=await k(t.map(e=>`${e.name} ~ ${e.script}`));if(!1===s)return console.log(r.green.bold("See you soon!")),!1;await c({task:{name:s},script:{lang:s.lang,type:"yarn",full:s.script,rest:s.script.split(" ").slice(1)}})},w=async()=>{d.set("recentTasks",{})};module.exports={startScripts:f,taskListAutoComplete:k,clearRecent:w,startPackageScripts:g};
31
- },{"./taskList":"oAWT","./parsers/parseScriptsMd.js":"IUT3","./parsers/parseScriptsPackage.js":"FYJb","./running/runCLICommand":"I4ud"}],"DPDa":[function(require,module,exports) {
32
- const e=" ~ ",a=require("chalk"),{prompt:t}=require("enquirer"),s=async()=>{let e=[{name:"start",message:"Choose category then task to run"},{name:"list",message:"Select any task with text autocompletion"},{name:"scripts",message:"Choose a script from package.json"},{name:"upgrade",message:"Upgrade all your packages except ones specified by 'ignore-upgrade':[]"},{name:"remote",message:"Get remote configuration with your fc email"},{name:"bump",message:"Bump package.json and beautify it!"},{name:"encryption",message:"Encrypt/Decrypt secret files"},{name:"clear",message:"Clear recent task history"},{name:"generate",message:"Generate a sample fscripts.md file from the package.json"},{name:"toc",message:"Generate updated Table of Contents on top of the fscripts.md file"},{name:"--help",message:"See full help documentation"}];try{let{answer:n}=await t({type:"select",name:"answer",choiceMessage:e=>`${a.bold.underline(e.name)}${a.reset(": \n ")}${a.gray.italic(e.message)}`,message:`${a.cyan.bold.underline("What category do you want to run?")}`,choices:e});return n}catch(s){return!1}};module.exports=s;
33
- },{}],"UQAN":[function(require,module,exports) {
34
- const e=require("inquirer"),r=require("chalk"),n=require("boxen"),{boxInform:s}=require("../utils/helpers.js"),t=require("git-state"),a=require("simple-git"),o=process.cwd(),c=async e=>{try{childProcess.execSync(`git -c core.quotepath=false -c log.showSignature=false checkout -b ${e}`,{stdio:"inherit",env:Object.assign({},process.env,{FORCE_COLOR:!0,PATH:`${path.resolve("node_modules")}:${process.env.PATH}`})})}catch(n){}s(r.green(`New branch ${e} created`,"",5))};async function i(){return new Promise(n=>{e.prompt([{type:"input",message:r.bold.hex("#38be18")("Name new feature branch (or type cancel):"),name:"branchname"}]).then(async({branchname:e})=>{"Development"!==e&&await c(e),n()})})}const l=async()=>{await new Promise(async e=>{const s=require("simple-git/promise");"Development"===(await s(__dirname).status()).current?(console.clear(),console.log(n(r.bold.underline.red("DO NO MAKE CHANGES IN DEV!"),{padding:2})),await new Promise(e=>setTimeout(()=>{e()},1e3)),await i(),e()):e()})};module.exports=l;
35
- },{"../utils/helpers.js":"G5f5"}],"R2JU":[function(require,module,exports) {
36
- const e=require("crypto"),t="aes-192-cbc",r=Buffer.alloc(16,0),c=(c,a)=>{const n=e.scryptSync(a,"salt",24),p=e.createCipheriv(t,n,r);let u=p.update(c,"utf8","hex");return u+=p.final("hex")},a=(c,a)=>{const n=e.scryptSync(a,"salt",24),p=e.createDecipheriv(t,n,r);let u=p.update(c,"hex","utf8");return u+=p.final("utf8")};module.exports={decrypt:a,encrypt:c};
37
- },{}],"n6tx":[function(require,module,exports) {
38
- "use strict";var e=t(require("@babel/runtime/helpers/defineProperty"));function t(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function n(t){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?r(Object(i),!0).forEach(function(r){(0,e.default)(t,r,i[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}const i=require("chalk");var o=require("inquirer");const{encrypt:s,decrypt:a}=require("../utils/encryption"),{appendToFile:c,ensureFile:p,writeFile:l,boxInform:y,readJson:d,readFile:u}=require("../utils/helpers.js"),w=require("path"),g=process.cwd(),f=w.join(g,"./"),b=w.join(f,"package.json"),m=w.join(f,".gitignore"),h={encryptedFiles:[],encrypt:async(e,t,r)=>{let n=!0;if(await p(t)&&(console.log(`${i.bold.red("FILE ALREADY EXISTS ARE YOU SURE?")}`),n=await new Promise(e=>{o.prompt([{type:"confirm",message:i.bold.hex("#38be18")("Sure? (y/n): "),name:"sure"}]).then(({sure:t})=>{e(t)})})),n){let n=await u(r);const i=s(n,e);await l(t,i.toString())}},decrypt:async(e,t,r)=>{let n=!0;if(await p(r)&&(console.log(`${i.bold.red("FILE ALREADY EXISTS ARE YOU SURE?")}`),n=await new Promise(e=>{o.prompt([{type:"confirm",message:i.bold.hex("#38be18")(`Sure wanna override file ${r}? (y/n): `),name:"sure"}]).then(({sure:t})=>{e(t)})})),n){let n=await u(t);const o=a(n,e);await l(r,o),console.warn(`${i.bold.green.underline("DECRYPTED FILE:")} ${i.bold.dim(w.join(g,r))}`)}},init:async()=>{try{let t=await h.getPass(),r=await h.toEncrypt();if(h.packageJson=await d(b),h.ignore=await u(m),h.ignoredFiles=h.ignore.split("\n"),h.packageJson.fscripts&&h.packageJson.fscripts.encryptedFiles){h.encryptedFiles=h.packageJson.fscripts.encryptedFiles;let e="\n";for(const n of h.encryptedFiles){-1===h.ignoredFiles.indexOf(n)&&(e+=n+"\n");let i=(n+"").split("/"),o=i.pop(),s=i.slice(),a=i.slice();s.push("."+o),s=w.join(f,s.join("/")),a.push(o),a=w.join(f,a.join("/")),r?await h.encrypted(t,s,a):await h.decrypt(t,s,a)}e.trim().length>0&&(await c(m,e+"\n"),y(" Added files to .gitignore: ",e))}}catch(e){console.error(e)}},getPass:async()=>await new Promise(e=>{o.prompt([{type:"password",mask:i.underline(" ●"),message:i.bold.hex("#38be18")("Enter a SECRET key (same as pass app) : "),name:"pass"}]).then(({pass:t})=>{e(t)})}),toEncrypt:async()=>await new Promise(e=>{o.prompt([{type:"list",message:i.bold.hex("#38be18")("Which direction?"),choices:["encrypt","decrypt"],name:"encryptDecrypt"}]).then(async({encryptDecrypt:t})=>{e("encrypt"===t)})})};module.exports=n({},h);
39
- },{"../utils/encryption":"R2JU","../utils/helpers.js":"G5f5"}],"LHGm":[function(require,module,exports) {
40
- module.exports=function(l){"boolean"==typeof l&&(l={fullClear:l}),(l=l||{}).fullClear=!l.hasOwnProperty("fullClear")||l.fullClear,!0===l.fullClear&&process.stdout.write(""),process.stdout.write("")};
41
- },{}],"yLUY":[function(require,module,exports) {
42
- "use strict";var l=require("./helpers"),e=o(require("chalk"));function o(l){return l&&l.__esModule?l:{default:l}}const n=(0,l.timestamp)(),t={Reset:"",Red:"",Green:"",Yellow:""},r=console.info,a=console.log,c=console.warn,u=console.error;console.log=function(l){const o=Array.prototype.slice.call(arguments);o.unshift(`${e.default.gray(n)} ${e.default.gray.bold("[LOG]")}️`),r.apply(null,o)},console.info=function(l){const o=Array.prototype.slice.call(arguments);o.unshift(`${e.default.gray(n)} ${e.default.blue.bold("i [INFO]")}️`),r.apply(null,o)},console.warn=function(l){const o=Array.prototype.slice.call(arguments);o.unshift(`${e.default.gray(n)} ${e.default.yellow.bold("⚠ [WARN]")}️`),c.apply(null,o)},console.error=function(l){const o=Array.prototype.slice.call(arguments);o.unshift(`${e.default.gray(n)} ${e.default.red.bold("× [ERROR]")}️`),c.apply(null,o)};
43
- },{"./helpers":"G5f5"}],"ug8W":[function(require,module,exports) {
44
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={clear:!0,console:!0};Object.defineProperty(exports,"clear",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(exports,"console",{enumerable:!0,get:function(){return o.default}});var r=require("./helpers");Object.keys(r).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return r[t]}}))});var t=n(require("./clear")),o=n(require("./console"));function n(e){return e&&e.__esModule?e:{default:e}}
45
- },{"./helpers":"G5f5","./clear":"LHGm","./console":"yLUY"}],"B8Fa":[function(require,module,exports) {
46
- const e=require("http"),t=require("open"),s=require("server-destroy"),r=require("fs"),o=require("path"),{readJson:n}=require("../utils/helpers.js"),i=process.cwd(),c=o.join(i,"./"),l=o.join(c,"package.json"),a=async()=>{let n=await r.readFileSync(o.resolve(__dirname,"./index.html"),"utf-8");return new Promise(r=>{const o=e.createServer(async(e,t)=>{t.setHeader("Access-Control-Allow-Origin","*"),t.setHeader("Access-Control-Request-Method","*"),t.setHeader("Access-Control-Allow-Methods","OPTIONS, GET, POST"),t.setHeader("Access-Control-Allow-Headers","*");const s={"Access-Control-Allow-Origin":"*","Content-Type":"text/json","Access-Control-Allow-Methods":"OPTIONS, POST, GET","Access-Control-Max-Age":2592e3};if("POST"===e.method){t.writeHead(200,s);let n="";e.on("data",e=>{n+=e.toString()}),e.on("end",()=>{t.end(JSON.stringify({done:!0})),o.destroy(),r(JSON.parse(n))})}else t.end(n)}).listen(5252,()=>{t("http://localhost:5252",{wait:!1}).then(e=>e.unref())});s(o)})};async function d(){const e=await a(),t=await n(l);let s=o.resolve(c,"config.json");t.fscripts&&t.fscripts.config&&(s=o.resolve(c,t.fscripts.config)),await r.writeFileSync(s,JSON.stringify(e,null,4),"utf-8")}module.exports=d;
47
- },{"../utils/helpers.js":"G5f5"}],"Focm":[function(require,module,exports) {
48
- "use strict";var e=t(require("@babel/runtime/helpers/defineProperty"));function t(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function n(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach(function(a){(0,e.default)(t,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}const r=require("./lib/release/bump.js"),s=require("chalk"),{generateFScripts:o,generateToc:i}=require("./lib/generators"),c=require("./lib/parsers/parseScriptsMd.js"),l=require("./lib/upgradePackages"),{runSequence:p,runParallel:u,runCLICommand:m}=require("./lib/running"),{startPackageScripts:f,startScripts:d,clearRecent:y}=require("./lib/startScripts.js"),$=s.rgb(39,173,96).bold.underline,b=s.rgb(159,161,181),g=require("./lib/optionList"),w=require("./lib/git/validateNotDev.js"),h=require("./lib/encryption/encryption"),{clear:k}=require("./lib/utils/index"),j=require("./lib/auth/auth-conf");require("./lib/utils/console");const O=async(e,t=[])=>{const{spawn:a}=require("child_process");let r;return r=a(e,t,{stdio:"inherit",cwd:process.cwd(),env:n(n({},process.env),{FORCE_COLOR:!0})}),new Promise(e=>{r.on("close",t=>{e()})})};(async()=>{k(),0===require("yargs").usage("Usage: $0 <command> [options]").command("","Choose a script runner command",e=>{},async function(){}).example(`${$("$0")}`,`${b("Choose a script runner command")}`).command("branch","Create new branch instead of Development",e=>{},async function(){await w()}).example(`${$("$0")}`,`${b("Validates branch and creates new")}`).usage("$0 <task> name:of:task").command("start","Choose category then task to run",e=>{},async()=>{await d()}).example(`${$("$0 start")}`,`${b("Open a task selection selector")}`).command("scripts","Choose a script from package.json",e=>{},async function(){await f()}).example(`${$("$0 scripts")}`,`${b("Choose a script from package.json")}`).command("list","Select any task with text autocompletion",()=>{},async function(e){await d(!1)}).example(`${$("$0 list")}`,`${b("Show you all tasks you can run")}`).command("run [task]","Run a specific task",e=>{e.positional("task",{describe:"name of task to start",default:""})},async function(e){let{task:t}=e;const{allTasks:a}=await c(),n=a.find(e=>e.name===t);if(!n)return void console.error(`${s.bold.underline.red("Task not found")}`);let{script:r,lang:o}=n,i=r.split(" "),l=i[0],p={};if(i[0].includes("=")){let e=l.split("=");p[e[0]]=e[1],l=i[1],i.shift(),i.shift(),r=i.join(" ")}else i.shift(),r=i.join(" ");await m({task:{name:t},script:{lang:o,env:p,type:l,full:r,rest:r.split(" ")}})}).example(`${$("$0 run start:web")}`,`${b("Run task 'start:web'")}`).command("upgrade","Upgrade all your packages except ones specified by 'ignore-upgrade':[]",()=>{},async function(e){e._[1];await l()}).example(`${$("$0 upgrade")}`,`${b("Upgraded!")}`).command("bump","Bump package.json and beautify it!",()=>{},async function(e){let t=e.type;await r(t)}).example(`${$("$0 bump")}`,`${b("BUMPED AND PRETTY!")}`).command("run-s","Run a set of tasks one after another",()=>{},async function(e){let t=e._.slice();t.shift();const a=await c();await p(t,a)}).example(`${$("$0 run-s start:web start:desktop")}`,`${b("Run task 'start:web' and afterwards 'start:desktop'")}`).command("run-p","Run tasks in parallel",()=>{},async function(e){let t=e._.slice();t.shift();const a=await c();await u(t,a)}).example(`${$("$0 run-p start:web start:desktop")}`,`${b("Run task 'start:web' and at the same time 'start:desktop'")}`).command("remote","Get remote configuration",()=>{},async function(e){await j().catch(console.error)}).example(`${$("$0 remote")}`,`${b("Get remote config")}`).command("encryption","Encrypt/Decrypt secret files",()=>{},async function(e){await h.init()}).example(`${$("$0 encryption")}`,`${b("Encrypt/Decrypt secret files")}`).command("clear","Clear recent task history",()=>{},async function(e){await y()}).example(`${$("$0 clear")}`,`${b("Clear your recently run tasks")}`).example(`${$("$0 config")}`,`${b("Update a config value")}`).command("generate","Generate a sample fscripts.md file from the package.json",()=>{},async function(e){await o()}).example(`${$("$0 generate")}`,`${b("Generates a sample.fscripts.md you can use as template for your fscripts file")}`).command("toc","Generate updated Table of Contents on top of the fscripts.md file",()=>{},async function(e){let t=e._[1];await i(t)}).example(`${$("$0 toc")}`,`${b("Generate updated Table of Contents on top of the fscripts.md file")}`).argv._.length&&async function(){const e=await g();e?await O("yarn",["fsr",e]):console.log(s.green.bold("See you soon!"))}()})();
49
- },{"./lib/release/bump.js":"tplV","./lib/generators":"DhJC","./lib/parsers/parseScriptsMd.js":"IUT3","./lib/upgradePackages":"ySTt","./lib/running":"E5ik","./lib/startScripts.js":"JJn1","./lib/optionList":"DPDa","./lib/git/validateNotDev.js":"UQAN","./lib/encryption/encryption":"n6tx","./lib/utils/index":"ug8W","./lib/auth/auth-conf":"B8Fa","./lib/utils/console":"yLUY"}]},{},["Focm"], null)
1
+ import bump from "./lib/release/bump.js";
2
+ import chalk from "chalk";
3
+ import { generateFScripts, generateToc } from "./lib/generators/index.js";
4
+ import parseScriptFile from "./lib/parsers/parseScriptsMd.js";
5
+ import upgradePackages from "./lib/upgradePackages.js";
6
+ import { runSequence, runParallel, runCLICommand } from "./lib/running/index.js";
7
+ import { startPackageScripts, startScripts, clearRecent } from "./lib/startScripts.js";
8
+ const taskName = chalk.rgb(39, 173, 96).bold.underline;
9
+ const textDescription = chalk.rgb(159, 161, 181);
10
+ import optionList from "./lib/optionList.js";
11
+ import validateNotInDev from "./lib/git/validateNotDev.js";
12
+ import encrypt from "./lib/encryption/encryption.js";
13
+ import { clear } from "./lib/utils/index.js";
14
+ import authConfig from "./lib/auth/auth-conf.js";
15
+ import { spawn } from "child_process";
16
+ import yargs from "yargs";
17
+ import "./lib/utils/console.js";
18
+ const runCmd = async (app, argsList = []) => {
19
+ let shell;
20
+ shell = spawn(app, argsList, {
21
+ stdio: "inherit",
22
+ cwd: process.cwd(),
23
+ env: {
24
+ ...process.env,
25
+ ...{
26
+ FORCE_COLOR: true
27
+ }
28
+ }
29
+ });
30
+ return new Promise(resolve => {
31
+ shell.on("close", code => {
32
+ resolve();
33
+ });
34
+ });
35
+ };
36
+ (async () => {
37
+ clear();
38
+ const argv = yargs(process.argv.slice(2)).usage("Usage: $0 <command> [options]")
39
+
40
+ /**
41
+ * fsr
42
+ */.command("", "Choose a script runner command", yargs => {}, async function () {}).example(`${taskName("$0")}`, `${textDescription("Choose a script runner command")}`)
43
+
44
+ /**
45
+ * fsr
46
+ */.command("branch", "Create new branch instead of Development", yargs => {}, async function () {
47
+ await validateNotInDev();
48
+ }).example(`${taskName("$0")}`, `${textDescription("Validates branch and creates new")}`)
49
+
50
+ /**
51
+ * fsr
52
+ * start --
53
+ */.usage("$0 <task> name:of:task").command("start", "Choose category then task to run", yargs => {}, async () => {
54
+ await startScripts(); // if ((await startScripts()) === false) {
55
+ // await startPackageScripts();
56
+ // }
57
+ }).example(`${taskName("$0 start")}`, `${textDescription("Open a task selection selector")}`)
58
+
59
+ /**
60
+ * fsr
61
+ * scripts --
62
+ */.command("scripts", "Choose a script from package.json", yargs => {}, async function () {
63
+ await startPackageScripts();
64
+ }).example(`${taskName("$0 scripts")}`, `${textDescription("Choose a script from package.json")}`)
65
+
66
+ /**
67
+ * fsr
68
+ * list --
69
+ */.command("list", "Select any task with text autocompletion", () => {}, async function (argv) {
70
+ await startScripts(false);
71
+ // const tasks = await scriptsParsed().allTasks;
72
+ }).example(`${taskName("$0 list")}`, `${textDescription("Show you all tasks you can run")}`)
73
+
74
+ /**
75
+ * fsr
76
+ * run --
77
+ */.command("run [task]", "Run a specific task", yargs => {
78
+ yargs.positional("task", {
79
+ describe: "name of task to start",
80
+ default: ""
81
+ });
82
+ }, async function (argv) {
83
+ let {
84
+ task
85
+ } = argv;
86
+ const {
87
+ allTasks
88
+ } = await parseScriptFile();
89
+ const taskData = allTasks.find(t => t.name === task);
90
+ if (!taskData) {
91
+ console.error(`${chalk.bold.underline.red("Task not found")}`);
92
+ return;
93
+ }
94
+ let {
95
+ script,
96
+ lang
97
+ } = taskData;
98
+ let pars = script.split(" ");
99
+ let type = pars[0];
100
+ let env = {};
101
+ if (pars[0].includes("=")) {
102
+ let envs = type.split("=");
103
+ env[envs[0]] = envs[1];
104
+ type = pars[1];
105
+ pars.shift();
106
+ pars.shift();
107
+ script = pars.join(" ");
108
+ } else {
109
+ pars.shift();
110
+ script = pars.join(" ");
111
+ }
112
+ await runCLICommand({
113
+ task: {
114
+ name: task
115
+ },
116
+ script: {
117
+ lang: lang,
118
+ env: env,
119
+ type: type,
120
+ full: script,
121
+ rest: script.split(" ")
122
+ }
123
+ });
124
+ }).example(`${taskName("$0 run start:web")}`, `${textDescription("Run task 'start:web'")}`)
125
+
126
+ /**
127
+ * fsr
128
+ * upgrade --
129
+ */.command("upgrade", "Upgrade all your packages except ones specified by 'ignore-upgrade':[]", () => {}, async function (argv) {
130
+ let task = argv._[1];
131
+ await upgradePackages();
132
+ }).example(`${taskName("$0 upgrade")}`, `${textDescription("Upgraded!")}`)
133
+
134
+ /**
135
+ * fsr
136
+ * bump --
137
+ */.command("bump", "Bump package.json and beautify it!", () => {}, async function (argv) {
138
+ let type = argv.type;
139
+ await bump(type);
140
+ }).example(`${taskName("$0 bump")}`, `${textDescription("BUMPED AND PRETTY!")}`)
141
+
142
+ /**
143
+ * fsr
144
+ * run-s --
145
+ */.command("run-s", "Run a set of tasks one after another", () => {}, async function (argv) {
146
+ let tasks = argv._.slice();
147
+ tasks.shift();
148
+ const FcScripts = await parseScriptFile();
149
+ await runSequence(tasks, FcScripts);
150
+ }).example(`${taskName("$0 run-s start:web start:desktop")}`, `${textDescription("Run task 'start:web' and afterwards 'start:desktop'")}`)
151
+
152
+ /**
153
+ * fsr
154
+ * run-p --
155
+ */.command("run-p", "Run tasks in parallel", () => {}, async function (argv) {
156
+ let tasks = argv._.slice();
157
+ tasks.shift();
158
+ const FcScripts = await parseScriptFile();
159
+ await runParallel(tasks, FcScripts);
160
+ }).example(`${taskName("$0 run-p start:web start:desktop")}`, `${textDescription("Run task 'start:web' and at the same time 'start:desktop'")}`)
161
+
162
+ /**
163
+ * fsr
164
+ * remote config --
165
+ */.command("remote", "Get remote configuration", () => {}, async function (argv) {
166
+ await authConfig().catch(console.error);
167
+ }).example(`${taskName("$0 remote")}`, `${textDescription("Get remote config")}`)
168
+ /**
169
+ * fsr
170
+ * encryption --
171
+ */.command("encryption", "Encrypt/Decrypt secret files", () => {}, async function (argv) {
172
+ await encrypt.init();
173
+ }).example(`${taskName("$0 encryption")}`, `${textDescription("Encrypt/Decrypt secret files")}`)
174
+
175
+ /**
176
+ * fsr
177
+ * clear --
178
+ */.command("clear", "Clear recent task history", () => {}, async function (argv) {
179
+ await clearRecent();
180
+ }).example(`${taskName("$0 clear")}`, `${textDescription("Clear your recently run tasks")}`).example(`${taskName("$0 config")}`, `${textDescription("Update a config value")}`).command("generate", "Generate a sample fscripts.md file from the package.json", () => {}, async function (argv) {
181
+ await generateFScripts();
182
+ }).example(`${taskName("$0 generate")}`, `${textDescription("Generates a sample.fscripts.md you can use as template for your fscripts file")}`).command("toc", "Generate updated Table of Contents on top of the fscripts.md file", () => {}, async function (argv) {
183
+ let mdFile = argv._[1];
184
+ await generateToc(mdFile);
185
+ }).example(`${taskName("$0 toc")}`, `${textDescription("Generate updated Table of Contents on top of the fscripts.md file")}`).argv;
186
+ if (argv._.length === 0) {
187
+ (async function () {
188
+ const choice = await optionList();
189
+ if (choice) {
190
+ await runCmd("yarn", ["fsr", choice]);
191
+ } else {
192
+ console.log(chalk.green.bold("See you soon!"));
193
+ }
194
+ })();
195
+ }
196
+ })();
@@ -0,0 +1,63 @@
1
+ import http from "http";
2
+ import open from "open";
3
+ import destroyer from "server-destroy";
4
+ import fs from "fs";
5
+ import path from "path";
6
+ import { fileURLToPath } from "url";
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ import { readJson } from "../utils/helpers.js";
10
+ const scriptsDir = process.cwd();
11
+ const rootDir = path.join(scriptsDir, "./");
12
+ const packagePath = path.join(rootDir, "package.json");
13
+ const serverConfig = async () => {
14
+ let index = await fs.readFileSync(path.resolve(__dirname, "./index.html"), "utf-8");
15
+ return new Promise(resolve => {
16
+ const server = http.createServer(async (req, res) => {
17
+ res.setHeader("Access-Control-Allow-Origin", "*");
18
+ res.setHeader("Access-Control-Request-Method", "*");
19
+ res.setHeader("Access-Control-Allow-Methods", "OPTIONS, GET, POST");
20
+ res.setHeader("Access-Control-Allow-Headers", "*");
21
+ const headers = {
22
+ "Access-Control-Allow-Origin": "*",
23
+ "Content-Type": "text/json",
24
+ "Access-Control-Allow-Methods": "OPTIONS, POST, GET",
25
+ "Access-Control-Max-Age": 2592000 // 30 days
26
+ };
27
+ if (req.method === "POST") {
28
+ res.writeHead(200, headers);
29
+ let body = "";
30
+ req.on("data", chunk => {
31
+ body += chunk.toString(); // convert Buffer to string
32
+ });
33
+ req.on("end", () => {
34
+ res.end(JSON.stringify({
35
+ done: true
36
+ }));
37
+ server.destroy();
38
+ resolve(JSON.parse(body));
39
+ });
40
+ } else {
41
+ res.end(index);
42
+ }
43
+ }).listen(5252, () => {
44
+ // open the browser to the authorize url to start the workflow
45
+ open("http://localhost:5252", {
46
+ wait: false
47
+ }).then(cp => cp.unref());
48
+ });
49
+ destroyer(server);
50
+ });
51
+ };
52
+ async function main() {
53
+ const config = await serverConfig();
54
+ const packageJson = await readJson(packagePath);
55
+ let configFile = path.resolve(rootDir, "config.json");
56
+ if (packageJson.fscripts) {
57
+ if (packageJson.fscripts.config) {
58
+ configFile = path.resolve(rootDir, packageJson.fscripts.config);
59
+ }
60
+ }
61
+ await fs.writeFileSync(configFile, JSON.stringify(config, null, 4), "utf-8");
62
+ }
63
+ export default main;
@@ -0,0 +1,13 @@
1
+ let bbt = $("<div id='btt'>DOWNLOAD LINKS</div>");
2
+ $("body").append(`<style>#btt { position:fixed; z-index:8999999; bottom:0;left:0; background:rgba(0,0,0,0.6); padding:10px; color:white;}</style>`);
3
+ bbt.on("click", function () {
4
+ let linkszz = $(".c-dl-links a");
5
+ let dwlinks = [];
6
+ linkszz.each(function () {
7
+ if ($(this).attr("href").startsWith("https://rapidga")) {
8
+ dwlinks.push($(this).attr("href"));
9
+ }
10
+ });
11
+ window.navigator.clipboard.writeText(JSON.stringify(dwlinks));
12
+ });
13
+ $("body").append(bbt);
@@ -0,0 +1,67 @@
1
+ module.exports = (file, api, options) => {
2
+ const j = api.jscodeshift;
3
+ const printOptions = options.printOptions || {
4
+ quote: 'single'
5
+ };
6
+ const root = j(file.source);
7
+ const ARGUMENTS = 'arguments';
8
+ const ARGS = 'args';
9
+ const createArrowFunctionExpression = (fn, args) => j.arrowFunctionExpression((fn.params || []).concat(j.restElement(args)), fn.body, fn.generator);
10
+ const filterMemberExpressions = path => path.parent.value.type !== "MemberExpression";
11
+ const filterArrowFunctions = path => {
12
+ while (path.parent) {
13
+ switch (path.value.type) {
14
+ case 'ArrowFunctionExpression':
15
+ if (j(path).find(j.Identifier, {
16
+ name: ARGS
17
+ }).size()) {
18
+ console.error(file.path + ': arrow function uses "' + ARGS + '" already. ' + 'Please rename this identifier first.');
19
+ return false;
20
+ }
21
+ return true;
22
+ case 'FunctionExpression':
23
+ case 'MethodDeclaration':
24
+ case 'Function':
25
+ case 'FunctionDeclaration':
26
+ return false;
27
+ default:
28
+ break;
29
+ }
30
+ path = path.parent;
31
+ }
32
+ return false;
33
+ };
34
+ const updateArgumentsCalls = path => {
35
+ var afPath = path;
36
+ while (afPath.parent) {
37
+ if (afPath.value.type == 'ArrowFunctionExpression') {
38
+ break;
39
+ }
40
+ afPath = afPath.parent;
41
+ }
42
+ const {
43
+ value: fn
44
+ } = afPath;
45
+ const {
46
+ params
47
+ } = fn;
48
+ const param = params[params.length - 1];
49
+ var args;
50
+ if (param && param.type == 'RestElement') {
51
+ params.pop();
52
+ args = param.argument;
53
+ } else {
54
+ args = j.identifier(ARGS);
55
+ }
56
+ j(afPath).replaceWith(createArrowFunctionExpression(fn, args));
57
+ if (params.length) {
58
+ j(path).replaceWith(j.arrayExpression(params.concat(j.spreadElement(args))));
59
+ } else {
60
+ j(path).replaceWith(args);
61
+ }
62
+ };
63
+ const didTransform = root.find(j.Identifier, {
64
+ name: ARGUMENTS
65
+ }).filter(filterMemberExpressions).filter(filterArrowFunctions).forEach(updateArgumentsCalls).size() > 0;
66
+ return didTransform ? root.toSource(printOptions) : null;
67
+ };
@@ -0,0 +1,25 @@
1
+ export default (fileInfo, api) => {
2
+ const j = api.jscodeshift;
3
+ return j(fileInfo.source).find(j.FunctionExpression).forEach(path => {
4
+ console.warn("-- Console oa", path.value);
5
+ }).toSource();
6
+ // return j(fileInfo.source)
7
+ // .find(j.CallExpression, {
8
+ // callee: {
9
+ // type: "MemberExpression",
10
+ // object: { type: "Identifier", name: "function" }
11
+ // }
12
+ // })
13
+ // .remove()
14
+ // .toSource();
15
+ // return api
16
+ // .jscodeshift(fileInfo.source)
17
+ // .find(j.CallExpression, {
18
+ // callee: {
19
+ // type: "MemberExpression",
20
+ // object: { type: "Identifier", name: "function" }
21
+ // }
22
+ // })
23
+ // .renameTo("zebra")
24
+ // .toSource();
25
+ };
@@ -0,0 +1,12 @@
1
+ export default (fileInfo, api) => {
2
+ const j = api.jscodeshift;
3
+ return j(fileInfo.source).find(j.CallExpression, {
4
+ callee: {
5
+ type: "MemberExpression",
6
+ object: {
7
+ type: "Identifier",
8
+ name: "console"
9
+ }
10
+ }
11
+ }).remove().toSource();
12
+ };
@@ -0,0 +1,8 @@
1
+ function as() {
2
+ return 52;
3
+ }
4
+ const tree = function (e) {
5
+ console.log("ASD");
6
+ return 52;
7
+ };
8
+ var treze = "ZE";
@@ -0,0 +1,64 @@
1
+ import React, { Component } from "react";
2
+ import { render, Color, Box } from "ink";
3
+ import Selector from "./Selector.js";
4
+ import SelectInput from "ink-select-input";
5
+ import chalk from "chalk";
6
+ import { Tabs, Tab } from "./TabChanger.js";
7
+ // import { Tabs, Tab } from "ink-tab";
8
+
9
+ class App extends Component {
10
+ constructor() {
11
+ super();
12
+ this.state = {
13
+ activeTab: "foo",
14
+ i: 0,
15
+ active: [0, 0]
16
+ };
17
+ }
18
+ handleTabChange = name => {
19
+ this.setState({
20
+ activeTab: name
21
+ });
22
+ };
23
+ render() {
24
+ return /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Tabs, {
25
+ activeTab: this.state.activeTab,
26
+ onChange: this.handleTabChange
27
+ }, /*#__PURE__*/React.createElement(Tab, {
28
+ name: "foo"
29
+ // renderName={() => (
30
+ // <Box flexDirection={"column"}>
31
+ // <Box>
32
+ // <Color bold>TITLE</Color>
33
+ // </Box>
34
+ // <Box>Under</Box>
35
+ // </Box>
36
+ // )}
37
+ }, /*#__PURE__*/React.createElement(Box, null, "Test 52")), /*#__PURE__*/React.createElement(Tab, {
38
+ name: "baaar"
39
+ }, /*#__PURE__*/React.createElement(Box, {
40
+ padding: 2
41
+ }, /*#__PURE__*/React.createElement(Color, {
42
+ red: true,
43
+ bold: true
44
+ }, "HI"))), /*#__PURE__*/React.createElement(Tab, {
45
+ name: "baz"
46
+ }, "Baz")));
47
+ }
48
+ }
49
+ render(/*#__PURE__*/React.createElement(App, null));
50
+ /**
51
+ <Selector />
52
+
53
+ <SelectInput
54
+ items={[
55
+ {
56
+ label: `${chalk.bold.green("Test")}
57
+ two four fibe`,
58
+ value: "test"
59
+ },
60
+ { label: "Test2", value: "test2" }
61
+ ]}
62
+ onSelect={this.handleSelect}
63
+ />
64
+ */