@cara/porter
Advanced tools
Comparing version 2.1.1 to 2.1.2
@@ -232,6 +232,32 @@ /* eslint-env browser */ | ||
var fetching = {} | ||
var predefineModules = [] | ||
function cacheDefine(id, deps, factory) { | ||
predefineModules.push([id, deps, factory]) | ||
} | ||
function swapDefine() { | ||
for (var i = 0; i < predefineModules.length; i++) { | ||
define.apply(null, predefineModules[i]) | ||
} | ||
predefineModules = [] | ||
global.define = define | ||
for (var name in system.entries) { | ||
var mod = registry[name] | ||
mod.status = MODULE_FETCHED | ||
mod.ignite() | ||
} | ||
} | ||
Module.prototype.fetch = function() { | ||
var mod = this | ||
if (predefineModules.length > 0) { | ||
for (var i = 0; i < predefineModules.length; i++) { | ||
if (predefineModules[i][0] == mod.id) { | ||
mod.status = MODULE_FETCHED | ||
} | ||
} | ||
} | ||
if (mod.status < MODULE_FETCHING) { | ||
@@ -245,3 +271,2 @@ mod.status = MODULE_FETCHING | ||
if (mod.status < MODULE_FETCHED) mod.status = MODULE_FETCHED | ||
if (mod.isPreload) swapDefine() | ||
mod.uri = uri | ||
@@ -379,8 +404,2 @@ mod.ignite() | ||
var predefineModules = [] | ||
function cacheDefine(id, deps, factory) { | ||
predefineModules.push([id, deps, factory]) | ||
} | ||
function define(id, deps, factory) { | ||
@@ -400,10 +419,2 @@ if (!factory) { | ||
function swapDefine() { | ||
for (var i = 0; i < predefineModules.length; i++) { | ||
define.apply(null, predefineModules[i]) | ||
} | ||
predefineModules = [] | ||
global.define = define | ||
} | ||
var importEntryId = 0 | ||
@@ -441,8 +452,12 @@ function importFactory(context) { | ||
'import': function Porter_import(specifiers, fn) { | ||
specifiers = [].concat(specifiers).map(function(specifier) { | ||
specifiers = preload.concat(specifiers).map(function(specifier) { | ||
var mod = parseId(specifier) | ||
return suffix(mod.version ? mod.file : specifier) | ||
}) | ||
rootImport(preload, function() { | ||
rootImport(specifiers, fn) | ||
rootImport(specifiers, function() { | ||
if (predefineModules.length > 0) { | ||
swapDefine() | ||
} else if (fn) { | ||
fn.apply(null, Array.prototype.slice.call(arguments, preload.length)) | ||
} | ||
}) | ||
@@ -452,8 +467,2 @@ } | ||
preload.forEach(function(specifier) { | ||
var context = pkg.name + '/' + pkg.version | ||
var id = Module.resolve(specifier, context) | ||
new Module(id).isPreload = true | ||
}) | ||
global.define = preload.length > 0 ? cacheDefine : define | ||
@@ -460,0 +469,0 @@ global.porter = system |
{ | ||
"name": "@cara/porter", | ||
"description": "A koa and express middleware for browser side javascript module authoring.", | ||
"version": "2.1.1", | ||
"main": "lib/porter.js", | ||
"version": "2.1.2", | ||
"main": "src/porter.js", | ||
"repository": { | ||
@@ -7,0 +7,0 @@ "type": "git", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
80119
16
1969
5
1