@kitajs/ts-html-plugin 1.0.2 → 1.1.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/README.md CHANGED
@@ -1,55 +1,63 @@
1
- <br />
1
+ <p align="center">
2
+ <b>Using this package?</b> Please consider <a href="https://github.com/sponsors/arthurfiorette" target="_blank">donating</a> to support my open source work ❤️
3
+ <br />
4
+ <sup>
5
+ Help @kitajs/ts-html-plugin grow! Star and share this amazing repository with your friends and co-workers!
6
+ </sup>
7
+ </p>
2
8
 
3
- [![Issues](https://img.shields.io/github/issues/kitajs/ts-html-plugin?logo=github&label=Issues)](https://github.com/kitajs/ts-html-plugin/issues)
4
- [![Stars](https://img.shields.io/github/stars/kitajs/ts-html-plugin?logo=github&label=Stars)](https://github.com/kitajs/ts-html-plugin/stargazers)
5
- [![License](https://img.shields.io/github/license/kitajs/ts-html-plugin?logo=githu&label=License)](https://github.com/kitajs/ts-html-plugin/blob/master/LICENSE)
6
- [![Speed Blazing](https://img.shields.io/badge/speed-blazing%20%F0%9F%94%A5-brightgreen.svg)](https://twitter.com/acdlite/status/974390255393505280)
9
+ <br />
7
10
 
8
- [![Latest Version](https://img.shields.io/npm/v/@kitajs/ts-html-plugin)](https://www.npmjs.com/package/@kitajs/ts-html-plugin)
9
- [![Downloads](https://img.shields.io/npm/dw/@kitajs/ts-html-plugin)](https://www.npmjs.com/package/@kitajs/ts-html-plugin)
10
- [![JsDelivr](https://data.jsdelivr.com/v1/package/npm/@kitajs/ts-html-plugin/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@kitajs/ts-html-plugin)
11
- [![Bundlephobia](https://img.shields.io/bundlephobia/minzip/@kitajs/ts-html-plugin/latest?style=flat)](https://bundlephobia.com/package/@kitajs/ts-html-plugin@latest)
12
- [![Packagephobia](https://packagephobia.com/badge?p=@kitajs/ts-html-plugin@latest)](https://packagephobia.com/result?p=@kitajs/ts-html-plugin@latest)
11
+ <p align="center" >
12
+ <a href="https://kita.js.org" target="_blank" rel="noopener noreferrer">
13
+ <img src="https://kita.js.org/logo.png" width="180" alt="Kita JS logo" />
14
+ </a>
15
+ </p>
13
16
 
14
17
  <br />
15
18
 
16
19
  <div align="center">
17
- <pre>
18
- <h1>🏛️<br />KitaJS Html TS Plugin</h1>
19
- </pre>
20
- <br />
20
+ <a title="MIT license" target="_blank" href="https://github.com/kitajs/ts-html-plugin/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/kitajs/ts-html-plugin"></a>
21
+ <a title="NPM Package" target="_blank" href="https://www.npmjs.com/package/@kitajs/ts-html-plugin"><img alt="Downloads" src="https://img.shields.io/npm/dw/@kitajs/ts-html-plugin?style=flat"></a>
22
+ <a title="Bundle size" target="_blank" href="https://bundlephobia.com/package/@kitajs/ts-html-plugin@latest"><img alt="Bundlephobia" src="https://img.shields.io/bundlephobia/minzip/@kitajs/ts-html-plugin/latest?style=flat"></a>
23
+ <a title="Last Commit" target="_blank" href="https://github.com/kitajs/ts-html-plugin/commits/master"><img alt="Last commit" src="https://img.shields.io/github/last-commit/kitajs/ts-html-plugin"></a>
24
+ <a href="https://github.com/kitajs/ts-html-plugin/stargazers"><img src="https://img.shields.io/github/stars/kitajs/ts-html-plugin?logo=github&label=Stars" alt="Stars"></a>
21
25
  </div>
22
26
 
23
- <h3 align="center">
24
- <code>@kitajs/ts-html-plugin</code> provides a Typescript LSP plugin to catch XSS vulnerabilities.
27
+ <br />
28
+ <br />
29
+
30
+ <h1>🏛️ KitaJS TypeScript Html Plugin</h1>
31
+
32
+ <p align="center">
33
+ <code>@kitajs/ts-html-plugin</code> is a CLI tool & TypeScript LSP for finding XSS vulnerabilities in your TypeScript code.
25
34
  <br />
26
35
  <br />
27
- </h3>
36
+ </p>
28
37
 
29
38
  <br />
30
39
 
31
- ## Table of Contents
32
-
33
- - [Table of Contents](#table-of-contents)
34
40
  - [Installing](#installing)
35
41
  - [Getting Started](#getting-started)
36
- - [JSX](#jsx)
42
+ - [Running as CLI](#running-as-cli)
37
43
  - [Vscode](#vscode)
44
+ - [JSX](#jsx)
38
45
 
46
+ <br />
39
47
  <br />
40
48
 
41
49
  ## Installing
42
50
 
43
51
  ```sh
44
- npm install @kitajs/html @kitajs/ts-html-plugin # or yarn add @kitajs/html @kitajs/ts-html-plugin
52
+ npm install @kitajs/ts-html-plugin
45
53
  ```
46
54
 
47
55
  <br />
48
56
 
49
57
  ## Getting Started
50
58
 
51
- Install `@kitajs/ts-html-plugin` alongside with `@kitajs/html` with your favorite package
52
- manager, and put this inside your `tsconfig.json`.
59
+ Install `@kitajs/ts-html-plugin` alongside with `@kitajs/ts-html-plugin` with your
60
+ favorite package manager, and put this inside your `tsconfig.json`.
53
61
 
54
62
  ```jsonc
55
63
  // tsconfig.json
@@ -66,10 +74,41 @@ manager, and put this inside your `tsconfig.json`.
66
74
 
67
75
  <br />
68
76
 
69
- ## JSX
77
+ ## Running as CLI
70
78
 
71
- For JSX support, please go to [kitajs/html](https://github.com/kitajs/html) for more
72
- information.
79
+ You can also run this project as a CLI tool. Which is a great way to ensue project-wide
80
+ security. Also it's a great way to integrate with your CI/CD pipeline.
81
+
82
+ ```sh
83
+ npm install -g @kitajs/ts-html-plugin
84
+ ```
85
+
86
+ ```sh
87
+ ts-html-plugin v1.1.0 - A CLI tool & TypeScript LSP for finding XSS vulnerabilities in your TypeScript code.
88
+
89
+ Usage: xss-scan [options]
90
+ ts-html-plugin [options]
91
+
92
+ Options:
93
+ --cwd <path> The current working directory to use (defaults to process.cwd())
94
+ --project <path> The path to the tsconfig.json file to use (defaults to 'tsconfig.json')
95
+ --help Show this help message
96
+ --version Show the version number
97
+ <file> <file>... The files to check (defaults to all files in tsconfig.json)
98
+
99
+ Examples:
100
+ $ xss-scan
101
+ $ xss-scan --cwd src
102
+ $ xss-scan --project tsconfig.build.json
103
+ $ xss-scan src/index.tsx src/App.tsx
104
+
105
+ Exit codes:
106
+ 0 - No XSS vulnerabilities were found
107
+ 1 - XSS vulnerabilities were found
108
+ 2 - Only XSS warnings were found
109
+ ```
110
+
111
+ <br />
73
112
 
74
113
  ## Vscode
75
114
 
@@ -85,3 +124,10 @@ current project's typescript version.
85
124
  ```
86
125
 
87
126
  <br />
127
+
128
+ ## JSX
129
+
130
+ For JSX support, please go to
131
+ [kitajs/ts-html-plugin](https://github.com/kitajs/ts-html-plugin) for more information.
132
+
133
+ <br />
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,188 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const fs_1 = tslib_1.__importDefault(require("fs"));
7
+ const path_1 = tslib_1.__importDefault(require("path"));
8
+ const typescript_1 = tslib_1.__importDefault(require("typescript"));
9
+ const yargs_1 = tslib_1.__importDefault(require("yargs"));
10
+ const helpers_1 = require("yargs/helpers");
11
+ const util_1 = require("./util");
12
+ const { version } = require('../package.json');
13
+ const help = `
14
+
15
+ ts-html-plugin v${version} - A CLI tool & TypeScript LSP for finding XSS vulnerabilities in your TypeScript code.
16
+
17
+ Usage: xss-scan [options] <file> <file>...
18
+ ts-html-plugin [options] <file> <file>...
19
+
20
+ Options:
21
+ --cwd <path> The current working directory to use (defaults to process.cwd())
22
+ -p, --project <path> The path to the tsconfig.json file to use (defaults to 'tsconfig.json')
23
+ -h, --help Show this help message
24
+ --version Show the version number
25
+ <file> <file>... The files to check (defaults to all files in tsconfig.json)
26
+
27
+ Examples:
28
+ $ xss-scan
29
+ $ xss-scan --cwd src
30
+ $ xss-scan --project tsconfig.build.json
31
+ $ xss-scan src/index.tsx src/App.tsx
32
+
33
+ Exit codes:
34
+ 0 - No XSS vulnerabilities were found
35
+ 1 - XSS vulnerabilities were found
36
+ 2 - Only XSS warnings were found
37
+ `.trim();
38
+ function readCompilerOptions(tsconfigPath) {
39
+ const { config, error } = typescript_1.default.readConfigFile(tsconfigPath, typescript_1.default.sys.readFile);
40
+ if (error) {
41
+ throw error;
42
+ }
43
+ const { options, errors, fileNames } = typescript_1.default.parseJsonConfigFileContent(config, typescript_1.default.sys, path_1.default.dirname(tsconfigPath), undefined, tsconfigPath);
44
+ if (errors.length) {
45
+ return { errors };
46
+ }
47
+ return { options, fileNames, errors: undefined };
48
+ }
49
+ function prettyPrintDiagnostics(diagnostics, root) {
50
+ // Prints an error message in the same way as tsc does
51
+ for (const diagnostic of diagnostics) {
52
+ const message = typescript_1.default.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
53
+ if (!diagnostic.file) {
54
+ console.error(diagnostic);
55
+ continue;
56
+ }
57
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
58
+ let error = '';
59
+ error += chalk_1.default.cyan(path_1.default.relative(root, diagnostic.file.fileName));
60
+ error += ':';
61
+ error += chalk_1.default.yellow(line + 1);
62
+ error += ':';
63
+ error += chalk_1.default.yellow(character + 1);
64
+ error += ' - ';
65
+ error += chalk_1.default.red('error');
66
+ error += ' ';
67
+ error += chalk_1.default.grey(`TS${diagnostic.code}:`);
68
+ error += ' ';
69
+ error += message;
70
+ error += '\n\n';
71
+ error += chalk_1.default.bgWhite.black(line + 1);
72
+ error += ' ';
73
+ error += diagnostic.file.text.split('\n')[line];
74
+ error += '\n';
75
+ error += chalk_1.default.bgWhite.black(' '.repeat((line + 1).toString().length));
76
+ error += ' '.repeat(character + 1);
77
+ error += chalk_1.default.red('~'.repeat(diagnostic.length));
78
+ error += '\n';
79
+ console.error(error);
80
+ }
81
+ }
82
+ function prettyPrintErrorCount(diagnostics, root) {
83
+ const files = new Map();
84
+ // Counts the amount of errors per file
85
+ for (const diagnostic of diagnostics) {
86
+ if (!diagnostic.file) {
87
+ continue;
88
+ }
89
+ const file = files.get(diagnostic.file.fileName);
90
+ if (file !== undefined) {
91
+ files.set(diagnostic.file.fileName, file + 1);
92
+ continue;
93
+ }
94
+ files.set(diagnostic.file.fileName, 1);
95
+ }
96
+ if (files.size > 1) {
97
+ console.error(chalk_1.default.red(`Found a total of ${diagnostics.length} errors in ${files.size} files\n`));
98
+ }
99
+ for (const [file, amount] of files.entries()) {
100
+ console.error(chalk_1.default.red(`Found ${amount} error${amount === 1 ? '' : 's'} in ${path_1.default.relative(root, file)}`));
101
+ }
102
+ }
103
+ function fileExists(p) {
104
+ try {
105
+ fs_1.default.statSync(p);
106
+ return true;
107
+ }
108
+ catch {
109
+ return false;
110
+ }
111
+ }
112
+ async function main() {
113
+ const args = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).help(false).argv;
114
+ if (args.help || args.h) {
115
+ console.log(help);
116
+ return process.exit(0);
117
+ }
118
+ // Detects unknown arguments
119
+ for (const key in args) {
120
+ if (key === '_' || key === '$0') {
121
+ continue;
122
+ }
123
+ switch (key) {
124
+ case 'cwd':
125
+ case 'project':
126
+ case 'p':
127
+ continue;
128
+ default:
129
+ console.error(`Unknown argument: ${key}. Run --help for more information.`);
130
+ return process.exit(1);
131
+ }
132
+ }
133
+ const root = args.cwd ? String(args.cwd) : process.cwd();
134
+ const tsconfigPath = String(args.project || args.p || 'tsconfig.json');
135
+ if (!fileExists(tsconfigPath)) {
136
+ console.error(`Could not find ${tsconfigPath}`);
137
+ return process.exit(1);
138
+ }
139
+ const tsconfig = readCompilerOptions(tsconfigPath);
140
+ if (tsconfig.errors) {
141
+ prettyPrintDiagnostics(tsconfig.errors, root);
142
+ return process.exit(1);
143
+ }
144
+ let files = tsconfig.fileNames;
145
+ if (args._.length) {
146
+ // Prefer the files passed as arguments, otherwise use the files in tsconfig.json
147
+ files = [];
148
+ for (let i = 0; i < args._.length; i++) {
149
+ let file = String(args._[i]);
150
+ if (!fileExists(file)) {
151
+ console.error(chalk_1.default.red(`Could not find provided '${file}' file.`));
152
+ return process.exit(1);
153
+ }
154
+ if (!file.match(/(t|j)sx$/)) {
155
+ console.warn(chalk_1.default.yellow(`Provided '${file}' file is not a TSX/JSX file.`));
156
+ continue;
157
+ }
158
+ files.push(file);
159
+ }
160
+ }
161
+ const program = typescript_1.default.createProgram(files, tsconfig.options);
162
+ const typeChecker = program.getTypeChecker();
163
+ const sources = program.getSourceFiles();
164
+ const diagnostics = [];
165
+ for (const source of sources) {
166
+ const filename = source.fileName;
167
+ // Not a tsx file, so don't do anything
168
+ if (!filename.match(/(t|j)sx$/)) {
169
+ continue;
170
+ }
171
+ typescript_1.default.forEachChild(source, function loopSourceNodes(node) {
172
+ (0, util_1.recursiveDiagnoseJsxElements)(typescript_1.default, node, typeChecker, diagnostics);
173
+ });
174
+ }
175
+ console.log();
176
+ if (diagnostics.length) {
177
+ const exitCode = diagnostics.some((diagnostic) => diagnostic.category === typescript_1.default.DiagnosticCategory.Error)
178
+ ? 1
179
+ : 2;
180
+ prettyPrintDiagnostics(diagnostics, root);
181
+ prettyPrintErrorCount(diagnostics, root);
182
+ process.exit(exitCode);
183
+ }
184
+ console.log(chalk_1.default.green(`No XSS vulnerabilities found in ${files.length} files!`));
185
+ process.exit(0);
186
+ }
187
+ main().catch(console.error);
188
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +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.webworker.importscripts.d.ts","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.scripthost.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","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.full.d.ts","../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.d.ts","../src/errors.ts","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/tsserverlibrary.d.ts","../src/util.ts","../src/index.ts","../node_modules/.pnpm/prettier@3.0.3/node_modules/prettier/doc.d.ts","../node_modules/.pnpm/prettier@3.0.3/node_modules/prettier/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":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","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},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900",{"version":"602ab005a565f7ce744b802dc17f9e647ff81f2525abe4bceda23aac39f1d2aa","signature":"3c60a0a2ef2735b1ba5bd211eb778164d371bb23ba0173cdd94fe109da52a6c0"},"f9c2563439fc156b5d08d92ba998db0cd1302e65f8bb29a21eae42f97ff4ee6c",{"version":"6479817b1a16ebad73c1cd4a5c70cce28e30e30b2e3398159589e46c25461d70","signature":"55094ec7a9f5e027d347658f2ec090e2bd6dc1750b104631cae739954054ae3a"},{"version":"785acb56136645f5114f8eab2b36114ab338514e0254b39b06a2bf391e7146ad","signature":"15f327a31a2696c9ceaa67e73ba0d4c55bee1728196299ecc5150b2e6d11b76d"},"2f848b4e660b568651a6350565afc8ac5b0644853a2a863862807602cf244a05","87c316128d18c34881619a529fe0446125405fa073f1a9e533a8f66f66b6b340"],"root":[70,72,73],"options":{"alwaysStrict":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"jsx":2,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipDefaultLibCheck":true,"sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[74],[69],[69,71,72],[69,70,71],[71]],"referencedMap":[[75,1],[70,2],[73,3],[72,4]],"exportedModulesMap":[[75,1],[73,5],[72,5]],"semanticDiagnosticsPerFile":[74,75,69,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,71,70,73,72]},"version":"5.2.2"}
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.webworker.importscripts.d.ts","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.scripthost.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","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.full.d.ts","../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.d.ts","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/typescript.d.ts","../node_modules/.pnpm/@types+yargs-parser@21.0.1/node_modules/@types/yargs-parser/index.d.ts","../node_modules/.pnpm/@types+yargs@17.0.26/node_modules/@types/yargs/index.d.ts","../node_modules/.pnpm/@types+yargs@17.0.26/node_modules/@types/yargs/helpers.d.ts","../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/tsserverlibrary.d.ts","../src/errors.ts","../src/util.ts","../src/cli.ts","../src/index.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/assert.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/assert/strict.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/globals.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/async_hooks.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/buffer.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/child_process.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/cluster.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/console.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/constants.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/crypto.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/dgram.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/dns.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/dns/promises.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/domain.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/dom-events.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/events.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/fs.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/fs/promises.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/http.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/http2.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/https.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/inspector.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/module.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/net.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/os.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/path.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/process.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/punycode.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/querystring.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/readline.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/readline/promises.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/repl.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/stream.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/stream/promises.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/stream/web.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/string_decoder.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/test.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/timers.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/timers/promises.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/tls.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/trace_events.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/tty.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/url.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/util.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/v8.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/vm.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/wasi.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/worker_threads.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/zlib.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/globals.global.d.ts","../node_modules/.pnpm/@types+node@20.7.1/node_modules/@types/node/index.d.ts","../node_modules/.pnpm/prettier@3.0.3/node_modules/prettier/doc.d.ts","../node_modules/.pnpm/prettier@3.0.3/node_modules/prettier/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":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","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},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","375387db607fc72d59f4e65e3cfd86cbfa636aecf33d9d4c6015fd7d95ca42af","75fa6a9be075402ea969c1fcec4bb1421f72efbc3e2f340032684cdd3115197c","2eae2c50864a720fad05e116a0121a6ee6b6231266763c75d1f3503ddc22714a","4eb2499d385eff0db377104ae091822c4ba889b318b55a764dee8ee323c837ed","f9c2563439fc156b5d08d92ba998db0cd1302e65f8bb29a21eae42f97ff4ee6c",{"version":"602ab005a565f7ce744b802dc17f9e647ff81f2525abe4bceda23aac39f1d2aa","signature":"3c60a0a2ef2735b1ba5bd211eb778164d371bb23ba0173cdd94fe109da52a6c0"},{"version":"6479817b1a16ebad73c1cd4a5c70cce28e30e30b2e3398159589e46c25461d70","signature":"55094ec7a9f5e027d347658f2ec090e2bd6dc1750b104631cae739954054ae3a"},{"version":"61ddde6ad7e0b08c41c2db59311f6149c4086ee17dcf76daf5e0d5827898f929","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"785acb56136645f5114f8eab2b36114ab338514e0254b39b06a2bf391e7146ad","signature":"15f327a31a2696c9ceaa67e73ba0d4c55bee1728196299ecc5150b2e6d11b76d"},"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419",{"version":"32465ea19404cb188e84cf08c6b1f6b12d739140436402cdbc184a3fd20a7d81","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"bb6872f39c58753205c19b9f89e1e07d61116ae5d82539cef0f3bde5e8fecb57","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","3a3b3310118e79c8d394171a87f4dc8fd562337a85e33f9fa9636040a2ec2fde","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"738a0de235edb5caf581c5aa86f5dd48ee28b2d0da1e327cbc57cdabde116bda","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","f4016bf7fd9b760162521f2f18fab4023095795e4fb34496d8c61c59acfd0a56","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","ad8848c289c0b633452e58179f46edccd14b5a0fe90ebce411f79ff040b803e0",{"version":"120285cc97da7b20b0cbf2c557a5db7d215ec17ee688165ac8aff7f8de035b75","affectsGlobalScope":true},"5ca4a9fb7c9ee4f60df6d3bb6460e2c7f3a9cd7b8f7ebae29110fac74de4e50c","42a7993edf3288c33755ec08faefb1a40fd9f5f0844f82e48ae152791e80c76a","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"f49fb15c4aa06b65b0dce4db4584bfd8a9f74644baef1511b404dc95be34af00","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","8258e69a3b0de494ea55eeea7a4d3216ac112c12006c74dfd381c0d5e42a2607","cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"0466fc426b5d684b299855ed3898c30e6ce90cd742730ba5f619075507ea135a","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"290276bcec65d49eb152489c62845b28bed530258751c80d04d167b36b33be72","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"16dcbd7095be9ba030b671ef982dc760e03d40a0f54f27f2a6f1fa00f5670fe7","2f848b4e660b568651a6350565afc8ac5b0644853a2a863862807602cf244a05","87c316128d18c34881619a529fe0446125405fa073f1a9e533a8f66f66b6b340"],"root":[[76,79]],"options":{"alwaysStrict":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"jsx":2,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipDefaultLibCheck":true,"sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[80,126],[83,126],[84,89,117,126],[85,96,97,104,114,125,126],[85,86,96,104,126],[87,126],[88,89,97,105,126],[89,114,122,126],[90,92,96,104,126],[91,126],[92,93,126],[96,126],[94,96,126],[96,97,98,114,125,126],[96,97,98,111,114,117,126],[126,130],[126],[92,96,99,104,114,125,126],[96,97,99,100,104,114,122,125,126],[99,101,114,122,125,126],[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,129,130,131,132],[96,102,126],[103,125,126,130],[92,96,104,114,126],[105,126],[106,126],[83,107,126],[108,124,126,130],[109,126],[110,126],[96,111,112,126],[111,113,126,128],[84,96,114,115,116,117,126],[84,114,116,126],[114,115,126],[117,126],[118,126],[83,114,126],[96,120,121,126],[120,121,126],[89,104,114,122,126],[123,126],[104,124,126],[84,99,110,125,126],[89,126],[114,126,127],[103,126,128],[126,129],[84,89,96,98,107,114,125,126,128,130],[114,126,131],[72,126],[126,134],[69,70,71,73,74,77,97,106,126],[69,126],[69,75,77,126],[69,75,76,126],[75]],"referencedMap":[[80,1],[81,1],[83,2],[84,3],[85,4],[86,5],[87,6],[88,7],[89,8],[90,9],[91,10],[92,11],[93,11],[95,12],[94,13],[96,12],[97,14],[98,15],[82,16],[132,17],[99,18],[100,19],[101,20],[133,21],[102,22],[103,23],[104,24],[105,25],[106,26],[107,27],[108,28],[109,29],[110,30],[111,31],[112,31],[113,32],[114,33],[116,34],[115,35],[117,36],[118,37],[119,38],[120,39],[121,40],[122,41],[123,42],[124,43],[125,44],[126,45],[127,46],[128,47],[129,48],[130,49],[131,50],[72,17],[74,51],[73,51],[70,17],[134,17],[135,52],[69,17],[66,17],[67,17],[12,17],[13,17],[17,17],[16,17],[2,17],[18,17],[19,17],[20,17],[21,17],[22,17],[23,17],[24,17],[25,17],[3,17],[4,17],[26,17],[30,17],[27,17],[28,17],[29,17],[31,17],[32,17],[33,17],[5,17],[34,17],[35,17],[36,17],[37,17],[6,17],[41,17],[38,17],[39,17],[40,17],[42,17],[7,17],[43,17],[48,17],[49,17],[44,17],[45,17],[46,17],[47,17],[8,17],[53,17],[50,17],[51,17],[52,17],[54,17],[9,17],[55,17],[56,17],[57,17],[60,17],[58,17],[59,17],[61,17],[62,17],[10,17],[1,17],[11,17],[65,17],[64,17],[68,17],[63,17],[15,17],[14,17],[75,17],[71,17],[78,53],[76,54],[79,55],[77,56]],"exportedModulesMap":[[80,1],[81,1],[83,2],[84,3],[85,4],[86,5],[87,6],[88,7],[89,8],[90,9],[91,10],[92,11],[93,11],[95,12],[94,13],[96,12],[97,14],[98,15],[82,16],[132,17],[99,18],[100,19],[101,20],[133,21],[102,22],[103,23],[104,24],[105,25],[106,26],[107,27],[108,28],[109,29],[110,30],[111,31],[112,31],[113,32],[114,33],[116,34],[115,35],[117,36],[118,37],[119,38],[120,39],[121,40],[122,41],[123,42],[124,43],[125,44],[126,45],[127,46],[128,47],[129,48],[130,49],[131,50],[72,17],[74,51],[73,51],[70,17],[134,17],[135,52],[69,17],[66,17],[67,17],[12,17],[13,17],[17,17],[16,17],[2,17],[18,17],[19,17],[20,17],[21,17],[22,17],[23,17],[24,17],[25,17],[3,17],[4,17],[26,17],[30,17],[27,17],[28,17],[29,17],[31,17],[32,17],[33,17],[5,17],[34,17],[35,17],[36,17],[37,17],[6,17],[41,17],[38,17],[39,17],[40,17],[42,17],[7,17],[43,17],[48,17],[49,17],[44,17],[45,17],[46,17],[47,17],[8,17],[53,17],[50,17],[51,17],[52,17],[54,17],[9,17],[55,17],[56,17],[57,17],[60,17],[58,17],[59,17],[61,17],[62,17],[10,17],[1,17],[11,17],[65,17],[64,17],[68,17],[63,17],[15,17],[14,17],[75,17],[71,17],[79,57],[77,57]],"semanticDiagnosticsPerFile":[80,81,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,82,132,99,100,101,133,102,103,104,105,106,107,108,109,110,111,112,113,114,116,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,72,74,73,70,134,135,69,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,75,71,78,76,79,77]},"version":"5.2.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitajs/ts-html-plugin",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Typescript LSP extension to catch XSS vulnerabilities.",
5
5
  "bugs": "https://github.com/kitajs/ts-html-plugin/issues",
6
6
  "repository": "https://github.com/kitajs/ts-html-plugin",
@@ -10,11 +10,19 @@
10
10
  "sideEffects": false,
11
11
  "main": "dist/index.js",
12
12
  "types": "dist/index.d.ts",
13
+ "bin": {
14
+ "ts-html-plugin": "dist/bin.js",
15
+ "xss-scan": "dist/bin.js"
16
+ },
13
17
  "dependencies": {
14
- "tslib": "^2.6.2"
18
+ "chalk": "^4.1.2",
19
+ "tslib": "^2.6.2",
20
+ "yargs": "^17.7.2"
15
21
  },
16
22
  "devDependencies": {
17
23
  "@arthurfiorette/prettier-config": "^1.0.9",
24
+ "@types/node": "^20.7.1",
25
+ "@types/yargs": "^17.0.26",
18
26
  "prettier": "^3.0.3",
19
27
  "self": "file:."
20
28
  },