From f3136539569270cbf3f2361f4617e218f4a283ff Mon Sep 17 00:00:00 2001 From: Charles Jolley Date: Sun, 29 Nov 2009 11:36:13 -0800 Subject: [PATCH] Adjust to use package:index. Moving towards compatibility with node --- buildtasks/manifest.rake | 4 +- lib/sproutcore/builders/package.rb | 2 +- lib/sproutcore/models/manifest_entry.rb | 60 ++++++++++++++----------- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/buildtasks/manifest.rake b/buildtasks/manifest.rake index 0f59c04..59e2f90 100644 --- a/buildtasks/manifest.rake +++ b/buildtasks/manifest.rake @@ -307,7 +307,7 @@ namespace :manifest do pf = (entry_name == 'javascript.js') ? %w(source/lproj/strings.js source/core.js source/utils.js) : [] # if we're using modules, then add a generated entries module as well - has_exports = !!entries.find { |e| e.module_name == 'package' } + has_exports = !!entries.find { |e| e.module_name == 'index' } if CONFIG.use_modules && !has_exports && !!((entries.size == 0) || (entries.find { |e| e.use_modules })) package_exports = MANIFEST.add_entry 'package_exports.js', @@ -315,7 +315,7 @@ namespace :manifest do :resource => resource_name, :entry_type => :javascript, :source_entries => entries.dup, - :module_name => 'package', + :module_name => 'index', :composite => true entries << package_exports end diff --git a/lib/sproutcore/builders/package.rb b/lib/sproutcore/builders/package.rb index 1185b79..fd2cfc6 100644 --- a/lib/sproutcore/builders/package.rb +++ b/lib/sproutcore/builders/package.rb @@ -56,7 +56,7 @@ def build(dst_path) has_main = false lines = [] - lines << "#{loader_name}.module('#{package_name}:package', function(require, exports, module) {\n" + lines << "#{loader_name}.module('#{package_name}:index', function(require, exports, module) {\n" lines << "var m;\n" entries.each do |e| next if e.package_exports.nil? diff --git a/lib/sproutcore/models/manifest_entry.rb b/lib/sproutcore/models/manifest_entry.rb index 2da404e..67b55f4 100644 --- a/lib/sproutcore/models/manifest_entry.rb +++ b/lib/sproutcore/models/manifest_entry.rb @@ -289,37 +289,45 @@ def discover_build_directives!(force = false) self.resource = (args.first || '').ext when 'import' - # handle import foo as bar - if args.size == 3 && args[1] == 'as' - a = args[0] - if a =~ /^this:/ - a = [package_name, a[5..-1]].join(':') - elsif !(a =~ /:/) - if self.target.target_for(a) - a = [a, 'package'].join(':') - elsif loader_name && self.target.target_for([loader_name,a] * '/') - a = [[loader_name, a].join('/'), 'package'].join(':') - else - a = [package_name, a].join(':') + if args[0] == 'package' + + # handle import package foo as bar + if (args.size == 4) && (args[2] == 'as') + import_foo = args[1]+':index' + as_bar = args[3] + self.imports << [import_foo, as_bar] + + # handle import package foo bar baz biff + else + args.each do |a| + next if a == 'package' + import_foo = a+':index' + self.imports << [import_foo, '*'] end end - self.imports << [a, args[2]] + + # handle import foo as bar + elsif args.size == 3 && args[1] == 'as' + import_foo = args[0] + if import_foo =~ /^this:/ + import_foo = "#{package_name}:#{a[5..-1]}" + + elsif !(import_foo =~ /:/) + import_foo = "#{package_name}:#{import_foo}" + end + as_bar = args[2] + self.imports << [import_foo, as_bar] + # handle import foo bar baz biff else - # normalize. if no explicit target, assume local - args.each do |a| - if a =~ /^this:/ - a = [package_name, a[5..-1]].join(':') - elsif !(a =~ /:/) - if self.target.target_for(a) - a = [a, 'package'].join(':') - elsif loader_name && self.target.target_for([loader_name,a] * '/') - a = [[loader_name, a].join('/'), 'package'].join(':') - else - a = [package_name, a].join(':') - end + args.each do |import_foo| + if import_foo =~ /^this:/ + import_foo = "#{package_name}:#{a[5..-1]}" + + elsif !(import_foo =~ /:/) + import_foo = "#{package_name}:#{import_foo}" end - self.imports << [a, '*'] + self.imports << [import_foo, '*'] end end