{
	"compilerOptions": {
		"moduleResolution": "node",
		"target": "es2017",
		/**
			svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
			to enforce using `import type` instead of `import` for Types.
			*/
		"importsNotUsedAsValues": "error",
		"isolatedModules": true,
		/**
			To have warnings/errors of the Svelte compiler at the correct position,
			enable source maps by default.
			*/
		"sourceMap": true,
		"esModuleInterop": true,
		"skipLibCheck": true,
		"forceConsistentCasingInFileNames": true,
		"baseUrl": ".",
		"paths": {
			"$components/*": ["./src/components/*"],
			"$utils/*": ["./src/utils/*"]
		}
	},
	"include": ["src/**/*"],
	"exclude": ["node_modules/*", ".svelte"]
}
{
	"compilerOptions": {
		"moduleResolution": "node",
		"target": "es2017",
		/**
			svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
			to enforce using `import type` instead of `import` for Types.
			*/
		"importsNotUsedAsValues": "error",
		"isolatedModules": true,
		/**
			To have warnings/errors of the Svelte compiler at the correct position,
			enable source maps by default.
			*/
		"sourceMap": true,
		"esModuleInterop": true,
		"skipLibCheck": true,
		"forceConsistentCasingInFileNames": true,
		"baseUrl": ".",
		"allowJs": true,
		"paths": {
			"$components/*": ["./src/components/*"],
			"$utils/*": ["./src/utils/*"]
		}
	},
	"include": ["src/**/*"],
	"exclude": ["node_modules/*", ".svelte"]
}
Make jump-to-definition work in VS Code
Make jump-to-definition work in VS Code

The "allowJs" config option in tsconfig.json makes the Typescript
compiler (and more importantly, the language server) process Javascript
files. This means that the "paths" section will be processed, so the
language server will know what a "$utils" import means. So now a
ctrl-click on a function call will be able to jump to its definition.
