Skip to content

Commit

Permalink
Merge branch 'release/4.2.5'
Browse files Browse the repository at this point in the history
  • Loading branch information
Dirk Lüth authored and Dirk Lüth committed Jan 3, 2018
2 parents a1a2f89 + fda60ba commit 9990cab
Show file tree
Hide file tree
Showing 25 changed files with 142 additions and 42 deletions.
12 changes: 1 addition & 11 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,7 @@

<script>
(function(url, main, settings) {
(function(window, document, type, target, script){
target = document.getElementsByTagName(type)[0];
script = document.createElement(type);

window.demand = { url: url, main: main, settings: settings };

script.async = 1;
script.src = url;

target.parentNode.insertBefore(script, target);
}(window, document, 'script'))
!function(e,t,n,o,i,d,a){e.demand={url:url,main:main,settings:settings},o=t.getElementsByTagName(n)[0],i=t.createElement("iframe"),i.src="javascript:void(0)",i.name="demand-loader",i.title="",i.role="presentation",(i.frameElement||i).style.cssText="display:none;width:0;height:0;border:0;",o.parentNode.insertBefore(i,o);try{i=i.contentWindow.document}catch(e){d=t.domain,i.src='javascript:var d=document.open();d.domain="'+d+'";void(0);',i=i.contentWindow.document}i.open()._=function(){d&&(this.domain=d),a=this.createElement(n),a.src=url,this.body.appendChild(a)},i.write('<body onload="document._();" />'),i.close()}(this,document,"script");
}('../dist/demand.js', 'app/js/main', { base: './', version: '4.2.4', cache: false }));
</script>
</body>
Expand Down
2 changes: 1 addition & 1 deletion dist/cache/dispose.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions dist/demand.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/demand.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/handler/css.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/handler/html.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/handler/json.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/handler/legacy.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/handler/text.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/plugin/cookie.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/plugin/lzstring.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/plugin/sri.js

Large diffs are not rendered by default.

14 changes: 10 additions & 4 deletions gulp/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,16 @@ module.exports = {
"package.json"
]
},
"dist": {
"watch": [ "src/**/*.js", "extras/**/*.js" ],
"build": [ "src/demand.js", "extras/**/*.js" ],
"dest": "dist/"
dist: {
watch: [ "src/**/*.js", "extras/**/*.js" ],
build: [ "src/demand.js", "extras/**/*.js" ],
dest: "dist/"
},
snippets: {
watch: [ "snippets/**/*.js", '!snippets/**/*.min.js' ],
build: [ "snippets/**/*.js", '!snippets/**/*.min.js' ],
clean: [ 'snippets/**/*.min.js' ],
dest: "snippets/"
}
},
settings: {
Expand Down
37 changes: 37 additions & 0 deletions gulp/tasks/snippets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
var gulp = require('gulp'),
sequence = require('run-sequence').use(gulp),
plugins = require('gulp-load-plugins')(),
path = require('path'),
clean = require('del'),
shared = require('../shared'),
config = require('../config'),
filename = path.basename(__filename),
id = filename.substr(0, filename.indexOf('.')),
task = config.tasks[id];

module.exports = gulp;

gulp.task(id, function(callback) {
return sequence(id + ':lint', id + ':clean', id + ':build', callback);
});

gulp.task(id + ':lint', function() {
return gulp.src(task.lint || task.watch)
.pipe(plugins.eslint())
.pipe(plugins.eslint.format());
});

gulp.task(id + ':clean', function(callback) {
return clean(task.clean || task.dest + '/**/*', callback);
});

gulp.task(id + ':build', function() {
return gulp.src(task.build || task.watch)
.pipe(plugins.plumber({ errorHandler: shared.handleError}))
.pipe(plugins.rename({ suffix: '.min' }))
.pipe(plugins.uglify({ preserveComments: 'none' }))
.pipe(plugins.wrap({ src: './snippets/wrapper.tpl'}))
.pipe(plugins.chmod(shared.rights))
.pipe(plugins.size({ showFiles: true, gzip: true }))
.pipe(gulp.dest(task.dest));
});
12 changes: 7 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "qoopido.demand",
"title": "Qoopido.demand",
"description": "Promise like module loader using XHR requests and localStorage caching to dynamically load JavaScript and CSS + dynamic dependency resolution + support for custom handlers",
"version": "4.2.4",
"version": "4.2.5",
"homepage": "https://github.com/dlueth/qoopido.demand",
"author": {
"name": "Dirk Lueth",
Expand Down Expand Up @@ -51,7 +51,7 @@
"devDependencies": {
"del": "3.0.0",
"gulp": "3.9.1",
"gulp-bump": "2.9.0",
"gulp-bump": "3.0.0",
"gulp-chmod": "2.0.0",
"gulp-devtools": "0.0.3",
"gulp-eslint": "4.0.0",
Expand All @@ -61,12 +61,14 @@
"gulp-livereload": "3.8.1",
"gulp-load-plugins": "1.5.0",
"gulp-plumber": "1.1.0",
"gulp-size": "2.1.0",
"gulp-sourcemaps": "2.6.1",
"gulp-rename": "1.2.2",
"gulp-size": "3.0.0",
"gulp-sourcemaps": "2.6.3",
"gulp-uglify": "3.0.0",
"gulp-util": "3.0.8",
"gulp-wrap": "0.13.0",
"require-dir": "0.3.2",
"run-sequence": "2.2.0"
"run-sequence": "2.2.1"
},
"dependencies": {}
}
13 changes: 13 additions & 0 deletions snippets/async.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* global url, main, settings */

(function(window, document, type, target, script){
target = document.getElementsByTagName(type)[0];
script = document.createElement(type);

window.demand = { url: url, main: main, settings: settings };

script.async = 1;
script.src = url;

target.parentNode.insertBefore(script, target);
}(window, document, 'script'))
3 changes: 3 additions & 0 deletions snippets/async.min.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(function(url, main, settings) {
!function(e,n,t,r,s){r=n.getElementsByTagName(t)[0],s=n.createElement(t),e.demand={url:url,main:main,settings:settings},s.async=1,s.src=url,r.parentNode.insertBefore(s,r)}(window,document,"script");
}('../dist/demand.js', 'app/js/main', { base: './', version: '4.2.4', cache: true }));
35 changes: 35 additions & 0 deletions snippets/iframe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/* global url, main, settings */

(function(global, document, type, target, frame, domain, script){
global.demand = { url: url, main: main, settings: settings };
target = document.getElementsByTagName(type)[0];
frame = document.createElement('iframe');
frame.src = 'javascript:void(0)';
frame.name = 'demand-loader';
frame.title = '';
frame.role = 'presentation';

(frame.frameElement || frame).style.cssText = 'display:none;width:0;height:0;border:0;';

target.parentNode.insertBefore(frame, target);

try {
frame = frame.contentWindow.document;
} catch(error) {
domain = document.domain;
frame.src = 'javascript:var d=document.open();d.domain="' + domain + '";void(0);';
frame = frame.contentWindow.document;
}

frame.open()._ = function() {
domain && (this.domain = domain);

script = this.createElement(type);
script.src = url;

this.body.appendChild(script);
};

frame.write('<body onload="document._();" />');
frame.close();
}(this, document, 'script'))
3 changes: 3 additions & 0 deletions snippets/iframe.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions snippets/wrapper.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(function(url, main, settings) {
<%= contents %>
}('../dist/demand.js', 'app/js/main', { base: './', version: '4.2.4', cache: true }));
10 changes: 6 additions & 4 deletions src/demand.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@
*/

/*eslint no-unused-vars: [2, { "vars": "local", "args": "none" }]*/
(function(global, document, options, setTimeout, clearTimeout) {
(function(global, setTimeout, clearTimeout) {
'use strict';

/* eslint-disable no-unused-vars */
var settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },
var document = global.document,
options = 'demand' in global && global.demand,
settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },
storage = {},
queue, processor;
demand, provide, queue, processor;
/* eslint-enable no-unused-vars */

// include inheritance
Expand Down Expand Up @@ -82,4 +84,4 @@
break;
}
}
}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));
}(this.name === 'demand-loader' ? parent : this, setTimeout, clearTimeout));
3 changes: 2 additions & 1 deletion src/function/demand.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
//=require class/pattern.js
//=require class/loader.js

global.demand = (function() {
/*eslint no-global-assign: [2, { "exceptions": ["demand"] }]*/
demand = global.demand = (function() {
function updateCacheSettings(property, value) {
this[property] = { weight: property.length, state: value };
}
Expand Down
Loading

0 comments on commit 9990cab

Please sign in to comment.