diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | gatsby-config.ts (renamed from gatsby-config.js) | 7 | ||||
| -rw-r--r-- | package-lock.json | 98 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | src/components/BlockLink.tsx | 9 | ||||
| -rw-r--r-- | src/components/Layout.tsx | 11 | ||||
| -rw-r--r-- | src/components/SEO.tsx | 18 | ||||
| -rw-r--r-- | src/hooks/SiteMetadata.ts | 21 | ||||
| -rw-r--r-- | src/hooks/SiteVersion.ts | 19 | ||||
| -rw-r--r-- | src/hooks/index.ts | 4 | ||||
| -rw-r--r-- | src/styles/index.ts | 4 | ||||
| -rw-r--r-- | tsconfig.json | 102 |
12 files changed, 229 insertions, 67 deletions
@@ -1,3 +1,4 @@ node_modules/ .cache/ public/page-data/dev-404-page/ +src/gatsby-types.d.ts
\ No newline at end of file diff --git a/gatsby-config.js b/gatsby-config.ts index 79dbda9..670bcf5 100644 --- a/gatsby-config.js +++ b/gatsby-config.ts @@ -1,4 +1,11 @@ module.exports = { + siteMetadata: { + title: "Kevin J Hoerr <kjhoerr@submelon.tech>", + description: "The official website of Kevin Hoerr, developer of websites.", + author: "Kevin J Hoerr", + version: "1669668242", + }, + graphqlTypegen: true, plugins: [ "gatsby-plugin-styled-components", "gatsby-plugin-image", diff --git a/package-lock.json b/package-lock.json index 6f0313b..d8d1635 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "submelon.dev", - "version": "1669057338", + "version": "1.0.x", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "submelon.dev", - "version": "1669057338", + "version": "1.0.x", "license": "BlueOak-1.0.0", "dependencies": { "babel-plugin-styled-components": "^2.0.7", @@ -35,7 +35,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.11", - "typescript": "*" + "typescript": "latest" } }, "node_modules/@ampproject/remapping": { @@ -8822,15 +8822,15 @@ } }, "node_modules/gatsby-page-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-3.0.0.tgz", - "integrity": "sha512-TvqRlkERD9WzX4WeXlz7x5TASfC8ZcfWS6NIDqJvL5ELzh5dnJdA98fcaAsF/wCtCpTBHwuSeCWsmZO7hdpKCQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-3.2.0.tgz", + "integrity": "sha512-L8OmKqfHpDbuIfcMForF/oQCRES2XBNVVZ6TkO4ZLxeA4Ig0Uu99guqNjIXDViImN9kB6vilcPgUz0458GWZTg==", "dependencies": { "@babel/runtime": "^7.15.4", "bluebird": "^3.7.2", "chokidar": "^3.5.3", "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "glob": "^7.2.3", "lodash": "^4.17.21", "micromatch": "^4.0.5" @@ -8963,13 +8963,13 @@ } }, "node_modules/gatsby-plugin-offline": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-6.0.0.tgz", - "integrity": "sha512-UXQUzedkAevMRocM5N7nxuI0/L0Yazh2J7Nbnty56vV3R8RAMmeoaG0ocJMvyAcqSrZqptHcI96Lbg4u3TVuIA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-6.2.0.tgz", + "integrity": "sha512-mnf/FcGqqiywpNyJ+CEFDJtWSHhL4OxyXmswDFZNSwYzOqBxpnr4CaGdFPMW4EMA0wf3niJVmohskF8blUZOIQ==", "dependencies": { "@babel/runtime": "^7.15.4", "cheerio": "^1.0.0-rc.10", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "glob": "^7.2.3", "idb-keyval": "^3.2.0", "lodash": "^4.17.21", @@ -8985,9 +8985,9 @@ } }, "node_modules/gatsby-plugin-page-creator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-5.0.0.tgz", - "integrity": "sha512-9+fuXl4Ucgh/QY5odsTMNT7EsZ8rfPvSq/YN7Sb0OOiul66he9ecv63EeXzDLmeqsiAEBwFOVbBaIWphGI0Aew==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-5.2.0.tgz", + "integrity": "sha512-hLDyqWspwtUSv/+N+L+sTL5VZNbvMqYxt8ANYoMGIABkS+Q7mwaCjSw2h8HW6VtjdB6B3qdy1+MZT3mz+7vBOQ==", "dependencies": { "@babel/runtime": "^7.15.4", "@babel/traverse": "^7.15.4", @@ -8995,10 +8995,10 @@ "chokidar": "^3.5.3", "fs-exists-cached": "^1.0.0", "fs-extra": "^10.1.0", - "gatsby-core-utils": "^4.0.0", - "gatsby-page-utils": "^3.0.0", - "gatsby-plugin-utils": "^4.0.0", - "gatsby-telemetry": "^4.0.0", + "gatsby-core-utils": "^4.2.0", + "gatsby-page-utils": "^3.2.0", + "gatsby-plugin-utils": "^4.2.0", + "gatsby-telemetry": "^4.2.0", "globby": "^11.1.0", "lodash": "^4.17.21" }, @@ -9096,9 +9096,9 @@ } }, "node_modules/gatsby-plugin-typescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-5.0.0.tgz", - "integrity": "sha512-tfCKbUnEWIBn7fpQhuLtTPDi+xWrkwo23tcd18D2gWmCMTvjKtBFNYmyrTGz38hZHuU0mH+pkCz0v7XV2jW5ww==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-5.2.0.tgz", + "integrity": "sha512-zGx/g0WLCpAKZ/4iMNTEWtFOPnlnNWbqEhxgBlxuakjNwG23szJrsN6rcgu0361vGUIUYS9NztJ4v6ZEdoNH/Q==", "dependencies": { "@babel/core": "^7.15.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", @@ -9106,7 +9106,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/preset-typescript": "^7.15.0", "@babel/runtime": "^7.15.4", - "babel-plugin-remove-graphql-queries": "^5.0.0" + "babel-plugin-remove-graphql-queries": "^5.2.0" }, "engines": { "node": ">=18.0.0" @@ -9259,9 +9259,9 @@ } }, "node_modules/gatsby-telemetry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.0.0.tgz", - "integrity": "sha512-SLDftlcRx/G5ORXGxigr+RISpTOQawB6Cy7KZHTBzci6BS0d70R+biE0Bf8hPrBGHqy2em82+skFBinw0nLOaA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.2.0.tgz", + "integrity": "sha512-RmUIWVOoVFwVFAxUhJpP6YwWZbUObNOfS+iJQZoPwondg7fBLuE2NEtlycPfdDLYlmzQZat0l3xwvECpmjzM4Q==", "hasInstallScript": true, "dependencies": { "@babel/code-frame": "^7.14.0", @@ -9271,7 +9271,7 @@ "boxen": "^4.2.0", "configstore": "^5.0.1", "fs-extra": "^10.1.0", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "git-up": "^7.0.0", "is-docker": "^2.2.1", "lodash": "^4.17.21", @@ -23309,15 +23309,15 @@ } }, "gatsby-page-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-3.0.0.tgz", - "integrity": "sha512-TvqRlkERD9WzX4WeXlz7x5TASfC8ZcfWS6NIDqJvL5ELzh5dnJdA98fcaAsF/wCtCpTBHwuSeCWsmZO7hdpKCQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-3.2.0.tgz", + "integrity": "sha512-L8OmKqfHpDbuIfcMForF/oQCRES2XBNVVZ6TkO4ZLxeA4Ig0Uu99guqNjIXDViImN9kB6vilcPgUz0458GWZTg==", "requires": { "@babel/runtime": "^7.15.4", "bluebird": "^3.7.2", "chokidar": "^3.5.3", "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "glob": "^7.2.3", "lodash": "^4.17.21", "micromatch": "^4.0.5" @@ -23410,13 +23410,13 @@ } }, "gatsby-plugin-offline": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-6.0.0.tgz", - "integrity": "sha512-UXQUzedkAevMRocM5N7nxuI0/L0Yazh2J7Nbnty56vV3R8RAMmeoaG0ocJMvyAcqSrZqptHcI96Lbg4u3TVuIA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-6.2.0.tgz", + "integrity": "sha512-mnf/FcGqqiywpNyJ+CEFDJtWSHhL4OxyXmswDFZNSwYzOqBxpnr4CaGdFPMW4EMA0wf3niJVmohskF8blUZOIQ==", "requires": { "@babel/runtime": "^7.15.4", "cheerio": "^1.0.0-rc.10", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "glob": "^7.2.3", "idb-keyval": "^3.2.0", "lodash": "^4.17.21", @@ -23424,9 +23424,9 @@ } }, "gatsby-plugin-page-creator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-5.0.0.tgz", - "integrity": "sha512-9+fuXl4Ucgh/QY5odsTMNT7EsZ8rfPvSq/YN7Sb0OOiul66he9ecv63EeXzDLmeqsiAEBwFOVbBaIWphGI0Aew==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-5.2.0.tgz", + "integrity": "sha512-hLDyqWspwtUSv/+N+L+sTL5VZNbvMqYxt8ANYoMGIABkS+Q7mwaCjSw2h8HW6VtjdB6B3qdy1+MZT3mz+7vBOQ==", "requires": { "@babel/runtime": "^7.15.4", "@babel/traverse": "^7.15.4", @@ -23434,10 +23434,10 @@ "chokidar": "^3.5.3", "fs-exists-cached": "^1.0.0", "fs-extra": "^10.1.0", - "gatsby-core-utils": "^4.0.0", - "gatsby-page-utils": "^3.0.0", - "gatsby-plugin-utils": "^4.0.0", - "gatsby-telemetry": "^4.0.0", + "gatsby-core-utils": "^4.2.0", + "gatsby-page-utils": "^3.2.0", + "gatsby-plugin-utils": "^4.2.0", + "gatsby-telemetry": "^4.2.0", "globby": "^11.1.0", "lodash": "^4.17.21" } @@ -23505,9 +23505,9 @@ } }, "gatsby-plugin-typescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-5.0.0.tgz", - "integrity": "sha512-tfCKbUnEWIBn7fpQhuLtTPDi+xWrkwo23tcd18D2gWmCMTvjKtBFNYmyrTGz38hZHuU0mH+pkCz0v7XV2jW5ww==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-5.2.0.tgz", + "integrity": "sha512-zGx/g0WLCpAKZ/4iMNTEWtFOPnlnNWbqEhxgBlxuakjNwG23szJrsN6rcgu0361vGUIUYS9NztJ4v6ZEdoNH/Q==", "requires": { "@babel/core": "^7.15.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", @@ -23515,7 +23515,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/preset-typescript": "^7.15.0", "@babel/runtime": "^7.15.4", - "babel-plugin-remove-graphql-queries": "^5.0.0" + "babel-plugin-remove-graphql-queries": "^5.2.0" } }, "gatsby-plugin-utils": { @@ -23617,9 +23617,9 @@ } }, "gatsby-telemetry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.0.0.tgz", - "integrity": "sha512-SLDftlcRx/G5ORXGxigr+RISpTOQawB6Cy7KZHTBzci6BS0d70R+biE0Bf8hPrBGHqy2em82+skFBinw0nLOaA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.2.0.tgz", + "integrity": "sha512-RmUIWVOoVFwVFAxUhJpP6YwWZbUObNOfS+iJQZoPwondg7fBLuE2NEtlycPfdDLYlmzQZat0l3xwvECpmjzM4Q==", "requires": { "@babel/code-frame": "^7.14.0", "@babel/runtime": "^7.15.4", @@ -23628,7 +23628,7 @@ "boxen": "^4.2.0", "configstore": "^5.0.1", "fs-extra": "^10.1.0", - "gatsby-core-utils": "^4.0.0", + "gatsby-core-utils": "^4.2.0", "git-up": "^7.0.0", "is-docker": "^2.2.1", "lodash": "^4.17.21", diff --git a/package.json b/package.json index 41c9afb..2c53b91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "submelon.dev", - "version": "1669057338", + "version": "1.0.x", "private": true, "description": "submelon.dev", "author": "Kevin J Hoerr", diff --git a/src/components/BlockLink.tsx b/src/components/BlockLink.tsx index f2724e7..c0f2ad6 100644 --- a/src/components/BlockLink.tsx +++ b/src/components/BlockLink.tsx @@ -1,7 +1,12 @@ import React from "react"; -import { BlockAnchor, BlockBody } from "../styles"; +import { ThemedStyledFunction } from "styled-components"; +import { BlockAnchor, BlockBody, Theme } from "../styles"; -const BlockLink = ({ children, ...attributes }) => { +type BlockLinkProps = { + children: React.ReactNode; +} & ThemedStyledFunction<"a", Theme>; + +const BlockLink = ({ children, ...attributes }: BlockLinkProps) => { return ( <BlockBody theme={{ link: true }}> <BlockAnchor {...attributes}>{children}</BlockAnchor> diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 7be816f..4f93fec 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -1,14 +1,17 @@ import React from "react"; import { IconContext } from "react-icons/lib"; import { Content, Footer } from "../styles"; -import package_json from "../../package.json"; +import { useSiteVersion } from "../hooks"; import { getTimestamp } from "../util/timestamp"; import "../styles/main.css"; -const VERSION = package_json.version; +interface LayoutProps { + children: React.ReactNode; +} -const Layout = ({ children }) => { +const Layout = ({ children }: LayoutProps) => { + const version = useSiteVersion(); return ( <React.StrictMode> <main> @@ -20,7 +23,7 @@ const Layout = ({ children }) => { <Footer> <span> ©2022 kjhoerr@https://submelon.dev/: - {getTimestamp(Number(VERSION))} + {getTimestamp(Number(version))} </span> </Footer> </IconContext.Provider> diff --git a/src/components/SEO.tsx b/src/components/SEO.tsx index 3049810..b13dc19 100644 --- a/src/components/SEO.tsx +++ b/src/components/SEO.tsx @@ -1,19 +1,17 @@ import React from "react"; +import { useSiteMetadata } from "../hooks"; export function Head(): React.ReactElement { - const metaDescription = - "The official website of Kevin Hoerr, developer of websites."; + const { author, description, title } = useSiteMetadata(); + return ( <> - <meta name="twitter:description" content={metaDescription} /> - <meta - name="twitter:title" - content="Kevin J Hoerr <kjhoerr@submelon.tech>" - /> - <meta name="twitter:creator" content="Kevin J Hoerr" /> + <meta name="twitter:description" content={description ?? ""} /> + <meta name="twitter:title" content={title ?? ""} /> + <meta name="twitter:creator" content={author ?? ""} /> <meta name="twitter:card" content="summary" /> - <meta name="description" content={metaDescription} /> - <title>Kevin J Hoerr <kjhoerr@submelon.tech></title> + <meta name="description" content={description ?? ""} /> + <title>{title}</title> </> ); } diff --git a/src/hooks/SiteMetadata.ts b/src/hooks/SiteMetadata.ts new file mode 100644 index 0000000..889f42b --- /dev/null +++ b/src/hooks/SiteMetadata.ts @@ -0,0 +1,21 @@ +import { useStaticQuery, graphql } from "gatsby"; + +type SiteMetadata = NonNullable< + NonNullable<Queries.getSiteMetadataQuery["site"]>["siteMetadata"] +>; + +export const useSiteMetadata = (): SiteMetadata => { + const { site } = useStaticQuery<Queries.getSiteMetadataQuery>(graphql` + query getSiteMetadata { + site { + siteMetadata { + author + description + title + } + } + } + `); + + return site?.siteMetadata ?? ({} as SiteMetadata); +}; diff --git a/src/hooks/SiteVersion.ts b/src/hooks/SiteVersion.ts new file mode 100644 index 0000000..6726a3c --- /dev/null +++ b/src/hooks/SiteVersion.ts @@ -0,0 +1,19 @@ +import { useStaticQuery, graphql } from "gatsby"; + +type SiteVersion = NonNullable< + NonNullable<Queries.getSiteVersionQuery["site"]>["siteMetadata"] +>["version"]; + +export const useSiteVersion = (): SiteVersion => { + const { site } = useStaticQuery<Queries.getSiteVersionQuery>(graphql` + query getSiteVersion { + site { + siteMetadata { + version + } + } + } + `); + + return site?.siteMetadata?.version ?? "0"; +}; diff --git a/src/hooks/index.ts b/src/hooks/index.ts new file mode 100644 index 0000000..1250d57 --- /dev/null +++ b/src/hooks/index.ts @@ -0,0 +1,4 @@ +import { useSiteMetadata } from "./SiteMetadata"; +import { useSiteVersion } from "./SiteVersion"; + +export { useSiteMetadata, useSiteVersion }; diff --git a/src/styles/index.ts b/src/styles/index.ts index 8eee62a..978271a 100644 --- a/src/styles/index.ts +++ b/src/styles/index.ts @@ -4,4 +4,6 @@ import BlockHeader from "./BlockHeader"; import Content from "./Content"; import Footer from "./Footer"; -export { BlockAnchor, BlockBody, BlockHeader, Content, Footer }; +type Theme = Record<string, never>; + +export { BlockAnchor, BlockBody, BlockHeader, Content, Footer, Theme }; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..c04dca0 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,102 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "esnext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "lib": ["dom", "esnext"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + "jsx": "react", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "esnext", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + }, + "include": ["./src/**/*", "./gatsby-config.ts", "./src/gatsby-types.d.ts"] +}
\ No newline at end of file |
