From 1d9460eaf9c808f692d4c6c7c4b397ad58c305f6 Mon Sep 17 00:00:00 2001 From: Dustin Brett Date: Sat, 2 Jan 2021 22:59:33 -0800 Subject: [PATCH] Added TypeScript support --- next-env.d.ts | 2 ++ package-lock.json | 34 ++++++++++++++++++++++++++++++++++ package.json | 5 +++++ pages/_app.js | 5 ----- pages/_app.tsx | 7 +++++++ pages/{index.js => index.tsx} | 0 tsconfig.json | 30 ++++++++++++++++++++++++++++++ 7 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 next-env.d.ts delete mode 100644 pages/_app.js create mode 100644 pages/_app.tsx rename pages/{index.js => index.tsx} (100%) create mode 100644 tsconfig.json diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..ed365fd4 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/package-lock.json b/package-lock.json index ad6ab04e..e5176d0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -237,6 +237,28 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" }, + "@types/node": { + "version": "14.14.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.19.tgz", + "integrity": "sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true + }, + "@types/react": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -1364,6 +1386,12 @@ } } }, + "csstype": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==", + "dev": true + }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", @@ -4831,6 +4859,12 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", diff --git a/package.json b/package.json index faffd5b3..3459a041 100644 --- a/package.json +++ b/package.json @@ -19,5 +19,10 @@ "react": "17.0.1", "react-dom": "17.0.1", "sass": "^1.32.0" + }, + "devDependencies": { + "@types/node": "^14.14.19", + "@types/react": "^17.0.0", + "typescript": "^4.1.3" } } diff --git a/pages/_app.js b/pages/_app.js deleted file mode 100644 index f681a30e..00000000 --- a/pages/_app.js +++ /dev/null @@ -1,5 +0,0 @@ -import '../styles/globals.scss'; - -export default function MyApp({ Component, pageProps }) { - return ; -}; diff --git a/pages/_app.tsx b/pages/_app.tsx new file mode 100644 index 00000000..59fb4335 --- /dev/null +++ b/pages/_app.tsx @@ -0,0 +1,7 @@ +import 'styles/globals.scss'; + +import type { AppProps } from 'next/app'; + +export default function MyApp({ Component, pageProps }: AppProps) { + return ; +}; diff --git a/pages/index.js b/pages/index.tsx similarity index 100% rename from pages/index.js rename to pages/index.tsx diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..c550d67d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +}