Skip to content

Commit 6c53745

Browse files
committed
fix(NODE-6732): test and fix webpack bundling
1 parent 35749ba commit 6c53745

File tree

9 files changed

+8884
-2
lines changed

9 files changed

+8884
-2
lines changed

lib/kerberos.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
const { loadBindings, defineOperation } = require('./util');
44

5-
65
const kerberos = loadBindings();
76
const KerberosClient = kerberos.KerberosClient;
87
const KerberosServer = kerberos.KerberosServer;

lib/util.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,14 @@ function loadBindings() {
8484
try {
8585
return require('../build/Release/kerberos.node');
8686
} catch {
87-
return require('../build/Debug/kerberos.node');
87+
// Webpack will fail when just returning the require, so we need to wrap
88+
// in a try/catch and rethrow.
89+
/* eslint no-useless-catch: 0 */
90+
try {
91+
return require('../build/Debug/kerberos.node');
92+
} catch (error) {
93+
throw error;
94+
}
8895
}
8996
}
9097

test/bundling/webpack/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist/
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
'use strict';
2+
3+
const { execSync } = require('node:child_process');
4+
const { readFileSync } = require('node:fs');
5+
const { resolve } = require('node:path');
6+
7+
const xtrace = (...args) => {
8+
console.log(`running: ${args[0]}`);
9+
return execSync(...args);
10+
};
11+
12+
const kerberosRoot = resolve(__dirname, '../../..');
13+
console.log(`kerberos package root: ${kerberosRoot}`);
14+
15+
const kerberosVersion = JSON.parse(
16+
readFileSync(resolve(kerberosRoot, 'package.json'), { encoding: 'utf8' })
17+
).version;
18+
console.log(`kerberos Version: ${kerberosVersion}`);
19+
20+
xtrace('npm pack --pack-destination test/bundling/webpack', { cwd: kerberosRoot });
21+
22+
xtrace(`npm install --no-save kerberos-${kerberosVersion}.tgz`);
23+
24+
console.log('kerberos installed!');

0 commit comments

Comments
 (0)