{
	"name": "Node-TS PowerUser Image",
	"image": "favware/codespaces-containers:base",

	// VSCode settings
	"settings": {
		"breadcrumbs.enabled": true,
		"diffEditor.ignoreTrimWhitespace": false,
		"diffEditor.renderSideBySide": true,
		"editor.codeActionsOnSave": {
			"source.fixAll": true,
			"source.fixAll.eslint": false,
			"source.fixAll.tslint": true,
			"source.organizeImports": true
		},
		"editor.defaultFormatter": "esbenp.prettier-vscode",
		"editor.foldingStrategy": "auto",
		"editor.fontFamily": "Fira Code, MesloLGS NF",
		"editor.renderWhitespace": "all",
		"editor.fontLigatures": true,
		"editor.fontSize": 16,
		"editor.formatOnPaste": false,
		"editor.formatOnSave": true,
		"editor.lineHeight": 24,
		"editor.minimap.enabled": false,
		"editor.renderControlCharacters": true,
		"editor.snippetSuggestions": "top",
		"editor.suggestSelection": "first",
		"eslint.lintTask.enable": true,
		"eslint.packageManager": "yarn",
		"extensions.ignoreRecommendations": false,
		"files.associations": {
			"*.pipeline": "groovy",
			".all-contributorsrc": "json",
			".yarnclean": "ignore",
			".yarnrc": "shellscript",
			"CODEOWNERS": "ignore"
		},
		"files.autoSave": "afterDelay",
		"files.eol": "\n",
		"git.autofetch": true,
		"git.confirmSync": false,
		"git.enableSmartCommit": true,
		"gitlens.codeLens.enabled": false,
		"gitlens.hovers.currentLine.over": "line",
		"indentRainbow.colors": [
			"rgba(16,16,16,0.1)",
			"rgba(16,16,16,0.2)",
			"rgba(16,16,16,0.3)",
			"rgba(16,16,16,0.4)",
			"rgba(16,16,16,0.5)",
			"rgba(16,16,16,0.6)",
			"rgba(16,16,16,0.7)",
			"rgba(16,16,16,0.8)",
			"rgba(16,16,16,0.9)",
			"rgba(16,16,16,1.0)"
		],
		"indentRainbow.errorColor": "rgba(0,0,0,0.0)",
		"javascript.updateImportsOnFileMove.enabled": "always",
		"prettier.packageManager": "yarn",
		"prettier.requireConfig": true,
		"prettier.resolveGlobalModules": true,
		"tabnine.experimentalAutoImports": false,
		"terminal.integrated.copyOnSelection": true,
		"terminal.integrated.fontFamily": "MesloLGS NF",
		"terminal.integrated.rendererType": "experimentalWebgl",
		"typescript.tsserver.log": "off",
		"typescript.tsserver.useSeparateSyntaxServer": true,
		"typescript.tsserver.watchOptions": {
			"fallbackPolling": "dynamicPriorityPolling",
			"watchDirectory": "dynamicPriorityPolling",
			"watchFile": "useFsEvents"
		},
		"typescript.updateImportsOnFileMove.enabled": "always",
		"window.zoomLevel": 0,
		"workbench.colorTheme": "Atom One Dark",
		"workbench.editor.scrollToSwitchTabs": true,
		"workbench.iconTheme": "pkief.material-icon-theme",
		"terminal.integrated.shell.linux": "/usr/bin/zsh"
	},

	// VSCode Extension by their IDs
	"extensions": [
		"dbaeumer.vscode-eslint",
		"coenraads.bracket-pair-colorizer",
		"bierner.github-markdown-preview",
		"eamodio.gitlens",
		"ldez.ignore-files",
		"oderwat.indent-rainbow",
		"jtladeiras.vscode-inline-sql",
		"equinusocio.vsc-material-theme-icons",
		"eg2.vscode-npm-script",
		"christian-kohler.npm-intellisense",
		"christian-kohler.path-intellisense",
		"esbenp.prettier-vscode",
		"tabnine.tabnine-vscode",
		"redhat.vscode-yaml",
		"akamud.vscode-theme-onedark"
	],

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	"forwardPorts": [8080, 8081, 5432, 2333, 8284, 8285, 8287],

	// Use 'postCreateCommand' to run commands after the container is created.
	"postCreateCommand": "yarn install"

	// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
	// "remoteUser": "node"
}
