From ea6970495ac22815222255948baf18fdb819277a Mon Sep 17 00:00:00 2001 From: Te-Shu Wang Date: Wed, 9 Sep 2026 19:17:11 +0800 Subject: [PATCH] Fix declarations for nonexistent dependency exports --- .../dependencyTypes.test.js | 34 +++++++++++++++ types/index.d.ts | 43 ------------------- 2 files changed, 34 insertions(+), 43 deletions(-) create mode 100644 test/generated-code-tests/dependencyTypes.test.js diff --git a/test/generated-code-tests/dependencyTypes.test.js b/test/generated-code-tests/dependencyTypes.test.js new file mode 100644 index 0000000000..6a1cfe24aa --- /dev/null +++ b/test/generated-code-tests/dependencyTypes.test.js @@ -0,0 +1,34 @@ +import assert from 'assert' +import { readFileSync } from 'node:fs' +import ts from 'typescript' +import * as math from '../../src/entry/mainAny.js' + +describe('dependency types', function () { + it('should only declare dependency bundles that are exported', function () { + const source = ts.createSourceFile( + 'index.d.ts', + readFileSync(new URL('../../types/index.d.ts', import.meta.url), 'utf8'), + ts.ScriptTarget.Latest + ) + const names = [] + + for (const statement of source.statements) { + if (!ts.isVariableStatement(statement) || + !statement.modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.ExportKeyword)) { + continue + } + for (const declaration of statement.declarationList.declarations) { + if (ts.isObjectBindingPattern(declaration.name)) { + for (const element of declaration.name.elements) { + if (ts.isIdentifier(element.name) && element.name.text.endsWith('Dependencies')) { + names.push(element.name.text) + } + } + } + } + } + + assert.ok(names.length > 0, 'Expected dependency declarations in index.d.ts') + assert.deepStrictEqual(names.filter(name => !Object.hasOwn(math, name)), []) + }) +}) diff --git a/types/index.d.ts b/types/index.d.ts index d37ff59f22..a9d325f0cf 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -4267,49 +4267,6 @@ export const { toBestDependencies, // util function dependencies - isNumberDependencies, - isBigNumberDependencies, - isBigIntDependencies, - isComplexDependencies, - isFractionDependencies, - isUnitDependencies, - isStringDependencies, - isArrayDependencies, - isMatrixDependencies, - isCollectionDependencies, - isDenseMatrixDependencies, - isSparseMatrixDependencies, - isRangeDependencies, - isIndexDependencies, - isBooleanDependencies, - isResultSetDependencies, - isHelpDependencies, - isFunctionDependencies, - isDateDependencies, - isRegExpDependencies, - isObjectDependencies, - isMapDependencies, - isPartitionedMapDependencies, - isObjectWrappingMapDependencies, - isNullDependencies, - isUndefinedDependencies, - isAccessorNodeDependencies, - isArrayNodeDependencies, - isAssignmentNodeDependencies, - isBlockNodeDependencies, - isConditionalNodeDependencies, - isConstantNodeDependencies, - isFunctionAssignmentNodeDependencies, - isFunctionNodeDependencies, - isIndexNodeDependencies, - isNodeDependencies, - isObjectNodeDependencies, - isOperatorNodeDependencies, - isParenthesisNodeDependencies, - isRangeNodeDependencies, - isRelationalNodeDependencies, - isSymbolNodeDependencies, - isChainDependencies, cloneDependencies, hasNumericValueDependencies, isBoundedDependencies,