@quilted/rollup 0.0.0-preview-20231014022518
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/CHANGELOG.md +13 -0
- package/LICENSE.md +21 -0
- package/README.md +1 -0
- package/build/cjs/app.cjs +158 -0
- package/build/cjs/constants.cjs +13 -0
- package/build/cjs/env.cjs +135 -0
- package/build/cjs/index.cjs +16 -0
- package/build/cjs/request-router.cjs +31 -0
- package/build/cjs/shared/magic-module.cjs +32 -0
- package/build/cjs/shared/rollup.cjs +15 -0
- package/build/cjs/shared/strings.cjs +16 -0
- package/build/esm/app.mjs +151 -0
- package/build/esm/constants.mjs +7 -0
- package/build/esm/env.mjs +112 -0
- package/build/esm/index.mjs +3 -0
- package/build/esm/request-router.mjs +29 -0
- package/build/esm/shared/magic-module.mjs +30 -0
- package/build/esm/shared/rollup.mjs +13 -0
- package/build/esm/shared/strings.mjs +14 -0
- package/build/esnext/app.esnext +151 -0
- package/build/esnext/constants.esnext +7 -0
- package/build/esnext/env.esnext +112 -0
- package/build/esnext/index.esnext +3 -0
- package/build/esnext/request-router.esnext +29 -0
- package/build/esnext/shared/magic-module.esnext +30 -0
- package/build/esnext/shared/rollup.esnext +13 -0
- package/build/esnext/shared/strings.esnext +14 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/typescript/app.d.ts +163 -0
- package/build/typescript/app.d.ts.map +1 -0
- package/build/typescript/constants.d.ts +6 -0
- package/build/typescript/constants.d.ts.map +1 -0
- package/build/typescript/env.d.ts +55 -0
- package/build/typescript/env.d.ts.map +1 -0
- package/build/typescript/index.d.ts +4 -0
- package/build/typescript/index.d.ts.map +1 -0
- package/build/typescript/request-router.d.ts +15 -0
- package/build/typescript/request-router.d.ts.map +1 -0
- package/build/typescript/shared/magic-module.d.ts +19 -0
- package/build/typescript/shared/magic-module.d.ts.map +1 -0
- package/build/typescript/shared/rollup.d.ts +5 -0
- package/build/typescript/shared/rollup.d.ts.map +1 -0
- package/build/typescript/shared/strings.d.ts +2 -0
- package/build/typescript/shared/strings.d.ts.map +1 -0
- package/package.json +53 -0
- package/quilt.project.ts +5 -0
- package/source/app.ts +225 -0
- package/source/constants.ts +5 -0
- package/source/env.ts +176 -0
- package/source/index.ts +13 -0
- package/source/request-router.ts +34 -0
- package/source/shared/magic-module.ts +42 -0
- package/source/shared/rollup.ts +38 -0
- package/source/shared/strings.ts +17 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import { MAGIC_MODULE_ENV } from './constants.mjs';
|
|
4
|
+
import { multiline } from './shared/strings.mjs';
|
|
5
|
+
import { smartReplace } from './shared/rollup.mjs';
|
|
6
|
+
import { createMagicModulePlugin } from './shared/magic-module.mjs';
|
|
7
|
+
|
|
8
|
+
const EMPTY_PROCESS_ENV_OBJECT = {
|
|
9
|
+
'globalThis.process.env.': `({}).`,
|
|
10
|
+
'global.process.env.': `({}).`,
|
|
11
|
+
'process.env.': `({}).`
|
|
12
|
+
};
|
|
13
|
+
function replaceProcessEnv({
|
|
14
|
+
mode,
|
|
15
|
+
preserve = true
|
|
16
|
+
}) {
|
|
17
|
+
return smartReplace({
|
|
18
|
+
// @see https://github.com/vitejs/vite/blob/2b1ffe86328f9d06ef9528ee117b61889893ddcc/packages/vite/src/node/plugins/define.ts#L112
|
|
19
|
+
'globalThis.process.env.NODE_ENV': JSON.stringify(mode),
|
|
20
|
+
'global.process.env.NODE_ENV': JSON.stringify(mode),
|
|
21
|
+
'process.env.NODE_ENV': JSON.stringify(mode),
|
|
22
|
+
...(preserve ? {} : EMPTY_PROCESS_ENV_OBJECT)
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function magicModuleEnv({
|
|
26
|
+
mode,
|
|
27
|
+
dotenv = {
|
|
28
|
+
roots: ['.', 'configuration']
|
|
29
|
+
},
|
|
30
|
+
inline = [],
|
|
31
|
+
runtime = '{}'
|
|
32
|
+
} = {}) {
|
|
33
|
+
return createMagicModulePlugin({
|
|
34
|
+
name: '@quilted/magic-module/env',
|
|
35
|
+
module: MAGIC_MODULE_ENV,
|
|
36
|
+
async source() {
|
|
37
|
+
const inlineEnv = {};
|
|
38
|
+
if (mode) {
|
|
39
|
+
inlineEnv.MODE = mode;
|
|
40
|
+
}
|
|
41
|
+
const loadedEnv = await loadEnv.call(this, {
|
|
42
|
+
mode,
|
|
43
|
+
dotenv
|
|
44
|
+
});
|
|
45
|
+
for (const inlineVariable of inline.sort()) {
|
|
46
|
+
if (inlineVariable in inlineEnv) continue;
|
|
47
|
+
const value = process.env[inlineVariable] ?? loadedEnv[inlineVariable];
|
|
48
|
+
if (value == null) continue;
|
|
49
|
+
inlineEnv[inlineVariable] = typeof value === 'string' && value[0] === '"' && value[value.length - 1] === '"' ? JSON.parse(value) : value;
|
|
50
|
+
}
|
|
51
|
+
return multiline`
|
|
52
|
+
const runtime = (${runtime});
|
|
53
|
+
const inline = JSON.parse(${JSON.stringify(JSON.stringify(inlineEnv))});
|
|
54
|
+
|
|
55
|
+
const Env = new Proxy(
|
|
56
|
+
{},
|
|
57
|
+
{
|
|
58
|
+
get(_, property) {
|
|
59
|
+
return runtime[property] ?? inline[property];
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
export default Env;
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Inspired by https://github.com/vitejs/vite/blob/e0a4d810598d1834933ed437ac5a2168cbbbf2f8/packages/vite/source/node/config.ts#L1050-L1113
|
|
71
|
+
async function loadEnv({
|
|
72
|
+
mode,
|
|
73
|
+
dotenv
|
|
74
|
+
}) {
|
|
75
|
+
const env = {
|
|
76
|
+
...process.env
|
|
77
|
+
};
|
|
78
|
+
if (dotenv !== false) {
|
|
79
|
+
const {
|
|
80
|
+
parse
|
|
81
|
+
} = await import('dotenv');
|
|
82
|
+
let files = dotenv.files;
|
|
83
|
+
if (files == null) {
|
|
84
|
+
const testFiles = [
|
|
85
|
+
// default file
|
|
86
|
+
`.env`,
|
|
87
|
+
// local file
|
|
88
|
+
`.env.local`];
|
|
89
|
+
if (mode) {
|
|
90
|
+
testFiles.push(
|
|
91
|
+
// mode file
|
|
92
|
+
`.env.${mode}`,
|
|
93
|
+
// mode local file
|
|
94
|
+
`.env.${mode}.local`);
|
|
95
|
+
}
|
|
96
|
+
files = testFiles.flatMap(file => (dotenv.roots ?? ['.', 'configuration']).map(root => path.resolve(root, file)));
|
|
97
|
+
}
|
|
98
|
+
const envFileResults = await Promise.all(files.map(async file => {
|
|
99
|
+
if (fs.existsSync(file)) {
|
|
100
|
+
this.addWatchFile(file);
|
|
101
|
+
return parse(await fs.promises.readFile(file, 'utf-8'));
|
|
102
|
+
}
|
|
103
|
+
}));
|
|
104
|
+
for (const envFileResult of envFileResults) {
|
|
105
|
+
if (envFileResult == null) continue;
|
|
106
|
+
Object.assign(env, envFileResult);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return env;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export { magicModuleEnv, replaceProcessEnv };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER } from './constants.mjs';
|
|
2
|
+
import { createMagicModulePlugin } from './shared/magic-module.mjs';
|
|
3
|
+
import { multiline } from './shared/strings.mjs';
|
|
4
|
+
|
|
5
|
+
function magicModuleRequestRouterEntry({
|
|
6
|
+
host,
|
|
7
|
+
port
|
|
8
|
+
} = {}) {
|
|
9
|
+
return createMagicModulePlugin({
|
|
10
|
+
name: '@quilted/request-router',
|
|
11
|
+
sideEffects: true,
|
|
12
|
+
module: MAGIC_MODULE_ENTRY,
|
|
13
|
+
async source() {
|
|
14
|
+
const initialContent = multiline`
|
|
15
|
+
import requestRouter from ${JSON.stringify(MAGIC_MODULE_REQUEST_ROUTER)};
|
|
16
|
+
|
|
17
|
+
import {createHttpServer} from '@quilted/quilt/request-router/node';
|
|
18
|
+
|
|
19
|
+
const port = ${port ?? 'Number.parseInt(process.env.PORT, 10)'};
|
|
20
|
+
const host = ${host ? JSON.stringify(host) : 'process.env.HOST'};
|
|
21
|
+
|
|
22
|
+
createHttpServer(requestRouter).listen(port, host);
|
|
23
|
+
`;
|
|
24
|
+
return initialContent;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { magicModuleRequestRouterEntry };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const VIRTUAL_MODULE_PREFIX = '\0';
|
|
2
|
+
const VIRTUAL_MODULE_POSTFIX = '/module.js';
|
|
3
|
+
function createMagicModulePlugin({
|
|
4
|
+
name,
|
|
5
|
+
module,
|
|
6
|
+
alias = `${VIRTUAL_MODULE_PREFIX}${module}${VIRTUAL_MODULE_POSTFIX}`,
|
|
7
|
+
source: getSource,
|
|
8
|
+
sideEffects = false
|
|
9
|
+
}) {
|
|
10
|
+
return {
|
|
11
|
+
name,
|
|
12
|
+
resolveId(id) {
|
|
13
|
+
if (id !== module) return null;
|
|
14
|
+
return {
|
|
15
|
+
id: alias,
|
|
16
|
+
moduleSideEffects: sideEffects ? 'no-treeshake' : undefined
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
load: getSource ? async function load(source) {
|
|
20
|
+
if (source !== alias) return null;
|
|
21
|
+
const code = await getSource.call(this);
|
|
22
|
+
return {
|
|
23
|
+
code,
|
|
24
|
+
moduleSideEffects: sideEffects ? 'no-treeshake' : undefined
|
|
25
|
+
};
|
|
26
|
+
} : undefined
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { createMagicModulePlugin };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import replace from '@rollup/plugin-replace';
|
|
2
|
+
|
|
3
|
+
function smartReplace(values, options) {
|
|
4
|
+
return replace({
|
|
5
|
+
// @see https://github.com/vitejs/vite/blob/2b1ffe86328f9d06ef9528ee117b61889893ddcc/packages/vite/src/node/plugins/define.ts#L108-L119
|
|
6
|
+
delimiters: ['(?<![\\p{L}\\p{N}_$]|(?<!\\.\\.)\\.)(', ')(?:(?<=\\.)|(?![\\p{L}\\p{N}_$]|\\s*?=[^=]))'],
|
|
7
|
+
preventAssignment: true,
|
|
8
|
+
...options,
|
|
9
|
+
values
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { smartReplace };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function multiline(strings, ...values) {
|
|
2
|
+
let result = strings.reduce((combined, string, index) => `${combined}${string}${values[index] ?? ''}`, '');
|
|
3
|
+
|
|
4
|
+
// Inspired by https://github.com/zspecza/common-tags/blob/master/src/stripIndentTransformer/stripIndentTransformer.js#L8
|
|
5
|
+
const match = result.match(/^[^\S\n]*(?=\S)/gm);
|
|
6
|
+
const indent = match && Math.min(...match.map(indent => indent.length));
|
|
7
|
+
if (indent) {
|
|
8
|
+
const regexp = new RegExp(`^.{${indent}}`, 'gm');
|
|
9
|
+
result = result.replace(regexp, '');
|
|
10
|
+
}
|
|
11
|
+
return result.trim();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { multiline };
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_REQUEST_ROUTER, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_ENTRY } from './constants.esnext';
|
|
2
|
+
import { multiline } from './shared/strings.esnext';
|
|
3
|
+
import { createMagicModulePlugin } from './shared/magic-module.esnext';
|
|
4
|
+
|
|
5
|
+
function quiltApp({
|
|
6
|
+
env,
|
|
7
|
+
entry
|
|
8
|
+
} = {}) {
|
|
9
|
+
return {
|
|
10
|
+
name: '@quilted/app',
|
|
11
|
+
async options(originalOptions) {
|
|
12
|
+
const newPlugins = [...(Array.isArray(originalOptions.plugins) ? originalOptions.plugins : originalOptions.plugins ? [originalOptions.plugins] : [])];
|
|
13
|
+
const newOptions = {
|
|
14
|
+
...originalOptions,
|
|
15
|
+
plugins: newPlugins
|
|
16
|
+
};
|
|
17
|
+
if (env) {
|
|
18
|
+
const {
|
|
19
|
+
magicModuleEnv,
|
|
20
|
+
replaceProcessEnv
|
|
21
|
+
} = await import('./env.esnext');
|
|
22
|
+
if (typeof env === 'boolean') {
|
|
23
|
+
newPlugins.push(replaceProcessEnv({
|
|
24
|
+
mode: 'production'
|
|
25
|
+
}));
|
|
26
|
+
newPlugins.push(magicModuleEnv({
|
|
27
|
+
mode: 'production'
|
|
28
|
+
}));
|
|
29
|
+
} else {
|
|
30
|
+
newPlugins.push(replaceProcessEnv({
|
|
31
|
+
mode: env.mode ?? 'production'
|
|
32
|
+
}));
|
|
33
|
+
newPlugins.push(magicModuleEnv({
|
|
34
|
+
mode: 'production',
|
|
35
|
+
...env
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (entry) {
|
|
40
|
+
newPlugins.push(magicModuleAppComponent({
|
|
41
|
+
entry
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
return newOptions;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function quiltAppBrowser(options = {}) {
|
|
49
|
+
return {
|
|
50
|
+
name: '@quilted/app/browser',
|
|
51
|
+
options(originalOptions) {
|
|
52
|
+
const newPlugins = [...(Array.isArray(originalOptions.plugins) ? originalOptions.plugins : originalOptions.plugins ? [originalOptions.plugins] : [])];
|
|
53
|
+
const newOptions = {
|
|
54
|
+
...originalOptions,
|
|
55
|
+
plugins: newPlugins
|
|
56
|
+
};
|
|
57
|
+
newPlugins.push(magicModuleAppBrowserEntry(options));
|
|
58
|
+
return newOptions;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function quiltAppServer(options = {}) {
|
|
63
|
+
return {
|
|
64
|
+
name: '@quilted/app/server',
|
|
65
|
+
async options(originalOptions) {
|
|
66
|
+
const newPlugins = [...(Array.isArray(originalOptions.plugins) ? originalOptions.plugins : originalOptions.plugins ? [originalOptions.plugins] : [])];
|
|
67
|
+
const [{
|
|
68
|
+
magicModuleRequestRouterEntry
|
|
69
|
+
}] = await Promise.all([import('./request-router.esnext')]);
|
|
70
|
+
const newOptions = {
|
|
71
|
+
...originalOptions,
|
|
72
|
+
plugins: newPlugins
|
|
73
|
+
};
|
|
74
|
+
newPlugins.push(magicModuleRequestRouterEntry());
|
|
75
|
+
newPlugins.push(magicModuleAppRequestRouter(options));
|
|
76
|
+
return newOptions;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function magicModuleAppComponent({
|
|
81
|
+
entry
|
|
82
|
+
}) {
|
|
83
|
+
return createMagicModulePlugin({
|
|
84
|
+
name: '@quilted/magic-module/app',
|
|
85
|
+
module: MAGIC_MODULE_APP_COMPONENT,
|
|
86
|
+
alias: entry
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function magicModuleAppRequestRouter({
|
|
90
|
+
entry
|
|
91
|
+
} = {}) {
|
|
92
|
+
return createMagicModulePlugin({
|
|
93
|
+
name: '@quilted/magic-module/app-request-router',
|
|
94
|
+
module: MAGIC_MODULE_REQUEST_ROUTER,
|
|
95
|
+
alias: entry,
|
|
96
|
+
source: entry ? undefined : async function source() {
|
|
97
|
+
return multiline`
|
|
98
|
+
import '@quilted/quilt/globals';
|
|
99
|
+
|
|
100
|
+
import {jsx} from 'react/jsx-runtime';
|
|
101
|
+
import {RequestRouter} from '@quilted/quilt/request-router';
|
|
102
|
+
import {renderToResponse} from '@quilted/quilt/server';
|
|
103
|
+
|
|
104
|
+
import App from ${JSON.stringify(MAGIC_MODULE_APP_COMPONENT)};
|
|
105
|
+
import {BrowserAssets} from ${JSON.stringify(MAGIC_MODULE_BROWSER_ASSETS)};
|
|
106
|
+
|
|
107
|
+
const router = new RequestRouter();
|
|
108
|
+
const assets = new BrowserAssets();
|
|
109
|
+
|
|
110
|
+
// For all GET requests, render our React application.
|
|
111
|
+
router.get(async (request) => {
|
|
112
|
+
const response = await renderToResponse(jsx(App), {
|
|
113
|
+
request,
|
|
114
|
+
assets,
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
return response;
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
export default router;
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function magicModuleAppBrowserEntry({
|
|
126
|
+
hydrate = true,
|
|
127
|
+
selector = '#app'
|
|
128
|
+
} = {}) {
|
|
129
|
+
return createMagicModulePlugin({
|
|
130
|
+
name: '@quilted/magic-module/app-browser-entry',
|
|
131
|
+
module: MAGIC_MODULE_ENTRY,
|
|
132
|
+
sideEffects: true,
|
|
133
|
+
async source() {
|
|
134
|
+
const reactRootFunction = hydrate ? 'hydrateRoot' : 'createRoot';
|
|
135
|
+
return multiline`
|
|
136
|
+
import '@quilted/quilt/globals';
|
|
137
|
+
|
|
138
|
+
import {jsx} from 'react/jsx-runtime';
|
|
139
|
+
import {${reactRootFunction}} from 'react-dom/client';
|
|
140
|
+
|
|
141
|
+
import App from ${JSON.stringify(MAGIC_MODULE_APP_COMPONENT)};
|
|
142
|
+
|
|
143
|
+
const element = document.querySelector(${JSON.stringify(selector)});
|
|
144
|
+
|
|
145
|
+
${hydrate ? `${reactRootFunction}(element, jsx(App));` : `${reactRootFunction}(element).render(jsx(App));`}
|
|
146
|
+
`;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export { magicModuleAppBrowserEntry, magicModuleAppComponent, magicModuleAppRequestRouter, quiltApp, quiltAppBrowser, quiltAppServer };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const MAGIC_MODULE_ENV = 'quilt:module/env';
|
|
2
|
+
const MAGIC_MODULE_ENTRY = 'quilt:module/entry';
|
|
3
|
+
const MAGIC_MODULE_APP_COMPONENT = 'quilt:module/app';
|
|
4
|
+
const MAGIC_MODULE_BROWSER_ASSETS = 'quilt:module/assets';
|
|
5
|
+
const MAGIC_MODULE_REQUEST_ROUTER = 'quilt:module/request-router';
|
|
6
|
+
|
|
7
|
+
export { MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_ENTRY, MAGIC_MODULE_ENV, MAGIC_MODULE_REQUEST_ROUTER };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import { MAGIC_MODULE_ENV } from './constants.esnext';
|
|
4
|
+
import { multiline } from './shared/strings.esnext';
|
|
5
|
+
import { smartReplace } from './shared/rollup.esnext';
|
|
6
|
+
import { createMagicModulePlugin } from './shared/magic-module.esnext';
|
|
7
|
+
|
|
8
|
+
const EMPTY_PROCESS_ENV_OBJECT = {
|
|
9
|
+
'globalThis.process.env.': `({}).`,
|
|
10
|
+
'global.process.env.': `({}).`,
|
|
11
|
+
'process.env.': `({}).`
|
|
12
|
+
};
|
|
13
|
+
function replaceProcessEnv({
|
|
14
|
+
mode,
|
|
15
|
+
preserve = true
|
|
16
|
+
}) {
|
|
17
|
+
return smartReplace({
|
|
18
|
+
// @see https://github.com/vitejs/vite/blob/2b1ffe86328f9d06ef9528ee117b61889893ddcc/packages/vite/src/node/plugins/define.ts#L112
|
|
19
|
+
'globalThis.process.env.NODE_ENV': JSON.stringify(mode),
|
|
20
|
+
'global.process.env.NODE_ENV': JSON.stringify(mode),
|
|
21
|
+
'process.env.NODE_ENV': JSON.stringify(mode),
|
|
22
|
+
...(preserve ? {} : EMPTY_PROCESS_ENV_OBJECT)
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function magicModuleEnv({
|
|
26
|
+
mode,
|
|
27
|
+
dotenv = {
|
|
28
|
+
roots: ['.', 'configuration']
|
|
29
|
+
},
|
|
30
|
+
inline = [],
|
|
31
|
+
runtime = '{}'
|
|
32
|
+
} = {}) {
|
|
33
|
+
return createMagicModulePlugin({
|
|
34
|
+
name: '@quilted/magic-module/env',
|
|
35
|
+
module: MAGIC_MODULE_ENV,
|
|
36
|
+
async source() {
|
|
37
|
+
const inlineEnv = {};
|
|
38
|
+
if (mode) {
|
|
39
|
+
inlineEnv.MODE = mode;
|
|
40
|
+
}
|
|
41
|
+
const loadedEnv = await loadEnv.call(this, {
|
|
42
|
+
mode,
|
|
43
|
+
dotenv
|
|
44
|
+
});
|
|
45
|
+
for (const inlineVariable of inline.sort()) {
|
|
46
|
+
if (inlineVariable in inlineEnv) continue;
|
|
47
|
+
const value = process.env[inlineVariable] ?? loadedEnv[inlineVariable];
|
|
48
|
+
if (value == null) continue;
|
|
49
|
+
inlineEnv[inlineVariable] = typeof value === 'string' && value[0] === '"' && value[value.length - 1] === '"' ? JSON.parse(value) : value;
|
|
50
|
+
}
|
|
51
|
+
return multiline`
|
|
52
|
+
const runtime = (${runtime});
|
|
53
|
+
const inline = JSON.parse(${JSON.stringify(JSON.stringify(inlineEnv))});
|
|
54
|
+
|
|
55
|
+
const Env = new Proxy(
|
|
56
|
+
{},
|
|
57
|
+
{
|
|
58
|
+
get(_, property) {
|
|
59
|
+
return runtime[property] ?? inline[property];
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
export default Env;
|
|
65
|
+
`;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Inspired by https://github.com/vitejs/vite/blob/e0a4d810598d1834933ed437ac5a2168cbbbf2f8/packages/vite/source/node/config.ts#L1050-L1113
|
|
71
|
+
async function loadEnv({
|
|
72
|
+
mode,
|
|
73
|
+
dotenv
|
|
74
|
+
}) {
|
|
75
|
+
const env = {
|
|
76
|
+
...process.env
|
|
77
|
+
};
|
|
78
|
+
if (dotenv !== false) {
|
|
79
|
+
const {
|
|
80
|
+
parse
|
|
81
|
+
} = await import('dotenv');
|
|
82
|
+
let files = dotenv.files;
|
|
83
|
+
if (files == null) {
|
|
84
|
+
const testFiles = [
|
|
85
|
+
// default file
|
|
86
|
+
`.env`,
|
|
87
|
+
// local file
|
|
88
|
+
`.env.local`];
|
|
89
|
+
if (mode) {
|
|
90
|
+
testFiles.push(
|
|
91
|
+
// mode file
|
|
92
|
+
`.env.${mode}`,
|
|
93
|
+
// mode local file
|
|
94
|
+
`.env.${mode}.local`);
|
|
95
|
+
}
|
|
96
|
+
files = testFiles.flatMap(file => (dotenv.roots ?? ['.', 'configuration']).map(root => path.resolve(root, file)));
|
|
97
|
+
}
|
|
98
|
+
const envFileResults = await Promise.all(files.map(async file => {
|
|
99
|
+
if (fs.existsSync(file)) {
|
|
100
|
+
this.addWatchFile(file);
|
|
101
|
+
return parse(await fs.promises.readFile(file, 'utf-8'));
|
|
102
|
+
}
|
|
103
|
+
}));
|
|
104
|
+
for (const envFileResult of envFileResults) {
|
|
105
|
+
if (envFileResult == null) continue;
|
|
106
|
+
Object.assign(env, envFileResult);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return env;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export { magicModuleEnv, replaceProcessEnv };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { magicModuleEnv } from './env.esnext';
|
|
2
|
+
export { magicModuleAppBrowserEntry, magicModuleAppComponent, magicModuleAppRequestRouter, quiltApp, quiltAppBrowser, quiltAppServer } from './app.esnext';
|
|
3
|
+
export { magicModuleRequestRouterEntry } from './request-router.esnext';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER } from './constants.esnext';
|
|
2
|
+
import { createMagicModulePlugin } from './shared/magic-module.esnext';
|
|
3
|
+
import { multiline } from './shared/strings.esnext';
|
|
4
|
+
|
|
5
|
+
function magicModuleRequestRouterEntry({
|
|
6
|
+
host,
|
|
7
|
+
port
|
|
8
|
+
} = {}) {
|
|
9
|
+
return createMagicModulePlugin({
|
|
10
|
+
name: '@quilted/request-router',
|
|
11
|
+
sideEffects: true,
|
|
12
|
+
module: MAGIC_MODULE_ENTRY,
|
|
13
|
+
async source() {
|
|
14
|
+
const initialContent = multiline`
|
|
15
|
+
import requestRouter from ${JSON.stringify(MAGIC_MODULE_REQUEST_ROUTER)};
|
|
16
|
+
|
|
17
|
+
import {createHttpServer} from '@quilted/quilt/request-router/node';
|
|
18
|
+
|
|
19
|
+
const port = ${port ?? 'Number.parseInt(process.env.PORT, 10)'};
|
|
20
|
+
const host = ${host ? JSON.stringify(host) : 'process.env.HOST'};
|
|
21
|
+
|
|
22
|
+
createHttpServer(requestRouter).listen(port, host);
|
|
23
|
+
`;
|
|
24
|
+
return initialContent;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { magicModuleRequestRouterEntry };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const VIRTUAL_MODULE_PREFIX = '\0';
|
|
2
|
+
const VIRTUAL_MODULE_POSTFIX = '/module.js';
|
|
3
|
+
function createMagicModulePlugin({
|
|
4
|
+
name,
|
|
5
|
+
module,
|
|
6
|
+
alias = `${VIRTUAL_MODULE_PREFIX}${module}${VIRTUAL_MODULE_POSTFIX}`,
|
|
7
|
+
source: getSource,
|
|
8
|
+
sideEffects = false
|
|
9
|
+
}) {
|
|
10
|
+
return {
|
|
11
|
+
name,
|
|
12
|
+
resolveId(id) {
|
|
13
|
+
if (id !== module) return null;
|
|
14
|
+
return {
|
|
15
|
+
id: alias,
|
|
16
|
+
moduleSideEffects: sideEffects ? 'no-treeshake' : undefined
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
load: getSource ? async function load(source) {
|
|
20
|
+
if (source !== alias) return null;
|
|
21
|
+
const code = await getSource.call(this);
|
|
22
|
+
return {
|
|
23
|
+
code,
|
|
24
|
+
moduleSideEffects: sideEffects ? 'no-treeshake' : undefined
|
|
25
|
+
};
|
|
26
|
+
} : undefined
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { createMagicModulePlugin };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import replace from '@rollup/plugin-replace';
|
|
2
|
+
|
|
3
|
+
function smartReplace(values, options) {
|
|
4
|
+
return replace({
|
|
5
|
+
// @see https://github.com/vitejs/vite/blob/2b1ffe86328f9d06ef9528ee117b61889893ddcc/packages/vite/src/node/plugins/define.ts#L108-L119
|
|
6
|
+
delimiters: ['(?<![\\p{L}\\p{N}_$]|(?<!\\.\\.)\\.)(', ')(?:(?<=\\.)|(?![\\p{L}\\p{N}_$]|\\s*?=[^=]))'],
|
|
7
|
+
preventAssignment: true,
|
|
8
|
+
...options,
|
|
9
|
+
values
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { smartReplace };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function multiline(strings, ...values) {
|
|
2
|
+
let result = strings.reduce((combined, string, index) => `${combined}${string}${values[index] ?? ''}`, '');
|
|
3
|
+
|
|
4
|
+
// Inspired by https://github.com/zspecza/common-tags/blob/master/src/stripIndentTransformer/stripIndentTransformer.js#L8
|
|
5
|
+
const match = result.match(/^[^\S\n]*(?=\S)/gm);
|
|
6
|
+
const indent = match && Math.min(...match.map(indent => indent.length));
|
|
7
|
+
if (indent) {
|
|
8
|
+
const regexp = new RegExp(`^.{${indent}}`, 'gm');
|
|
9
|
+
result = result.replace(regexp, '');
|
|
10
|
+
}
|
|
11
|
+
return result.trim();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { multiline };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../typescript/definitions/assets.d.ts","../../typescript/definitions/styles.d.ts","../../../node_modules/.pnpm/rollup@4.0.2/node_modules/rollup/dist/rollup.d.ts","../source/constants.ts","../source/shared/strings.ts","../../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@rollup+pluginutils@5.0.2_rollup@4.0.2/node_modules/@rollup/pluginutils/types/index.d.ts","../../../node_modules/.pnpm/@rollup+plugin-replace@5.0.1_rollup@4.0.2/node_modules/@rollup/plugin-replace/types/index.d.ts","../source/shared/rollup.ts","../source/shared/magic-module.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.17.0/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/dotenv@16.0.1/node_modules/dotenv/lib/main.d.ts","../source/env.ts","../source/request-router.ts","../source/app.ts","../source/index.ts","../../../node_modules/.pnpm/@types+common-tags@1.8.1/node_modules/@types/common-tags/index.d.ts","../../../node_modules/.pnpm/@types+prettier@2.7.0/node_modules/@types/prettier/index.d.ts","../../../node_modules/.pnpm/@types+react@18.0.26/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.1.0/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+prop-types@15.7.5/node_modules/@types/prop-types/index.d.ts","../../../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/.pnpm/@types+react@18.0.26/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@18.0.10/node_modules/@types/react-dom/index.d.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"65be38e881453e16f128a12a8d36f8b012aa279381bf3d4dc4332a4905ceec83","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"e1913f656c156a9e4245aa111fbb436d357d9e1fe0379b9a802da7fe3f03d736","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7e9f54acdee22b52308c4040b668e6f3d83c6795469802a10c7685151f8f137f","e578fd01e69fb19a5b4ad95f193128ef0a142ead8b61d9149cd767762f0cf27d","7887c5db11992146758f4575c190aff3c1543e13668a6bc85501b80bd8d17941",{"version":"47e4c1f5f5da0dcf054a083706251336d39aaf71032724ec0d9b011e2a3bc8ef","signature":"83cea833eba6e32d45a9d7276a0e1453bc324a0f52fad7513b3b16cf5ed83562"},{"version":"c5e81a5697261a95e15f62bae1f51885a5ca92a82e021ceb91a7ca5a36d9a853","signature":"7081d17cda224798270e87549969d8d30fd1d06efc4432eb7358b9180cda5694"},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","3d464526989c71e46db37e5c4cf2d0f467fb10e019081a1dbdaa8578c6152f8c","31781e03f628a5119baa82cfc7086bd247805b5c31159eb35ebeb350959408ce",{"version":"e83b60447cc26308cee4d3ce4aafce8ae13c0baead9da42e48a622fdef51489b","signature":"be61c814872f6d9fcd23456d18a81c35cc727d8062d8fc99047a22046039ca1b"},{"version":"cd129ed4b6ce8bc2fa5758741877aecf9f2b87047fd97454f3a51d20ee556502","signature":"6ff94a6374dc07210be116c980b9c5cf036823943d1605df3593044449b17181"},"ba8691cf6bea9d53e6bf6cbc22af964a9633a21793981a1be3dce65e7a714d8b","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"7c387a02bf156d8d45667134d32518ac3ca1b99ca50ca9deff2c1a03eb6d1a81","affectsGlobalScope":true},"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","f993522fd7d01ae1ead930091fe35130b8415720d6c2123dc2a7e8eb11bb3cba",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","b787b5b54349a24f07d089b612a9fb8ff024dbbe991ff52ea2b188a6b1230644","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","df6d4b6ba1e64f682091862faa30104e93891f9e7202d006bf5e7a88ab4a0dbe","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"c2fcbd6fad600e96fee8c5df1a62e908d477f5b47a9374b2bab7e74f52cfcc92","affectsGlobalScope":true},"5e3f2470ce8038c4005ff1baff18a69848383f431d6817d453e70d66e037f4a2","cc68e79b99f80e4dfd01967ec96be69efb0ff5bd7f779d9a2cc09dfe590ffd28","91d3d8f536f22dcaeeace0fc6f3544d3562e266a27cf3a2fe280b8051af5d006","9503113febdd737095465792cc074d541902c82c0aea3922f940de18784812ad","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","b28adf3fee5d3caf55b45bcbb01ade346059359239e21e774b224fb535b09d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda",{"version":"d9b4afd96c3c0ff70e90d05ef022e582b102e665e9029d34940472dc3058360e","affectsGlobalScope":true},{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"22d7b95cb63dead43834ae20ee492c9c8b6d90db3957d21665199f0efb1d3e26","affectsGlobalScope":true},{"version":"a9fc1469744055a3435f203123246b96c094e7ff8c4e1c3863829d9b705b7a34","affectsGlobalScope":true},"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"d5be4343a9ace4611f04a6fffd91ceba91265fa15bfb0149306e0a6963e1a015","cfdd927a5eae7a7e623b9745722ef3f2b7a2997fddc5d32b7e3dcaeeb15ff4a3",{"version":"b3c857508957e9bf7f48b8a2e0faf8417069d1a09215404a8be9733ad78e2b2c","signature":"61ba65603e3ee879766f4b929d158bb66adc1fcffb6db179d199f81b0b1cd7c4"},{"version":"c09e3928b77eb3edfa6624d61e879b0d731ccbc4712c59a7a0b9a2daa98708ac","signature":"c580e36cf009d7a05416f1919c0f2a8617d749ca088d4773de642ca2008a71c4"},{"version":"34f3a8f897ec0bdcf9d7a2051f607f1fb17e8ac794d14b52ed984da41367c8e3","signature":"3f67ad1627396a04202a14c13656b461c7b72b2e5278b73825be29e2f396fa4d"},{"version":"62cc1967f3b621a15e9dcbb1311d55dca8626c804b274f3ea66070cded35117f","signature":"fc01ae60aa7d9e1427fb7d79df613f99ffc6b30d1749cffd4316b2a710b904a2"},"c5590caef278ad8ba2532ec93e29a32ac354dfb333277348acce18512891d3b2","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ba7617784f6b9aeac5e20c5eea869bbc3ef31b905f59c796b0fd401dae17c111","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"ef8a481f9f2205fcc287eef2b4e461d2fc16bc8a0e49a844681f2f742d69747e","affectsGlobalScope":true},"e4dd91dd4789a109aab51d8a0569a282369fcda9ba6f2b2297bc61bacfb1a042"],"root":[66,67,69,70,74,75,[131,134]],"options":{"allowImportingTsExtensions":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":1,"module":99,"noEmitOnError":false,"noImplicitAny":true,"noImplicitReturns":false,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./typescript","rootDir":"../source","skipLibCheck":true,"sourceMap":false,"strict":true,"target":99},"fileIdsList":[[68,72,122],[71,122],[122],[76,122],[79,122],[80,85,113,122],[81,92,93,100,110,121,122],[81,82,92,100,122],[83,122],[84,85,93,101,122],[85,110,118,122],[86,88,92,100,122],[87,122],[88,89,122],[92,122],[90,92,122],[92,93,94,110,121,122],[92,93,94,107,110,113,122],[122,126],[88,92,95,100,110,121,122],[92,93,95,96,100,110,118,121,122],[95,97,110,118,121,122],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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],[92,98,122],[99,121,122],[88,92,100,110,122],[101,122],[102,122],[79,103,122],[104,120,122,126],[105,122],[106,122],[92,107,108,122],[107,109,122,124],[80,92,110,111,112,113,122],[80,110,112,122],[110,111,122],[113,122],[114,122],[110,122],[92,116,117,122],[116,117,122],[85,100,110,118,122],[119,122],[100,120,122],[80,95,106,121,122],[85,122],[110,122,123],[122,124],[122,125],[80,85,92,94,103,110,121,122,124,126],[110,122,127],[122,141],[122,137,138,139,140],[122,129],[68,69,70,75,122,131,132],[68,69,70,74,75,93,102,122,130],[122,131,132,133],[69,70,75,122],[68,122],[68,73,122],[68,131],[68],[131,132,133],[68,73]],"referencedMap":[[73,1],[72,2],[135,3],[71,3],[76,4],[77,4],[79,5],[80,6],[81,7],[82,8],[83,9],[84,10],[85,11],[86,12],[87,13],[88,14],[89,14],[91,15],[90,16],[92,15],[93,17],[94,18],[78,19],[128,3],[95,20],[96,21],[97,22],[129,23],[98,24],[99,25],[100,26],[101,27],[102,28],[103,29],[104,30],[105,31],[106,32],[107,33],[108,33],[109,34],[110,35],[112,36],[111,37],[113,38],[114,39],[115,40],[116,41],[117,42],[118,43],[119,44],[120,45],[121,46],[122,47],[123,48],[124,49],[125,50],[126,51],[127,52],[136,3],[139,3],[142,53],[137,3],[141,54],[140,3],[138,3],[130,55],[68,3],[64,3],[65,3],[12,3],[13,3],[15,3],[14,3],[2,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[3,3],[4,3],[24,3],[28,3],[25,3],[26,3],[27,3],[29,3],[30,3],[31,3],[5,3],[32,3],[33,3],[34,3],[35,3],[6,3],[39,3],[36,3],[37,3],[38,3],[40,3],[7,3],[41,3],[46,3],[47,3],[42,3],[43,3],[44,3],[45,3],[8,3],[51,3],[48,3],[49,3],[50,3],[52,3],[9,3],[53,3],[54,3],[55,3],[58,3],[56,3],[57,3],[59,3],[60,3],[10,3],[1,3],[11,3],[63,3],[62,3],[61,3],[133,56],[69,3],[131,57],[134,58],[132,59],[75,60],[74,61],[70,3],[66,3],[67,3]],"exportedModulesMap":[[73,1],[72,2],[135,3],[71,3],[76,4],[77,4],[79,5],[80,6],[81,7],[82,8],[83,9],[84,10],[85,11],[86,12],[87,13],[88,14],[89,14],[91,15],[90,16],[92,15],[93,17],[94,18],[78,19],[128,3],[95,20],[96,21],[97,22],[129,23],[98,24],[99,25],[100,26],[101,27],[102,28],[103,29],[104,30],[105,31],[106,32],[107,33],[108,33],[109,34],[110,35],[112,36],[111,37],[113,38],[114,39],[115,40],[116,41],[117,42],[118,43],[119,44],[120,45],[121,46],[122,47],[123,48],[124,49],[125,50],[126,51],[127,52],[136,3],[139,3],[142,53],[137,3],[141,54],[140,3],[138,3],[130,55],[68,3],[64,3],[65,3],[12,3],[13,3],[15,3],[14,3],[2,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[3,3],[4,3],[24,3],[28,3],[25,3],[26,3],[27,3],[29,3],[30,3],[31,3],[5,3],[32,3],[33,3],[34,3],[35,3],[6,3],[39,3],[36,3],[37,3],[38,3],[40,3],[7,3],[41,3],[46,3],[47,3],[42,3],[43,3],[44,3],[45,3],[8,3],[51,3],[48,3],[49,3],[50,3],[52,3],[9,3],[53,3],[54,3],[55,3],[58,3],[56,3],[57,3],[59,3],[60,3],[10,3],[1,3],[11,3],[63,3],[62,3],[61,3],[133,62],[131,63],[134,64],[132,63],[75,63],[74,65],[66,3],[67,3]],"semanticDiagnosticsPerFile":[73,72,135,71,76,77,79,80,81,82,83,84,85,86,87,88,89,91,90,92,93,94,78,128,95,96,97,129,98,99,100,101,102,103,104,105,106,107,108,109,110,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,136,139,142,137,141,140,138,130,68,64,65,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,11,63,62,61,133,69,131,134,132,75,74,70,66,67],"latestChangedDtsFile":"./typescript/app.d.ts"},"version":"5.2.2"}
|