diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e95c30a9b475..000000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,50 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [7.0.0-alpha.40](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.39...v7.0.0-alpha.40) (2024-04-11) - -### Bug Fixes - -- parse the `url` option based on the dialect ([#17252](https://github.com/sequelize/sequelize/issues/17252)) ([f05281c](https://github.com/sequelize/sequelize/commit/f05281cd406cba7d14c8770d64261ef6b859d143)) -- update bulkDeleteQuery supported options ([#17191](https://github.com/sequelize/sequelize/issues/17191)) ([c53fd01](https://github.com/sequelize/sequelize/commit/c53fd0114ab7a796d7b649abd12086e3c6f7d077)) - -- feat(mssql)!: move mssql to the `@sequelize/mssql` package (#17206) ([8631f5a](https://github.com/sequelize/sequelize/commit/8631f5a51cf81e244f3160d753865bdfa0a2f539)), closes [#17206](https://github.com/sequelize/sequelize/issues/17206) -- feat(ibmi)!: move ibmi to the `@sequelize/ibmi` package (#17209) ([21772a5](https://github.com/sequelize/sequelize/commit/21772a5b2aa4eec952f91ba747093cb737af4af9)), closes [#17209](https://github.com/sequelize/sequelize/issues/17209) -- feat(mysql)!: move mysql to the `@sequelize/mysql` package (#17202) ([5c7830e](https://github.com/sequelize/sequelize/commit/5c7830e976900cca2b8c40535a0e895a66f2d8a6)), closes [#17202](https://github.com/sequelize/sequelize/issues/17202) -- feat(mariadb)!: move mariadb to the `@sequelize/mariadb` package (#17198) ([46ea159](https://github.com/sequelize/sequelize/commit/46ea159306c55c7b3c02ac0ba24a2c0dd3dff4d9)), closes [#17198](https://github.com/sequelize/sequelize/issues/17198) - -### Features - -- add `ModelRepository#_UNSTABLE_bulkDestroy` and manual `ON DELETE` handling ([#17078](https://github.com/sequelize/sequelize/issues/17078)) ([45ac01a](https://github.com/sequelize/sequelize/commit/45ac01acbb56d815ad195649003501407e31f8b4)) -- **cli:** add `seed generate` command ([#17262](https://github.com/sequelize/sequelize/issues/17262)) ([b07ad40](https://github.com/sequelize/sequelize/commit/b07ad40f3f55a4a7bc7c924c3349b542b6e705d9)) -- create `@sequelize/cli` as a replacement for `sequelize-cli` ([#17195](https://github.com/sequelize/sequelize/issues/17195)) ([ec00aed](https://github.com/sequelize/sequelize/commit/ec00aed29674bb698445c2c7109b229215e96a0c)) -- **db2:** move db2 to the `@sequelize/db2` package ([#17197](https://github.com/sequelize/sequelize/issues/17197)) ([6aa4ced](https://github.com/sequelize/sequelize/commit/6aa4ceda95fb5fb96abaf6e0de3cd116ade664f9)) -- move postgres to the `@sequelize/postgres` package ([#17190](https://github.com/sequelize/sequelize/issues/17190)) ([721d560](https://github.com/sequelize/sequelize/commit/721d56061c801015a8ec91d8e0aed30b5da24497)) -- **mssql:** upgrade to tedious 18 ([#17137](https://github.com/sequelize/sequelize/issues/17137)) ([65e19a1](https://github.com/sequelize/sequelize/commit/65e19a174f69aaef12f396e062a8270362b48a50)) -- re-add the ability to override the connector library ([#17219](https://github.com/sequelize/sequelize/issues/17219)) ([b3c3362](https://github.com/sequelize/sequelize/commit/b3c3362aeca7ce50d0bdb657c6db25f2418dc687)) -- rename `@sequelize/sqlite` to `@sequelize/sqlite3`, `@sequelize/ibmi` to `@sequelize/db2-ibmi`, ban conflicting options ([#17269](https://github.com/sequelize/sequelize/issues/17269)) ([1fb48a4](https://github.com/sequelize/sequelize/commit/1fb48a462c96ec64bf8ed19f91662c4d73e1fe3e)) -- type options per dialect, add "url" option, remove alternative Sequelize constructor signatures ([#17222](https://github.com/sequelize/sequelize/issues/17222)) ([b605bb3](https://github.com/sequelize/sequelize/commit/b605bb372b1500a75daa46bb4c4ae6f4912094a1)) - -### BREAKING CHANGES - -- `db2`, `ibmi`, `snowflake` and `sqlite` do not accept the `url` option anymore -- The sequelize constructor only accepts a single parameter: the option bag. All other signatures have been removed. -- Setting the sequelize option to a string representing a URL has been replaced with the `"url"` option. -- The `dialectOptions` option has been removed. All options that were previously in that object can now be set at the root of the option bag, like all other options. -- All dialect-specific options changed. This includes at least some credential options that changed. -- Which dialect-specific option can be used is allow-listed to ensure they do not break Sequelize -- The sequelize pool is not on the connection manager anymore. It is now directly on the sequelize instance and can be accessed via `sequelize.pool` -- The `sequelize.config` field has been removed. Everything related to connecting to the database has been normalized to `sequelize.options.replication.write` (always present) and `sequelize.options.replication.read` (only present if read-replication is enabled) -- `sequelize.options` is now fully frozen. It is no longer possible to modify the Sequelize options after the instance has been created. -- `sequelize.options` is a normalized list of option. If you wish to access the options that were used to create the sequelize instance, use `sequelize.rawOptions` -- The default sqlite database is not `':memory:'` anymore, but `sequelize.sqlite` in your current working directory. -- Setting the sqlite database to a temporary database like `':memory:'` or `''` requires configuring the pool to behave like a singleton, and disallowed read replication -- The `match` option is no longer supported by `sequelize.sync`. If you made use of this feature, let us know so we can design a better alternative. -- The `dialectModulePath` has been fully removed to improve compatibility with bundlers. -- The `dialectModule` option has been split into multiple options. Each option is named after the npm library that is being replaced. For instance, `@sequelize/postgres` now accepts `pgModule`. `@sequelize/mssql` now accepts `tediousModule` -- Instead of installing the `mssql` package, users need to install `@sequelize/mssql`. -- Instead of installing the `odbc` package, users need to install `@sequelize/ibmi`. -- Instead of installing `mysql2`, users need to install `@sequelize/mysql`. -- Instead of installing the `mariadb` package, users need to install `@sequelize/mariadb.` diff --git a/package.json b/package.json index edd252122c5d..41f470145c5f 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "packages/*" ], "devDependencies": { - "@ephys/eslint-config-typescript": "20.1.2", + "@ephys/eslint-config-typescript": "20.1.3", "@rushstack/eslint-patch": "1.10.2", "@sequelize/utils": "workspace:*", "@types/chai": "4.3.14", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md deleted file mode 100644 index cf1205fc08b7..000000000000 --- a/packages/core/CHANGELOG.md +++ /dev/null @@ -1,48 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [7.0.0-alpha.40](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.39...v7.0.0-alpha.40) (2024-04-11) - -### Bug Fixes - -- parse the `url` option based on the dialect ([#17252](https://github.com/sequelize/sequelize/issues/17252)) ([f05281c](https://github.com/sequelize/sequelize/commit/f05281cd406cba7d14c8770d64261ef6b859d143)) -- update bulkDeleteQuery supported options ([#17191](https://github.com/sequelize/sequelize/issues/17191)) ([c53fd01](https://github.com/sequelize/sequelize/commit/c53fd0114ab7a796d7b649abd12086e3c6f7d077)) - -- feat(mssql)!: move mssql to the `@sequelize/mssql` package (#17206) ([8631f5a](https://github.com/sequelize/sequelize/commit/8631f5a51cf81e244f3160d753865bdfa0a2f539)), closes [#17206](https://github.com/sequelize/sequelize/issues/17206) -- feat(ibmi)!: move ibmi to the `@sequelize/ibmi` package (#17209) ([21772a5](https://github.com/sequelize/sequelize/commit/21772a5b2aa4eec952f91ba747093cb737af4af9)), closes [#17209](https://github.com/sequelize/sequelize/issues/17209) -- feat(mysql)!: move mysql to the `@sequelize/mysql` package (#17202) ([5c7830e](https://github.com/sequelize/sequelize/commit/5c7830e976900cca2b8c40535a0e895a66f2d8a6)), closes [#17202](https://github.com/sequelize/sequelize/issues/17202) -- feat(mariadb)!: move mariadb to the `@sequelize/mariadb` package (#17198) ([46ea159](https://github.com/sequelize/sequelize/commit/46ea159306c55c7b3c02ac0ba24a2c0dd3dff4d9)), closes [#17198](https://github.com/sequelize/sequelize/issues/17198) - -### Features - -- add `ModelRepository#_UNSTABLE_bulkDestroy` and manual `ON DELETE` handling ([#17078](https://github.com/sequelize/sequelize/issues/17078)) ([45ac01a](https://github.com/sequelize/sequelize/commit/45ac01acbb56d815ad195649003501407e31f8b4)) -- **db2:** move db2 to the `@sequelize/db2` package ([#17197](https://github.com/sequelize/sequelize/issues/17197)) ([6aa4ced](https://github.com/sequelize/sequelize/commit/6aa4ceda95fb5fb96abaf6e0de3cd116ade664f9)) -- move postgres to the `@sequelize/postgres` package ([#17190](https://github.com/sequelize/sequelize/issues/17190)) ([721d560](https://github.com/sequelize/sequelize/commit/721d56061c801015a8ec91d8e0aed30b5da24497)) -- **mssql:** upgrade to tedious 18 ([#17137](https://github.com/sequelize/sequelize/issues/17137)) ([65e19a1](https://github.com/sequelize/sequelize/commit/65e19a174f69aaef12f396e062a8270362b48a50)) -- re-add the ability to override the connector library ([#17219](https://github.com/sequelize/sequelize/issues/17219)) ([b3c3362](https://github.com/sequelize/sequelize/commit/b3c3362aeca7ce50d0bdb657c6db25f2418dc687)) -- rename `@sequelize/sqlite` to `@sequelize/sqlite3`, `@sequelize/ibmi` to `@sequelize/db2-ibmi`, ban conflicting options ([#17269](https://github.com/sequelize/sequelize/issues/17269)) ([1fb48a4](https://github.com/sequelize/sequelize/commit/1fb48a462c96ec64bf8ed19f91662c4d73e1fe3e)) -- type options per dialect, add "url" option, remove alternative Sequelize constructor signatures ([#17222](https://github.com/sequelize/sequelize/issues/17222)) ([b605bb3](https://github.com/sequelize/sequelize/commit/b605bb372b1500a75daa46bb4c4ae6f4912094a1)) - -### BREAKING CHANGES - -- `db2`, `ibmi`, `snowflake` and `sqlite` do not accept the `url` option anymore -- The sequelize constructor only accepts a single parameter: the option bag. All other signatures have been removed. -- Setting the sequelize option to a string representing a URL has been replaced with the `"url"` option. -- The `dialectOptions` option has been removed. All options that were previously in that object can now be set at the root of the option bag, like all other options. -- All dialect-specific options changed. This includes at least some credential options that changed. -- Which dialect-specific option can be used is allow-listed to ensure they do not break Sequelize -- The sequelize pool is not on the connection manager anymore. It is now directly on the sequelize instance and can be accessed via `sequelize.pool` -- The `sequelize.config` field has been removed. Everything related to connecting to the database has been normalized to `sequelize.options.replication.write` (always present) and `sequelize.options.replication.read` (only present if read-replication is enabled) -- `sequelize.options` is now fully frozen. It is no longer possible to modify the Sequelize options after the instance has been created. -- `sequelize.options` is a normalized list of option. If you wish to access the options that were used to create the sequelize instance, use `sequelize.rawOptions` -- The default sqlite database is not `':memory:'` anymore, but `sequelize.sqlite` in your current working directory. -- Setting the sqlite database to a temporary database like `':memory:'` or `''` requires configuring the pool to behave like a singleton, and disallowed read replication -- The `match` option is no longer supported by `sequelize.sync`. If you made use of this feature, let us know so we can design a better alternative. -- The `dialectModulePath` has been fully removed to improve compatibility with bundlers. -- The `dialectModule` option has been split into multiple options. Each option is named after the npm library that is being replaced. For instance, `@sequelize/postgres` now accepts `pgModule`. `@sequelize/mssql` now accepts `tediousModule` -- Instead of installing the `mssql` package, users need to install `@sequelize/mssql`. -- Instead of installing the `odbc` package, users need to install `@sequelize/ibmi`. -- Instead of installing `mysql2`, users need to install `@sequelize/mysql`. -- Instead of installing the `mariadb` package, users need to install `@sequelize/mariadb.` diff --git a/packages/core/test/integration/model/internals.test.ts b/packages/core/test/integration/model/internals.test.ts index 5f951217750a..dc0252b6eae0 100644 --- a/packages/core/test/integration/model/internals.test.ts +++ b/packages/core/test/integration/model/internals.test.ts @@ -61,7 +61,6 @@ describe('setTransactionFromCls', () => { setTransactionFromCls(options, sequelize); expect(options.transaction).to.eq(null); - // eslint-disable-next-line unicorn/no-useless-undefined -- false positive. expect(options.connection).to.eq(undefined); }); }); @@ -80,7 +79,6 @@ describe('setTransactionFromCls', () => { setTransactionFromCls(options, sequelize); - // eslint-disable-next-line unicorn/no-useless-undefined -- false positive. expect(options.transaction).to.eq(undefined); expect(options.connection).to.eq(connection); }); diff --git a/packages/ibmi/src/connection-manager.ts b/packages/ibmi/src/connection-manager.ts index 318386905e24..9218dbcb93e7 100644 --- a/packages/ibmi/src/connection-manager.ts +++ b/packages/ibmi/src/connection-manager.ts @@ -115,7 +115,6 @@ export class IBMiConnectionManager extends AbstractConnectionManager { expect(inspect(123)).to.equal('123'); expect(inspect(123n)).to.equal('123n'); expect(inspect(null)).to.equal('null'); - // eslint-disable-next-line unicorn/no-useless-undefined -- false positive expect(inspect(undefined)).to.equal('undefined'); expect(inspect(true)).to.equal('true'); expect(inspect(false)).to.equal('false'); diff --git a/packages/utils/src/common/predicates/__tests__/is-any-object.test.ts b/packages/utils/src/common/predicates/__tests__/is-any-object.test.ts index fd6be765d1de..cc93a5004ba9 100644 --- a/packages/utils/src/common/predicates/__tests__/is-any-object.test.ts +++ b/packages/utils/src/common/predicates/__tests__/is-any-object.test.ts @@ -21,7 +21,6 @@ describe('isAnyObject', () => { expect(isAnyObject(42)).to.be.false; expect(isAnyObject('string')).to.be.false; expect(isAnyObject(true)).to.be.false; - // eslint-disable-next-line unicorn/no-useless-undefined -- false positive expect(isAnyObject(undefined)).to.be.false; expect(isAnyObject(Symbol('symbol'))).to.be.false; expect(isAnyObject(123n)).to.be.false; diff --git a/packages/utils/src/common/predicates/__tests__/is-nullish.test.ts b/packages/utils/src/common/predicates/__tests__/is-nullish.test.ts index a6e538808414..898a0e20b4df 100644 --- a/packages/utils/src/common/predicates/__tests__/is-nullish.test.ts +++ b/packages/utils/src/common/predicates/__tests__/is-nullish.test.ts @@ -5,7 +5,6 @@ import { expectTypeOf } from 'expect-type'; describe('isNullish', () => { it('returns true for null and undefined', () => { expect(isNullish(null)).to.be.true; - // eslint-disable-next-line unicorn/no-useless-undefined -- false positive expect(isNullish(undefined)).to.be.true; }); diff --git a/packages/validator-js/CHANGELOG.md b/packages/validator-js/CHANGELOG.md deleted file mode 100644 index 9ae3ce852468..000000000000 --- a/packages/validator-js/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [7.0.0-alpha.40](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.39...v7.0.0-alpha.40) (2024-04-11) - -### Features - -- move postgres to the `@sequelize/postgres` package ([#17190](https://github.com/sequelize/sequelize/issues/17190)) ([721d560](https://github.com/sequelize/sequelize/commit/721d56061c801015a8ec91d8e0aed30b5da24497)) -- rename `@sequelize/sqlite` to `@sequelize/sqlite3`, `@sequelize/ibmi` to `@sequelize/db2-ibmi`, ban conflicting options ([#17269](https://github.com/sequelize/sequelize/issues/17269)) ([1fb48a4](https://github.com/sequelize/sequelize/commit/1fb48a462c96ec64bf8ed19f91662c4d73e1fe3e)) -- type options per dialect, add "url" option, remove alternative Sequelize constructor signatures ([#17222](https://github.com/sequelize/sequelize/issues/17222)) ([b605bb3](https://github.com/sequelize/sequelize/commit/b605bb372b1500a75daa46bb4c4ae6f4912094a1)) - -### BREAKING CHANGES - -- The sequelize constructor only accepts a single parameter: the option bag. All other signatures have been removed. -- Setting the sequelize option to a string representing a URL has been replaced with the `"url"` option. -- The `dialectOptions` option has been removed. All options that were previously in that object can now be set at the root of the option bag, like all other options. -- All dialect-specific options changed. This includes at least some credential options that changed. -- Which dialect-specific option can be used is allow-listed to ensure they do not break Sequelize -- The sequelize pool is not on the connection manager anymore. It is now directly on the sequelize instance and can be accessed via `sequelize.pool` -- The `sequelize.config` field has been removed. Everything related to connecting to the database has been normalized to `sequelize.options.replication.write` (always present) and `sequelize.options.replication.read` (only present if read-replication is enabled) -- `sequelize.options` is now fully frozen. It is no longer possible to modify the Sequelize options after the instance has been created. -- `sequelize.options` is a normalized list of option. If you wish to access the options that were used to create the sequelize instance, use `sequelize.rawOptions` -- The default sqlite database is not `':memory:'` anymore, but `sequelize.sqlite` in your current working directory. -- Setting the sqlite database to a temporary database like `':memory:'` or `''` requires configuring the pool to behave like a singleton, and disallowed read replication -- The `match` option is no longer supported by `sequelize.sync`. If you made use of this feature, let us know so we can design a better alternative. diff --git a/yarn.lock b/yarn.lock index b8cc4e673f74..da9d3ed54f8b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1295,21 +1295,21 @@ __metadata: languageName: node linkType: hard -"@ephys/eslint-config-typescript@npm:20.1.2": - version: 20.1.2 - resolution: "@ephys/eslint-config-typescript@npm:20.1.2" +"@ephys/eslint-config-typescript@npm:20.1.3": + version: 20.1.3 + resolution: "@ephys/eslint-config-typescript@npm:20.1.3" dependencies: - "@ephys/eslint-config": "npm:^20.1.2" + "@ephys/eslint-config": "npm:^20.1.3" "@typescript-eslint/eslint-plugin": "npm:^7.2.0" "@typescript-eslint/parser": "npm:^7.2.0" eslint-import-resolver-typescript: "npm:^3.6.1" - checksum: 10c0/c1221d3bc17bb80cdbacbfd69703afd162eae5715813c84a47fa2dd7a6c81f550b467542d10b135d3b71e43c8fb45e34ec9e1b81ef2870d81e899472f8a3b163 + checksum: 10c0/5e66e5d286a856db2fe6c28d7c96e4a1984c760881842fd78010e3c16118d874eb9267a3857e7e7aa87b270a20a96f21fdaba98388a212debf7c806a7743b783 languageName: node linkType: hard -"@ephys/eslint-config@npm:^20.1.2": - version: 20.1.2 - resolution: "@ephys/eslint-config@npm:20.1.2" +"@ephys/eslint-config@npm:^20.1.3": + version: 20.1.3 + resolution: "@ephys/eslint-config@npm:20.1.3" dependencies: "@babel/core": "npm:^7.21.4" "@babel/eslint-parser": "npm:^7.21.3" @@ -1325,7 +1325,7 @@ __metadata: eslint-plugin-small-import: "npm:^1.0.0" eslint-plugin-sort-destructure-keys: "npm:^1.5.0" eslint-plugin-unicorn: "npm:^46.0.0" - checksum: 10c0/c35ddcd8177e2baee69eb4f91845bd447683efe062820882fd361e9decebca098751dfb7d9feb39fa86f2b6b46610813d70bfa47789cd599d85cde04ab3c3533 + checksum: 10c0/f66a1b8ce9528edfe256b1355cc4086d6a37eaf877a9b975f07d4026a82fe714e0b58692af2fe051e8e911228eb085ce6c10bc611c75c48ea04cba0a1867b917 languageName: node linkType: hard @@ -2543,7 +2543,7 @@ __metadata: version: 0.0.0-use.local resolution: "@sequelize/monorepo@workspace:." dependencies: - "@ephys/eslint-config-typescript": "npm:20.1.2" + "@ephys/eslint-config-typescript": "npm:20.1.3" "@rushstack/eslint-patch": "npm:1.10.2" "@sequelize/utils": "workspace:*" "@types/chai": "npm:4.3.14"