packages/babel-plugin-transform-strict-mode/src/index.js
import { declare } from "@babel/helper-plugin-utils";
import { types as t } from "@babel/core";
export default declare(api => {
api.assertVersion(7);
return {
name: "transform-strict-mode",
visitor: {
Program(path) {
const { node } = path;
for (const directive of (node.directives: Array<Object>)) {
if (directive.value.value === "use strict") return;
}
path.unshiftContainer(
"directives",
t.directive(t.directiveLiteral("use strict")),
);
},
},
};
});