From 8b70ba807f8182852d62fdd6aafdfad7f2572c59 Mon Sep 17 00:00:00 2001 From: JMH Date: Sat, 9 Feb 2019 10:48:29 -0600 Subject: [PATCH 1/6] [detox] remove detox as named export, make it a default export instead --- types/detox/index.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/detox/index.d.ts b/types/detox/index.d.ts index 977f32e249..4a81cf3dbc 100644 --- a/types/detox/index.d.ts +++ b/types/detox/index.d.ts @@ -434,10 +434,12 @@ declare global { } } -export { by, detox, device, element, waitFor }; +export { by, device, element, waitFor }; // Not exporting the global `expect` from the top of the file here // because `expect` conflicts with the global `expect` of jest and // therefore exporting it doesn't work. The global `expect` is kept // for backwards compatibility though. export const expect: Detox.Expect>; + +export default detox; From f794cf4dead09652eae471fd751260dad97bb0a7 Mon Sep 17 00:00:00 2001 From: JMH Date: Sat, 9 Feb 2019 10:49:44 -0600 Subject: [PATCH 2/6] [detox] Add test for importing default export --- types/detox/test/detox-jest-setup-tests.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/detox/test/detox-jest-setup-tests.ts b/types/detox/test/detox-jest-setup-tests.ts index 7a2a9a3901..c0b1ea2127 100644 --- a/types/detox/test/detox-jest-setup-tests.ts +++ b/types/detox/test/detox-jest-setup-tests.ts @@ -2,6 +2,7 @@ declare var beforeAll: (callback: () => void) => void; declare var beforeEach: (callback: () => void) => void; declare var afterAll: (callback: () => void) => void; +import defaultDetox from "detox"; import adapter from "detox/runners/jest/adapter"; // Normally the Detox configuration from the project's package.json like so: @@ -18,7 +19,7 @@ beforeAll(async () => { initGlobals: false, launchApp: false, }; - await detox.init(config, initOptions); + await defaultDetox.init(config, initOptions); }); beforeEach(async () => { From ff6ca21aa5c6addcc7c99abd3e2c20e0860178d2 Mon Sep 17 00:00:00 2001 From: Jeff Held Date: Thu, 14 Feb 2019 12:40:30 -0600 Subject: [PATCH 3/6] Use export = instead of export default --- types/detox/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/detox/index.d.ts b/types/detox/index.d.ts index 4a81cf3dbc..7ac69c1e1f 100644 --- a/types/detox/index.d.ts +++ b/types/detox/index.d.ts @@ -442,4 +442,4 @@ export { by, device, element, waitFor }; // for backwards compatibility though. export const expect: Detox.Expect>; -export default detox; +export = detox; From 5adceb834ffbfbdf8e5879e07dec5893cdac76e9 Mon Sep 17 00:00:00 2001 From: Jeff Held Date: Thu, 14 Feb 2019 16:00:53 -0600 Subject: [PATCH 4/6] [detox] use export = instead of export default for test runners --- types/detox/runners/jest/adapter/index.d.ts | 2 +- types/detox/runners/mocha/adapter/index.d.ts | 2 +- types/detox/test/detox-jest-setup-tests.ts | 3 +-- types/detox/test/detox-mocha-setup-tests.ts | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/types/detox/runners/jest/adapter/index.d.ts b/types/detox/runners/jest/adapter/index.d.ts index f479eda256..ca64f30820 100644 --- a/types/detox/runners/jest/adapter/index.d.ts +++ b/types/detox/runners/jest/adapter/index.d.ts @@ -9,4 +9,4 @@ interface DetoxJestAdapter { declare const adapter: DetoxJestAdapter; -export default adapter; +export = adapter; diff --git a/types/detox/runners/mocha/adapter/index.d.ts b/types/detox/runners/mocha/adapter/index.d.ts index 8e13b3bc01..3249031eee 100644 --- a/types/detox/runners/mocha/adapter/index.d.ts +++ b/types/detox/runners/mocha/adapter/index.d.ts @@ -6,4 +6,4 @@ interface DetoxMochaAdapter { declare const adapter: DetoxMochaAdapter; -export default adapter; +export = adapter; diff --git a/types/detox/test/detox-jest-setup-tests.ts b/types/detox/test/detox-jest-setup-tests.ts index c0b1ea2127..dbc892afd8 100644 --- a/types/detox/test/detox-jest-setup-tests.ts +++ b/types/detox/test/detox-jest-setup-tests.ts @@ -2,8 +2,7 @@ declare var beforeAll: (callback: () => void) => void; declare var beforeEach: (callback: () => void) => void; declare var afterAll: (callback: () => void) => void; -import defaultDetox from "detox"; -import adapter from "detox/runners/jest/adapter"; +import * as adapter from "detox/runners/jest/adapter"; // Normally the Detox configuration from the project's package.json like so: // const config = require("./package.json").detox; diff --git a/types/detox/test/detox-mocha-setup-tests.ts b/types/detox/test/detox-mocha-setup-tests.ts index c415eed696..9d0e9fd02f 100644 --- a/types/detox/test/detox-mocha-setup-tests.ts +++ b/types/detox/test/detox-mocha-setup-tests.ts @@ -5,7 +5,7 @@ declare var beforeEach: (callback: () => void) => void; declare var after: (callback: () => void) => void; declare var afterEach: (callback: () => void) => void; -import adapter from "detox/runners/mocha/adapter"; +import * as adapter from "detox/runners/mocha/adapter"; // Normally the Detox configuration from the project's package.json like so: // const config = require("./package.json").detox; From 61dfce36a732890a0c9f5f15548b5e3d792943cd Mon Sep 17 00:00:00 2001 From: Jeff Held Date: Fri, 15 Feb 2019 17:34:26 -0600 Subject: [PATCH 5/6] [detox] add DetoxExport type for exported object --- types/detox/index.d.ts | 20 ++++++++++++-------- types/detox/test/detox-jest-setup-tests.ts | 3 ++- types/detox/test/detox-mocha-setup-tests.ts | 1 + 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/types/detox/index.d.ts b/types/detox/index.d.ts index 7ac69c1e1f..e89e73a794 100644 --- a/types/detox/index.d.ts +++ b/types/detox/index.d.ts @@ -42,6 +42,16 @@ declare global { */ cleanup(): Promise; } + + // Detox exports all methods from detox global and all of the global constants. + interface DetoxExport extends Detox { + device: Device; + element: Element; + waitFor: WaitFor; + expect: Expect>; + by: Matchers; + } + interface Device { /** * Launch the app @@ -434,12 +444,6 @@ declare global { } } -export { by, device, element, waitFor }; +declare const detoxExport: Detox.DetoxExport; -// Not exporting the global `expect` from the top of the file here -// because `expect` conflicts with the global `expect` of jest and -// therefore exporting it doesn't work. The global `expect` is kept -// for backwards compatibility though. -export const expect: Detox.Expect>; - -export = detox; +export = detoxExport; diff --git a/types/detox/test/detox-jest-setup-tests.ts b/types/detox/test/detox-jest-setup-tests.ts index dbc892afd8..94ddc3eb1e 100644 --- a/types/detox/test/detox-jest-setup-tests.ts +++ b/types/detox/test/detox-jest-setup-tests.ts @@ -2,6 +2,7 @@ declare var beforeAll: (callback: () => void) => void; declare var beforeEach: (callback: () => void) => void; declare var afterAll: (callback: () => void) => void; +import * as detox from "detox"; import * as adapter from "detox/runners/jest/adapter"; // Normally the Detox configuration from the project's package.json like so: @@ -18,7 +19,7 @@ beforeAll(async () => { initGlobals: false, launchApp: false, }; - await defaultDetox.init(config, initOptions); + await detox.init(config, initOptions); }); beforeEach(async () => { diff --git a/types/detox/test/detox-mocha-setup-tests.ts b/types/detox/test/detox-mocha-setup-tests.ts index 9d0e9fd02f..42e955ab4f 100644 --- a/types/detox/test/detox-mocha-setup-tests.ts +++ b/types/detox/test/detox-mocha-setup-tests.ts @@ -5,6 +5,7 @@ declare var beforeEach: (callback: () => void) => void; declare var after: (callback: () => void) => void; declare var afterEach: (callback: () => void) => void; +import * as detox from "detox"; import * as adapter from "detox/runners/mocha/adapter"; // Normally the Detox configuration from the project's package.json like so: From 83f5cbe1e56d0c1fc8edb6fa2350c9eac26881aa Mon Sep 17 00:00:00 2001 From: Jeff Held Date: Wed, 27 Feb 2019 10:50:22 -0600 Subject: [PATCH 6/6] [detox] Use `import = require` in jest setup tests --- types/detox/test/detox-jest-setup-tests.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/detox/test/detox-jest-setup-tests.ts b/types/detox/test/detox-jest-setup-tests.ts index 94ddc3eb1e..1c38c3658f 100644 --- a/types/detox/test/detox-jest-setup-tests.ts +++ b/types/detox/test/detox-jest-setup-tests.ts @@ -2,8 +2,8 @@ declare var beforeAll: (callback: () => void) => void; declare var beforeEach: (callback: () => void) => void; declare var afterAll: (callback: () => void) => void; -import * as detox from "detox"; -import * as adapter from "detox/runners/jest/adapter"; +import detox = require("detox"); +import adapter = require("detox/runners/jest/adapter"); // Normally the Detox configuration from the project's package.json like so: // const config = require("./package.json").detox;