Revision e949aa151234b8e4a0574aac654dc38d3d82e641 authored by Sean Larkin on 04 November 2016, 18:43:24 UTC, committed by Tobias Koppers on 07 December 2016, 16:21:22 UTC
1 parent 0084071
Raw File
UseStrictPlugin.js
/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
var ConstDependency = require("./dependencies/ConstDependency");
var BasicEvaluatedExpression = require("./BasicEvaluatedExpression");

var NullFactory = require("./NullFactory");

function UseStrictPlugin() {}
module.exports = UseStrictPlugin;

UseStrictPlugin.prototype.apply = function(compiler) {
	compiler.plugin("compilation", function(compilation, params) {
		params.normalModuleFactory.plugin("parser", function(parser) {
			parser.plugin("program", function(ast) {
				var body = ast.body[0]
				if(body &&
					body.type === "ExpressionStatement" &&
					body.expression.type === "Literal" &&
					body.expression.value === "use strict")
					this.state.module.strict = true;
			});
		})
	})
};
back to top