Skip to content

Commit 3f29966

Browse files
committed
cleanup build system
1 parent a4ceb6f commit 3f29966

File tree

5 files changed

+118
-3422
lines changed

5 files changed

+118
-3422
lines changed

build.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@ bundle.add('./simplewebrtc');
77
bundle.bundle({standalone: 'SimpleWebRTC'}, function (err, source) {
88
if (err) console.error(err);
99
fs.writeFileSync('simplewebrtc.bundle.js', source);
10-
request.get('http://signaling.simplewebrtc.com:8888/socket.io/socket.io.js', function (err, res, body) {
11-
if (!err && body && body.length) {
12-
fs.writeFile('latest.js', uglify.minify(source + body, {fromString: true}).code, function (err) {
13-
if (err) throw err;
14-
});
15-
}
10+
fs.writeFile('latest.js', uglify.minify(source, {fromString: true}).code, function (err) {
11+
if (err) throw err;
1612
});
1713
});

index.html

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ <h1 id="title">Start a room</h1>
3737
</div>
3838
<div id="remotes"></div>
3939
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
40-
<script src="socket.io.js"></script>
4140
<script src="simplewebrtc.bundle.js"></script>
4241
<script>
4342
// grab the room from the URL

latest.js

+4-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

simplewebrtc.bundle.js

+112-85
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,48 @@ SimpleWebRTC.prototype.sendFile = function () {
438438

439439
module.exports = SimpleWebRTC;
440440

441-
},{"attachmediastream":4,"mockconsole":5,"socket.io-client":7,"webrtc":3,"webrtcsupport":6,"wildemitter":2}],2:[function(require,module,exports){
441+
},{"attachmediastream":6,"mockconsole":5,"socket.io-client":7,"webrtc":2,"webrtcsupport":3,"wildemitter":4}],3:[function(require,module,exports){
442+
// created by @HenrikJoreteg
443+
var prefix;
444+
var isChrome = false;
445+
var isFirefox = false;
446+
var ua = window.navigator.userAgent.toLowerCase();
447+
448+
// basic sniffing
449+
if (ua.indexOf('firefox') !== -1) {
450+
prefix = 'moz';
451+
isFirefox = true;
452+
} else if (ua.indexOf('chrome') !== -1) {
453+
prefix = 'webkit';
454+
isChrome = true;
455+
}
456+
457+
var PC = window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
458+
var IceCandidate = window.mozRTCIceCandidate || window.RTCIceCandidate;
459+
var SessionDescription = window.mozRTCSessionDescription || window.RTCSessionDescription;
460+
var MediaStream = window.webkitMediaStream || window.MediaStream;
461+
var screenSharing = window.location.protocol === 'https:' &&
462+
((window.navigator.userAgent.match('Chrome') && parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1], 10) >= 26) ||
463+
(window.navigator.userAgent.match('Firefox') && parseInt(window.navigator.userAgent.match(/Firefox\/(.*)/)[1], 10) >= 33));
464+
var AudioContext = window.webkitAudioContext || window.AudioContext;
465+
466+
467+
// export support flags and constructors.prototype && PC
468+
module.exports = {
469+
support: !!PC,
470+
dataChannel: isChrome || isFirefox || (PC && PC.prototype && PC.prototype.createDataChannel),
471+
prefix: prefix,
472+
webAudio: !!(AudioContext && AudioContext.prototype.createMediaStreamSource),
473+
mediaStream: !!(MediaStream && MediaStream.prototype.removeTrack),
474+
screenSharing: !!screenSharing,
475+
AudioContext: AudioContext,
476+
PeerConnection: PC,
477+
SessionDescription: SessionDescription,
478+
IceCandidate: IceCandidate,
479+
MediaStream: MediaStream
480+
};
481+
482+
},{}],4:[function(require,module,exports){
442483
/*
443484
WildEmitter.js is a slim little event emitter by @henrikjoreteg largely based
444485
on @visionmedia's Emitter from UI Kit.
@@ -579,7 +620,19 @@ WildEmitter.prototype.getWildcardCallbacks = function (eventName) {
579620
return result;
580621
};
581622

582-
},{}],4:[function(require,module,exports){
623+
},{}],5:[function(require,module,exports){
624+
var methods = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(",");
625+
var l = methods.length;
626+
var fn = function () {};
627+
var mockconsole = {};
628+
629+
while (l--) {
630+
mockconsole[methods[l]] = fn;
631+
}
632+
633+
module.exports = mockconsole;
634+
635+
},{}],6:[function(require,module,exports){
583636
module.exports = function (stream, el, options) {
584637
var URL = window.URL;
585638
var opts = {
@@ -620,59 +673,6 @@ module.exports = function (stream, el, options) {
620673
return element;
621674
};
622675

623-
},{}],5:[function(require,module,exports){
624-
var methods = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(",");
625-
var l = methods.length;
626-
var fn = function () {};
627-
var mockconsole = {};
628-
629-
while (l--) {
630-
mockconsole[methods[l]] = fn;
631-
}
632-
633-
module.exports = mockconsole;
634-
635-
},{}],6:[function(require,module,exports){
636-
// created by @HenrikJoreteg
637-
var prefix;
638-
var isChrome = false;
639-
var isFirefox = false;
640-
var ua = window.navigator.userAgent.toLowerCase();
641-
642-
// basic sniffing
643-
if (ua.indexOf('firefox') !== -1) {
644-
prefix = 'moz';
645-
isFirefox = true;
646-
} else if (ua.indexOf('chrome') !== -1) {
647-
prefix = 'webkit';
648-
isChrome = true;
649-
}
650-
651-
var PC = window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
652-
var IceCandidate = window.mozRTCIceCandidate || window.RTCIceCandidate;
653-
var SessionDescription = window.mozRTCSessionDescription || window.RTCSessionDescription;
654-
var MediaStream = window.webkitMediaStream || window.MediaStream;
655-
var screenSharing = window.location.protocol === 'https:' &&
656-
((window.navigator.userAgent.match('Chrome') && parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1], 10) >= 26) ||
657-
(window.navigator.userAgent.match('Firefox') && parseInt(window.navigator.userAgent.match(/Firefox\/(.*)/)[1], 10) >= 33));
658-
var AudioContext = window.webkitAudioContext || window.AudioContext;
659-
660-
661-
// export support flags and constructors.prototype && PC
662-
module.exports = {
663-
support: !!PC,
664-
dataChannel: isChrome || isFirefox || (PC && PC.prototype && PC.prototype.createDataChannel),
665-
prefix: prefix,
666-
webAudio: !!(AudioContext && AudioContext.prototype.createMediaStreamSource),
667-
mediaStream: !!(MediaStream && MediaStream.prototype.removeTrack),
668-
screenSharing: !!screenSharing,
669-
AudioContext: AudioContext,
670-
PeerConnection: PC,
671-
SessionDescription: SessionDescription,
672-
IceCandidate: IceCandidate,
673-
MediaStream: MediaStream
674-
};
675-
676676
},{}],7:[function(require,module,exports){
677677
/*! Socket.IO.js build:0.9.16, development. Copyright(c) 2011 LearnBoost <[email protected]> MIT Licensed */
678678

@@ -4894,7 +4894,7 @@ exports.format = function(f) {
48944894
return str;
48954895
};
48964896

4897-
},{"events":9}],3:[function(require,module,exports){
4897+
},{"events":9}],2:[function(require,module,exports){
48984898
var util = require('util');
48994899
var webrtc = require('webrtcsupport');
49004900
var WildEmitter = require('wildemitter');
@@ -5059,7 +5059,7 @@ WebRTC.prototype.sendDirectlyToAll = function (channel, message, payload) {
50595059

50605060
module.exports = WebRTC;
50615061

5062-
},{"./peer":10,"localmedia":11,"mockconsole":5,"util":8,"webrtcsupport":6,"wildemitter":2}],12:[function(require,module,exports){
5062+
},{"./peer":10,"localmedia":11,"mockconsole":5,"util":8,"webrtcsupport":3,"wildemitter":4}],12:[function(require,module,exports){
50635063
// shim for using process in browser
50645064

50655065
var process = module.exports = {};
@@ -5525,7 +5525,7 @@ Peer.prototype.handleDataChannelAdded = function (channel) {
55255525

55265526
module.exports = Peer;
55275527

5528-
},{"rtcpeerconnection":13,"util":8,"webrtcsupport":6,"wildemitter":2}],14:[function(require,module,exports){
5528+
},{"rtcpeerconnection":13,"util":8,"webrtcsupport":3,"wildemitter":4}],14:[function(require,module,exports){
55295529
// getUserMedia helper by @HenrikJoreteg
55305530
var func = (window.navigator.getUserMedia ||
55315531
window.navigator.webkitGetUserMedia ||
@@ -5534,12 +5534,11 @@ var func = (window.navigator.getUserMedia ||
55345534

55355535

55365536
module.exports = function (constraints, cb) {
5537-
var options;
5537+
var options, error;
55385538
var haveOpts = arguments.length === 2;
55395539
var defaultOpts = {video: true, audio: true};
5540-
var error;
55415540
var denied = 'PermissionDeniedError';
5542-
var notSatified = 'ConstraintNotSatisfiedError';
5541+
var notSatisfied = 'ConstraintNotSatisfiedError';
55435542

55445543
// make constraints optional
55455544
if (!haveOpts) {
@@ -5552,7 +5551,35 @@ module.exports = function (constraints, cb) {
55525551
// throw proper error per spec
55535552
error = new Error('MediaStreamError');
55545553
error.name = 'NotSupportedError';
5555-
return cb(error);
5554+
5555+
// keep all callbacks async
5556+
return window.setTimeout(function () {
5557+
cb(error);
5558+
}, 0);
5559+
}
5560+
5561+
// make requesting media from non-http sources trigger an error
5562+
// current browsers silently drop the request instead
5563+
var protocol = window.location.protocol;
5564+
if (protocol !== 'http:' && protocol !== 'https:') {
5565+
error = new Error('MediaStreamError');
5566+
error.name = 'NotSupportedError';
5567+
5568+
// keep all callbacks async
5569+
return window.setTimeout(function () {
5570+
cb(error);
5571+
}, 0);
5572+
}
5573+
5574+
// normalize error handling when no media types are requested
5575+
if (!constraints.audio && !constraints.video) {
5576+
error = new Error('MediaStreamError');
5577+
error.name = 'NoMediaRequestedError';
5578+
5579+
// keep all callbacks async
5580+
return window.setTimeout(function () {
5581+
cb(error);
5582+
}, 0);
55565583
}
55575584

55585585
if (localStorage && localStorage.useFirefoxFakeDevice === "true") {
@@ -5571,7 +5598,7 @@ module.exports = function (constraints, cb) {
55715598
if (err === denied) {
55725599
error.name = denied;
55735600
} else {
5574-
error.name = notSatified;
5601+
error.name = notSatisfied;
55755602
}
55765603
} else {
55775604
// if we get an error object make sure '.name' property is set
@@ -5584,7 +5611,7 @@ module.exports = function (constraints, cb) {
55845611
if (error[denied]) {
55855612
err.name = denied;
55865613
} else {
5587-
err.name = notSatified;
5614+
err.name = notSatisfied;
55885615
}
55895616
}
55905617
}
@@ -5871,7 +5898,7 @@ Object.defineProperty(LocalMedia.prototype, 'localScreen', {
58715898

58725899
module.exports = LocalMedia;
58735900

5874-
},{"getscreenmedia":16,"getusermedia":14,"hark":15,"mediastream-gain":17,"mockconsole":5,"util":8,"webrtcsupport":6,"wildemitter":2}],18:[function(require,module,exports){
5901+
},{"getscreenmedia":16,"getusermedia":14,"hark":15,"mediastream-gain":17,"mockconsole":5,"util":8,"webrtcsupport":3,"wildemitter":4}],18:[function(require,module,exports){
58755902
// Underscore.js 1.7.0
58765903
// http://underscorejs.org
58775904
// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
@@ -7335,20 +7362,7 @@ GainController.prototype.on = function () {
73357362

73367363
module.exports = GainController;
73377364

7338-
},{"webrtcsupport":19}],20:[function(require,module,exports){
7339-
var tosdp = require('./lib/tosdp');
7340-
var tojson = require('./lib/tojson');
7341-
7342-
7343-
exports.toSessionSDP = tosdp.toSessionSDP;
7344-
exports.toMediaSDP = tosdp.toMediaSDP;
7345-
exports.toCandidateSDP = tosdp.toCandidateSDP;
7346-
7347-
exports.toSessionJSON = tojson.toSessionJSON;
7348-
exports.toMediaJSON = tojson.toMediaJSON;
7349-
exports.toCandidateJSON = tojson.toCandidateJSON;
7350-
7351-
},{"./lib/tojson":22,"./lib/tosdp":21}],13:[function(require,module,exports){
7365+
},{"webrtcsupport":19}],13:[function(require,module,exports){
73527366
var _ = require('underscore');
73537367
var util = require('util');
73547368
var webrtc = require('webrtcsupport');
@@ -7957,7 +7971,20 @@ PeerConnection.prototype.getStats = function (cb) {
79577971

79587972
module.exports = PeerConnection;
79597973

7960-
},{"sdp-jingle-json":20,"traceablepeerconnection":23,"underscore":18,"util":8,"webrtcsupport":6,"wildemitter":2}],19:[function(require,module,exports){
7974+
},{"sdp-jingle-json":20,"traceablepeerconnection":21,"underscore":18,"util":8,"webrtcsupport":3,"wildemitter":4}],20:[function(require,module,exports){
7975+
var tosdp = require('./lib/tosdp');
7976+
var tojson = require('./lib/tojson');
7977+
7978+
7979+
exports.toSessionSDP = tosdp.toSessionSDP;
7980+
exports.toMediaSDP = tosdp.toMediaSDP;
7981+
exports.toCandidateSDP = tosdp.toCandidateSDP;
7982+
7983+
exports.toSessionJSON = tojson.toSessionJSON;
7984+
exports.toMediaJSON = tojson.toMediaJSON;
7985+
exports.toCandidateJSON = tojson.toCandidateJSON;
7986+
7987+
},{"./lib/tojson":23,"./lib/tosdp":22}],19:[function(require,module,exports){
79617988
// created by @HenrikJoreteg
79627989
var prefix;
79637990
var isChrome = false;
@@ -8111,7 +8138,7 @@ window.addEventListener('message', function (event) {
81118138
}
81128139
});
81138140

8114-
},{"getusermedia":14}],21:[function(require,module,exports){
8141+
},{"getusermedia":14}],22:[function(require,module,exports){
81158142
var senders = {
81168143
'initiator': 'sendonly',
81178144
'responder': 'recvonly',
@@ -8328,7 +8355,7 @@ exports.toCandidateSDP = function (candidate) {
83288355
return 'a=candidate:' + sdp.join(' ');
83298356
};
83308357

8331-
},{}],22:[function(require,module,exports){
8358+
},{}],23:[function(require,module,exports){
83328359
var parsers = require('./parsers');
83338360
var idCounter = Math.random();
83348361

@@ -8652,7 +8679,7 @@ module.exports = function(stream, options) {
86528679
return harker;
86538680
}
86548681

8655-
},{"wildemitter":2}],24:[function(require,module,exports){
8682+
},{"wildemitter":4}],24:[function(require,module,exports){
86568683
exports.lines = function (sdp) {
86578684
return sdp.split('\r\n').filter(function (line) {
86588685
return line.length > 0;
@@ -8913,7 +8940,7 @@ exports.bandwidth = function (line) {
89138940
return parsed;
89148941
};
89158942

8916-
},{}],23:[function(require,module,exports){
8943+
},{}],21:[function(require,module,exports){
89178944
// based on https://github.com/ESTOS/strophe.jingle/
89188945
// adds wildemitter support
89198946
var util = require('util');
@@ -9150,6 +9177,6 @@ TraceablePeerConnection.prototype.getStats = function (callback, errback) {
91509177

91519178
module.exports = TraceablePeerConnection;
91529179

9153-
},{"util":8,"webrtcsupport":6,"wildemitter":2}]},{},[1])(1)
9180+
},{"util":8,"webrtcsupport":3,"wildemitter":4}]},{},[1])(1)
91549181
});
91559182
;

0 commit comments

Comments
 (0)