20 lines
486 B
JavaScript
20 lines
486 B
JavaScript
import * as t from "babel-types";
|
|
|
|
export default function () {
|
|
return {
|
|
visitor: {
|
|
Program(path, state) {
|
|
if (state.opts.strict === false || state.opts.strictMode === false) return;
|
|
|
|
let { node } = path;
|
|
|
|
for (let directive of (node.directives: Array<Object>)) {
|
|
if (directive.value.value === "use strict") return;
|
|
}
|
|
|
|
path.unshiftContainer("directives", t.directive(t.directiveLiteral("use strict")));
|
|
}
|
|
}
|
|
};
|
|
}
|