aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2011-05-19 00:19:21 -0700
committerIgor Minar2011-07-18 12:12:55 -0700
commitb98c23274b4dd51205d5020a254ac53966c9ae9a (patch)
treecdf295894402739bca0e9462b610f361b24c8322
parent4c6d26a38f977f61d4deaacfd6b6c71f331e8065 (diff)
downloadangular.js-b98c23274b4dd51205d5020a254ac53966c9ae9a.tar.bz2
feat(strict mode): turn on ECMAScript 5 strict mode
- add 'use strict'; statement to the prefix file - configure closure compiler to use the ES5 strict mode - strip all file-specific strict mode flags after concatination Closes #223
-rw-r--r--Rakefile5
-rw-r--r--src/angular.prefix1
2 files changed, 5 insertions, 1 deletions
diff --git a/Rakefile b/Rakefile
index 6bb149fe..83f69cfd 100644
--- a/Rakefile
+++ b/Rakefile
@@ -188,12 +188,15 @@ task :compile => [:init, :compile_scenario, :compile_jstd_scenario_adapter, :gen
File.open(path_to('angular.js'), 'w') do |f|
concat = 'cat ' + deps.flatten.join(' ')
- f.write(%x{#{concat}})
+ f.write(%x{#{concat}}.
+ gsub(/^\s*['"]use strict['"];?\s*$/, ''). # remove all file-specific strict mode flags
+ gsub(/'USE STRICT'/, "'use strict'")) # rename the placeholder in angular.prefix
f.write(gen_css('css/angular.css', true))
end
%x(java -jar lib/closure-compiler/compiler.jar \
--compilation_level SIMPLE_OPTIMIZATIONS \
+ --language_in ECMASCRIPT5_STRICT \
--js #{path_to('angular.js')} \
--js_output_file #{path_to('angular.min.js')})
end
diff --git a/src/angular.prefix b/src/angular.prefix
index b9ccc3fb..473b10e4 100644
--- a/src/angular.prefix
+++ b/src/angular.prefix
@@ -21,4 +21,5 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+'USE STRICT';
(function(window, document, undefined){