pax_global_header00006660000000000000000000000064146532370330014520gustar00rootroot0000000000000052 comment=06a0d741cdcd1dd1fd6c8dc0dc02a9996e61d3b2 browserify-browser-unpack-06a0d74/000077500000000000000000000000001465323703300172025ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/.github/000077500000000000000000000000001465323703300205425ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/.github/workflows/000077500000000000000000000000001465323703300225775ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/.github/workflows/node-aught.yml000066400000000000000000000005551465323703300253620ustar00rootroot00000000000000name: 'Tests: node.js < 10' on: [pull_request, push] permissions: contents: read jobs: tests: uses: ljharb/actions/.github/workflows/node.yml@main with: range: '< 10' type: minors command: npm run tests-only node: name: 'node < 10' needs: [tests] runs-on: ubuntu-latest steps: - run: 'echo tests completed' browserify-browser-unpack-06a0d74/.github/workflows/node-tens.yml000066400000000000000000000005601465323703300252170ustar00rootroot00000000000000name: 'Tests: node.js >= 10' on: [pull_request, push] permissions: contents: read jobs: tests: uses: ljharb/actions/.github/workflows/node.yml@main with: range: '>= 10' type: minors command: npm run tests-only node: name: 'node >= 10' needs: [tests] runs-on: ubuntu-latest steps: - run: 'echo tests completed' browserify-browser-unpack-06a0d74/.npmrc000066400000000000000000000000231465323703300203150ustar00rootroot00000000000000package-lock=false browserify-browser-unpack-06a0d74/LICENSE000066400000000000000000000021201465323703300202020ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) James Halliday and browserify contributors 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. browserify-browser-unpack-06a0d74/bin/000077500000000000000000000000001465323703300177525ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/bin/cmd.js000077500000000000000000000012431465323703300210560ustar00rootroot00000000000000#!/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(']'); })); browserify-browser-unpack-06a0d74/bin/usage.txt000066400000000000000000000001551465323703300216200ustar00rootroot00000000000000usage: browser-unpack Write a browser bundle to STDIN. Outputs a JSON array in the module-deps format. browserify-browser-unpack-06a0d74/example/000077500000000000000000000000001465323703300206355ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/example/foo.js000066400000000000000000000000611465323703300217530ustar00rootroot00000000000000module.exports = function (n) { return n * 111 } browserify-browser-unpack-06a0d74/example/main.js000066400000000000000000000001341465323703300221150ustar00rootroot00000000000000var foo = require('./foo.js'); var gamma = require('gamma'); console.log(foo(gamma(2.3))); browserify-browser-unpack-06a0d74/index.js000066400000000000000000000053171465323703300206550ustar00rootroot00000000000000var 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.type === 'Literal' ? file.key.value : file.key.name, 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; }; browserify-browser-unpack-06a0d74/package.json000066400000000000000000000015331465323703300214720ustar00rootroot00000000000000{ "name": "browser-unpack", "version": "1.4.3", "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": { "tests-only": "tape test/*.js", "test": "npm run tests-only" }, "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" } browserify-browser-unpack-06a0d74/readme.markdown000066400000000000000000000054641465323703300222140ustar00rootroot00000000000000# browser-unpack parse a bundle generated by [browser-pack](https://npmjs.org/package/browser-pack) # 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 browserify-browser-unpack-06a0d74/test/000077500000000000000000000000001465323703300201615ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/test/assignment.js000066400000000000000000000007541465323703300226750ustar00rootroot00000000000000var 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'); }); browserify-browser-unpack-06a0d74/test/empty-statements.js000066400000000000000000000007601465323703300240450ustar00rootroot00000000000000var 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'); }); browserify-browser-unpack-06a0d74/test/files/000077500000000000000000000000001465323703300212635ustar00rootroot00000000000000browserify-browser-unpack-06a0d74/test/files/assignment.js000066400000000000000000000045411465323703300237750ustar00rootroot00000000000000require = (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]) browserify-browser-unpack-06a0d74/test/files/bundle.js000066400000000000000000000045261465323703300231010ustar00rootroot00000000000000(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])browserify-browser-unpack-06a0d74/test/files/empty-statements.js000066400000000000000000000045341465323703300251520ustar00rootroot00000000000000;;(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]) ;; browserify-browser-unpack-06a0d74/test/files/empty.js000066400000000000000000000042731465323703300227650ustar00rootroot00000000000000(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]) browserify-browser-unpack-06a0d74/test/files/return.js000066400000000000000000000010221465323703300231330ustar00rootroot00000000000000(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) }); browserify-browser-unpack-06a0d74/test/files/uglified.js000066400000000000000000000030121465323703300234050ustar00rootroot00000000000000!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}},{}],main:[function(r){var t=r("./foo.js"),e=r("gamma");console.log(Math.floor(t(e(3.8))))},{"./foo.js":2,gamma:1}]},{},["main"]);browserify-browser-unpack-06a0d74/test/files/utf-8.js000066400000000000000000000052561465323703300225740ustar00rootroot00000000000000!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) }); browserify-browser-unpack-06a0d74/test/multi-byte.js000066400000000000000000000012201465323703300226050ustar00rootroot00000000000000var 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'); }); browserify-browser-unpack-06a0d74/test/return.js000066400000000000000000000012231465323703300220340ustar00rootroot00000000000000var 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(); }); browserify-browser-unpack-06a0d74/test/standalone.js000066400000000000000000000005441465323703300226520ustar00rootroot00000000000000var 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'); }); browserify-browser-unpack-06a0d74/test/uglified.js000066400000000000000000000014431465323703300223110ustar00rootroot00000000000000var 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(4); t.doesNotThrow(function() { var p = pack({ raw: true }); var rows = unpack(src); t.equal(rows.length, 3, 'should unpack 3 rows'); t.ok(rows[2].hasOwnProperty('id'), 'third row should have an id property'); }, '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)); }, []); } }); browserify-browser-unpack-06a0d74/test/unpack.js000066400000000000000000000017761465323703300220130ustar00rootroot00000000000000var 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(); })