From 3cac2672d0069b95f7b93c9c4727392246cd8984 Mon Sep 17 00:00:00 2001 From: kpdecker Date: Sun, 13 Jan 2013 15:32:29 -0600 Subject: [PATCH] Use jsmodule for jison parser Removes unnecessary commonjs code generated for the parser. This reduces the size of the parse by about 700bytes and should resolve lookup issues with browserify and other static analysis tools. See #220 --- Rakefile | 4 ++-- lib/handlebars/compiler/base.js | 2 +- src/parser-prefix.js | 1 + src/parser-suffix.js | 4 ++++ 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 src/parser-prefix.js create mode 100644 src/parser-suffix.js diff --git a/Rakefile b/Rakefile index 55c78d28..d27f7395 100644 --- a/Rakefile +++ b/Rakefile @@ -2,10 +2,10 @@ require "rubygems" require "bundler/setup" def compile_parser - system "./node_modules/jison/lib/jison/cli-wrapper.js src/handlebars.yy src/handlebars.l" + system "./node_modules/jison/lib/jison/cli-wrapper.js -m js src/handlebars.yy src/handlebars.l" if $?.success? File.open("lib/handlebars/compiler/parser.js", "w") do |file| - file.puts File.read("handlebars.js") + ";" + file.puts File.read("src/parser-prefix.js") + File.read("handlebars.js") + File.read("src/parser-suffix.js") end sh "rm handlebars.js" diff --git a/lib/handlebars/compiler/base.js b/lib/handlebars/compiler/base.js index 5ce4222e..6919d389 100644 --- a/lib/handlebars/compiler/base.js +++ b/lib/handlebars/compiler/base.js @@ -1,4 +1,4 @@ -var handlebars = require("./parser").parser; +var handlebars = require("./parser"); var Handlebars = require("../base"); // BEGIN(BROWSER) diff --git a/src/parser-prefix.js b/src/parser-prefix.js new file mode 100644 index 00000000..42345d6f --- /dev/null +++ b/src/parser-prefix.js @@ -0,0 +1 @@ +// BEGIN(BROWSER) diff --git a/src/parser-suffix.js b/src/parser-suffix.js new file mode 100644 index 00000000..fc8df139 --- /dev/null +++ b/src/parser-suffix.js @@ -0,0 +1,4 @@ + +// END(BROWSER) + +module.exports = handlebars;