pax_global_header00006660000000000000000000000064134223336170014516gustar00rootroot0000000000000052 comment=550c648e920f926b16baea0908cd8a7a04b67089 browser-unpack-1.4.2/000077500000000000000000000000001342233361700144645ustar00rootroot00000000000000browser-unpack-1.4.2/.npmrc000066400000000000000000000000231342233361700155770ustar00rootroot00000000000000package-lock=false browser-unpack-1.4.2/.travis.yml000066400000000000000000000005131342233361700165740ustar00rootroot00000000000000language: node_js node_js: - "10" - "9" - "8" - "6" - "4" - "iojs" - "0.12" - "0.10" - "0.8" before_install: # Old npm certs are untrusted https://github.com/npm/npm/issues/20191 - 'if [ "${TRAVIS_NODE_VERSION}" = "0.8" ]; then export NPM_CONFIG_STRICT_SSL=false; fi' - 'nvm install-latest-npm' sudo: false browser-unpack-1.4.2/LICENSE000066400000000000000000000020611342233361700154700ustar00rootroot00000000000000This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. browser-unpack-1.4.2/bin/000077500000000000000000000000001342233361700152345ustar00rootroot00000000000000browser-unpack-1.4.2/bin/cmd.js000077500000000000000000000012431342233361700163400ustar00rootroot00000000000000#!/usr/bin/env node var parse = require('../'); var concat = require('concat-stream'); var fs = require('fs'); var minimist = require('minimist'); var argv = minimist(process.argv.slice(2)); if (argv.help || argv.h) { return fs.createReadStream(__dirname + '/usage.txt') .pipe(process.stdout) ; } process.stdin.pipe(concat(function (body) { var rows = parse(body); if (!rows) { console.error("couldn't parse this bundle"); process.exit(1); } console.log('['); rows.forEach(function (row, index) { if (index > 0) console.log(','); console.log(JSON.stringify(row)); }); console.log(']'); })); browser-unpack-1.4.2/bin/usage.txt000066400000000000000000000001551342233361700171020ustar00rootroot00000000000000usage: browser-unpack Write a browser bundle to STDIN. Outputs a JSON array in the module-deps format. browser-unpack-1.4.2/example/000077500000000000000000000000001342233361700161175ustar00rootroot00000000000000browser-unpack-1.4.2/example/foo.js000066400000000000000000000000611342233361700172350ustar00rootroot00000000000000module.exports = function (n) { return n * 111 } browser-unpack-1.4.2/example/main.js000066400000000000000000000001341342233361700173770ustar00rootroot00000000000000var foo = require('./foo.js'); var gamma = require('gamma'); console.log(foo(gamma(2.3))); browser-unpack-1.4.2/index.js000066400000000000000000000052011342233361700161270ustar00rootroot00000000000000var parse = require('acorn-node').parse; module.exports = function (src) { // If src is a Buffer, esprima will just stringify it, so we beat them to // the punch. This avoids the problem where we're using esprima's range // indexes -- which are meant for a UTF-16 string -- in a buffer that // contains UTF-8 encoded text. if (typeof src !== 'string') { src = String(src); } var ast = parse(src, { range: true }); ast.body = ast.body.filter(function(node) { return node.type !== 'EmptyStatement'; }); if (ast.body.length !== 1) return; if (ast.body[0].type !== 'ExpressionStatement') return; if (ast.body[0].expression.type === 'UnaryExpression') { var body = ast.body[0].expression.argument; } else if (ast.body[0].expression.type === 'AssignmentExpression') { var body = ast.body[0].expression.right; } else { var body = ast.body[0].expression; } if (body.type !== 'CallExpression') return; var args = body.arguments; if (args.length === 1) args = extractStandalone(args) || args; if (args.length !== 3) return; if (args[0].type !== 'ObjectExpression') return; if (args[1].type !== 'ObjectExpression') return; if (args[2].type !== 'ArrayExpression') return; var files = args[0].properties; var cache = args[1]; var entries = args[2].elements.map(function (e) { return e.value }); return files.map(function (file) { var body = file.value.elements[0].body.body; var start, end; if (body.length === 0) { start = body.start || 0; end = body.end || 0; } else { start = body[0].start; end = body[body.length-1].end; } var depProps = file.value.elements[1].properties; var deps = depProps.reduce(function (acc, dep) { var key = dep.key.type === 'Literal' ? dep.key.value : dep.key.name; acc[key] = dep.value.value; return acc; }, {}); var row = { id: file.key.value, source: src.slice(start, end), deps: deps }; if (entries.indexOf(row.id) >= 0) row.entry = true; return row; }); }; function extractStandalone (args) { if (args[0].type !== 'FunctionExpression') return; if (args[0].body.length < 2) return; if (args[0].body.body.length < 2) return; args = args[0].body.body[1].argument; if (args.type !== 'CallExpression') return; if (args.callee.type !== 'CallExpression') return; return args.callee.arguments; }; browser-unpack-1.4.2/package.json000066400000000000000000000014631342233361700167560ustar00rootroot00000000000000{ "name": "browser-unpack", "version": "1.4.2", "description": "parse a bundle generated by browser-pack", "main": "index.js", "bin": { "browser-unpack": "bin/cmd.js" }, "dependencies": { "acorn-node": "^1.5.2", "concat-stream": "^1.5.0", "minimist": "^1.1.1" }, "devDependencies": { "browser-pack": "^6.1.0", "tape": "^4.0.1" }, "scripts": { "test": "tape test/*.js" }, "repository": { "type": "git", "url": "git://github.com/browserify/browser-unpack.git" }, "homepage": "https://github.com/browserify/browser-unpack", "keywords": [ "browserify", "bundle", "inverse", "invert", "unpack" ], "author": { "email": "mail@substack.net", "name": "James Halliday", "url": "http://substack.net" }, "license": "MIT" } browser-unpack-1.4.2/readme.markdown000066400000000000000000000056631342233361700174770ustar00rootroot00000000000000# browser-unpack parse a bundle generated by [browser-pack](https://npmjs.org/package/browser-pack) [![build status](https://secure.travis-ci.org/browserify/browser-unpack.png)](http://travis-ci.org/browserify/browser-unpack) # example ``` $ node main.js 129.50502147699586 $ browserify main.js > bundle.js $ browser-unpack < bundle.js [ {"id":"/home/substack/projects/browser-unpack/example/foo.js","source":"module.exports = function (n) { return n * 111 }\n\n","deps":{}} , {"id":"/home/substack/projects/browser-unpack/example/main.js","source":"var foo = require('./foo.js');\nvar gamma = require('gamma');\n\nconsole.log(foo(gamma(2.3)));","deps":{"./foo.js":"/home/substack/projects/browser-unpack/example/foo.js","gamma":"/home/substack/projects/browser-unpack/node_modules/gamma/index.js"},"entry":true} , {"id":"/home/substack/projects/browser-unpack/node_modules/gamma/index.js","source":"var g = 7;\nvar p = [\n 0.99999999999980993,\n 676.5203681218851,\n -1259.1392167224028,\n 771.32342877765313,\n -176.61502916214059,\n 12.507343278686905,\n -0.13857109526572012,\n 9.9843695780195716e-6,\n 1.5056327351493116e-7\n];\n\nvar g_ln = 607/128;\nvar p_ln = [\n 0.99999999999999709182,\n 57.156235665862923517,\n -59.597960355475491248,\n 14.136097974741747174,\n -0.49191381609762019978,\n 0.33994649984811888699e-4,\n 0.46523628927048575665e-4,\n -0.98374475304879564677e-4,\n 0.15808870322491248884e-3,\n -0.21026444172410488319e-3,\n 0.21743961811521264320e-3,\n -0.16431810653676389022e-3,\n 0.84418223983852743293e-4,\n -0.26190838401581408670e-4,\n 0.36899182659531622704e-5\n];\n\n// Spouge approximation (suitable for large arguments)\nfunction lngamma(z) {\n\n if(z < 0) return Number('0/0');\n var x = p_ln[0];\n for(var i = p_ln.length - 1; i > 0; --i) x += p_ln[i] / (z + i);\n var t = z + g_ln + 0.5;\n return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z);\n}\n\nmodule.exports = function gamma (z) {\n if (z < 0.5) {\n return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z));\n }\n else if(z > 100) return Math.exp(lngamma(z));\n else {\n z -= 1;\n var x = p[0];\n for (var i = 1; i < g + 2; i++) {\n x += p[i] / (z + i);\n }\n var t = z + g + 0.5;\n\n return Math.sqrt(2 * Math.PI)\n * Math.pow(t, z + 0.5)\n * Math.exp(-t)\n * x\n ;\n }\n};\n\nmodule.exports.log = lngamma;","deps":{}} ] $ browser-unpack < bundle.js | browser-pack | node 129.50502147699586 ``` # usage ``` usage: browser-unpack Write a browser bundle to STDIN. Outputs a JSON array in the module-deps format. ``` # methods ``` js var unpack = require('browser-unpack') ``` ## var rows = unpack(src) Return an array of `rows` from the bundle source string `src`. # install With [npm](https://npmjs.org) do: ``` npm install browser-unpack ``` # license MIT browser-unpack-1.4.2/test/000077500000000000000000000000001342233361700154435ustar00rootroot00000000000000browser-unpack-1.4.2/test/assignment.js000066400000000000000000000007541342233361700201570ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var pack = require('browser-pack'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/assignment.js', 'utf8'); test('expression', function (t) { t.plan(2); t.doesNotThrow(function() { var p = pack({ raw: true }); var rows = unpack(src); t.equal(rows.length, 3, 'should unpack 3 rows'); }, 'should not throw'); }); browser-unpack-1.4.2/test/empty-statements.js000066400000000000000000000007601342233361700213270ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var pack = require('browser-pack'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/empty-statements.js', 'utf8'); test('uglified', function (t) { t.plan(2); t.doesNotThrow(function() { var p = pack({ raw: true }); var rows = unpack(src); t.equal(rows.length, 3, 'should unpack 3 rows'); }, 'should not throw'); }); browser-unpack-1.4.2/test/files/000077500000000000000000000000001342233361700165455ustar00rootroot00000000000000browser-unpack-1.4.2/test/files/assignment.js000066400000000000000000000045411342233361700212570ustar00rootroot00000000000000require = (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}],2:[function(require,module,exports){ module.exports = function (n) { return n * 111 } },{}],3:[function(require,module,exports){ var foo = require('./foo.js'); var gamma = require('gamma'); console.log(Math.floor(foo(gamma(3.8)))); },{"./foo.js":2,"gamma":1}]},{},[3]) browser-unpack-1.4.2/test/files/bundle.js000066400000000000000000000045261342233361700203630ustar00rootroot00000000000000(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}],2:[function(require,module,exports){ module.exports = function (n) { return n * 111 } },{}],3:[function(require,module,exports){ var foo = require('./foo.js'); var gamma = require('gamma'); console.log(Math.floor(foo(gamma(3.8)))); },{"./foo.js":2,"gamma":1}]},{},[3])browser-unpack-1.4.2/test/files/empty-statements.js000066400000000000000000000045341342233361700224340ustar00rootroot00000000000000;;(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}],2:[function(require,module,exports){ module.exports = function (n) { return n * 111 } },{}],3:[function(require,module,exports){ var foo = require('./foo.js'); var gamma = require('gamma'); console.log(Math.floor(foo(gamma(3.8)))); },{"./foo.js":2,"gamma":1}]},{},[3]) ;; browser-unpack-1.4.2/test/files/empty.js000066400000000000000000000042731342233361700202470ustar00rootroot00000000000000(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}],2:[function(require,module,exports){ },{}],3:[function(require,module,exports){},{"./foo.js":2,"gamma":1}]},{},[3]) browser-unpack-1.4.2/test/files/return.js000066400000000000000000000010221342233361700204150ustar00rootroot00000000000000(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}]},{},[2]) (2) }); browser-unpack-1.4.2/test/files/uglified.js000066400000000000000000000030021342233361700206660ustar00rootroot00000000000000!function r(t,e,o){function n(u,f){if(!e[u]){if(!t[u]){var i="function"==typeof require&&require;if(!f&&i)return i(u,!0);if(a)return a(u,!0);throw new Error("Cannot find module '"+u+"'")}var h=e[u]={exports:{}};t[u][0].call(h.exports,function(r){var e=t[u][1][r];return n(e?e:r)},h,h.exports,r,t,e,o)}return e[u].exports}for(var a="function"==typeof require&&require,u=0;ur)return Number("0/0");for(var t=u[0],e=u.length-1;e>0;--e)t+=u[e]/(r+e);var o=r+a+.5;return.5*Math.log(2*Math.PI)+(r+.5)*Math.log(o)-o+Math.log(t)-Math.log(r)}var o=7,n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,u=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];t.exports=function f(r){if(.5>r)return Math.PI/(Math.sin(Math.PI*r)*f(1-r));if(r>100)return Math.exp(e(r));r-=1;for(var t=n[0],a=1;o+2>a;a++)t+=n[a]/(r+a);var u=r+o+.5;return Math.sqrt(2*Math.PI)*Math.pow(u,r+.5)*Math.exp(-u)*t},t.exports.log=e},{}],2:[function(r,t){t.exports=function(r){return 111*r}},{}],3:[function(r){var t=r("./foo.js"),e=r("gamma");console.log(Math.floor(t(e(3.8))))},{"./foo.js":2,gamma:1}]},{},[3]);browser-unpack-1.4.2/test/files/utf-8.js000066400000000000000000000052561342233361700200560ustar00rootroot00000000000000!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var n;"undefined"!=typeof window?n=window:"undefined"!=typeof global?n=global:"undefined"!=typeof self&&(n=self),n.StandAlone=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0; --i) x += p_ln[i] / (z + i); var t = z + g_ln + 0.5; return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z); } module.exports = function gamma (z) { if (z < 0.5) { return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); } else if(z > 100) return Math.exp(lngamma(z)); else { z -= 1; var x = p[0]; for (var i = 1; i < g + 2; i++) { x += p[i] / (z + i); } var t = z + g + 0.5; return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x ; } }; module.exports.log = lngamma; },{}]},{},[2]) (2) }); browser-unpack-1.4.2/test/multi-byte.js000066400000000000000000000012201342233361700200670ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/utf-8.js', 'utf8'); var buf = new Buffer(src); test('multi-byte characters', function (t) { t.plan(6); t.doesNotThrow(function() { var srcRows = unpack(src); var bufRows = unpack(buf); t.equal(srcRows.length, bufRows.length, 'should unpack the same number of rows'); t.equal(srcRows.length, 3, 'should unpack 3 rows'); for (var i = 0; i < 3; i++) { t.equal(bufRows[i].source, srcRows[i].source, 'should have the same source'); } }, 'should not throw'); }); browser-unpack-1.4.2/test/return.js000066400000000000000000000012231342233361700173160ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var pack = require('browser-pack'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/return.js', 'utf8'); test('return', function (t) { t.plan(1); var p = pack({ raw: true }); p.pipe(concat(function (body) { var log = function (msg) { t.equal(msg, 'whatever'); }; var c = { console: { log: log } }; vm.runInNewContext(body.toString('utf8'), c); })); var rows = unpack(src); rows.forEach(function (row) { p.write(row) }); p.end(); }); browser-unpack-1.4.2/test/standalone.js000066400000000000000000000005441342233361700201340ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/standalone.js', 'utf8'); test('standalone', function (t) { t.plan(2); t.doesNotThrow(function() { var rows = unpack(src); t.equal(rows.length, 3, 'should unpack 3 rows'); }, 'should not throw'); }); browser-unpack-1.4.2/test/uglified.js000066400000000000000000000013171342233361700175730ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var pack = require('browser-pack'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/uglified.js', 'utf8'); test('uglified', function (t) { t.plan(3); t.doesNotThrow(function() { var p = pack({ raw: true }); var rows = unpack(src); t.equal(rows.length, 3, 'should unpack 3 rows'); }, 'should not throw'); t.deepEquals(deps(src), ['./foo.js', 'gamma']); function deps(src) { var rows = unpack(src); return rows.reduce(function(prev, row) { return prev.concat(Object.keys(row.deps)); }, []); } }); browser-unpack-1.4.2/test/unpack.js000066400000000000000000000017761342233361700172750ustar00rootroot00000000000000var test = require('tape'); var unpack = require('../'); var pack = require('browser-pack'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var src = fs.readFileSync(__dirname + '/files/bundle.js', 'utf8'); var empty = fs.readFileSync(__dirname + '/files/empty.js', 'utf8'); test('unpack', function (t) { t.plan(1); var p = pack({ raw: true }); p.pipe(concat(function (body) { var log = function (msg) { t.equal(msg, 521); }; var c = { console: { log: log } }; vm.runInNewContext(body.toString('utf8'), c); })); var rows = unpack(src); rows.forEach(function (row) { p.write(row) }); p.end(); }); test('does not break on empty modules', function (t) { t.plan(1); var p = pack({ raw: true }); var rows = unpack(empty); p.pipe(concat(function (body) { t.pass('did not emit an error'); })) rows.forEach(function (row) { p.write(row); }) p.end(); })