Skip to content

Commit 8d88724

Browse files
committed
More logging
1 parent 3ca41b1 commit 8d88724

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

src/kernels/ipywidgets/baseIPyWidgetScriptManager.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ import { Uri } from 'vscode';
66
import { disposeAllDisposables } from '../../platform/common/helpers';
77
import { getDisplayPath } from '../../platform/common/platform/fs-paths';
88
import { IDisposable } from '../../platform/common/types';
9-
import { traceWarning } from '../../platform/logging';
9+
import { traceInfoIfCI, traceWarning } from '../../platform/logging';
1010
import { sendTelemetryEvent, Telemetry } from '../../telemetry';
1111
import { IKernel, isLocalConnection } from '../types';
1212
import { getTelemetrySafeHashedString } from '../../platform/telemetry/helpers';
1313
import * as stripComments from 'strip-comments';
1414
import { IIPyWidgetScriptManager } from './types';
1515
import { StopWatch } from '../../platform/common/utils/stopWatch';
16+
import { isCI } from '../../platform/common/constants';
1617

1718
export function extractRequireConfigFromWidgetEntry(baseUrl: Uri, widgetFolderName: string, contents: string) {
1819
// Look for `require.config(` or `window["require"].config` or `window['requirejs'].config`
@@ -148,9 +149,21 @@ export abstract class BaseIPyWidgetScriptManager implements IIPyWidgetScriptMana
148149

149150
try {
150151
const config = await extractRequireConfigFromWidgetEntry(baseUrl, widgetFolderName, contents);
152+
if (!config) {
153+
let message = `Failed to extract require.config from widget for ${widgetFolderName} from ${getDisplayPath(
154+
script
155+
)}`;
156+
if (isCI) {
157+
message += `with contents ${contents}`;
158+
}
159+
traceWarning(message);
160+
}
151161
return config;
152162
} catch (ex) {
153-
traceWarning(`Failed to extract require.config entry from ${getDisplayPath(script)}`, ex);
163+
traceWarning(
164+
`Failed to extract require.config entry for ${widgetFolderName} from ${getDisplayPath(script)}`,
165+
ex
166+
);
154167
}
155168
}
156169
private async getWidgetModuleMappingsImpl(): Promise<Record<string, Uri> | undefined> {
@@ -160,6 +173,7 @@ export abstract class BaseIPyWidgetScriptManager implements IIPyWidgetScriptMana
160173
this.getNbExtensionsParentPath()
161174
]);
162175
if (!baseUrl) {
176+
traceInfoIfCI('No base Url to retrieve widget module mappings');
163177
return;
164178
}
165179
const widgetConfigs = await Promise.all(
@@ -173,6 +187,12 @@ export abstract class BaseIPyWidgetScriptManager implements IIPyWidgetScriptMana
173187
delete config['@jupyter-widgets/base'];
174188
delete config['@jupyter-widgets/controls'];
175189
delete config['@jupyter-widgets/output'];
190+
} else {
191+
traceInfoIfCI(
192+
`No config, entryPoints = ${JSON.stringify(entryPoints)}, widgetConfigs = ${JSON.stringify(
193+
widgetConfigs
194+
)}`
195+
);
176196
}
177197
sendTelemetryEvent(Telemetry.DiscoverIPyWidgetNamesPerf, stopWatch.elapsedTime, {
178198
type: isLocalConnection(this.kernel.kernelConnectionMetadata) ? 'local' : 'remote'

0 commit comments

Comments
 (0)