From 449eb901b093049697df05b046af16305a65ebe1 Mon Sep 17 00:00:00 2001 From: Shinigami92 Date: Mon, 4 Mar 2024 14:44:33 +0100 Subject: [PATCH] chore: use export type --- .eslintrc.cjs | 1 + src/index.ts | 160 ++++------------------------ src/operations/domains.ts | 4 +- src/operations/extensions.ts | 4 +- src/operations/functions.ts | 8 +- src/operations/indexes.ts | 5 +- src/operations/operators.ts | 6 +- src/operations/other.ts | 4 +- src/operations/policies.ts | 6 +- src/operations/roles.ts | 13 ++- src/operations/schemas.ts | 4 +- src/operations/sequences.ts | 6 +- src/operations/tables.ts | 16 ++- src/operations/triggers.ts | 12 ++- src/operations/types.ts | 4 +- src/operations/views.ts | 4 +- src/operations/viewsMaterialized.ts | 6 +- src/types.ts | 2 +- 18 files changed, 80 insertions(+), 185 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 0ed56cf3..9859565d 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -35,6 +35,7 @@ module.exports = defineConfig({ 'error', { default: 'array-simple', readonly: 'generic' }, ], + '@typescript-eslint/consistent-type-exports': 'error', '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/explicit-module-boundary-types': 'error', '@typescript-eslint/naming-convention': [ diff --git a/src/index.ts b/src/index.ts index 381e97b1..f6c52c1e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ -import { Migration } from './migration'; -import { +export { Migration } from './migration'; +export type { AlterDomain, CreateDomain, DomainOptionsAlter, @@ -7,20 +7,20 @@ import { DropDomain, RenameDomain, } from './operations/domainsTypes'; -import { +export type { CreateExtension, CreateExtensionOptions, DropExtension, Extension, } from './operations/extensionsTypes'; -import { +export type { CreateFunction, DropFunction, FunctionOptions, FunctionParam, RenameFunction, } from './operations/functionsTypes'; -import { +export type { CascadeOption, DropOptions, IfExistsOption, @@ -30,13 +30,13 @@ import { Type, Value, } from './operations/generalTypes'; -import { +export type { CreateIndex, CreateIndexOptions, DropIndex, DropIndexOptions, } from './operations/indexesTypes'; -import { +export type { AddToOperatorFamily, CreateOperator, CreateOperatorClass, @@ -52,9 +52,9 @@ import { RenameOperatorClass, RenameOperatorFamily, } from './operations/operatorsTypes'; -import { Sql } from './operations/othersTypes'; -import PgLiteral from './operations/PgLiteral'; -import { +export type { Sql } from './operations/othersTypes'; +export { default as PgLiteral } from './operations/PgLiteral'; +export type { AlterPolicy, CreatePolicy, CreatePolicyOptions, @@ -62,20 +62,20 @@ import { PolicyOptions, RenamePolicy, } from './operations/policiesTypes'; -import { +export type { AlterRole, CreateRole, DropRole, RenameRole, RoleOptions, } from './operations/rolesTypes'; -import { +export type { CreateSchema, CreateSchemaOptions, DropSchema, RenameSchema, } from './operations/schemasTypes'; -import { +export type { AlterSequence, CreateSequence, DropSequence, @@ -83,7 +83,7 @@ import { SequenceOptionsAlter, SequenceOptionsCreate, } from './operations/sequencesTypes'; -import { +export type { AddColumns, AlterColumn, AlterColumnOptions, @@ -102,13 +102,13 @@ import { RenameTable, TableOptions, } from './operations/tablesTypes'; -import { +export type { CreateTrigger, DropTrigger, RenameTrigger, TriggerOptions, } from './operations/triggersTypes'; -import { +export type { AddTypeAttribute, AddTypeValue, AddTypeValueOptions, @@ -120,7 +120,7 @@ import { RenameTypeValue, SetTypeAttribute, } from './operations/typesTypes'; -import { +export type { AlterMaterializedView, AlterMaterializedViewOptions, CreateMaterializedView, @@ -131,7 +131,7 @@ import { RenameMaterializedView, RenameMaterializedViewColumn, } from './operations/viewsMaterializedTypes'; -import { +export type { AlterView, AlterViewColumn, AlterViewColumnOptions, @@ -141,126 +141,8 @@ import { DropView, RenameView, } from './operations/viewsTypes'; -import runner from './runner'; -import { MigrationBuilder, PgType, RunnerOption } from './types'; - -export { - PgLiteral, - Migration, - PgType, - MigrationBuilder, - RunnerOption, - PgLiteralValue, - Value, - Name, - Type, - IfExistsOption, - IfNotExistsOption, - CascadeOption, - DropOptions, - CreateTable, - DropTable, - AlterTable, - RenameTable, - AddColumns, - DropColumns, - AlterColumn, - RenameColumn, - CreateConstraint, - DropConstraint, - RenameConstraint, - ColumnDefinition, - ColumnDefinitions, - TableOptions, - AlterTableOptions, - AlterColumnOptions, - ConstraintOptions, - CreateDomain, - DropDomain, - AlterDomain, - RenameDomain, - DomainOptionsCreate, - DomainOptionsAlter, - CreateExtension, - DropExtension, - Extension, - CreateExtensionOptions, - CreateFunction, - DropFunction, - RenameFunction, - FunctionParam, - FunctionOptions, - DropIndex, - CreateIndex, - CreateIndexOptions, - DropIndexOptions, - CreateOperator, - DropOperator, - CreateOperatorClass, - DropOperatorClass, - RenameOperatorClass, - CreateOperatorFamily, - DropOperatorFamily, - AddToOperatorFamily, - RenameOperatorFamily, - RemoveFromOperatorFamily, - CreateOperatorOptions, - DropOperatorOptions, - OperatorListDefinition, - CreateOperatorClassOptions, - Sql, - CreatePolicy, - DropPolicy, - AlterPolicy, - RenamePolicy, - CreatePolicyOptions, - PolicyOptions, - CreateRole, - DropRole, - AlterRole, - RenameRole, - RoleOptions, - CreateSequence, - DropSequence, - AlterSequence, - RenameSequence, - SequenceOptionsCreate, - SequenceOptionsAlter, - CreateSchema, - DropSchema, - RenameSchema, - CreateSchemaOptions, - CreateTrigger, - DropTrigger, - RenameTrigger, - TriggerOptions, - CreateType, - DropType, - RenameType, - AddTypeAttribute, - DropTypeAttribute, - SetTypeAttribute, - AddTypeValue, - RenameTypeAttribute, - RenameTypeValue, - AddTypeValueOptions, - CreateView, - DropView, - AlterView, - AlterViewColumn, - RenameView, - CreateViewOptions, - AlterViewOptions, - AlterViewColumnOptions, - CreateMaterializedView, - DropMaterializedView, - AlterMaterializedView, - RenameMaterializedView, - RenameMaterializedViewColumn, - RefreshMaterializedView, - CreateMaterializedViewOptions, - AlterMaterializedViewOptions, - RefreshMaterializedViewOptions, -}; +export { PgType } from './types'; +export type { MigrationBuilder, RunnerOption } from './types'; +import runner from './runner'; export default runner; diff --git a/src/operations/domains.ts b/src/operations/domains.ts index 8775a652..6a2f94da 100644 --- a/src/operations/domains.ts +++ b/src/operations/domains.ts @@ -1,13 +1,13 @@ import type { MigrationOptions } from '../types'; import { applyType, escapeValue } from '../utils'; -import { +import type { AlterDomain, CreateDomain, DropDomain, RenameDomain, } from './domainsTypes'; -export { CreateDomain, DropDomain, AlterDomain, RenameDomain }; +export type { CreateDomain, DropDomain, AlterDomain, RenameDomain }; export function dropDomain(mOptions: MigrationOptions): DropDomain { const _drop: DropDomain = (domainName, options = {}) => { diff --git a/src/operations/extensions.ts b/src/operations/extensions.ts index c60ad428..d57ccc2a 100644 --- a/src/operations/extensions.ts +++ b/src/operations/extensions.ts @@ -1,7 +1,7 @@ import type { MigrationOptions } from '../types'; -import { CreateExtension, DropExtension } from './extensionsTypes'; +import type { CreateExtension, DropExtension } from './extensionsTypes'; -export { CreateExtension, DropExtension }; +export type { CreateExtension, DropExtension }; export function dropExtension(mOptions: MigrationOptions): DropExtension { const _drop: DropExtension = (_extensions, options = {}) => { diff --git a/src/operations/functions.ts b/src/operations/functions.ts index 81361be6..95261bf6 100644 --- a/src/operations/functions.ts +++ b/src/operations/functions.ts @@ -1,8 +1,12 @@ import type { MigrationOptions } from '../types'; import { escapeValue, formatParams } from '../utils'; -import { CreateFunction, DropFunction, RenameFunction } from './functionsTypes'; +import type { + CreateFunction, + DropFunction, + RenameFunction, +} from './functionsTypes'; -export { CreateFunction, DropFunction, RenameFunction }; +export type { CreateFunction, DropFunction, RenameFunction }; export function dropFunction(mOptions: MigrationOptions): DropFunction { const _drop: DropFunction = ( diff --git a/src/operations/indexes.ts b/src/operations/indexes.ts index 6160618a..36bb3115 100644 --- a/src/operations/indexes.ts +++ b/src/operations/indexes.ts @@ -1,13 +1,14 @@ import type { Literal, MigrationOptions } from '../types'; import type { Name } from './generalTypes'; import type { + CreateIndex, CreateIndexOptions, + DropIndex, DropIndexOptions, IndexColumn, } from './indexesTypes'; -import { CreateIndex, DropIndex } from './indexesTypes'; -export { CreateIndex, DropIndex }; +export type { CreateIndex, DropIndex }; function generateIndexName( table: Name, diff --git a/src/operations/operators.ts b/src/operations/operators.ts index cb508a0f..0ab1bdca 100644 --- a/src/operations/operators.ts +++ b/src/operations/operators.ts @@ -1,7 +1,6 @@ import type { MigrationOptions } from '../types'; import { applyType, formatParams } from '../utils'; -import type { OperatorListDefinition } from './operatorsTypes'; -import { +import type { AddToOperatorFamily, CreateOperator, CreateOperatorClass, @@ -9,12 +8,13 @@ import { DropOperator, DropOperatorClass, DropOperatorFamily, + OperatorListDefinition, RemoveFromOperatorFamily, RenameOperatorClass, RenameOperatorFamily, } from './operatorsTypes'; -export { +export type { CreateOperator, DropOperator, CreateOperatorClass, diff --git a/src/operations/other.ts b/src/operations/other.ts index d57a1520..7f02e227 100644 --- a/src/operations/other.ts +++ b/src/operations/other.ts @@ -1,8 +1,8 @@ import type { MigrationOptions } from '../types'; import { createTransformer } from '../utils'; -import { Sql } from './othersTypes'; +import type { Sql } from './othersTypes'; -export { Sql }; +export type { Sql }; export function sql(mOptions: MigrationOptions): Sql { const t = createTransformer(mOptions.literal); diff --git a/src/operations/policies.ts b/src/operations/policies.ts index 7a897cf9..b1e59099 100644 --- a/src/operations/policies.ts +++ b/src/operations/policies.ts @@ -1,13 +1,13 @@ import type { MigrationOptions } from '../types'; -import type { PolicyOptions } from './policiesTypes'; -import { +import type { AlterPolicy, CreatePolicy, DropPolicy, + PolicyOptions, RenamePolicy, } from './policiesTypes'; -export { CreatePolicy, DropPolicy, AlterPolicy, RenamePolicy }; +export type { CreatePolicy, DropPolicy, AlterPolicy, RenamePolicy }; const makeClauses = ({ role, using, check }: PolicyOptions) => { const roles = (Array.isArray(role) ? role : [role]).join(', '); diff --git a/src/operations/roles.ts b/src/operations/roles.ts index a05344a7..b896adba 100644 --- a/src/operations/roles.ts +++ b/src/operations/roles.ts @@ -1,9 +1,14 @@ import type { MigrationOptions } from '../types'; import { escapeValue } from '../utils'; -import type { RoleOptions } from './rolesTypes'; -import { AlterRole, CreateRole, DropRole, RenameRole } from './rolesTypes'; - -export { CreateRole, DropRole, AlterRole, RenameRole }; +import type { + AlterRole, + CreateRole, + DropRole, + RenameRole, + RoleOptions, +} from './rolesTypes'; + +export type { CreateRole, DropRole, AlterRole, RenameRole }; const formatRoleOptions = (roleOptions: RoleOptions = {}) => { const options = []; diff --git a/src/operations/schemas.ts b/src/operations/schemas.ts index 627f47b8..a7879a23 100644 --- a/src/operations/schemas.ts +++ b/src/operations/schemas.ts @@ -1,7 +1,7 @@ import type { MigrationOptions } from '../types'; -import { CreateSchema, DropSchema, RenameSchema } from './schemasTypes'; +import type { CreateSchema, DropSchema, RenameSchema } from './schemasTypes'; -export { CreateSchema, DropSchema, RenameSchema }; +export type { CreateSchema, DropSchema, RenameSchema }; export function dropSchema(mOptions: MigrationOptions): DropSchema { const _drop: DropSchema = (schemaName, options = {}) => { diff --git a/src/operations/sequences.ts b/src/operations/sequences.ts index 88a0ff69..ca17dc0b 100644 --- a/src/operations/sequences.ts +++ b/src/operations/sequences.ts @@ -1,15 +1,15 @@ import type { MigrationOptions } from '../types'; import { applyType } from '../utils'; -import type { SequenceOptions } from './sequencesTypes'; -import { +import type { AlterSequence, CreateSequence, DropSequence, RenameSequence, + SequenceOptions, } from './sequencesTypes'; import type { ColumnDefinitions } from './tablesTypes'; -export { CreateSequence, DropSequence, AlterSequence, RenameSequence }; +export type { CreateSequence, DropSequence, AlterSequence, RenameSequence }; export const parseSequenceOptions = ( typeShorthands: ColumnDefinitions | undefined, diff --git a/src/operations/tables.ts b/src/operations/tables.ts index 79df9505..29ef1820 100644 --- a/src/operations/tables.ts +++ b/src/operations/tables.ts @@ -11,28 +11,26 @@ import type { FunctionParamType } from './functionsTypes'; import type { Name } from './generalTypes'; import { parseSequenceOptions } from './sequences'; import type { - ColumnDefinition, - ColumnDefinitions, - ConstraintOptions, - Like, - LikeOptions, - ReferencesOptions, -} from './tablesTypes'; -import { AddColumns, AlterColumn, AlterTable, + ColumnDefinition, + ColumnDefinitions, + ConstraintOptions, CreateConstraint, CreateTable, DropColumns, DropConstraint, DropTable, + Like, + LikeOptions, + ReferencesOptions, RenameColumn, RenameConstraint, RenameTable, } from './tablesTypes'; -export { +export type { CreateTable, DropTable, AlterTable, diff --git a/src/operations/triggers.ts b/src/operations/triggers.ts index f1fea77e..a551ddfd 100644 --- a/src/operations/triggers.ts +++ b/src/operations/triggers.ts @@ -3,10 +3,14 @@ import { escapeValue } from '../utils'; import { createFunction, dropFunction } from './functions'; import type { FunctionOptions } from './functionsTypes'; import type { DropOptions, Name, Value } from './generalTypes'; -import type { TriggerOptions } from './triggersTypes'; -import { CreateTrigger, DropTrigger, RenameTrigger } from './triggersTypes'; - -export { CreateTrigger, DropTrigger, RenameTrigger }; +import type { + CreateTrigger, + DropTrigger, + RenameTrigger, + TriggerOptions, +} from './triggersTypes'; + +export type { CreateTrigger, DropTrigger, RenameTrigger }; export function dropTrigger(mOptions: MigrationOptions): DropTrigger { const _drop: DropTrigger = (tableName, triggerName, options = {}) => { diff --git a/src/operations/types.ts b/src/operations/types.ts index 07545fb4..c5f346c1 100644 --- a/src/operations/types.ts +++ b/src/operations/types.ts @@ -1,6 +1,6 @@ import type { MigrationOptions } from '../types'; import { applyType, escapeValue } from '../utils'; -import { +import type { AddTypeAttribute, AddTypeValue, CreateType, @@ -12,7 +12,7 @@ import { SetTypeAttribute, } from './typesTypes'; -export { +export type { CreateType, DropType, RenameType, diff --git a/src/operations/views.ts b/src/operations/views.ts index 4dbfb4f1..61bc5678 100644 --- a/src/operations/views.ts +++ b/src/operations/views.ts @@ -1,7 +1,7 @@ import type { MigrationOptions } from '../types'; import { escapeValue } from '../utils'; import type { Nullable } from './generalTypes'; -import { +import type { AlterView, AlterViewColumn, CreateView, @@ -10,7 +10,7 @@ import { ViewOptions, } from './viewsTypes'; -export { +export type { CreateView, DropView, AlterView, diff --git a/src/operations/viewsMaterialized.ts b/src/operations/viewsMaterialized.ts index 1bfa6de1..f4ea795a 100644 --- a/src/operations/viewsMaterialized.ts +++ b/src/operations/viewsMaterialized.ts @@ -1,17 +1,17 @@ import type { MigrationOptions } from '../types'; import { formatLines } from '../utils'; import type { Nullable } from './generalTypes'; -import type { StorageParameters } from './viewsMaterializedTypes'; -import { +import type { AlterMaterializedView, CreateMaterializedView, DropMaterializedView, RefreshMaterializedView, RenameMaterializedView, RenameMaterializedViewColumn, + StorageParameters, } from './viewsMaterializedTypes'; -export { +export type { CreateMaterializedView, DropMaterializedView, AlterMaterializedView, diff --git a/src/types.ts b/src/types.ts index 6c1473a4..554b510e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -24,7 +24,7 @@ import type * as types from './operations/typesTypes'; import type * as mViews from './operations/viewsMaterializedTypes'; import type * as views from './operations/viewsTypes'; -export { ClientConfig, ConnectionConfig } from 'pg'; +export type { ClientConfig, ConnectionConfig } from 'pg'; // see ClientBase in @types/pg export interface DB {