Skip to content

Commit

Permalink
Adjust to use package:index. Moving towards compatibility with node
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles Jolley committed Jan 17, 2010
1 parent 2ef3b62 commit f313653
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 29 deletions.
4 changes: 2 additions & 2 deletions buildtasks/manifest.rake
Expand Up @@ -307,15 +307,15 @@ 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',
:build_task => 'build:package_exports',
:resource => resource_name,
:entry_type => :javascript,
:source_entries => entries.dup,
:module_name => 'package',
:module_name => 'index',
:composite => true
entries << package_exports
end
Expand Down
2 changes: 1 addition & 1 deletion lib/sproutcore/builders/package.rb
Expand Up @@ -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?
Expand Down
60 changes: 34 additions & 26 deletions lib/sproutcore/models/manifest_entry.rb
Expand Up @@ -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

Expand Down

0 comments on commit f313653

Please sign in to comment.