diff --git a/cms/envs/common.py b/cms/envs/common.py
index 9c2112ca75..de6db81d21 100644
--- a/cms/envs/common.py
+++ b/cms/envs/common.py
@@ -652,7 +652,7 @@ REQUIRE_BASE_URL = "./"
REQUIRE_BUILD_PROFILE = "cms/js/build.js"
# The name of the require.js script used by your project, relative to REQUIRE_BASE_URL.
-REQUIRE_JS = "js/vendor/require.js"
+REQUIRE_JS = "js/vendor/requiresjs/require.js"
# A dictionary of standalone modules to build with almond.js.
REQUIRE_STANDALONE_MODULES = {}
diff --git a/cms/static/js_test.yml b/cms/static/js_test.yml
index ec2b3b257d..25f2adc05c 100644
--- a/cms/static/js_test.yml
+++ b/cms/static/js_test.yml
@@ -28,7 +28,7 @@ prepend_path: cms/static
# Paths to library JavaScript files (optional)
lib_paths:
- - xmodule_js/common_static/js/vendor/require.js
+ - xmodule_js/common_static/js/vendor/requirejs/require.js
- xmodule_js/common_static/coffee/src/ajax_prefix.js
- xmodule_js/common_static/js/src/utility.js
- xmodule_js/common_static/js/vendor/jquery.min.js
diff --git a/cms/static/js_test_squire.yml b/cms/static/js_test_squire.yml
index 20fd40e058..122505d073 100644
--- a/cms/static/js_test_squire.yml
+++ b/cms/static/js_test_squire.yml
@@ -28,7 +28,7 @@ prepend_path: cms/static
# Paths to library JavaScript files (optional)
lib_paths:
- - xmodule_js/common_static/js/vendor/require.js
+ - xmodule_js/common_static/js/vendor/requirejs/require.js
- xmodule_js/common_static/coffee/src/ajax_prefix.js
- xmodule_js/common_static/js/src/utility.js
- xmodule_js/common_static/js/vendor/jquery.min.js
diff --git a/cms/templates/base.html b/cms/templates/base.html
index 5bba36a828..8dc7502e10 100644
--- a/cms/templates/base.html
+++ b/cms/templates/base.html
@@ -52,7 +52,7 @@ from openedx.core.djangolib.js_utils import (
window.baseUrl = "${settings.STATIC_URL | n, js_escaped_string}";
var require = {baseUrl: window.baseUrl};
-
+
diff --git a/common/lib/xmodule/xmodule/js/js_test.yml b/common/lib/xmodule/xmodule/js/js_test.yml
index 9c9afca868..157126b057 100644
--- a/common/lib/xmodule/xmodule/js/js_test.yml
+++ b/common/lib/xmodule/xmodule/js/js_test.yml
@@ -38,7 +38,7 @@ lib_paths:
- common_static/js/src/logger.js
- common_static/js/vendor/jasmine-jquery.js
- common_static/js/vendor/jasmine-imagediff.js
- - common_static/js/vendor/require.js
+ - common_static/js/vendor/requirejs/require.js
- RequireJS-namespace-undefine.js
- common_static/js/vendor/jquery.min.js
- common_static/js/vendor/jquery-ui.min.js
diff --git a/common/static/js/vendor/require.js b/common/static/js/vendor/require.js
deleted file mode 100644
index 7ff409d9c8..0000000000
--- a/common/static/js/vendor/require.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- RequireJS 2.1.8 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
- Available via the MIT or new BSD license.
- see: http://github.com/jrburke/requirejs for details
-*/
-var requirejs,require,define;
-(function(Z){function H(b){return"[object Function]"===L.call(b)}function I(b){return"[object Array]"===L.call(b)}function y(b,c){if(b){var d;for(d=0;dthis.depCount&&!this.defined){if(H(m)){if(this.events.error&&this.map.isDefine||j.onError!==aa)try{e=i.execCb(c,m,b,e)}catch(d){a=d}else e=i.execCb(c,m,b,e);this.map.isDefine&&((b=this.module)&&void 0!==b.exports&&b.exports!==
-this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",v(this.error=a)}else e=m;this.exports=e;if(this.map.isDefine&&!this.ignore&&(r[c]=e,j.onResourceLoad))j.onResourceLoad(i,this.map,this.depMaps);x(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=
-!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=n(a.prefix);this.depMaps.push(d);t(d,"defined",u(this,function(e){var m,d;d=this.map.name;var g=this.map.parentMap?this.map.parentMap.name:null,h=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(e.normalize&&(d=e.normalize(d,function(a){return c(a,g,!0)})||""),e=n(a.prefix+"!"+d,this.map.parentMap),t(e,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),
-d=l(p,e.id)){this.depMaps.push(e);if(this.events.error)d.on("error",u(this,function(a){this.emit("error",a)}));d.enable()}}else m=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),m.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];F(p,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&x(a.map.id)});v(a)}),m.fromText=u(this,function(e,c){var d=a.name,g=n(d),B=O;c&&(e=c);B&&(O=!1);q(g);s(k.config,b)&&(k.config[d]=k.config[b]);try{j.exec(e)}catch(ca){return v(A("fromtexteval",
-"fromText eval for "+b+" failed: "+ca,ca,[b]))}B&&(O=!0);this.depMaps.push(g);i.completeLoad(d);h([d],m)}),e.load(a.name,h,m,k)}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){T[this.map.id]=this;this.enabling=this.enabled=!0;y(this.depMaps,u(this,function(a,b){var c,e;if("string"===typeof a){a=n(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=l(N,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;t(a,"defined",u(this,function(a){this.defineDep(b,
-a);this.check()}));this.errback&&t(a,"error",u(this,this.errback))}c=a.id;e=p[c];!s(N,c)&&(e&&!e.enabled)&&i.enable(a,this)}));F(this.pluginMaps,u(this,function(a){var b=l(p,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){y(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:k,contextName:b,registry:p,defined:r,urlFetched:S,defQueue:G,Module:X,makeModuleMap:n,
-nextTick:j.nextTick,onError:v,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=k.pkgs,c=k.shim,e={paths:!0,config:!0,map:!0};F(a,function(a,b){e[b]?"map"===b?(k.map||(k.map={}),Q(k[b],a,!0,!0)):Q(k[b],a,!0):k[b]=a});a.shim&&(F(a.shim,function(a,b){I(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);c[b]=a}),k.shim=c);a.packages&&(y(a.packages,function(a){a="string"===typeof a?{name:a}:a;b[a.name]={name:a.name,
-location:a.location||a.name,main:(a.main||"main").replace(ja,"").replace(ea,"")}}),k.pkgs=b);F(p,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=n(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(Z,arguments));return b||a.exports&&ba(a.exports)}},makeRequire:function(a,f){function d(e,c,h){var g,k;f.enableBuildCallback&&(c&&H(c))&&(c.__requireJsBuild=!0);if("string"===typeof e){if(H(c))return v(A("requireargs",
-"Invalid require call"),h);if(a&&s(N,e))return N[e](p[a.id]);if(j.get)return j.get(i,e,a,d);g=n(e,a,!1,!0);g=g.id;return!s(r,g)?v(A("notloaded",'Module name "'+g+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[g]}K();i.nextTick(function(){K();k=q(n(null,a));k.skipMap=f.skipMap;k.init(e,c,h,{enabled:!0});C()});return d}f=f||{};Q(d,{isBrowser:z,toUrl:function(b){var d,f=b.lastIndexOf("."),g=b.split("/")[0];if(-1!==f&&(!("."===g||".."===g)||1h.attachEvent.toString().indexOf("[native code"))&&!W?(O=!0,h.attachEvent("onreadystatechange",b.onScriptLoad)):(h.addEventListener("load",b.onScriptLoad,!1),h.addEventListener("error",
-b.onScriptError,!1)),h.src=d,K=h,C?x.insertBefore(h,C):x.appendChild(h),K=null,h;if(da)try{importScripts(d),b.completeLoad(c)}catch(l){b.onError(A("importscripts","importScripts failed for "+c+" at "+d,l,[c]))}};z&&M(document.getElementsByTagName("script"),function(b){x||(x=b.parentNode);if(J=b.getAttribute("data-main"))return q=J,t.baseUrl||(D=q.split("/"),q=D.pop(),fa=D.length?D.join("/")+"/":"./",t.baseUrl=fa),q=q.replace(ea,""),j.jsExtRegExp.test(q)&&(q=J),t.deps=t.deps?t.deps.concat(q):[q],!0});
-define=function(b,c,d){var h,j;"string"!==typeof b&&(d=c,c=b,b=null);I(c)||(d=c,c=null);!c&&H(d)&&(c=[],d.length&&(d.toString().replace(la,"").replace(ma,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(O){if(!(h=K))P&&"interactive"===P.readyState||M(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return P=b}),h=P;h&&(b||(b=h.getAttribute("data-requiremodule")),j=E[h.getAttribute("data-requirecontext")])}(j?j.defQueue:
-R).push([b,c,d])};define.amd={jQuery:!0};j.exec=function(b){return eval(b)};j(t)}})(this);
diff --git a/common/static/js/vendor/requirejs/require.js b/common/static/js/vendor/requirejs/require.js
new file mode 120000
index 0000000000..9b5554a8eb
--- /dev/null
+++ b/common/static/js/vendor/requirejs/require.js
@@ -0,0 +1 @@
+../../../../../node_modules/requirejs/require.js
\ No newline at end of file
diff --git a/lms/envs/common.py b/lms/envs/common.py
index 9948dedb90..4437ccdf2d 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -1237,7 +1237,7 @@ base_vendor_js = [
'js/vendor/jquery.cookie.js',
'js/vendor/url.min.js',
'js/vendor/underscore-min.js',
- 'js/vendor/require.js',
+ 'js/vendor/requirejs/require.js',
'js/RequireJS-namespace-undefine.js',
'js/vendor/URI.min.js',
'js/vendor/backbone-min.js'
@@ -1604,7 +1604,7 @@ REQUIRE_BASE_URL = "./"
REQUIRE_BUILD_PROFILE = "lms/js/build.js"
# The name of the require.js script used by your project, relative to REQUIRE_BASE_URL.
-REQUIRE_JS = "js/vendor/require.js"
+REQUIRE_JS = "js/vendor/requirejs/require.js"
# A dictionary of standalone modules to build with almond.js.
REQUIRE_STANDALONE_MODULES = {}
diff --git a/lms/static/js_test.yml b/lms/static/js_test.yml
index 56b8574fdb..5f892b1122 100644
--- a/lms/static/js_test.yml
+++ b/lms/static/js_test.yml
@@ -33,7 +33,7 @@ lib_paths:
- xmodule_js/common_static/js/src/logger.js
- xmodule_js/common_static/js/vendor/jasmine-jquery.js
- xmodule_js/common_static/js/vendor/jasmine-imagediff.js
- - xmodule_js/common_static/js/vendor/require.js
+ - xmodule_js/common_static/js/vendor/requirejs/require.js
- js/RequireJS-namespace-undefine.js
- xmodule_js/common_static/js/vendor/requirejs/text.js
- xmodule_js/common_static/js/vendor/jquery.min.js
diff --git a/lms/static/js_test_coffee.yml b/lms/static/js_test_coffee.yml
index 60687bd41a..34013670ca 100644
--- a/lms/static/js_test_coffee.yml
+++ b/lms/static/js_test_coffee.yml
@@ -33,7 +33,7 @@ lib_paths:
- xmodule_js/common_static/js/src/logger.js
- xmodule_js/common_static/js/vendor/jasmine-jquery.js
- xmodule_js/common_static/js/vendor/jasmine-imagediff.js
- - xmodule_js/common_static/js/vendor/require.js
+ - xmodule_js/common_static/js/vendor/requirejs/require.js
- js/RequireJS-namespace-undefine.js
- xmodule_js/common_static/js/vendor/jquery.min.js
- xmodule_js/common_static/js/vendor/jquery-ui.min.js
diff --git a/package.json b/package.json
index a412268ed5..a2a4b58b3f 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"dependencies": {
"coffee-script": "1.6.1",
"edx-pattern-library": "0.10.4",
+ "requirejs": "~2.1.22",
"uglify-js": "2.4.24",
"underscore": "1.4.4"
},
diff --git a/static/monitoring/package.json b/static/monitoring/package.json
index f91674c68f..cefb720d72 100644
--- a/static/monitoring/package.json
+++ b/static/monitoring/package.json
@@ -16,7 +16,6 @@
"moment": "2.10.6",
"mustache": "0.5.1",
"rangeslider": "1.0",
- "require": "2.1.8",
"requirejs-text": "2.0.14",
"slickgrid": "2.1",
"timeago": "0.11.4",