From 98f9d15c803a70179c70889792d24741adec7150 Mon Sep 17 00:00:00 2001 From: James Baxley Date: Tue, 20 Feb 2018 12:57:25 -0500 Subject: [PATCH] fix rollup imports and sourcemap support(jest + rollup) (#489) * fix rollup imports * add mapCoverage to jest for ts sourcemaps * add sourcemap support for tsc to rollup * apollo-link: allowSyntheticDefaultImports is true and zen-observable a default import not * as * add esModuleInterop config to tsc to ensure * as imports are illegal --- package.json | 1 + packages/apollo-link-batch-http/package.json | 3 ++- .../apollo-link-batch-http/src/__tests__/batchHttpLink.ts | 2 +- packages/apollo-link-batch/package.json | 3 ++- packages/apollo-link-context/package.json | 3 ++- packages/apollo-link-dedup/package.json | 3 ++- packages/apollo-link-error/package.json | 3 ++- packages/apollo-link-http-common/package.json | 3 ++- packages/apollo-link-http-common/src/__tests__/index.ts | 2 +- packages/apollo-link-http/package.json | 1 + packages/apollo-link-http/src/__tests__/httpLink.ts | 2 +- packages/apollo-link-http/src/__tests__/sharedHttpTests.ts | 2 +- packages/apollo-link-polling/package.json | 3 ++- packages/apollo-link-retry/package.json | 3 ++- packages/apollo-link-schema/package.json | 3 ++- packages/apollo-link-ws/package.json | 3 ++- packages/apollo-link/CHANGELOG.md | 1 + packages/apollo-link/package.json | 4 +++- packages/apollo-link/src/__tests__/link.ts | 2 +- packages/apollo-link/src/__tests__/linkUtils.ts | 2 +- packages/apollo-link/src/index.ts | 3 +-- packages/apollo-link/src/link.ts | 2 +- packages/apollo-link/src/linkUtils.ts | 2 +- packages/apollo-link/src/test-utils/mockLink.ts | 2 +- packages/apollo-link/src/test-utils/setContext.ts | 2 +- packages/apollo-link/src/types.ts | 2 +- packages/apollo-link/tsconfig.json | 3 ++- rollup.config.js | 3 +++ tsconfig.json | 3 ++- 29 files changed, 45 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index dc6a6ea6d4..a63d3bd6fd 100644 --- a/package.json +++ b/package.json @@ -95,6 +95,7 @@ "lint-staged": "6.1.1", "pre-commit": "1.2.2", "prettier": "1.10.2", + "rollup-plugin-sourcemaps": "^0.4.2", "ts-jest": "21.2.4", "typescript": "2.7.2" } diff --git a/packages/apollo-link-batch-http/package.json b/packages/apollo-link-batch-http/package.json index 90d09f88f6..d5f34c77fb 100644 --- a/packages/apollo-link-batch-http/package.json +++ b/packages/apollo-link-batch-http/package.json @@ -71,6 +71,7 @@ }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", "moduleFileExtensions": ["ts", "tsx", "js", "json"], - "testPathIgnorePatterns": ["/node_modules/", "sharedHttpTests.ts"] + "testPathIgnorePatterns": ["/node_modules/", "sharedHttpTests.ts"], + "mapCoverage": true } } diff --git a/packages/apollo-link-batch-http/src/__tests__/batchHttpLink.ts b/packages/apollo-link-batch-http/src/__tests__/batchHttpLink.ts index a98b739428..0d2d475b85 100644 --- a/packages/apollo-link-batch-http/src/__tests__/batchHttpLink.ts +++ b/packages/apollo-link-batch-http/src/__tests__/batchHttpLink.ts @@ -1,6 +1,6 @@ import { ApolloLink, execute, Observable, makePromise } from 'apollo-link'; import { print } from 'graphql'; -import * as fetchMock from 'fetch-mock'; +import fetchMock from 'fetch-mock'; import gql from 'graphql-tag'; import { sharedHttpTest } from './sharedHttpTests'; diff --git a/packages/apollo-link-batch/package.json b/packages/apollo-link-batch/package.json index 9fda9544aa..9cbb687bd5 100644 --- a/packages/apollo-link-batch/package.json +++ b/packages/apollo-link-batch/package.json @@ -65,6 +65,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-context/package.json b/packages/apollo-link-context/package.json index 5aa3409221..3019be1762 100644 --- a/packages/apollo-link-context/package.json +++ b/packages/apollo-link-context/package.json @@ -56,6 +56,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-dedup/package.json b/packages/apollo-link-dedup/package.json index fe587b892b..5e64e226c0 100644 --- a/packages/apollo-link-dedup/package.json +++ b/packages/apollo-link-dedup/package.json @@ -62,6 +62,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-error/package.json b/packages/apollo-link-error/package.json index deadf4282f..57e6e531a9 100644 --- a/packages/apollo-link-error/package.json +++ b/packages/apollo-link-error/package.json @@ -56,6 +56,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-http-common/package.json b/packages/apollo-link-http-common/package.json index 70ded833cd..bb0b9f46fe 100644 --- a/packages/apollo-link-http-common/package.json +++ b/packages/apollo-link-http-common/package.json @@ -63,6 +63,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-http-common/src/__tests__/index.ts b/packages/apollo-link-http-common/src/__tests__/index.ts index ac791a5790..ffcf3cff06 100644 --- a/packages/apollo-link-http-common/src/__tests__/index.ts +++ b/packages/apollo-link-http-common/src/__tests__/index.ts @@ -1,6 +1,6 @@ import { createOperation, Observable, ApolloLink, execute } from 'apollo-link'; import gql from 'graphql-tag'; -import * as fetchMock from 'fetch-mock'; +import fetchMock from 'fetch-mock'; import { parseAndCheckHttpResponse, diff --git a/packages/apollo-link-http/package.json b/packages/apollo-link-http/package.json index d34e77e912..5b59277ad5 100644 --- a/packages/apollo-link-http/package.json +++ b/packages/apollo-link-http/package.json @@ -71,6 +71,7 @@ }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true, "testPathIgnorePatterns": ["/node_modules/", "sharedHttpTests.ts"] } } diff --git a/packages/apollo-link-http/src/__tests__/httpLink.ts b/packages/apollo-link-http/src/__tests__/httpLink.ts index 78f02b8c75..49adebd58d 100644 --- a/packages/apollo-link-http/src/__tests__/httpLink.ts +++ b/packages/apollo-link-http/src/__tests__/httpLink.ts @@ -1,6 +1,6 @@ import { Observable, ApolloLink, execute } from 'apollo-link'; import gql from 'graphql-tag'; -import * as fetchMock from 'fetch-mock'; +import fetchMock from 'fetch-mock'; import objectToQuery from 'object-to-querystring'; import { sharedHttpTest } from './sharedHttpTests'; diff --git a/packages/apollo-link-http/src/__tests__/sharedHttpTests.ts b/packages/apollo-link-http/src/__tests__/sharedHttpTests.ts index 5762dd932c..e8984fb75a 100644 --- a/packages/apollo-link-http/src/__tests__/sharedHttpTests.ts +++ b/packages/apollo-link-http/src/__tests__/sharedHttpTests.ts @@ -1,7 +1,7 @@ import { Observable, ApolloLink, execute } from 'apollo-link'; import { print } from 'graphql'; import gql from 'graphql-tag'; -import * as fetchMock from 'fetch-mock'; +import fetchMock from 'fetch-mock'; const sampleQuery = gql` query SampleQuery { diff --git a/packages/apollo-link-polling/package.json b/packages/apollo-link-polling/package.json index 46bd35aabc..6443daee1a 100644 --- a/packages/apollo-link-polling/package.json +++ b/packages/apollo-link-polling/package.json @@ -64,6 +64,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-retry/package.json b/packages/apollo-link-retry/package.json index a95ebc2968..108287de4e 100644 --- a/packages/apollo-link-retry/package.json +++ b/packages/apollo-link-retry/package.json @@ -64,6 +64,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-schema/package.json b/packages/apollo-link-schema/package.json index 12be0351d0..d8ea7dfa11 100644 --- a/packages/apollo-link-schema/package.json +++ b/packages/apollo-link-schema/package.json @@ -66,6 +66,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link-ws/package.json b/packages/apollo-link-ws/package.json index c59808e684..6b2722cec1 100644 --- a/packages/apollo-link-ws/package.json +++ b/packages/apollo-link-ws/package.json @@ -66,6 +66,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link/CHANGELOG.md b/packages/apollo-link/CHANGELOG.md index ea8d03aa13..f72ec0ed40 100644 --- a/packages/apollo-link/CHANGELOG.md +++ b/packages/apollo-link/CHANGELOG.md @@ -2,6 +2,7 @@ ### vNEXT - Add `fromError` Observable helper +- change import method of zen-observable for rollup compat ### 1.1.0 - Expose `#execute` on ApolloLink as static diff --git a/packages/apollo-link/package.json b/packages/apollo-link/package.json index ea93c58df3..74fc96593b 100644 --- a/packages/apollo-link/package.json +++ b/packages/apollo-link/package.json @@ -41,6 +41,7 @@ "watch": "tsc -w -p . & rollup -c -w" }, "dependencies": { + "@types/node": "^9.4.6", "@types/zen-observable": "0.5.3", "apollo-utilities": "^1.0.0", "zen-observable": "^0.8.0" @@ -67,6 +68,7 @@ ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", - "moduleFileExtensions": ["ts", "tsx", "js", "json"] + "moduleFileExtensions": ["ts", "tsx", "js", "json"], + "mapCoverage": true } } diff --git a/packages/apollo-link/src/__tests__/link.ts b/packages/apollo-link/src/__tests__/link.ts index 61b8fa4d41..af2d80dc65 100644 --- a/packages/apollo-link/src/__tests__/link.ts +++ b/packages/apollo-link/src/__tests__/link.ts @@ -1,4 +1,4 @@ -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import gql from 'graphql-tag'; import { print } from 'graphql/language/printer'; diff --git a/packages/apollo-link/src/__tests__/linkUtils.ts b/packages/apollo-link/src/__tests__/linkUtils.ts index 1f17527aab..b09f637f92 100644 --- a/packages/apollo-link/src/__tests__/linkUtils.ts +++ b/packages/apollo-link/src/__tests__/linkUtils.ts @@ -4,7 +4,7 @@ import { makePromise, fromError, } from '../linkUtils'; -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; describe('Link utilities:', () => { describe('validateOperation', () => { diff --git a/packages/apollo-link/src/index.ts b/packages/apollo-link/src/index.ts index 68534d7c70..2b4e518862 100644 --- a/packages/apollo-link/src/index.ts +++ b/packages/apollo-link/src/index.ts @@ -8,6 +8,5 @@ export { } from './linkUtils'; export * from './types'; -import * as Observable from 'zen-observable'; - +import Observable from 'zen-observable'; export { Observable }; diff --git a/packages/apollo-link/src/link.ts b/packages/apollo-link/src/link.ts index fa7913f0d7..8485b11587 100644 --- a/packages/apollo-link/src/link.ts +++ b/packages/apollo-link/src/link.ts @@ -1,4 +1,4 @@ -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import { GraphQLRequest, diff --git a/packages/apollo-link/src/linkUtils.ts b/packages/apollo-link/src/linkUtils.ts index f37882dd86..6ecc0b3a07 100644 --- a/packages/apollo-link/src/linkUtils.ts +++ b/packages/apollo-link/src/linkUtils.ts @@ -1,5 +1,5 @@ import { getOperationName } from 'apollo-utilities'; -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import { print } from 'graphql/language/printer'; import { GraphQLRequest, Operation } from './types'; diff --git a/packages/apollo-link/src/test-utils/mockLink.ts b/packages/apollo-link/src/test-utils/mockLink.ts index 1a2d970d93..7401bef63e 100644 --- a/packages/apollo-link/src/test-utils/mockLink.ts +++ b/packages/apollo-link/src/test-utils/mockLink.ts @@ -1,6 +1,6 @@ import { Operation, RequestHandler, NextLink, FetchResult } from '../types'; -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import { ApolloLink } from '../link'; diff --git a/packages/apollo-link/src/test-utils/setContext.ts b/packages/apollo-link/src/test-utils/setContext.ts index 0b032bed73..b3f4564a99 100644 --- a/packages/apollo-link/src/test-utils/setContext.ts +++ b/packages/apollo-link/src/test-utils/setContext.ts @@ -1,6 +1,6 @@ import { Operation, NextLink, FetchResult } from '../types'; -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import { ApolloLink } from '../link'; diff --git a/packages/apollo-link/src/types.ts b/packages/apollo-link/src/types.ts index 21623fa47c..fb9cbbf515 100644 --- a/packages/apollo-link/src/types.ts +++ b/packages/apollo-link/src/types.ts @@ -1,4 +1,4 @@ -import * as Observable from 'zen-observable'; +import Observable from 'zen-observable'; import { ExecutionResult, DocumentNode } from 'graphql'; export interface GraphQLRequest { diff --git a/packages/apollo-link/tsconfig.json b/packages/apollo-link/tsconfig.json index b2374ad07d..3a0e63e664 100644 --- a/packages/apollo-link/tsconfig.json +++ b/packages/apollo-link/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig", "compilerOptions": { "rootDir": "./src", - "outDir": "lib" + "outDir": "lib", + "allowSyntheticDefaultImports": true }, "include": ["src/**/*.ts"], "exclude": ["src/**/__tests__/*.ts"] diff --git a/rollup.config.js b/rollup.config.js index 893b75e569..c861d88e4c 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,3 +1,5 @@ +import sourcemaps from 'rollup-plugin-sourcemaps'; + export const globals = { // Apollo 'apollo-client': 'apollo.core', @@ -24,6 +26,7 @@ export default name => ({ }, external: Object.keys(globals), onwarn, + plugins: [sourcemaps()], }); export function onwarn(message) { diff --git a/tsconfig.json b/tsconfig.json index 8cafa337a0..5314d68133 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,6 +10,7 @@ "noImplicitAny": false, "noUnusedParameters": false, "noUnusedLocals": true, - "skipLibCheck": true + "skipLibCheck": true, + "esModuleInterop": true } }