@michijs/dev-server 0.5.14 → 0.5.15-beta.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.
- package/bin/actions/build.d.ts +1 -1
- package/bin/actions/build.js +3 -9
- package/bin/actions/dist.d.ts +3 -1
- package/bin/actions/dist.js +94 -7
- package/bin/actions/generateAssets.d.ts +0 -1
- package/bin/actions/generateAssets.js +0 -1
- package/bin/actions/start/transformers.d.ts +8 -0
- package/bin/{utils → actions/start}/transformers.js +3 -3
- package/bin/actions/start.d.ts +1 -1
- package/bin/actions/start.js +50 -87
- package/bin/config/config.d.ts +57 -58
- package/bin/config/config.js +7 -13
- package/bin/config/plugins/counter.d.ts +2 -0
- package/bin/config/plugins/counter.js +12 -0
- package/bin/config/plugins/watchPublicFolder.d.ts +2 -0
- package/bin/config/plugins/watchPublicFolder.js +16 -0
- package/bin/config/tsconfig.d.ts +7 -4
- package/bin/config/tsconfig.js +47 -7
- package/bin/tsconfig.tsbuildinfo +1 -1
- package/bin/utils/copy.d.ts +4 -5
- package/bin/utils/copy.js +23 -15
- package/bin/utils/globToRegex.d.ts +1 -0
- package/bin/utils/globToRegex.js +37 -0
- package/bin/utils/pngToIco.d.ts +0 -1
- package/bin/utils/serviceWorkerTransformer.d.ts +1 -3
- package/bin/utils/serviceWorkerTransformer.js +2 -2
- package/bin/utils/syncDirs.d.ts +3 -0
- package/bin/utils/syncDirs.js +26 -0
- package/package.json +6 -6
- package/bin/utils/transformers.d.ts +0 -5
package/bin/actions/build.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function build(callback
|
|
1
|
+
export declare function build(callback: Function): Promise<void>;
|
package/bin/actions/build.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { config } from "../config/config.js";
|
|
2
2
|
import { build as esbuild } from "esbuild";
|
|
3
|
-
export function build(callback) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
.then(() => {
|
|
7
|
-
callback?.();
|
|
8
|
-
resolve(true);
|
|
9
|
-
})
|
|
10
|
-
.catch(reject);
|
|
11
|
-
});
|
|
3
|
+
export async function build(callback) {
|
|
4
|
+
await esbuild(config.esbuildOptions);
|
|
5
|
+
callback();
|
|
12
6
|
}
|
package/bin/actions/dist.d.ts
CHANGED
package/bin/actions/dist.js
CHANGED
|
@@ -1,11 +1,98 @@
|
|
|
1
1
|
import { tsconfig } from "../config/tsconfig.js";
|
|
2
|
-
import { config } from "../config/config.js";
|
|
3
|
-
import { exec } from "child_process";
|
|
4
2
|
import fs from "fs";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import { transpileDeclaration, formatDiagnosticsWithColorAndContext, sys, createProgram, readConfigFile, parseJsonConfigFileContent, flattenDiagnosticMessageText, } from "typescript";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { transformSync as esbuild } from "esbuild";
|
|
6
|
+
import { copy } from "../utils/copy.js";
|
|
7
|
+
import { Timer } from "../classes/Timer.js";
|
|
8
|
+
import coloredString from "../utils/coloredString.js";
|
|
9
|
+
import { syncDirs } from "../utils/syncDirs.js";
|
|
10
|
+
import { getPath } from "../utils/getPath.js";
|
|
11
|
+
import { globToRegex } from "../utils/globToRegex.js";
|
|
12
|
+
import { config } from "../config/config.js";
|
|
13
|
+
const allJsFilesRegex = /.*\.(?:ts|js|tsx|jsx)/;
|
|
14
|
+
const showErrors = (diagnostics) => {
|
|
15
|
+
if (diagnostics && diagnostics.length > 0)
|
|
16
|
+
console.log(formatDiagnosticsWithColorAndContext(diagnostics, {
|
|
17
|
+
getCanonicalFileName: (path) => path,
|
|
18
|
+
getCurrentDirectory: sys.getCurrentDirectory,
|
|
19
|
+
getNewLine: () => sys.newLine,
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
const configPath = config.esbuildOptions.tsconfig;
|
|
23
|
+
const configFile = readConfigFile(configPath, sys.readFile);
|
|
24
|
+
if (configFile.error) {
|
|
25
|
+
const errorMessage = flattenDiagnosticMessageText(configFile.error.messageText, "\n");
|
|
26
|
+
console.error(`Error reading tsconfig: ${errorMessage}`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
const parsedCommandLine = parseJsonConfigFileContent(configFile.config, sys, path.dirname(configPath));
|
|
30
|
+
let delayedDeclarationFiles = [];
|
|
31
|
+
const generateIncompatibleDeclarationFiles = () => {
|
|
32
|
+
const program = createProgram(delayedDeclarationFiles, parsedCommandLine.options);
|
|
33
|
+
// const sourceFile = program.getSourceFile(filePath);
|
|
34
|
+
program.emit(undefined, (fileName, data) => {
|
|
35
|
+
fs.writeFileSync(fileName, data);
|
|
36
|
+
}, undefined, true);
|
|
37
|
+
delayedDeclarationFiles = [];
|
|
38
|
+
};
|
|
39
|
+
export const transformers = [
|
|
40
|
+
{
|
|
41
|
+
fileRegex: allJsFilesRegex,
|
|
42
|
+
transformer: (fileContent, path) => {
|
|
43
|
+
const options = {
|
|
44
|
+
compilerOptions: tsconfig.compilerOptions,
|
|
45
|
+
fileName: path,
|
|
46
|
+
};
|
|
47
|
+
const { outputText, diagnostics } = transpileDeclaration(fileContent, options);
|
|
48
|
+
if (diagnostics && diagnostics?.length > 0) {
|
|
49
|
+
// if (config.esbuildOptions.logLevel === 'warning')
|
|
50
|
+
showErrors(diagnostics);
|
|
51
|
+
delayedDeclarationFiles.push(path);
|
|
52
|
+
throw "Not compatible ts";
|
|
53
|
+
}
|
|
54
|
+
return outputText;
|
|
55
|
+
},
|
|
56
|
+
pathTransformer: (destPath) => destPath.replace(path.extname(destPath), ".d.ts"),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
fileRegex: allJsFilesRegex,
|
|
60
|
+
transformer: (fileContent, path) => {
|
|
61
|
+
const result = esbuild(fileContent, {
|
|
62
|
+
tsconfigRaw: JSON.stringify(tsconfig),
|
|
63
|
+
sourcefile: path,
|
|
64
|
+
loader: "default",
|
|
65
|
+
}).code;
|
|
66
|
+
return result === ""
|
|
67
|
+
? `export {};
|
|
68
|
+
`
|
|
69
|
+
: result;
|
|
70
|
+
},
|
|
71
|
+
pathTransformer: (destPath) => destPath.replace(path.extname(destPath), ".js"),
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
export async function dist(callback, watchOption = false) {
|
|
75
|
+
const outdir = tsconfig.compilerOptions.outDir;
|
|
76
|
+
if (outdir) {
|
|
77
|
+
if (fs.existsSync(outdir))
|
|
78
|
+
fs.rmSync(outdir, { recursive: true });
|
|
79
|
+
const timer = new Timer();
|
|
80
|
+
timer.startTimer();
|
|
81
|
+
const omit = tsconfig.exclude.map((x) => globToRegex(getPath(x)));
|
|
82
|
+
tsconfig.include.forEach((x) => copy(x, outdir, transformers, omit));
|
|
83
|
+
generateIncompatibleDeclarationFiles();
|
|
84
|
+
console.log(coloredString(` Dist finished in ${timer.endTimer()}ms`));
|
|
85
|
+
if (watchOption)
|
|
86
|
+
tsconfig.include.forEach((x) => {
|
|
87
|
+
const timer = new Timer();
|
|
88
|
+
syncDirs(x, outdir, transformers, omit, () => timer.startTimer(), () => {
|
|
89
|
+
generateIncompatibleDeclarationFiles();
|
|
90
|
+
console.log(coloredString(` Dist finished in ${timer.endTimer()}ms`));
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
callback();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw new Error(`Your tsconfig needs an outdir`);
|
|
9
97
|
}
|
|
10
|
-
exec(`tsc ${watch ? "-w" : ""} --project ${config.esbuildOptions.tsconfig}`, callback);
|
|
11
98
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
export declare function generateFeatureImage(src: string): Promise<void>;
|
|
3
2
|
export declare function generateScreenshots(): Promise<Buffer[][]>;
|
|
4
3
|
export declare function generateAssets(callback: () => void, src: string): Promise<void>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Transformer } from "../../utils/copy.js";
|
|
2
|
+
export declare const jsAndTsRegex: RegExp;
|
|
3
|
+
export declare const notJsAndTsRegex: RegExp;
|
|
4
|
+
export declare const jsonTransformer: {
|
|
5
|
+
fileRegex: RegExp;
|
|
6
|
+
transformer: (fileContent: string) => string;
|
|
7
|
+
};
|
|
8
|
+
export declare const transformers: Transformer[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { config } from "
|
|
2
|
-
import { minifyXMLLike } from "
|
|
3
|
-
import { serviceWorkerTransformer } from "
|
|
1
|
+
import { config } from "../../config/config.js";
|
|
2
|
+
import { minifyXMLLike } from "../../utils/minify.js";
|
|
3
|
+
import { serviceWorkerTransformer } from "../../utils/serviceWorkerTransformer.js";
|
|
4
4
|
export const jsAndTsRegex = /.*\.(?:ts|js)/;
|
|
5
5
|
export const notJsAndTsRegex = /.*\.(?!ts|js)/;
|
|
6
6
|
export const jsonTransformer = {
|
package/bin/actions/start.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const start: (callback: (selectedPort: number) => void) => void
|
|
1
|
+
export declare const start: (callback: (selectedPort: number) => void) => Promise<void>;
|
package/bin/actions/start.js
CHANGED
|
@@ -5,101 +5,64 @@ import coloredString from "../utils/coloredString.js";
|
|
|
5
5
|
import { getPath } from "../utils/getPath.js";
|
|
6
6
|
import open from "open";
|
|
7
7
|
import { context } from "esbuild";
|
|
8
|
-
import watch from "node-watch";
|
|
9
|
-
import { copyFile } from "../utils/copy.js";
|
|
10
|
-
import { sep } from "path";
|
|
11
|
-
import { transformers } from "../utils/transformers.js";
|
|
12
8
|
import { getHostURL } from "../utils/getHostURL.js";
|
|
13
9
|
import { getLocalURL } from "../utils/getLocalURL.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
encoding: "utf-8",
|
|
21
|
-
persistent: true,
|
|
22
|
-
recursive: true,
|
|
23
|
-
}, (event, fileChangedPath) => {
|
|
24
|
-
const updated = new Array();
|
|
25
|
-
const removed = new Array();
|
|
26
|
-
const added = new Array();
|
|
27
|
-
const splittedPath = fileChangedPath.split(sep);
|
|
28
|
-
const srcDir = splittedPath.slice(0, -1).join(sep);
|
|
29
|
-
const fileName = splittedPath.at(-1);
|
|
30
|
-
const outDir = srcDir.replace(getPath(config.public.path), build.initialOptions.outdir);
|
|
31
|
-
fs.rmSync(getPath(`${outDir}/${transformers
|
|
32
|
-
.find((x) => x.fileRegex.test(fileName))
|
|
33
|
-
?.pathTransformer?.(fileName) ?? fileName}`), { force: true, recursive: true });
|
|
34
|
-
if (event === "remove")
|
|
35
|
-
removed.push(fileChangedPath);
|
|
36
|
-
else {
|
|
37
|
-
updated.push(fileChangedPath);
|
|
38
|
-
copyFile(srcDir, fileName, outDir);
|
|
39
|
-
}
|
|
40
|
-
// Refresh browser
|
|
41
|
-
connections.forEach((x) => x.write(`event: change\ndata: ${JSON.stringify({
|
|
42
|
-
added,
|
|
43
|
-
removed,
|
|
44
|
-
updated,
|
|
45
|
-
})}\n\n`));
|
|
46
|
-
});
|
|
47
|
-
},
|
|
10
|
+
import { watchPublicFolderPlugin } from "../config/plugins/watchPublicFolder.js";
|
|
11
|
+
export const start = async (callback) => {
|
|
12
|
+
config.esbuildOptions.plugins?.push(watchPublicFolderPlugin);
|
|
13
|
+
const buildContext = await context(config.esbuildOptions);
|
|
14
|
+
const { host: esbuildHost, port: esbuildPort } = await buildContext.serve({
|
|
15
|
+
servedir: config.esbuildOptions.outdir,
|
|
48
16
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
res.writeHead(200, { "Content-Type": "text/html" });
|
|
68
|
-
// TODO: Find a better way to do this
|
|
69
|
-
res.end(fs.readFileSync(getPath(`${config.esbuildOptions.outdir}/${config.public.indexName}`)));
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
// Otherwise, forward the response from esbuild to the client
|
|
73
|
-
res.writeHead(proxyRes.statusCode, proxyRes.headers);
|
|
74
|
-
proxyRes.pipe(res, { end: true });
|
|
75
|
-
});
|
|
76
|
-
// Forward the body of the request to esbuild
|
|
77
|
-
req.pipe(proxyReq, { end: true });
|
|
78
|
-
});
|
|
79
|
-
let selectedPort = config.port;
|
|
80
|
-
server.on("error", (e) => {
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
if (e.code === "EADDRINUSE") {
|
|
83
|
-
selectedPort++;
|
|
84
|
-
server.listen(selectedPort);
|
|
17
|
+
const server = http.createServer(async (req, res) => {
|
|
18
|
+
if (req.url === "/esbuild")
|
|
19
|
+
connections.push(res);
|
|
20
|
+
const esbuildProxyRequestOptions = {
|
|
21
|
+
hostname: esbuildHost,
|
|
22
|
+
port: esbuildPort,
|
|
23
|
+
path: req.url,
|
|
24
|
+
method: req.method,
|
|
25
|
+
headers: req.headers,
|
|
26
|
+
};
|
|
27
|
+
// Forward each incoming request to esbuild
|
|
28
|
+
const proxyReq = http.request(esbuildProxyRequestOptions, (proxyRes) => {
|
|
29
|
+
// If esbuild returns "not found", send a custom 404 page
|
|
30
|
+
if (!proxyRes.statusCode || proxyRes.statusCode === 404) {
|
|
31
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
32
|
+
// TODO: Find a better way to do this
|
|
33
|
+
res.end(fs.readFileSync(getPath(`${config.esbuildOptions.outdir}/${config.public.indexName}`)));
|
|
34
|
+
return;
|
|
85
35
|
}
|
|
86
|
-
|
|
87
|
-
|
|
36
|
+
// Otherwise, forward the response from esbuild to the client
|
|
37
|
+
res.writeHead(proxyRes.statusCode, proxyRes.headers);
|
|
38
|
+
proxyRes.pipe(res, { end: true });
|
|
88
39
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
40
|
+
// Forward the body of the request to esbuild
|
|
41
|
+
req.pipe(proxyReq, { end: true });
|
|
42
|
+
});
|
|
43
|
+
let selectedPort = config.port;
|
|
44
|
+
server.on("error", (e) => {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
if (e.code === "EADDRINUSE") {
|
|
47
|
+
selectedPort++;
|
|
48
|
+
server.listen(selectedPort);
|
|
49
|
+
}
|
|
50
|
+
else
|
|
51
|
+
throw e;
|
|
52
|
+
});
|
|
53
|
+
server.on("listening", () => {
|
|
54
|
+
const localURL = getLocalURL(selectedPort);
|
|
55
|
+
console.log(`
|
|
92
56
|
Server running at:
|
|
93
57
|
|
|
94
58
|
> Network: ${coloredString(getHostURL(selectedPort))}
|
|
95
59
|
> Local: ${coloredString(localURL)}`);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
});
|
|
102
|
-
// First try
|
|
103
|
-
server.listen(selectedPort);
|
|
60
|
+
callback(selectedPort);
|
|
61
|
+
if (config.watch)
|
|
62
|
+
buildContext.watch();
|
|
63
|
+
if (config.openBrowser)
|
|
64
|
+
open(localURL);
|
|
104
65
|
});
|
|
66
|
+
// First try
|
|
67
|
+
server.listen(selectedPort);
|
|
105
68
|
};
|
package/bin/config/config.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
import type http from "http";
|
|
3
2
|
export declare const connections: (http.ServerResponse<http.IncomingMessage> & {
|
|
4
3
|
req: http.IncomingMessage;
|
|
@@ -8,19 +7,19 @@ declare const config: {
|
|
|
8
7
|
assets: {
|
|
9
8
|
screenshots: {
|
|
10
9
|
paths: string[];
|
|
11
|
-
pageCallbacks: import("../types.js").PageCallback
|
|
10
|
+
pageCallbacks: import("../types.js").PageCallback[];
|
|
12
11
|
};
|
|
13
12
|
featureImage: {
|
|
14
13
|
path: string;
|
|
15
|
-
pageCallback?: import("../types.js").PageCallback<void
|
|
14
|
+
pageCallback?: import("../types.js").PageCallback<void>;
|
|
16
15
|
};
|
|
17
16
|
path: string;
|
|
18
17
|
};
|
|
19
18
|
manifest: {
|
|
20
19
|
name: string;
|
|
21
|
-
options?: import("web-app-manifest").WebAppManifest
|
|
20
|
+
options?: import("web-app-manifest").WebAppManifest;
|
|
22
21
|
};
|
|
23
|
-
wellKnown?: import("../types.js").WellKnown[]
|
|
22
|
+
wellKnown?: import("../types.js").WellKnown[];
|
|
24
23
|
path: string;
|
|
25
24
|
indexName: string;
|
|
26
25
|
minify: boolean;
|
|
@@ -33,83 +32,83 @@ declare const config: {
|
|
|
33
32
|
inject: string[];
|
|
34
33
|
bundle: boolean;
|
|
35
34
|
splitting: boolean;
|
|
36
|
-
preserveSymlinks?: boolean
|
|
37
|
-
outfile?: string
|
|
38
|
-
metafile?: boolean
|
|
35
|
+
preserveSymlinks?: boolean;
|
|
36
|
+
outfile?: string;
|
|
37
|
+
metafile?: boolean;
|
|
39
38
|
outdir: string;
|
|
40
|
-
outbase?: string
|
|
41
|
-
external?: string[]
|
|
42
|
-
packages?: "external"
|
|
43
|
-
alias?: Record<string, string
|
|
39
|
+
outbase?: string;
|
|
40
|
+
external?: string[];
|
|
41
|
+
packages?: "external";
|
|
42
|
+
alias?: Record<string, string>;
|
|
44
43
|
loader?: {
|
|
45
44
|
[ext: string]: import("esbuild").Loader;
|
|
46
|
-
}
|
|
47
|
-
resolveExtensions?: string[]
|
|
48
|
-
mainFields?: string[]
|
|
49
|
-
conditions?: string[]
|
|
50
|
-
write?: boolean
|
|
51
|
-
allowOverwrite?: boolean
|
|
45
|
+
};
|
|
46
|
+
resolveExtensions?: string[];
|
|
47
|
+
mainFields?: string[];
|
|
48
|
+
conditions?: string[];
|
|
49
|
+
write?: boolean;
|
|
50
|
+
allowOverwrite?: boolean;
|
|
52
51
|
tsconfig: string;
|
|
53
52
|
outExtension?: {
|
|
54
53
|
[ext: string]: string;
|
|
55
|
-
}
|
|
56
|
-
publicPath?: string
|
|
57
|
-
entryNames?: string
|
|
58
|
-
chunkNames?: string
|
|
59
|
-
assetNames?: string
|
|
54
|
+
};
|
|
55
|
+
publicPath?: string;
|
|
56
|
+
entryNames?: string;
|
|
57
|
+
chunkNames?: string;
|
|
58
|
+
assetNames?: string;
|
|
60
59
|
banner?: {
|
|
61
60
|
[type: string]: string;
|
|
62
|
-
}
|
|
61
|
+
};
|
|
63
62
|
footer?: {
|
|
64
63
|
[type: string]: string;
|
|
65
|
-
}
|
|
64
|
+
};
|
|
66
65
|
entryPoints: string[] | Record<string, string> | {
|
|
67
66
|
in: string;
|
|
68
67
|
out: string;
|
|
69
68
|
}[];
|
|
70
|
-
stdin?: import("esbuild").StdinOptions
|
|
71
|
-
absWorkingDir?: string
|
|
72
|
-
nodePaths?: string[]
|
|
69
|
+
stdin?: import("esbuild").StdinOptions;
|
|
70
|
+
absWorkingDir?: string;
|
|
71
|
+
nodePaths?: string[];
|
|
73
72
|
sourcemap: boolean | "linked" | "inline" | "external" | "both";
|
|
74
|
-
legalComments?: "
|
|
75
|
-
sourceRoot?: string
|
|
76
|
-
sourcesContent?: boolean
|
|
73
|
+
legalComments?: "none" | "inline" | "eof" | "linked" | "external";
|
|
74
|
+
sourceRoot?: string;
|
|
75
|
+
sourcesContent?: boolean;
|
|
77
76
|
format: import("esbuild").Format;
|
|
78
|
-
globalName?: string
|
|
77
|
+
globalName?: string;
|
|
79
78
|
target: string | string[];
|
|
80
|
-
supported?: Record<string, boolean
|
|
81
|
-
platform?: import("esbuild").Platform
|
|
82
|
-
mangleProps?: RegExp
|
|
83
|
-
reserveProps?: RegExp
|
|
84
|
-
mangleQuoted?: boolean
|
|
85
|
-
mangleCache?: Record<string, string | false
|
|
86
|
-
drop?: import("esbuild").Drop[]
|
|
87
|
-
dropLabels?: string[]
|
|
88
|
-
minify?: boolean
|
|
79
|
+
supported?: Record<string, boolean>;
|
|
80
|
+
platform?: import("esbuild").Platform;
|
|
81
|
+
mangleProps?: RegExp;
|
|
82
|
+
reserveProps?: RegExp;
|
|
83
|
+
mangleQuoted?: boolean;
|
|
84
|
+
mangleCache?: Record<string, string | false>;
|
|
85
|
+
drop?: import("esbuild").Drop[];
|
|
86
|
+
dropLabels?: string[];
|
|
87
|
+
minify?: boolean;
|
|
89
88
|
minifyWhitespace: boolean;
|
|
90
|
-
minifyIdentifiers?: boolean
|
|
89
|
+
minifyIdentifiers?: boolean;
|
|
91
90
|
minifySyntax: boolean;
|
|
92
|
-
lineLimit?: number
|
|
93
|
-
charset?: import("esbuild").Charset
|
|
94
|
-
treeShaking?: boolean
|
|
95
|
-
ignoreAnnotations?: boolean
|
|
96
|
-
jsx?: "transform" | "preserve" | "automatic"
|
|
97
|
-
jsxFactory?: string
|
|
98
|
-
jsxFragment?: string
|
|
99
|
-
jsxImportSource?: string
|
|
100
|
-
jsxDev?: boolean
|
|
101
|
-
jsxSideEffects?: boolean
|
|
102
|
-
pure?: string[]
|
|
91
|
+
lineLimit?: number;
|
|
92
|
+
charset?: import("esbuild").Charset;
|
|
93
|
+
treeShaking?: boolean;
|
|
94
|
+
ignoreAnnotations?: boolean;
|
|
95
|
+
jsx?: "transform" | "preserve" | "automatic";
|
|
96
|
+
jsxFactory?: string;
|
|
97
|
+
jsxFragment?: string;
|
|
98
|
+
jsxImportSource?: string;
|
|
99
|
+
jsxDev?: boolean;
|
|
100
|
+
jsxSideEffects?: boolean;
|
|
101
|
+
pure?: string[];
|
|
103
102
|
keepNames: boolean;
|
|
104
|
-
color?: boolean
|
|
103
|
+
color?: boolean;
|
|
105
104
|
logLevel: import("esbuild").LogLevel;
|
|
106
|
-
logLimit?: number
|
|
107
|
-
logOverride?: Record<string, import("esbuild").LogLevel
|
|
108
|
-
tsconfigRaw?: string | import("esbuild").TsconfigRaw
|
|
105
|
+
logLimit?: number;
|
|
106
|
+
logOverride?: Record<string, import("esbuild").LogLevel>;
|
|
107
|
+
tsconfigRaw?: string | import("esbuild").TsconfigRaw;
|
|
109
108
|
};
|
|
110
109
|
env?: {
|
|
111
110
|
[key: string]: any;
|
|
112
|
-
}
|
|
111
|
+
};
|
|
113
112
|
watch: boolean;
|
|
114
113
|
port: number;
|
|
115
114
|
openBrowser: boolean;
|
package/bin/config/config.js
CHANGED
|
@@ -2,12 +2,12 @@ import fs from "fs";
|
|
|
2
2
|
import coloredString from "../utils/coloredString.js";
|
|
3
3
|
import { copy } from "../utils/copy.js";
|
|
4
4
|
import { getPath } from "../utils/getPath.js";
|
|
5
|
-
import { Timer } from "../classes/Timer.js";
|
|
6
5
|
import { userConfig } from "./userConfig.js";
|
|
7
6
|
import { resolve } from "path";
|
|
8
|
-
import { jsAndTsRegex, jsonTransformer, notJsAndTsRegex, } from "../
|
|
7
|
+
import { jsAndTsRegex, jsonTransformer, notJsAndTsRegex, transformers, } from "../actions/start/transformers.js";
|
|
9
8
|
import { dirname } from "path";
|
|
10
9
|
import { fileURLToPath } from "url";
|
|
10
|
+
import { counterPlugin } from "./plugins/counter.js";
|
|
11
11
|
const minify = process.env.NODE_ENV === "PRODUCTION";
|
|
12
12
|
const devServerListener = process.env.NODE_ENV === "DEVELOPMENT"
|
|
13
13
|
? [getPath(`${dirname(fileURLToPath(import.meta.url))}/public/client.js`)]
|
|
@@ -53,9 +53,9 @@ const config = {
|
|
|
53
53
|
tsconfig: "tsconfig.json",
|
|
54
54
|
minifySyntax: minify,
|
|
55
55
|
minifyWhitespace: minify,
|
|
56
|
-
sourcemap: process.env.NODE_ENV
|
|
56
|
+
sourcemap: process.env.NODE_ENV === "DEVELOPMENT",
|
|
57
57
|
splitting: true,
|
|
58
|
-
bundle:
|
|
58
|
+
bundle: process.env.NODE_ENV !== "DISTRIBUTION",
|
|
59
59
|
keepNames: minify,
|
|
60
60
|
entryPoints: [defaultEntryPoint],
|
|
61
61
|
format: "esm",
|
|
@@ -108,23 +108,17 @@ const config = {
|
|
|
108
108
|
}
|
|
109
109
|
// Copy public path - Omit to copy service worker - will be transformed after
|
|
110
110
|
if (config.public.path && build.initialOptions.outdir)
|
|
111
|
-
copy(config.public.path, build.initialOptions.outdir, [
|
|
112
|
-
jsAndTsRegex,
|
|
113
|
-
]);
|
|
114
|
-
const buildTimer = new Timer();
|
|
111
|
+
copy(config.public.path, build.initialOptions.outdir, transformers, [jsAndTsRegex]);
|
|
115
112
|
let firstLoad = true;
|
|
116
|
-
build.onStart(() => buildTimer.startTimer());
|
|
117
113
|
build.onEnd(() => {
|
|
118
114
|
// first-load sw - Omit to copy any other non-js file
|
|
119
115
|
if (firstLoad && config.public.path && build.initialOptions.outdir)
|
|
120
|
-
copy(config.public.path, build.initialOptions.outdir, [
|
|
121
|
-
notJsAndTsRegex,
|
|
122
|
-
]);
|
|
123
|
-
console.log(coloredString(` Build finished in ${buildTimer.endTimer()}ms`));
|
|
116
|
+
copy(config.public.path, build.initialOptions.outdir, transformers, [notJsAndTsRegex]);
|
|
124
117
|
firstLoad = false;
|
|
125
118
|
});
|
|
126
119
|
},
|
|
127
120
|
},
|
|
121
|
+
counterPlugin,
|
|
128
122
|
],
|
|
129
123
|
define: {
|
|
130
124
|
// Intentionally added before process
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import coloredString from "../../utils/coloredString.js";
|
|
2
|
+
import { Timer } from "../../classes/Timer.js";
|
|
3
|
+
export const counterPlugin = {
|
|
4
|
+
name: "michijs-counter",
|
|
5
|
+
setup(build) {
|
|
6
|
+
const buildTimer = new Timer();
|
|
7
|
+
build.onStart(() => buildTimer.startTimer());
|
|
8
|
+
build.onEnd(() => {
|
|
9
|
+
console.log(coloredString(` Build finished in ${buildTimer.endTimer()}ms`));
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { config, connections } from "../../config/config.js";
|
|
2
|
+
import { transformers } from "../../actions/start/transformers.js";
|
|
3
|
+
import { syncDirs } from "../../utils/syncDirs.js";
|
|
4
|
+
export const watchPublicFolderPlugin = {
|
|
5
|
+
name: "michijs-dev-server-watch-public-folder",
|
|
6
|
+
setup() {
|
|
7
|
+
if (config.public.path && config.watch)
|
|
8
|
+
syncDirs(config.public.path, config.esbuildOptions.outdir, transformers, undefined, undefined, (event, fileChangedPath) => {
|
|
9
|
+
connections.forEach((x) => x.write(`event: change\ndata: ${JSON.stringify({
|
|
10
|
+
added: [],
|
|
11
|
+
removed: event === "remove" ? [fileChangedPath] : [],
|
|
12
|
+
updated: event === "update" ? [fileChangedPath] : [],
|
|
13
|
+
})}\n\n`));
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
};
|
package/bin/config/tsconfig.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
1
|
+
import { type CompilerOptions } from "typescript";
|
|
2
|
+
interface TsConfig {
|
|
3
3
|
compilerOptions: CompilerOptions;
|
|
4
4
|
include: string[];
|
|
5
5
|
exclude: string[];
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
files: string[];
|
|
7
|
+
extends?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const tsconfig: TsConfig;
|
|
10
|
+
export {};
|
package/bin/config/tsconfig.js
CHANGED
|
@@ -1,11 +1,51 @@
|
|
|
1
1
|
import { config } from "./config.js";
|
|
2
2
|
import fs from "fs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { parseConfigFileTextToJson } from "typescript";
|
|
5
|
+
function readConfigFile(filePath) {
|
|
6
|
+
const absolutePath = path.resolve(filePath);
|
|
7
|
+
const rawContent = fs.readFileSync(absolutePath, "utf8");
|
|
8
|
+
const parsed = parseConfigFileTextToJson(absolutePath, rawContent);
|
|
9
|
+
if (parsed.error) {
|
|
10
|
+
throw new Error(`Error parsing ${absolutePath}: ${JSON.stringify(parsed.error)}`);
|
|
11
|
+
}
|
|
12
|
+
return parsed.config;
|
|
7
13
|
}
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
function mergeConfigs(baseConfig, additionalConfig) {
|
|
15
|
+
// Merge compilerOptions
|
|
16
|
+
const mergedCompilerOptions = {
|
|
17
|
+
...baseConfig.compilerOptions,
|
|
18
|
+
...additionalConfig.compilerOptions,
|
|
19
|
+
};
|
|
20
|
+
// Merge include, exclude, files
|
|
21
|
+
const mergedInclude = [
|
|
22
|
+
...(baseConfig.include || []),
|
|
23
|
+
...(additionalConfig.include || []),
|
|
24
|
+
];
|
|
25
|
+
const mergedExclude = [
|
|
26
|
+
...(baseConfig.exclude || []),
|
|
27
|
+
...(additionalConfig.exclude || []),
|
|
28
|
+
];
|
|
29
|
+
const mergedFiles = [
|
|
30
|
+
...(baseConfig.files || []),
|
|
31
|
+
...(additionalConfig.files || []),
|
|
32
|
+
];
|
|
33
|
+
return {
|
|
34
|
+
...baseConfig,
|
|
35
|
+
...additionalConfig,
|
|
36
|
+
compilerOptions: mergedCompilerOptions,
|
|
37
|
+
include: mergedInclude,
|
|
38
|
+
exclude: mergedExclude,
|
|
39
|
+
files: mergedFiles,
|
|
40
|
+
};
|
|
10
41
|
}
|
|
11
|
-
|
|
42
|
+
function getFullConfig(filePath) {
|
|
43
|
+
const config = readConfigFile(filePath);
|
|
44
|
+
if (config.extends) {
|
|
45
|
+
const parentConfigPath = path.resolve(path.dirname(filePath), config.extends);
|
|
46
|
+
const parentConfig = getFullConfig(parentConfigPath);
|
|
47
|
+
return mergeConfigs(parentConfig, config);
|
|
48
|
+
}
|
|
49
|
+
return config;
|
|
50
|
+
}
|
|
51
|
+
export const tsconfig = getFullConfig(config.esbuildOptions.tsconfig ?? "tsconfig.json");
|
package/bin/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils/coloredString.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yargs/index.d.mts","../src/classes/Timer.ts","../node_modules/@types/yargs/helpers.d.ts","../node_modules/@types/yargs/helpers.d.mts","../src/utils/getPath.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/@types/web-app-manifest/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/devtools-protocol/types/protocol.d.ts","../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../node_modules/puppeteer/lib/types.d.ts","../src/constants.ts","../src/types.ts","../src/utils/minify.ts","../src/utils/getAllFiles.ts","../src/utils/serviceWorkerTransformer.ts","../src/utils/transformers.ts","../src/utils/copy.ts","../src/config/userConfig.ts","../src/config/config.ts","../src/utils/pngToIco.ts","../node_modules/sharp/lib/index.d.ts","../src/utils/getLocalURL.ts","../node_modules/open/index.d.ts","../node_modules/node-watch/lib/watch.d.ts","../src/config/getIPAddress.ts","../src/utils/getHostURL.ts","../src/actions/start.ts","../src/actions/generateAssets.ts","../src/actions/build.ts","../node_modules/typescript/lib/typescript.d.ts","../src/config/tsconfig.ts","../src/actions/dist.ts","../src/cli.ts","../src/global.d.ts","../src/index.ts","../src/config/public/client.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true,"impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f620e24dc1d3ece30246163c207434bbbf4b9759a5b0a1265f3f5606338ac0c","signature":"5a3576ed8855e67c68886fdd82d176b7faffe1dd5b3abf4befb6123142ad2475","impliedFormat":99},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1},{"version":"2b421c821711ac9ed8ff035e900c765e87eba84dc10c1351948f8dcfaf2b00fd","impliedFormat":99},{"version":"44afcb14a76d04c7007ddcd59ece41df0027252049b43df36b99fc4bf6b19465","signature":"df43ac2a510c4a7eb3dc639ea2f6c41373fe0e689b89e80a9aae6cfddcbbe4a5","impliedFormat":99},{"version":"4eb2499d385eff0db377104ae091822c4ba889b318b55a764dee8ee323c837ed","impliedFormat":1},{"version":"059b7930d2e7946e2b7cacdb256f5d1ccaa24f073e557b511295fb3af7d876d8","impliedFormat":99},{"version":"fd12bdd89cbf484ec2c2c85df4bc53c0d59d01e6b75236537936cce217e442fd","signature":"75c7dd820ff92e5e07931d7ba78bd6b2e14102552edfd1e479588448734c482d","impliedFormat":99},{"version":"55bbfa2fcb7692e366773b23a0338463fc9254301414f861a3ae46ff000b5783","affectsGlobalScope":true,"impliedFormat":1},{"version":"cf5ad05851a8259d7754b35c348be05da440396210e16e58e3e6825d9642de0d","impliedFormat":1},{"version":"acdc9fb9638a235a69bd270003d8db4d6153ada2b7ccbea741ade36b295e431e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","impliedFormat":1},{"version":"d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9","impliedFormat":1},{"version":"a9544f6f8af0d046565e8dde585502698ebc99eef28b715bad7c2bded62e4a32","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","impliedFormat":1},{"version":"4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","impliedFormat":1},{"version":"d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","impliedFormat":1},{"version":"7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","impliedFormat":1},{"version":"b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","impliedFormat":1},{"version":"afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","impliedFormat":1},{"version":"9bd8e5984676cf28ebffcc65620b4ab5cb38ab2ec0aac0825df8568856895653","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true,"impliedFormat":1},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","impliedFormat":1},{"version":"9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024","impliedFormat":1},{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"87c1d95c4160dd74c2e474927a987776e52f45436fd56cca242eaa18feeef34f","impliedFormat":1},{"version":"cb2f9c7170bc1583b1f384134a96ed6926139782196e0917bb02f46a44b45037","impliedFormat":1},{"version":"41d778f99acc22ed63281d4d6235e6300a6574b09c4f46cd8a962d4b772fc460","impliedFormat":1},{"version":"20973b98a37a20b0eece4e1b5a28e4ecded38d7cf786f86d6ee2509fc53e80d7","signature":"3f95f54e062734aeedd545093e86306b5236cb1565fcd4d5fb8c399d56f20ee5","impliedFormat":99},{"version":"b7855dd2520c62a5eb53a61580805ad684e0e1d70d9da24d2677d4569c8eba17","signature":"2072ccb52e67b21530f948a77523dee1f5bcb7a163e0cf11a4b8c25762fd52be","impliedFormat":99},{"version":"db43731424654ca6985118bf123bdd98ea9b5af5d8149a90cf795977bf41b9a6","signature":"e35226acb4d207d378ff9506b1306145149afe1266b071d1c4daa98033c7a569","impliedFormat":99},{"version":"7405a0c5444d4b78f96ca1370bc0849b388fa993b99fe0ebed06890f84dce96a","signature":"efd0f4958c494e39e91a6291abbff412a2665e43b3138ecbf3611e85cd8a264d","impliedFormat":99},{"version":"d8e0bb51daa025396e5d02437da119bc7901fff4aaeb8e2efb70a620988b2015","signature":"268fed927eada45fae99b136be2973510d4f13b6250960169f6f4f37c675022e","impliedFormat":99},{"version":"da202e0a71a8ab467daf64519071f7794f2d2751a67ceb84a44761b578ff39e8","signature":"0509e1f14edbae88a76ac37e789a95c12008905bc6797f2e4ff25428b0da1594","impliedFormat":99},{"version":"eec9fc348ce1a6dcae088021b23e1522624e868aa406e08b469fac119e3a3b67","signature":"29328117e05b54040699d2b667bc8b77e88782f68e2e324473a3043bb566b4cd","impliedFormat":99},{"version":"57dc200de1add6e537188563b00126ba0a90731e31895c258e706ab9179e4080","signature":"42f071a1624eacdd2ccfa9f52f775a23dfbea86992b9a26ac2d68b033c85a0f4","impliedFormat":99},{"version":"533c504cf5f10f3f428869669dff2657801cc24ed6908c81522c6266c8e7782c","signature":"58f6d459b25edae0cd2c711f50ab8ff3525742922cf9479875bbbd64ca35162f","impliedFormat":99},{"version":"5409de0378cba8c9199d4604a45c85275a4e7bb4dc15542d6cf9b11cdbe2874c","signature":"52d5ce71c449f1bbcbe7610e66c0fdf7282ca6e5c37d35562d2a93e75cb4bcc1","impliedFormat":99},{"version":"53f081658f2706f0e8ec3d40a3f44d83098c49c359206da3a7187efb7744a981","impliedFormat":1},{"version":"6d1a23e4c0f8428b1e00b77b3756503dac3a505a99f3055a29774cd7a81fdd5a","signature":"d303bc4f31c976ab221244ccd5a6b87fb8b17f56ef9780a8806e3f7aecf85eb4","impliedFormat":99},{"version":"93a98ba747d8637f2e65250461ff910355f755caf6a29744def94b1c0636843d","impliedFormat":99},{"version":"511b7e393e5663ef536a2afb21cc06f1bd52246fb3cca039a2b28266e180362a","impliedFormat":1},{"version":"2aa80019d2cc87a412b5281df66b78e449df36b3ea125ec8b61034d5a4dc4ba1","signature":"7a27baf1053443cefab73b720106d1f9d730a50a37f82155d664145663040f20","impliedFormat":99},{"version":"868d28d0b7a26a4034f646f8e84fd61e42fd57a8143327349f120ad00edda173","signature":"fae2934c0aa77d24e9ed52baa42d42f311907eadcb851dfed170d6c66a696c1e","impliedFormat":99},{"version":"06a50d208a6baae511e2500c0336adec96ba80875b585bf5788136b335cd9ca0","signature":"e71c57ef3bdfcd87b491106bdf70578dfbbd3e48582aece785e3a01552fa65ee","impliedFormat":99},{"version":"8630f0c90c2617085847809099214915d453fa15aedb85bd5046671380420af5","signature":"fb37d192fee13974d29a712fd5cc642244c04bcc5791435e74460547c8a8791c","impliedFormat":99},{"version":"eeb97303ac8da68d9a35c26cf1bf6791a2a136c828ba68b10df05ba9991658ce","signature":"c6639f380d643933407420d2fcb5f074984799a24a237bd049b9945b03659a28","impliedFormat":99},{"version":"e4ba061c5bcfc75ef8a18eaf677e0ea007ca67931a12aab286cc4a851ce49263","impliedFormat":1},{"version":"79b81885210ace9337e3e8db3bc8ac633c226ac85843e033a05bb468e344187e","signature":"2343bf3e073ba79279ac16e749322d9e229e625b7dfab1cc4d36f136fc6d8108","impliedFormat":99},{"version":"e0978d980afa00b06cfa3ca9918a5cb5d450b308c2d88a2ad905b45c04d80aa0","signature":"b9676c103abbcded39e23921ecfef7f65ad5b091ceee5e964a4921331f15a547","impliedFormat":99},{"version":"122aa3e60f7ad1b470d5b02fb45893955bddac67f79b4a6a4ab0f05b8103484f","signature":"f1c55f9c94533ef546614eedb041912be0e86df25ff276dfbfa72a5d6d1e9ffb","impliedFormat":99},{"version":"6a400aa275fbe7de7ce057315060d1388fcf59dfc8d17c6c435458754164fffc","impliedFormat":99},{"version":"930378a857f9429ea1e0eec081ccbf02c97f6b34d7e02015d93f9cf53f074860","signature":"950e163ec71f6cbeba6a0bb17dbc2c90a838db7748fe9b602abdd5fddacd8ea3","impliedFormat":99},{"version":"0052de5b3c8ef75cc5bdb1260c0df7a4cb02801a1294769634bd5bc095dc0a18","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"root":[52,56,59,[153,162],164,[167,171],[173,178]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"allowUnreachableCode":false,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":100,"noErrorTruncation":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"target":99},"fileIdsList":[[62],[98],[99,104,133],[100,111,112,119,130,141],[100,101,111,119],[102,142],[103,104,112,120],[104,130,138],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,130,141],[111,112,113,126,130,133],[96,99,146],[107,111,114,119,130,141],[111,112,114,115,119,130,138,141],[114,116,130,138,141],[62,63,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[111,117],[118,141,146],[107,111,119,130],[120],[121],[98,122],[123,140,146],[124],[125],[111,126,127],[126,128,142,144],[99,111,130,131,132,133],[99,130,132],[130,131],[133],[134],[98,130],[111,136,137],[136,137],[104,119,130,138],[139],[119,140],[99,114,125,141],[104,142],[130,143],[118,144],[145],[99,104,111,113,122,130,141,144,146],[130,147],[57],[53],[54],[111,130,149],[150],[112],[100],[100,130,149,150,151],[130,149],[73,77,141],[73,130,141],[68],[70,73,138,141],[119,138],[149],[68,149],[70,73,119,141],[65,66,69,72,99,111,130,141],[65,71],[69,73,99,133,141,149],[99,149],[89,99,149],[67,68,149],[73],[67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95],[73,80,81],[71,73,81,82],[72],[65,68,73],[73,77,81,82],[77],[71,73,76,141],[65,70,71,73,77,80],[99,130],[68,73,89,99,146,149],[60,161],[100,112,161,173],[59,112,121,141,152,153,154,161,162,163,164,169],[52,59,60,112,114,121,158,159,161,164,165,166,168],[52,55,56,58,169,170,171,174],[52,56,59,112,114,121,141,154,158,159,160],[112,161,172],[60,112,121,141,153,154],[152,154],[154,175],[60,61,152,153],[59,112,158],[59,112],[167],[60,156,161],[155,157,159,161],[60,61,114,154],[172],[154],[60],[159]],"referencedMap":[[62,1],[63,1],[98,2],[99,3],[100,4],[101,5],[102,6],[103,7],[104,8],[105,9],[106,10],[107,11],[108,11],[110,12],[109,13],[111,14],[112,15],[113,16],[97,17],[114,18],[115,19],[116,20],[149,21],[117,22],[118,23],[119,24],[120,25],[121,26],[122,27],[123,28],[124,29],[125,30],[126,31],[127,31],[128,32],[130,33],[132,34],[131,35],[133,36],[134,37],[135,38],[136,39],[137,40],[138,41],[139,42],[140,43],[141,44],[142,45],[143,46],[144,47],[145,48],[146,49],[147,50],[58,51],[57,52],[55,53],[54,52],[179,54],[151,55],[166,56],[165,57],[152,58],[163,59],[80,60],[87,61],[79,60],[94,62],[71,63],[70,64],[93,65],[88,66],[91,67],[73,68],[72,69],[68,70],[67,71],[90,72],[69,73],[74,74],[78,74],[96,75],[95,74],[82,76],[83,77],[85,78],[81,79],[84,80],[89,65],[76,81],[77,82],[86,83],[66,84],[92,85],[171,86],[174,87],[170,88],[169,89],[175,90],[161,91],[167,25],[173,92],[160,93],[153,94],[177,95],[154,96],[159,97],[156,98],[168,99],[59,26],[157,100],[158,101]],"exportedModulesMap":[[62,1],[63,1],[98,2],[99,3],[100,4],[101,5],[102,6],[103,7],[104,8],[105,9],[106,10],[107,11],[108,11],[110,12],[109,13],[111,14],[112,15],[113,16],[97,17],[114,18],[115,19],[116,20],[149,21],[117,22],[118,23],[119,24],[120,25],[121,26],[122,27],[123,28],[124,29],[125,30],[126,31],[127,31],[128,32],[130,33],[132,34],[131,35],[133,36],[134,37],[135,38],[136,39],[137,40],[138,41],[139,42],[140,43],[141,44],[142,45],[143,46],[144,47],[145,48],[146,49],[147,50],[58,51],[57,52],[55,53],[54,52],[179,54],[151,55],[166,56],[165,57],[152,58],[163,59],[80,60],[87,61],[79,60],[94,62],[71,63],[70,64],[93,65],[88,66],[91,67],[73,68],[72,69],[68,70],[67,71],[90,72],[69,73],[74,74],[78,74],[96,75],[95,74],[82,76],[83,77],[85,78],[81,79],[84,80],[89,65],[76,81],[77,82],[86,83],[66,84],[92,85],[161,102],[173,103],[160,104],[153,104],[177,104],[154,96],[157,105],[158,106]],"semanticDiagnosticsPerFile":[62,63,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,97,148,114,115,116,149,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,61,53,58,57,55,54,179,64,151,150,60,166,165,152,163,50,51,9,11,10,2,12,13,14,15,16,17,18,19,3,20,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,1,49,172,80,87,79,94,71,70,93,88,91,73,72,68,67,90,69,74,75,78,65,96,95,82,83,85,81,84,89,76,77,86,66,92,171,174,170,169,56,175,161,167,178,173,160,153,176,177,154,52,159,156,168,164,59,155,162,157,158]},"version":"5.4.5"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils/coloredString.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yargs/index.d.mts","../src/classes/Timer.ts","../node_modules/@types/yargs/helpers.d.ts","../node_modules/@types/yargs/helpers.d.mts","../src/utils/getPath.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/@types/web-app-manifest/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/devtools-protocol/types/protocol.d.ts","../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../node_modules/puppeteer/lib/types.d.ts","../src/constants.ts","../src/types.ts","../src/utils/copy.ts","../src/config/userConfig.ts","../src/utils/minify.ts","../src/utils/getAllFiles.ts","../src/utils/serviceWorkerTransformer.ts","../src/actions/start/transformers.ts","../src/config/plugins/counter.ts","../src/config/config.ts","../src/utils/pngToIco.ts","../node_modules/sharp/lib/index.d.ts","../src/utils/getLocalURL.ts","../node_modules/open/index.d.ts","../src/config/getIPAddress.ts","../src/utils/getHostURL.ts","../node_modules/node-watch/lib/watch.d.ts","../src/utils/syncDirs.ts","../src/config/plugins/watchPublicFolder.ts","../src/actions/start.ts","../src/actions/generateAssets.ts","../src/actions/build.ts","../node_modules/typescript/lib/typescript.d.ts","../src/config/tsconfig.ts","../src/utils/globToRegex.ts","../src/actions/dist.ts","../src/cli.ts","../src/global.d.ts","../src/index.ts","../src/config/public/client.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f620e24dc1d3ece30246163c207434bbbf4b9759a5b0a1265f3f5606338ac0c","signature":"5a3576ed8855e67c68886fdd82d176b7faffe1dd5b3abf4befb6123142ad2475","impliedFormat":99},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1},{"version":"2b421c821711ac9ed8ff035e900c765e87eba84dc10c1351948f8dcfaf2b00fd","impliedFormat":99},{"version":"44afcb14a76d04c7007ddcd59ece41df0027252049b43df36b99fc4bf6b19465","signature":"df43ac2a510c4a7eb3dc639ea2f6c41373fe0e689b89e80a9aae6cfddcbbe4a5","impliedFormat":99},{"version":"4eb2499d385eff0db377104ae091822c4ba889b318b55a764dee8ee323c837ed","impliedFormat":1},{"version":"059b7930d2e7946e2b7cacdb256f5d1ccaa24f073e557b511295fb3af7d876d8","impliedFormat":99},{"version":"fd12bdd89cbf484ec2c2c85df4bc53c0d59d01e6b75236537936cce217e442fd","signature":"75c7dd820ff92e5e07931d7ba78bd6b2e14102552edfd1e479588448734c482d","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"cf5ad05851a8259d7754b35c348be05da440396210e16e58e3e6825d9642de0d","impliedFormat":1},{"version":"2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"e7be367719c613d580d4b27fdf8fe64c9736f48217f4b322c0d63b2971460918","affectsGlobalScope":true,"impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"392eadc2af403dd10b4debfbc655c089a7fa6a9750caeb770cfb30051e55e848","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","impliedFormat":1},{"version":"53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6","impliedFormat":1},{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"c48c503c6b3f63baf18257e9a87559b5602a4e960107c762586d2a6a62b64a18","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"1493cc4d72bfaabe2ac13e987d026a5fc99a816f6289bfca7192834a396205cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","impliedFormat":1},{"version":"304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","impliedFormat":1},{"version":"1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","impliedFormat":1},{"version":"98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","impliedFormat":1},{"version":"c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","impliedFormat":1},{"version":"2eaa31492906bc8525aff3c3ec2236e22d90b0dfeee77089f196cd0adf0b3e3b","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","impliedFormat":1},{"version":"a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","impliedFormat":1},{"version":"d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900","impliedFormat":1},{"version":"1d4d78c8b23c9ddaaaa49485e6adc2ec01086dfe5d8d4d36ca4cdc98d2f7e74a","affectsGlobalScope":true,"impliedFormat":1},{"version":"44fc16356b81c0463cc7d7b2b35dcf324d8144136f5bc5ce73ced86f2b3475b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","impliedFormat":1},{"version":"6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","impliedFormat":1},{"version":"56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927","impliedFormat":1},{"version":"071d4b4af5755e1a081aa3b785b5526d09276af5a50e4725dea26edd4e7deb31","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","impliedFormat":1},{"version":"e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","impliedFormat":1},{"version":"b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0","impliedFormat":1},{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"7245af181218216bacb01fbdf51095617a51661f20d77178c69a377e16fb69ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","impliedFormat":1},{"version":"4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c6929fd7cbf38499b6a600b91c3b603d1d78395046dc3499b2b92d01418b94b","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"a6ac6a18f0b3caac60dcbb6b56d52a27219fbf094ccf11f61abb260412a43458","impliedFormat":1},{"version":"97ab8ba0dac75c79957b1a98c9e88cfdb3f374ea0055a997dd0932e839b5ccdc","impliedFormat":1},{"version":"c71e8f05ccc74b7d7fb48a57d66182da949c10fb6d3c7e85ac621cd724c31ba4","impliedFormat":1},{"version":"20973b98a37a20b0eece4e1b5a28e4ecded38d7cf786f86d6ee2509fc53e80d7","signature":"3f95f54e062734aeedd545093e86306b5236cb1565fcd4d5fb8c399d56f20ee5","impliedFormat":99},{"version":"b7855dd2520c62a5eb53a61580805ad684e0e1d70d9da24d2677d4569c8eba17","signature":"2072ccb52e67b21530f948a77523dee1f5bcb7a163e0cf11a4b8c25762fd52be","impliedFormat":99},{"version":"383d1f24a71ce9bda3d4958d77a2a3f60e32ef23270a7a40cdf40902694945df","signature":"41a75509bb7c26c7bdfea57ba5c79bab98868e3087a398ce576c40d616146b88","impliedFormat":99},{"version":"57dc200de1add6e537188563b00126ba0a90731e31895c258e706ab9179e4080","signature":"42f071a1624eacdd2ccfa9f52f775a23dfbea86992b9a26ac2d68b033c85a0f4","impliedFormat":99},{"version":"db43731424654ca6985118bf123bdd98ea9b5af5d8149a90cf795977bf41b9a6","signature":"e35226acb4d207d378ff9506b1306145149afe1266b071d1c4daa98033c7a569","impliedFormat":99},{"version":"7405a0c5444d4b78f96ca1370bc0849b388fa993b99fe0ebed06890f84dce96a","signature":"efd0f4958c494e39e91a6291abbff412a2665e43b3138ecbf3611e85cd8a264d","impliedFormat":99},{"version":"99fc1ef9128cf10ef6a981da26bd6b0611a6e9ce8ea69c216c16275c443c3471","signature":"0004eba506fd56191438abf814ca92dfa9002b3cf886303ba2986610c2536654","impliedFormat":99},{"version":"b444812bdba44dc1a088db6465cdf32214395b22cc88f5afda2a04671d77f5cd","signature":"2022e4ffb9023903e433c54ddb2483b8b8a0f08f5c419a5b88b6ac0cd7f73f6e","impliedFormat":99},{"version":"c6283788e404ae9dde1b0ee827869444a1a48c155481f4397db7a23d0c307a59","signature":"4076452b75587cecd133306b7f7b60ce174eb52ffaea9812017482d3d2be5f18","impliedFormat":99},{"version":"dcaebce8ffe07432cb3b73f486bae96f994664dc472c0ee901f85df76bdaab01","signature":"101c3fc6a073ba2bddb3e2cc4f1e1e2cc4766e480f34fc11246b58e2064b07a2","impliedFormat":99},{"version":"5409de0378cba8c9199d4604a45c85275a4e7bb4dc15542d6cf9b11cdbe2874c","signature":"ec348a3f769a87d7a7adff70438221fa047ada00f8a936ba9982070a2d2591ca","impliedFormat":99},{"version":"563752f92a7f43abc0154cf9f6a0c74be3969a7c34d1a17f1516f5aedcbe9fc8","impliedFormat":1},{"version":"6d1a23e4c0f8428b1e00b77b3756503dac3a505a99f3055a29774cd7a81fdd5a","signature":"d303bc4f31c976ab221244ccd5a6b87fb8b17f56ef9780a8806e3f7aecf85eb4","impliedFormat":99},{"version":"93a98ba747d8637f2e65250461ff910355f755caf6a29744def94b1c0636843d","impliedFormat":99},{"version":"2aa80019d2cc87a412b5281df66b78e449df36b3ea125ec8b61034d5a4dc4ba1","signature":"7a27baf1053443cefab73b720106d1f9d730a50a37f82155d664145663040f20","impliedFormat":99},{"version":"868d28d0b7a26a4034f646f8e84fd61e42fd57a8143327349f120ad00edda173","signature":"fae2934c0aa77d24e9ed52baa42d42f311907eadcb851dfed170d6c66a696c1e","impliedFormat":99},{"version":"511b7e393e5663ef536a2afb21cc06f1bd52246fb3cca039a2b28266e180362a","impliedFormat":1},{"version":"4c27ad35b24e2ad7522ad1c9c536817226befc5effdb84e24e212a7bcd0c42b0","signature":"8787dbb8d72bda7af22694e7500a4624a09380bfb129f7a7d355e41e6a9cdb54","impliedFormat":99},{"version":"54b86dd54ba1ecacbee133b1dfa8f139701d39bd7c228128278c24132634e40d","signature":"92305fe8601ab8fa53048d34d89a1d5091aab06ba7069e6c1dea1ba65c7a0f00","impliedFormat":99},{"version":"eaab5cdf6b817ef9c850184bdd421daeb467af9cce24944697fbc99cf74ba35b","signature":"b2d8e4de85cf47c554885a03d78324bcc6be8485c5aca483b1d76989659765e3","impliedFormat":99},{"version":"37df1fe72ea5b6b7d3d8d86cd343d0e783ec61a2eaf3e4e15cbcdb3c79a92013","signature":"cd63403b9b180b7a62bcdabeb163f5fa26024139e84b7e6a8d505fc84a12c80f","impliedFormat":99},{"version":"771088279778ffb12156a8c9aa8c6cbf2e3ce17e70dc2e66a004dcb2c5912433","signature":"7f7b8ba164f62bf6eb9d82b360ffc2d52774ccdbdc0429a97383da398fdaaa8e","impliedFormat":99},{"version":"8eb142d9d0e29220c562296bdbed6b2c228df84589ce5d0c74ed7c333c1ba6cd","impliedFormat":1},{"version":"f9fcfb2b0f15edbbabee4b27f7ac241aba2d19a40e2114cdc03d6e269486813c","signature":"f73ca0f19bfb93582541e7452cfa6688123ca97ea5585334d0f7b12b504ff5b9","impliedFormat":99},{"version":"d9787fd820d40bf4b9e3b4e387136a30d2e27d7d22eaf0b0a3964d6f38e18f81","signature":"00402d87b779a21e5f780c8c4b35021e54118fca63f8b2ba108036ef6cf40fae","impliedFormat":99},{"version":"8334eece9cd5de8ee42d3b88abe359d445966ed5f09484fabb0700e12d230c58","signature":"22030ac3a97726956b9f34be674b869204167c2e49bc9078b48f97e074036a82","impliedFormat":99},{"version":"122aa3e60f7ad1b470d5b02fb45893955bddac67f79b4a6a4ab0f05b8103484f","signature":"f1c55f9c94533ef546614eedb041912be0e86df25ff276dfbfa72a5d6d1e9ffb","impliedFormat":99},{"version":"6a400aa275fbe7de7ce057315060d1388fcf59dfc8d17c6c435458754164fffc","impliedFormat":99},{"version":"930378a857f9429ea1e0eec081ccbf02c97f6b34d7e02015d93f9cf53f074860","signature":"950e163ec71f6cbeba6a0bb17dbc2c90a838db7748fe9b602abdd5fddacd8ea3","impliedFormat":99},{"version":"0052de5b3c8ef75cc5bdb1260c0df7a4cb02801a1294769634bd5bc095dc0a18","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"root":[52,56,59,[153,163],165,167,168,[170,174],[176,182]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"allowUnreachableCode":false,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":100,"noErrorTruncation":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"target":99},"fileIdsList":[[62],[98],[99,104,133],[100,105,111,112,119,130,141],[100,101,111,119],[102,142],[103,104,112,120],[104,130,138],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,130,141],[111,112,113,126,130,133],[96,99,146],[107,111,114,119,130,141],[111,112,114,115,119,130,138,141],[114,116,130,138,141],[62,63,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[111,117],[118,141,146],[107,111,119,130],[120],[121],[98,122],[119,120,123,140,146],[124],[125],[111,126,127],[126,128,142,144],[99,111,130,131,132,133],[99,130,132],[130,131],[133],[134],[98,130],[111,136,137],[136,137],[104,119,130,138],[139],[119,140],[99,114,125,141],[104,142],[130,143],[118,144],[145],[99,104,111,113,122,130,141,144,146],[130,147],[57],[53],[54],[111,130,149],[150],[112],[100],[100,130,149,150,151],[130,149],[73,77,141],[73,130,141],[68],[70,73,138,141],[119,138],[149],[68,149],[70,73,119,141],[65,66,69,72,99,111,130,141],[65,71],[69,73,99,133,141,149],[99,149],[89,99,149],[67,68,149],[73],[67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95],[73,80,81],[71,73,81,82],[72],[65,68,73],[73,77,81,82],[77],[71,73,76,141],[65,70,71,73,77,80],[99,130],[68,73,89,99,146,149],[60,162],[52,56,59,60,112,121,155,162,170,175,176,177],[59,112,121,141,152,153,154,162,163,164,165,172],[52,59,60,112,114,162,165,166,168,171],[155,157,159,162],[52,55,56,58,172,173,174,178],[52,59,112,114,121,141,154,155,156,160,161],[52,56,60],[60,160,162,170],[112,121,162,175],[60,112,121,141,153,154],[152,154],[154,179],[60,61,152,153],[59,112],[167],[60,158,162],[59,112,121,155,169]],"referencedMap":[[62,1],[63,1],[98,2],[99,3],[100,4],[101,5],[102,6],[103,7],[104,8],[105,9],[106,10],[107,11],[108,11],[110,12],[109,13],[111,14],[112,15],[113,16],[97,17],[114,18],[115,19],[116,20],[149,21],[117,22],[118,23],[119,24],[120,25],[121,26],[122,27],[123,28],[124,29],[125,30],[126,31],[127,31],[128,32],[130,33],[132,34],[131,35],[133,36],[134,37],[135,38],[136,39],[137,40],[138,41],[139,42],[140,43],[141,44],[142,45],[143,46],[144,47],[145,48],[146,49],[147,50],[58,51],[57,52],[55,53],[54,52],[183,54],[151,55],[169,56],[166,57],[152,58],[164,59],[80,60],[87,61],[79,60],[94,62],[71,63],[70,64],[93,65],[88,66],[91,67],[73,68],[72,69],[68,70],[67,71],[90,72],[69,73],[74,74],[78,74],[96,75],[95,74],[82,76],[83,77],[85,78],[81,79],[84,80],[89,65],[76,81],[77,82],[86,83],[66,84],[92,85],[174,86],[178,87],[173,88],[172,89],[160,90],[179,91],[162,92],[167,25],[161,93],[171,94],[176,95],[156,96],[153,97],[181,98],[154,99],[155,100],[158,100],[168,101],[59,26],[159,102],[170,103]]},"version":"5.5.2"}
|
package/bin/utils/copy.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export type Tranformer = {
|
|
1
|
+
export type Transformer = {
|
|
3
2
|
fileRegex: RegExp;
|
|
4
|
-
transformer: (fileContent: string) => Buffer | string;
|
|
3
|
+
transformer: (fileContent: string, path?: string) => Buffer | string;
|
|
5
4
|
pathTransformer?: (destPath: string) => string;
|
|
6
5
|
};
|
|
7
|
-
export declare function copyFile(src: string, fileName: string, dest: string, omit?: RegExp[]): void;
|
|
8
|
-
export declare function copy(src: string, dest: string, omit?: RegExp[]): void;
|
|
6
|
+
export declare function copyFile(src: string, fileName: string, dest: string, transformers: Transformer[], omit?: RegExp[]): void;
|
|
7
|
+
export declare function copy(src: string, dest: string, transformers: Transformer[], omit?: RegExp[]): void;
|
package/bin/utils/copy.js
CHANGED
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import { getPath } from "./getPath.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!omit?.find((x) => x.test(
|
|
6
|
-
const srcPath = getPath(`${src}/${fileName}`);
|
|
3
|
+
export function copyFile(src, fileName, dest, transformers, omit) {
|
|
4
|
+
const srcPath = getPath(`${src}/${fileName}`);
|
|
5
|
+
if (!omit?.find((x) => x.test(srcPath))) {
|
|
7
6
|
const destPath = getPath(`${dest}/${fileName}`);
|
|
8
7
|
if (fs.lstatSync(srcPath).isDirectory()) {
|
|
9
|
-
|
|
10
|
-
fs.mkdirSync(destPath);
|
|
11
|
-
copy(srcPath, destPath);
|
|
8
|
+
copy(srcPath, destPath, transformers, omit);
|
|
12
9
|
}
|
|
13
10
|
else {
|
|
14
|
-
const fileTransformer = transformers?.
|
|
15
|
-
if (fileTransformer) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
const fileTransformer = transformers?.filter((x) => x.fileRegex.test(fileName));
|
|
12
|
+
if (fileTransformer.length > 0) {
|
|
13
|
+
fileTransformer.forEach(async (x) => {
|
|
14
|
+
const srcFileContent = fs.readFileSync(srcPath, {
|
|
15
|
+
encoding: "utf-8",
|
|
16
|
+
});
|
|
17
|
+
const finalDestPath = x.pathTransformer?.(destPath) ?? destPath;
|
|
18
|
+
try {
|
|
19
|
+
const transformedFile = x.transformer(srcFileContent, srcPath);
|
|
20
|
+
fs.writeFileSync(finalDestPath, transformedFile);
|
|
21
|
+
}
|
|
22
|
+
catch { }
|
|
23
|
+
});
|
|
20
24
|
}
|
|
21
25
|
else
|
|
22
26
|
fs.copyFileSync(srcPath, destPath, fs.constants.COPYFILE_FICLONE);
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
|
-
export function copy(src, dest, omit) {
|
|
30
|
+
export function copy(src, dest, transformers, omit) {
|
|
27
31
|
const srcDir = fs.readdirSync(src);
|
|
28
|
-
|
|
32
|
+
try {
|
|
33
|
+
fs.mkdirSync(dest);
|
|
34
|
+
}
|
|
35
|
+
catch { }
|
|
36
|
+
srcDir.forEach((fileName) => copyFile(src, fileName, dest, transformers, omit));
|
|
29
37
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function globToRegex(glob: string): RegExp;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function globToRegex(glob) {
|
|
2
|
+
const regexSpecialChars = [
|
|
3
|
+
".",
|
|
4
|
+
"\\",
|
|
5
|
+
"+",
|
|
6
|
+
"*",
|
|
7
|
+
"?",
|
|
8
|
+
"|",
|
|
9
|
+
"(",
|
|
10
|
+
")",
|
|
11
|
+
"[",
|
|
12
|
+
"]",
|
|
13
|
+
"{",
|
|
14
|
+
"}",
|
|
15
|
+
"^",
|
|
16
|
+
"$",
|
|
17
|
+
];
|
|
18
|
+
return new RegExp("^" +
|
|
19
|
+
glob
|
|
20
|
+
.split("")
|
|
21
|
+
.map((char) => {
|
|
22
|
+
if (char === "*") {
|
|
23
|
+
return ".*";
|
|
24
|
+
}
|
|
25
|
+
else if (char === "?") {
|
|
26
|
+
return ".";
|
|
27
|
+
}
|
|
28
|
+
else if (regexSpecialChars.includes(char)) {
|
|
29
|
+
return "\\" + char;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return char;
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
.join("") +
|
|
36
|
+
"$");
|
|
37
|
+
}
|
package/bin/utils/pngToIco.d.ts
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { type Loader } from "esbuild";
|
|
3
|
-
export declare const serviceWorkerTransformer: (serviceWorkerCode: string, loader?: Loader) => string | Buffer;
|
|
1
|
+
export declare const serviceWorkerTransformer: (serviceWorkerCode: string) => string | Buffer;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { config } from "../config/config.js";
|
|
2
2
|
import { getAllFiles } from "./getAllFiles.js";
|
|
3
3
|
import { transformSync as esbuild } from "esbuild";
|
|
4
|
-
export const serviceWorkerTransformer = (serviceWorkerCode
|
|
4
|
+
export const serviceWorkerTransformer = (serviceWorkerCode) => {
|
|
5
5
|
const { sourcemap, keepNames, format, outdir, define, target } = config.esbuildOptions;
|
|
6
6
|
try {
|
|
7
7
|
const allFiles = getAllFiles(outdir, ".");
|
|
@@ -12,7 +12,7 @@ export const serviceWorkerTransformer = (serviceWorkerCode, loader = "ts") => {
|
|
|
12
12
|
"michiProcess.env.CACHE_NAME": `"${new Date(new Date().toLocaleString("en-US", { timeZone: "Etc/GMT" })).getTime()}"`,
|
|
13
13
|
...define,
|
|
14
14
|
},
|
|
15
|
-
loader,
|
|
15
|
+
loader: "ts",
|
|
16
16
|
logLevel: "error",
|
|
17
17
|
format,
|
|
18
18
|
target,
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type Transformer } from "../utils/copy.js";
|
|
2
|
+
import watch from "node-watch";
|
|
3
|
+
export declare const syncDirs: (srcDir: string, outDir: string, transformers: Transformer[], omit?: RegExp[], onStartSync?: () => void, onEndSync?: Parameters<typeof watch.default>[2]) => void;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { copyFile } from "../utils/copy.js";
|
|
4
|
+
import watch from "node-watch";
|
|
5
|
+
import { getPath } from "../utils/getPath.js";
|
|
6
|
+
export const syncDirs = (srcDir, outDir, transformers, omit, onStartSync, onEndSync) => {
|
|
7
|
+
watch.default(srcDir, {
|
|
8
|
+
encoding: "utf-8",
|
|
9
|
+
persistent: true,
|
|
10
|
+
recursive: true,
|
|
11
|
+
}, (event, fileChangedPath) => {
|
|
12
|
+
onStartSync?.();
|
|
13
|
+
const fileSrcDir = path.dirname(fileChangedPath);
|
|
14
|
+
const fileName = path.basename(fileChangedPath);
|
|
15
|
+
const fileOutDir = fileSrcDir.replace(srcDir, outDir);
|
|
16
|
+
if (event === "remove")
|
|
17
|
+
transformers.forEach((x) => {
|
|
18
|
+
if (x.fileRegex.test(fileChangedPath)) {
|
|
19
|
+
fs.rmSync(getPath(`${fileOutDir}/${x.pathTransformer?.(fileName) ?? fileName}`), { force: true, recursive: true });
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
else
|
|
23
|
+
copyFile(fileSrcDir, fileName, fileOutDir, transformers, omit);
|
|
24
|
+
onEndSync?.(event, fileChangedPath);
|
|
25
|
+
});
|
|
26
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@michijs/dev-server",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.15-beta.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/michijs/dev-server.git"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"link": "bun run dist && bun link --force && tsc -w"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@types/node": "20.
|
|
30
|
+
"@types/node": "20.14.8",
|
|
31
31
|
"@types/yargs": "17.0.32"
|
|
32
32
|
},
|
|
33
33
|
"keywords": [
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@types/web-app-manifest": "1.0.8",
|
|
53
|
-
"esbuild": "0.
|
|
53
|
+
"esbuild": "0.21.5",
|
|
54
54
|
"node-watch": "0.7.4",
|
|
55
55
|
"open": "10.1.0",
|
|
56
|
-
"puppeteer": "22.
|
|
57
|
-
"sharp": "0.33.
|
|
56
|
+
"puppeteer": "22.12.0",
|
|
57
|
+
"sharp": "0.33.4",
|
|
58
58
|
"yargs": "17.7.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"typescript": "^5.
|
|
61
|
+
"typescript": "^5.5.2"
|
|
62
62
|
}
|
|
63
63
|
}
|