@stencil/core 3.0.0 → 3.0.1-dev.1677269299.a47c587

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 (42) hide show
  1. package/cli/index.cjs +1 -133
  2. package/cli/index.js +1 -133
  3. package/cli/package.json +1 -1
  4. package/compiler/package.json +1 -1
  5. package/compiler/stencil.js +133 -148
  6. package/compiler/stencil.min.js +2 -2
  7. package/dev-server/client/index.js +1 -1
  8. package/dev-server/client/package.json +1 -1
  9. package/dev-server/connector.html +2 -2
  10. package/dev-server/index.js +1 -1
  11. package/dev-server/package.json +1 -1
  12. package/dev-server/server-process.js +26 -4
  13. package/dev-server/ws.js +1 -1
  14. package/internal/app-data/package.json +1 -1
  15. package/internal/client/css-shim.js +1 -1
  16. package/internal/client/dom.js +1 -1
  17. package/internal/client/index.js +8 -1
  18. package/internal/client/package.json +1 -1
  19. package/internal/client/patch-browser.js +1 -1
  20. package/internal/client/patch-esm.js +1 -1
  21. package/internal/client/shadow-css.js +1 -1
  22. package/internal/hydrate/package.json +1 -1
  23. package/internal/hydrate/runner.d.ts +1 -1
  24. package/internal/hydrate/runner.js +43 -43
  25. package/internal/package.json +1 -1
  26. package/internal/stencil-public-compiler.d.ts +9 -0
  27. package/internal/testing/package.json +1 -1
  28. package/mock-doc/index.cjs +5 -5
  29. package/mock-doc/index.js +5 -5
  30. package/mock-doc/package.json +1 -1
  31. package/package.json +10 -11
  32. package/readme.md +1 -1
  33. package/screenshot/package.json +1 -1
  34. package/sys/node/autoprefixer.js +2 -2
  35. package/sys/node/glob.js +1 -1
  36. package/sys/node/index.js +93 -97
  37. package/sys/node/node-fetch.js +1 -1
  38. package/sys/node/package.json +1 -1
  39. package/sys/node/worker.js +1 -1
  40. package/testing/index.js +338 -338
  41. package/testing/package.json +1 -1
  42. package/dependencies.json +0 -120
package/testing/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil Testing v3.0.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil Testing v3.0.1-dev.1677269299.a47c587 | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  function _lazyRequire(e) {
5
5
  return new Proxy({}, {
@@ -123,56 +123,7 @@ function getCompilerOptions(e) {
123
123
  const t = stencil_js.ts.findConfigFile(e, stencil_js.ts.sys.fileExists);
124
124
  if (!t) return null;
125
125
  const r = stencil_js.ts.readConfigFile(t, stencil_js.ts.sys.readFile);
126
- if (r.error) throw new Error(formatDiagnostic((e => {
127
- var t;
128
- const r = {
129
- absFilePath: void 0,
130
- code: e.code.toString(),
131
- columnNumber: void 0,
132
- header: "TypeScript",
133
- language: "typescript",
134
- level: "warn",
135
- lineNumber: void 0,
136
- lines: [],
137
- messageText: flattenDiagnosticMessageText(e, e.messageText),
138
- relFilePath: void 0,
139
- type: "typescript"
140
- };
141
- if (1 === e.category && (r.level = "error"), e.file && "number" == typeof e.start) {
142
- r.absFilePath = e.file.fileName;
143
- const n = "string" != typeof (s = e.file.text) ? [] : (s = s.replace(/\\r/g, "\n")).split("\n"), i = e.file.getLineAndCharacterOfPosition(e.start), o = {
144
- lineIndex: i.line,
145
- lineNumber: i.line + 1,
146
- text: n[i.line],
147
- errorCharStart: i.character,
148
- errorLength: Math.max(null !== (t = e.length) && void 0 !== t ? t : 0, 1)
149
- };
150
- if (r.lineNumber = o.lineNumber, r.columnNumber = o.errorCharStart + 1, r.lines.push(o),
151
- 0 === o.errorLength && o.errorCharStart > 0 && (o.errorLength = 1, o.errorCharStart--),
152
- o.lineIndex > 0) {
153
- const e = {
154
- lineIndex: o.lineIndex - 1,
155
- lineNumber: o.lineNumber - 1,
156
- text: n[o.lineIndex - 1],
157
- errorCharStart: -1,
158
- errorLength: -1
159
- };
160
- r.lines.unshift(e);
161
- }
162
- if (o.lineIndex + 1 < n.length) {
163
- const e = {
164
- lineIndex: o.lineIndex + 1,
165
- lineNumber: o.lineNumber + 1,
166
- text: n[o.lineIndex + 1],
167
- errorCharStart: -1,
168
- errorLength: -1
169
- };
170
- r.lines.push(e);
171
- }
172
- }
173
- var s;
174
- return r;
175
- })(r.error)));
126
+ if (r.error) throw new Error(formatDiagnostic(loadTypeScriptDiagnostic(r.error)));
176
127
  const s = stencil_js.ts.parseJsonConfigFileContent(r.config, stencil_js.ts.sys, e, void 0, t);
177
128
  return _tsCompilerOptions = s.options, _tsCompilerOptions;
178
129
  }
@@ -513,278 +464,7 @@ function mockCompilerCtx(e) {
513
464
  };
514
465
  return Object.defineProperty(t, "fs", {
515
466
  get() {
516
- return null == this._fs && (this._fs = (e => {
517
- const t = new Map, r = new Map, s = async (e, r = {}) => {
518
- e = normalizePath(e);
519
- const s = [];
520
- if (!0 === r.inMemoryOnly) {
521
- let n = e;
522
- n.endsWith("/") || (n += "/");
523
- const o = e.split("/");
524
- t.forEach(((t, n) => {
525
- if (!n.startsWith(e)) return;
526
- const a = n.split("/");
527
- if ((a.length === o.length + 1 || r.recursive && a.length > o.length) && t.exists) {
528
- const e = {
529
- absPath: n,
530
- relPath: a[o.length],
531
- isDirectory: t.isDirectory,
532
- isFile: t.isFile
533
- };
534
- i(r, e) || s.push(e);
535
- }
536
- }));
537
- } else await n(e, e, r, s);
538
- return s.sort(((e, t) => e.absPath < t.absPath ? -1 : e.absPath > t.absPath ? 1 : 0));
539
- }, n = async (t, r, s, o) => {
540
- const a = await e.readDir(r);
541
- if (a.length > 0) {
542
- const e = _(r);
543
- e.exists = !0, e.isFile = !1, e.isDirectory = !0, await Promise.all(a.map((async e => {
544
- const r = normalizePath(e), a = normalizePath(path$2.relative(t, r)), c = await l(r), u = {
545
- absPath: r,
546
- relPath: a,
547
- isDirectory: c.isDirectory,
548
- isFile: c.isFile
549
- };
550
- i(s, u) || (o.push(u), !0 === s.recursive && !0 === c.isDirectory && await n(t, r, s, o));
551
- })));
552
- }
553
- }, i = (e, t) => {
554
- if (t.isDirectory) {
555
- if (Array.isArray(e.excludeDirNames)) {
556
- const r = path$2.basename(t.absPath);
557
- if (e.excludeDirNames.some((e => r === e))) return !0;
558
- }
559
- } else if (Array.isArray(e.excludeExtensions)) {
560
- const r = t.relPath.toLowerCase();
561
- if (e.excludeExtensions.some((e => r.endsWith(e)))) return !0;
562
- }
563
- return !1;
564
- }, o = async e => {
565
- const t = _(e);
566
- t.isFile = !1, t.isDirectory = !0, t.queueWriteToDisk || (t.queueDeleteFromDisk = !0);
567
- try {
568
- const t = await s(e, {
569
- recursive: !0
570
- });
571
- await Promise.all(t.map((e => e.relPath.endsWith(".gitkeep") ? null : a(e.absPath))));
572
- } catch (e) {}
573
- }, a = async e => {
574
- const t = _(e);
575
- t.queueWriteToDisk || (t.queueDeleteFromDisk = !0);
576
- }, l = async t => {
577
- const r = _(t);
578
- if ("boolean" != typeof r.isDirectory || "boolean" != typeof r.isFile) {
579
- const s = await e.stat(t);
580
- s.error ? r.exists = !1 : (r.exists = !0, s.isFile ? (r.isFile = !0, r.isDirectory = !1,
581
- r.size = s.size) : s.isDirectory ? (r.isFile = !1, r.isDirectory = !0, r.size = s.size) : (r.isFile = !1,
582
- r.isDirectory = !1, r.size = null));
583
- }
584
- return {
585
- exists: !!r.exists,
586
- isFile: !!r.isFile,
587
- isDirectory: !!r.isDirectory,
588
- size: "number" == typeof r.size ? r.size : 0
589
- };
590
- }, c = t => {
591
- const r = _(t);
592
- if ("boolean" != typeof r.isDirectory || "boolean" != typeof r.isFile) {
593
- const s = e.statSync(t);
594
- s.error ? r.exists = !1 : (r.exists = !0, s.isFile ? (r.isFile = !0, r.isDirectory = !1,
595
- r.size = s.size) : s.isDirectory ? (r.isFile = !1, r.isDirectory = !0, r.size = s.size) : (r.isFile = !1,
596
- r.isDirectory = !1, r.size = null));
597
- }
598
- return {
599
- exists: !!r.exists,
600
- isFile: !!r.isFile,
601
- isDirectory: !!r.isDirectory,
602
- size: r.size
603
- };
604
- }, u = async (t, s, n) => {
605
- if ("string" != typeof t) throw new Error(`writeFile, invalid filePath: ${t}`);
606
- if ("string" != typeof s) throw new Error(`writeFile, invalid content: ${t}`);
607
- const i = {
608
- ignored: !1,
609
- changedContent: !1,
610
- queuedWrite: !1
611
- };
612
- if (!0 === shouldIgnore(t)) return i.ignored = !0, i;
613
- const o = _(t);
614
- if (o.exists = !0, o.isFile = !0, o.isDirectory = !1, o.queueDeleteFromDisk = !1,
615
- "string" == typeof o.fileText ? i.changedContent = o.fileText.replace(/\r/g, "") !== s.replace(/\r/g, "") : i.changedContent = !0,
616
- o.fileText = s, i.queuedWrite = !1, null != n && ("string" == typeof n.outputTargetType && r.set(t, n.outputTargetType),
617
- !1 === n.useCache && (o.useCache = !1)), null != n && !0 === n.inMemoryOnly) o.queueWriteToDisk ? i.queuedWrite = !0 : o.queueWriteToDisk = !1,
618
- await d(t, !0); else if (null != n && !0 === n.immediateWrite) {
619
- if (i.changedContent || !0 !== n.useCache) {
620
- const r = await e.readFile(t);
621
- "string" == typeof r && (i.changedContent = o.fileText.replace(/\r/g, "") !== r.replace(/\r/g, "")),
622
- i.changedContent && (await d(t, !1), await e.writeFile(t, o.fileText));
623
- }
624
- } else o.queueWriteToDisk || !0 !== i.changedContent || (o.queueWriteToDisk = !0,
625
- i.queuedWrite = !0);
626
- return i;
627
- }, d = async (e, t) => {
628
- const r = [];
629
- for (;"string" == typeof (e = path$2.dirname(e)) && e.length > 0 && "/" !== e && !1 === e.endsWith(":/") && !1 === e.endsWith(":\\"); ) r.push(e);
630
- r.reverse(), await h(r, t);
631
- }, h = async (t, r) => {
632
- const s = [];
633
- for (const n of t) {
634
- const t = _(n);
635
- if (!0 !== t.exists || !0 !== t.isDirectory) try {
636
- t.exists = !0, t.isDirectory = !0, t.isFile = !1, r || await e.createDir(n), s.push(n);
637
- } catch (e) {}
638
- }
639
- return s;
640
- }, p = t => {
641
- const r = Promise.all(t.map((async t => {
642
- const [r, s] = t;
643
- return await e.copyFile(r, s), [ r, s ];
644
- })));
645
- return r;
646
- }, f = e => Promise.all(e.map((async e => {
647
- if ("string" != typeof e) throw new Error("unable to writeFile without filePath");
648
- return m(e);
649
- }))), m = async t => {
650
- const r = _(t);
651
- if (null == r.fileText) throw new Error(`unable to find item fileText to write: ${t}`);
652
- return await e.writeFile(t, r.fileText), !1 === r.useCache && E(t), t;
653
- }, g = async t => await Promise.all(t.map((async t => {
654
- if ("string" != typeof t) throw new Error("unable to unlink without filePath");
655
- return await e.removeFile(t), t;
656
- }))), y = async t => {
657
- const r = [];
658
- for (const s of t) await e.removeDir(s), r.push(s);
659
- return r;
660
- }, w = e => {
661
- e = normalizePath(e), t.forEach(((t, r) => {
662
- const s = path$2.relative(e, r).split("/")[0];
663
- s.startsWith(".") || s.startsWith("/") || E(r);
664
- }));
665
- }, E = e => {
666
- e = normalizePath(e);
667
- const r = t.get(e);
668
- null == r || r.queueWriteToDisk || t.delete(e);
669
- }, _ = e => {
670
- e = normalizePath(e);
671
- let r = t.get(e);
672
- return null != r || t.set(e, r = {
673
- exists: null,
674
- fileText: null,
675
- size: null,
676
- mtimeMs: null,
677
- isDirectory: null,
678
- isFile: null,
679
- queueCopyFileToDest: null,
680
- queueDeleteFromDisk: null,
681
- queueWriteToDisk: null,
682
- useCache: null
683
- }), r;
684
- }, v = 5242880;
685
- return {
686
- access: async e => {
687
- const t = _(e);
688
- return "boolean" != typeof t.exists ? (await l(e)).exists : t.exists;
689
- },
690
- accessSync: e => {
691
- const t = _(e);
692
- return "boolean" != typeof t.exists ? c(e).exists : t.exists;
693
- },
694
- cancelDeleteDirectoriesFromDisk: e => {
695
- for (const t of e) {
696
- const e = _(t);
697
- !0 === e.queueDeleteFromDisk && (e.queueDeleteFromDisk = !1);
698
- }
699
- },
700
- cancelDeleteFilesFromDisk: e => {
701
- for (const t of e) {
702
- const e = _(t);
703
- !0 === e.isFile && !0 === e.queueDeleteFromDisk && (e.queueDeleteFromDisk = !1);
704
- }
705
- },
706
- clearCache: () => {
707
- t.clear();
708
- },
709
- clearDirCache: w,
710
- clearFileCache: E,
711
- commit: async () => {
712
- const e = getCommitInstructions(t), r = await h(e.dirsToEnsure, !1), s = await f(e.filesToWrite), n = await p(e.filesToCopy), i = await g(e.filesToDelete), o = await y(e.dirsToDelete);
713
- return e.filesToDelete.forEach(E), e.dirsToDelete.forEach(w), {
714
- filesCopied: n,
715
- filesWritten: s,
716
- filesDeleted: i,
717
- dirsDeleted: o,
718
- dirsAdded: r
719
- };
720
- },
721
- copyFile: async (e, t) => {
722
- _(e).queueCopyFileToDest = t;
723
- },
724
- emptyDirs: async e => {
725
- e = e.filter(isString).map(normalizePath).reduce(((e, t) => (e.includes(t) || e.push(t),
726
- e)), []);
727
- const t = await Promise.all(e.map((e => s(e, {
728
- recursive: !0
729
- })))), r = [];
730
- for (const e of t) for (const t of e) r.includes(t.absPath) || r.push(t.absPath);
731
- r.sort(((e, t) => {
732
- const r = e.split("/").length, s = t.split("/").length;
733
- return r < s ? 1 : r > s ? -1 : 0;
734
- })), await Promise.all(r.map(a)), e.forEach((e => {
735
- const t = _(e);
736
- t.isFile = !1, t.isDirectory = !0, t.queueWriteToDisk = !0, t.queueDeleteFromDisk = !1;
737
- }));
738
- },
739
- getBuildOutputs: () => {
740
- const e = [];
741
- return r.forEach(((t, r) => {
742
- const s = e.find((e => e.type === t));
743
- s ? s.files.push(r) : e.push({
744
- type: t,
745
- files: [ r ]
746
- });
747
- })), e.forEach((e => e.files.sort())), e.sort(((e, t) => e.type < t.type ? -1 : e.type > t.type ? 1 : 0));
748
- },
749
- getItem: _,
750
- getMemoryStats: () => `data length: ${t.size}`,
751
- readFile: async (t, r) => {
752
- if (null == r || !0 === r.useCache || void 0 === r.useCache) {
753
- const e = _(t);
754
- if (e.exists && "string" == typeof e.fileText) return e.fileText;
755
- }
756
- const s = await e.readFile(t), n = _(t);
757
- return "string" == typeof s ? s.length < v && (n.exists = !0, n.isFile = !0, n.isDirectory = !1,
758
- n.fileText = s) : n.exists = !1, s;
759
- },
760
- readFileSync: (t, r) => {
761
- if (null == r || !0 === r.useCache || void 0 === r.useCache) {
762
- const e = _(t);
763
- if (e.exists && "string" == typeof e.fileText) return e.fileText;
764
- }
765
- const s = e.readFileSync(t), n = _(t);
766
- return "string" == typeof s ? s.length < v && (n.exists = !0, n.isFile = !0, n.isDirectory = !1,
767
- n.fileText = s) : n.exists = !1, s;
768
- },
769
- readdir: s,
770
- remove: async e => {
771
- const t = await l(e);
772
- !0 === t.isDirectory ? await o(e) : !0 === t.isFile && await a(e);
773
- },
774
- stat: l,
775
- statSync: c,
776
- sys: e,
777
- writeFile: u,
778
- writeFiles: (e, t) => {
779
- const r = [];
780
- return isIterable(e) ? e.forEach(((e, s) => {
781
- r.push(u(s, e, t));
782
- })) : Object.keys(e).map((s => {
783
- r.push(u(s, e[s], t));
784
- })), Promise.all(r);
785
- }
786
- };
787
- })(e.sys)), this._fs;
467
+ return null == this._fs && (this._fs = createInMemoryFs(e.sys)), this._fs;
788
468
  }
789
469
  }), Object.defineProperty(t, "cache", {
790
470
  get() {
@@ -1212,7 +892,7 @@ function getAppUrl(e, t, r) {
1212
892
  return t;
1213
893
  }
1214
894
 
1215
- var debug_1, constants$2, re_1, parseOptions_1, identifiers, semver, major_1, posix, pathBrowserify, caller, pathParse, parse, getNodeModulesDirs, nodeModulesPaths, normalizeOptions, ERROR_MESSAGE, slice, toStr, implementation, functionBind, src, isCoreModule, realpathFS$1, defaultIsFile$1, defaultIsDir$1, defaultRealpath, maybeRealpath, defaultReadPackage, getPackageCandidates$1, async, current, core, mod, core_1, isCore, realpathFS, defaultIsFile, defaultIsDir, defaultRealpathSync, maybeRealpathSync, defaultReadPackageSync, getPackageCandidates, sync, resolve;
895
+ var debug_1, constants$2, re_1, parseOptions_1, identifiers, semver, major_1, posix, pathBrowserify, caller, pathParse, parse, getNodeModulesDirs, nodeModulesPaths, normalizeOptions, ERROR_MESSAGE, slice, toStr, funcType, implementation, functionBind, src, isCoreModule, realpathFS$1, defaultIsFile$1, defaultIsDir$1, defaultRealpath, maybeRealpath, defaultReadPackage, getPackageCandidates$1, async, current, core, mod, core_1, isCore, realpathFS, defaultIsFile, defaultIsDir, defaultRealpathSync, maybeRealpathSync, defaultReadPackageSync, getPackageCandidates, sync, resolve;
1216
896
 
1217
897
  const stencil_js = require("../compiler/stencil.js"), appData = _lazyRequire("@stencil/core/internal/app-data"), testing = _lazyRequire("@stencil/core/internal/testing"), index_cjs = _lazyRequire("../mock-doc/index.cjs"), path$2 = require("path"), crypto$3 = require("crypto"), os$2 = require("os"), process$3 = require("process"), fs$2 = require("fs"), index_js = _lazyRequire("../dev-server/index.js"), child_process$2 = require("child_process"), path__default = _interopDefaultLegacy(path$2), os__namespace = _interopNamespace(os$2), process__namespace = _interopNamespace(process$3), fs__default = _interopDefaultLegacy(fs$2), debug = ("object" == typeof process && process.env,
1218
898
  () => {});
@@ -1390,7 +1070,13 @@ class SemVer {
1390
1070
 
1391
1071
  semver = SemVer, major_1 = (e, t) => new semver(e, t).major;
1392
1072
 
1393
- const formatComponentRuntimeMembers = (e, t = !0) => ({
1073
+ const formatComponentRuntimeMeta = (e, t) => {
1074
+ let r = 0;
1075
+ "shadow" === e.encapsulation ? (r |= 1, e.shadowDelegatesFocus && (r |= 16)) : "scoped" === e.encapsulation && (r |= 2),
1076
+ "shadow" !== e.encapsulation && e.htmlTagNames.includes("slot") && (r |= 4), e.hasMode && (r |= 32);
1077
+ const s = formatComponentRuntimeMembers(e, t), n = formatHostListeners(e);
1078
+ return trimFalsy([ r, e.tagName, Object.keys(s).length > 0 ? s : void 0, n.length > 0 ? n : void 0 ]);
1079
+ }, formatComponentRuntimeMembers = (e, t = !0) => ({
1394
1080
  ...formatPropertiesRuntimeMember(e.properties),
1395
1081
  ...formatStatesRuntimeMember(e.states),
1396
1082
  ...t ? formatMethodsRuntimeMember(e.methods) : {}
@@ -1505,7 +1191,56 @@ const formatComponentRuntimeMembers = (e, t = !0) => ({
1505
1191
  }, pathComponents = (e, t) => {
1506
1192
  const r = e.substring(0, t), s = e.substring(t).split("/"), n = s.length;
1507
1193
  return n > 0 && !s[n - 1] && s.pop(), [ r, ...s ];
1508
- }, normalizeFsPath = e => normalizePath(e.split("?")[0].replace(/\0/g, "")), flattenDiagnosticMessageText = (e, t) => {
1194
+ }, normalizeFsPath = e => normalizePath(e.split("?")[0].replace(/\0/g, "")), loadTypeScriptDiagnostic = e => {
1195
+ var t;
1196
+ const r = {
1197
+ absFilePath: void 0,
1198
+ code: e.code.toString(),
1199
+ columnNumber: void 0,
1200
+ header: "TypeScript",
1201
+ language: "typescript",
1202
+ level: "warn",
1203
+ lineNumber: void 0,
1204
+ lines: [],
1205
+ messageText: flattenDiagnosticMessageText(e, e.messageText),
1206
+ relFilePath: void 0,
1207
+ type: "typescript"
1208
+ };
1209
+ if (1 === e.category && (r.level = "error"), e.file && "number" == typeof e.start) {
1210
+ r.absFilePath = e.file.fileName;
1211
+ const n = "string" != typeof (s = e.file.text) ? [] : (s = s.replace(/\\r/g, "\n")).split("\n"), i = e.file.getLineAndCharacterOfPosition(e.start), o = {
1212
+ lineIndex: i.line,
1213
+ lineNumber: i.line + 1,
1214
+ text: n[i.line],
1215
+ errorCharStart: i.character,
1216
+ errorLength: Math.max(null !== (t = e.length) && void 0 !== t ? t : 0, 1)
1217
+ };
1218
+ if (r.lineNumber = o.lineNumber, r.columnNumber = o.errorCharStart + 1, r.lines.push(o),
1219
+ 0 === o.errorLength && o.errorCharStart > 0 && (o.errorLength = 1, o.errorCharStart--),
1220
+ o.lineIndex > 0) {
1221
+ const e = {
1222
+ lineIndex: o.lineIndex - 1,
1223
+ lineNumber: o.lineNumber - 1,
1224
+ text: n[o.lineIndex - 1],
1225
+ errorCharStart: -1,
1226
+ errorLength: -1
1227
+ };
1228
+ r.lines.unshift(e);
1229
+ }
1230
+ if (o.lineIndex + 1 < n.length) {
1231
+ const e = {
1232
+ lineIndex: o.lineIndex + 1,
1233
+ lineNumber: o.lineNumber + 1,
1234
+ text: n[o.lineIndex + 1],
1235
+ errorCharStart: -1,
1236
+ errorLength: -1
1237
+ };
1238
+ r.lines.push(e);
1239
+ }
1240
+ }
1241
+ var s;
1242
+ return r;
1243
+ }, flattenDiagnosticMessageText = (e, t) => {
1509
1244
  var r, s;
1510
1245
  if ("string" == typeof t) return t;
1511
1246
  if (void 0 === t) return "";
@@ -2157,6 +1892,279 @@ const MAX_FAILED = 100, ONE_DAY = 864e5, ONE_WEEK = 7 * ONE_DAY, EXP_STORAGE_KEY
2157
1892
  e.length = 0;
2158
1893
  }
2159
1894
  };
1895
+ }, createInMemoryFs = e => {
1896
+ const t = new Map, r = new Map, s = async (e, r = {}) => {
1897
+ e = normalizePath(e);
1898
+ const s = [];
1899
+ if (!0 === r.inMemoryOnly) {
1900
+ let n = e;
1901
+ n.endsWith("/") || (n += "/");
1902
+ const o = e.split("/");
1903
+ t.forEach(((t, n) => {
1904
+ if (!n.startsWith(e)) return;
1905
+ const a = n.split("/");
1906
+ if ((a.length === o.length + 1 || r.recursive && a.length > o.length) && t.exists) {
1907
+ const e = {
1908
+ absPath: n,
1909
+ relPath: a[o.length],
1910
+ isDirectory: t.isDirectory,
1911
+ isFile: t.isFile
1912
+ };
1913
+ i(r, e) || s.push(e);
1914
+ }
1915
+ }));
1916
+ } else await n(e, e, r, s);
1917
+ return s.sort(((e, t) => e.absPath < t.absPath ? -1 : e.absPath > t.absPath ? 1 : 0));
1918
+ }, n = async (t, r, s, o) => {
1919
+ const l = await e.readDir(r);
1920
+ if (l.length > 0) {
1921
+ const e = m(r);
1922
+ e.exists = !0, e.isFile = !1, e.isDirectory = !0, await Promise.all(l.map((async e => {
1923
+ const r = normalizePath(e), l = normalizePath(path$2.relative(t, r)), c = await a(r), u = {
1924
+ absPath: r,
1925
+ relPath: l,
1926
+ isDirectory: c.isDirectory,
1927
+ isFile: c.isFile
1928
+ };
1929
+ i(s, u) || (o.push(u), !0 === s.recursive && !0 === c.isDirectory && await n(t, r, s, o));
1930
+ })));
1931
+ }
1932
+ }, i = (e, t) => {
1933
+ if (t.isDirectory) {
1934
+ if (Array.isArray(e.excludeDirNames)) {
1935
+ const r = path$2.basename(t.absPath);
1936
+ if (e.excludeDirNames.some((e => r === e))) return !0;
1937
+ }
1938
+ } else if (Array.isArray(e.excludeExtensions)) {
1939
+ const r = t.relPath.toLowerCase();
1940
+ if (e.excludeExtensions.some((e => r.endsWith(e)))) return !0;
1941
+ }
1942
+ return !1;
1943
+ }, o = async e => {
1944
+ const t = m(e);
1945
+ t.queueWriteToDisk || (t.queueDeleteFromDisk = !0);
1946
+ }, a = async t => {
1947
+ const r = m(t);
1948
+ if ("boolean" != typeof r.isDirectory || "boolean" != typeof r.isFile) {
1949
+ const s = await e.stat(t);
1950
+ s.error ? r.exists = !1 : (r.exists = !0, s.isFile ? (r.isFile = !0, r.isDirectory = !1,
1951
+ r.size = s.size) : s.isDirectory ? (r.isFile = !1, r.isDirectory = !0, r.size = s.size) : (r.isFile = !1,
1952
+ r.isDirectory = !1, r.size = null));
1953
+ }
1954
+ return {
1955
+ exists: !!r.exists,
1956
+ isFile: !!r.isFile,
1957
+ isDirectory: !!r.isDirectory,
1958
+ size: "number" == typeof r.size ? r.size : 0
1959
+ };
1960
+ }, l = t => {
1961
+ const r = m(t);
1962
+ if ("boolean" != typeof r.isDirectory || "boolean" != typeof r.isFile) {
1963
+ const s = e.statSync(t);
1964
+ s.error ? r.exists = !1 : (r.exists = !0, s.isFile ? (r.isFile = !0, r.isDirectory = !1,
1965
+ r.size = s.size) : s.isDirectory ? (r.isFile = !1, r.isDirectory = !0, r.size = s.size) : (r.isFile = !1,
1966
+ r.isDirectory = !1, r.size = null));
1967
+ }
1968
+ return {
1969
+ exists: !!r.exists,
1970
+ isFile: !!r.isFile,
1971
+ isDirectory: !!r.isDirectory,
1972
+ size: r.size
1973
+ };
1974
+ }, c = async (t, s, n) => {
1975
+ if ("string" != typeof t) throw new Error(`writeFile, invalid filePath: ${t}`);
1976
+ if ("string" != typeof s) throw new Error(`writeFile, invalid content: ${t}`);
1977
+ const i = {
1978
+ ignored: !1,
1979
+ changedContent: !1,
1980
+ queuedWrite: !1
1981
+ };
1982
+ if (!0 === shouldIgnore(t)) return i.ignored = !0, i;
1983
+ const o = m(t);
1984
+ if (o.exists = !0, o.isFile = !0, o.isDirectory = !1, o.queueDeleteFromDisk = !1,
1985
+ "string" == typeof o.fileText ? i.changedContent = o.fileText.replace(/\r/g, "") !== s.replace(/\r/g, "") : i.changedContent = !0,
1986
+ o.fileText = s, i.queuedWrite = !1, null != n && ("string" == typeof n.outputTargetType && r.set(t, n.outputTargetType),
1987
+ !1 === n.useCache && (o.useCache = !1)), null != n && !0 === n.inMemoryOnly) o.queueWriteToDisk ? i.queuedWrite = !0 : o.queueWriteToDisk = !1,
1988
+ await u(t, !0); else if (null != n && !0 === n.immediateWrite) {
1989
+ if (i.changedContent || !0 !== n.useCache) {
1990
+ const r = await e.readFile(t);
1991
+ "string" == typeof r && (i.changedContent = o.fileText.replace(/\r/g, "") !== r.replace(/\r/g, "")),
1992
+ i.changedContent && (await u(t, !1), await e.writeFile(t, o.fileText));
1993
+ }
1994
+ } else o.queueWriteToDisk || !0 !== i.changedContent || (o.queueWriteToDisk = !0,
1995
+ i.queuedWrite = !0);
1996
+ return i;
1997
+ }, u = async (e, t) => {
1998
+ const r = [];
1999
+ for (;"string" == typeof (e = path$2.dirname(e)) && e.length > 0 && "/" !== e && !1 === e.endsWith(":/") && !1 === e.endsWith(":\\"); ) r.push(e);
2000
+ r.reverse(), await d(r, t);
2001
+ }, d = async (t, r) => {
2002
+ const s = [];
2003
+ for (const n of t) {
2004
+ const t = m(n);
2005
+ if (!0 !== t.exists || !0 !== t.isDirectory) try {
2006
+ t.exists = !0, t.isDirectory = !0, t.isFile = !1, r || await e.createDir(n), s.push(n);
2007
+ } catch (e) {}
2008
+ }
2009
+ return s;
2010
+ }, h = async t => {
2011
+ const r = m(t);
2012
+ if (null == r.fileText) throw new Error(`unable to find item fileText to write: ${t}`);
2013
+ return await e.writeFile(t, r.fileText), !1 === r.useCache && f(t), t;
2014
+ }, p = e => {
2015
+ e = normalizePath(e), t.forEach(((t, r) => {
2016
+ const s = path$2.relative(e, r).split("/")[0];
2017
+ s.startsWith(".") || s.startsWith("/") || f(r);
2018
+ }));
2019
+ }, f = e => {
2020
+ e = normalizePath(e);
2021
+ const r = t.get(e);
2022
+ null == r || r.queueWriteToDisk || t.delete(e);
2023
+ }, m = e => {
2024
+ e = normalizePath(e);
2025
+ let r = t.get(e);
2026
+ return null != r || t.set(e, r = {
2027
+ exists: null,
2028
+ fileText: null,
2029
+ size: null,
2030
+ mtimeMs: null,
2031
+ isDirectory: null,
2032
+ isFile: null,
2033
+ queueCopyFileToDest: null,
2034
+ queueDeleteFromDisk: null,
2035
+ queueWriteToDisk: null,
2036
+ useCache: null
2037
+ }), r;
2038
+ }, g = 5242880;
2039
+ return {
2040
+ access: async e => {
2041
+ const t = m(e);
2042
+ return "boolean" != typeof t.exists ? (await a(e)).exists : t.exists;
2043
+ },
2044
+ accessSync: e => {
2045
+ const t = m(e);
2046
+ return "boolean" != typeof t.exists ? l(e).exists : t.exists;
2047
+ },
2048
+ cancelDeleteDirectoriesFromDisk: e => {
2049
+ for (const t of e) {
2050
+ const e = m(t);
2051
+ !0 === e.queueDeleteFromDisk && (e.queueDeleteFromDisk = !1);
2052
+ }
2053
+ },
2054
+ cancelDeleteFilesFromDisk: e => {
2055
+ for (const t of e) {
2056
+ const e = m(t);
2057
+ !0 === e.isFile && !0 === e.queueDeleteFromDisk && (e.queueDeleteFromDisk = !1);
2058
+ }
2059
+ },
2060
+ clearCache: () => {
2061
+ t.clear();
2062
+ },
2063
+ clearDirCache: p,
2064
+ clearFileCache: f,
2065
+ commit: async () => {
2066
+ const r = getCommitInstructions(t), s = await d(r.dirsToEnsure, !1), n = await (l = r.filesToWrite,
2067
+ Promise.all(l.map((async e => {
2068
+ if ("string" != typeof e) throw new Error("unable to writeFile without filePath");
2069
+ return h(e);
2070
+ })))), i = await (t => {
2071
+ const r = Promise.all(t.map((async t => {
2072
+ const [r, s] = t;
2073
+ return await e.copyFile(r, s), [ r, s ];
2074
+ })));
2075
+ return r;
2076
+ })(r.filesToCopy), o = await (async t => await Promise.all(t.map((async t => {
2077
+ if ("string" != typeof t) throw new Error("unable to unlink without filePath");
2078
+ return await e.removeFile(t), t;
2079
+ }))))(r.filesToDelete), a = await (async t => {
2080
+ const r = [];
2081
+ for (const s of t) await e.removeDir(s), r.push(s);
2082
+ return r;
2083
+ })(r.dirsToDelete);
2084
+ var l;
2085
+ return r.filesToDelete.forEach(f), r.dirsToDelete.forEach(p), {
2086
+ filesCopied: i,
2087
+ filesWritten: n,
2088
+ filesDeleted: o,
2089
+ dirsDeleted: a,
2090
+ dirsAdded: s
2091
+ };
2092
+ },
2093
+ copyFile: async (e, t) => {
2094
+ m(e).queueCopyFileToDest = t;
2095
+ },
2096
+ emptyDirs: async e => {
2097
+ e = e.filter(isString).map(normalizePath).reduce(((e, t) => (e.includes(t) || e.push(t),
2098
+ e)), []);
2099
+ const t = await Promise.all(e.map((e => s(e, {
2100
+ recursive: !0
2101
+ })))), r = [];
2102
+ for (const e of t) for (const t of e) r.includes(t.absPath) || r.push(t.absPath);
2103
+ r.sort(((e, t) => {
2104
+ const r = e.split("/").length, s = t.split("/").length;
2105
+ return r < s ? 1 : r > s ? -1 : 0;
2106
+ })), await Promise.all(r.map(o)), e.forEach((e => {
2107
+ const t = m(e);
2108
+ t.isFile = !1, t.isDirectory = !0, t.queueWriteToDisk = !0, t.queueDeleteFromDisk = !1;
2109
+ }));
2110
+ },
2111
+ getBuildOutputs: () => {
2112
+ const e = [];
2113
+ return r.forEach(((t, r) => {
2114
+ const s = e.find((e => e.type === t));
2115
+ s ? s.files.push(r) : e.push({
2116
+ type: t,
2117
+ files: [ r ]
2118
+ });
2119
+ })), e.forEach((e => e.files.sort())), e.sort(((e, t) => e.type < t.type ? -1 : e.type > t.type ? 1 : 0));
2120
+ },
2121
+ getItem: m,
2122
+ getMemoryStats: () => `data length: ${t.size}`,
2123
+ readFile: async (t, r) => {
2124
+ if (null == r || !0 === r.useCache || void 0 === r.useCache) {
2125
+ const e = m(t);
2126
+ if (e.exists && "string" == typeof e.fileText) return e.fileText;
2127
+ }
2128
+ const s = await e.readFile(t), n = m(t);
2129
+ return "string" == typeof s ? s.length < g && (n.exists = !0, n.isFile = !0, n.isDirectory = !1,
2130
+ n.fileText = s) : n.exists = !1, s;
2131
+ },
2132
+ readFileSync: (t, r) => {
2133
+ if (null == r || !0 === r.useCache || void 0 === r.useCache) {
2134
+ const e = m(t);
2135
+ if (e.exists && "string" == typeof e.fileText) return e.fileText;
2136
+ }
2137
+ const s = e.readFileSync(t), n = m(t);
2138
+ return "string" == typeof s ? s.length < g && (n.exists = !0, n.isFile = !0, n.isDirectory = !1,
2139
+ n.fileText = s) : n.exists = !1, s;
2140
+ },
2141
+ readdir: s,
2142
+ remove: async e => {
2143
+ const t = await a(e);
2144
+ !0 === t.isDirectory ? await (async e => {
2145
+ const t = m(e);
2146
+ t.isFile = !1, t.isDirectory = !0, t.queueWriteToDisk || (t.queueDeleteFromDisk = !0);
2147
+ try {
2148
+ const t = await s(e, {
2149
+ recursive: !0
2150
+ });
2151
+ await Promise.all(t.map((e => e.relPath.endsWith(".gitkeep") ? null : o(e.absPath))));
2152
+ } catch (e) {}
2153
+ })(e) : !0 === t.isFile && await o(e);
2154
+ },
2155
+ stat: a,
2156
+ statSync: l,
2157
+ sys: e,
2158
+ writeFile: c,
2159
+ writeFiles: (e, t) => {
2160
+ const r = [];
2161
+ return isIterable(e) ? e.forEach(((e, s) => {
2162
+ r.push(c(s, e, t));
2163
+ })) : Object.keys(e).map((s => {
2164
+ r.push(c(s, e[s], t));
2165
+ })), Promise.all(r);
2166
+ }
2167
+ };
2160
2168
  }, getCommitInstructions = e => {
2161
2169
  const t = {
2162
2170
  filesToDelete: [],
@@ -2464,9 +2472,9 @@ caller = function() {
2464
2472
  }, normalizeOptions = function(e, t) {
2465
2473
  return t || {};
2466
2474
  }, ERROR_MESSAGE = "Function.prototype.bind called on incompatible ", slice = Array.prototype.slice,
2467
- toStr = Object.prototype.toString, implementation = function e(t) {
2475
+ toStr = Object.prototype.toString, funcType = "[object Function]", implementation = function e(t) {
2468
2476
  var r, s, n, i, o, a, l, c = this;
2469
- if ("function" != typeof c || "[object Function]" !== toStr.call(c)) throw new TypeError(ERROR_MESSAGE + c);
2477
+ if ("function" != typeof c || toStr.call(c) !== funcType) throw new TypeError(ERROR_MESSAGE + c);
2470
2478
  for (r = slice.call(arguments, 1), n = function() {
2471
2479
  if (this instanceof s) {
2472
2480
  var e = c.apply(this, r.concat(slice.call(arguments)));
@@ -3151,7 +3159,7 @@ const COMMON_DIR_MODULE_EXTS = [ ".tsx", ".ts", ".mjs", ".js", ".jsx", ".json",
3151
3159
  d("/");
3152
3160
  const C = {
3153
3161
  name: "in-memory",
3154
- version: "3.0.0",
3162
+ version: "3.0.1-dev.1677269299.a47c587",
3155
3163
  events: a,
3156
3164
  access: async e => u(e),
3157
3165
  accessSync: u,
@@ -4224,15 +4232,7 @@ exports.createJestPuppeteerEnvironment = function createJestPuppeteerEnvironment
4224
4232
  t[e.modeName] = e.styleStr;
4225
4233
  })), e.style = t;
4226
4234
  } else 1 === n.length && (e.style = n[0].styleStr);
4227
- testing.registerModule(s, e);
4228
- const i = ((e, t) => [ e, t.map((e => ((e, t) => {
4229
- let r = 0;
4230
- "shadow" === e.encapsulation ? (r |= 1, e.shadowDelegatesFocus && (r |= 16)) : "scoped" === e.encapsulation && (r |= 2),
4231
- "shadow" !== e.encapsulation && e.htmlTagNames.includes("slot") && (r |= 4), e.hasMode && (r |= 32);
4232
- const s = formatComponentRuntimeMembers(e, t), n = formatHostListeners(e);
4233
- return trimFalsy([ r, e.tagName, Object.keys(s).length > 0 ? s : void 0, n.length > 0 ? n : void 0 ]);
4234
- })(e, !0))) ])(s, [ e.COMPILER_META ]);
4235
- return i;
4235
+ return testing.registerModule(s, e), ((e, t) => [ e, t.map((e => formatComponentRuntimeMeta(e, !0))) ])(s, [ e.COMPILER_META ]);
4236
4236
  })), o = (e => {
4237
4237
  const t = e.some((e => e.htmlTagNames.includes("slot"))), r = e.some((e => "shadow" === e.encapsulation)), s = e.some((e => "shadow" !== e.encapsulation && e.htmlTagNames.includes("slot"))), n = {
4238
4238
  allRenderFn: e.every((e => e.hasRenderFn)),