Revision 1f9e1a69c6919b53aaa7c4e27756b65280e59456 authored by Sean Larkin on 29 November 2016, 15:32:10 UTC, committed by Tobias Koppers on 07 December 2016, 16:22:19 UTC
1 parent 23a127b
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