From 249fc4e6b4f3040148f23bf6cdb6dafd7a195c7d Mon Sep 17 00:00:00 2001 From: Huy-DNA Date: Tue, 31 Mar 2026 16:55:59 +0700 Subject: [PATCH 1/2] refactor: migrate transform --- .../dbml-core/src/transform/{index.js => index.ts} | 12 +++++------- packages/dbml-core/types/index.d.ts | 4 ---- packages/dbml-core/types/transform/index.d.ts | 7 ------- 3 files changed, 5 insertions(+), 18 deletions(-) rename packages/dbml-core/src/transform/{index.js => index.ts} (61%) delete mode 100644 packages/dbml-core/types/transform/index.d.ts diff --git a/packages/dbml-core/src/transform/index.js b/packages/dbml-core/src/transform/index.ts similarity index 61% rename from packages/dbml-core/src/transform/index.js rename to packages/dbml-core/src/transform/index.ts index 7505936c2..9a42cc794 100644 --- a/packages/dbml-core/src/transform/index.js +++ b/packages/dbml-core/src/transform/index.ts @@ -2,12 +2,6 @@ import { Compiler } from '@dbml/parse'; /** * Renames a table in DBML code using symbol table and token-based replacement. - * - * @param {string | { schema?: string; table: string }} oldName - The current table name - * @param {string | { schema?: string; table: string }} newName - The new table name - * @param {string} dbmlCode - The DBML code containing the table - * @returns {string} The updated DBML code with the renamed table - * * @example * // String format * renameTable('users', 'customers', dbmlCode); @@ -18,7 +12,11 @@ import { Compiler } from '@dbml/parse'; * renameTable({ table: 'users' }, { table: 'customers' }, dbmlCode); * renameTable({ schema: 'auth', table: 'users' }, { schema: 'auth', table: 'customers' }, dbmlCode); */ -export function renameTable (oldName, newName, dbmlCode) { +export function renameTable ( + oldName:string | { schema?: string; table: string }, + newName: string | { schema?: string; table: string }, + dbmlCode: string, +): string { const compiler = new Compiler(); compiler.setSource(dbmlCode); return compiler.renameTable(oldName, newName); diff --git a/packages/dbml-core/types/index.d.ts b/packages/dbml-core/types/index.d.ts index 515349b82..94f338fd1 100644 --- a/packages/dbml-core/types/index.d.ts +++ b/packages/dbml-core/types/index.d.ts @@ -2,11 +2,7 @@ import ModelExporter from './export/ModelExporter'; import Parser from './parse/Parser'; import importer from './import'; import exporter from './export'; -import { - renameTable, -} from './transform'; export { - renameTable, importer, exporter, ModelExporter, diff --git a/packages/dbml-core/types/transform/index.d.ts b/packages/dbml-core/types/transform/index.d.ts deleted file mode 100644 index 0cf165118..000000000 --- a/packages/dbml-core/types/transform/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type TableNameInput = string | { schema?: string; table: string }; - -export function renameTable( - oldName: TableNameInput, - newName: TableNameInput, - dbmlCode: string -): string; From b6877b11e1bbca4724018f68bbb73db38c2c4510 Mon Sep 17 00:00:00 2001 From: Huy-DNA Date: Thu, 7 May 2026 15:26:38 +0700 Subject: [PATCH 2/2] chore: disallow JS and remove manual types & add dts to @dbml/core --- .../dbml-core/types/export/DbmlExporter.d.ts | 30 -- .../dbml-core/types/export/JsonExporter.d.ts | 13 - .../dbml-core/types/export/ModelExporter.d.ts | 13 - packages/dbml-core/types/export/index.d.ts | 16 - packages/dbml-core/types/import/index.d.ts | 20 -- packages/dbml-core/types/index.d.ts | 44 --- .../types/model_structure/check.d.ts | 54 --- .../types/model_structure/database.d.ts | 326 ------------------ .../types/model_structure/dbState.d.ts | 17 - .../types/model_structure/element.d.ts | 27 -- .../types/model_structure/endpoint.d.ts | 68 ---- .../dbml-core/types/model_structure/enum.d.ts | 71 ---- .../types/model_structure/enumValue.d.ts | 43 --- .../types/model_structure/field.d.ts | 119 ------- .../types/model_structure/index.d.ts | 32 -- .../types/model_structure/indexColumn.d.ts | 48 --- .../types/model_structure/indexes.d.ts | 83 ----- .../dbml-core/types/model_structure/ref.d.ts | 80 ----- .../types/model_structure/schema.d.ts | 194 ----------- .../types/model_structure/stickyNote.d.ts | 42 --- .../types/model_structure/table.d.ts | 143 -------- .../types/model_structure/tableGroup.d.ts | 71 ---- .../types/model_structure/tablePartial.d.ts | 103 ------ packages/dbml-core/types/parse/Parser.d.ts | 40 --- packages/dbml-core/types/parse/error.d.ts | 30 -- packages/dbml-core/types/transform/index.d.ts | 19 - packages/dbml-core/vite.config.ts | 4 + tsconfig.json | 2 +- 28 files changed, 5 insertions(+), 1747 deletions(-) delete mode 100644 packages/dbml-core/types/export/DbmlExporter.d.ts delete mode 100644 packages/dbml-core/types/export/JsonExporter.d.ts delete mode 100644 packages/dbml-core/types/export/ModelExporter.d.ts delete mode 100644 packages/dbml-core/types/export/index.d.ts delete mode 100644 packages/dbml-core/types/import/index.d.ts delete mode 100644 packages/dbml-core/types/index.d.ts delete mode 100644 packages/dbml-core/types/model_structure/check.d.ts delete mode 100644 packages/dbml-core/types/model_structure/database.d.ts delete mode 100644 packages/dbml-core/types/model_structure/dbState.d.ts delete mode 100644 packages/dbml-core/types/model_structure/element.d.ts delete mode 100644 packages/dbml-core/types/model_structure/endpoint.d.ts delete mode 100644 packages/dbml-core/types/model_structure/enum.d.ts delete mode 100644 packages/dbml-core/types/model_structure/enumValue.d.ts delete mode 100644 packages/dbml-core/types/model_structure/field.d.ts delete mode 100644 packages/dbml-core/types/model_structure/index.d.ts delete mode 100644 packages/dbml-core/types/model_structure/indexColumn.d.ts delete mode 100644 packages/dbml-core/types/model_structure/indexes.d.ts delete mode 100644 packages/dbml-core/types/model_structure/ref.d.ts delete mode 100644 packages/dbml-core/types/model_structure/schema.d.ts delete mode 100644 packages/dbml-core/types/model_structure/stickyNote.d.ts delete mode 100644 packages/dbml-core/types/model_structure/table.d.ts delete mode 100644 packages/dbml-core/types/model_structure/tableGroup.d.ts delete mode 100644 packages/dbml-core/types/model_structure/tablePartial.d.ts delete mode 100644 packages/dbml-core/types/parse/Parser.d.ts delete mode 100644 packages/dbml-core/types/parse/error.d.ts delete mode 100644 packages/dbml-core/types/transform/index.d.ts diff --git a/packages/dbml-core/types/export/DbmlExporter.d.ts b/packages/dbml-core/types/export/DbmlExporter.d.ts deleted file mode 100644 index 1f093952c..000000000 --- a/packages/dbml-core/types/export/DbmlExporter.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { NormalizedModel } from '../model_structure/database'; -import type { NormalizedTable } from '../model_structure/table'; -import type { NormalizedTableGroup } from '../model_structure/tableGroup'; - -export interface DbmlExporterOptions { - /** When false, TableData (Records) blocks are omitted from the output. Defaults to true. */ - includeRecords: boolean; -} - -declare class DbmlExporter { - static hasWhiteSpace(str: string): boolean; - static hasSquareBracket(str: string): boolean; - static isExpression(str: string): boolean; - static escapeNote(str: string | null): string; - static exportEnums(enumIds: number[], model: NormalizedModel): string; - static getFieldLines(tableId: number, model: NormalizedModel): string[]; - static getIndexLines(tableId: number, model: NormalizedModel): string[]; - static getCheckLines(tableId: number, model: NormalizedModel): string[]; - static getTableSettings(table: NormalizedTable): string; - static exportTables(tableIds: number[], model: NormalizedModel): string; - static buildFieldName(fieldIds: number[], model: NormalizedModel): string; - static exportRefs(refIds: number[], model: NormalizedModel): string; - static getTableGroupSettings(tableGroup: NormalizedTableGroup): string; - static exportTableGroups(tableGroupIds: number[], model: NormalizedModel): string; - static exportStickyNotes(model: NormalizedModel): string; - static exportRecords(model: NormalizedModel): string; - static export(model: NormalizedModel, options: DbmlExporterOptions): string; -} - -export default DbmlExporter; diff --git a/packages/dbml-core/types/export/JsonExporter.d.ts b/packages/dbml-core/types/export/JsonExporter.d.ts deleted file mode 100644 index 8a596d84b..000000000 --- a/packages/dbml-core/types/export/JsonExporter.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type Database from '../model_structure/database'; -import type { NormalizedModel } from '../model_structure/database'; - -export interface JsonExporterOptions { - /** When false, the model is exported via its `.export()` method before stringifying. Defaults to true. */ - isNormalized: boolean; -} - -declare class JsonExporter { - static export(model: Database | NormalizedModel, options: JsonExporterOptions): string; -} - -export default JsonExporter; diff --git a/packages/dbml-core/types/export/ModelExporter.d.ts b/packages/dbml-core/types/export/ModelExporter.d.ts deleted file mode 100644 index f2dabfc44..000000000 --- a/packages/dbml-core/types/export/ModelExporter.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type Database from '../model_structure/database'; -import type { NormalizedModel } from '../model_structure/database'; -import type { ExportFormat, ExportOptions } from './index'; - -declare class ModelExporter { - /** - * @deprecated Passing a boolean as the third argument is deprecated. Use `ExportOptions` instead. - */ - static export(model: Database | NormalizedModel, format: ExportFormat, options: boolean): string; - static export(model: Database | NormalizedModel, format: ExportFormat, options?: ExportOptions): string; -} - -export default ModelExporter; diff --git a/packages/dbml-core/types/export/index.d.ts b/packages/dbml-core/types/export/index.d.ts deleted file mode 100644 index 4bcd304b8..000000000 --- a/packages/dbml-core/types/export/index.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { DbmlExporterOptions } from './DbmlExporter'; -import type { JsonExporterOptions } from './JsonExporter'; - -export type ExportFormat = 'dbml' | 'mysql' | 'postgres' | 'json' | 'mssql' | 'oracle'; - -export type ExportOptions = - Partial & - Partial; - -declare function _export(str: string, format: ExportFormat, options: boolean): string; -declare function _export(str: string, format: ExportFormat, options?: ExportOptions): string; - -declare const _default: { - export: typeof _export; -}; -export default _default; diff --git a/packages/dbml-core/types/import/index.d.ts b/packages/dbml-core/types/import/index.d.ts deleted file mode 100644 index 1b7adbf10..000000000 --- a/packages/dbml-core/types/import/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { DbmlExporterOptions } from '../export/DbmlExporter'; - -export type ImportFormat = 'dbml' | 'mysql' | 'postgres' | 'json' | 'mssql' | 'postgresLegacy' | 'mssqlLegacy' | 'schemarb' | 'snowflake' | 'oracle'; - -export type ImportOptions = Partial; - -declare function _import(str: string, format: ImportFormat, options?: ImportOptions): string; - -/** - * @param schemaJson - * @description Type of schemaJson is `DatabaseSchema`. - * The type definition of `DatabaseSchema` object can be found [here](https://github.com/holistics/dbml/blob/a4dcb110f1d79f5d95b0d3db4b919914439e039d/packages/dbml-connector/src/connectors/types.ts#L89) - */ -declare function generateDbml(schemaJson: unknown): string; - -declare const _default: { - import: typeof _import; - generateDbml: typeof generateDbml; -}; -export default _default; diff --git a/packages/dbml-core/types/index.d.ts b/packages/dbml-core/types/index.d.ts deleted file mode 100644 index cc8632345..000000000 --- a/packages/dbml-core/types/index.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import ModelExporter from './export/ModelExporter'; -import Parser from './parse/Parser'; -import importer from './import'; -import exporter from './export'; -import { - renameTable, - syncDiagramView, - findDiagramViewBlocks, -} from './transform'; -export { - renameTable, - syncDiagramView, - findDiagramViewBlocks, - importer, - exporter, - ModelExporter, - Parser, -}; -export type { ExportFormat, ExportOptions } from './export/index'; -export type { DbmlExporterOptions } from './export/DbmlExporter'; -export type { JsonExporterOptions } from './export/JsonExporter'; -export type { ImportFormat, ImportOptions } from './import/index'; -export { CompilerDiagnostic, CompilerError, CompilerError as CompilerDiagnostics, EditorPosition, ErrorCode, WarningLevel } from './parse/error'; -export * from './model_structure'; - -export { - isIntegerType, - isFloatType, - isNumericType, - isBooleanType, - isStringType, - isBinaryType, - isDateTimeType, - isSerialType, - tryExtractBoolean, - tryExtractNumeric, - tryExtractInteger, - tryExtractString, - tryExtractDateTime, - tryExtractEnum, - addDoubleQuoteIfNeeded, - formatRecordValue, -} from '@dbml/parse'; -export type { DiagramView, DiagramViewSyncOperation, DiagramViewBlock, FilterConfig, TextEdit } from '@dbml/parse'; diff --git a/packages/dbml-core/types/model_structure/check.d.ts b/packages/dbml-core/types/model_structure/check.d.ts deleted file mode 100644 index 2ba40362a..000000000 --- a/packages/dbml-core/types/model_structure/check.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { NormalizedModel } from './database'; -import Element, { Token } from './element'; -import Field from './field'; -import Table from './table'; -import TablePartial from './tablePartial'; - -export interface RawCheck { - token: Token; - name: string; - expression: string; - table: Table; - column?: Field | null; - injectedPartial?: TablePartial | null; -} - -declare class Check extends Element { - name: string; - expression: string; - table: Table; - column: Field | null; - injectedPartial: TablePartial | null; - - constructor({ token, name, expression, table, column, injectedPartial }: RawCheck); - generateId(): void; - export(): { - name: string; - expression: string; - }; - exportParentIds(): { - tableId: number; - columnId: number | null; - injectedPartialId: number | null; - }; - shallowExport(): { - name: string; - expression: string; - }; - normalize(model: NormalizedModel): void; -} - -export interface NormalizedCheck { - id: number; - name: string; - expression: string; - tableId: number; - columnId: number | null; - injectedPartialId: number | null; -} - -export interface NormalizedCheckIdMap { - [_id: number]: NormalizedCheck; -} - -export default Check; diff --git a/packages/dbml-core/types/model_structure/database.d.ts b/packages/dbml-core/types/model_structure/database.d.ts deleted file mode 100644 index 081192ddc..000000000 --- a/packages/dbml-core/types/model_structure/database.d.ts +++ /dev/null @@ -1,326 +0,0 @@ -import Schema, { NormalizedSchemaIdMap, RawSchema } from './schema'; -import Ref, { NormalizedRefIdMap } from './ref'; -import Enum, { NormalizedEnumIdMap } from './enum'; -import TableGroup, { NormalizedTableGroupIdMap } from './tableGroup'; -import Table, { NormalizedTableIdMap } from './table'; -import StickyNote, { NormalizedNoteIdMap } from './stickyNote'; -import Element, { RawNote, Token } from './element'; -import DbState from './dbState'; -import { NormalizedEndpointIdMap } from './endpoint'; -import { NormalizedEnumValueIdMap } from './enumValue'; -import { NormalizedFieldIdMap } from './field'; -import { NormalizedIndexColumnIdMap } from './indexColumn'; -import { NormalizedIndexIdMap } from './indexes'; -import { NormalizedCheckIdMap } from './check'; -import TablePartial, { NormalizedTablePartialIdMap } from './tablePartial'; -import { TokenPosition } from '@dbml/parse'; -export interface Project { - note: RawNote; - database_type: string; - name: string; -} - -export type RecordValueType = 'string' | 'bool' | 'integer' | 'real' | 'date' | 'time' | 'datetime' | string; - -export interface RecordValue { - value: any; - type: RecordValueType; - token: TokenPosition; -} - -export interface RawTableRecord { - schemaName: string | undefined; - tableName: string; - columns: string[]; - token: Token; - values: { - value: any; - type: RecordValueType; - }[][]; -} - -export interface TableRecord extends RawTableRecord { - id: number; - tableId?: number; -} - -export type NormalizedRecord = TableRecord; - -export interface NormalizedRecordIdMap { - [_id: number]: NormalizedRecord; -} - -export interface RawDatabase { - schemas: Schema[]; - tables: Table[]; - notes: StickyNote[]; - enums: Enum[]; - refs: Ref[]; - tableGroups: TableGroup[]; - project: Project; - records: RawTableRecord[]; - tablePartials: TablePartial[]; -} - -declare class Database extends Element { - dbState: DbState; - hasDefaultSchema: boolean; - schemas: Schema[]; - notes: StickyNote[]; - note: string; - noteToken: Token; - databaseType: string; - name: string; - records: TableRecord[]; - id: number; - constructor({ schemas, tables, enums, refs, tableGroups, project, records }: RawDatabase); - generateId(): void; - processRecords(rawRecords: RawTableRecord[]): void; - processSchemas(rawSchemas: RawSchema[]): void; - pushSchema(schema: Schema): void; - checkSchema(schema: Schema): void; - processSchemaElements(elements: Schema[] | Table[] | Enum[] | TableGroup[] | Ref[], elementType: any): void; - findOrCreateSchema(schemaName: string): Schema; - findTable(rawTable: any): Table; - processTablePartials(rawTablePartials: any[]): TablePartial[]; - findTablePartial(partialName: string): TablePartial; - export(): { - schemas: { - tables: { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - name: string; - alias: string; - note: string; - headerColor: string; - }[]; - enums: { - values: { - name: string; - note: string; - }[]; - name: string; - note: string; - }[]; - tableGroups: { - tables: { - tableName: string; - schemaName: string; - }[]; - name: string; - }[]; - refs: { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - name: string; - onDelete: any; - onUpdate: any; - }[]; - name: string; - note: string; - alias: string; - }[]; - notes: { - id: number; - name: string; - content: string; - headerColor: string; - }[]; - records: { - id: number; - schemaName: string; - tableName: string; - columns: string[]; - values: { - value: any; - type: string; - }[][]; - }[]; - tablePartials: { - name: string; - note: string; - headerColor: string; - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId: number | undefined, - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - }[]; - }; - shallowExport(): { - hasDefaultSchema: boolean; - note: string; - databaseType: string; - name: string; - }; - exportChild(): { - schemas: { - tables: { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - name: string; - alias: string; - note: string; - headerColor: string; - }[]; - enums: { - values: { - name: string; - note: string; - }[]; - name: string; - note: string; - }[]; - tableGroups: { - tables: { - tableName: string; - schemaName: string; - }[]; - name: string; - }[]; - refs: { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - name: string; - onDelete: any; - onUpdate: any; - }[]; - name: string; - note: string; - alias: string; - }[]; - notes: { - id: number; - name: string; - content: string; - headerColor: string; - }[]; - tablePartials: { - name: string; - note: string; - headerColor: string; - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId: number | undefined, - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - }[]; - }; - exportChildIds(): { - schemaIds: number[]; - noteIds: number[]; - }; - normalize(): NormalizedModel; -} -export interface NormalizedDatabase { - id: number; - hasDefaultSchema: boolean; - note: string | null; - databaseType: string; - name: string; - schemaIds: number[]; - noteIds: number[]; -} - -export interface NormalizedDatabaseIdMap { - [_id: number]: NormalizedDatabase; -} - -export interface NormalizedModel { - database: NormalizedDatabaseIdMap; - schemas: NormalizedSchemaIdMap; - endpoints: NormalizedEndpointIdMap; - refs: NormalizedRefIdMap; - fields: NormalizedFieldIdMap; - tables: NormalizedTableIdMap; - tableGroups: NormalizedTableGroupIdMap; - enums: NormalizedEnumIdMap; - enumValues: NormalizedEnumValueIdMap; - indexes: NormalizedIndexIdMap; - indexColumns: NormalizedIndexColumnIdMap; - notes: NormalizedNoteIdMap; - checks: NormalizedCheckIdMap; - tablePartials: NormalizedTablePartialIdMap; - records: NormalizedRecordIdMap; -} -export default Database; diff --git a/packages/dbml-core/types/model_structure/dbState.d.ts b/packages/dbml-core/types/model_structure/dbState.d.ts deleted file mode 100644 index a1d7e335c..000000000 --- a/packages/dbml-core/types/model_structure/dbState.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default class DbState { - dbId: number; - schemaId: number; - enumId: number; - tableGroupId: number; - refId: number; - tableId: number; - noteId: number; - enumValueId: number; - endpointId: number; - checkId: number; - indexId: number; - fieldId: number; - indexColumnId: number; - tablePartialId: number; - generateId(el: string): number; -} diff --git a/packages/dbml-core/types/model_structure/element.d.ts b/packages/dbml-core/types/model_structure/element.d.ts deleted file mode 100644 index ea4152ede..000000000 --- a/packages/dbml-core/types/model_structure/element.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -export interface Token { - end: { - column: number; - line: number; - offset: number; - }; - start: { - column: number; - line: number; - offset: number; - }; -} - -export interface RawNote { - value: string; - token: Token; -} - -declare class Element { - token: Token; - id: number; - selection: string; - constructor(token: Token); - bind(selection: any): void; - error(message: string): void; -} -export default Element; diff --git a/packages/dbml-core/types/model_structure/endpoint.d.ts b/packages/dbml-core/types/model_structure/endpoint.d.ts deleted file mode 100644 index d29855d37..000000000 --- a/packages/dbml-core/types/model_structure/endpoint.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -import Element from './element'; -import Field from './field'; -import Ref from './ref'; -import DbState from './dbState'; -import { NormalizedModel } from './database'; -import { Token } from './element'; - -export interface RawEndpoint { - schemaName: string | null; - tableName: string; - fieldNames: string[]; - relation: '1' | '*'; - token: Token; -} - -declare class Endpoint extends Element { - relation: any; - schemaName: string; - tableName: string; - fieldNames: string[]; - fields: Field[]; - ref: Ref; - dbState: DbState; - constructor({ tableName, schemaName, fieldNames, relation, token, ref }: { - tableName: any; - schemaName: any; - fieldNames: any; - relation: any; - token: any; - ref: any; - }); - generateId(): void; - equals(endpoint: any): boolean; - compareFields(endpoint: any): boolean; - export(): { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }; - exportParentIds(): { - refId: number; - fieldIds: number[]; - }; - shallowExport(): { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }; - setFields(fieldNames: any, table: any): void; - normalize(model: NormalizedModel): void; -} -export interface NormalizedEndpoint { - id: number; - schemaName: string | null; - tableName: string; - fieldNames: string[]; - fieldIds: number[]; - relation: string; - refId: number; -} - -export interface NormalizedEndpointIdMap { - [_id: number]: NormalizedEndpoint; -} - -export default Endpoint; diff --git a/packages/dbml-core/types/model_structure/enum.d.ts b/packages/dbml-core/types/model_structure/enum.d.ts deleted file mode 100644 index ac427db63..000000000 --- a/packages/dbml-core/types/model_structure/enum.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { Token, RawNote } from './element'; -import EnumValue from './enumValue'; -import Field from './field'; -import Schema from './schema'; -export interface RawEnum { - name: string; - token: Token; - values: EnumValue[]; - note: RawNote; - schema: Schema; -} -declare class Enum extends Element { - name: string; - token: Token; - values: EnumValue[]; - note: string; - noteToken: Token; - schema: Schema; - fields: Field[]; - dbState: DbState; - id: number; - constructor({ name, token, values, note, schema }: RawEnum); - generateId(): void; - processValues(rawValues: any): void; - pushValue(value: any): void; - checkValue(value: any): void; - pushField(field: any): void; - checkField(field: any): void; - export(): { - values: { - name: string; - note: string; - }[]; - name: string; - note: string; - }; - exportChild(): { - values: { - name: string; - note: string; - }[]; - }; - exportChildIds(): { - valueIds: number[]; - fieldIds: number[]; - }; - exportParentIds(): { - schemaId: number; - }; - shallowExport(): { - name: string; - note: string; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedEnum { - id: number; - name: string; - note: string | null; - valueIds: number[]; - fieldIds: number[]; - schemaId: number; -} - -export interface NormalizedEnumIdMap { - [_id: number]: NormalizedEnum; -} - -export default Enum; diff --git a/packages/dbml-core/types/model_structure/enumValue.d.ts b/packages/dbml-core/types/model_structure/enumValue.d.ts deleted file mode 100644 index efe5f8079..000000000 --- a/packages/dbml-core/types/model_structure/enumValue.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { Token, RawNote } from './element'; -import Enum from './enum'; -export interface RawEnumValue { - name: string; - token: Token; - note: RawNote; - _enum: Enum; -} -declare class EnumValue extends Element { - name: string; - note: string; - noteToken: Token; - _enum: Enum; - dbState: DbState; - constructor({ name, token, note, _enum }: RawEnumValue); - generateId(): void; - export(): { - name: string; - note: string; - }; - exportParentIds(): { - enumId: number; - }; - shallowExport(): { - name: string; - note: string; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedEnumValue { - id: number; - name: string; - note: string | null; - enumId: number; -} - -export interface NormalizedEnumValueIdMap { - [_id: number]: NormalizedEnumValue; -} - -export default EnumValue; diff --git a/packages/dbml-core/types/model_structure/field.d.ts b/packages/dbml-core/types/model_structure/field.d.ts deleted file mode 100644 index 8e322abaa..000000000 --- a/packages/dbml-core/types/model_structure/field.d.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { Token, RawNote } from './element'; -import Endpoint from './endpoint'; -import Enum from './enum'; -import Table from './table'; -import TablePartial from './tablePartial'; -import Check from './check'; - -export interface InlineRef { - schemaName: string | null; - tableName: string; - fieldNames: string[]; - relation: '>' | '<' | '-' | '<>'; - token: Token; -} - -export interface ColumnType { - schemaName: string | null; - type_name: string; - args: string | null; -} - -export interface RawField { - name: string; - type: any; - unique: boolean; - pk: boolean; - token: Token; - not_null: boolean; - note: RawNote; - dbdefault: any; - increment: boolean; - checks?: any[]; - table: Table; -} - -declare class Field extends Element { - name: string; - type: any; - unique: boolean; - pk: boolean; - dbState: DbState; - not_null: boolean; - note: string; - noteToken: Token; - dbdefault: any; - increment: boolean; - checks: Check[]; - table: Table; - endpoints: Endpoint[]; - _enum: Enum; - injectedPartial?: TablePartial; - injectedToken: Token; - constructor({ name, type, unique, pk, token, not_null, note, dbdefault, increment, checks, table }: RawField); - generateId(): void; - pushEndpoint(endpoint: any): void; - processChecks(checks: any[]): void; - export(): { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId?: number; - }; - exportParentIds(): { - tableId: number; - enumId: number; - }; - exportChildIds(): { - endpointIds: number[]; - }; - shallowExport(): { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId?: number; - checkIds: number[]; - }; - normalize(model: NormalizedModel): void; -} - -export interface NormalizedField { - id: number; - name: string; - type: { - schemaName: string | null; - type_name: string; - }; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string | null; - dbdefault?: { - type: 'number' | 'string' | 'boolean' | 'expression'; - value: number | string; - }; - increment: boolean; - endpointIds: number[]; - tableId: number; - enumId: number | null; - injectedPartialId: number | null; - checkIds: number[]; -} - -export interface NormalizedFieldIdMap { - [_id: number]: NormalizedField; -} - -export default Field; diff --git a/packages/dbml-core/types/model_structure/index.d.ts b/packages/dbml-core/types/model_structure/index.d.ts deleted file mode 100644 index 0f98412bb..000000000 --- a/packages/dbml-core/types/model_structure/index.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Export main classes -export { default as Database } from './database'; -export { default as Element } from './element'; -export { default as Schema } from './schema'; -export { default as Table } from './table'; -export { default as Field } from './field'; -export { default as Index } from './indexes'; -export { default as IndexColumn } from './indexColumn'; -export { default as Enum } from './enum'; -export { default as EnumValue } from './enumValue'; -export { default as Ref } from './ref'; -export { default as Endpoint } from './endpoint'; -export { default as TableGroup } from './tableGroup'; -export { default as StickyNote } from './stickyNote'; -export { default as Check } from './check'; -export { default as TablePartial } from './tablePartial'; - -export * from './database'; -export * from './schema'; -export * from './table'; -export * from './field'; -export * from './indexes'; -export * from './indexColumn'; -export * from './enum'; -export * from './enumValue'; -export * from './ref'; -export * from './endpoint'; -export * from './tableGroup'; -export * from './stickyNote'; -export * from './tablePartial'; -export * from './check'; -export * from './element'; diff --git a/packages/dbml-core/types/model_structure/indexColumn.d.ts b/packages/dbml-core/types/model_structure/indexColumn.d.ts deleted file mode 100644 index 94445666e..000000000 --- a/packages/dbml-core/types/model_structure/indexColumn.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { Token } from './element'; -import Index from './indexes'; - -export interface RawIndexColumn { - type: any; - value: any; - index: Index; - token: Token; -} - -declare class IndexColumn extends Element { - type: any; - value: any; - index: Index; - dbState: DbState; - constructor({ type, value, index }: { - type: any; - value: any; - index: any; - }); - generateId(): void; - export(): { - type: any; - value: any; - }; - exportParentIds(): { - indexId: number; - }; - shallowExport(): { - type: any; - value: any; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedIndexColumn { - id: number; - type: string; - value: string; - indexId: number; -} - -export interface NormalizedIndexColumnIdMap { - [_id: number]: NormalizedIndexColumn; -} - -export default IndexColumn; diff --git a/packages/dbml-core/types/model_structure/indexes.d.ts b/packages/dbml-core/types/model_structure/indexes.d.ts deleted file mode 100644 index ebfd994f5..000000000 --- a/packages/dbml-core/types/model_structure/indexes.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { RawNote, Token } from './element'; -import IndexColumn from './indexColumn'; -import Table from './table'; -import TablePartial from './tablePartial'; -export interface RawIndex { - columns: IndexColumn; - type: any; - unique: boolean; - pk: string; - name: string; - note: RawNote; - table: Table; - token: Token; -} -declare class Index extends Element { - columns: IndexColumn[]; - type: any; - unique: boolean; - pk: string; - name: string; - note: string; - noteToken: Token; - table: Table; - dbState: DbState; - injectedPartial: TablePartial; - constructor({ columns, type, unique, pk, token, name, note, table }: RawIndex); - generateId(): void; - processIndexColumns(rawColumns: any): void; - pushIndexColumn(column: any): void; - checkIndexColumn(column: any): void; - export(): { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - injectedPartialId?: number; - }; - exportChild(): { - columns: { - type: any; - value: any; - }[]; - }; - exportChildIds(): { - columnIds: number[]; - }; - exportParentIds(): { - tableId: number; - }; - shallowExport(): { - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - injectedPartialId?: number; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedIndex { - id: number; - name: string | null; - type: any; - unique: boolean; - pk: string; - note: string | null; - columnIds: number[]; - tableId: number; - injectedPartialId?: number; -} - -export interface NormalizedIndexIdMap { - [_id: number]: NormalizedIndex; -} - -export default Index; diff --git a/packages/dbml-core/types/model_structure/ref.d.ts b/packages/dbml-core/types/model_structure/ref.d.ts deleted file mode 100644 index f443018dc..000000000 --- a/packages/dbml-core/types/model_structure/ref.d.ts +++ /dev/null @@ -1,80 +0,0 @@ -import Element, { Token } from './element'; -import Endpoint from './endpoint'; -import Schema from './schema'; -import DbState from './dbState'; -import Database, { NormalizedModel } from './database'; -import TablePartial from './tablePartial'; -export interface RawRef { - name: string; - color?: string; - endpoints: Endpoint[]; - onDelete: any; - onUpdate: any; - token: Token; - schema: Schema; -} -declare class Ref extends Element { - name: string; - color?: string; - endpoints: Endpoint[]; - onDelete: any; - onUpdate: any; - schema: Schema; - dbState: DbState; - id: number; - database: Database; - injectedPartial?: TablePartial; - constructor({ name, endpoints, onDelete, onUpdate, token, schema }: RawRef); - generateId(): void; - processEndpoints(rawEndpoints: any): void; - equals(ref: any): any; - export(): { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - name: string; - onDelete: any; - onUpdate: any; - injectedPartialId?: number; - }; - shallowExport(): { - name: string; - onDelete: any; - onUpdate: any; - injectedPartialId?: number; - }; - exportChild(): { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - }; - exportChildIds(): { - endpointIds: number[]; - }; - exportParentIds(): { - schemaId: number; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedRef { - id: number; - name: string | null; - color?: string; - onUpdate?: string; - onDelete?: string; - schemaId: number; - endpointIds: number[]; - injectedPartialId?: number; -} - -export interface NormalizedRefIdMap { - [_id: number]: NormalizedRef; -} - -export default Ref; diff --git a/packages/dbml-core/types/model_structure/schema.d.ts b/packages/dbml-core/types/model_structure/schema.d.ts deleted file mode 100644 index bb2b57a51..000000000 --- a/packages/dbml-core/types/model_structure/schema.d.ts +++ /dev/null @@ -1,194 +0,0 @@ -import Table from './table'; -import Element, { RawNote, Token } from './element'; -import Enum from './enum'; -import TableGroup from './tableGroup'; -import Ref from './ref'; -import Database, { NormalizedModel } from './database'; -import DbState from './dbState'; -export interface RawSchema { - name: string; - alias?: string; - note?: RawNote; - tables?: Table[]; - refs?: Ref[]; - enums?: Enum[]; - tableGroups?: TableGroup[]; - token?: Token; - database: Database; -} -declare class Schema extends Element { - name: string; - alias: string; - note: string; - noteToken: Token; - tables: Table[]; - refs: Ref[]; - enums: Enum[]; - tableGroups: TableGroup[]; - database: Database; - dbState: DbState; - constructor({ name, alias, note, tables, refs, enums, tableGroups, token, database }: RawSchema); - generateId(): void; - processTables(rawTables: any): void; - pushTable(table: any): void; - checkTable(table: any): void; - findTable(tableName: string): Table; - processEnums(rawEnums: any): void; - pushEnum(_enum: any): void; - checkEnum(_enum: any): void; - bindEnumToField(_enum: any): void; - processRefs(rawRefs: any): void; - pushRef(ref: any): void; - checkRef(ref: any): void; - processTableGroups(rawTableGroups: any): void; - pushTableGroup(tableGroup: any): void; - checkTableGroup(tableGroup: any): void; - checkSameId(schema: any): boolean; - export(): { - tables: { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - name: string; - alias: string; - note: string; - headerColor: string; - }[]; - enums: { - values: { - name: string; - note: string; - }[]; - name: string; - note: string; - }[]; - tableGroups: { - tables: { - tableName: string; - schemaName: string; - }[]; - name: string; - }[]; - refs: { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - name: string; - onDelete: any; - onUpdate: any; - }[]; - name: string; - note: string; - alias: string; - }; - exportChild(): { - tables: { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - name: string; - alias: string; - note: string; - headerColor: string; - }[]; - enums: { - values: { - name: string; - note: string; - }[]; - name: string; - note: string; - }[]; - tableGroups: { - tables: { - tableName: string; - schemaName: string; - }[]; - name: string; - }[]; - refs: { - endpoints: { - schemaName: string; - tableName: string; - fieldNames: string[]; - relation: any; - }[]; - name: string; - onDelete: any; - onUpdate: any; - }[]; - }; - exportChildIds(): { - tableIds: number[]; - noteIds: number[]; - enumIds: number[]; - tableGroupIds: number[]; - refIds: number[]; - }; - exportParentIds(): { - databaseId: number; - }; - shallowExport(): { - name: string; - note: string; - alias: string; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedSchema { - id: number; - name: string; - note: string | null; - alias: string; - tableIds: number[]; - noteIds: number[]; - refIds: number[]; - tableGroupIds: number[]; - enumIds: number[]; - databaseId: number; -} - -export interface NormalizedSchemaIdMap { - [_id: number]: NormalizedSchema; -} - -export default Schema; diff --git a/packages/dbml-core/types/model_structure/stickyNote.d.ts b/packages/dbml-core/types/model_structure/stickyNote.d.ts deleted file mode 100644 index 0cdcbcaf9..000000000 --- a/packages/dbml-core/types/model_structure/stickyNote.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import Element, { Token } from './element'; -import Database from './database'; -import DbState from './dbState'; -import { NormalizedModel } from './database'; - -export interface RawStickyNote { - name: string; - content: string; - database: Database; - token: Token; - headerColor: string; -} - -declare class StickyNote extends Element { - name: string; - content: string; - noteToken: Token; - headerColor: string; - database: Database; - dbState: DbState; - id: number; - constructor({ name, content, token, headerColor, database }: RawStickyNote); - generateId(): void; - export(): { - name: string; - content: string; - headerColor: string; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedNote { - id: number; - name: string; - content: string; - headerColor: string | null; -} - -export interface NormalizedNoteIdMap { - [id: number]: NormalizedNote; -} - -export default StickyNote; diff --git a/packages/dbml-core/types/model_structure/table.d.ts b/packages/dbml-core/types/model_structure/table.d.ts deleted file mode 100644 index 01ae257a3..000000000 --- a/packages/dbml-core/types/model_structure/table.d.ts +++ /dev/null @@ -1,143 +0,0 @@ -import Element, { RawNote, Token } from './element'; -import Field from './field'; -import Index from './indexes'; -import Check from './check'; -import Schema from './schema'; -import DbState from './dbState'; -import TableGroup from './tableGroup'; -import TablePartial from './tablePartial'; -import { NormalizedModel, TableRecord } from './database'; - -export interface RawTable { - name: string; - alias: string; - note: RawNote; - fields: Field[]; - indexes: Index[]; - checks?: any[]; - schema: Schema; - token: Token; - headerColor: string; - partials: TablePartial[]; -} - -declare class Table extends Element { - name: string; - alias: string; - note: string; - noteToken: Token; - fields: Field[]; - indexes: Index[]; - checks: Check[]; - schema: Schema; - headerColor: string; - dbState: DbState; - id: number; - group: TableGroup; - partials: TablePartial[]; - records: TableRecord[]; - - constructor({ name, alias, note, fields, indexes, checks, schema, token, headerColor }: RawTable); - generateId(): void; - processFields(rawFields: any): void; - pushField(field: any): void; - checkField(field: any): void; - processIndexes(rawIndexes: any): void; - pushIndex(index: any): void; - checkIndex(index: any): void; - processChecks(checks: any[]): void; - pushCheck(check: any): void; - findField(fieldName: any): Field; - checkSameId(table: any): boolean; - processPartials(): void; - export(): { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - name: string; - alias: string; - note: string; - headerColor: string; - partials: TablePartial[]; - }; - exportChild(): { - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - }; - exportChildIds(): { - fieldIds: number[]; - indexIds: number[]; - checkIds: number[]; - }; - exportParentIds(): { - schemaId: number; - groupId: number; - }; - shallowExport(): { - name: string; - alias: string; - note: string; - headerColor: string; - partials: TablePartial[]; - recordIds: number[]; - }; - normalize(model: NormalizedModel): void; -} - -export interface NormalizedTable { - id: number; - name: string; - alias: string | null; - note: string | null; - headerColor: string; - fieldIds: number[]; - indexIds: number[]; - checkIds: number[]; - recordIds: number[]; - schemaId: number; - groupId: number | null; - partials: TablePartial[]; -} - -export interface NormalizedTableIdMap { - [id: number]: NormalizedTable; -} - -export default Table; diff --git a/packages/dbml-core/types/model_structure/tableGroup.d.ts b/packages/dbml-core/types/model_structure/tableGroup.d.ts deleted file mode 100644 index d314c6959..000000000 --- a/packages/dbml-core/types/model_structure/tableGroup.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { NormalizedModel } from './database'; -import DbState from './dbState'; -import Element, { RawNote, Token} from './element'; -import Schema from './schema'; -import Table from './table'; - -export interface RawTableGroup { - name: string; - tables: Table[]; - schema: Schema; - token: Token; - note: RawNote; - color: string; -} - -declare class TableGroup extends Element { - name: string; - tables: Table[]; - schema: Schema; - dbState: DbState; - id: number; - note: string; - noteToken: Token; - color: string; - constructor({ name, token, tables, schema, note, color }: RawTableGroup); - generateId(): void; - processTables(rawTables: any): void; - pushTable(table: any): void; - checkTable(table: any): void; - export(): { - tables: { - tableName: string; - schemaName: string; - }[]; - name: string; - note: string; - color: string; - }; - exportChild(): { - tables: { - tableName: string; - schemaName: string; - }[]; - }; - exportChildIds(): { - tableIds: number[]; - }; - exportParentIds(): { - schemaId: number; - }; - shallowExport(): { - name: string; - note: string; - color: string; - }; - normalize(model: NormalizedModel): void; -} -export interface NormalizedTableGroup { - id: number; - name: string; - note: string | null; - color: string; - tableIds: number[]; - schemaId: number; -} - -export interface NormalizedTableGroupIdMap { - [_id: number]: NormalizedTableGroup; -} - -export default TableGroup; diff --git a/packages/dbml-core/types/model_structure/tablePartial.d.ts b/packages/dbml-core/types/model_structure/tablePartial.d.ts deleted file mode 100644 index d7be072ba..000000000 --- a/packages/dbml-core/types/model_structure/tablePartial.d.ts +++ /dev/null @@ -1,103 +0,0 @@ -import Element, { RawNote, Token } from './element'; -import Field from './field'; -import Index from './indexes'; -import Check from './check'; -import DbState from './dbState'; -import { NormalizedModel } from './database'; - -export interface RawTablePartial { - name: string; - note: RawNote; - fields: Field[]; - indexes: Index[]; - checks?: any[]; - token: Token; - headerColor: string; - dbState: DbState; -} - -declare class TablePartial extends Element { - name: string; - note: string; - noteToken: Token; - fields: Field[]; - indexes: Index[]; - checks: Check[]; - headerColor: string; - dbState: DbState; - id: number; - - constructor({ name, note, fields, indexes, checks, token, headerColor, dbState }: RawTablePartial); - generateId(): void; - export(): { - name: string; - note: string; - headerColor: string; - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId: number | undefined, - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - }; - shallowExport(): { - name: string; - note: string; - headerColor: string; - fields: { - name: string; - type: any; - unique: boolean; - pk: boolean; - not_null: boolean; - note: string; - dbdefault: any; - increment: boolean; - injectedPartialId: number | undefined, - }[]; - indexes: { - columns: { - type: any; - value: any; - }[]; - name: string; - type: any; - unique: boolean; - pk: string; - note: string; - }[]; - }; - normalize(model: NormalizedModel): void; -} - -export interface NormalizedTablePartial { - id: number; - name: string; - note: string; - headerColor: string; - fieldIds: number[]; - indexIds: number[]; - checkIds: number[]; -} - -export interface NormalizedTablePartialIdMap { - [id: number]: NormalizedTablePartial; -} - -export default TablePartial; diff --git a/packages/dbml-core/types/parse/Parser.d.ts b/packages/dbml-core/types/parse/Parser.d.ts deleted file mode 100644 index f649d4f89..000000000 --- a/packages/dbml-core/types/parse/Parser.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Compiler } from '@dbml/parse'; -import Database, { RawDatabase } from '../model_structure/database'; - -export declare type ParseFormat = 'json' - | 'mysql' | 'mysqlLegacy' - | 'postgres' | 'postgresLegacy' - | 'dbml' | 'dbmlv2' - | 'mssql' | 'mssqlLegacy' - | 'schemarb' - | 'snowflake' - | 'oracle'; - -declare class Parser { - public DBMLCompiler: Compiler; - constructor(dbmlCompiler?: Compiler); - static parseJSONToDatabase(rawDatabase: RawDatabase): Database; - /** @deprecated Use parseMySQLToJSONv2 instead */ - static parseMySQLToJSON(str: string): RawDatabase; - static parseMySQLToJSONv2(str: string): RawDatabase; - /** @deprecated Use parsePostgresToJSONv2 instead */ - static parsePostgresToJSON(str: string): RawDatabase; - static parsePostgresToJSONv2(str: string): RawDatabase; - /** @deprecated Use parseDBMLToJSONv2 instead */ - static parseDBMLToJSON(str: string): RawDatabase; - static parseDBMLToJSONv2(str: string, dbmlCompiler?: Compiler): RawDatabase; - static parseSchemaRbToJSON(str: string): RawDatabase; - /** @deprecated Use parseMSSQLToJSONv2 instead */ - static parseMSSQLToJSON(str: string): RawDatabase; - static parseMSSQLToJSONv2(str: string): RawDatabase; - static parseSnowflakeToJSON(str: string): RawDatabase; - static parseOracleToJSON(str: string): RawDatabase; - /** - * Should use parse() instance method instead of this static method whenever possible - */ - static parse(str: string, format: ParseFormat): Database; - static parse(str: RawDatabase, format: 'json'): Database; - parse(str: string, format: ParseFormat): Database; - parse(str: RawDatabase, format: 'json'): Database; -} -export default Parser; diff --git a/packages/dbml-core/types/parse/error.d.ts b/packages/dbml-core/types/parse/error.d.ts deleted file mode 100644 index 71bda5d46..000000000 --- a/packages/dbml-core/types/parse/error.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare type WarningLevel = - | 'error' - | 'warning' - | 'info'; - -export declare type ErrorCode = number; - -export declare interface EditorPosition { - line: number; - column: number; -} - -export declare interface CompilerDiagnostic { - readonly message: Readonly; - readonly filepath?: Readonly; - readonly stack?: Readonly; - readonly location: { - start: Readonly, - end?: Readonly, - }; - readonly type?: Readonly; - readonly code?: Readonly; -} - -export declare class CompilerError { - diags: CompilerDiagnostic[]; - constructor(diags: CompilerDiagnostic[]); - static create(nestedDiags: unknown): CompilerError; - map(callback: (diag: CompilerDiagnostic) => CompilerDiagnostic): CompilerError; -} diff --git a/packages/dbml-core/types/transform/index.d.ts b/packages/dbml-core/types/transform/index.d.ts deleted file mode 100644 index 56f813a1a..000000000 --- a/packages/dbml-core/types/transform/index.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { DiagramViewSyncOperation, DiagramViewBlock, TextEdit } from '@dbml/parse'; - -export type TableNameInput = string | { schema?: string; table: string }; - -export function renameTable( - oldName: TableNameInput, - newName: TableNameInput, - dbmlCode: string -): string; - -export function syncDiagramView( - dbmlCode: string, - operations: DiagramViewSyncOperation[], - blocks?: DiagramViewBlock[], -): { newDbml: string; edits: TextEdit[] }; - -export function findDiagramViewBlocks( - dbmlCode: string, -): DiagramViewBlock[]; diff --git a/packages/dbml-core/vite.config.ts b/packages/dbml-core/vite.config.ts index cf9ea8747..595fd31dc 100644 --- a/packages/dbml-core/vite.config.ts +++ b/packages/dbml-core/vite.config.ts @@ -2,8 +2,12 @@ import path from 'path'; import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; export default defineConfig({ + plugins: [ + dts({}), + ], resolve: { alias: { '@': path.resolve(__dirname, 'src/'), diff --git a/tsconfig.json b/tsconfig.json index 27791114e..3776e3e9f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -44,7 +44,7 @@ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ /* JavaScript Support */ - "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + "allowJs": false, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */