Skip to content

Commit 9c34b44

Browse files
minrkCarreau
authored andcommitted
Backport PR #2066 on branch 4.x
Merge pull request #2066 from jupyter/cm-up Patch CodeMirror 5.22
1 parent 0273b3f commit 9c34b44

File tree

3 files changed

+9148
-2
lines changed

3 files changed

+9148
-2
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"backbone": "components/backbone#~1.2",
66
"bootstrap": "components/bootstrap#~3.3",
77
"bootstrap-tour": "0.9.0",
8-
"codemirror": "components/codemirror#~5.16",
8+
"codemirror": "components/codemirror#~5.22.2",
99
"es6-promise": "~1.0",
1010
"font-awesome": "components/font-awesome#~4.2.0",
1111
"google-caja": "5669",

setupbase.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,26 @@ def should_run_npm(self):
348348
if not os.path.exists(self.node_modules):
349349
return True
350350
return mtime(self.node_modules) < mtime(pjoin(repo_root, 'package.json'))
351-
351+
352+
def npm_components(self):
353+
"""Stage npm frontend dependencies into components"""
354+
for pkg in ['preact', 'preact-compat', 'proptypes']:
355+
npm_pkg = os.path.join(self.node_modules, pkg)
356+
bower_pkg = os.path.join(self.bower_dir, pkg)
357+
log.info("Staging %s -> %s" % (npm_pkg, bower_pkg))
358+
if os.path.exists(bower_pkg):
359+
shutil.rmtree(bower_pkg)
360+
shutil.copytree(npm_pkg, bower_pkg)
361+
362+
def patch_codemirror(self):
363+
"""Patch CodeMirror until https://github.com/codemirror/CodeMirror/issues/4454 is resolved"""
364+
365+
try:
366+
shutil.copyfile('tools/patches/codemirror.js', 'notebook/static/components/codemirror/lib/codemirror.js')
367+
except OSError as e:
368+
print("Failed to patch codemirror.js: %s" % e, file=sys.stderr)
369+
raise
370+
352371
def run(self):
353372
if not self.should_run():
354373
print("bower dependencies up to date")
@@ -372,6 +391,9 @@ def run(self):
372391
print("Failed to run bower: %s" % e, file=sys.stderr)
373392
print("You can install js dependencies with `npm install`", file=sys.stderr)
374393
raise
394+
395+
self.patch_codemirror()
396+
self.npm_components()
375397
os.utime(self.bower_dir, None)
376398
# update package data in case this created new files
377399
update_package_data(self.distribution)

0 commit comments

Comments
 (0)