@rindo/core 4.25.3 → 4.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/cli/index.cjs +1 -1
  2. package/cli/index.js +1 -1
  3. package/cli/package.json +1 -1
  4. package/compiler/package.json +1 -1
  5. package/compiler/rindo.js +37 -13
  6. package/dev-server/client/index.js +1 -1
  7. package/dev-server/client/package.json +1 -1
  8. package/dev-server/connector.html +2 -2
  9. package/dev-server/index.js +1 -1
  10. package/dev-server/package.json +1 -1
  11. package/dev-server/server-process.js +2 -2
  12. package/internal/app-data/package.json +1 -1
  13. package/internal/client/index.js +405 -14
  14. package/internal/client/package.json +1 -1
  15. package/internal/client/patch-browser.js +1 -1
  16. package/internal/client/shadow-css.js +30 -6
  17. package/internal/hydrate/index.js +434 -15
  18. package/internal/hydrate/package.json +1 -1
  19. package/internal/hydrate/runner.d.ts +22 -5
  20. package/internal/hydrate/runner.js +29 -4
  21. package/internal/package.json +1 -1
  22. package/internal/rindo-public-compiler.d.ts +23 -6
  23. package/internal/testing/index.js +404 -23
  24. package/internal/testing/package.json +1 -1
  25. package/mock-doc/index.cjs +3 -3
  26. package/mock-doc/index.d.ts +5 -1
  27. package/mock-doc/index.js +3 -3
  28. package/mock-doc/package.json +1 -1
  29. package/package.json +1 -1
  30. package/screenshot/index.js +1 -1
  31. package/screenshot/package.json +1 -1
  32. package/screenshot/pixel-match.js +1 -1
  33. package/sys/node/index.js +1 -1
  34. package/sys/node/package.json +1 -1
  35. package/sys/node/worker.js +1 -1
  36. package/testing/index.js +1 -1
  37. package/testing/jest/jest-27-and-under/matchers/html.d.ts +2 -1
  38. package/testing/jest/jest-28/matchers/html.d.ts +2 -1
  39. package/testing/jest/jest-29/matchers/html.d.ts +2 -1
  40. package/testing/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Rindo Mock Doc (CommonJS) v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Mock Doc (CommonJS) v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
  var __defProp = Object.defineProperty;
@@ -6288,7 +6288,7 @@ function normalizeSerializationOptions(opts = {}) {
6288
6288
  removeAttributeQuotes: typeof opts.removeAttributeQuotes !== "boolean" ? false : opts.removeAttributeQuotes,
6289
6289
  removeBooleanAttributeQuotes: typeof opts.removeBooleanAttributeQuotes !== "boolean" ? false : opts.removeBooleanAttributeQuotes,
6290
6290
  removeHtmlComments: typeof opts.removeHtmlComments !== "boolean" ? false : opts.removeHtmlComments,
6291
- serializeShadowRoot: typeof opts.serializeShadowRoot !== "boolean" ? true : opts.serializeShadowRoot,
6291
+ serializeShadowRoot: typeof opts.serializeShadowRoot === "undefined" ? "declarative-shadow-dom" : opts.serializeShadowRoot,
6292
6292
  fullDocument: typeof opts.fullDocument !== "boolean" ? true : opts.fullDocument
6293
6293
  };
6294
6294
  }
@@ -6417,7 +6417,7 @@ style="${cssText}">`;
6417
6417
  }
6418
6418
  if (EMPTY_ELEMENTS.has(tagName) === false) {
6419
6419
  const shadowRoot = node.shadowRoot;
6420
- if (shadowRoot != null && opts.serializeShadowRoot) {
6420
+ if (shadowRoot != null && opts.serializeShadowRoot !== false) {
6421
6421
  output.indent = output.indent + ((_c = opts.indentSpaces) != null ? _c : 0);
6422
6422
  yield* streamToHtml(shadowRoot, opts, output);
6423
6423
  output.indent = output.indent - ((_d = opts.indentSpaces) != null ? _d : 0);
@@ -906,7 +906,11 @@ interface SerializeNodeToHtmlOptions {
906
906
  removeBooleanAttributeQuotes?: boolean;
907
907
  removeEmptyAttributes?: boolean;
908
908
  removeHtmlComments?: boolean;
909
- serializeShadowRoot?: boolean;
909
+ serializeShadowRoot?: 'declarative-shadow-dom' | 'scoped' | {
910
+ 'declarative-shadow-dom'?: string[];
911
+ scoped?: string[];
912
+ default: 'declarative-shadow-dom' | 'scoped';
913
+ } | boolean;
910
914
  fullDocument?: boolean;
911
915
  }
912
916
  declare class MockShadowRoot extends MockDocumentFragment {
package/mock-doc/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Rindo Mock Doc v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Mock Doc v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
 
5
5
  // src/runtime/runtime-constants.ts
@@ -6235,7 +6235,7 @@ function normalizeSerializationOptions(opts = {}) {
6235
6235
  removeAttributeQuotes: typeof opts.removeAttributeQuotes !== "boolean" ? false : opts.removeAttributeQuotes,
6236
6236
  removeBooleanAttributeQuotes: typeof opts.removeBooleanAttributeQuotes !== "boolean" ? false : opts.removeBooleanAttributeQuotes,
6237
6237
  removeHtmlComments: typeof opts.removeHtmlComments !== "boolean" ? false : opts.removeHtmlComments,
6238
- serializeShadowRoot: typeof opts.serializeShadowRoot !== "boolean" ? true : opts.serializeShadowRoot,
6238
+ serializeShadowRoot: typeof opts.serializeShadowRoot === "undefined" ? "declarative-shadow-dom" : opts.serializeShadowRoot,
6239
6239
  fullDocument: typeof opts.fullDocument !== "boolean" ? true : opts.fullDocument
6240
6240
  };
6241
6241
  }
@@ -6364,7 +6364,7 @@ style="${cssText}">`;
6364
6364
  }
6365
6365
  if (EMPTY_ELEMENTS.has(tagName) === false) {
6366
6366
  const shadowRoot = node.shadowRoot;
6367
- if (shadowRoot != null && opts.serializeShadowRoot) {
6367
+ if (shadowRoot != null && opts.serializeShadowRoot !== false) {
6368
6368
  output.indent = output.indent + ((_c = opts.indentSpaces) != null ? _c : 0);
6369
6369
  yield* streamToHtml(shadowRoot, opts, output);
6370
6370
  output.indent = output.indent - ((_d = opts.indentSpaces) != null ? _d : 0);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/mock-doc",
3
- "version": "4.25.3",
3
+ "version": "4.26.0",
4
4
  "description": "Mock window, document and DOM outside of a browser environment.",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core",
3
- "version": "4.25.3",
3
+ "version": "4.26.0",
4
4
  "license": "MIT",
5
5
  "main": "./internal/rindo-core/index.cjs",
6
6
  "module": "./internal/rindo-core/index.js",
@@ -1,5 +1,5 @@
1
1
  /*
2
- Rindo Screenshot v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Screenshot v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/screenshot",
3
- "version": "4.25.3",
3
+ "version": "4.26.0",
4
4
  "description": "Rindo Screenshot.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,5 +1,5 @@
1
1
  /*
2
- Rindo Screenshot Pixel Match v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Screenshot Pixel Match v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
package/sys/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Rindo Node System v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Node System v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";var Fs=Object.create;var er=Object.defineProperty;var $s=Object.getOwnPropertyDescriptor;var Bs=Object.getOwnPropertyNames;var Hs=Object.getPrototypeOf,js=Object.prototype.hasOwnProperty;var dn=n=>{throw TypeError(n)};var Us=(n,e,t)=>e in n?er(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ge=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),hn=(n,e)=>{for(var t in e)er(n,t,{get:e[t],enumerable:!0})},pn=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Bs(e))!js.call(n,i)&&i!==t&&er(n,i,{get:()=>e[i],enumerable:!(r=$s(e,i))||r.enumerable});return n};var ye=(n,e,t)=>(t=n!=null?Fs(Hs(n)):{},pn(e||!n||!n.__esModule?er(t,"default",{value:n,enumerable:!0}):t,n)),Xs=n=>pn(er({},"__esModule",{value:!0}),n);var Mr=(n,e,t)=>Us(n,typeof e!="symbol"?e+"":e,t),Ir=(n,e,t)=>e.has(n)||dn("Cannot "+t);var J=(n,e,t)=>(Ir(n,e,"read from private field"),t?t.call(n):e.get(n)),He=(n,e,t)=>e.has(n)?dn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Ee=(n,e,t,r)=>(Ir(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),At=(n,e,t)=>(Ir(n,e,"access private method"),t);var yn=ge((jl,tr)=>{"use strict";var Js=typeof process<"u"&&process.env.TERM_PROGRAM==="Hyper",Ws=typeof process<"u"&&process.platform==="win32",gn=typeof process<"u"&&process.platform==="linux",Nr={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",question:"?",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},mn=Object.assign({},Nr,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),vn=Object.assign({},Nr,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:gn?"\u25B8":"\u276F",pointerSmall:gn?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});tr.exports=Ws&&!Js?mn:vn;Reflect.defineProperty(tr.exports,"common",{enumerable:!1,value:Nr});Reflect.defineProperty(tr.exports,"windows",{enumerable:!1,value:mn});Reflect.defineProperty(tr.exports,"other",{enumerable:!1,value:vn})});var En=ge((Ul,Fr)=>{"use strict";var Vs=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),Gs=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,zs=()=>typeof process<"u"?process.env.FORCE_COLOR!=="0":!1,bn=()=>{let n={enabled:zs(),visible:!0,styles:{},keys:{}},e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,c=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(u,h)=>{u.includes(a)&&(u=u.replace(c,a+o));let g=o+u+a;return h?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),r=(s,o)=>{if(s===""||s==null)return"";if(n.enabled===!1)return s;if(n.visible===!1)return"";let a=""+s,c=a.includes(`
5
5
  `),u=o.length;for(u>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());u-- >0;)a=t(n.styles[o[u]],a,c);return a},i=(s,o,a)=>{n.styles[s]=e({name:s,codes:o}),(n.keys[a]||(n.keys[a]=[])).push(s),Reflect.defineProperty(n,s,{configurable:!0,enumerable:!0,set(u){n.alias(s,u)},get(){let u=h=>r(h,u.stack);return Reflect.setPrototypeOf(u,n),u.stack=this.stack?this.stack.concat(s):[s],u}})};return i("reset",[0,0],"modifier"),i("bold",[1,22],"modifier"),i("dim",[2,22],"modifier"),i("italic",[3,23],"modifier"),i("underline",[4,24],"modifier"),i("inverse",[7,27],"modifier"),i("hidden",[8,28],"modifier"),i("strikethrough",[9,29],"modifier"),i("black",[30,39],"color"),i("red",[31,39],"color"),i("green",[32,39],"color"),i("yellow",[33,39],"color"),i("blue",[34,39],"color"),i("magenta",[35,39],"color"),i("cyan",[36,39],"color"),i("white",[37,39],"color"),i("gray",[90,39],"color"),i("grey",[90,39],"color"),i("bgBlack",[40,49],"bg"),i("bgRed",[41,49],"bg"),i("bgGreen",[42,49],"bg"),i("bgYellow",[43,49],"bg"),i("bgBlue",[44,49],"bg"),i("bgMagenta",[45,49],"bg"),i("bgCyan",[46,49],"bg"),i("bgWhite",[47,49],"bg"),i("blackBright",[90,39],"bright"),i("redBright",[91,39],"bright"),i("greenBright",[92,39],"bright"),i("yellowBright",[93,39],"bright"),i("blueBright",[94,39],"bright"),i("magentaBright",[95,39],"bright"),i("cyanBright",[96,39],"bright"),i("whiteBright",[97,39],"bright"),i("bgBlackBright",[100,49],"bgBright"),i("bgRedBright",[101,49],"bgBright"),i("bgGreenBright",[102,49],"bgBright"),i("bgYellowBright",[103,49],"bgBright"),i("bgBlueBright",[104,49],"bgBright"),i("bgMagentaBright",[105,49],"bgBright"),i("bgCyanBright",[106,49],"bgBright"),i("bgWhiteBright",[107,49],"bgBright"),n.ansiRegex=Gs,n.hasColor=n.hasAnsi=s=>(n.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&n.ansiRegex.test(s)),n.alias=(s,o)=>{let a=typeof o=="string"?n[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),n.styles[s]=a,a.stack=[s]),Reflect.defineProperty(n,s,{configurable:!0,enumerable:!0,set(c){n.alias(s,c)},get(){let c=u=>r(u,c.stack);return Reflect.setPrototypeOf(c,n),c.stack=this.stack?this.stack.concat(a.stack):a.stack,c}})},n.theme=s=>{if(!Vs(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))n.alias(o,s[o]);return n},n.alias("unstyle",s=>typeof s=="string"&&s!==""?(n.ansiRegex.lastIndex=0,s.replace(n.ansiRegex,"")):""),n.alias("noop",s=>s),n.none=n.clear=n.noop,n.stripColor=n.unstyle,n.symbols=yn(),n.define=i,n};Fr.exports=bn();Fr.exports.create=bn});var In=ge((kc,Mn)=>{Mn.exports=function(n){var e={};function t(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return n[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=n,t.c=e,t.i=function(r){return r},t.d=function(r,i,s){t.o(r,i)||Object.defineProperty(r,i,{configurable:!1,enumerable:!0,get:s})},t.n=function(r){var i=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(i,"a",i),i},t.o=function(r,i){return Object.prototype.hasOwnProperty.call(r,i)},t.p="",t(t.s=14)}([function(n,e){n.exports=require("path")},function(n,e,t){"use strict";e.__esModule=!0;var r=t(173),i=s(r);function s(o){return o&&o.__esModule?o:{default:o}}e.default=function(o){return function(){var a=o.apply(this,arguments);return new i.default(function(c,u){function h(g,T){try{var S=a[g](T),p=S.value}catch(b){u(b);return}if(S.done)c(p);else return i.default.resolve(p).then(function(b){h("next",b)},function(b){h("throw",b)})}return h("next")})}}},function(n,e){n.exports=require("util")},function(n,e){n.exports=require("fs")},function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class r extends Error{constructor(u,h){super(u),this.code=h}}e.MessageError=r;class i extends r{constructor(u,h,g){super(u,h),this.process=g}}e.ProcessSpawnError=i;class s extends r{}e.SecurityError=s;class o extends r{}e.ProcessTermError=o;class a extends Error{constructor(u,h){super(u),this.responseCode=h}}e.ResponseError=a},function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFirstSuitableFolder=e.readFirstAvailableStream=e.makeTempDir=e.hardlinksWork=e.writeFilePreservingEol=e.getFileSizeOnDisk=e.walk=e.symlink=e.find=e.readJsonAndFile=e.readJson=e.readFileAny=e.hardlinkBulk=e.copyBulk=e.unlink=e.glob=e.link=e.chmod=e.lstat=e.exists=e.mkdirp=e.stat=e.access=e.rename=e.readdir=e.realpath=e.readlink=e.writeFile=e.open=e.readFileBuffer=e.lockQueue=e.constants=void 0;var r;function i(){return r=$(t(1))}let s=(()=>{var Y=(0,(r||i()).default)(function*(G,U,j,V){let re=(()=>{var oe=(0,(r||i()).default)(function*(Pe){let pe=Pe.src,ne=Pe.dest,_t=Pe.type,Ke=Pe.onFresh||_e,Te=Pe.onDone||_e;if(ae.has(ne.toLowerCase())?V.verbose(`The case-insensitive file ${ne} shouldn't be copied twice in one bulk copy`):ae.add(ne.toLowerCase()),_t==="symlink"){yield Se((l||f()).default.dirname(ne)),Ke(),Ie.symlink.push({dest:ne,linkname:pe}),Te();return}if(U.ignoreBasenames.indexOf((l||f()).default.basename(pe))>=0)return;let xe=yield Re(pe),gt;xe.isDirectory()&&(gt=yield De(pe));let We;try{We=yield Re(ne)}catch(Be){if(Be.code!=="ENOENT")throw Be}if(We){let Be=xe.isSymbolicLink()&&We.isSymbolicLink(),mt=xe.isDirectory()&&We.isDirectory(),ut=xe.isFile()&&We.isFile();if(ut&&he.has(ne)){Te(),V.verbose(V.lang("verboseFileSkipArtifact",pe));return}if(ut&&xe.size===We.size&&(0,(X||Z()).fileDatesEqual)(xe.mtime,We.mtime)){Te(),V.verbose(V.lang("verboseFileSkip",pe,ne,xe.size,+xe.mtime));return}if(Be){let ke=yield le(pe);if(ke===(yield le(ne))){Te(),V.verbose(V.lang("verboseFileSkipSymlink",pe,ne,ke));return}}if(mt){let ke=yield De(ne);Ut(gt,"src files not initialised");for(var ot=ke,Ct=Array.isArray(ot),Ye=0,ot=Ct?ot:ot[Symbol.iterator]();;){var Jt;if(Ct){if(Ye>=ot.length)break;Jt=ot[Ye++]}else{if(Ye=ot.next(),Ye.done)break;Jt=Ye.value}let Ot=Jt;if(gt.indexOf(Ot)<0){let vt=(l||f()).default.join(ne,Ot);if(j.add(vt),(yield Re(vt)).isDirectory())for(var at=yield De(vt),St=Array.isArray(at),Qe=0,at=St?at:at[Symbol.iterator]();;){var Wt;if(St){if(Qe>=at.length)break;Wt=at[Qe++]}else{if(Qe=at.next(),Qe.done)break;Wt=Qe.value}let kr=Wt;j.add((l||f()).default.join(vt,kr))}}}}}if(We&&We.isSymbolicLink()&&(yield(0,(X||Z()).unlink)(ne),We=null),xe.isSymbolicLink()){Ke();let Be=yield le(pe);Ie.symlink.push({dest:ne,linkname:Be}),Te()}else if(xe.isDirectory()){We||(V.verbose(V.lang("verboseFileFolder",ne)),yield Se(ne));let Be=ne.split((l||f()).default.sep);for(;Be.length;)ae.add(Be.join((l||f()).default.sep).toLowerCase()),Be.pop();Ut(gt,"src files not initialised");let mt=gt.length;mt||Te();for(var lt=gt,Lt=Array.isArray(lt),Ze=0,lt=Lt?lt:lt[Symbol.iterator]();;){var $e;if(Lt){if(Ze>=lt.length)break;$e=lt[Ze++]}else{if(Ze=lt.next(),Ze.done)break;$e=Ze.value}let ut=$e;G.push({dest:(l||f()).default.join(ne,ut),onFresh:Ke,onDone:function(ke){function Ot(){return ke.apply(this,arguments)}return Ot.toString=function(){return ke.toString()},Ot}(function(){--mt===0&&Te()}),src:(l||f()).default.join(pe,ut)})}}else if(xe.isFile())Ke(),Ie.file.push({src:pe,dest:ne,atime:xe.atime,mtime:xe.mtime,mode:xe.mode}),Te();else throw new Error(`unsure how to copy this: ${pe}`)});return function(pe){return oe.apply(this,arguments)}})(),he=new Set(U.artifactFiles||[]),ae=new Set;for(var se=G,ue=Array.isArray(se),ie=0,se=ue?se:se[Symbol.iterator]();;){var ze;if(ue){if(ie>=se.length)break;ze=se[ie++]}else{if(ie=se.next(),ie.done)break;ze=ie.value}let oe=ze,Pe=oe.onDone;oe.onDone=function(){U.onProgress(oe.dest),Pe&&Pe()}}U.onStart(G.length);let Ie={file:[],symlink:[],link:[]};for(;G.length;){let oe=G.splice(0,kt);yield Promise.all(oe.map(re))}for(var Ne=he,xt=Array.isArray(Ne),it=0,Ne=xt?Ne:Ne[Symbol.iterator]();;){var Mt;if(xt){if(it>=Ne.length)break;Mt=Ne[it++]}else{if(it=Ne.next(),it.done)break;Mt=it.value}let oe=Mt;j.has(oe)&&(V.verbose(V.lang("verboseFilePhantomExtraneous",oe)),j.delete(oe))}for(var Fe=j,qt=Array.isArray(Fe),st=0,Fe=qt?Fe:Fe[Symbol.iterator]();;){var It;if(qt){if(st>=Fe.length)break;It=Fe[st++]}else{if(st=Fe.next(),st.done)break;It=st.value}let oe=It;ae.has(oe.toLowerCase())&&j.delete(oe)}return Ie});return function(U,j,V,re){return Y.apply(this,arguments)}})(),o=(()=>{var Y=(0,(r||i()).default)(function*(G,U,j,V){let re=(()=>{var oe=(0,(r||i()).default)(function*(Pe){let pe=Pe.src,ne=Pe.dest,_t=Pe.onFresh||_e,Ke=Pe.onDone||_e;if(ae.has(ne.toLowerCase())){Ke();return}if(ae.add(ne.toLowerCase()),U.ignoreBasenames.indexOf((l||f()).default.basename(pe))>=0)return;let Te=yield Re(pe),xe;Te.isDirectory()&&(xe=yield De(pe));let gt=yield nt(ne);if(gt){let $e=yield Re(ne),Be=Te.isSymbolicLink()&&$e.isSymbolicLink(),mt=Te.isDirectory()&&$e.isDirectory(),ut=Te.isFile()&&$e.isFile();if(Te.mode!==$e.mode)try{yield Oe(ne,Te.mode)}catch(ke){V.verbose(ke)}if(ut&&he.has(ne)){Ke(),V.verbose(V.lang("verboseFileSkipArtifact",pe));return}if(ut&&Te.ino!==null&&Te.ino===$e.ino){Ke(),V.verbose(V.lang("verboseFileSkip",pe,ne,Te.ino));return}if(Be){let ke=yield le(pe);if(ke===(yield le(ne))){Ke(),V.verbose(V.lang("verboseFileSkipSymlink",pe,ne,ke));return}}if(mt){let ke=yield De(ne);Ut(xe,"src files not initialised");for(var Ye=ke,We=Array.isArray(Ye),Ct=0,Ye=We?Ye:Ye[Symbol.iterator]();;){var ot;if(We){if(Ct>=Ye.length)break;ot=Ye[Ct++]}else{if(Ct=Ye.next(),Ct.done)break;ot=Ct.value}let Ot=ot;if(xe.indexOf(Ot)<0){let vt=(l||f()).default.join(ne,Ot);if(j.add(vt),(yield Re(vt)).isDirectory())for(var Qe=yield De(vt),Jt=Array.isArray(Qe),St=0,Qe=Jt?Qe:Qe[Symbol.iterator]();;){var at;if(Jt){if(St>=Qe.length)break;at=Qe[St++]}else{if(St=Qe.next(),St.done)break;at=St.value}let kr=at;j.add((l||f()).default.join(vt,kr))}}}}}if(Te.isSymbolicLink()){_t();let $e=yield le(pe);Ie.symlink.push({dest:ne,linkname:$e}),Ke()}else if(Te.isDirectory()){V.verbose(V.lang("verboseFileFolder",ne)),yield Se(ne);let $e=ne.split((l||f()).default.sep);for(;$e.length;)ae.add($e.join((l||f()).default.sep).toLowerCase()),$e.pop();Ut(xe,"src files not initialised");let Be=xe.length;Be||Ke();for(var Ze=xe,Wt=Array.isArray(Ze),Lt=0,Ze=Wt?Ze:Ze[Symbol.iterator]();;){var lt;if(Wt){if(Lt>=Ze.length)break;lt=Ze[Lt++]}else{if(Lt=Ze.next(),Lt.done)break;lt=Lt.value}let mt=lt;G.push({onFresh:_t,src:(l||f()).default.join(pe,mt),dest:(l||f()).default.join(ne,mt),onDone:function(ut){function ke(){return ut.apply(this,arguments)}return ke.toString=function(){return ut.toString()},ke}(function(){--Be===0&&Ke()})})}}else if(Te.isFile())_t(),Ie.link.push({src:pe,dest:ne,removeDest:gt}),Ke();else throw new Error(`unsure how to copy this: ${pe}`)});return function(pe){return oe.apply(this,arguments)}})(),he=new Set(U.artifactFiles||[]),ae=new Set;for(var se=G,ue=Array.isArray(se),ie=0,se=ue?se:se[Symbol.iterator]();;){var ze;if(ue){if(ie>=se.length)break;ze=se[ie++]}else{if(ie=se.next(),ie.done)break;ze=ie.value}let oe=ze,Pe=oe.onDone||_e;oe.onDone=function(){U.onProgress(oe.dest),Pe()}}U.onStart(G.length);let Ie={file:[],symlink:[],link:[]};for(;G.length;){let oe=G.splice(0,kt);yield Promise.all(oe.map(re))}for(var Ne=he,xt=Array.isArray(Ne),it=0,Ne=xt?Ne:Ne[Symbol.iterator]();;){var Mt;if(xt){if(it>=Ne.length)break;Mt=Ne[it++]}else{if(it=Ne.next(),it.done)break;Mt=it.value}let oe=Mt;j.has(oe)&&(V.verbose(V.lang("verboseFilePhantomExtraneous",oe)),j.delete(oe))}for(var Fe=j,qt=Array.isArray(Fe),st=0,Fe=qt?Fe:Fe[Symbol.iterator]();;){var It;if(qt){if(st>=Fe.length)break;It=Fe[st++]}else{if(st=Fe.next(),st.done)break;It=st.value}let oe=It;ae.has(oe.toLowerCase())&&j.delete(oe)}return Ie});return function(U,j,V,re){return Y.apply(this,arguments)}})(),a=e.copyBulk=(()=>{var Y=(0,(r||i()).default)(function*(G,U,j){let V={onStart:j&&j.onStart||_e,onProgress:j&&j.onProgress||_e,possibleExtraneous:j?j.possibleExtraneous:new Set,ignoreBasenames:j&&j.ignoreBasenames||[],artifactFiles:j&&j.artifactFiles||[]},re=yield s(G,V,V.possibleExtraneous,U);V.onStart(re.file.length+re.symlink.length+re.link.length);let he=re.file,ae=new Map;yield(E||A()).queue(he,(()=>{var ie=(0,(r||i()).default)(function*(se){let ze;for(;ze=ae.get(se.dest);)yield ze;U.verbose(U.lang("verboseFileCopy",se.src,se.dest));let Ie=(0,(X||Z()).copyFile)(se,function(){return ae.delete(se.dest)});return ae.set(se.dest,Ie),V.onProgress(se.dest),Ie});return function(se){return ie.apply(this,arguments)}})(),kt);let ue=re.symlink;yield(E||A()).queue(ue,function(ie){let se=(l||f()).default.resolve((l||f()).default.dirname(ie.dest),ie.linkname);return U.verbose(U.lang("verboseFileSymlink",ie.dest,se)),S(se,ie.dest)})});return function(U,j,V){return Y.apply(this,arguments)}})(),c=e.hardlinkBulk=(()=>{var Y=(0,(r||i()).default)(function*(G,U,j){let V={onStart:j&&j.onStart||_e,onProgress:j&&j.onProgress||_e,possibleExtraneous:j?j.possibleExtraneous:new Set,artifactFiles:j&&j.artifactFiles||[],ignoreBasenames:[]},re=yield o(G,V,V.possibleExtraneous,U);V.onStart(re.file.length+re.symlink.length+re.link.length);let he=re.link;yield(E||A()).queue(he,(()=>{var ue=(0,(r||i()).default)(function*(ie){U.verbose(U.lang("verboseFileLink",ie.src,ie.dest)),ie.removeDest&&(yield(0,(X||Z()).unlink)(ie.dest)),yield cr(ie.src,ie.dest)});return function(ie){return ue.apply(this,arguments)}})(),kt);let ae=re.symlink;yield(E||A()).queue(ae,function(ue){let ie=(l||f()).default.resolve((l||f()).default.dirname(ue.dest),ue.linkname);return U.verbose(U.lang("verboseFileSymlink",ue.dest,ie)),S(ie,ue.dest)})});return function(U,j,V){return Y.apply(this,arguments)}})(),u=e.readFileAny=(()=>{var Y=(0,(r||i()).default)(function*(G){for(var V=G,U=Array.isArray(V),j=0,V=U?V:V[Symbol.iterator]();;){var re;if(U){if(j>=V.length)break;re=V[j++]}else{if(j=V.next(),j.done)break;re=j.value}let he=re;if(yield nt(he))return Pr(he)}return null});return function(U){return Y.apply(this,arguments)}})(),h=e.readJson=(()=>{var Y=(0,(r||i()).default)(function*(G){return(yield g(G)).object});return function(U){return Y.apply(this,arguments)}})(),g=e.readJsonAndFile=(()=>{var Y=(0,(r||i()).default)(function*(G){let U=yield Pr(G);try{return{object:(0,(F||H()).default)(JSON.parse(Zt(U))),content:U}}catch(j){throw j.message=`${G}: ${j.message}`,j}});return function(U){return Y.apply(this,arguments)}})(),T=e.find=(()=>{var Y=(0,(r||i()).default)(function*(G,U){let j=U.split((l||f()).default.sep);for(;j.length;){let V=j.concat(G).join((l||f()).default.sep);if(yield nt(V))return V;j.pop()}return!1});return function(U,j){return Y.apply(this,arguments)}})(),S=e.symlink=(()=>{var Y=(0,(r||i()).default)(function*(G,U){try{if((yield Re(U)).isSymbolicLink()&&(yield Me(U))===G)return}catch(j){if(j.code!=="ENOENT")throw j}if(yield(0,(X||Z()).unlink)(U),process.platform==="win32")yield dr(G,U,"junction");else{let j;try{j=(l||f()).default.relative((C||L()).default.realpathSync((l||f()).default.dirname(U)),(C||L()).default.realpathSync(G))}catch(V){if(V.code!=="ENOENT")throw V;j=(l||f()).default.relative((l||f()).default.dirname(U),G)}yield dr(j||".",U)}});return function(U,j){return Y.apply(this,arguments)}})(),p=e.walk=(()=>{var Y=(0,(r||i()).default)(function*(G,U,j=new Set){let V=[],re=yield De(G);j.size&&(re=re.filter(function(se){return!j.has(se)}));for(var ue=re,he=Array.isArray(ue),ae=0,ue=he?ue:ue[Symbol.iterator]();;){var ie;if(he){if(ae>=ue.length)break;ie=ue[ae++]}else{if(ae=ue.next(),ae.done)break;ie=ae.value}let se=ie,ze=U?(l||f()).default.join(U,se):se,Ie=(l||f()).default.join(G,se),xt=yield Re(Ie);V.push({relative:ze,basename:se,absolute:Ie,mtime:+xt.mtime}),xt.isDirectory()&&(V=V.concat(yield p(Ie,ze,j)))}return V});return function(U,j){return Y.apply(this,arguments)}})(),b=e.getFileSizeOnDisk=(()=>{var Y=(0,(r||i()).default)(function*(G){let U=yield Re(G),j=U.size,V=U.blksize;return Math.ceil(j/V)*V});return function(U){return Y.apply(this,arguments)}})(),x=(()=>{var Y=(0,(r||i()).default)(function*(G){if(!(yield nt(G)))return;let U=yield Q(G);for(let j=0;j<U.length;++j){if(U[j]===Is)return`\r
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/sys/node",
3
- "version": "4.25.3",
3
+ "version": "4.26.0",
4
4
  "description": "Rindo Node System.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,4 +1,4 @@
1
1
  /*!
2
- Rindo Node System Worker v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Node System Worker v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";var f=Object.create;var s=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var g=(r,e,d,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of E(e))!R.call(r,o)&&o!==d&&s(r,o,{get:()=>e[o],enumerable:!(t=p(e,o))||t.enumerable});return r};var a=(r,e,d)=>(d=r!=null?f(y(r)):{},g(e||!r||!r.__esModule?s(d,"default",{value:r,enumerable:!0}):d,r));var l=a(require("../../compiler/rindo.js")),m=a(require("../../sys/node/index.js"));var c=(r,e)=>{let d=o=>{o&&o.code==="ERR_IPC_CHANNEL_CLOSED"&&r.exit(0)},t=(o,n)=>{let i={rindoId:o,rindoRtnValue:null,rindoRtnError:"Error"};typeof n=="string"?i.rindoRtnError+=": "+n:n&&(n.stack?i.rindoRtnError+=": "+n.stack:n.message&&(i.rindoRtnError+=":"+n.message)),r.send(i,d)};r.on("message",async o=>{if(o&&typeof o.rindoId=="number")try{let n={rindoId:o.rindoId,rindoRtnValue:await e(o),rindoRtnError:null};r.send(n,d)}catch(n){t(o.rindoId,n)}}),r.on("unhandledRejection",o=>{t(-1,o)})};var k=m.createNodeSys({process}),M=l.createWorkerMessageHandler(k);c(process,M);
package/testing/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Rindo Testing v4.25.3 | MIT Licensed | https://rindojs.web.app
2
+ Rindo Testing v4.26.0 | MIT Licensed | https://rindojs.web.app
3
3
  */
4
4
  "use strict";
5
5
 
@@ -1,3 +1,4 @@
1
+ import type * as d from '@rindo/core/internal';
1
2
  export declare function toEqualHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string): {
2
3
  message: () => string;
3
4
  pass: boolean;
@@ -6,7 +7,7 @@ export declare function toEqualLightHtml(input: string | HTMLElement | ShadowRoo
6
7
  message: () => string;
7
8
  pass: boolean;
8
9
  };
9
- export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: boolean): {
10
+ export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: d.SerializeDocumentOptions['serializeShadowRoot']): {
10
11
  message: () => string;
11
12
  pass: boolean;
12
13
  };
@@ -1,3 +1,4 @@
1
+ import type * as d from '@rindo/core/internal';
1
2
  export declare function toEqualHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string): {
2
3
  message: () => string;
3
4
  pass: boolean;
@@ -6,7 +7,7 @@ export declare function toEqualLightHtml(input: string | HTMLElement | ShadowRoo
6
7
  message: () => string;
7
8
  pass: boolean;
8
9
  };
9
- export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: boolean): {
10
+ export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: d.SerializeDocumentOptions['serializeShadowRoot']): {
10
11
  message: () => string;
11
12
  pass: boolean;
12
13
  };
@@ -1,3 +1,4 @@
1
+ import type * as d from '@rindo/core/internal';
1
2
  export declare function toEqualHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string): {
2
3
  message: () => string;
3
4
  pass: boolean;
@@ -6,7 +7,7 @@ export declare function toEqualLightHtml(input: string | HTMLElement | ShadowRoo
6
7
  message: () => string;
7
8
  pass: boolean;
8
9
  };
9
- export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: boolean): {
10
+ export declare function compareHtml(input: string | HTMLElement | ShadowRoot, shouldEqual: string, serializeShadowRoot: d.SerializeDocumentOptions['serializeShadowRoot']): {
10
11
  message: () => string;
11
12
  pass: boolean;
12
13
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rindo/core/testing",
3
- "version": "4.25.3",
3
+ "version": "4.26.0",
4
4
  "description": "Rindo testing suite.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",