diff --git a/jest.config.js b/jest.config.base.js similarity index 89% rename from jest.config.js rename to jest.config.base.js index ac72ae52..8981e89b 100644 --- a/jest.config.js +++ b/jest.config.base.js @@ -6,7 +6,7 @@ const { compilerOptions } = require("./tsconfig.base"); module.exports = { testEnvironment: "node", setupFiles: [ - "/packages/apollo-server-env/dist/index.js" + "/../apollo-server-env/dist/index.js" ], preset: "ts-jest", testMatch: null, @@ -24,7 +24,7 @@ module.exports = { clearMocks: true, globals: { "ts-jest": { - tsConfig: "tsconfig.test.json", + tsConfig: "/tsconfig.test.json", diagnostics: false } } diff --git a/package.json b/package.json index efe208d5..1c268086 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,9 @@ "repository": "github:apollographql/apollo-server", "scripts": { "clean": "git clean -dfqX -- ./node_modules **/{dist,node_modules}/", - "compile": "tsc --build", - "compile:clean": "tsc --build --clean", - "watch": "tsc --build --watch", + "compile": "tsc --build tsconfig.build.json", + "compile:clean": "tsc --build tsconfig.build.json --clean", + "watch": "tsc --build tsconfig.build.json --watch", "release": "npm run clean && npm ci && lerna publish --exact", "postinstall": "lerna run prepare && npm run compile", "lint": "prettier-check '**/*.{js,ts}'", @@ -120,5 +120,10 @@ "typescript": "3.1.2", "ws": "6.1.0", "yup": "0.26.5" + }, + "jest": { + "projects": [ + "/packages/*" + ] } } diff --git a/packages/apollo-cache-control/jest.config.js b/packages/apollo-cache-control/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-cache-control/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-cache-control/tsconfig.test.json b/packages/apollo-cache-control/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-cache-control/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-datasource-rest/jest.config.js b/packages/apollo-datasource-rest/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-datasource-rest/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-datasource-rest/tsconfig.test.json b/packages/apollo-datasource-rest/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-datasource-rest/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-datasource/jest.config.js b/packages/apollo-datasource/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-datasource/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-datasource/tsconfig.test.json b/packages/apollo-datasource/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-datasource/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-engine-reporting/jest.config.js b/packages/apollo-engine-reporting/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-engine-reporting/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-engine-reporting/tsconfig.test.json b/packages/apollo-engine-reporting/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-engine-reporting/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-cache-memcached/jest.config.js b/packages/apollo-server-cache-memcached/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-cache-memcached/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-cache-memcached/tsconfig.test.json b/packages/apollo-server-cache-memcached/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-cache-memcached/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-cache-redis/jest.config.js b/packages/apollo-server-cache-redis/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-cache-redis/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-cache-redis/tsconfig.test.json b/packages/apollo-server-cache-redis/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-cache-redis/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-caching/jest.config.js b/packages/apollo-server-caching/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-caching/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-caching/tsconfig.test.json b/packages/apollo-server-caching/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-caching/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-cloud-function/jest.config.js b/packages/apollo-server-cloud-function/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-cloud-function/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-cloud-function/tsconfig.test.json b/packages/apollo-server-cloud-function/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-cloud-function/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-cloudflare/jest.config.js b/packages/apollo-server-cloudflare/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-cloudflare/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-cloudflare/tsconfig.test.json b/packages/apollo-server-cloudflare/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-cloudflare/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-core/jest.config.js b/packages/apollo-server-core/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-core/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-core/tsconfig.test.json b/packages/apollo-server-core/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-core/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-errors/jest.config.js b/packages/apollo-server-errors/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-errors/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-errors/tsconfig.test.json b/packages/apollo-server-errors/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-errors/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-express/jest.config.js b/packages/apollo-server-express/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-express/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-express/tsconfig.test.json b/packages/apollo-server-express/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-express/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-hapi/jest.config.js b/packages/apollo-server-hapi/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-hapi/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-hapi/tsconfig.test.json b/packages/apollo-server-hapi/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-hapi/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-koa/jest.config.js b/packages/apollo-server-koa/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-koa/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-koa/tsconfig.test.json b/packages/apollo-server-koa/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-koa/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-lambda/jest.config.js b/packages/apollo-server-lambda/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-lambda/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-lambda/tsconfig.test.json b/packages/apollo-server-lambda/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-lambda/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-micro/jest.config.js b/packages/apollo-server-micro/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-micro/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-micro/tsconfig.test.json b/packages/apollo-server-micro/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-micro/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server-plugin-base/jest.config.js b/packages/apollo-server-plugin-base/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server-plugin-base/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server-plugin-base/tsconfig.test.json b/packages/apollo-server-plugin-base/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server-plugin-base/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-server/jest.config.js b/packages/apollo-server/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-server/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-server/tsconfig.test.json b/packages/apollo-server/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-server/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/apollo-tracing/jest.config.js b/packages/apollo-tracing/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/apollo-tracing/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/apollo-tracing/tsconfig.test.json b/packages/apollo-tracing/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/apollo-tracing/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/packages/graphql-extensions/jest.config.js b/packages/graphql-extensions/jest.config.js new file mode 100644 index 00000000..555c2aa9 --- /dev/null +++ b/packages/graphql-extensions/jest.config.js @@ -0,0 +1,5 @@ +const config = require('../../jest.config.base'); + +module.exports = { + ...config, +}; diff --git a/packages/graphql-extensions/tsconfig.test.json b/packages/graphql-extensions/tsconfig.test.json new file mode 100644 index 00000000..542e0b23 --- /dev/null +++ b/packages/graphql-extensions/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.test.base", + "include": ["src/**/__tests__", "src/**/__mocks__"], + "references": [ + { "path": "./tsconfig.json" } + ] +} diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 00000000..286e8902 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.base", + "files": [], + "references": [ + { "path": "./packages/apollo-cache-control" }, + { "path": "./packages/apollo-datasource" }, + { "path": "./packages/apollo-datasource-rest" }, + { "path": "./packages/apollo-engine-reporting" }, + { "path": "./packages/apollo-server" }, + { "path": "./packages/apollo-server-cache-memcached" }, + { "path": "./packages/apollo-server-cache-redis" }, + { "path": "./packages/apollo-server-caching" }, + { "path": "./packages/apollo-server-cloudflare" }, + { "path": "./packages/apollo-server-core" }, + { "path": "./packages/apollo-server-errors" }, + { "path": "./packages/apollo-server-express" }, + { "path": "./packages/apollo-server-hapi" }, + { "path": "./packages/apollo-server-integration-testsuite" }, + { "path": "./packages/apollo-server-koa" }, + { "path": "./packages/apollo-server-lambda" }, + { "path": "./packages/apollo-server-micro" }, + { "path": "./packages/apollo-server-plugin-base" }, + { "path": "./packages/apollo-tracing" }, + { "path": "./packages/graphql-extensions" }, + ] +} diff --git a/tsconfig.json b/tsconfig.json index 35e2743b..69fac8f0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,25 +1,8 @@ { + "extends": "./tsconfig.base", "files": [], "references": [ - { "path": "./packages/apollo-cache-control" }, - { "path": "./packages/apollo-datasource" }, - { "path": "./packages/apollo-datasource-rest" }, - { "path": "./packages/apollo-engine-reporting" }, - { "path": "./packages/apollo-server" }, - { "path": "./packages/apollo-server-cache-memcached" }, - { "path": "./packages/apollo-server-cache-redis" }, - { "path": "./packages/apollo-server-caching" }, - { "path": "./packages/apollo-server-cloudflare" }, - { "path": "./packages/apollo-server-core" }, - { "path": "./packages/apollo-server-errors" }, - { "path": "./packages/apollo-server-express" }, - { "path": "./packages/apollo-server-hapi" }, - { "path": "./packages/apollo-server-integration-testsuite" }, - { "path": "./packages/apollo-server-koa" }, - { "path": "./packages/apollo-server-lambda" }, - { "path": "./packages/apollo-server-micro" }, - { "path": "./packages/apollo-server-plugin-base" }, - { "path": "./packages/apollo-tracing" }, - { "path": "./packages/graphql-extensions" } + { "path": "./tsconfig.build.json" }, + { "path": "./tsconfig.test.json" }, ] } diff --git a/tsconfig.test.base.json b/tsconfig.test.base.json new file mode 100644 index 00000000..f00c5a9f --- /dev/null +++ b/tsconfig.test.base.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.base", + "compilerOptions": { + "noEmit": true, + "types": ["node", "jest"], + }, +} diff --git a/tsconfig.test.json b/tsconfig.test.json index f382375e..c66e569e 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -1,6 +1,25 @@ { "extends": "./tsconfig.base", - "compilerOptions": { - "types": ["node", "jest"], - } + "files": [], + "references": [ + { "path": "./packages/apollo-cache-control/tsconfig.test.json" }, + { "path": "./packages/apollo-datasource/tsconfig.test.json" }, + { "path": "./packages/apollo-datasource-rest/tsconfig.test.json" }, + { "path": "./packages/apollo-engine-reporting/tsconfig.test.json" }, + { "path": "./packages/apollo-server/tsconfig.test.json" }, + { "path": "./packages/apollo-server-cache-memcached/tsconfig.test.json" }, + { "path": "./packages/apollo-server-cache-redis/tsconfig.test.json" }, + { "path": "./packages/apollo-server-caching/tsconfig.test.json" }, + { "path": "./packages/apollo-server-cloudflare/tsconfig.test.json" }, + { "path": "./packages/apollo-server-core/tsconfig.test.json" }, + { "path": "./packages/apollo-server-errors/tsconfig.test.json" }, + { "path": "./packages/apollo-server-express/tsconfig.test.json" }, + { "path": "./packages/apollo-server-hapi/tsconfig.test.json" }, + { "path": "./packages/apollo-server-koa/tsconfig.test.json" }, + { "path": "./packages/apollo-server-lambda/tsconfig.test.json" }, + { "path": "./packages/apollo-server-micro/tsconfig.test.json" }, + { "path": "./packages/apollo-server-plugin-base/tsconfig.test.json" }, + { "path": "./packages/apollo-tracing/tsconfig.test.json" }, + { "path": "./packages/graphql-extensions/tsconfig.test.json" }, + ] }