@dbml/cli 5.0.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +2 -2
- package/{__test__ → __tests__}/cli.test.js +7 -7
- package/__tests__/db2dbml/mssql/dbml-error.log +11 -0
- package/{__test__ → __tests__}/db2dbml/mssql/expect-out-files/schema.dbml +35 -51
- package/{__test__ → __tests__}/db2dbml/mssql/schema.sql +13 -1
- package/__tests__/db2dbml/mysql/dbml-error.log +3 -0
- package/{__test__ → __tests__}/db2dbml/mysql/expect-out-files/schema.dbml +22 -2
- package/{__test__ → __tests__}/db2dbml/mysql/schema.sql +18 -3
- package/__tests__/db2dbml/postgres/dbml-error.log +7 -0
- package/{__test__ → __tests__}/db2dbml/postgres/expect-out-files/schema.dbml +28 -12
- package/{__test__ → __tests__}/db2dbml/postgres/schema.sql +14 -3
- package/{__test__ → __tests__}/db2dbml_bin.js +0 -1
- package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/out-files/schema.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/out-files/schema.sql +1 -1
- package/{__test__/dbml2sql/filename --postgres --out-file → __tests__/dbml2sql/filename --out-file}/out-files/schema.sql +1 -1
- package/{__test__/dbml2sql/filename --out-file → __tests__/dbml2sql/filename --postgres --out-file}/out-files/schema.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +1 -1
- package/{__test__/dbml2sql/filenames --postgres --out-file → __tests__/dbml2sql/filenames --out-file}/out-files/schema.sql +1 -1
- package/{__test__/dbml2sql/filenames --out-file → __tests__/dbml2sql/filenames --postgres --out-file}/out-files/schema.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +1 -1
- package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +1 -1
- package/__tests__/dbml2sql/syntax-error/dbml-error.log +9 -0
- package/{__test__ → __tests__}/dbml2sql_bin.js +0 -1
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/in-files/schema.sql +6 -0
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/in-files/schema.sql +2 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/in-files/schema.sql +6 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/in-files/schema.sql +5 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql +1 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/in-files/schema.sql +5 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/expect-out-files/schema.dbml +83 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/in-files/schema.sql +147 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/options.json +8 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/stdout.txt +1 -0
- package/__tests__/sql2dbml/syntax-error/dbml-error.log +9 -0
- package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +9 -0
- package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +9 -0
- package/{__test__ → __tests__}/sql2dbml_bin.js +0 -1
- package/bin/db2dbml.js +0 -1
- package/bin/dbml2sql.js +0 -1
- package/bin/sql2dbml.js +0 -1
- package/eslint.config.ts +96 -0
- package/jest.config.ts +13 -0
- package/lib/cli/index.js +1 -3
- package/lib/cli/utils.js +8 -6
- package/lib/helpers/logger.js +0 -2
- package/package.json +17 -14
- package/src/cli/index.js +1 -1
- package/src/cli/utils.js +5 -1
- package/src/helpers/logger.js +0 -1
- package/tsconfig.json +13 -5
- package/__test__/db2dbml/mssql/dbml-error.log +0 -337
- package/__test__/db2dbml/mysql/dbml-error.log +0 -230
- package/__test__/db2dbml/postgres/dbml-error.log +0 -63
- package/__test__/dbml2sql/syntax-error/dbml-error.log +0 -345
- package/__test__/sql2dbml/syntax-error/dbml-error.log +0 -342
- package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +0 -342
- package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +0 -339
- package/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/db2dbml/mssql/options.json +0 -0
- /package/{__test__ → __tests__}/db2dbml/mssql/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/db2dbml/mysql/options.json +0 -0
- /package/{__test__ → __tests__}/db2dbml/mysql/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/db2dbml/postgres/options.json +0 -0
- /package/{__test__ → __tests__}/db2dbml/postgres/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/postgres/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CREATE UNIQUE INDEX idx ON Users(id);
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
Table "departments" {
|
|
2
|
+
"dept_id" NUMBER(10) [pk]
|
|
3
|
+
"dept_name" VARCHAR2(100)
|
|
4
|
+
"location_id" NUMBER(10)
|
|
5
|
+
"manager_id" NUMBER(10)
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
Table "locations" {
|
|
9
|
+
"location_id" NUMBER(10) [pk]
|
|
10
|
+
"city" VARCHAR2(100)
|
|
11
|
+
"country_code" CHAR(2)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Table "countries" {
|
|
15
|
+
"country_code" CHAR(2) [pk]
|
|
16
|
+
"country_name" VARCHAR2(100)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Table "employees" {
|
|
20
|
+
"emp_id" NUMBER(10) [pk]
|
|
21
|
+
"emp_name" VARCHAR2(100)
|
|
22
|
+
"department_id" NUMBER(10)
|
|
23
|
+
"manager_id" NUMBER(10)
|
|
24
|
+
"hire_date" DATE
|
|
25
|
+
"location_id" NUMBER(10)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Table "projects" {
|
|
29
|
+
"project_id" NUMBER(10) [pk]
|
|
30
|
+
"project_name" VARCHAR2(200)
|
|
31
|
+
"dept_id" NUMBER(10)
|
|
32
|
+
"lead_emp_id" NUMBER(10)
|
|
33
|
+
"backup_emp_id" NUMBER(10)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
Table "assignments" {
|
|
37
|
+
"assignment_id" NUMBER(10) [pk]
|
|
38
|
+
"emp_id" NUMBER(10)
|
|
39
|
+
"project_id" NUMBER(10)
|
|
40
|
+
"start_date" DATE
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
Table "project_tasks" {
|
|
44
|
+
"project_id" NUMBER(10)
|
|
45
|
+
"task_id" NUMBER(10)
|
|
46
|
+
"task_name" VARCHAR2(200)
|
|
47
|
+
"assigned_emp_id" NUMBER(10)
|
|
48
|
+
|
|
49
|
+
Indexes {
|
|
50
|
+
(project_id, task_id) [pk]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
Table "task_hours" {
|
|
55
|
+
"hour_id" NUMBER(10) [pk]
|
|
56
|
+
"project_id" NUMBER(10)
|
|
57
|
+
"task_id" NUMBER(10)
|
|
58
|
+
"hours_worked" NUMBER(5,2)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Ref "fk_emp_dept":"departments"."dept_id" < "employees"."department_id"
|
|
62
|
+
|
|
63
|
+
Ref "fk_dept_location":"locations"."location_id" < "departments"."location_id"
|
|
64
|
+
|
|
65
|
+
Ref "fk_loc_country":"countries"."country_code" < "locations"."country_code"
|
|
66
|
+
|
|
67
|
+
Ref "fk_emp_manager":"employees"."emp_id" < "employees"."manager_id"
|
|
68
|
+
|
|
69
|
+
Ref "fk_dept_manager":"employees"."emp_id" < "departments"."manager_id"
|
|
70
|
+
|
|
71
|
+
Ref:"departments"."dept_id" < "projects"."dept_id"
|
|
72
|
+
|
|
73
|
+
Ref:"employees"."emp_id" < "assignments"."emp_id"
|
|
74
|
+
|
|
75
|
+
Ref:"projects"."project_id" < "assignments"."project_id"
|
|
76
|
+
|
|
77
|
+
Ref "fk_task_hours_project_task":"project_tasks".("project_id", "task_id") < "task_hours".("project_id", "task_id")
|
|
78
|
+
|
|
79
|
+
Ref "fk_proj_lead_emp":"employees"."emp_id" < "projects"."lead_emp_id"
|
|
80
|
+
|
|
81
|
+
Ref "fk_proj_backup_emp":"employees"."emp_id" < "projects"."backup_emp_id"
|
|
82
|
+
|
|
83
|
+
Ref "fk_task_assigned_emp":"employees"."emp_id" < "project_tasks"."assigned_emp_id"
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
-- Oracle SQL ALTER TABLE ADD FOREIGN KEY Constraint Test Cases
|
|
2
|
+
-- Test setup: Create base tables with primary keys
|
|
3
|
+
CREATE TABLE departments (
|
|
4
|
+
dept_id NUMBER(10) PRIMARY KEY,
|
|
5
|
+
dept_name VARCHAR2(100),
|
|
6
|
+
location_id NUMBER(10),
|
|
7
|
+
manager_id NUMBER(10)
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
CREATE TABLE locations (
|
|
11
|
+
location_id NUMBER(10) PRIMARY KEY,
|
|
12
|
+
city VARCHAR2(100),
|
|
13
|
+
country_code CHAR(2)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE TABLE countries (
|
|
17
|
+
country_code CHAR(2) PRIMARY KEY,
|
|
18
|
+
country_name VARCHAR2(100)
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE TABLE employees (
|
|
22
|
+
emp_id NUMBER(10) PRIMARY KEY,
|
|
23
|
+
emp_name VARCHAR2(100),
|
|
24
|
+
department_id NUMBER(10),
|
|
25
|
+
manager_id NUMBER(10),
|
|
26
|
+
hire_date DATE,
|
|
27
|
+
location_id NUMBER(10)
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
CREATE TABLE projects (
|
|
31
|
+
project_id NUMBER(10) PRIMARY KEY,
|
|
32
|
+
project_name VARCHAR2(200),
|
|
33
|
+
dept_id NUMBER(10),
|
|
34
|
+
lead_emp_id NUMBER(10),
|
|
35
|
+
backup_emp_id NUMBER(10)
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE assignments (
|
|
39
|
+
assignment_id NUMBER(10) PRIMARY KEY,
|
|
40
|
+
emp_id NUMBER(10),
|
|
41
|
+
project_id NUMBER(10),
|
|
42
|
+
start_date DATE
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
-- Table with composite primary key
|
|
46
|
+
CREATE TABLE project_tasks (
|
|
47
|
+
project_id NUMBER(10),
|
|
48
|
+
task_id NUMBER(10),
|
|
49
|
+
task_name VARCHAR2(200),
|
|
50
|
+
assigned_emp_id NUMBER(10),
|
|
51
|
+
PRIMARY KEY (project_id, task_id)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
CREATE TABLE task_hours (
|
|
55
|
+
hour_id NUMBER(10) PRIMARY KEY,
|
|
56
|
+
project_id NUMBER(10),
|
|
57
|
+
task_id NUMBER(10),
|
|
58
|
+
hours_worked NUMBER(5,2)
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
-- ============================================
|
|
62
|
+
-- NAMED FOREIGN KEY CONSTRAINTS - BASIC
|
|
63
|
+
-- ============================================
|
|
64
|
+
|
|
65
|
+
-- Simple single-column FK with constraint name
|
|
66
|
+
ALTER TABLE employees
|
|
67
|
+
ADD CONSTRAINT fk_emp_dept
|
|
68
|
+
FOREIGN KEY (department_id)
|
|
69
|
+
REFERENCES departments(dept_id);
|
|
70
|
+
|
|
71
|
+
-- Single-column FK referencing different table
|
|
72
|
+
ALTER TABLE departments
|
|
73
|
+
ADD CONSTRAINT fk_dept_location
|
|
74
|
+
FOREIGN KEY (location_id)
|
|
75
|
+
REFERENCES locations(location_id);
|
|
76
|
+
|
|
77
|
+
-- FK with explicit column name in referenced table
|
|
78
|
+
ALTER TABLE locations
|
|
79
|
+
ADD CONSTRAINT fk_loc_country
|
|
80
|
+
FOREIGN KEY (country_code)
|
|
81
|
+
REFERENCES countries(country_code);
|
|
82
|
+
|
|
83
|
+
-- Self-referencing FK (hierarchical)
|
|
84
|
+
ALTER TABLE employees
|
|
85
|
+
ADD CONSTRAINT fk_emp_manager
|
|
86
|
+
FOREIGN KEY (manager_id)
|
|
87
|
+
REFERENCES employees(emp_id);
|
|
88
|
+
|
|
89
|
+
-- Another self-referencing FK on different table
|
|
90
|
+
ALTER TABLE departments
|
|
91
|
+
ADD CONSTRAINT fk_dept_manager
|
|
92
|
+
FOREIGN KEY (manager_id)
|
|
93
|
+
REFERENCES employees(emp_id);
|
|
94
|
+
|
|
95
|
+
-- ============================================
|
|
96
|
+
-- UNNAMED FOREIGN KEY CONSTRAINTS
|
|
97
|
+
-- ============================================
|
|
98
|
+
|
|
99
|
+
-- FK without explicit constraint name (Oracle auto-generates)
|
|
100
|
+
ALTER TABLE projects
|
|
101
|
+
ADD FOREIGN KEY (dept_id)
|
|
102
|
+
REFERENCES departments(dept_id);
|
|
103
|
+
|
|
104
|
+
-- Another unnamed FK
|
|
105
|
+
ALTER TABLE assignments
|
|
106
|
+
ADD FOREIGN KEY (emp_id)
|
|
107
|
+
REFERENCES employees(emp_id);
|
|
108
|
+
|
|
109
|
+
-- Unnamed FK with different columns
|
|
110
|
+
ALTER TABLE assignments
|
|
111
|
+
ADD FOREIGN KEY (project_id)
|
|
112
|
+
REFERENCES projects(project_id);
|
|
113
|
+
|
|
114
|
+
-- ============================================
|
|
115
|
+
-- COMPOSITE FOREIGN KEYS (Multiple Columns)
|
|
116
|
+
-- ============================================
|
|
117
|
+
|
|
118
|
+
-- Two-column composite FK
|
|
119
|
+
ALTER TABLE task_hours
|
|
120
|
+
ADD CONSTRAINT fk_task_hours_project_task
|
|
121
|
+
FOREIGN KEY (project_id, task_id)
|
|
122
|
+
REFERENCES project_tasks(project_id, task_id);
|
|
123
|
+
|
|
124
|
+
-- ============================================
|
|
125
|
+
-- FOREIGN KEYS WITH ON DELETE ACTIONS
|
|
126
|
+
-- ============================================
|
|
127
|
+
|
|
128
|
+
-- ON DELETE CASCADE - delete child records when parent is deleted
|
|
129
|
+
ALTER TABLE projects
|
|
130
|
+
ADD CONSTRAINT fk_proj_lead_emp
|
|
131
|
+
FOREIGN KEY (lead_emp_id)
|
|
132
|
+
REFERENCES employees(emp_id)
|
|
133
|
+
ON DELETE CASCADE;
|
|
134
|
+
|
|
135
|
+
-- ON DELETE SET NULL - set FK to NULL when parent is deleted
|
|
136
|
+
ALTER TABLE projects
|
|
137
|
+
ADD CONSTRAINT fk_proj_backup_emp
|
|
138
|
+
FOREIGN KEY (backup_emp_id)
|
|
139
|
+
REFERENCES employees(emp_id)
|
|
140
|
+
ON DELETE SET NULL;
|
|
141
|
+
|
|
142
|
+
-- ON DELETE CASCADE with named constraint
|
|
143
|
+
ALTER TABLE project_tasks
|
|
144
|
+
ADD CONSTRAINT fk_task_assigned_emp
|
|
145
|
+
FOREIGN KEY (assigned_emp_id)
|
|
146
|
+
REFERENCES employees(emp_id)
|
|
147
|
+
ON DELETE CASCADE;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
✔ Generated DBML file from SQL file (Oracle): schema.dbml
|
package/bin/db2dbml.js
CHANGED
package/bin/dbml2sql.js
CHANGED
package/bin/sql2dbml.js
CHANGED
package/eslint.config.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import globals from 'globals';
|
|
2
|
+
import eslint from '@eslint/js';
|
|
3
|
+
import { defineConfig } from 'eslint/config';
|
|
4
|
+
import stylistic from '@stylistic/eslint-plugin';
|
|
5
|
+
import tseslint from 'typescript-eslint';
|
|
6
|
+
import tsparser from '@typescript-eslint/parser';
|
|
7
|
+
import jest from 'eslint-plugin-jest';
|
|
8
|
+
|
|
9
|
+
export default defineConfig(
|
|
10
|
+
eslint.configs.recommended,
|
|
11
|
+
tseslint.configs.recommended,
|
|
12
|
+
stylistic.configs.customize({
|
|
13
|
+
indent: 2,
|
|
14
|
+
semi: true,
|
|
15
|
+
arrowParens: true,
|
|
16
|
+
braceStyle: '1tbs',
|
|
17
|
+
}),
|
|
18
|
+
[
|
|
19
|
+
{
|
|
20
|
+
ignores: [
|
|
21
|
+
'node_modules/*',
|
|
22
|
+
'lib/*',
|
|
23
|
+
'bin/*',
|
|
24
|
+
'jestHelpers.js',
|
|
25
|
+
'eslint.config.ts',
|
|
26
|
+
'jest.config.ts',
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
files: ['**/*.ts', '**/*.js'],
|
|
31
|
+
languageOptions: {
|
|
32
|
+
globals: {
|
|
33
|
+
...globals.node,
|
|
34
|
+
...globals.es2022,
|
|
35
|
+
},
|
|
36
|
+
parser: tsparser,
|
|
37
|
+
parserOptions: {
|
|
38
|
+
sourceType: 'module',
|
|
39
|
+
ecmaVersion: 2018,
|
|
40
|
+
project: './tsconfig.json',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
plugins: {
|
|
44
|
+
'@stylistic': stylistic,
|
|
45
|
+
},
|
|
46
|
+
rules: {
|
|
47
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
48
|
+
'no-use-before-define': 'off',
|
|
49
|
+
'no-continue': 'off',
|
|
50
|
+
'@stylistic/space-before-function-paren': ['error', 'always'],
|
|
51
|
+
'@typescript-eslint/no-unused-vars': [
|
|
52
|
+
'warn',
|
|
53
|
+
{
|
|
54
|
+
argsIgnorePattern: '^_',
|
|
55
|
+
varsIgnorePattern: '^_',
|
|
56
|
+
caughtErrorsIgnorePattern: '^_',
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
'consistent-return': 'off',
|
|
60
|
+
'@typescript-eslint/consistent-return': [
|
|
61
|
+
'error',
|
|
62
|
+
],
|
|
63
|
+
'@stylistic/quotes': ['error', 'single', { 'avoidEscape': true }],
|
|
64
|
+
'@stylistic/max-statements-per-line': 'off',
|
|
65
|
+
'@stylistic/operator-linebreak': ['error', 'before', { overrides: { '=': 'after' } }],
|
|
66
|
+
},
|
|
67
|
+
settings: {
|
|
68
|
+
'import/resolver': {
|
|
69
|
+
typescript: {
|
|
70
|
+
alwaysTryTypes: true,
|
|
71
|
+
project: 'packages/*/{ts,js}config.json',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
files: ['**/*.test.js', '**/*.spec.js'],
|
|
78
|
+
...jest.configs['flat/recommended'],
|
|
79
|
+
languageOptions: {
|
|
80
|
+
globals: {
|
|
81
|
+
...jest.environments.globals.globals,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
rules: {
|
|
85
|
+
'no-undef': 'warn',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
files: ['bin/**/*', '**/*.test.js', '**/*.spec.js', '__tests__/**/*'],
|
|
90
|
+
rules: {
|
|
91
|
+
'@typescript-eslint/no-require-imports': 'warn',
|
|
92
|
+
'no-global-assign': 'warn',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
);
|
package/jest.config.ts
ADDED
package/lib/cli/index.js
CHANGED
|
@@ -12,8 +12,6 @@ var _export = _interopRequireDefault(require("./export"));
|
|
|
12
12
|
var _connector = _interopRequireDefault(require("./connector"));
|
|
13
13
|
var _package = _interopRequireDefault(require("../../package.json"));
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
/* eslint-disable max-len */
|
|
16
|
-
|
|
17
15
|
function showHelp(args) {
|
|
18
16
|
if (args.length < 3) _commander.default.help();
|
|
19
17
|
}
|
|
@@ -28,7 +26,7 @@ function dbml2sql(args) {
|
|
|
28
26
|
}
|
|
29
27
|
function sql2dbml(args) {
|
|
30
28
|
_commander.default.version(_package.default.version);
|
|
31
|
-
_commander.default.usage('[options] <files...>').option('--mysql').option('--mysql-legacy').option('--postgres').option('--postgres-legacy').option('--mssql').option('--mssql-legacy').option('--snowflake').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
|
|
29
|
+
_commander.default.usage('[options] <files...>').option('--mysql').option('--mysql-legacy').option('--postgres').option('--postgres-legacy').option('--mssql').option('--mssql-legacy').option('--snowflake').option('--oracle').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
|
|
32
30
|
// .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
|
|
33
31
|
|
|
34
32
|
showHelp(args);
|
package/lib/cli/utils.js
CHANGED
|
@@ -67,12 +67,14 @@ function generate(inputPaths, transform, outputPlugin) {
|
|
|
67
67
|
const content = transform(source);
|
|
68
68
|
outputPlugin.write(content);
|
|
69
69
|
} catch (e) {
|
|
70
|
-
if (e instanceof _core.CompilerError)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
if (e instanceof _core.CompilerError) {
|
|
71
|
+
throw e.map(diag => ({
|
|
72
|
+
...diag,
|
|
73
|
+
message: diag.message,
|
|
74
|
+
filepath: _path2.default.basename(_path),
|
|
75
|
+
stack: diag.stack
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
76
78
|
throw e;
|
|
77
79
|
}
|
|
78
80
|
});
|
package/lib/helpers/logger.js
CHANGED
|
@@ -8,8 +8,6 @@ var _winston = require("winston");
|
|
|
8
8
|
var _chalk = _interopRequireDefault(require("chalk"));
|
|
9
9
|
var _path = _interopRequireDefault(require("path"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
/* eslint-disable import/no-import-module-exports */
|
|
12
|
-
|
|
13
11
|
const {
|
|
14
12
|
combine,
|
|
15
13
|
timestamp,
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/package",
|
|
2
3
|
"name": "@dbml/cli",
|
|
3
|
-
"version": "5.
|
|
4
|
+
"version": "5.2.0",
|
|
4
5
|
"description": "",
|
|
5
6
|
"main": "lib/index.js",
|
|
6
7
|
"license": "Apache-2.0",
|
|
7
8
|
"scripts": {
|
|
8
9
|
"test": "jest",
|
|
9
10
|
"build": "babel src --out-dir lib --copy-files",
|
|
10
|
-
"prepublish": "npm run build"
|
|
11
|
+
"prepublish": "npm run build",
|
|
12
|
+
"lint": "eslint .",
|
|
13
|
+
"lint:fix": "eslint --fix ."
|
|
11
14
|
},
|
|
12
15
|
"publishConfig": {
|
|
13
16
|
"access": "public"
|
|
@@ -26,8 +29,8 @@
|
|
|
26
29
|
],
|
|
27
30
|
"dependencies": {
|
|
28
31
|
"@babel/cli": "^7.21.0",
|
|
29
|
-
"@dbml/connector": "^5.
|
|
30
|
-
"@dbml/core": "^5.
|
|
32
|
+
"@dbml/connector": "^5.2.0",
|
|
33
|
+
"@dbml/core": "^5.2.0",
|
|
31
34
|
"bluebird": "^3.5.5",
|
|
32
35
|
"chalk": "^2.4.2",
|
|
33
36
|
"commander": "^2.20.0",
|
|
@@ -44,18 +47,18 @@
|
|
|
44
47
|
"@babel/plugin-transform-runtime": "^7.21.4",
|
|
45
48
|
"@babel/preset-env": "^7.21.4",
|
|
46
49
|
"@babel/runtime": "^7.21.0",
|
|
50
|
+
"@stylistic/eslint-plugin": "^5.5.0",
|
|
51
|
+
"@typescript-eslint/eslint-plugin": "^8.46.3",
|
|
52
|
+
"@typescript-eslint/parser": "^8.46.3",
|
|
47
53
|
"babel-jest": "^29.5.0",
|
|
48
|
-
"
|
|
54
|
+
"eslint": "^9.39.1",
|
|
55
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
56
|
+
"eslint-plugin-jest": "^29.0.1",
|
|
57
|
+
"jest": "^29.5.0",
|
|
58
|
+
"typescript": "^5.9.3",
|
|
59
|
+
"typescript-eslint": "^8.46.3"
|
|
49
60
|
},
|
|
50
|
-
"
|
|
51
|
-
"setupFiles": [
|
|
52
|
-
"./jestHelpers.js"
|
|
53
|
-
],
|
|
54
|
-
"transform": {
|
|
55
|
-
"^.+\\.js$": "babel-jest"
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
"gitHead": "a2d029e9c3c78ab0956312495165ec3115b5bc00",
|
|
61
|
+
"gitHead": "20d556a6e6baad8a989c730e2afd3b65dedcea89",
|
|
59
62
|
"engines": {
|
|
60
63
|
"node": ">=18"
|
|
61
64
|
}
|
package/src/cli/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
1
|
import program from 'commander';
|
|
3
2
|
import importHandler from './import';
|
|
4
3
|
import exportHandler from './export';
|
|
@@ -39,6 +38,7 @@ function sql2dbml (args) {
|
|
|
39
38
|
.option('--mssql')
|
|
40
39
|
.option('--mssql-legacy')
|
|
41
40
|
.option('--snowflake')
|
|
41
|
+
.option('--oracle')
|
|
42
42
|
.option('-o, --out-file <pathspec>', 'compile all input files into a single files');
|
|
43
43
|
// .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
|
|
44
44
|
|
package/src/cli/utils.js
CHANGED
|
@@ -68,7 +68,11 @@ function generate (inputPaths, transform, outputPlugin) {
|
|
|
68
68
|
const content = transform(source);
|
|
69
69
|
outputPlugin.write(content);
|
|
70
70
|
} catch (e) {
|
|
71
|
-
if (e instanceof CompilerError)
|
|
71
|
+
if (e instanceof CompilerError) {
|
|
72
|
+
throw e.map((diag) => ({
|
|
73
|
+
...diag, message: diag.message, filepath: path.basename(_path), stack: diag.stack,
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
72
76
|
throw e;
|
|
73
77
|
}
|
|
74
78
|
});
|
package/src/helpers/logger.js
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "../../tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"rootDirs": [
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
"rootDirs": [
|
|
5
|
+
"./src",
|
|
6
|
+
"./"
|
|
7
|
+
], /* Allow multiple folders to be treated as one when resolving modules. */
|
|
8
|
+
"baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */
|
|
9
|
+
"outDir": "./lib" /* Specify an output folder for all emitted files. */
|
|
7
10
|
},
|
|
8
|
-
"files": [
|
|
9
|
-
|
|
11
|
+
"files": [
|
|
12
|
+
"package.json"
|
|
13
|
+
],
|
|
14
|
+
"include": [
|
|
15
|
+
"src/**/*",
|
|
16
|
+
"__tests__/**/*"
|
|
17
|
+
]
|
|
10
18
|
}
|