Socket
Socket
Sign inDemoInstall

rollup-plugin-sourcemaps

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rollup-plugin-sourcemaps - npm Package Compare versions

Comparing version 0.1.1 to 0.2.0

4

CHANGELOG.md
# Changelog
## 0.1.1
* Fix inline source maps not being detected
## 0.1.0
* First public release 🎉

117

dist/rollup-plugin-sourcemaps.esm.js
import _regeneratorRuntime from 'babel-runtime/regenerator';
import _slicedToArray from 'babel-runtime/helpers/slicedToArray';
import _asyncToGenerator from 'babel-runtime/helpers/asyncToGenerator';
import { createFilter } from 'rollup-pluginutils';
import { dirname, resolve } from 'path';
import { resolveSourceMap } from 'source-map-resolve';
import { readFile } from 'fs';

@@ -28,9 +27,4 @@ import _Promise from 'babel-runtime/core-js/promise';

var readFileAsync = promisify(readFile);
var resolveSourceMapAsync = promisify(resolveSourceMap);
// Borrowed from https://github.com/webpack/source-map-loader
var baseRegex = '\\s*[@#]\\s*sourceMappingURL\\s*=\\s*([^\\s]*)';
var regex1 = new RegExp('/\\*' + baseRegex + '\\s*\\*/'); // Matches /* ... */ comments
var regex2 = new RegExp('//' + baseRegex + '($|\n|\r\n?)'); // Matches // .... comments
var regexDataUrl = /data:(.*?)(?:;charset=(.*?))?(?:;(base64))?,(.+)/i; // Matches data urls
function sourceMapsPlugin() {

@@ -49,3 +43,3 @@ var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];

return _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
var code, match, _match, sourceMapComment, sourceMapURL, dataUrlMatch, rawMap, _dataUrlMatch, dataUrl, mimeType, _dataUrlMatch$, charset, _dataUrlMatch$2, encoding, data, sourceMapPath, map;
var code, sourceMap, _sourceMap, map;

@@ -80,98 +74,33 @@ return _regeneratorRuntime.wrap(function _callee$(_context) {

case 12:
sourceMap = void 0;
_context.prev = 13;
_context.next = 16;
return resolveSourceMapAsync(code, id, readFile);
// Check for source map comments
match = regex1.exec(code) || regex2.exec(code);
case 16:
sourceMap = _context.sent;
_context.next = 23;
break;
// No source map detected, return code
case 19:
_context.prev = 19;
_context.t1 = _context['catch'](13);
if (!(match === null)) {
_context.next = 15;
break;
}
console.error('rollup-plugin-sourcemaps: Failed resolving source map from ' + id + ': ' + _context.t1);
return _context.abrupt('return', code);
case 15:
_match = _slicedToArray(match, 2);
sourceMapComment = _match[0];
sourceMapURL = _match[1];
// Remove the source map comment, and make sure we don't return an empty string
code = code.replace(sourceMapComment, '') || '\n';
// Check if the source map is inlined, i.e. it uses a data url
dataUrlMatch = regexDataUrl.exec(sourceMapURL);
rawMap = void 0;
if (!(dataUrlMatch !== null)) {
_context.next = 40;
case 23:
if (!(sourceMap === null)) {
_context.next = 25;
break;
}
/* eslint-disable no-unused-vars */
_dataUrlMatch = _slicedToArray(dataUrlMatch, 5);
dataUrl = _dataUrlMatch[0];
mimeType = _dataUrlMatch[1];
_dataUrlMatch$ = _dataUrlMatch[2];
charset = _dataUrlMatch$ === undefined ? 'utf8' : _dataUrlMatch$;
_dataUrlMatch$2 = _dataUrlMatch[3];
encoding = _dataUrlMatch$2 === undefined ? 'base64' : _dataUrlMatch$2;
data = _dataUrlMatch[4];
/* eslint-enable */
_context.prev = 30;
rawMap = new Buffer(data, encoding).toString(charset);
_context.next = 38;
break;
case 34:
_context.prev = 34;
_context.t1 = _context['catch'](30);
console.error('rollup-plugin-sourcemaps: Failed parsing data url: ' + _context.t1);
return _context.abrupt('return', code);
case 38:
_context.next = 51;
break;
case 40:
sourceMapPath = resolve(dirname(id), sourceMapURL);
_context.prev = 41;
_context.next = 44;
return readFileAsync(sourceMapPath, 'utf8');
case 44:
rawMap = _context.sent;
_context.next = 51;
break;
case 47:
_context.prev = 47;
_context.t2 = _context['catch'](41);
console.error('rollup-plugin-sourcemaps: Could not open source map: ' + _context.t2);
return _context.abrupt('return', code);
case 51:
map = void 0;
_context.prev = 52;
map = JSON.parse(rawMap);
_context.next = 60;
break;
case 56:
_context.prev = 56;
_context.t3 = _context['catch'](52);
console.error('rollup-plugin-sourcemaps: Failed parsing raw source map from ' + id + ': ' + _context.t3);
return _context.abrupt('return', code);
case 60:
case 25:
_sourceMap = sourceMap;
map = _sourceMap.map;
return _context.abrupt('return', { code: code, map: map });
case 61:
case 28:
case 'end':

@@ -181,3 +110,3 @@ return _context.stop();

}
}, _callee, _this, [[3, 9], [30, 34], [41, 47], [52, 56]]);
}, _callee, _this, [[3, 9], [13, 19]]);
}))();

@@ -184,0 +113,0 @@ }

@@ -6,6 +6,5 @@ 'use strict';

var _regeneratorRuntime = _interopDefault(require('babel-runtime/regenerator'));
var _slicedToArray = _interopDefault(require('babel-runtime/helpers/slicedToArray'));
var _asyncToGenerator = _interopDefault(require('babel-runtime/helpers/asyncToGenerator'));
var rollupPluginutils = require('rollup-pluginutils');
var path = require('path');
var sourceMapResolve = require('source-map-resolve');
var fs = require('fs');

@@ -33,9 +32,4 @@ var _Promise = _interopDefault(require('babel-runtime/core-js/promise'));

var readFileAsync = promisify(fs.readFile);
var resolveSourceMapAsync = promisify(sourceMapResolve.resolveSourceMap);
// Borrowed from https://github.com/webpack/source-map-loader
var baseRegex = '\\s*[@#]\\s*sourceMappingURL\\s*=\\s*([^\\s]*)';
var regex1 = new RegExp('/\\*' + baseRegex + '\\s*\\*/'); // Matches /* ... */ comments
var regex2 = new RegExp('//' + baseRegex + '($|\n|\r\n?)'); // Matches // .... comments
var regexDataUrl = /data:(.*?)(?:;charset=(.*?))?(?:;(base64))?,(.+)/i; // Matches data urls
function sourceMapsPlugin() {

@@ -54,3 +48,3 @@ var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];

return _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
var code, match, _match, sourceMapComment, sourceMapURL, dataUrlMatch, rawMap, _dataUrlMatch, dataUrl, mimeType, _dataUrlMatch$, charset, _dataUrlMatch$2, encoding, data, sourceMapPath, map;
var code, sourceMap, _sourceMap, map;

@@ -85,98 +79,33 @@ return _regeneratorRuntime.wrap(function _callee$(_context) {

case 12:
sourceMap = void 0;
_context.prev = 13;
_context.next = 16;
return resolveSourceMapAsync(code, id, fs.readFile);
// Check for source map comments
match = regex1.exec(code) || regex2.exec(code);
case 16:
sourceMap = _context.sent;
_context.next = 23;
break;
// No source map detected, return code
case 19:
_context.prev = 19;
_context.t1 = _context['catch'](13);
if (!(match === null)) {
_context.next = 15;
break;
}
console.error('rollup-plugin-sourcemaps: Failed resolving source map from ' + id + ': ' + _context.t1);
return _context.abrupt('return', code);
case 15:
_match = _slicedToArray(match, 2);
sourceMapComment = _match[0];
sourceMapURL = _match[1];
// Remove the source map comment, and make sure we don't return an empty string
code = code.replace(sourceMapComment, '') || '\n';
// Check if the source map is inlined, i.e. it uses a data url
dataUrlMatch = regexDataUrl.exec(sourceMapURL);
rawMap = void 0;
if (!(dataUrlMatch !== null)) {
_context.next = 40;
case 23:
if (!(sourceMap === null)) {
_context.next = 25;
break;
}
/* eslint-disable no-unused-vars */
_dataUrlMatch = _slicedToArray(dataUrlMatch, 5);
dataUrl = _dataUrlMatch[0];
mimeType = _dataUrlMatch[1];
_dataUrlMatch$ = _dataUrlMatch[2];
charset = _dataUrlMatch$ === undefined ? 'utf8' : _dataUrlMatch$;
_dataUrlMatch$2 = _dataUrlMatch[3];
encoding = _dataUrlMatch$2 === undefined ? 'base64' : _dataUrlMatch$2;
data = _dataUrlMatch[4];
/* eslint-enable */
_context.prev = 30;
rawMap = new Buffer(data, encoding).toString(charset);
_context.next = 38;
break;
case 34:
_context.prev = 34;
_context.t1 = _context['catch'](30);
console.error('rollup-plugin-sourcemaps: Failed parsing data url: ' + _context.t1);
return _context.abrupt('return', code);
case 38:
_context.next = 51;
break;
case 40:
sourceMapPath = path.resolve(path.dirname(id), sourceMapURL);
_context.prev = 41;
_context.next = 44;
return readFileAsync(sourceMapPath, 'utf8');
case 44:
rawMap = _context.sent;
_context.next = 51;
break;
case 47:
_context.prev = 47;
_context.t2 = _context['catch'](41);
console.error('rollup-plugin-sourcemaps: Could not open source map: ' + _context.t2);
return _context.abrupt('return', code);
case 51:
map = void 0;
_context.prev = 52;
map = JSON.parse(rawMap);
_context.next = 60;
break;
case 56:
_context.prev = 56;
_context.t3 = _context['catch'](52);
console.error('rollup-plugin-sourcemaps: Failed parsing raw source map from ' + id + ': ' + _context.t3);
return _context.abrupt('return', code);
case 60:
case 25:
_sourceMap = sourceMap;
map = _sourceMap.map;
return _context.abrupt('return', { code: code, map: map });
case 61:
case 28:
case 'end':

@@ -186,3 +115,3 @@ return _context.stop();

}
}, _callee, _this, [[3, 9], [30, 34], [41, 47], [52, 56]]);
}, _callee, _this, [[3, 9], [13, 19]]);
}))();

@@ -189,0 +118,0 @@ }

{
"name": "rollup-plugin-sourcemaps",
"version": "0.1.1",
"description": "Rollup plugin for grabbing source maps from sourceMappingsURLs",
"version": "0.2.0",
"description": "Rollup plugin for grabbing source maps from sourceMappingURLs",
"author": "Max Davidson <davidsonmax@gmail.com>",

@@ -47,3 +47,4 @@ "license": "MIT",

"babel-runtime": "^6.9.2",
"rollup-pluginutils": "^1.5.0"
"rollup-pluginutils": "^1.5.0",
"source-map-resolve": "^0.5.0"
},

@@ -50,0 +51,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc