Example code in docs doesn't work when NodeNext is used for module resolution
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- node.js, typescript
- Domaine
- documentation
Piste de recherche
Commencez par l’exemple TypeScript à l’URL de la documentation de Databricks SQL driver et reproduisez l’échec avec le package.json fourni, Node 22 et les paramètres tsconfig de NodeNext. Vérifiez si les imports documentés sont résolus et si l’exemple se construit correctement sous NodeNext ; le travail est terminé lorsque l’exemple fonctionne ou que la documentation reflète clairement la configuration prise en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Using this tsconfig.json I can get the example code to build without error.
tsconfig.json:
{
"compilerOptions": {
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"target": "ES2022",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"skipLibCheck": true
}
}
Code from website - https://docs.databricks.com/en/dev-tools/nodejs-sql-driver.html#language-TypeScript:
import { DBSQLClient } from '@databricks/sql';
import IDBSQLSession from '@databricks/sql/dist/contracts/IDBSQLSession';
import IOperation from '@databricks/sql/dist/contracts/IOperation';
const serverHostname: string = process.env.DATABRICKS_SERVER_HOSTNAME || '';
const httpPath: string = process.env.DATABRICKS_HTTP_PATH || '';
const token: string = process.env.DATABRICKS_TOKEN || '';
if (serverHostname == '' || httpPath == '' || token == '') {
throw new Error("Cannot find Server Hostname, HTTP Path, or personal access token. " +
"Check the environment variables DATABRICKS_SERVER_HOSTNAME, " +
"DATABRICKS_HTTP_PATH, and DATABRICKS_TOKEN.");
}
const client: DBSQLClient = new DBSQLClient();
const connectOptions = {
host: serverHostname,
path: httpPath,
token: token
};
client.connect(connectOptions)
.then(async client => {
const session: IDBSQLSession = await client.openSession();
const queryOperation: IOperation = await session.executeStatement(
'SELECT * FROM samples.nyctaxi.trips LIMIT 2',
{
runAsync: true,
maxRows: 10000 // This option enables the direct results feature.
}
);
const result = await queryOperation.fetchAll();
await queryOperation.close();
console.table(result);
await session.close();
client.close();
})
.catch((error) => {
console.error(error);
});
However, when changing the tsconfig to use NodeNext (like the below):
{
"compilerOptions": {
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"skipLibCheck": true
}
}
I see the following error on the imports:
Cannot find module '@databricks/sql/dist/contracts/IDBSQLSession' or its corresponding type declarations.ts(2307)
Cannot find module '@databricks/sql/dist/contracts/IOperation' or its corresponding type declarations.ts(2307)
Versions:
- node 22
- this is the package.json:
{
"name": "example",
"version": "1.0.0",
"description": "show example of issue",
"main": "index.js",
"type": "module",
"scripts": {
"build": "tsc"
},
"author": "",
"license": "ISC",
"dependencies": {
"@databricks/sql": "^1.9.0"
},
"devDependencies": {
"typescript": "^5.6.3",
"typescript-eslint": "^8.14.0"
}
}
- Langage dominant
- TypeScript
- Étoiles
- 37
- Forks
- 51
- Merge moyen
- 5 h 56 min
- PR mergées (30 j)
- 9
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de databricks/databricks-sql-nodejs
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
databricks/databricks-sql-nodejs#526 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
databricks/databricks-sql-nodejs#503 ·
Les mainteneurs répondent en général sous 1 jour
-
Docs folder deleted in 1.8.4Ouverteengineer-bot
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
databricks/databricks-sql-nodejs#274 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
databricks/databricks-sql-nodejs#525 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
databricks/databricks-sql-nodejs#524 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de databricks/databricks-sql-nodejs
Issues similaires
-
[Bug] The shared instance selector's placeholder and no-match text ignore the display languagePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
apache/rocketmq-dashboard#5561 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
CopilotKit/OpenDots#69 ·
Les mainteneurs répondent en général sous 1 jour
-
sendDefaultPii is reported as deprecated on ReactNativeOptions although dataCollection is hiddenOuverteBug React-Native Waiting for: Product Owner
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
getsentry/sentry-react-native#6830 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
OSCI'26
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
GauravKarakoti/SecureFlow#1215 ·
Les mainteneurs répondent en général sous 1 jour
-
[quality] bundle e2e never drives plain /close or the /milestone refusals through dist/index.jsPeut-être pris @hivecommons-hive l’a pris aujourd’hui. Ouverteagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t kind/cleanup quality testing
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
cncf/prow-github-actions#295 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour