From 83ae63daad88ce1ee294e0f7092fbae72caa58da Mon Sep 17 00:00:00 2001 From: Blaine Kasten Date: Fri, 6 Mar 2020 08:31:11 -0600 Subject: [PATCH] chore: Ts/setup typescript for all (#21994) * chore(gatsby): Setup core packages with TS support * fix check script --- .../tsconfig.json | 3 +++ .../babel-preset-gatsby-package/tsconfig.json | 3 +++ packages/babel-preset-gatsby/tsconfig.json | 3 +++ packages/gatsby-core-utils/tsconfig.json | 3 +++ packages/gatsby-image/tsconfig.json | 3 +++ packages/gatsby-link/tsconfig.json | 3 +++ packages/gatsby-page-utils/tsconfig.json | 3 +++ packages/gatsby-react-router-scroll/tsconfig.json | 3 +++ packages/gatsby-telemetry/tsconfig.json | 3 +++ scripts/check-ts.js | 15 ++++++++++++--- 10 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 packages/babel-plugin-remove-graphql-queries/tsconfig.json create mode 100644 packages/babel-preset-gatsby-package/tsconfig.json create mode 100644 packages/babel-preset-gatsby/tsconfig.json create mode 100644 packages/gatsby-core-utils/tsconfig.json create mode 100644 packages/gatsby-image/tsconfig.json create mode 100644 packages/gatsby-link/tsconfig.json create mode 100644 packages/gatsby-page-utils/tsconfig.json create mode 100644 packages/gatsby-react-router-scroll/tsconfig.json create mode 100644 packages/gatsby-telemetry/tsconfig.json diff --git a/packages/babel-plugin-remove-graphql-queries/tsconfig.json b/packages/babel-plugin-remove-graphql-queries/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/babel-plugin-remove-graphql-queries/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/babel-preset-gatsby-package/tsconfig.json b/packages/babel-preset-gatsby-package/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/babel-preset-gatsby-package/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/babel-preset-gatsby/tsconfig.json b/packages/babel-preset-gatsby/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/babel-preset-gatsby/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-core-utils/tsconfig.json b/packages/gatsby-core-utils/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-core-utils/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-image/tsconfig.json b/packages/gatsby-image/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-image/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-link/tsconfig.json b/packages/gatsby-link/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-link/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-page-utils/tsconfig.json b/packages/gatsby-page-utils/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-page-utils/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-react-router-scroll/tsconfig.json b/packages/gatsby-react-router-scroll/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-react-router-scroll/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/gatsby-telemetry/tsconfig.json b/packages/gatsby-telemetry/tsconfig.json new file mode 100644 index 0000000000000..4082f16a5d91c --- /dev/null +++ b/packages/gatsby-telemetry/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/scripts/check-ts.js b/scripts/check-ts.js index b2aa7a704d9dc..9aca0ca9641d9 100644 --- a/scripts/check-ts.js +++ b/scripts/check-ts.js @@ -7,6 +7,7 @@ "use strict" const fs = require(`fs`) +const glob = require(`glob`) const path = require(`path`) const chalk = require(`chalk`) const yargs = require(`yargs`) @@ -23,9 +24,17 @@ const packages = fs .map(file => path.resolve(PACKAGES_DIR, file)) .filter(f => fs.lstatSync(path.resolve(f)).isDirectory()) -let packagesWithTs = packages.filter(p => - fs.existsSync(path.resolve(p, `tsconfig.json`)) -) +// We only want to typecheck against packages that have a tsconfig.json +// AND have some ts files in it's source code. +let packagesWithTs = packages + .filter(p => fs.existsSync(path.resolve(p, `tsconfig.json`))) + .filter( + project => + glob.sync(`/**/*.ts`, { + root: project, + ignore: `**/node_modules/**`, + }).length + ) if (filterPackage) { packagesWithTs = packagesWithTs.filter(project =>