From f92faffb5b43c52e86c7fd904fa3c4bb09c66ab9 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 2 Jul 2012 19:21:46 -0600 Subject: [PATCH] Use html5 storage to cache coffee script compilation by file md5 --- src/stdlib/require.coffee | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/stdlib/require.coffee b/src/stdlib/require.coffee index 3a291b324..cf760ec5b 100644 --- a/src/stdlib/require.coffee +++ b/src/stdlib/require.coffee @@ -106,7 +106,13 @@ __exists = (path) -> __coffeeCache = (filePath) -> {CoffeeScript} = require 'coffee-script' - CoffeeScript.compile(__read(filePath), filename: filePath) + cacheKey = 'coffee.' + $native.md5ForPath(filePath) + if compiled = localStorage.getItem(cacheKey) + compiled + else + compiled = CoffeeScript.compile(__read(filePath), filename: filePath) + localStorage.setItem(cacheKey, compiled) + compiled __read = (path) -> try