mbuali's picture
Upload folder using huggingface_hub
d1ceb73 verified
// This file is auto-generated from the corresponding file in /dev_mode
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
import { PageConfig } from '@jupyterlab/coreutils';
import './style.js';
async function createModule(scope, module) {
try {
const factory = await window._JUPYTERLAB[scope].get(module);
const instance = factory();
instance.__scope__ = scope;
return instance;
} catch(e) {
console.warn(`Failed to create module: package: ${scope}; module: ${module}`);
throw e;
}
}
/**
* The main entry point for the application.
*/
export async function main() {
// Handle a browser test.
// Set up error handling prior to loading extensions.
var browserTest = PageConfig.getOption('browserTest');
if (browserTest.toLowerCase() === 'true') {
var el = document.createElement('div');
el.id = 'browserTest';
document.body.appendChild(el);
el.textContent = '[]';
el.style.display = 'none';
var errors = [];
var reported = false;
var timeout = 25000;
var report = function() {
if (reported) {
return;
}
reported = true;
el.className = 'completed';
}
window.onerror = function(msg, url, line, col, error) {
errors.push(String(error));
el.textContent = JSON.stringify(errors)
};
console.error = function(message) {
errors.push(String(message));
el.textContent = JSON.stringify(errors)
};
}
var JupyterLab = require('@jupyterlab/application').JupyterLab;
var disabled = [];
var deferred = [];
var ignorePlugins = [];
var register = [];
const federatedExtensionPromises = [];
const federatedMimeExtensionPromises = [];
const federatedStylePromises = [];
// Start initializing the federated extensions
const extensions = JSON.parse(
PageConfig.getOption('federated_extensions')
);
const queuedFederated = [];
extensions.forEach(data => {
if (data.extension) {
queuedFederated.push(data.name);
federatedExtensionPromises.push(createModule(data.name, data.extension));
}
if (data.mimeExtension) {
queuedFederated.push(data.name);
federatedMimeExtensionPromises.push(createModule(data.name, data.mimeExtension));
}
if (data.style && !PageConfig.Extension.isDisabled(data.name)) {
federatedStylePromises.push(createModule(data.name, data.style));
}
});
const allPlugins = [];
/**
* Iterate over active plugins in an extension.
*
* #### Notes
* This also populates the disabled, deferred, and ignored arrays.
*/
function* activePlugins(extension) {
// Handle commonjs or es2015 modules
let exports;
if (extension.hasOwnProperty('__esModule')) {
exports = extension.default;
} else {
// CommonJS exports.
exports = extension;
}
let plugins = Array.isArray(exports) ? exports : [exports];
for (let plugin of plugins) {
const isDisabled = PageConfig.Extension.isDisabled(plugin.id);
allPlugins.push({
id: plugin.id,
description: plugin.description,
requires: plugin.requires ?? [],
optional: plugin.optional ?? [],
provides: plugin.provides ?? null,
autoStart: plugin.autoStart,
enabled: !isDisabled,
extension: extension.__scope__
});
if (isDisabled) {
disabled.push(plugin.id);
continue;
}
if (PageConfig.Extension.isDeferred(plugin.id)) {
deferred.push(plugin.id);
ignorePlugins.push(plugin.id);
}
yield plugin;
}
}
// Handle the registered mime extensions.
const mimeExtensions = [];
if (!queuedFederated.includes('@jupyterlab/javascript-extension')) {
try {
let ext = require('@jupyterlab/javascript-extension');
ext.__scope__ = '@jupyterlab/javascript-extension';
for (let plugin of activePlugins(ext)) {
mimeExtensions.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/json-extension')) {
try {
let ext = require('@jupyterlab/json-extension');
ext.__scope__ = '@jupyterlab/json-extension';
for (let plugin of activePlugins(ext)) {
mimeExtensions.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/mermaid-extension')) {
try {
let ext = require('@jupyterlab/mermaid-extension/lib/mime.js');
ext.__scope__ = '@jupyterlab/mermaid-extension';
for (let plugin of activePlugins(ext)) {
mimeExtensions.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/pdf-extension')) {
try {
let ext = require('@jupyterlab/pdf-extension');
ext.__scope__ = '@jupyterlab/pdf-extension';
for (let plugin of activePlugins(ext)) {
mimeExtensions.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/vega5-extension')) {
try {
let ext = require('@jupyterlab/vega5-extension');
ext.__scope__ = '@jupyterlab/vega5-extension';
for (let plugin of activePlugins(ext)) {
mimeExtensions.push(plugin);
}
} catch (e) {
console.error(e);
}
}
// Add the federated mime extensions.
const federatedMimeExtensions = await Promise.allSettled(federatedMimeExtensionPromises);
federatedMimeExtensions.forEach(p => {
if (p.status === "fulfilled") {
for (let plugin of activePlugins(p.value)) {
mimeExtensions.push(plugin);
}
} else {
console.error(p.reason);
}
});
// Handled the registered standard extensions.
if (!queuedFederated.includes('@jupyterlab/application-extension')) {
try {
let ext = require('@jupyterlab/application-extension');
ext.__scope__ = '@jupyterlab/application-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/apputils-extension')) {
try {
let ext = require('@jupyterlab/apputils-extension');
ext.__scope__ = '@jupyterlab/apputils-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/cell-toolbar-extension')) {
try {
let ext = require('@jupyterlab/cell-toolbar-extension');
ext.__scope__ = '@jupyterlab/cell-toolbar-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/celltags-extension')) {
try {
let ext = require('@jupyterlab/celltags-extension');
ext.__scope__ = '@jupyterlab/celltags-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/codemirror-extension')) {
try {
let ext = require('@jupyterlab/codemirror-extension');
ext.__scope__ = '@jupyterlab/codemirror-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/completer-extension')) {
try {
let ext = require('@jupyterlab/completer-extension');
ext.__scope__ = '@jupyterlab/completer-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/console-extension')) {
try {
let ext = require('@jupyterlab/console-extension');
ext.__scope__ = '@jupyterlab/console-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/csvviewer-extension')) {
try {
let ext = require('@jupyterlab/csvviewer-extension');
ext.__scope__ = '@jupyterlab/csvviewer-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/debugger-extension')) {
try {
let ext = require('@jupyterlab/debugger-extension');
ext.__scope__ = '@jupyterlab/debugger-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/docmanager-extension')) {
try {
let ext = require('@jupyterlab/docmanager-extension');
ext.__scope__ = '@jupyterlab/docmanager-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/documentsearch-extension')) {
try {
let ext = require('@jupyterlab/documentsearch-extension');
ext.__scope__ = '@jupyterlab/documentsearch-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/extensionmanager-extension')) {
try {
let ext = require('@jupyterlab/extensionmanager-extension');
ext.__scope__ = '@jupyterlab/extensionmanager-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/filebrowser-extension')) {
try {
let ext = require('@jupyterlab/filebrowser-extension');
ext.__scope__ = '@jupyterlab/filebrowser-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/fileeditor-extension')) {
try {
let ext = require('@jupyterlab/fileeditor-extension');
ext.__scope__ = '@jupyterlab/fileeditor-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/help-extension')) {
try {
let ext = require('@jupyterlab/help-extension');
ext.__scope__ = '@jupyterlab/help-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/htmlviewer-extension')) {
try {
let ext = require('@jupyterlab/htmlviewer-extension');
ext.__scope__ = '@jupyterlab/htmlviewer-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/hub-extension')) {
try {
let ext = require('@jupyterlab/hub-extension');
ext.__scope__ = '@jupyterlab/hub-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/imageviewer-extension')) {
try {
let ext = require('@jupyterlab/imageviewer-extension');
ext.__scope__ = '@jupyterlab/imageviewer-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/inspector-extension')) {
try {
let ext = require('@jupyterlab/inspector-extension');
ext.__scope__ = '@jupyterlab/inspector-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/launcher-extension')) {
try {
let ext = require('@jupyterlab/launcher-extension');
ext.__scope__ = '@jupyterlab/launcher-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/logconsole-extension')) {
try {
let ext = require('@jupyterlab/logconsole-extension');
ext.__scope__ = '@jupyterlab/logconsole-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/lsp-extension')) {
try {
let ext = require('@jupyterlab/lsp-extension');
ext.__scope__ = '@jupyterlab/lsp-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/mainmenu-extension')) {
try {
let ext = require('@jupyterlab/mainmenu-extension');
ext.__scope__ = '@jupyterlab/mainmenu-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/markdownviewer-extension')) {
try {
let ext = require('@jupyterlab/markdownviewer-extension');
ext.__scope__ = '@jupyterlab/markdownviewer-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/markedparser-extension')) {
try {
let ext = require('@jupyterlab/markedparser-extension');
ext.__scope__ = '@jupyterlab/markedparser-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/mathjax-extension')) {
try {
let ext = require('@jupyterlab/mathjax-extension');
ext.__scope__ = '@jupyterlab/mathjax-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/mermaid-extension')) {
try {
let ext = require('@jupyterlab/mermaid-extension');
ext.__scope__ = '@jupyterlab/mermaid-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/metadataform-extension')) {
try {
let ext = require('@jupyterlab/metadataform-extension');
ext.__scope__ = '@jupyterlab/metadataform-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/notebook-extension')) {
try {
let ext = require('@jupyterlab/notebook-extension');
ext.__scope__ = '@jupyterlab/notebook-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/pluginmanager-extension')) {
try {
let ext = require('@jupyterlab/pluginmanager-extension');
ext.__scope__ = '@jupyterlab/pluginmanager-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/rendermime-extension')) {
try {
let ext = require('@jupyterlab/rendermime-extension');
ext.__scope__ = '@jupyterlab/rendermime-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/running-extension')) {
try {
let ext = require('@jupyterlab/running-extension');
ext.__scope__ = '@jupyterlab/running-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/settingeditor-extension')) {
try {
let ext = require('@jupyterlab/settingeditor-extension');
ext.__scope__ = '@jupyterlab/settingeditor-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/shortcuts-extension')) {
try {
let ext = require('@jupyterlab/shortcuts-extension');
ext.__scope__ = '@jupyterlab/shortcuts-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/statusbar-extension')) {
try {
let ext = require('@jupyterlab/statusbar-extension');
ext.__scope__ = '@jupyterlab/statusbar-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/terminal-extension')) {
try {
let ext = require('@jupyterlab/terminal-extension');
ext.__scope__ = '@jupyterlab/terminal-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/theme-dark-extension')) {
try {
let ext = require('@jupyterlab/theme-dark-extension');
ext.__scope__ = '@jupyterlab/theme-dark-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/theme-dark-high-contrast-extension')) {
try {
let ext = require('@jupyterlab/theme-dark-high-contrast-extension');
ext.__scope__ = '@jupyterlab/theme-dark-high-contrast-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/theme-light-extension')) {
try {
let ext = require('@jupyterlab/theme-light-extension');
ext.__scope__ = '@jupyterlab/theme-light-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/toc-extension')) {
try {
let ext = require('@jupyterlab/toc-extension');
ext.__scope__ = '@jupyterlab/toc-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/tooltip-extension')) {
try {
let ext = require('@jupyterlab/tooltip-extension');
ext.__scope__ = '@jupyterlab/tooltip-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/translation-extension')) {
try {
let ext = require('@jupyterlab/translation-extension');
ext.__scope__ = '@jupyterlab/translation-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/ui-components-extension')) {
try {
let ext = require('@jupyterlab/ui-components-extension');
ext.__scope__ = '@jupyterlab/ui-components-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
if (!queuedFederated.includes('@jupyterlab/workspaces-extension')) {
try {
let ext = require('@jupyterlab/workspaces-extension');
ext.__scope__ = '@jupyterlab/workspaces-extension';
for (let plugin of activePlugins(ext)) {
register.push(plugin);
}
} catch (e) {
console.error(e);
}
}
// Add the federated extensions.
const federatedExtensions = await Promise.allSettled(federatedExtensionPromises);
federatedExtensions.forEach(p => {
if (p.status === "fulfilled") {
for (let plugin of activePlugins(p.value)) {
register.push(plugin);
}
} else {
console.error(p.reason);
}
});
// Load all federated component styles and log errors for any that do not
(await Promise.allSettled(federatedStylePromises)).filter(({status}) => status === "rejected").forEach(({reason}) => {
console.error(reason);
});
const lab = new JupyterLab({
mimeExtensions,
disabled: {
matches: disabled,
patterns: PageConfig.Extension.disabled
.map(function (val) { return val.raw; })
},
deferred: {
matches: deferred,
patterns: PageConfig.Extension.deferred
.map(function (val) { return val.raw; })
},
availablePlugins: allPlugins
});
register.forEach(function(item) { lab.registerPluginModule(item); });
lab.start({ ignorePlugins, bubblingKeydown: true });
// Expose global app instance when in dev mode or when toggled explicitly.
var exposeAppInBrowser = (PageConfig.getOption('exposeAppInBrowser') || '').toLowerCase() === 'true';
var devMode = (PageConfig.getOption('devMode') || '').toLowerCase() === 'true';
if (exposeAppInBrowser || devMode) {
window.jupyterapp = lab;
}
// Handle a browser test.
if (browserTest.toLowerCase() === 'true') {
lab.restored
.then(function() { report(errors); })
.catch(function(reason) { report([`RestoreError: ${reason.message}`]); });
// Handle failures to restore after the timeout has elapsed.
window.setTimeout(function() { report(errors); }, timeout);
}
}