mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
/* global describe, it */
 | 
						|
"use strict";
 | 
						|
 | 
						|
require("should");
 | 
						|
 | 
						|
const path = require("path");
 | 
						|
const webpack = require("../lib/webpack");
 | 
						|
 | 
						|
describe("NodeTemplatePlugin", () => {
 | 
						|
	it("should compile and run a simple module", done => {
 | 
						|
		webpack(
 | 
						|
			{
 | 
						|
				mode: "production",
 | 
						|
				context: path.join(__dirname, "fixtures", "nodetest"),
 | 
						|
				target: "node",
 | 
						|
				output: {
 | 
						|
					path: path.join(__dirname, "js"),
 | 
						|
					filename: "result.js",
 | 
						|
					chunkFilename: "[hash].result.[id].js",
 | 
						|
					library: "abc",
 | 
						|
					libraryTarget: "commonjs"
 | 
						|
				},
 | 
						|
				entry: "./entry"
 | 
						|
			},
 | 
						|
			(err, stats) => {
 | 
						|
				if (err) return err;
 | 
						|
				stats.hasErrors().should.be.not.ok();
 | 
						|
				stats.hasWarnings().should.be.not.ok();
 | 
						|
				// eslint-disable-next-line node/no-missing-require
 | 
						|
				const result = require("./js/result").abc;
 | 
						|
				result.nextTick.should.be.equal(process.nextTick);
 | 
						|
				result.fs.should.be.equal(require("fs"));
 | 
						|
				result.loadChunk(456, chunk => {
 | 
						|
					chunk.should.be.eql(123);
 | 
						|
					result.loadChunk(567, chunk => {
 | 
						|
						chunk.should.be.eql({
 | 
						|
							a: 1
 | 
						|
						});
 | 
						|
						done();
 | 
						|
					});
 | 
						|
				});
 | 
						|
			}
 | 
						|
		);
 | 
						|
	});
 | 
						|
 | 
						|
	it("should compile and run a simple module in single mode", done => {
 | 
						|
		webpack(
 | 
						|
			{
 | 
						|
				mode: "production",
 | 
						|
				context: path.join(__dirname, "fixtures", "nodetest"),
 | 
						|
				target: "node",
 | 
						|
				output: {
 | 
						|
					path: path.join(__dirname, "js"),
 | 
						|
					filename: "result2.js",
 | 
						|
					chunkFilename: "[hash].result2.[id].js",
 | 
						|
					library: "def",
 | 
						|
					libraryTarget: "umd",
 | 
						|
					auxiliaryComment: "test"
 | 
						|
				},
 | 
						|
				entry: "./entry",
 | 
						|
				plugins: [
 | 
						|
					new webpack.optimize.LimitChunkCountPlugin({
 | 
						|
						maxChunks: 1
 | 
						|
					})
 | 
						|
				]
 | 
						|
			},
 | 
						|
			(err, stats) => {
 | 
						|
				if (err) return err;
 | 
						|
				stats.hasErrors().should.be.not.ok();
 | 
						|
				// eslint-disable-next-line node/no-missing-require
 | 
						|
				const result = require("./js/result2");
 | 
						|
				result.nextTick.should.be.equal(process.nextTick);
 | 
						|
				result.fs.should.be.equal(require("fs"));
 | 
						|
				const sameTick = true;
 | 
						|
				result.loadChunk(456, chunk => {
 | 
						|
					chunk.should.be.eql(123);
 | 
						|
					sameTick.should.be.eql(true);
 | 
						|
					result.loadChunk(567, chunk => {
 | 
						|
						chunk.should.be.eql({
 | 
						|
							a: 1
 | 
						|
						});
 | 
						|
						done();
 | 
						|
					});
 | 
						|
				});
 | 
						|
			}
 | 
						|
		);
 | 
						|
	});
 | 
						|
});
 |