MadLittleMods
2/21/2017 - 6:58 PM

system-object-syntax-error-webpack-2-2-1.js

const webpack = require('webpack');
const MemoryFS = require('memory-fs');

const memoryFs = new MemoryFS();

memoryFs.writeFileSync('/entry1.js', `System.global = { foo: 'bar' };`, 'utf-8');

const compiler = webpack({
    entry: '/entry1.js',
    output: {
        path: '/build/',
        filename: 'main.js'
    }
});

compiler.inputFileSystem = memoryFs;
compiler.outputFileSystem = memoryFs;
compiler.resolvers.normal.fileSystem = compiler.inputFileSystem;
compiler.resolvers.context.fileSystem = compiler.inputFileSystem;

compiler.run((err, stats) => {
    if(err) {
        console.log(err);
    }
    const errors = stats.compilation.errors;
    if (errors && errors.length > 0) {
        console.log(errors);
        throw errors[0];
    }

    const content = memoryFs.readFileSync('/build/main.js', 'utf-8');
    //console.log(content);
    eval(content);
});