mirror of
https://github.com/sequelize/sequelize.git
synced 2025-12-08 20:59:22 +00:00
fix: fix package.json exports TypeScript resolution (#17181)
This commit is contained in:
parent
2d15ccb444
commit
23a0cb4544
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -35,7 +35,7 @@ jobs:
|
|||||||
- name: Reset NX cache
|
- name: Reset NX cache
|
||||||
run: yarn nx reset
|
run: yarn nx reset
|
||||||
- name: Compress artifact
|
- name: Compress artifact
|
||||||
run: tar -cf install-build-node-${{ matrix.node-version }}.tar ./packages/core/lib ./packages/core/types ./packages/validator-js/lib ./packages/validator-js/types ./packages/utils/lib ./node_modules
|
run: tar -cf install-build-node-${{ matrix.node-version }}.tar ./packages/core/lib ./packages/validator-js/lib ./packages/utils/lib ./node_modules
|
||||||
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
||||||
with:
|
with:
|
||||||
name: install-build-artifact-node-${{ matrix.node-version }}
|
name: install-build-artifact-node-${{ matrix.node-version }}
|
||||||
|
|||||||
@ -1,2 +1,3 @@
|
|||||||
yarn lint-staged --concurrent false
|
yarn lint-staged --concurrent false
|
||||||
yarn delete-changelog
|
yarn delete-changelog
|
||||||
|
git add .
|
||||||
|
|||||||
19
CHANGELOG.md
19
CHANGELOG.md
@ -1,19 +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.38](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.37...v7.0.0-alpha.38) (2024-03-19)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **mysql:** use public TypeCastField type ([#17136](https://github.com/sequelize/sequelize/issues/17136)) ([7ab30dc](https://github.com/sequelize/sequelize/commit/7ab30dc2da21386c56d4944a6a10205dad735c10))
|
|
||||||
- reduce internal usages of deprecated APIs ([#17112](https://github.com/sequelize/sequelize/issues/17112)) ([f1db523](https://github.com/sequelize/sequelize/commit/f1db523c7779c7754af3d8af60e57e67b743e562))
|
|
||||||
- remove TableNameOrModel ([#17080](https://github.com/sequelize/sequelize/issues/17080)) ([dfc90b8](https://github.com/sequelize/sequelize/commit/dfc90b8ee622539277a95da9d34b933f06a4eb43))
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- add `@sequelize/utils` package ([#17168](https://github.com/sequelize/sequelize/issues/17168)) ([1d96a59](https://github.com/sequelize/sequelize/commit/1d96a59b2397f1f7e4b196ea281674d71a697e58))
|
|
||||||
- implement `Model._UNSTABLE_destroyMany` ([#17031](https://github.com/sequelize/sequelize/issues/17031)) ([1fead8a](https://github.com/sequelize/sequelize/commit/1fead8a34538a71a677340be28f07c3a49f3a7d6))
|
|
||||||
- migrate transactions to typescript ([#16903](https://github.com/sequelize/sequelize/issues/16903)) ([ed47bcb](https://github.com/sequelize/sequelize/commit/ed47bcba8a1dae605d572926d46ee0a75eec4f1b))
|
|
||||||
- **postgres:** add MACADDR8 DataType ([#17059](https://github.com/sequelize/sequelize/issues/17059)) ([c64b3c2](https://github.com/sequelize/sequelize/commit/c64b3c2e775dd2b30addee36c1484e385ff01a9c))
|
|
||||||
@ -30,7 +30,6 @@ console.info(`Compiling package ${packageName}`);
|
|||||||
const packageDir = `${rootDir}/packages/${packageName}`;
|
const packageDir = `${rootDir}/packages/${packageName}`;
|
||||||
const sourceDir = path.join(packageDir, 'src');
|
const sourceDir = path.join(packageDir, 'src');
|
||||||
const libDir = path.join(packageDir, 'lib');
|
const libDir = path.join(packageDir, 'lib');
|
||||||
const typesDir = path.join(packageDir, 'types');
|
|
||||||
|
|
||||||
const [sourceFiles] = await Promise.all([
|
const [sourceFiles] = await Promise.all([
|
||||||
// Find all .js and .ts files from /src.
|
// Find all .js and .ts files from /src.
|
||||||
@ -40,33 +39,22 @@ const [sourceFiles] = await Promise.all([
|
|||||||
}),
|
}),
|
||||||
// Delete /lib for a full rebuild.
|
// Delete /lib for a full rebuild.
|
||||||
rmDir(libDir),
|
rmDir(libDir),
|
||||||
// Delete /types for a full rebuild.
|
|
||||||
rmDir(typesDir),
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const filesToCompile = [];
|
const filesToCompile = [];
|
||||||
const filesToCopyToLib = [];
|
const filesToCopyToLib = [];
|
||||||
const declarationFiles = [];
|
|
||||||
|
|
||||||
for (const file of sourceFiles) {
|
for (const file of sourceFiles) {
|
||||||
// mjs files cannot be built as they would be compiled to commonjs
|
// mjs files cannot be built as they would be compiled to commonjs
|
||||||
if (file.endsWith('.mjs')) {
|
if (file.endsWith('.mjs') || file.endsWith('.d.ts')) {
|
||||||
filesToCopyToLib.push(file);
|
filesToCopyToLib.push(file);
|
||||||
} else if (file.endsWith('.d.ts')) {
|
|
||||||
declarationFiles.push(file);
|
|
||||||
} else {
|
} else {
|
||||||
filesToCompile.push(file);
|
filesToCompile.push(file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// copy .d.ts files prior to generating them from the .ts files
|
|
||||||
// so the .ts files in lib/ will take priority..
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
copyFiles(declarationFiles, sourceDir, typesDir),
|
|
||||||
copyFiles(filesToCopyToLib, sourceDir, libDir),
|
copyFiles(filesToCopyToLib, sourceDir, libDir),
|
||||||
]);
|
|
||||||
|
|
||||||
await Promise.all([
|
|
||||||
build({
|
build({
|
||||||
// Adds source mapping
|
// Adds source mapping
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
@ -89,6 +77,18 @@ await Promise.all([
|
|||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const indexFiles = await glob(`${glob.convertPathToPattern(libDir)}/**/index.d.ts`, {
|
||||||
|
onlyFiles: true,
|
||||||
|
absolute: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
// copy .d.ts files to .d.mts to provide typings for the ESM entrypoint
|
||||||
|
await Promise.all(
|
||||||
|
indexFiles.map(async indexFile => {
|
||||||
|
await fs.copyFile(indexFile, indexFile.replace(/.d.ts$/, '.d.mts'));
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
async function rmDir(dirName) {
|
async function rmDir(dirName) {
|
||||||
try {
|
try {
|
||||||
await fs.stat(dirName);
|
await fs.stat(dirName);
|
||||||
|
|||||||
@ -1,19 +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.38](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.37...v7.0.0-alpha.38) (2024-03-19)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
- **mysql:** use public TypeCastField type ([#17136](https://github.com/sequelize/sequelize/issues/17136)) ([7ab30dc](https://github.com/sequelize/sequelize/commit/7ab30dc2da21386c56d4944a6a10205dad735c10))
|
|
||||||
- reduce internal usages of deprecated APIs ([#17112](https://github.com/sequelize/sequelize/issues/17112)) ([f1db523](https://github.com/sequelize/sequelize/commit/f1db523c7779c7754af3d8af60e57e67b743e562))
|
|
||||||
- remove TableNameOrModel ([#17080](https://github.com/sequelize/sequelize/issues/17080)) ([dfc90b8](https://github.com/sequelize/sequelize/commit/dfc90b8ee622539277a95da9d34b933f06a4eb43))
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- add `@sequelize/utils` package ([#17168](https://github.com/sequelize/sequelize/issues/17168)) ([1d96a59](https://github.com/sequelize/sequelize/commit/1d96a59b2397f1f7e4b196ea281674d71a697e58))
|
|
||||||
- implement `Model._UNSTABLE_destroyMany` ([#17031](https://github.com/sequelize/sequelize/issues/17031)) ([1fead8a](https://github.com/sequelize/sequelize/commit/1fead8a34538a71a677340be28f07c3a49f3a7d6))
|
|
||||||
- migrate transactions to typescript ([#16903](https://github.com/sequelize/sequelize/issues/16903)) ([ed47bcb](https://github.com/sequelize/sequelize/commit/ed47bcba8a1dae605d572926d46ee0a75eec4f1b))
|
|
||||||
- **postgres:** add MACADDR8 DataType ([#17059](https://github.com/sequelize/sequelize/issues/17059)) ([c64b3c2](https://github.com/sequelize/sequelize/commit/c64b3c2e775dd2b30addee36c1484e385ff01a9c))
|
|
||||||
@ -17,21 +17,27 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://sequelize.org/",
|
"homepage": "https://sequelize.org/",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./types/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"types": "./types/index.d.ts",
|
"import": {
|
||||||
"import": "./lib/index.mjs",
|
"types": "./lib/index.d.mts",
|
||||||
"require": "./lib/index.js"
|
"default": "./lib/index.mjs"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"types": "./lib/index.d.ts",
|
||||||
|
"default": "./lib/index.js"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"./decorators-legacy": {
|
"./decorators-legacy": {
|
||||||
"types": "./types/decorators/legacy/index.d.ts",
|
|
||||||
"import": "./lib/decorators/legacy/index.mjs",
|
"import": "./lib/decorators/legacy/index.mjs",
|
||||||
"require": "./lib/decorators/legacy/index.js"
|
"require": {
|
||||||
|
"types": "./lib/decorators/legacy/index.d.ts",
|
||||||
|
"default": "./lib/decorators/legacy/index.js"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"./_non-semver-use-at-your-own-risk_/*": {
|
"./_non-semver-use-at-your-own-risk_/*": {
|
||||||
"types": "./types/*",
|
|
||||||
"default": "./lib/*"
|
"default": "./lib/*"
|
||||||
},
|
},
|
||||||
"./package.json": "./package.json"
|
"./package.json": "./package.json"
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { isNodeError } from '@sequelize/utils/node.js';
|
import { isNodeError } from '@sequelize/utils/node';
|
||||||
import cloneDeep from 'lodash/cloneDeep';
|
import cloneDeep from 'lodash/cloneDeep';
|
||||||
import semver from 'semver';
|
import semver from 'semver';
|
||||||
import { TimeoutError } from 'sequelize-pool';
|
import { TimeoutError } from 'sequelize-pool';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { isError } from '@sequelize/utils';
|
import { isError } from '@sequelize/utils';
|
||||||
import { isNodeError } from '@sequelize/utils/node.js';
|
import { isNodeError } from '@sequelize/utils/node';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import type {
|
import type {
|
||||||
Connection,
|
Connection,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { map } from '@sequelize/utils';
|
import { map } from '@sequelize/utils';
|
||||||
import { checkFileExists } from '@sequelize/utils/node.js';
|
import { checkFileExists } from '@sequelize/utils/node';
|
||||||
import fs from 'node:fs/promises';
|
import fs from 'node:fs/promises';
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { promisify } from 'node:util';
|
import { promisify } from 'node:util';
|
||||||
|
|||||||
38
packages/core/src/index.d.ts
vendored
38
packages/core/src/index.d.ts
vendored
@ -11,7 +11,7 @@
|
|||||||
* @module
|
* @module
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export * as DataTypes from './data-types';
|
export * as DataTypes from './data-types.js';
|
||||||
export type {
|
export type {
|
||||||
ArrayOptions,
|
ArrayOptions,
|
||||||
BindParamOptions,
|
BindParamOptions,
|
||||||
@ -43,10 +43,10 @@ export type {
|
|||||||
GeoJsonPolygon,
|
GeoJsonPolygon,
|
||||||
PositionPosition,
|
PositionPosition,
|
||||||
} from './geo-json.js';
|
} from './geo-json.js';
|
||||||
export { IndexHints } from './index-hints';
|
export { IndexHints } from './index-hints.js';
|
||||||
export { Op, type OpTypes } from './operators';
|
export { Op, type OpTypes } from './operators.js';
|
||||||
export { QueryTypes } from './query-types';
|
export { QueryTypes } from './query-types.js';
|
||||||
export { TableHints } from './table-hints';
|
export { TableHints } from './table-hints.js';
|
||||||
export {
|
export {
|
||||||
IsolationLevel,
|
IsolationLevel,
|
||||||
Lock,
|
Lock,
|
||||||
@ -56,18 +56,18 @@ export {
|
|||||||
type ManagedTransactionOptions,
|
type ManagedTransactionOptions,
|
||||||
type NormalizedTransactionOptions,
|
type NormalizedTransactionOptions,
|
||||||
type TransactionOptions,
|
type TransactionOptions,
|
||||||
} from './transaction';
|
} from './transaction.js';
|
||||||
|
|
||||||
export * from './associations/index';
|
export * from './associations/index.js';
|
||||||
export type { Connection } from './dialects/abstract/connection-manager';
|
export type { Connection } from './dialects/abstract/connection-manager.js';
|
||||||
export * from './dialects/abstract/query-generator.types';
|
export * from './dialects/abstract/query-generator.types.js';
|
||||||
export * from './dialects/abstract/query-interface';
|
export * from './dialects/abstract/query-interface.js';
|
||||||
export * from './dialects/abstract/query-interface.types';
|
export * from './dialects/abstract/query-interface.types.js';
|
||||||
export * from './errors';
|
export * from './errors/index.js';
|
||||||
export * from './model';
|
export * from './model.js';
|
||||||
export * from './sequelize';
|
export * from './sequelize.js';
|
||||||
|
|
||||||
export { ConstraintChecking, Deferrable } from './deferrable';
|
export { ConstraintChecking, Deferrable } from './deferrable.js';
|
||||||
export { AbstractDialect } from './dialects/abstract/index.js';
|
export { AbstractDialect } from './dialects/abstract/index.js';
|
||||||
export { AbstractQueryGenerator } from './dialects/abstract/query-generator.js';
|
export { AbstractQueryGenerator } from './dialects/abstract/query-generator.js';
|
||||||
export type { WhereOptions } from './dialects/abstract/where-sql-builder-types.js';
|
export type { WhereOptions } from './dialects/abstract/where-sql-builder-types.js';
|
||||||
@ -76,10 +76,10 @@ export { ModelDefinition } from './model-definition.js';
|
|||||||
|
|
||||||
// TODO [>=8]: remove this alias
|
// TODO [>=8]: remove this alias
|
||||||
// eslint-disable-next-line import/no-default-export -- legacy, will be removed in the future
|
// eslint-disable-next-line import/no-default-export -- legacy, will be removed in the future
|
||||||
export { Sequelize as default } from './sequelize';
|
export { Sequelize as default } from './sequelize.js';
|
||||||
export { isModelStatic, isSameInitialModel } from './utils/model-utils';
|
export { isModelStatic, isSameInitialModel } from './utils/model-utils.js';
|
||||||
export { useInflection } from './utils/string';
|
export { useInflection } from './utils/string.js';
|
||||||
export type { Validator } from './utils/validator-extras';
|
export type { Validator } from './utils/validator-extras.js';
|
||||||
|
|
||||||
export { AssociationPath } from './expression-builders/association-path.js';
|
export { AssociationPath } from './expression-builders/association-path.js';
|
||||||
export { Attribute } from './expression-builders/attribute.js';
|
export { Attribute } from './expression-builders/attribute.js';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import type { Dialect, Options } from '@sequelize/core';
|
import type { Dialect, Options } from '@sequelize/core';
|
||||||
import { Sequelize } from '@sequelize/core';
|
import { Sequelize } from '@sequelize/core';
|
||||||
import { isNodeError } from '@sequelize/utils/node.js';
|
import { isNodeError } from '@sequelize/utils/node';
|
||||||
import chai from 'chai';
|
import chai from 'chai';
|
||||||
import chaiAsPromised from 'chai-as-promised';
|
import chaiAsPromised from 'chai-as-promised';
|
||||||
import chaiDatetime from 'chai-datetime';
|
import chaiDatetime from 'chai-datetime';
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
"allowJs": false,
|
"allowJs": false,
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"sourceRoot": "",
|
"sourceRoot": "",
|
||||||
"outDir": "./types",
|
"outDir": "./lib",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"baseUrl": "./",
|
"baseUrl": "./",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
|
|||||||
@ -1,10 +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.38](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.37...v7.0.0-alpha.38) (2024-03-19)
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- add `@sequelize/utils` package ([#17168](https://github.com/sequelize/sequelize/issues/17168)) ([1d96a59](https://github.com/sequelize/sequelize/commit/1d96a59b2397f1f7e4b196ea281674d71a697e58))
|
|
||||||
@ -4,13 +4,14 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
},
|
},
|
||||||
|
"types": "./lib/common/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"node": "./lib/common/index.node.js",
|
"node": "./lib/common/index.node.js",
|
||||||
"default": "./lib/common/index.js",
|
"types": "./lib/common/index.d.ts",
|
||||||
"types": "./lib/common/index.d.ts"
|
"default": "./lib/common/index.js"
|
||||||
},
|
},
|
||||||
"./node.js": {
|
"./node": {
|
||||||
"node": "./lib/node/index.js",
|
"node": "./lib/node/index.js",
|
||||||
"types": "./lib/node/index.d.ts"
|
"types": "./lib/node/index.d.ts"
|
||||||
}
|
}
|
||||||
@ -22,7 +23,7 @@
|
|||||||
"repository": "https://github.com/sequelize/sequelize",
|
"repository": "https://github.com/sequelize/sequelize",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "concurrently \"npm:test-*\"",
|
"test": "concurrently \"npm:test-*\"",
|
||||||
"build": "tsc --project tsconfig.build.json",
|
"build": "../../build-packages.mjs utils",
|
||||||
"test-typings": "tsc --noEmit --project tsconfig.json",
|
"test-typings": "tsc --noEmit --project tsconfig.json",
|
||||||
"test-unit": "mocha src/**/*.test.ts -r ../../test/register-esbuild.js",
|
"test-unit": "mocha src/**/*.test.ts -r ../../test/register-esbuild.js",
|
||||||
"test-exports": "../../dev/sync-exports.mjs ./src --check-outdated",
|
"test-exports": "../../dev/sync-exports.mjs ./src --check-outdated",
|
||||||
|
|||||||
@ -1,10 +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.38](https://github.com/sequelize/sequelize/compare/v7.0.0-alpha.37...v7.0.0-alpha.38) (2024-03-19)
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
- add `@sequelize/utils` package ([#17168](https://github.com/sequelize/sequelize/issues/17168)) ([1d96a59](https://github.com/sequelize/sequelize/commit/1d96a59b2397f1f7e4b196ea281674d71a697e58))
|
|
||||||
@ -22,12 +22,17 @@
|
|||||||
"build": "../../build-packages.mjs validator-js"
|
"build": "../../build-packages.mjs validator-js"
|
||||||
},
|
},
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./types/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"types": "./types/index.d.ts",
|
"import": {
|
||||||
"import": "./lib/index.mjs",
|
"types": "./lib/index.d.mts",
|
||||||
"require": "./lib/index.js"
|
"default": "./lib/index.mjs"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"types": "./lib/index.d.ts",
|
||||||
|
"default": "./lib/index.js"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"./package.json": "./package.json"
|
"./package.json": "./package.json"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
"allowJs": false,
|
"allowJs": false,
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"sourceRoot": "",
|
"sourceRoot": "",
|
||||||
"outDir": "./types",
|
"outDir": "./lib",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"baseUrl": "./",
|
"baseUrl": "./",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user