diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e3532d..afdc396 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ ## 0.1.4 +### Changed + +- Updated `@types/node` to version 22.5.0 +- Updated `esbuild` to version 0.23.1 +- Updated `typescript` to version 5.5.4 +- Reverted `ts-node` to version 10.9.2 + +### Added + +- Added `experimentalDecorators` option to tsconfig.json + ## 0.1.3 ### Changed @@ -7,10 +18,12 @@ - Updated version to 0.1.3 - Updated dependencies: - @types/node from 20.14.12 to 22.0.2 +- Minor code formatting changes ### Added - Added `provenance: true` to publishConfig in package.json +- Added `access: public` to publishConfig in package.json ## 0.1.2 @@ -23,6 +36,7 @@ - typescript to "\*" (latest) - Updated devDependencies: - ts-node to 11.0.0-beta.1 +- Improved error handling in Exec function ### Added @@ -33,7 +47,7 @@ ### Changed - Updated version to 0.1.1 -- Updated "Run" script to include "--Watch" option +- Updated "Run" script to include "--Watch" option instead of "-W" ## 0.1.0 @@ -46,22 +60,37 @@ ### Added -- Added watch option to Build command +- Added Watch option to Build command ### Removed - Removed peerDependencies +## 0.0.11 + +### Changed + +- Updated dependencies + +## 0.0.10 + +### Changed + +- Removed Document script +- Updated dependencies + ## 0.0.9 ### Changed - Updated version to 0.0.9 +- Updated package.json metadata - Updated dependencies - Modified package.json structure ### Added +- Added peerDependencies - Added peerDependenciesMeta for optional dependencies ## 0.0.8 @@ -70,6 +99,7 @@ - Updated version to 0.0.8 - Updated package description and keywords +- Updated homepage and repository URLs - Updated repository and author information - Updated dependencies @@ -88,25 +118,27 @@ - Updated package description - Updated author information - Updated dependencies +- Removed @playform/document from devDependencies ## 0.0.5 ### Changed - Updated version to 0.0.5 +- Updated package.json scripts ### Added -- Added peerDependencies +- Added @playform/document as a peer dependency ## 0.0.4 ### Changed -- Updated version to 0.0.5 (Note: This seems to be a typo in the summary, as - it should be 0.0.4) +- Updated version to 0.0.4 (corrected from 0.0.5 in the summary) - Added "Document" script - Updated peerDependencies +- Minor code formatting changes ## 0.0.3 @@ -116,6 +148,10 @@ - Updated dependencies - Modified Build function +### Added + +- Added tsc-alias to dependencies + ## 0.0.2 ### Changed @@ -126,6 +162,8 @@ - Updated package description, keywords, and metadata - Updated dependencies - Modified source files structure and content +- Changed main and types file paths +- Updated scripts in package.json ### Added @@ -137,4 +175,6 @@ ## 0.0.1 +### Added + - Initial release diff --git a/Documentation/assets/highlight.css b/Documentation/assets/highlight.css index a99bf37..de5e615 100644 --- a/Documentation/assets/highlight.css +++ b/Documentation/assets/highlight.css @@ -7,8 +7,18 @@ --dark-hl-2: #CE9178; --light-hl-3: #0000FF; --dark-hl-3: #569CD6; - --light-hl-4: #0451A5; - --dark-hl-4: #9CDCFE; + --light-hl-4: #000000; + --dark-hl-4: #C8C8C8; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #0070C1; + --dark-hl-6: #4FC1FF; + --light-hl-7: #0451A5; + --dark-hl-7: #9CDCFE; + --light-hl-8: #AF00DB; + --dark-hl-8: #C586C0; + --light-hl-9: #008000; + --dark-hl-9: #6A9955; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -19,6 +29,11 @@ --hl-2: var(--light-hl-2); --hl-3: var(--light-hl-3); --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } } @@ -28,6 +43,11 @@ --hl-2: var(--dark-hl-2); --hl-3: var(--dark-hl-3); --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } } @@ -37,6 +57,11 @@ --hl-2: var(--light-hl-2); --hl-3: var(--light-hl-3); --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } @@ -46,6 +71,11 @@ --hl-2: var(--dark-hl-2); --hl-3: var(--dark-hl-3); --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } @@ -54,4 +84,9 @@ .hl-2 { color: var(--hl-2); } .hl-3 { color: var(--hl-3); } .hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } pre, code { background: var(--code-background); } diff --git a/Documentation/assets/main.js b/Documentation/assets/main.js index 3572881..21a5d74 100644 --- a/Documentation/assets/main.js +++ b/Documentation/assets/main.js @@ -3,7 +3,7 @@ window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This me "use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. `,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/Documentation/functions/Build.Exec.html b/Documentation/functions/Build.Exec.html index adeabbe..165ea8f 100644 --- a/Documentation/functions/Build.Exec.html +++ b/Documentation/functions/Build.Exec.html @@ -1,4 +1,4 @@ -Exec | @playform/build - v0.1.3
  • The 'Exec' function is an asynchronous function that executes a command and logs the +Exec | @playform/build - v0.1.4

    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    +

Returns Promise<void>

diff --git a/Documentation/functions/Build.Merge.html b/Documentation/functions/Build.Merge.html index 8fb21c1..b1438f5 100644 --- a/Documentation/functions/Build.Merge.html +++ b/Documentation/functions/Build.Merge.html @@ -1 +1 @@ -Merge | @playform/build - v0.1.3
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

+Merge | @playform/build - v0.1.4
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

diff --git a/Documentation/functions/Build.build-1.html b/Documentation/functions/Build.build-1.html index 4a5f1aa..f463259 100644 --- a/Documentation/functions/Build.build-1.html +++ b/Documentation/functions/Build.build-1.html @@ -1,6 +1,6 @@ -build | @playform/build - v0.1.3
  • Represents a function that processes file patterns.

    +build | @playform/build - v0.1.4
    • Represents a function that processes file patterns.

      Parameters

      • File: string[]

        An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

      • OptionalOption: {
            ESBuild?: string;
            TypeScript?: string;
            Watch?: boolean;
        }

        An optional object that can contain two properties.

        • OptionalESBuild?: string

          A string representing the ESBuild option.

        • OptionalTypeScript?: string

          A string representing the TypeScript option.

          -
        • OptionalWatch?: boolean

      Returns Promise<void>

    +
  • OptionalWatch?: boolean

Returns Promise<void>

diff --git a/Documentation/functions/Exec.exec.html b/Documentation/functions/Exec.exec.html index 0912a51..5b3a513 100644 --- a/Documentation/functions/Exec.exec.html +++ b/Documentation/functions/Exec.exec.html @@ -1,4 +1,4 @@ -exec | @playform/build - v0.1.3
  • The 'Exec' function is an asynchronous function that executes a command and logs the +exec | @playform/build - v0.1.4

    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    +

Returns Promise<void>

diff --git a/Documentation/functions/File.file.html b/Documentation/functions/File.file.html index aac5882..6dd3ace 100644 --- a/Documentation/functions/File.file.html +++ b/Documentation/functions/File.file.html @@ -1,2 +1,2 @@ -file | @playform/build - v0.1.3
+file | @playform/build - v0.1.4
diff --git a/Documentation/functions/JSON.JSON.html b/Documentation/functions/JSON.JSON.html index c790b75..d3b77d8 100644 --- a/Documentation/functions/JSON.JSON.html +++ b/Documentation/functions/JSON.JSON.html @@ -1,4 +1,4 @@ -JSON | @playform/build - v0.1.3
  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +JSON | @playform/build - v0.1.4

    • The function 'JSON' is a TypeScript function that reads a JSON file and returns its parsed content.

      Parameters

      • File: string

        The File parameter is a string that represents the name or path of the JSON file that you want to parse.

        @@ -6,4 +6,4 @@ the directory path from which the JSON file should be loaded. If From is provided, it will be used as the base directory path. If From is not provided, the current directory will be used as the base directory path.

        -

      Returns Promise<any>

    +

Returns Promise<any>

diff --git a/Documentation/functions/Merge.merge.html b/Documentation/functions/Merge.merge.html index 3063ed6..97a06a8 100644 --- a/Documentation/functions/Merge.merge.html +++ b/Documentation/functions/Merge.merge.html @@ -1 +1 @@ -merge | @playform/build - v0.1.3
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

+merge | @playform/build - v0.1.4
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

diff --git a/Documentation/index.html b/Documentation/index.html index ea6120e..bb6be60 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -1,33 +1,48 @@ -@playform/build - v0.1.3

@playform/build - v0.1.3

🌀 Build —

Builds all your TypeScript files into JavaScript.

-

Add configuration and setup scripts:

+@playform/build - v0.1.4

@playform/build - v0.1.4

🌀 Build —

Build is a powerful tool that compiles all your TypeScript files into +JavaScript, leveraging the speed of ESBuild and the type-checking capabilities +of the TypeScript compiler.

+
    +
  • Fast compilation using ESBuild
  • +
  • TypeScript support with type-checking
  • +
  • Watch mode for development
  • +
  • Customizable ESBuild configuration
  • +
  • Supports both CommonJS and ES modules
  • +
+

Install the package as a development dependency:

npm install -D -E @playform/build
 
-

Through a command line run:

+

Run the build tool from the command line:

npx @playform/build 'Source/**/*.ts'
 
-

Help:

-
Usage: Build [options] <File...>

🌀 Build —

Arguments:
File 📝 File —

Options:
-V, --version output the version number
-ES, --ESBuild <File> 📜 ESBuild —
-TS, --TypeScript <File> 📜 TypeScript — (default: "tsconfig.json")
-W --Watch 👁️ Watch —
-h, --help display help for command +
Usage: Build [options] <File...>

Arguments:
File 📝 File patterns to build

Options:
-V, --version Output the version number
-ES, --ESBuild <File> 📜 Custom `ESBuild` configuration file
-TS, --TypeScript <File> 📜 Custom `TypeScript` configuration file (default: "tsconfig.json")
-W, --Watch 👁️ Watch mode: rebuild on file changes
-h, --help Display help information +
+ +

Add Build to your package.json scripts:

+
{
"scripts": {
"build": "Build 'Source/**/*.ts'",
"Run": "Build 'Source/**/*.ts' --Watch",
"prepublishOnly": "Build 'Source/**/*.ts'"
}
}
-

Or in a package.json file:

-
{
"scripts": {
"Run": "Build 'Source/**/*.ts' --Watch",
"prepublishOnly": "Build 'Source/**/*.ts'"
}
} +

Create a custom ESBuild configuration file (e.g., ESBuild.ts):

+
export default {
minify: true,
sourcemap: true,
// Add other esbuild options here
};
-

Or with a custom ESBuild config file:

-

package.json

-
{
"scripts": {
"prepublishOnly": "Build 'Source/**/*.ts' --ESBuild ESBuild.ts"
}
} +

Use the custom configuration:

+
npx @playform/build 'Source/**/*.ts' --ESBuild ESBuild.ts
 

See an example of a configuration file in ESBuild.ts

-

tsconfig.json

-
{
"compilerOptions": {
"outDir": "Target"
},
"extends": "@playform/build/tsconfig",
"include": ["Source"]
} +

Create a tsconfig.json file in your project root:

+
{
"compilerOptions": {
"outDir": "Target",
"rootDir": "Source",
"strict": true
},
"extends": "@playform/build/tsconfig",
"include": ["Source"]
}
-

jsconfig.json

-
{
"compilerOptions": {
"outDir": "Target"
},
"extends": "@playform/build/jsconfig",
"include": ["Source"]
} +

For JavaScript projects using JSDoc comments, create a jsconfig.json:

+
{
"compilerOptions": {
"outDir": "Target",
"rootDir": "Source",
"checkJs": true
},
"extends": "@playform/build/jsconfig",
"include": ["Source"]
}
-
+

Contributions are welcome! Please see CONTRIBUTING.md for +guidelines and feel free to submit a Pull Request.

+

This project is licensed under the MIT LICENSE.

+

See CHANGELOG.md for a history of changes to this component.

+
diff --git a/Documentation/interfaces/Build.Interface.html b/Documentation/interfaces/Build.Interface.html index d7d77ed..563a084 100644 --- a/Documentation/interfaces/Build.Interface.html +++ b/Documentation/interfaces/Build.Interface.html @@ -1,6 +1,6 @@ -Interface | @playform/build - v0.1.3
  • Represents a function that processes file patterns.

    +Interface | @playform/build - v0.1.4
    • Represents a function that processes file patterns.

      Parameters

      • File: string[]

        An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

      • OptionalOption: {
            ESBuild?: string;
            TypeScript?: string;
            Watch?: boolean;
        }

        An optional object that can contain two properties.

        • OptionalESBuild?: string

          A string representing the ESBuild option.

        • OptionalTypeScript?: string

          A string representing the TypeScript option.

          -
        • OptionalWatch?: boolean

      Returns Promise<void>

    +
  • OptionalWatch?: boolean

Returns Promise<void>

diff --git a/Documentation/interfaces/Exec.Interface.html b/Documentation/interfaces/Exec.Interface.html index aecc715..708f3e4 100644 --- a/Documentation/interfaces/Exec.Interface.html +++ b/Documentation/interfaces/Exec.Interface.html @@ -1,4 +1,4 @@ -Interface | @playform/build - v0.1.3

Interface Interface

  • The 'Exec' function is an asynchronous function that executes a command and logs the +Interface | @playform/build - v0.1.4

    Interface Interface

    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    +

Returns Promise<void>

diff --git a/Documentation/interfaces/File.Interface.html b/Documentation/interfaces/File.Interface.html index 507186f..5268619 100644 --- a/Documentation/interfaces/File.Interface.html +++ b/Documentation/interfaces/File.Interface.html @@ -1,2 +1,2 @@ -Interface | @playform/build - v0.1.3

Interface Interface

+Interface | @playform/build - v0.1.4

Interface Interface

diff --git a/Documentation/interfaces/JSON.Interface.html b/Documentation/interfaces/JSON.Interface.html index 49f2058..d73c6f1 100644 --- a/Documentation/interfaces/JSON.Interface.html +++ b/Documentation/interfaces/JSON.Interface.html @@ -1,4 +1,4 @@ -Interface | @playform/build - v0.1.3

Interface Interface

  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +Interface | @playform/build - v0.1.4

    Interface Interface

    • The function 'JSON' is a TypeScript function that reads a JSON file and returns its parsed content.

      Parameters

      • File: string

        The File parameter is a string that represents the name or path of the JSON file that you want to parse.

        @@ -6,4 +6,4 @@ the directory path from which the JSON file should be loaded. If From is provided, it will be used as the base directory path. If From is not provided, the current directory will be used as the base directory path.

        -

      Returns Promise<any>

    +

Returns Promise<any>

diff --git a/Documentation/media/CHANGELOG.md b/Documentation/media/CHANGELOG.md new file mode 100644 index 0000000..afdc396 --- /dev/null +++ b/Documentation/media/CHANGELOG.md @@ -0,0 +1,180 @@ +## 0.1.4 + +### Changed + +- Updated `@types/node` to version 22.5.0 +- Updated `esbuild` to version 0.23.1 +- Updated `typescript` to version 5.5.4 +- Reverted `ts-node` to version 10.9.2 + +### Added + +- Added `experimentalDecorators` option to tsconfig.json + +## 0.1.3 + +### Changed + +- Updated version to 0.1.3 +- Updated dependencies: + - @types/node from 20.14.12 to 22.0.2 +- Minor code formatting changes + +### Added + +- Added `provenance: true` to publishConfig in package.json +- Added `access: public` to publishConfig in package.json + +## 0.1.2 + +### Changed + +- Updated version to 0.1.2 +- Updated dependencies: + - @types/node to 20.14.12 + - deepmerge-ts to 7.1.0 + - typescript to "\*" (latest) +- Updated devDependencies: + - ts-node to 11.0.0-beta.1 +- Improved error handling in Exec function + +### Added + +- Added `provenance: true` to publishConfig in package.json + +## 0.1.1 + +### Changed + +- Updated version to 0.1.1 +- Updated "Run" script to include "--Watch" option instead of "-W" + +## 0.1.0 + +### Changed + +- Updated version to 0.1.0 +- Updated dependencies +- Modified Build function to support watch mode +- Updated TypeScript configuration + +### Added + +- Added Watch option to Build command + +### Removed + +- Removed peerDependencies + +## 0.0.11 + +### Changed + +- Updated dependencies + +## 0.0.10 + +### Changed + +- Removed Document script +- Updated dependencies + +## 0.0.9 + +### Changed + +- Updated version to 0.0.9 +- Updated package.json metadata +- Updated dependencies +- Modified package.json structure + +### Added + +- Added peerDependencies +- Added peerDependenciesMeta for optional dependencies + +## 0.0.8 + +### Changed + +- Updated version to 0.0.8 +- Updated package description and keywords +- Updated homepage and repository URLs +- Updated repository and author information +- Updated dependencies + +## 0.0.7 + +### Changed + +- Updated version to 0.0.7 +- Updated repository URLs to use HTTPS + +## 0.0.6 + +### Changed + +- Updated version to 0.0.6 +- Updated package description +- Updated author information +- Updated dependencies +- Removed @playform/document from devDependencies + +## 0.0.5 + +### Changed + +- Updated version to 0.0.5 +- Updated package.json scripts + +### Added + +- Added @playform/document as a peer dependency + +## 0.0.4 + +### Changed + +- Updated version to 0.0.4 (corrected from 0.0.5 in the summary) +- Added "Document" script +- Updated peerDependencies +- Minor code formatting changes + +## 0.0.3 + +### Changed + +- Updated version to 0.0.3 +- Updated dependencies +- Modified Build function + +### Added + +- Added tsc-alias to dependencies + +## 0.0.2 + +### Changed + +- Major refactoring and restructuring of the project +- Updated package name to "@playform/build" +- Updated version to 0.0.2 +- Updated package description, keywords, and metadata +- Updated dependencies +- Modified source files structure and content +- Changed main and types file paths +- Updated scripts in package.json + +### Added + +- Added new source files and interfaces + +### Removed + +- Removed several old source files and configurations + +## 0.0.1 + +### Added + +- Initial release diff --git a/Documentation/media/CONTRIBUTING.md b/Documentation/media/CONTRIBUTING.md new file mode 100644 index 0000000..c390eae --- /dev/null +++ b/Documentation/media/CONTRIBUTING.md @@ -0,0 +1,134 @@ +# Contributing Guidelines + +Welcome to our community! We are committed to creating a welcoming and inclusive +environment for all contributors. Before you get started, please read and adhere +to the following code of conduct. By participating in our community, you agree +to abide by these guidelines. + +## Our Pledge + +We, as members, contributors, and leaders, pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. We pledge to act and interact in ways that contribute +to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances + of any kind +- Trolling, insulting, or derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. Community leaders have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned with this Code of Conduct, and will communicate reasons for +moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +Community@PlayForm.Cloud. All complaints will be reviewed and investigated +promptly and fairly. All community leaders are obligated to respect the privacy +and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: HTTPS://www.contributor-covenant.org +[v2.1]: HTTPS://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: HTTPS://github.com/mozilla/diversity +[FAQ]: HTTPS://www.contributor-covenant.org/faq +[translations]: HTTPS://www.contributor-covenant.org/translations + +Thank you for being part of our community and helping us create a safe and +respectful environment for everyone! diff --git a/Documentation/media/LICENSE b/Documentation/media/LICENSE new file mode 100644 index 0000000..f236d76 --- /dev/null +++ b/Documentation/media/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2023-2024 PlayForm + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Documentation/modules/Build.html b/Documentation/modules/Build.html index 4ae4604..517b943 100644 --- a/Documentation/modules/Build.html +++ b/Documentation/modules/Build.html @@ -1,8 +1,8 @@ -Build | @playform/build - v0.1.3

Index

Interfaces

Interface +Build | @playform/build - v0.1.4
+
diff --git a/Documentation/modules/ESBuild.html b/Documentation/modules/ESBuild.html index 579e0d6..c410759 100644 --- a/Documentation/modules/ESBuild.html +++ b/Documentation/modules/ESBuild.html @@ -1,2 +1,2 @@ -ESBuild | @playform/build - v0.1.3
+ESBuild | @playform/build - v0.1.4
diff --git a/Documentation/modules/Exec.html b/Documentation/modules/Exec.html index 6ac86ed..a014f8d 100644 --- a/Documentation/modules/Exec.html +++ b/Documentation/modules/Exec.html @@ -1,3 +1,3 @@ -Exec | @playform/build - v0.1.3

Index

Interfaces

Interface +Exec | @playform/build - v0.1.4
+
diff --git a/Documentation/modules/File.html b/Documentation/modules/File.html index 87df5fe..4a0e419 100644 --- a/Documentation/modules/File.html +++ b/Documentation/modules/File.html @@ -1,3 +1,3 @@ -File | @playform/build - v0.1.3

Index

Interfaces

Interface +File | @playform/build - v0.1.4
+
diff --git a/Documentation/modules/JSON.html b/Documentation/modules/JSON.html index d98cb1e..65380b9 100644 --- a/Documentation/modules/JSON.html +++ b/Documentation/modules/JSON.html @@ -1,3 +1,3 @@ -JSON | @playform/build - v0.1.3

Index

Interfaces

Interface +JSON | @playform/build - v0.1.4
+
diff --git a/Documentation/modules/Merge.html b/Documentation/modules/Merge.html index 7d200af..43e0d2e 100644 --- a/Documentation/modules/Merge.html +++ b/Documentation/modules/Merge.html @@ -1,2 +1,2 @@ -Merge | @playform/build - v0.1.3
+Merge | @playform/build - v0.1.4
diff --git a/Documentation/variables/Build.Current.html b/Documentation/variables/Build.Current.html index 1a8c5bf..cad678e 100644 --- a/Documentation/variables/Build.Current.html +++ b/Documentation/variables/Build.Current.html @@ -1 +1 @@ -Current | @playform/build - v0.1.3
+Current | @playform/build - v0.1.4
diff --git a/Documentation/variables/Build.Pipe.html b/Documentation/variables/Build.Pipe.html index 4102b30..64fe3d7 100644 --- a/Documentation/variables/Build.Pipe.html +++ b/Documentation/variables/Build.Pipe.html @@ -1 +1 @@ -Pipe | @playform/build - v0.1.3
+Pipe | @playform/build - v0.1.4
diff --git a/Documentation/variables/Build.build.html b/Documentation/variables/Build.build.html index fa5a784..664af55 100644 --- a/Documentation/variables/Build.build.html +++ b/Documentation/variables/Build.build.html @@ -1 +1 @@ -build | @playform/build - v0.1.3
+build | @playform/build - v0.1.4
diff --git a/Documentation/variables/ESBuild.ESBuild.html b/Documentation/variables/ESBuild.ESBuild.html index 6cef148..0cf7c39 100644 --- a/Documentation/variables/ESBuild.ESBuild.html +++ b/Documentation/variables/ESBuild.ESBuild.html @@ -1 +1 @@ -ESBuild | @playform/build - v0.1.3
+ESBuild | @playform/build - v0.1.4
diff --git a/Target/Class/Build.js b/Target/Class/Build.js index 15b593d..cd5e582 100644 --- a/Target/Class/Build.js +++ b/Target/Class/Build.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -var i=new(await import("commander")).Command().name("Build").version("0.1.3").description("\u{1F300}\u2001Build\u2001\u2014").argument("","\u{1F4DD}\u2001File\u2001\u2014").option("-ES, --ESBuild ","\u{1F4DC}\u2001ESBuild\u2001\u2014").option("-TS, --TypeScript ","\u{1F4DC}\u2001TypeScript\u2001\u2014","tsconfig.json").option("-W --Watch","\u{1F441}\uFE0F\u2001Watch\u2001\u2014").action((await import("../Function/Build.js")).default).parse();export{i as default}; +var i=new(await import("commander")).Command().name("Build").version("0.1.4").description("\u{1F300}\u2001Build\u2001\u2014").argument("","\u{1F4DD}\u2001File\u2001\u2014").option("-ES, --ESBuild ","\u{1F4DC}\u2001ESBuild\u2001\u2014").option("-TS, --TypeScript ","\u{1F4DC}\u2001TypeScript\u2001\u2014","tsconfig.json").option("-W --Watch","\u{1F441}\uFE0F\u2001Watch\u2001\u2014").action((await import("../Function/Build.js")).default).parse();export{i as default};