sliftutils 0.10.0 → 0.12.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 (77) hide show
  1. package/.gitignore +38 -0
  2. package/assets/icon128.png +0 -0
  3. package/assets/icon16.png +0 -0
  4. package/assets/icon48.png +0 -0
  5. package/build-electron/assets/icon128.png +0 -0
  6. package/build-electron/assets/icon16.png +0 -0
  7. package/build-electron/assets/icon48.png +0 -0
  8. package/build-electron/electron/electronIndex.html +12 -0
  9. package/build-electron/electronMain.js +5185 -0
  10. package/build-electron/electronRenderer.js +20852 -0
  11. package/build-extension/assets/icon128.png +0 -0
  12. package/build-extension/assets/icon16.png +0 -0
  13. package/build-extension/assets/icon48.png +0 -0
  14. package/build-extension/extBackground.js +5246 -0
  15. package/build-extension/extContentScript.js +5243 -0
  16. package/build-extension/manifest.json +29 -0
  17. package/build-nodejs/server.js +198610 -0
  18. package/build-web/assets/icon128.png +0 -0
  19. package/build-web/assets/icon16.png +0 -0
  20. package/build-web/assets/icon48.png +0 -0
  21. package/build-web/browser.js +199266 -0
  22. package/build-web/web/index.html +32 -0
  23. package/builders/dist/electronBuild.ts.cache +105 -0
  24. package/builders/dist/extensionBuild.ts.cache +146 -0
  25. package/builders/dist/generateIndexDts.ts.cache +74 -0
  26. package/builders/dist/hotReload.ts.cache +93 -0
  27. package/builders/dist/nodeJSBuild.ts.cache +29 -0
  28. package/builders/dist/watch.ts.cache +163 -0
  29. package/builders/dist/webBuild.ts.cache +81 -0
  30. package/builders/generateIndexDts.ts +1 -1
  31. package/bundler/dist/bundleEntry.ts.cache +48 -0
  32. package/bundler/dist/bundleEntryCaller.ts.cache +18 -0
  33. package/bundler/dist/bundleRequire.ts.cache +246 -0
  34. package/bundler/dist/bundleWrapper.ts.cache +101 -0
  35. package/bundler/dist/bundler.ts.cache +66 -0
  36. package/bundler/dist/sourceMaps.ts.cache +210 -0
  37. package/dist/electronMain.ts.cache +27 -0
  38. package/dist/electronRenderer.tsx.cache +62 -0
  39. package/electron/dist/electronMain.ts.cache +26 -0
  40. package/electron/dist/electronRenderer.tsx.cache +64 -0
  41. package/extension/dist/extBackground.ts.cache +20 -0
  42. package/extension/dist/extContentScript.ts.cache +17 -0
  43. package/index.d.ts +478 -0
  44. package/misc/dist/environment.ts.cache +50 -0
  45. package/misc/dist/fs.ts.cache +29 -0
  46. package/nodejs/dist/exampleFile.ts.cache +11 -0
  47. package/nodejs/dist/server.ts.cache +15 -0
  48. package/package.json +5 -1
  49. package/render-utils/dist/observer.tsx.cache +33 -0
  50. package/storage/CachedStorage.d.ts +2 -0
  51. package/storage/DelayedStorage.d.ts +14 -0
  52. package/storage/DiskCollection.d.ts +99 -0
  53. package/storage/FileFolderAPI.d.ts +71 -0
  54. package/storage/IStorage.d.ts +38 -0
  55. package/storage/IndexedDBFileFolderAPI.d.ts +6 -0
  56. package/storage/JSONStorage.d.ts +16 -0
  57. package/storage/PendingManager.d.ts +6 -0
  58. package/storage/PendingStorage.d.ts +18 -0
  59. package/storage/PrivateFileSystemStorage.d.ts +23 -0
  60. package/storage/StorageObservable.d.ts +32 -0
  61. package/storage/TransactionStorage.d.ts +46 -0
  62. package/storage/dist/CachedStorage.ts.cache +31 -0
  63. package/storage/dist/DelayedStorage.ts.cache +35 -0
  64. package/storage/dist/DiskCollection.ts.cache +241 -0
  65. package/storage/dist/FileFolderAPI.tsx.cache +345 -0
  66. package/storage/dist/IndexedDBFileFolderAPI.ts.cache +142 -0
  67. package/storage/dist/JSONStorage.ts.cache +38 -0
  68. package/storage/dist/PendingManager.tsx.cache +73 -0
  69. package/storage/dist/PendingStorage.ts.cache +49 -0
  70. package/storage/dist/PrivateFileSystemStorage.ts.cache +178 -0
  71. package/storage/dist/StorageObservable.ts.cache +120 -0
  72. package/storage/dist/TransactionStorage.ts.cache +421 -0
  73. package/storage/dist/fileSystemPointer.ts.cache +77 -0
  74. package/storage/fileSystemPointer.d.ts +11 -0
  75. package/tsconfig.declarations.json +3 -1
  76. package/web/dist/browser.tsx.cache +66 -0
  77. package/yarn.lock +1752 -0
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
3
+ //exports.encodeSourceMapLineComment = exports.finalizeInProgressSourceMap = exports.addToInProgressSourceMap = exports.getInProgressSourceMap = exports.removeSourceMap = void 0;
4
+ function removeSourceMap(content) {
5
+ // Remove any url mappings (so NOT data ones)
6
+ content = content.replace(/\/\/# sourceMappingURL=(?!data:)[^\s]+$/m, "// removed url sourcemap");
7
+ const sourceMapRegex = /\/\/# sourceMappingURL=data:application\/json;base64,([^\s]+)$/m;
8
+ const match = content.match(sourceMapRegex);
9
+ if (!match) {
10
+ return { sourceMap: undefined, code: content };
11
+ }
12
+ let sourceMapJson = Buffer.from(match[1], "base64").toString();
13
+ // HACK: If the sourcemap is invalid, try to remove trailing characters. For some reason we sometimes have
14
+ // extra characters at the end? Also try to add some characters too?
15
+ function isJSON(str) {
16
+ try {
17
+ JSON.parse(str);
18
+ return true;
19
+ }
20
+ catch (_a) {
21
+ return false;
22
+ }
23
+ }
24
+ for (let i = 0; i < 3; i++) {
25
+ if (isJSON(sourceMapJson)) {
26
+ break;
27
+ }
28
+ sourceMapJson = sourceMapJson.slice(0, -1);
29
+ }
30
+ if (!isJSON(sourceMapJson)) {
31
+ if (isJSON(sourceMapJson + "]}")) {
32
+ sourceMapJson = sourceMapJson + "]}";
33
+ }
34
+ }
35
+ try {
36
+ const sourceMap = JSON.parse(sourceMapJson);
37
+ // Remove the sourcemap line but keep the code
38
+ content = content.replace(sourceMapRegex, "// merged inline sourcemap");
39
+ return { sourceMap, code: content };
40
+ }
41
+ catch (_a) {
42
+ console.log(`Invalid source map: ${sourceMapJson}`);
43
+ return { sourceMap: undefined, code: content };
44
+ }
45
+ }
46
+ exports.removeSourceMap = removeSourceMap;
47
+ function decodeMappings(mappings) {
48
+ const vlqTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
49
+ const vlqDecode = new Map(Array.from(vlqTable).map((c, i) => [c, i]));
50
+ function decodeVLQ(str, pos) {
51
+ let result = 0;
52
+ let shift = 0;
53
+ let continuation;
54
+ do {
55
+ const c = str[pos.value++];
56
+ const digit = vlqDecode.get(c);
57
+ if (digit === undefined) {
58
+ throw new Error(`Invalid VLQ character: ${JSON.stringify(c)}`);
59
+ }
60
+ continuation = (digit & 32) > 0;
61
+ const value = digit & 31;
62
+ result += value << shift;
63
+ shift += 5;
64
+ } while (continuation);
65
+ const shouldNegate = result & 1;
66
+ result >>>= 1;
67
+ return shouldNegate ? -result : result;
68
+ }
69
+ const result = [];
70
+ let generatedLine = 1;
71
+ let generatedColumn = 0;
72
+ let sourceIndex = 0;
73
+ let originalLine = 1;
74
+ let originalColumn = 0;
75
+ const segments = mappings.split(";");
76
+ for (let i = 0; i < segments.length; i++) {
77
+ const line = segments[i];
78
+ if (!line) {
79
+ generatedLine++;
80
+ continue;
81
+ }
82
+ generatedColumn = 0;
83
+ const fields = line.split(",");
84
+ for (const field of fields) {
85
+ if (!field)
86
+ continue;
87
+ const pos = { value: 0 };
88
+ const segmentData = [];
89
+ while (pos.value < field.length) {
90
+ segmentData.push(decodeVLQ(field, pos));
91
+ }
92
+ if (segmentData.length < 4)
93
+ continue;
94
+ generatedColumn += segmentData[0];
95
+ sourceIndex += segmentData[1];
96
+ originalLine += segmentData[2];
97
+ originalColumn += segmentData[3];
98
+ result.push({
99
+ generatedLine,
100
+ generatedColumn,
101
+ sourceIndex,
102
+ originalLine,
103
+ originalColumn,
104
+ });
105
+ }
106
+ generatedLine++;
107
+ }
108
+ return result;
109
+ }
110
+ function getInProgressSourceMap(sourceMap) {
111
+ const sources = sourceMap.sources.map((name, i) => ({
112
+ name,
113
+ contents: sourceMap.sourcesContent[i] || "",
114
+ }));
115
+ const mappings = decodeMappings(sourceMap.mappings);
116
+ return {
117
+ sources,
118
+ mappings,
119
+ };
120
+ }
121
+ exports.getInProgressSourceMap = getInProgressSourceMap;
122
+ function addToInProgressSourceMap(inProgress, newMappings) {
123
+ const sourceIndexOffset = inProgress.sources.length;
124
+ // Add new sources
125
+ inProgress.sources.push(...newMappings.sources);
126
+ // Add mappings with adjusted source indices
127
+ for (const mapping of newMappings.mappings) {
128
+ inProgress.mappings.push({
129
+ ...mapping,
130
+ sourceIndex: mapping.sourceIndex + sourceIndexOffset,
131
+ });
132
+ }
133
+ }
134
+ exports.addToInProgressSourceMap = addToInProgressSourceMap;
135
+ function finalizeInProgressSourceMap(inProgress) {
136
+ const vlqTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
137
+ function encodeVLQ(value) {
138
+ // Convert to zigzag encoding
139
+ value = value < 0 ? (-value << 1) | 1 : value << 1;
140
+ let result = "";
141
+ do {
142
+ let digit = value & 31;
143
+ value >>>= 5;
144
+ if (value > 0) {
145
+ digit |= 32;
146
+ }
147
+ result += vlqTable[digit];
148
+ } while (value > 0);
149
+ return result;
150
+ }
151
+ // Sort mappings by generated position
152
+ const sortedMappings = [...inProgress.mappings].sort((a, b) => {
153
+ if (a.generatedLine !== b.generatedLine) {
154
+ return a.generatedLine - b.generatedLine;
155
+ }
156
+ return a.generatedColumn - b.generatedColumn;
157
+ });
158
+ // Generate the mappings string
159
+ let prevGenLine = 1;
160
+ let prevGenColumn = 0;
161
+ let prevSourceIndex = 0;
162
+ let prevOrigLine = 1;
163
+ let prevOrigColumn = 0;
164
+ const lines = [];
165
+ let currentLine = [];
166
+ for (const mapping of sortedMappings) {
167
+ if (mapping.generatedLine > prevGenLine) {
168
+ lines.push(currentLine.join(","));
169
+ for (let i = prevGenLine + 1; i < mapping.generatedLine; i++) {
170
+ lines.push("");
171
+ }
172
+ currentLine = [];
173
+ prevGenColumn = 0;
174
+ }
175
+ const segment = [
176
+ encodeVLQ(mapping.generatedColumn - prevGenColumn),
177
+ encodeVLQ(mapping.sourceIndex - prevSourceIndex),
178
+ encodeVLQ(mapping.originalLine - prevOrigLine),
179
+ encodeVLQ(mapping.originalColumn - prevOrigColumn),
180
+ ];
181
+ currentLine.push(segment.join(""));
182
+ prevGenLine = mapping.generatedLine;
183
+ prevGenColumn = mapping.generatedColumn;
184
+ prevSourceIndex = mapping.sourceIndex;
185
+ prevOrigLine = mapping.originalLine;
186
+ prevOrigColumn = mapping.originalColumn;
187
+ }
188
+ if (currentLine.length > 0) {
189
+ lines.push(currentLine.join(","));
190
+ }
191
+ return {
192
+ version: 3,
193
+ file: "",
194
+ sourceRoot: "",
195
+ sources: inProgress.sources.map(s => s.name),
196
+ sourcesContent: inProgress.sources.map(s => s.contents),
197
+ names: [],
198
+ mappings: lines.join(";"),
199
+ };
200
+ }
201
+ exports.finalizeInProgressSourceMap = finalizeInProgressSourceMap;
202
+ function encodeSourceMapLineComment(sourceMap) {
203
+ const sourceMapJson = JSON.stringify(sourceMap);
204
+ const base64 = Buffer.from(sourceMapJson).toString("base64");
205
+ // NOTE: Don't write it as one string, as then we are detected as a sourcemap, and break sourcemaps...
206
+ return "//" + `# sourceMappingURL=data:application/json;base64,${base64}`;
207
+ }
208
+ exports.encodeSourceMapLineComment = encodeSourceMapLineComment;
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNvdXJjZU1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUJBLFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBSTNDLDZDQUE2QztJQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0lBRWxHLE1BQU0sY0FBYyxHQUFHLGlFQUFpRSxDQUFDO0lBQ3pGLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvRCwwR0FBMEc7SUFDMUcscUVBQXFFO0lBQ3JFLFNBQVMsTUFBTSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQUMsV0FBTSxDQUFDO1lBQ0wsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDekIsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNO1FBQ1YsQ0FBQztRQUNELGFBQWEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9D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RUFBRSxFQUFFO1FBQ2QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1QyxjQUFjLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3ZELEtBQUssRUFBRSxFQUFFO1FBQ1QsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQzVCLENBQUM7QUFDTixDQUFDO0FBN0VELGtFQTZFQztBQUNELFNBQWdCLDBCQUEwQixDQUFDLFNBQW9CO0lBQzNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0Qsc0dBQXNHO0lBQ3RHLE9BQU8sSUFBSSxHQUFHLG1EQUFtRCxNQUFNLEVBQUUsQ0FBQztBQUM5RSxDQUFDO0FBTEQsZ0VBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB0eXBlIFNvdXJjZU1hcCA9IHtcbiAgICB2ZXJzaW9uOiBudW1iZXI7XG4gICAgZmlsZTogc3RyaW5nO1xuICAgIHNvdXJjZVJvb3Q6IFwiXCIsXG4gICAgc291cmNlczogc3RyaW5nW107XG4gICAgc291cmNlc0NvbnRlbnQ6IHN0cmluZ1tdO1xuICAgIG5hbWVzOiBuZXZlcltdO1xuICAgIG1hcHBpbmdzOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgU291cmNlTWFwcGluZyA9IHtcbiAgICBnZW5lcmF0ZWRMaW5lOiBudW1iZXI7XG4gICAgZ2VuZXJhdGVkQ29sdW1uOiBudW1iZXI7XG4gICAgc291cmNlSW5kZXg6IG51bWJlcjtcbiAgICBvcmlnaW5hbExpbmU6IG51bWJlcjtcbiAgICBvcmlnaW5hbENvbHVtbjogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIEluUHJvZ3Jlc3NTb3VyY2VNYXAgPSB7XG4gICAgc291cmNlczoge1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIGNvbnRlbnRzOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIG1hcHBpbmdzOiBTb3VyY2VNYXBwaW5nW107XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU291cmNlTWFwKGNvbnRlbnQ6IHN0cmluZyk6IHtcbiAgICBzb3VyY2VNYXA6IFNvdXJjZU1hcCB8IHVuZGVmaW5lZDtcbiAgICBjb2RlOiBzdHJpbmc7XG59IHtcbiAgICAvLyBSZW1vdmUgYW55IHVybCBtYXBwaW5ncyAoc28gTk9UIGRhdGEgb25lcylcbiAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC9cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkw9KD8hZGF0YTopW15cXHNdKyQvbSwgXCIvLyByZW1vdmVkIHVybCBzb3VyY2VtYXBcIik7XG5cbiAgICBjb25zdCBzb3VyY2VNYXBSZWdleCA9IC9cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvblxcL2pzb247YmFzZTY0LChbXlxcc10rKSQvbTtcbiAgICBjb25zdCBtYXRjaCA9IGNvbnRlbnQubWF0Y2goc291cmNlTWFwUmVnZXgpO1xuXG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgICByZXR1cm4geyBzb3VyY2VNYXA6IHVuZGVmaW5lZCwgY29kZTogY29udGVudCB9O1xuICAgIH1cblxuICAgIGxldCBzb3VyY2VNYXBKc29uID0gQnVmZmVyLmZyb20obWF0Y2hbMV0sIFwiYmFzZTY0XCIpLnRvU3RyaW5nKCk7XG4gICAgLy8gSEFDSzogSWYgdGhlIHNvdXJjZW1hcCBpcyBpbnZhbGlkLCB0cnkgdG8gcmVtb3ZlIHRyYWlsaW5nIGNoYXJhY3RlcnMuIEZvciBzb21lIHJlYXNvbiB3ZSBzb21ldGltZXMgaGF2ZVxuICAgIC8vICBleHRyYSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQ/IEFsc28gdHJ5IHRvIGFkZCBzb21lIGNoYXJhY3RlcnMgdG9vP1xuICAgIGZ1bmN0aW9uIGlzSlNPTihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgaSsrKSB7XG4gICAgICAgIGlmIChpc0pTT04oc291cmNlTWFwSnNvbikpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHNvdXJjZU1hcEpzb24gPSBzb3VyY2VNYXBKc29uLnNsaWNlKDAsIC0xKTtcbiAgICB9XG4gICAgaWYgKCFpc0pTT04oc291cmNlTWFwSnNvbikpIHtcbiAgICAgICAgaWYgKGlzSlNPTihzb3VyY2VNYXBKc29uICsgXCJdfVwiKSkge1xuICAgICAgICAgICAgc291cmNlTWFwSnNvbiA9IHNvdXJjZU1hcEpzb24gKyBcIl19XCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCBzb3VyY2VNYXAgPSBKU09OLnBhcnNlKHNvdXJjZU1hcEpzb24pIGFzIFNvdXJjZU1hcDtcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIHNvdXJjZW1hcCBsaW5lIGJ1dCBrZWVwIHRoZSBjb2RlXG4gICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnJlcGxhY2Uoc291cmNlTWFwUmVnZXgsIFwiLy8gbWVyZ2VkIGlubGluZSBzb3VyY2VtYXBcIik7XG5cbiAgICAgICAgcmV0dXJuIHsgc291cmNlTWFwLCBjb2RlOiBjb250ZW50IH07XG4gICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBJbnZhbGlkIHNvdXJjZSBtYXA6ICR7c291cmNlTWFwSnNvbn1gKTtcbiAgICAgICAgcmV0dXJuIHsgc291cmNlTWFwOiB1bmRlZmluZWQsIGNvZGU6IGNvbnRlbnQgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBkZWNvZGVNYXBwaW5ncyhtYXBwaW5nczogc3RyaW5nKTogU291cmNlTWFwcGluZ1tdIHtcbiAgICBjb25zdCB2bHFUYWJsZSA9IFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL1wiO1xuICAgIGNvbnN0IHZscURlY29kZSA9IG5ldyBNYXAoQXJyYXkuZnJvbSh2bHFUYWJsZSkubWFwKChjLCBpKSA9PiBbYywgaV0pKTtcblxuICAgIGZ1bmN0aW9uIGRlY29kZVZMUShzdHI6IHN0cmluZywgcG9zOiB7IHZhbHVlOiBudW1iZXIgfSk6IG51bWJlciB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBsZXQgc2hpZnQgPSAwO1xuICAgICAgICBsZXQgY29udGludWF0aW9uOiBib29sZWFuO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBzdHJbcG9zLnZhbHVlKytdO1xuICAgICAgICAgICAgY29uc3QgZGlnaXQgPSB2bHFEZWNvZGUuZ2V0KGMpO1xuICAgICAgICAgICAgaWYgKGRpZ2l0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVkxRIGNoYXJhY3RlcjogJHtKU09OLnN0cmluZ2lmeShjKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRpbnVhdGlvbiA9IChkaWdpdCAmIDMyKSA+IDA7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRpZ2l0ICYgMzE7XG4gICAgICAgICAgICByZXN1bHQgKz0gdmFsdWUgPDwgc2hpZnQ7XG4gICAgICAgICAgICBzaGlmdCArPSA1O1xuICAgICAgICB9IHdoaWxlIChjb250aW51YXRpb24pO1xuXG4gICAgICAgIGNvbnN0IHNob3VsZE5lZ2F0ZSA9IHJlc3VsdCAmIDE7XG4gICAgICAgIHJlc3VsdCA+Pj49IDE7XG4gICAgICAgIHJldHVybiBzaG91bGROZWdhdGUgPyAtcmVzdWx0IDogcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogU291cmNlTWFwcGluZ1tdID0gW107XG4gICAgbGV0IGdlbmVyYXRlZExpbmUgPSAxO1xuICAgIGxldCBnZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgIGxldCBzb3VyY2VJbmRleCA9IDA7XG4gICAgbGV0IG9yaWdpbmFsTGluZSA9IDE7XG4gICAgbGV0IG9yaWdpbmFsQ29sdW1uID0gMDtcblxuICAgIGNvbnN0IHNlZ21lbnRzID0gbWFwcGluZ3Muc3BsaXQoXCI7XCIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgbGluZSA9IHNlZ21lbnRzW2ldO1xuICAgICAgICBpZiAoIWxpbmUpIHtcbiAgICAgICAgICAgIGdlbmVyYXRlZExpbmUrKztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICAgICAgY29uc3QgZmllbGRzID0gbGluZS5zcGxpdChcIixcIik7XG5cbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgICAgICAgIGlmICghZmllbGQpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBjb25zdCBwb3MgPSB7IHZhbHVlOiAwIH07XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50RGF0YSA9IFtdO1xuXG4gICAgICAgICAgICB3aGlsZSAocG9zLnZhbHVlIDwgZmllbGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2VnbWVudERhdGEucHVzaChkZWNvZGVWTFEoZmllbGQsIHBvcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2VnbWVudERhdGEubGVuZ3RoIDwgNCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGdlbmVyYXRlZENvbHVtbiArPSBzZWdtZW50RGF0YVswXTtcbiAgICAgICAgICAgIHNvdXJjZUluZGV4ICs9IHNlZ21lbnREYXRhWzFdO1xuICAgICAgICAgICAgb3JpZ2luYWxMaW5lICs9IHNlZ21lbnREYXRhWzJdO1xuICAgICAgICAgICAgb3JpZ2luYWxDb2x1bW4gKz0gc2VnbWVudERhdGFbM107XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZWRMaW5lLFxuICAgICAgICAgICAgICAgIGdlbmVyYXRlZENvbHVtbixcbiAgICAgICAgICAgICAgICBzb3VyY2VJbmRleCxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbExpbmUsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxDb2x1bW4sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBnZW5lcmF0ZWRMaW5lKys7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRJblByb2dyZXNzU291cmNlTWFwKHNvdXJjZU1hcDogU291cmNlTWFwKTogSW5Qcm9ncmVzc1NvdXJjZU1hcCB7XG4gICAgY29uc3Qgc291cmNlcyA9IHNvdXJjZU1hcC5zb3VyY2VzLm1hcCgobmFtZSwgaSkgPT4gKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY29udGVudHM6IHNvdXJjZU1hcC5zb3VyY2VzQ29udGVudFtpXSB8fCBcIlwiLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IG1hcHBpbmdzID0gZGVjb2RlTWFwcGluZ3Moc291cmNlTWFwLm1hcHBpbmdzKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZXMsXG4gICAgICAgIG1hcHBpbmdzLFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb0luUHJvZ3Jlc3NTb3VyY2VNYXAoaW5Qcm9ncmVzczogSW5Qcm9ncmVzc1NvdXJjZU1hcCwgbmV3TWFwcGluZ3M6IEluUHJvZ3Jlc3NTb3VyY2VNYXApIHtcbiAgICBjb25zdCBzb3VyY2VJbmRleE9mZnNldCA9IGluUHJvZ3Jlc3Muc291cmNlcy5sZW5ndGg7XG5cbiAgICAvLyBBZGQgbmV3IHNvdXJjZXNcbiAgICBpblByb2dyZXNzLnNvdXJjZXMucHVzaCguLi5uZXdNYXBwaW5ncy5zb3VyY2VzKTtcblxuICAgIC8vIEFkZCBtYXBwaW5ncyB3aXRoIGFkanVzdGVkIHNvdXJjZSBpbmRpY2VzXG4gICAgZm9yIChjb25zdCBtYXBwaW5nIG9mIG5ld01hcHBpbmdzLm1hcHBpbmdzKSB7XG4gICAgICAgIGluUHJvZ3Jlc3MubWFwcGluZ3MucHVzaCh7XG4gICAgICAgICAgICAuLi5tYXBwaW5nLFxuICAgICAgICAgICAgc291cmNlSW5kZXg6IG1hcHBpbmcuc291cmNlSW5kZXggKyBzb3VyY2VJbmRleE9mZnNldCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluYWxpemVJblByb2dyZXNzU291cmNlTWFwKGluUHJvZ3Jlc3M6IEluUHJvZ3Jlc3NTb3VyY2VNYXApOiBTb3VyY2VNYXAge1xuICAgIGNvbnN0IHZscVRhYmxlID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCI7XG5cbiAgICBmdW5jdGlvbiBlbmNvZGVWTFEodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gemlnemFnIGVuY29kaW5nXG4gICAgICAgIHZhbHVlID0gdmFsdWUgPCAwID8gKC12YWx1ZSA8PCAxKSB8IDEgOiB2YWx1ZSA8PCAxO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBsZXQgZGlnaXQgPSB2YWx1ZSAmIDMxO1xuICAgICAgICAgICAgdmFsdWUgPj4+PSA1O1xuICAgICAgICAgICAgaWYgKHZhbHVlID4gMCkge1xuICAgICAgICAgICAgICAgIGRpZ2l0IHw9IDMyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0ICs9IHZscVRhYmxlW2RpZ2l0XTtcbiAgICAgICAgfSB3aGlsZSAodmFsdWUgPiAwKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIFNvcnQgbWFwcGluZ3MgYnkgZ2VuZXJhdGVkIHBvc2l0aW9uXG4gICAgY29uc3Qgc29ydGVkTWFwcGluZ3MgPSBbLi4uaW5Qcm9ncmVzcy5tYXBwaW5nc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBpZiAoYS5nZW5lcmF0ZWRMaW5lICE9PSBiLmdlbmVyYXRlZExpbmUpIHtcbiAgICAgICAgICAgIHJldHVybiBhLmdlbmVyYXRlZExpbmUgLSBiLmdlbmVyYXRlZExpbmU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGEuZ2VuZXJhdGVkQ29sdW1uIC0gYi5nZW5lcmF0ZWRDb2x1bW47XG4gICAgfSk7XG5cbiAgICAvLyBHZW5lcmF0ZSB0aGUgbWFwcGluZ3Mgc3RyaW5nXG4gICAgbGV0IHByZXZHZW5MaW5lID0gMTtcbiAgICBsZXQgcHJldkdlbkNvbHVtbiA9IDA7XG4gICAgbGV0IHByZXZTb3VyY2VJbmRleCA9IDA7XG4gICAgbGV0IHByZXZPcmlnTGluZSA9IDE7XG4gICAgbGV0IHByZXZPcmlnQ29sdW1uID0gMDtcblxuICAgIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50TGluZTogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbWFwcGluZyBvZiBzb3J0ZWRNYXBwaW5ncykge1xuICAgICAgICBpZiAobWFwcGluZy5nZW5lcmF0ZWRMaW5lID4gcHJldkdlbkxpbmUpIHtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goY3VycmVudExpbmUuam9pbihcIixcIikpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHByZXZHZW5MaW5lICsgMTsgaSA8IG1hcHBpbmcuZ2VuZXJhdGVkTGluZTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGluZXMucHVzaChcIlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnJlbnRMaW5lID0gW107XG4gICAgICAgICAgICBwcmV2R2VuQ29sdW1uID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlZ21lbnQgPSBbXG4gICAgICAgICAgICBlbmNvZGVWTFEobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gLSBwcmV2R2VuQ29sdW1uKSxcbiAgICAgICAgICAgIGVuY29kZVZMUShtYXBwaW5nLnNvdXJjZUluZGV4IC0gcHJldlNvdXJjZUluZGV4KSxcbiAgICAgICAgICAgIGVuY29kZVZMUShtYXBwaW5nLm9yaWdpbmFsTGluZSAtIHByZXZPcmlnTGluZSksXG4gICAgICAgICAgICBlbmNvZGVWTFEobWFwcGluZy5vcmlnaW5hbENvbHVtbiAtIHByZXZPcmlnQ29sdW1uKSxcbiAgICAgICAgXTtcblxuICAgICAgICBjdXJyZW50TGluZS5wdXNoKHNlZ21lbnQuam9pbihcIlwiKSk7XG5cbiAgICAgICAgcHJldkdlbkxpbmUgPSBtYXBwaW5nLmdlbmVyYXRlZExpbmU7XG4gICAgICAgIHByZXZHZW5Db2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcbiAgICAgICAgcHJldlNvdXJjZUluZGV4ID0gbWFwcGluZy5zb3VyY2VJbmRleDtcbiAgICAgICAgcHJldk9yaWdMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmU7XG4gICAgICAgIHByZXZPcmlnQ29sdW1uID0gbWFwcGluZy5vcmlnaW5hbENvbHVtbjtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudExpbmUubGVuZ3RoID4gMCkge1xuICAgICAgICBsaW5lcy5wdXNoKGN1cnJlbnRMaW5lLmpvaW4oXCIsXCIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB2ZXJzaW9uOiAzLFxuICAgICAgICBmaWxlOiBcIlwiLFxuICAgICAgICBzb3VyY2VSb290OiBcIlwiLFxuICAgICAgICBzb3VyY2VzOiBpblByb2dyZXNzLnNvdXJjZXMubWFwKHMgPT4gcy5uYW1lKSxcbiAgICAgICAgc291cmNlc0NvbnRlbnQ6IGluUHJvZ3Jlc3Muc291cmNlcy5tYXAocyA9PiBzLmNvbnRlbnRzKSxcbiAgICAgICAgbmFtZXM6IFtdLFxuICAgICAgICBtYXBwaW5nczogbGluZXMuam9pbihcIjtcIiksXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVTb3VyY2VNYXBMaW5lQ29tbWVudChzb3VyY2VNYXA6IFNvdXJjZU1hcCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc291cmNlTWFwSnNvbiA9IEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCk7XG4gICAgY29uc3QgYmFzZTY0ID0gQnVmZmVyLmZyb20oc291cmNlTWFwSnNvbikudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gICAgLy8gTk9URTogRG9uJ3Qgd3JpdGUgaXQgYXMgb25lIHN0cmluZywgYXMgdGhlbiB3ZSBhcmUgZGV0ZWN0ZWQgYXMgYSBzb3VyY2VtYXAsIGFuZCBicmVhayBzb3VyY2VtYXBzLi4uXG4gICAgcmV0dXJuIFwiLy9cIiArIGAjIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwke2Jhc2U2NH1gO1xufSJdfQ==
210
+ /* _JS_SOURCE_HASH = "a98d05723f70be7b0f9c6b0cc95a4273a5bd36169a849a6810ead323c7526aa1"; */
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
3
+ const electron_1 = require("electron");
4
+ const environment_1 = require("./misc/environment");
5
+ function main() {
6
+ if (!(0, environment_1.isInElectron)()) {
7
+ return;
8
+ }
9
+ electron_1.app.whenReady().then(() => {
10
+ const mainWindow = new electron_1.BrowserWindow({
11
+ width: 800,
12
+ height: 600,
13
+ webPreferences: {
14
+ nodeIntegration: false,
15
+ contextIsolation: true,
16
+ },
17
+ });
18
+ mainWindow.loadFile("./electronIndex.html");
19
+ mainWindow.webContents.openDevTools();
20
+ });
21
+ electron_1.app.on("window-all-closed", () => {
22
+ electron_1.app.quit();
23
+ });
24
+ }
25
+ main();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb25NYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZWxlY3Ryb25NYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQThDO0FBRTlDLG9EQUFrRDtBQUVsRCxTQUFTLElBQUk7SUFDVCxJQUFJLENBQUMsSUFBQSwwQkFBWSxHQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPO0lBQ1gsQ0FBQztJQUVELGNBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksd0JBQWEsQ0FBQztZQUNqQyxLQUFLLEVBQUUsR0FBRztZQUNWLE1BQU0sRUFBRSxHQUFHO1lBQ1gsY0FBYyxFQUFFO2dCQUNaLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3pCO1NBQ0osQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxjQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUM3QixjQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcCwgQnJvd3NlcldpbmRvdyB9IGZyb20gXCJlbGVjdHJvblwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGlzSW5FbGVjdHJvbiB9IGZyb20gXCIuL21pc2MvZW52aXJvbm1lbnRcIjtcblxuZnVuY3Rpb24gbWFpbigpIHtcbiAgICBpZiAoIWlzSW5FbGVjdHJvbigpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhcHAud2hlblJlYWR5KCkudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1haW5XaW5kb3cgPSBuZXcgQnJvd3NlcldpbmRvdyh7XG4gICAgICAgICAgICB3aWR0aDogODAwLFxuICAgICAgICAgICAgaGVpZ2h0OiA2MDAsXG4gICAgICAgICAgICB3ZWJQcmVmZXJlbmNlczoge1xuICAgICAgICAgICAgICAgIG5vZGVJbnRlZ3JhdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29udGV4dElzb2xhdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1haW5XaW5kb3cubG9hZEZpbGUoXCIuL2VsZWN0cm9uSW5kZXguaHRtbFwiKTtcbiAgICAgICAgbWFpbldpbmRvdy53ZWJDb250ZW50cy5vcGVuRGV2VG9vbHMoKTtcbiAgICB9KTtcblxuICAgIGFwcC5vbihcIndpbmRvdy1hbGwtY2xvc2VkXCIsICgpID0+IHtcbiAgICAgICAgYXBwLnF1aXQoKTtcbiAgICB9KTtcbn1cblxubWFpbigpO1xuXG4iXX0//=
27
+ /* _JS_SOURCE_HASH = "356ce610001b20684dfc66afba9a5f7cb8fc1353b35be5a9451949f8a97ffada"; */
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
32
+ const preact = __importStar(require("preact"));
33
+ const mobx_1 = require("mobx");
34
+ const observer_1 = require("./web/observer");
35
+ const typesafecss_1 = require("typesafecss");
36
+ let App = class App extends preact.Component {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.synced = (0, mobx_1.observable)({
40
+ count: 0,
41
+ });
42
+ }
43
+ render() {
44
+ return (preact.createElement("div", null,
45
+ preact.createElement("h1", null, "Hello from Electron!"),
46
+ preact.createElement("p", null,
47
+ "Count: ",
48
+ this.synced.count),
49
+ preact.createElement("button", { onClick: () => this.synced.count++ }, "Increment")));
50
+ }
51
+ };
52
+ App = __decorate([
53
+ observer_1.observer
54
+ ], App);
55
+ async function main() {
56
+ if ((0, typesafecss_1.isNode)())
57
+ return;
58
+ preact.render(preact.createElement(App, null), document.getElementById("app"));
59
+ }
60
+ main().catch(console.error);
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb25SZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVsZWN0cm9uUmVuZGVyZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsK0JBQWtDO0FBQ2xDLDZDQUEwQztBQUMxQyw2Q0FBcUM7QUFHckMsSUFBTSxHQUFHLEdBQVQsTUFBTSxHQUFJLFNBQVEsTUFBTSxDQUFDLFNBQVM7SUFBbEM7O1FBQ0ksV0FBTSxHQUFHLElBQUEsaUJBQVUsRUFBQztZQUNoQixLQUFLLEVBQUUsQ0FBQztTQUNYLENBQUMsQ0FBQztJQWFQLENBQUM7SUFYRyxNQUFNO1FBQ0YsT0FBTyxDQUNIO1lBQ0ksd0RBQTZCO1lBQzdCOztnQkFBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBSztZQUNqQyxpQ0FBUSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBRWpDLENBQ1AsQ0FDVCxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUE7QUFoQkssR0FBRztJQURSLG1CQUFRO0dBQ0gsR0FBRyxDQWdCUjtBQUVELEtBQUssVUFBVSxJQUFJO0lBQ2YsSUFBSSxJQUFBLG9CQUFNLEdBQUU7UUFBRSxPQUFPO0lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQUMsR0FBRyxPQUFHLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcHJlYWN0IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IG9ic2VydmFibGUgfSBmcm9tIFwibW9ieFwiO1xuaW1wb3J0IHsgb2JzZXJ2ZXIgfSBmcm9tIFwiLi93ZWIvb2JzZXJ2ZXJcIjtcbmltcG9ydCB7IGlzTm9kZSB9IGZyb20gXCJ0eXBlc2FmZWNzc1wiO1xuXG5Ab2JzZXJ2ZXJcbmNsYXNzIEFwcCBleHRlbmRzIHByZWFjdC5Db21wb25lbnQge1xuICAgIHN5bmNlZCA9IG9ic2VydmFibGUoe1xuICAgICAgICBjb3VudDogMCxcbiAgICB9KTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGgxPkhlbGxvIGZyb20gRWxlY3Ryb24hPC9oMT5cbiAgICAgICAgICAgICAgICA8cD5Db3VudDoge3RoaXMuc3luY2VkLmNvdW50fTwvcD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHRoaXMuc3luY2VkLmNvdW50Kyt9PlxuICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnRcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgICBpZiAoaXNOb2RlKCkpIHJldHVybjtcbiAgICBwcmVhY3QucmVuZGVyKDxBcHAgLz4sIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYXBwXCIpISk7XG59XG5cbm1haW4oKS5jYXRjaChjb25zb2xlLmVycm9yKTtcbiJdfQ==
62
+ /* _JS_SOURCE_HASH = "7e8228ba6d0b9a034285950c8a5e23d87c7237f588d2df05af6f8e755f68af1d"; */
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
3
+ const electron_1 = require("electron");
4
+ const environment_1 = require("../misc/environment");
5
+ async function main() {
6
+ if (!(0, environment_1.isInElectron)()) {
7
+ return;
8
+ }
9
+ await electron_1.app.whenReady();
10
+ const mainWindow = new electron_1.BrowserWindow({
11
+ width: 800,
12
+ height: 600,
13
+ webPreferences: {
14
+ nodeIntegration: false,
15
+ contextIsolation: true,
16
+ },
17
+ });
18
+ await mainWindow.loadFile("./electronIndex.html");
19
+ mainWindow.webContents.openDevTools();
20
+ electron_1.app.on("window-all-closed", () => {
21
+ electron_1.app.quit();
22
+ });
23
+ }
24
+ main().catch(console.error);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb25NYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZWxlY3Ryb25NYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQThDO0FBQzlDLHFEQUFtRDtBQUVuRCxLQUFLLFVBQVUsSUFBSTtJQUNmLElBQUksQ0FBQyxJQUFBLDBCQUFZLEdBQUUsRUFBRSxDQUFDO1FBQ2xCLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSxjQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSx3QkFBYSxDQUFDO1FBQ2pDLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLEdBQUc7UUFDWCxjQUFjLEVBQUU7WUFDWixlQUFlLEVBQUUsS0FBSztZQUN0QixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3pCO0tBQ0osQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0QyxjQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUM3QixjQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwLCBCcm93c2VyV2luZG93IH0gZnJvbSBcImVsZWN0cm9uXCI7XG5pbXBvcnQgeyBpc0luRWxlY3Ryb24gfSBmcm9tIFwiLi4vbWlzYy9lbnZpcm9ubWVudFwiO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICAgIGlmICghaXNJbkVsZWN0cm9uKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IGFwcC53aGVuUmVhZHkoKTtcblxuICAgIGNvbnN0IG1haW5XaW5kb3cgPSBuZXcgQnJvd3NlcldpbmRvdyh7XG4gICAgICAgIHdpZHRoOiA4MDAsXG4gICAgICAgIGhlaWdodDogNjAwLFxuICAgICAgICB3ZWJQcmVmZXJlbmNlczoge1xuICAgICAgICAgICAgbm9kZUludGVncmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRleHRJc29sYXRpb246IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtYWluV2luZG93LmxvYWRGaWxlKFwiLi9lbGVjdHJvbkluZGV4Lmh0bWxcIik7XG4gICAgbWFpbldpbmRvdy53ZWJDb250ZW50cy5vcGVuRGV2VG9vbHMoKTtcblxuICAgIGFwcC5vbihcIndpbmRvdy1hbGwtY2xvc2VkXCIsICgpID0+IHtcbiAgICAgICAgYXBwLnF1aXQoKTtcbiAgICB9KTtcbn1cblxubWFpbigpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xuXG4iXX0//=
26
+ /* _JS_SOURCE_HASH = "b73a4829f7426a670e25adf8d19a5d10d73b980c2b0c011a999f6b8311973125"; */
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
32
+ const preact = __importStar(require("preact"));
33
+ const mobx_1 = require("mobx");
34
+ const observer_1 = require("../render-utils/observer");
35
+ const typesafecss_1 = require("typesafecss");
36
+ const hotReload_1 = require("../builders/hotReload");
37
+ let App = class App extends preact.Component {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.synced = (0, mobx_1.observable)({
41
+ count: 0,
42
+ });
43
+ }
44
+ render() {
45
+ return (preact.createElement("div", null,
46
+ preact.createElement("h1", null, "Hello from Electron!"),
47
+ preact.createElement("p", null,
48
+ "Count: ",
49
+ this.synced.count),
50
+ preact.createElement("button", { onClick: () => this.synced.count++ }, "Increment")));
51
+ }
52
+ };
53
+ App = __decorate([
54
+ observer_1.observer
55
+ ], App);
56
+ async function main() {
57
+ if ((0, typesafecss_1.isNode)())
58
+ return;
59
+ await (0, hotReload_1.enableHotReloading)({ port: 9879 });
60
+ preact.render(preact.createElement(App, null), document.getElementById("app"));
61
+ }
62
+ main().catch(console.error);
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb25SZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVsZWN0cm9uUmVuZGVyZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsK0JBQWtDO0FBQ2xDLHVEQUFvRDtBQUNwRCw2Q0FBcUM7QUFDckMscURBQTJEO0FBRzNELElBQU0sR0FBRyxHQUFULE1BQU0sR0FBSSxTQUFRLE1BQU0sQ0FBQyxTQUFTO0lBQWxDOztRQUNJLFdBQU0sR0FBRyxJQUFBLGlCQUFVLEVBQUM7WUFDaEIsS0FBSyxFQUFFLENBQUM7U0FDWCxDQUFDLENBQUM7SUFhUCxDQUFDO0lBWEcsTUFBTTtRQUNGLE9BQU8sQ0FDSDtZQUNJLHdEQUE2QjtZQUM3Qjs7Z0JBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUs7WUFDakMsaUNBQVEsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUVqQyxDQUNQLENBQ1QsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBO0FBaEJLLEdBQUc7SUFEUixtQkFBUTtHQUNILEdBQUcsQ0FnQlI7QUFFRCxLQUFLLFVBQVUsSUFBSTtJQUNmLElBQUksSUFBQSxvQkFBTSxHQUFFO1FBQUUsT0FBTztJQUNyQixNQUFNLElBQUEsOEJBQWtCLEVBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFDLEdBQUcsT0FBRyxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHByZWFjdCBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIH0gZnJvbSBcIm1vYnhcIjtcbmltcG9ydCB7IG9ic2VydmVyIH0gZnJvbSBcIi4uL3JlbmRlci11dGlscy9vYnNlcnZlclwiO1xuaW1wb3J0IHsgaXNOb2RlIH0gZnJvbSBcInR5cGVzYWZlY3NzXCI7XG5pbXBvcnQgeyBlbmFibGVIb3RSZWxvYWRpbmcgfSBmcm9tIFwiLi4vYnVpbGRlcnMvaG90UmVsb2FkXCI7XG5cbkBvYnNlcnZlclxuY2xhc3MgQXBwIGV4dGVuZHMgcHJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3luY2VkID0gb2JzZXJ2YWJsZSh7XG4gICAgICAgIGNvdW50OiAwLFxuICAgIH0pO1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aDE+SGVsbG8gZnJvbSBFbGVjdHJvbiE8L2gxPlxuICAgICAgICAgICAgICAgIDxwPkNvdW50OiB7dGhpcy5zeW5jZWQuY291bnR9PC9wPlxuICAgICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gdGhpcy5zeW5jZWQuY291bnQrK30+XG4gICAgICAgICAgICAgICAgICAgIEluY3JlbWVudFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICAgIGlmIChpc05vZGUoKSkgcmV0dXJuO1xuICAgIGF3YWl0IGVuYWJsZUhvdFJlbG9hZGluZyh7IHBvcnQ6IDk4NzkgfSk7XG4gICAgcHJlYWN0LnJlbmRlcig8QXBwIC8+LCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImFwcFwiKSEpO1xufVxuXG5tYWluKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XG5cbiJdfQ==
64
+ /* _JS_SOURCE_HASH = "67ca959c9ece696afa4bd2955ad85349ff07e44a678c013ebee05e0df601971d"; */
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
3
+ const hotReload_1 = require("../builders/hotReload");
4
+ const environment_1 = require("../misc/environment");
5
+ async function main() {
6
+ if (!(0, environment_1.isInChromeExtension)()) {
7
+ return;
8
+ }
9
+ await (0, hotReload_1.enableHotReloading)({ port: 9878 });
10
+ chrome.runtime.onInstalled.addListener(() => {
11
+ console.log("Extension installed!");
12
+ });
13
+ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
14
+ console.log("Message received:", message, sender);
15
+ sendResponse({ status: "ok 26" });
16
+ });
17
+ }
18
+ main().catch(console.error);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0QmFja2dyb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4dEJhY2tncm91bmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkQ7QUFDM0QscURBQTBEO0FBRTFELEtBQUssVUFBVSxJQUFJO0lBQ2YsSUFBSSxDQUFDLElBQUEsaUNBQW1CLEdBQUUsRUFBRSxDQUFDO1FBQ3pCLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSxJQUFBLDhCQUFrQixFQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFO1FBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmFibGVIb3RSZWxvYWRpbmcgfSBmcm9tIFwiLi4vYnVpbGRlcnMvaG90UmVsb2FkXCI7XG5pbXBvcnQgeyBpc0luQ2hyb21lRXh0ZW5zaW9uIH0gZnJvbSBcIi4uL21pc2MvZW52aXJvbm1lbnRcIjtcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgICBpZiAoIWlzSW5DaHJvbWVFeHRlbnNpb24oKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgZW5hYmxlSG90UmVsb2FkaW5nKHsgcG9ydDogOTg3OCB9KTtcblxuICAgIGNocm9tZS5ydW50aW1lLm9uSW5zdGFsbGVkLmFkZExpc3RlbmVyKCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJFeHRlbnNpb24gaW5zdGFsbGVkIVwiKTtcbiAgICB9KTtcblxuICAgIGNocm9tZS5ydW50aW1lLm9uTWVzc2FnZS5hZGRMaXN0ZW5lcigobWVzc2FnZSwgc2VuZGVyLCBzZW5kUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJNZXNzYWdlIHJlY2VpdmVkOlwiLCBtZXNzYWdlLCBzZW5kZXIpO1xuICAgICAgICBzZW5kUmVzcG9uc2UoeyBzdGF0dXM6IFwib2sgMjZcIiB9KTtcbiAgICB9KTtcbn1cblxubWFpbigpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xuXG4iXX0//=
20
+ /* _JS_SOURCE_HASH = "1842380bbda415d8a378302de3324d693b74762f6591de330e3665a45e0dc080"; */
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true , configurable: true});
3
+ const hotReload_1 = require("../builders/hotReload");
4
+ const environment_1 = require("../misc/environment");
5
+ async function main() {
6
+ if (!(0, environment_1.isInChromeExtension)()) {
7
+ return;
8
+ }
9
+ await (0, hotReload_1.enableHotReloading)({ port: 9878 });
10
+ console.log("Content script loaded! new");
11
+ chrome.runtime.sendMessage({ type: "contentScriptLoaded" }, (response) => {
12
+ console.log("Response from background:", response);
13
+ });
14
+ }
15
+ main().catch(console.error);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0Q29udGVudFNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4dENvbnRlbnRTY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkQ7QUFDM0QscURBQTBEO0FBRTFELEtBQUssVUFBVSxJQUFJO0lBQ2YsSUFBSSxDQUFDLElBQUEsaUNBQW1CLEdBQUUsRUFBRSxDQUFDO1FBQ3pCLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSxJQUFBLDhCQUFrQixFQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmFibGVIb3RSZWxvYWRpbmcgfSBmcm9tIFwiLi4vYnVpbGRlcnMvaG90UmVsb2FkXCI7XG5pbXBvcnQgeyBpc0luQ2hyb21lRXh0ZW5zaW9uIH0gZnJvbSBcIi4uL21pc2MvZW52aXJvbm1lbnRcIjtcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgICBpZiAoIWlzSW5DaHJvbWVFeHRlbnNpb24oKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgZW5hYmxlSG90UmVsb2FkaW5nKHsgcG9ydDogOTg3OCB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiQ29udGVudCBzY3JpcHQgbG9hZGVkISBuZXdcIik7XG5cbiAgICBjaHJvbWUucnVudGltZS5zZW5kTWVzc2FnZSh7IHR5cGU6IFwiY29udGVudFNjcmlwdExvYWRlZFwiIH0sIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIlJlc3BvbnNlIGZyb20gYmFja2dyb3VuZDpcIiwgcmVzcG9uc2UpO1xuICAgIH0pO1xufVxuXG5tYWluKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XG5cbiJdfQ=//=
17
+ /* _JS_SOURCE_HASH = "b3c964d14387e881fa78744251ce6a11211e2bbe20a48e9425740a9d79e1df56"; */