Allow old style imports, but deprecate them

Jonathan Frederic 10 years ago
parent 03ceccf7a1
commit 18edcd3fb4

1
.gitignore vendored

@ -10,6 +10,7 @@ notebook/static/components
notebook/static/style/*.min.css*
notebook/static/*/js/built/
notebook/static/*/built/
notebook/static/built/
node_modules
*.py[co]
__pycache__

@ -0,0 +1,79 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
// TODO: Remove me in notebook version 6.0
[
'edit/js/savewidget',
'edit/js/main',
'edit/js/menubar',
'edit/js/editor',
'edit/js/notificationarea',
'base/js/keyboard',
'base/js/dialog',
'base/js/notificationwidget',
'base/js/namespace',
'base/js/utils',
'base/js/notificationarea',
'base/js/events',
'base/js/security',
'base/js/page',
'auth/js/main',
'auth/js/logoutmain',
'auth/js/loginmain',
'auth/js/loginwidget',
'terminal/js/main',
'terminal/js/terminado',
'notebook/js/toolbar',
'notebook/js/savewidget',
'notebook/js/main',
'notebook/js/completer',
'notebook/js/contexthint',
'notebook/js/textcell',
'notebook/js/cell',
'notebook/js/tour',
'notebook/js/menubar',
'notebook/js/mathjaxutils',
'notebook/js/codecell',
'notebook/js/codemirror-ipython',
'notebook/js/kernelselector',
'notebook/js/codemirror-ipythongfm',
'notebook/js/celltoolbarpresets/example',
'notebook/js/celltoolbarpresets/default',
'notebook/js/celltoolbarpresets/slideshow',
'notebook/js/celltoolbarpresets/rawcell',
'notebook/js/tooltip',
'notebook/js/maintoolbar',
'notebook/js/about',
'notebook/js/notificationarea',
'notebook/js/quickhelp',
'notebook/js/actions',
'notebook/js/pager',
'notebook/js/searchandreplace',
'notebook/js/keyboardmanager',
'notebook/js/notebook',
'notebook/js/scrollmanager',
'notebook/js/outputarea',
'notebook/js/celltoolbar',
'notebook/js/commandpalette',
'tree/js/sessionlist',
'tree/js/main',
'tree/js/kernellist',
'tree/js/newnotebook',
'tree/js/terminallist',
'tree/js/notebooklist',
'services/sessions/session',
'services/contents',
'services/kernels/serialize',
'services/kernels/comm',
'services/kernels/kernel',
'services/config'
].forEach(function (modulePath) {
define(modulePath, ['notebook'], function(notebookApp) {
console.warn(["Direct module require deprecated. Instead of using",
"`define(['" + modulePath + "'], function(module) {});`, use",
"`define(['notebook'], function(notebookApp) { var module = ",
"notebookApp['" + modulePath + "']});`"].join(' '));
return notebookApp[modulePath];
});
});

@ -0,0 +1,69 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
module.exports = {
'edit/js/savewidget': require('./edit/js/savewidget.js'),
'edit/js/main': require('./edit/js/main.js'),
'edit/js/menubar': require('./edit/js/menubar.js'),
'edit/js/editor': require('./edit/js/editor.js'),
'edit/js/notificationarea': require('./edit/js/notificationarea.js'),
'base/js/keyboard': require('./base/js/keyboard.js'),
'base/js/dialog': require('./base/js/dialog.js'),
'base/js/notificationwidget': require('./base/js/notificationwidget.js'),
'base/js/namespace': require('./base/js/namespace.js'),
'base/js/utils': require('./base/js/utils.js'),
'base/js/notificationarea': require('./base/js/notificationarea.js'),
'base/js/events': require('./base/js/events.js'),
'base/js/security': require('./base/js/security.js'),
'base/js/page': require('./base/js/page.js'),
'auth/js/main': require('./auth/js/main.js'),
'auth/js/logoutmain': require('./auth/js/logoutmain.js'),
'auth/js/loginmain': require('./auth/js/loginmain.js'),
'auth/js/loginwidget': require('./auth/js/loginwidget.js'),
'terminal/js/main': require('./terminal/js/main.js'),
'terminal/js/terminado': require('./terminal/js/terminado.js'),
'notebook/js/toolbar': require('./notebook/js/toolbar.js'),
'notebook/js/savewidget': require('./notebook/js/savewidget.js'),
'notebook/js/main': require('./notebook/js/main.js'),
'notebook/js/completer': require('./notebook/js/completer.js'),
'notebook/js/contexthint': require('./notebook/js/contexthint.js'),
'notebook/js/textcell': require('./notebook/js/textcell.js'),
'notebook/js/cell': require('./notebook/js/cell.js'),
'notebook/js/tour': require('./notebook/js/tour.js'),
'notebook/js/menubar': require('./notebook/js/menubar.js'),
'notebook/js/mathjaxutils': require('./notebook/js/mathjaxutils.js'),
'notebook/js/codecell': require('./notebook/js/codecell.js'),
'notebook/js/codemirror-ipython': require('./notebook/js/codemirror-ipython.js'),
'notebook/js/kernelselector': require('./notebook/js/kernelselector.js'),
'notebook/js/codemirror-ipythongfm': require('./notebook/js/codemirror-ipythongfm.js'),
'notebook/js/celltoolbarpresets/example': require('./notebook/js/celltoolbarpresets/example.js'),
'notebook/js/celltoolbarpresets/default': require('./notebook/js/celltoolbarpresets/default.js'),
'notebook/js/celltoolbarpresets/slideshow': require('./notebook/js/celltoolbarpresets/slideshow.js'),
'notebook/js/celltoolbarpresets/rawcell': require('./notebook/js/celltoolbarpresets/rawcell.js'),
'notebook/js/tooltip': require('./notebook/js/tooltip.js'),
'notebook/js/maintoolbar': require('./notebook/js/maintoolbar.js'),
'notebook/js/about': require('./notebook/js/about.js'),
'notebook/js/notificationarea': require('./notebook/js/notificationarea.js'),
'notebook/js/quickhelp': require('./notebook/js/quickhelp.js'),
'notebook/js/actions': require('./notebook/js/actions.js'),
'notebook/js/pager': require('./notebook/js/pager.js'),
'notebook/js/searchandreplace': require('./notebook/js/searchandreplace.js'),
'notebook/js/keyboardmanager': require('./notebook/js/keyboardmanager.js'),
'notebook/js/notebook': require('./notebook/js/notebook.js'),
'notebook/js/scrollmanager': require('./notebook/js/scrollmanager.js'),
'notebook/js/outputarea': require('./notebook/js/outputarea.js'),
'notebook/js/celltoolbar': require('./notebook/js/celltoolbar.js'),
'notebook/js/commandpalette': require('./notebook/js/commandpalette.js'),
'tree/js/sessionlist': require('./tree/js/sessionlist.js'),
'tree/js/main': require('./tree/js/main.js'),
'tree/js/kernellist': require('./tree/js/kernellist.js'),
'tree/js/newnotebook': require('./tree/js/newnotebook.js'),
'tree/js/terminallist': require('./tree/js/terminallist.js'),
'tree/js/notebooklist': require('./tree/js/notebooklist.js'),
'services/sessions/session': require('./services/sessions/session.js'),
'services/contents': require('./services/contents.js'),
'services/kernels/serialize': require('./services/kernels/serialize.js'),
'services/kernels/comm': require('./services/kernels/comm.js'),
'services/kernels/kernel': require('./services/kernels/kernel.js'),
'services/config': require('./services/config.js'),
};

@ -40,6 +40,9 @@
codemirror: 'components/codemirror',
termjs: 'components/term.js/src/term',
// Define aliases for requirejs webpack imports
notebook: 'built/index',
// Anything jQuery related is loaded globally because it will
// pollute the global object regardless and we want to avoid one
// jQuery thinger from clompering another.
@ -47,6 +50,7 @@
bootstrap: 'base/js/jquery',
bootstraptour: 'base/js/tour',
'jquery-ui': 'base/js/jquery',
jqueryui: 'base/js/jquery',
typeahead: 'base/js/typeahead'
},
map: { // for backward compatibility
@ -80,6 +84,75 @@
}
},
waitSeconds: 30,
// TODO: Remove me in notebook version 6.0
bundles: {
'deprecated-imports': [
'edit/js/savewidget',
'edit/js/main',
'edit/js/menubar',
'edit/js/editor',
'edit/js/notificationarea',
'base/js/keyboard',
'base/js/dialog',
'base/js/notificationwidget',
'base/js/namespace',
'base/js/utils',
'base/js/notificationarea',
'base/js/events',
'base/js/security',
'base/js/page',
'auth/js/main',
'auth/js/logoutmain',
'auth/js/loginmain',
'auth/js/loginwidget',
'terminal/js/main',
'terminal/js/terminado',
'notebook/js/toolbar',
'notebook/js/savewidget',
'notebook/js/main',
'notebook/js/completer',
'notebook/js/contexthint',
'notebook/js/textcell',
'notebook/js/cell',
'notebook/js/tour',
'notebook/js/menubar',
'notebook/js/mathjaxutils',
'notebook/js/codecell',
'notebook/js/codemirror-ipython',
'notebook/js/kernelselector',
'notebook/js/codemirror-ipythongfm',
'notebook/js/celltoolbarpresets/example',
'notebook/js/celltoolbarpresets/default',
'notebook/js/celltoolbarpresets/slideshow',
'notebook/js/celltoolbarpresets/rawcell',
'notebook/js/tooltip',
'notebook/js/maintoolbar',
'notebook/js/about',
'notebook/js/notificationarea',
'notebook/js/quickhelp',
'notebook/js/actions',
'notebook/js/pager',
'notebook/js/searchandreplace',
'notebook/js/keyboardmanager',
'notebook/js/notebook',
'notebook/js/scrollmanager',
'notebook/js/outputarea',
'notebook/js/celltoolbar',
'notebook/js/commandpalette',
'tree/js/sessionlist',
'tree/js/main',
'tree/js/kernellist',
'tree/js/newnotebook',
'tree/js/terminallist',
'tree/js/notebooklist',
'services/sessions/session',
'services/contents',
'services/kernels/serialize',
'services/kernels/comm',
'services/kernels/kernel',
'services/config'
]
}
});
require.config({

@ -61,5 +61,14 @@ module.exports = [
path: './notebook/static/services/built',
libraryTarget: 'amd'
},
})
}),
_.extend({}, commonConfig, {
entry: './notebook/static/index.js',
output: {
filename: 'index.js',
path: './notebook/static/built',
libraryTarget: 'amd',
publicPath: "/static/built/"
},
}),
].map(x => buildConfig(x));

Loading…
Cancel
Save