pascal-vscode 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/better-showers-knock.md +5 -0
  3. package/.changeset/config.json +12 -0
  4. package/.changeset/pre.json +10 -0
  5. package/.editorconfig +15 -0
  6. package/.github/FUNDING.yml +6 -0
  7. package/.github/ISSUE_TEMPLATE/bug_report.yml +47 -0
  8. package/.github/PULL_REQUEST_TEMPLATE.md +5 -0
  9. package/.github/actions/setup-git-commiter/action.yml +49 -0
  10. package/.github/actions/setup-pnpm/action.yml +42 -0
  11. package/.github/issue_labeler.yml +2 -0
  12. package/.github/labeler.yml +9 -0
  13. package/.github/renovate.json5 +48 -0
  14. package/.github/workflows/check_merge.yml +109 -0
  15. package/.github/workflows/cleanup_cache.yml +46 -0
  16. package/.github/workflows/diff_dependencies.yml +26 -0
  17. package/.github/workflows/format.yml +45 -0
  18. package/.github/workflows/label_issue.yml +18 -0
  19. package/.github/workflows/label_pr.yml +16 -0
  20. package/.github/workflows/lint_pr_title.yml +49 -0
  21. package/.github/workflows/release.yml +67 -0
  22. package/.prettierignore +25 -0
  23. package/.vscode/extensions.json +10 -0
  24. package/.vscode/launch.json +25 -0
  25. package/.vscode/settings.json +13 -0
  26. package/.vscode/tasks.json +17 -0
  27. package/.vscodeignore +32 -0
  28. package/CHANGELOG.md +7 -0
  29. package/CODE_OF_CONDUCT.md +65 -0
  30. package/CONTRIBUTING.md +86 -0
  31. package/LICENSE +21 -0
  32. package/README.md +51 -0
  33. package/assets/icon.png +0 -0
  34. package/assets/icon.svg +1 -0
  35. package/assets/preview.png +0 -0
  36. package/biome.jsonc +113 -0
  37. package/dist/browser.js +1 -0
  38. package/dist/extension.js +1 -0
  39. package/eslint.config.js +91 -0
  40. package/package.json +78 -0
  41. package/pnpm-workspace.yaml +4 -0
  42. package/prettier.config.mjs +17 -0
  43. package/scripts/build.js +107 -0
  44. package/src/browser.ts +14 -0
  45. package/src/extension.ts +4 -0
  46. package/themes/default.json +358 -0
  47. package/tsconfig.json +24 -0
@@ -0,0 +1,17 @@
1
+ /** @type {import("prettier").Config} */
2
+ export default {
3
+ printWidth: 100,
4
+ semi: true,
5
+ singleQuote: true,
6
+ tabWidth: 2,
7
+ trailingComma: 'none',
8
+ useTabs: true,
9
+ overrides: [
10
+ {
11
+ files: ['.*', '*.md', '*.toml', '*.yml'],
12
+ options: {
13
+ useTabs: false
14
+ }
15
+ }
16
+ ]
17
+ };
@@ -0,0 +1,107 @@
1
+ import fs from 'node:fs/promises';
2
+ import esbuild from 'esbuild';
3
+ import colors from 'piccolore';
4
+ import { glob } from 'tinyglobby';
5
+
6
+ /** @type {import('esbuild').BuildOptions} */
7
+ const defaultConfig = {
8
+ entryPoints: ['src/extension.ts', 'src/browser.ts'],
9
+ format: 'esm',
10
+ platform: 'node',
11
+ target: 'node20',
12
+ sourcemap: false,
13
+ sourcesContent: false
14
+ };
15
+
16
+ const dt = new Intl.DateTimeFormat('en-us', {
17
+ hour: '2-digit',
18
+ minute: '2-digit'
19
+ });
20
+
21
+ const [...args] = process.argv.slice(2);
22
+
23
+ export default async function build() {
24
+ const config = Object.assign({}, defaultConfig);
25
+ const isDev = args.slice(-1)[0] === 'IS_DEV';
26
+
27
+ const noClean = args.includes('--no-clean-dist');
28
+ const minify = args.includes('--minify');
29
+ const cleanDts = args.includes('--clean-dts');
30
+ const bundle = args.includes('--bundle');
31
+ const forceCJS = args.includes('--force-cjs');
32
+
33
+ const { type = 'module', dependencies = {} } = await readPackageJSON('./package.json');
34
+
35
+ const format = type === 'module' && !forceCJS ? 'esm' : 'cjs';
36
+
37
+ const outdir = 'dist';
38
+
39
+ if (!noClean) {
40
+ await clean(outdir, cleanDts);
41
+ }
42
+
43
+ if (!isDev) {
44
+ await esbuild.build({
45
+ ...config,
46
+ minify,
47
+ bundle,
48
+ external: bundle ? Object.keys(dependencies) : undefined,
49
+ outdir,
50
+ outExtension: forceCJS ? { '.js': '.cjs' } : {},
51
+ format
52
+ });
53
+ return;
54
+ }
55
+
56
+ const rebuildPlugin = {
57
+ name: 'pascal:rebuild',
58
+ setup(build) {
59
+ build.onEnd(async (result) => {
60
+ const date = dt.format(new Date());
61
+ if (result && result.errors.length) {
62
+ console.error(colors.dim(`[${date}] `) + colors.red(error || result.errors.join('\n')));
63
+ } else {
64
+ if (result.warnings.length) {
65
+ console.info(
66
+ colors.dim(`[${date}] `) +
67
+ colors.yellow('! updated with warnings:\n' + result.warnings.join('\n'))
68
+ );
69
+ }
70
+ console.info(colors.dim(`[${date}] `) + colors.green('√ updated'));
71
+ }
72
+ });
73
+ }
74
+ };
75
+
76
+ const builder = await esbuild.context({
77
+ ...config,
78
+ minify,
79
+ outdir,
80
+ format,
81
+ sourcemap: 'linked',
82
+ plugins: [rebuildPlugin]
83
+ });
84
+
85
+ await builder.watch();
86
+
87
+ process.on('beforeExit', () => {
88
+ builder.stop && builder.stop();
89
+ });
90
+ }
91
+
92
+ async function clean(outdir, cleanDts) {
93
+ const files = await glob('**', {
94
+ cwd: outdir,
95
+ dot: true,
96
+ filesOnly: true,
97
+ ignore: cleanDts ? undefined : ['**/*.d.ts'],
98
+ absolute: true
99
+ });
100
+ await Promise.all(files.map((file) => fs.rm(file, { force: true })));
101
+ }
102
+
103
+ async function readPackageJSON(path) {
104
+ return await fs.readFile(path, { encoding: 'utf8' }).then((res) => JSON.parse(res));
105
+ }
106
+
107
+ await build();
package/src/browser.ts ADDED
@@ -0,0 +1,14 @@
1
+ import type { ConfigurationChangeEvent, ExtensionContext } from 'vscode';
2
+ import { window, workspace } from 'vscode';
3
+
4
+ export const activate = (context: ExtensionContext) => {
5
+ context.subscriptions.push(
6
+ workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => {
7
+ if (event.affectsConfiguration('pascal')) {
8
+ window.showErrorMessage(
9
+ "VSCode Web doesn't support advanced Pascal options at the moment."
10
+ );
11
+ }
12
+ })
13
+ );
14
+ };
@@ -0,0 +1,4 @@
1
+ export const activate = async () => {
2
+ // vsce not support PNPM. For now, I can't create a webview
3
+ // Please fix them as quickly as possible: https://github.com/microsoft/vscode-vsce/issues/421
4
+ };
@@ -0,0 +1,358 @@
1
+ {
2
+ "$schema": "vscode://schemas/color-theme",
3
+ "name": "Pascal (Default)",
4
+ "type": "dark",
5
+ "semanticHighlighting": true,
6
+ "semanticTokenColors": {
7
+ "namespace": "#9dd7ff",
8
+ "type": "#a8b1ff",
9
+ "class": "#a8b1ff",
10
+ "enum": "#a8b1ff",
11
+ "interface": "#a8b1ff",
12
+ "struct": "#a8b1ff",
13
+ "typeParameter": "#d8b4fe",
14
+ "parameter": "#f7f7f8",
15
+ "variable": "#f7f7f8",
16
+ "property": "#c6ccff",
17
+ "enumMember": "#f0b36f",
18
+ "function": "#86efac",
19
+ "method": "#86efac",
20
+ "macro": "#86efac",
21
+ "keyword": "#d8b4fe",
22
+ "modifier": "#d8b4fe",
23
+ "comment": "#7b7b86",
24
+ "string": "#9dd7ff",
25
+ "number": "#f0b36f",
26
+ "regexp": "#f472b6",
27
+ "operator": "#a2a2a9",
28
+ "decorator": "#f472b6"
29
+ },
30
+ "tokenColors": [
31
+ {
32
+ "name": "Comments",
33
+ "scope": [
34
+ "comment",
35
+ "punctuation.definition.comment",
36
+ "punctuation.definition.string.comment"
37
+ ],
38
+ "settings": {
39
+ "foreground": "#7b7b86",
40
+ "fontStyle": "italic"
41
+ }
42
+ },
43
+ {
44
+ "name": "Strings",
45
+ "scope": [
46
+ "string",
47
+ "constant.other.symbol",
48
+ "constant.other.key",
49
+ "constant.character.escape",
50
+ "punctuation.definition.string"
51
+ ],
52
+ "settings": {
53
+ "foreground": "#9dd7ff"
54
+ }
55
+ },
56
+ {
57
+ "name": "Keywords and storage",
58
+ "scope": ["keyword", "storage", "storage.type", "storage.modifier"],
59
+ "settings": {
60
+ "foreground": "#d8b4fe"
61
+ }
62
+ },
63
+ {
64
+ "name": "Numbers and constants",
65
+ "scope": ["constant.numeric", "constant.language", "constant.character", "constant"],
66
+ "settings": {
67
+ "foreground": "#f0b36f"
68
+ }
69
+ },
70
+ {
71
+ "name": "Types and constructors",
72
+ "scope": [
73
+ "entity.name.type",
74
+ "entity.name.class",
75
+ "support.class",
76
+ "support.type",
77
+ "meta.type.annotation",
78
+ "meta.type.parameters"
79
+ ],
80
+ "settings": {
81
+ "foreground": "#a8b1ff"
82
+ }
83
+ },
84
+ {
85
+ "name": "Functions and methods",
86
+ "scope": [
87
+ "entity.name.function",
88
+ "support.function",
89
+ "meta.function-call",
90
+ "meta.object-literal.key.entity.name.function"
91
+ ],
92
+ "settings": {
93
+ "foreground": "#86efac"
94
+ }
95
+ },
96
+ {
97
+ "name": "Parameters and variables",
98
+ "scope": ["variable", "meta.definition.variable", "meta.definition.parameters"],
99
+ "settings": {
100
+ "foreground": "#f7f7f8"
101
+ }
102
+ },
103
+ {
104
+ "name": "Properties",
105
+ "scope": [
106
+ "variable.other.property",
107
+ "support.variable.property",
108
+ "meta.property-name",
109
+ "entity.name.tag"
110
+ ],
111
+ "settings": {
112
+ "foreground": "#c6ccff"
113
+ }
114
+ },
115
+ {
116
+ "name": "Operators and punctuation",
117
+ "scope": ["keyword.operator", "punctuation", "meta.brace", "meta.delimiter"],
118
+ "settings": {
119
+ "foreground": "#a2a2a9"
120
+ }
121
+ },
122
+ {
123
+ "name": "Imports",
124
+ "scope": [
125
+ "meta.import",
126
+ "keyword.control.import",
127
+ "keyword.control.from",
128
+ "support.other.namespace"
129
+ ],
130
+ "settings": {
131
+ "foreground": "#9dd7ff"
132
+ }
133
+ },
134
+ {
135
+ "name": "Regex",
136
+ "scope": [
137
+ "string.regexp",
138
+ "constant.other.character-class.regexp",
139
+ "constant.other.escape.regexp"
140
+ ],
141
+ "settings": {
142
+ "foreground": "#f472b6"
143
+ }
144
+ },
145
+ {
146
+ "name": "Invalid",
147
+ "scope": ["invalid", "invalid.illegal"],
148
+ "settings": {
149
+ "foreground": "#ff8080",
150
+ "fontStyle": "underline"
151
+ }
152
+ }
153
+ ],
154
+ "colors": {
155
+ "focusBorder": "#262626",
156
+ "foreground": "#f7f7f8",
157
+ "descriptionForeground": "#a2a2a9",
158
+ "errorForeground": "#ff8080",
159
+ "selection.background": "#3a3a46",
160
+ "textLink.foreground": "#a8b1ff",
161
+ "textLink.activeForeground": "#c6ccff",
162
+ "textPreformat.foreground": "#f7f7f8",
163
+ "textBlockQuote.background": "#17171a",
164
+ "textBlockQuote.border": "#2f2f32",
165
+ "textCodeBlock.background": "#111114",
166
+ "widget.shadow": "#00000080",
167
+ "input.background": "#141414",
168
+ "input.foreground": "#f7f7f8",
169
+ "input.border": "#2f2f32",
170
+ "inputOption.activeBorder": "#a8b1ff",
171
+ "inputValidation.infoBorder": "#6d7cff",
172
+ "inputValidation.warningBorder": "#f0b36f",
173
+ "inputValidation.errorBorder": "#ff8080",
174
+ "dropdown.background": "#141414",
175
+ "dropdown.foreground": "#f7f7f8",
176
+ "dropdown.border": "#2f2f32",
177
+ "button.background": "#a8b1ff",
178
+ "button.foreground": "#1a1a1e",
179
+ "button.hoverBackground": "#c6ccff",
180
+ "button.secondaryBackground": "#262628",
181
+ "button.secondaryForeground": "#f7f7f8",
182
+ "button.secondaryHoverBackground": "#2f2f32",
183
+ "scrollbar.shadow": "#00000066",
184
+ "badge.background": "#2e3040",
185
+ "badge.foreground": "#f7f7f8",
186
+ "progressBar.background": "#a8b1ff",
187
+ "list.activeSelectionBackground": "#222227",
188
+ "list.activeSelectionForeground": "#f7f7f8",
189
+ "list.inactiveSelectionBackground": "#222227",
190
+ "list.focusBackground": "#2a2a33",
191
+ "list.hoverBackground": "#202026",
192
+ "list.highlightForeground": "#a8b1ff",
193
+ "list.errorForeground": "#ff8080",
194
+ "list.warningForeground": "#f0b36f",
195
+ "list.dropBackground": "#2a2e44",
196
+ "tree.indentGuidesStroke": "#2f2f32",
197
+ "editor.background": "#121212",
198
+ "editor.foreground": "#f7f7f8",
199
+ "editorLineNumber.foreground": "#686870",
200
+ "editorLineNumber.activeForeground": "#a2a2a9",
201
+ "editorCursor.foreground": "#a8b1ff",
202
+ "editor.selectionBackground": "#3a3a46",
203
+ "editor.selectionHighlightBackground": "#3a3a4680",
204
+ "editor.inactiveSelectionBackground": "#26262d66",
205
+ "editor.wordHighlightBackground": "#2c2c3766",
206
+ "editor.wordHighlightStrongBackground": "#35354266",
207
+ "editor.findMatchBackground": "#3f436166",
208
+ "editor.findMatchHighlightBackground": "#2f324866",
209
+ "editor.findRangeHighlightBackground": "#22222866",
210
+ "editor.hoverHighlightBackground": "#22222866",
211
+ "editor.lineHighlightBackground": "#20202466",
212
+ "editorWhitespace.foreground": "#2f2f32",
213
+ "editorIndentGuide.background1": "#2f2f32",
214
+ "editorIndentGuide.activeBackground1": "#525262",
215
+ "editorRuler.foreground": "#26262b",
216
+ "editorCodeLens.foreground": "#7b7b86",
217
+ "editorLightBulb.foreground": "#f0b36f",
218
+ "editorLightBulbAutoFix.foreground": "#a8b1ff",
219
+ "editorBracketMatch.background": "#2e3040",
220
+ "editorBracketMatch.border": "#a8b1ff",
221
+ "editorBracketHighlight.foreground1": "#a8b1ff",
222
+ "editorBracketHighlight.foreground2": "#c6ccff",
223
+ "editorBracketHighlight.foreground3": "#9dd7ff",
224
+ "editorBracketHighlight.foreground4": "#d8b4fe",
225
+ "editorBracketHighlight.foreground5": "#86efac",
226
+ "editorBracketHighlight.foreground6": "#f0b36f",
227
+ "editorOverviewRuler.background": "#121212",
228
+ "editorOverviewRuler.border": "#121212",
229
+ "editorGutter.background": "#121212",
230
+ "editorError.foreground": "#ff8080",
231
+ "editorWarning.foreground": "#f0b36f",
232
+ "editorInfo.foreground": "#9dd7ff",
233
+ "editorHint.foreground": "#a8b1ff",
234
+ "editorGhostText.foreground": "#7b7b86",
235
+ "diffEditor.insertedTextBackground": "#24413066",
236
+ "diffEditor.removedTextBackground": "#5a2a2a66",
237
+ "diffEditor.insertedLineBackground": "#24413022",
238
+ "diffEditor.removedLineBackground": "#5a2a2a22",
239
+ "diffEditor.border": "#2f2f32",
240
+ "editorGroup.border": "#1c1c1c",
241
+ "editorGroup.dropBackground": "#1a1a1e80",
242
+ "editorGroupHeader.tabsBackground": "#0d0d0d",
243
+ "editorGroupHeader.noTabsBackground": "#17171a",
244
+ "tab.activeBackground": "#121212",
245
+ "tab.inactiveBackground": "#0d0d0d",
246
+ "tab.activeForeground": "#f7f7f8",
247
+ "tab.inactiveForeground": "#a2a2a9",
248
+ "tab.border": "#1c1c1c",
249
+ "tab.activeBorder": "#a8b1ff",
250
+ "tab.unfocusedActiveBorder": "#40404c",
251
+ "tab.hoverBackground": "#212126",
252
+ "tab.unfocusedActiveForeground": "#d7d7dd",
253
+ "titleBar.activeBackground": "#0d0d0d",
254
+ "titleBar.activeForeground": "#f7f7f8",
255
+ "titleBar.inactiveBackground": "#0d0d0d",
256
+ "titleBar.inactiveForeground": "#a2a2a9",
257
+ "statusBar.background": "#0d0d0d",
258
+ "statusBar.foreground": "#f7f7f8",
259
+ "statusBar.border": "#1c1c1c",
260
+ "statusBar.debuggingBackground": "#40311a",
261
+ "statusBar.debuggingForeground": "#f7e5bd",
262
+ "statusBarItem.activeBackground": "#2a2a31",
263
+ "statusBarItem.hoverBackground": "#30303a",
264
+ "statusBarItem.prominentBackground": "#2e3040",
265
+ "statusBarItem.prominentForeground": "#f7f7f8",
266
+ "sideBar.background": "#0f0f0f",
267
+ "sideBar.foreground": "#d7d7dd",
268
+ "sideBar.border": "#1c1c1c",
269
+ "sideBarTitle.foreground": "#f7f7f8",
270
+ "sideBarSectionHeader.background": "#1b1b20",
271
+ "sideBarSectionHeader.foreground": "#d7d7dd",
272
+ "sideBarSectionHeader.border": "#2a2a31",
273
+ "activityBar.background": "#0d0d0d",
274
+ "activityBar.foreground": "#d7d7dd",
275
+ "activityBar.inactiveForeground": "#7b7b86",
276
+ "activityBar.border": "#1c1c1c",
277
+ "activityBarBadge.background": "#a8b1ff",
278
+ "activityBarBadge.foreground": "#1a1a1e",
279
+ "panel.background": "#0f0f0f",
280
+ "panel.border": "#1c1c1c",
281
+ "panelTitle.activeBorder": "#a8b1ff",
282
+ "panelTitle.activeForeground": "#f7f7f8",
283
+ "panelTitle.inactiveForeground": "#a2a2a9",
284
+ "panelSection.border": "#2a2a31",
285
+ "panelInput.border": "#2f2f32",
286
+ "peekView.border": "#3a3a46",
287
+ "peekViewEditor.background": "#121212",
288
+ "peekViewEditorGutter.background": "#1a1a1e",
289
+ "peekViewResult.background": "#0f0f0f",
290
+ "peekViewResult.matchHighlightBackground": "#3f4361",
291
+ "peekViewResult.selectionBackground": "#30303a",
292
+ "peekViewTitle.background": "#1b1b20",
293
+ "peekViewTitleLabel.foreground": "#f7f7f8",
294
+ "peekViewTitleDescription.foreground": "#a2a2a9",
295
+ "menu.background": "#141414",
296
+ "menu.foreground": "#f7f7f8",
297
+ "menu.border": "#2f2f32",
298
+ "menu.selectionBackground": "#30303a",
299
+ "menu.selectionForeground": "#f7f7f8",
300
+ "menu.separatorBackground": "#2f2f32",
301
+ "notificationCenterHeader.background": "#1b1b20",
302
+ "notificationCenterHeader.foreground": "#f7f7f8",
303
+ "notifications.background": "#19191d",
304
+ "notifications.foreground": "#f7f7f8",
305
+ "notifications.border": "#2f2f32",
306
+ "notificationLink.foreground": "#a8b1ff",
307
+ "debugToolBar.background": "#19191d",
308
+ "debugToolBar.border": "#2f2f32",
309
+ "terminal.background": "#0f0f0f",
310
+ "terminal.foreground": "#e8e8e8",
311
+ "terminal.ansiBlack": "#4b5263",
312
+ "terminal.ansiRed": "#ff6b81",
313
+ "terminal.ansiGreen": "#5af78e",
314
+ "terminal.ansiYellow": "#ffd866",
315
+ "terminal.ansiBlue": "#57c7ff",
316
+ "terminal.ansiMagenta": "#ff7edb",
317
+ "terminal.ansiCyan": "#38bdf8",
318
+ "terminal.ansiWhite": "#f7f7f8",
319
+ "terminal.ansiBrightBlack": "#6c7486",
320
+ "terminal.ansiBrightRed": "#ff8fa3",
321
+ "terminal.ansiBrightGreen": "#7cffaa",
322
+ "terminal.ansiBrightYellow": "#ffe08a",
323
+ "terminal.ansiBrightBlue": "#82d7ff",
324
+ "terminal.ansiBrightMagenta": "#ff9ae6",
325
+ "terminal.ansiBrightCyan": "#67e8f9",
326
+ "terminal.ansiBrightWhite": "#ffffff",
327
+ "terminal.selectionBackground": "#57c7ff33",
328
+ "terminalCursor.foreground": "#57c7ff",
329
+ "terminalCursor.background": "#17171a",
330
+ "terminal.border": "#2a2a31",
331
+ "breadcrumb.foreground": "#a2a2a9",
332
+ "breadcrumb.focusForeground": "#f7f7f8",
333
+ "breadcrumb.activeSelectionForeground": "#f7f7f8",
334
+ "breadcrumbPicker.background": "#19191d",
335
+ "gitDecoration.modifiedResourceForeground": "#f0b36f",
336
+ "gitDecoration.deletedResourceForeground": "#ff8080",
337
+ "gitDecoration.untrackedResourceForeground": "#86efac",
338
+ "gitDecoration.ignoredResourceForeground": "#7b7b86",
339
+ "gitDecoration.conflictingResourceForeground": "#ff9d9d",
340
+ "gitDecoration.submoduleResourceForeground": "#9dd7ff",
341
+ "editorWidget.background": "#141414",
342
+ "editorWidget.border": "#2f2f32",
343
+ "editorSuggestWidget.background": "#19191d",
344
+ "editorSuggestWidget.border": "#2f2f32",
345
+ "editorSuggestWidget.foreground": "#f7f7f8",
346
+ "editorSuggestWidget.selectedBackground": "#30303a",
347
+ "editorHoverWidget.background": "#19191d",
348
+ "editorHoverWidget.border": "#2f2f32",
349
+ "debugExceptionWidget.background": "#19191d",
350
+ "debugExceptionWidget.border": "#ff8080",
351
+ "notebook.editorBackground": "#1a1a1e",
352
+ "notebook.cellBorderColor": "#2a2a31",
353
+ "notebook.focusedCellBorder": "#a8b1ff",
354
+ "notebookStatusSuccessIcon.foreground": "#86efac",
355
+ "notebookStatusErrorIcon.foreground": "#ff8080",
356
+ "notebookStatusRunningIcon.foreground": "#9dd7ff"
357
+ }
358
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "compilerOptions": {
4
+ "composite": true,
5
+ "declaration": true,
6
+ "emitDeclarationOnly": true,
7
+ "strict": true,
8
+ "allowJs": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "moduleResolution": "nodenext",
11
+ "target": "esnext",
12
+ "module": "nodenext",
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "verbatimModuleSyntax": true,
16
+ "stripInternal": true,
17
+ "noUnusedLocals": true,
18
+ "noUnusedParameters": true,
19
+ "erasableSyntaxOnly": true,
20
+ // Emit declaration and cache files to a directory that would be ignored by tools like Git and ESLint.
21
+ "outDir": "./node_modules/.cache/ts_base/out",
22
+ "types": ["node", "vscode"]
23
+ }
24
+ }