template-file
Version:
🔀 Replace {{ variables }} in all your files
1 lines • 4.14 kB
JavaScript
(()=>{var e={706:(e,t,n)=>{"use strict";n.d(t,{renderToFolder:()=>m});const r=require("@blakek/deep");var s=n(147);const o=require("glob");var i=n.n(o);const a=require("mkdirp");var c=n.n(a),u=n(17),l=n.n(u);const d=require("util");class p{value;next;constructor(e){this.value=e}}class f{#e;#t;#n;constructor(){this.clear()}enqueue(e){const t=new p(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}const h=function(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new f;let n=0;const r=async(e,r,s)=>{n++;const o=(async()=>e(...s))();r(o);try{await o}catch{}n--,t.size>0&&t.dequeue()()},s=(s,...o)=>new Promise((i=>{((s,o,i)=>{t.enqueue(r.bind(void 0,s,o,i)),(async()=>{await Promise.resolve(),n<e&&t.size>0&&t.dequeue()()})()})(s,i,o)}));return Object.defineProperties(s,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}(Number(process.env.TF_FILE_LIMIT)||1024);function v(e,t){const n=function(){const e=String.raw`([\s\S]*?)`,t=String.raw`\n*`,n=String.raw`\s*`,r=`{{${n}`,s=`${n}}}`,o=`${String.raw`[ \t]*`}${r}(?:#(.*?))${s}${t}`,i=String.raw`${n}${r}/\1${s}`;return new RegExp(`${o}${e}${i}|${r}(.*?)${s}`,"g")}();return e.replace(n,((e,n,s,o)=>{if(void 0!==n)return(0,r.get)(n,t).map((e=>v(s,{...e,this:e}))).join("\n");const i=(0,r.get)(o,t);return null==i?"":"function"==typeof i?i():i}))}async function g(e,t){return v(await s.promises.readFile(e,{encoding:"utf-8"}),t)}async function m(e,t,n){return await c()(t),async function(e,t,n){const r=(0,d.promisify)(i()),s=await r(e);for(const e of s){const r=await h((()=>g(e,t)));n(e,r)}}(e,n,(function(e,n){const r=l().join(t,l().basename(e));s.promises.writeFile(r,n)}))}},70:e=>{function t(e){return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=()=>[],t.resolve=t,t.id=70,e.exports=t},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r);var e=n(147),t=n(17),s=n.n(t),o=n(706);!async function(){const t=process.argv.slice(2),r=t.some((e=>["-h","--help","help"].includes(e))),i=t.some((e=>["-v","--version","version"].includes(e))),a=3===t.length;if(i)return void console.log(await async function(){return(await e.promises.readFile(s().resolve(__dirname,"../package.json"),"utf-8").then(JSON.parse)).version}());!r&&a||(function(){const e=function(e){const t="\n Usage\n $ template-file <dataFile> <sourceGlob> <destination>\n\n Arguments\n dataFile Data file in JSON; used to replace variables in source files\n sourceGlob Files to process; see [glob](https://npmjs.com/glob) for syntax\n destination Destination directory where processed files go\n\n Examples\n Just handle one file\n $ template-file data.json template.txt build/\n\n Compile all .abc files in src/ to build/\n $ template-file stuff.json 'src/**/*.abc' build/\n ".replace(/^(\s*\n)*|(\s*\n)*$/g,""),n=t.match(/^\s*/)[0].length;return t.replace(new RegExp(`^ {${n}}`,"gm"),"")}();console.log(e)}(),process.exit(r?0:1));const[c,u,l]=t,d=await n(70)(s().resolve(c));(0,o.renderToFolder)(u,l,d)}()})();var s=exports;for(var o in r)s[o]=r[o];r.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})();