From c0f4add78ff926e8ada279c2853d7ccb0b983d40 Mon Sep 17 00:00:00 2001 From: demensky Date: Wed, 22 Nov 2023 04:14:30 +0200 Subject: [PATCH] style: automatic type-only exports --- packages/rxjs/.eslintrc.json | 4 +++ packages/rxjs/src/ajax/index.ts | 2 +- packages/rxjs/src/index.ts | 45 ++++++++++++++-------------- packages/rxjs/src/operators/index.ts | 27 +++++++++++------ packages/rxjs/src/testing/index.ts | 3 +- packages/rxjs/src/webSocket/index.ts | 3 +- 6 files changed, 49 insertions(+), 35 deletions(-) diff --git a/packages/rxjs/.eslintrc.json b/packages/rxjs/.eslintrc.json index 1b6c774d34..520d66e741 100644 --- a/packages/rxjs/.eslintrc.json +++ b/packages/rxjs/.eslintrc.json @@ -3,11 +3,15 @@ "eslint:recommended", "plugin:@typescript-eslint/recommended" ], + "parserOptions": { + "project": ["./tsconfig.json"] + }, "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-unsafe-declaration-merging": "off", "@typescript-eslint/consistent-type-imports": "warn", + "@typescript-eslint/consistent-type-exports": "warn", "no-prototype-builtins": "off" }, "env": { diff --git a/packages/rxjs/src/ajax/index.ts b/packages/rxjs/src/ajax/index.ts index a78e530522..e41bcfa3a2 100644 --- a/packages/rxjs/src/ajax/index.ts +++ b/packages/rxjs/src/ajax/index.ts @@ -1,4 +1,4 @@ export { ajax } from '../internal/ajax/ajax.js'; export { AjaxError, AjaxTimeoutError } from '../internal/ajax/errors.js'; export { AjaxResponse } from '../internal/ajax/AjaxResponse.js'; -export { AjaxRequest, AjaxConfig, AjaxDirection } from '../internal/ajax/types.js'; +export type { AjaxRequest, AjaxConfig, AjaxDirection } from '../internal/ajax/types.js'; diff --git a/packages/rxjs/src/index.ts b/packages/rxjs/src/index.ts index 047c2360a0..93912e59fb 100644 --- a/packages/rxjs/src/index.ts +++ b/packages/rxjs/src/index.ts @@ -13,22 +13,12 @@ /* eslint-enable @typescript-eslint/triple-slash-reference */ /* Core */ -export { - Observable, - from, - config, - GlobalConfig, - Subscription, - Subscriber, - SubscriberOverrides, - operate, - UnsubscriptionError, - isObservable, -} from './internal/Observable.js'; +export type { GlobalConfig, SubscriberOverrides } from './internal/Observable.js'; +export { Observable, from, config, Subscription, Subscriber, operate, UnsubscriptionError, isObservable } from './internal/Observable.js'; /* Observables */ -export { GroupedObservable } from './internal/operators/groupBy.js'; -export { Operator } from './internal/Operator.js'; +export type { GroupedObservable } from './internal/operators/groupBy.js'; +export type { Operator } from './internal/Operator.js'; export { animationFrames } from './internal/observable/dom/animationFrames.js'; /* Subjects */ @@ -109,7 +99,8 @@ export { concatAll } from './internal/operators/concatAll.js'; export { concatMap } from './internal/operators/concatMap.js'; export { concatMapTo } from './internal/operators/concatMapTo.js'; export { concatWith } from './internal/operators/concatWith.js'; -export { connect, ConnectConfig } from './internal/operators/connect.js'; +export type { ConnectConfig } from './internal/operators/connect.js'; +export { connect } from './internal/operators/connect.js'; export { count } from './internal/operators/count.js'; export { debounce } from './internal/operators/debounce.js'; export { debounceTime } from './internal/operators/debounceTime.js'; @@ -131,7 +122,8 @@ export { finalize } from './internal/operators/finalize.js'; export { find } from './internal/operators/find.js'; export { findIndex } from './internal/operators/findIndex.js'; export { first } from './internal/operators/first.js'; -export { groupBy, BasicGroupByOptions, GroupByOptionsWithElement } from './internal/operators/groupBy.js'; +export type { BasicGroupByOptions, GroupByOptionsWithElement } from './internal/operators/groupBy.js'; +export { groupBy } from './internal/operators/groupBy.js'; export { ignoreElements } from './internal/operators/ignoreElements.js'; export { isEmpty } from './internal/operators/isEmpty.js'; export { last } from './internal/operators/last.js'; @@ -150,16 +142,20 @@ export { onErrorResumeNextWith } from './internal/operators/onErrorResumeNextWit export { pairwise } from './internal/operators/pairwise.js'; export { raceWith } from './internal/operators/raceWith.js'; export { reduce } from './internal/operators/reduce.js'; -export { repeat, RepeatConfig } from './internal/operators/repeat.js'; +export type { RepeatConfig } from './internal/operators/repeat.js'; +export { repeat } from './internal/operators/repeat.js'; export { repeatWhen } from './internal/operators/repeatWhen.js'; -export { retry, RetryConfig } from './internal/operators/retry.js'; +export type { RetryConfig } from './internal/operators/retry.js'; +export { retry } from './internal/operators/retry.js'; export { retryWhen } from './internal/operators/retryWhen.js'; export { sample } from './internal/operators/sample.js'; export { sampleTime } from './internal/operators/sampleTime.js'; export { scan } from './internal/operators/scan.js'; export { sequenceEqual } from './internal/operators/sequenceEqual.js'; -export { share, ShareConfig } from './internal/operators/share.js'; -export { shareReplay, ShareReplayConfig } from './internal/operators/shareReplay.js'; +export type { ShareConfig } from './internal/operators/share.js'; +export { share } from './internal/operators/share.js'; +export type { ShareReplayConfig } from './internal/operators/shareReplay.js'; +export { shareReplay } from './internal/operators/shareReplay.js'; export { single } from './internal/operators/single.js'; export { skip } from './internal/operators/skip.js'; export { skipLast } from './internal/operators/skipLast.js'; @@ -175,12 +171,15 @@ export { take } from './internal/operators/take.js'; export { takeLast } from './internal/operators/takeLast.js'; export { takeUntil } from './internal/operators/takeUntil.js'; export { takeWhile } from './internal/operators/takeWhile.js'; -export { tap, TapObserver } from './internal/operators/tap.js'; -export { throttle, ThrottleConfig } from './internal/operators/throttle.js'; +export type { TapObserver } from './internal/operators/tap.js'; +export { tap } from './internal/operators/tap.js'; +export type { ThrottleConfig } from './internal/operators/throttle.js'; +export { throttle } from './internal/operators/throttle.js'; export { throttleTime } from './internal/operators/throttleTime.js'; export { throwIfEmpty } from './internal/operators/throwIfEmpty.js'; export { timeInterval } from './internal/operators/timeInterval.js'; -export { timeout, TimeoutConfig, TimeoutInfo } from './internal/operators/timeout.js'; +export type { TimeoutConfig, TimeoutInfo } from './internal/operators/timeout.js'; +export { timeout } from './internal/operators/timeout.js'; export { timeoutWith } from './internal/operators/timeoutWith.js'; export { timestamp } from './internal/operators/timestamp.js'; export { toArray } from './internal/operators/toArray.js'; diff --git a/packages/rxjs/src/operators/index.ts b/packages/rxjs/src/operators/index.ts index 01f9e16838..fbbf558f4b 100644 --- a/packages/rxjs/src/operators/index.ts +++ b/packages/rxjs/src/operators/index.ts @@ -13,7 +13,8 @@ export { concatAll } from '../internal/operators/concatAll.js'; export { concatMap } from '../internal/operators/concatMap.js'; export { concatMapTo } from '../internal/operators/concatMapTo.js'; export { concatWith } from '../internal/operators/concatWith.js'; -export { connect, ConnectConfig } from '../internal/operators/connect.js'; +export type { ConnectConfig } from '../internal/operators/connect.js'; +export { connect } from '../internal/operators/connect.js'; export { count } from '../internal/operators/count.js'; export { debounce } from '../internal/operators/debounce.js'; export { debounceTime } from '../internal/operators/debounceTime.js'; @@ -35,7 +36,8 @@ export { finalize } from '../internal/operators/finalize.js'; export { find } from '../internal/operators/find.js'; export { findIndex } from '../internal/operators/findIndex.js'; export { first } from '../internal/operators/first.js'; -export { groupBy, BasicGroupByOptions, GroupByOptionsWithElement } from '../internal/operators/groupBy.js'; +export type { BasicGroupByOptions, GroupByOptionsWithElement } from '../internal/operators/groupBy.js'; +export { groupBy } from '../internal/operators/groupBy.js'; export { ignoreElements } from '../internal/operators/ignoreElements.js'; export { isEmpty } from '../internal/operators/isEmpty.js'; export { last } from '../internal/operators/last.js'; @@ -55,16 +57,20 @@ export { pairwise } from '../internal/operators/pairwise.js'; export { partition } from '../internal/operators/partition.js'; export { raceWith } from '../internal/operators/raceWith.js'; export { reduce } from '../internal/operators/reduce.js'; -export { repeat, RepeatConfig } from '../internal/operators/repeat.js'; +export type { RepeatConfig } from '../internal/operators/repeat.js'; +export { repeat } from '../internal/operators/repeat.js'; export { repeatWhen } from '../internal/operators/repeatWhen.js'; -export { retry, RetryConfig } from '../internal/operators/retry.js'; +export type { RetryConfig } from '../internal/operators/retry.js'; +export { retry } from '../internal/operators/retry.js'; export { retryWhen } from '../internal/operators/retryWhen.js'; export { sample } from '../internal/operators/sample.js'; export { sampleTime } from '../internal/operators/sampleTime.js'; export { scan } from '../internal/operators/scan.js'; export { sequenceEqual } from '../internal/operators/sequenceEqual.js'; -export { share, ShareConfig } from '../internal/operators/share.js'; -export { shareReplay, ShareReplayConfig } from '../internal/operators/shareReplay.js'; +export type { ShareConfig } from '../internal/operators/share.js'; +export { share } from '../internal/operators/share.js'; +export type { ShareReplayConfig } from '../internal/operators/shareReplay.js'; +export { shareReplay } from '../internal/operators/shareReplay.js'; export { single } from '../internal/operators/single.js'; export { skip } from '../internal/operators/skip.js'; export { skipLast } from '../internal/operators/skipLast.js'; @@ -80,12 +86,15 @@ export { take } from '../internal/operators/take.js'; export { takeLast } from '../internal/operators/takeLast.js'; export { takeUntil } from '../internal/operators/takeUntil.js'; export { takeWhile } from '../internal/operators/takeWhile.js'; -export { tap, TapObserver } from '../internal/operators/tap.js'; -export { throttle, ThrottleConfig } from '../internal/operators/throttle.js'; +export type { TapObserver } from '../internal/operators/tap.js'; +export { tap } from '../internal/operators/tap.js'; +export type { ThrottleConfig } from '../internal/operators/throttle.js'; +export { throttle } from '../internal/operators/throttle.js'; export { throttleTime } from '../internal/operators/throttleTime.js'; export { throwIfEmpty } from '../internal/operators/throwIfEmpty.js'; export { timeInterval } from '../internal/operators/timeInterval.js'; -export { timeout, TimeoutConfig, TimeoutInfo } from '../internal/operators/timeout.js'; +export type { TimeoutConfig, TimeoutInfo } from '../internal/operators/timeout.js'; +export { timeout } from '../internal/operators/timeout.js'; export { timeoutWith } from '../internal/operators/timeoutWith.js'; export { timestamp } from '../internal/operators/timestamp.js'; export { toArray } from '../internal/operators/toArray.js'; diff --git a/packages/rxjs/src/testing/index.ts b/packages/rxjs/src/testing/index.ts index 435945e455..c4b3462ab6 100644 --- a/packages/rxjs/src/testing/index.ts +++ b/packages/rxjs/src/testing/index.ts @@ -1 +1,2 @@ -export { TestScheduler, RunHelpers } from '../internal/testing/TestScheduler.js'; +export type { RunHelpers } from '../internal/testing/TestScheduler.js'; +export { TestScheduler } from '../internal/testing/TestScheduler.js'; diff --git a/packages/rxjs/src/webSocket/index.ts b/packages/rxjs/src/webSocket/index.ts index 46ed4d7a2c..7dcb5c86f8 100644 --- a/packages/rxjs/src/webSocket/index.ts +++ b/packages/rxjs/src/webSocket/index.ts @@ -1,2 +1,3 @@ export { webSocket as webSocket } from '../internal/observable/dom/webSocket.js'; -export { WebSocketSubject, WebSocketSubjectConfig } from '../internal/observable/dom/WebSocketSubject.js'; +export type { WebSocketSubjectConfig } from '../internal/observable/dom/WebSocketSubject.js'; +export { WebSocketSubject } from '../internal/observable/dom/WebSocketSubject.js';