UNPKG

vs-fix-sourcemaps

Version:

A Webpack plugin that fixes javascript sourcemaps in Visual Studio (2015), allowing for JSX and JS debugging directly in Visual Studio.

39 lines (36 loc) 1.83 kB
import webpack from 'webpack'; import path from 'path'; import expect from 'expect'; import VSFixSourceMapsPlugin from '../dist/index'; import mocha from 'mocha'; // eslint-disable-line import webpackConfig from '../example/webpack.config.babel'; describe('Visual Studio: Source Map Tests', function() { // eslint-disable-line this.timeout(30000); it('Should contain invalid characters and segments.', (done) => { const badConfig = { ...webpackConfig, entry: [path.resolve(__dirname, 'data.js')] }; badConfig.output.path = path.resolve(__dirname, './corrupt'); badConfig.output.sourceMapFilename = 'main.bundle.json'; webpack(badConfig, (error, stats) => { if (error || stats.hasErrors()) throw new Error('Something went wrong'); const corruptSourceMap = require('./corrupt/main.bundle.json'); // eslint-disable-line const mappings = corruptSourceMap.mappings; const hasError = mappings.includes(',M,') && mappings.includes(',S,'); expect(hasError).toEqual(true); done(); }); }); it('Should not contain any loner segments.', (done) => { const workingConfig = { ...webpackConfig, entry: [path.resolve(__dirname, 'data.js')] }; workingConfig.output.path = path.resolve(__dirname, './valid'); workingConfig.output.sourceMapFilename = 'main.bundle.json'; workingConfig.plugins.push(new VSFixSourceMapsPlugin({ debug: true, verbose: true })); webpack(workingConfig, (error, stats) => { if (error || stats.hasErrors()) throw new Error('Something went wrong'); const validSourceMap = require('./valid/main.bundle.json'); // eslint-disable-line const mappings = validSourceMap.mappings; const hasError = mappings.includes(',M,') || mappings.includes(',S,'); expect(hasError).toEqual(false); done(); }); }); });