diff --git a/lib/devicectl.ts b/lib/devicectl.ts index e82b502..9ca9a48 100644 --- a/lib/devicectl.ts +++ b/lib/devicectl.ts @@ -1,10 +1,10 @@ import {exec, SubProcess} from 'teen_process'; -import logger from '@appium/logger'; -import type {DevicectlOptions, ExecuteOptions, ExecuteResult} from './types'; -import * as processMixins from './mixins/process'; -import * as infoMixins from './mixins/info'; -import * as copyMixins from './mixins/copy'; -import * as listMixins from './mixins/list'; +import {log as logger} from '@appium/logger'; +import type {DevicectlOptions, ExecuteOptions, ExecuteResult} from './types.js'; +import * as processMixins from './mixins/process.js'; +import * as infoMixins from './mixins/info.js'; +import * as copyMixins from './mixins/copy.js'; +import * as listMixins from './mixins/list.js'; const XCRUN = 'xcrun'; const LOG_TAG = 'Devicectl'; diff --git a/lib/index.ts b/lib/index.ts index a1a9d29..27542f0 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -1,2 +1,2 @@ -export {Devicectl} from './devicectl'; -export type * from './types'; +export {Devicectl} from './devicectl.js'; +export type * from './types.js'; diff --git a/lib/mixins/copy.ts b/lib/mixins/copy.ts index 848aa20..3dab16d 100644 --- a/lib/mixins/copy.ts +++ b/lib/mixins/copy.ts @@ -1,5 +1,5 @@ -import type {ListFilesOptions, PullFileOptions} from '../types'; -import type {Devicectl} from '../devicectl'; +import type {ListFilesOptions, PullFileOptions} from '../types.js'; +import type {Devicectl} from '../devicectl.js'; /** * Lists files at a specified path on the device diff --git a/lib/mixins/info.ts b/lib/mixins/info.ts index df94812..3d1f291 100644 --- a/lib/mixins/info.ts +++ b/lib/mixins/info.ts @@ -1,5 +1,5 @@ -import type {AppInfo, ProcessInfo} from '../types'; -import type {Devicectl} from '../devicectl'; +import type {AppInfo, ProcessInfo} from '../types.js'; +import type {Devicectl} from '../devicectl.js'; /** * Retrieves the list of installed apps from the device diff --git a/lib/mixins/list.ts b/lib/mixins/list.ts index 16d0f76..cf62115 100644 --- a/lib/mixins/list.ts +++ b/lib/mixins/list.ts @@ -1,5 +1,5 @@ -import type {DeviceInfo} from '../types'; -import type {Devicectl} from '../devicectl'; +import type {DeviceInfo} from '../types.js'; +import type {Devicectl} from '../devicectl.js'; /** * Retrieves the list of connected device infos. diff --git a/lib/mixins/process.ts b/lib/mixins/process.ts index 8d3b48d..10d19a4 100644 --- a/lib/mixins/process.ts +++ b/lib/mixins/process.ts @@ -1,5 +1,5 @@ -import type {LaunchAppOptions, ProcessInfo, TerminateAppOptions} from '../types'; -import type {Devicectl} from '../devicectl'; +import type {LaunchAppOptions, ProcessInfo, TerminateAppOptions} from '../types.js'; +import type {Devicectl} from '../devicectl.js'; /** * Simulates memory warning for the process with the given PID diff --git a/package.json b/package.json index 85d23b6..0af642e 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "format": "prettier -w ./lib ./test", "format:check": "prettier --check ./lib ./test", "prepare": "npm run build", - "test": "node --test --test-timeout=60000 \"./build/test/unit/**/*.spec.js\"", - "e2e-test": "node --test --test-force-exit --test-concurrency=1 --test-timeout=300000 \"./build/test/e2e/**/*.spec.js\"" + "test": "node --enable-source-maps --test --test-timeout=60000 \"./build/test/unit/**/*.spec.js\"", + "e2e-test": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 --test-timeout=300000 \"./build/test/e2e/**/*.spec.js\"" }, "prettier": { "bracketSpacing": false, @@ -66,5 +66,13 @@ "prettier": "^3.0.0", "semantic-release": "^25.0.2", "typescript": "^6.0.2" + }, + "type": "module", + "exports": { + ".": { + "types": "./build/lib/index.d.ts", + "import": "./build/lib/index.js" + }, + "./package.json": "./package.json" } } diff --git a/test/e2e/sudo-execution.spec.ts b/test/e2e/sudo-execution.spec.ts index 522c910..0c9cfe7 100644 --- a/test/e2e/sudo-execution.spec.ts +++ b/test/e2e/sudo-execution.spec.ts @@ -1,5 +1,5 @@ import assert from 'node:assert/strict'; -import {Devicectl} from '../../lib/devicectl'; +import {Devicectl} from '../../lib/devicectl.js'; import {describe, it, type TestContext} from 'node:test'; describe('manual sudo execution e2e', function () { diff --git a/test/unit/devicectl.spec.ts b/test/unit/devicectl.spec.ts index f5af0d5..286cac6 100644 --- a/test/unit/devicectl.spec.ts +++ b/test/unit/devicectl.spec.ts @@ -1,6 +1,6 @@ import assert from 'node:assert/strict'; -import {Devicectl} from '../../lib/devicectl'; -import {appUrlToFilesystemPath, escapeProcessFilterValue} from '../../lib/mixins/process'; +import {Devicectl} from '../../lib/devicectl.js'; +import {appUrlToFilesystemPath, escapeProcessFilterValue} from '../../lib/mixins/process.js'; import {describe, it, beforeEach} from 'node:test'; describe('Devicectl', function () { diff --git a/tsconfig.json b/tsconfig.json index 20e6305..c3032e2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,9 @@ "checkJs": true, "esModuleInterop": true, "types": ["node"], - "strict": true + "strict": true, + "module": "NodeNext", + "moduleResolution": "NodeNext" }, "include": ["lib", "test"] }