Merge pull request #6244 from loganfsmyth/remove-strict-toggling-wildcard-interop

Remove strict toggling wildcard interop
This commit is contained in:
Henry Zhu
2017-09-14 11:19:46 -04:00
committed by GitHub
10 changed files with 9 additions and 36 deletions

View File

@@ -22,7 +22,6 @@ export function rewriteModuleStatementsAndPrepareHeader(
{ exportName, strict, allowTopLevelThis, strictMode, loose, noInterop },
) {
const meta = normalizeAndLoadModuleMetadata(path, exportName, {
strict,
noInterop,
});
@@ -32,7 +31,7 @@ export function rewriteModuleStatementsAndPrepareHeader(
rewriteLiveReferences(path, meta);
if (strictMode !== false && strict !== false) {
if (strictMode !== false) {
const hasStrict = path.node.directives.some(directive => {
return directive.value.value === "use strict";
});

View File

@@ -86,7 +86,7 @@ export function isSideEffectImport(source: SourceModuleMetadata) {
export default function normalizeModuleAndLoadMetadata(
programPath: NodePath,
exportName?: string,
{ strict = false, noInterop = false } = {},
{ noInterop = false } = {},
): ModuleMetadata {
if (!exportName) {
exportName = programPath.scope.generateUidIdentifier("exports").name;
@@ -94,7 +94,7 @@ export default function normalizeModuleAndLoadMetadata(
nameAnonymousExports(programPath);
const { local, source } = getModuleMetadata(programPath, strict);
const { local, source } = getModuleMetadata(programPath);
removeModuleDeclarations(programPath);
@@ -120,7 +120,7 @@ export default function normalizeModuleAndLoadMetadata(
/**
* Get metadata about the imports and exports present in this module.
*/
function getModuleMetadata(programPath: NodePath, strict: boolean = false) {
function getModuleMetadata(programPath: NodePath) {
const localData = getLocalExportMetadata(programPath);
const sourceData = new Map();
@@ -175,7 +175,7 @@ function getModuleMetadata(programPath: NodePath, strict: boolean = false) {
} else if (spec.isImportNamespaceSpecifier()) {
const localName = spec.get("local").node.name;
if (!strict) data.interop = "namespace";
data.interop = "namespace";
data.importsNamespace.add(localName);
const reexport = localData.get(localName);

View File

@@ -120,9 +120,7 @@ export or if it _contains_ the default export.
```javascript
"use strict";
var _foo = require("foo");
var _foo2 = _interopRequireDefault(_foo);
var _foo = _interopRequireDefault(require("foo"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };

View File

@@ -1,6 +1,5 @@
"use strict";
var foo = require("foo");
var foo = babelHelpers.interopRequireWildcard(require("foo"));
foo.bar();
foo.baz();

View File

@@ -1,6 +1,6 @@
"use strict";
var foo4 = babelHelpers.interopRequireDefault(require("foo"));
var foo4 = babelHelpers.interopRequireWildcard(require("foo"));
foo4.default;
foo4.default;
foo4.foo3;

View File

@@ -34,7 +34,6 @@ npm install --save-dev babel-plugin-transform-strict-mode
**.babelrc**
Without options:
```json
{
@@ -42,17 +41,6 @@ Without options:
}
```
With options:
```json
{
"plugins": [
["transform-strict-mode", {
"strict": true
}]
]
}
```
### Via CLI

View File

@@ -3,11 +3,7 @@ import * as t from "babel-types";
export default function() {
return {
visitor: {
Program(path, state) {
if (state.opts.strict === false || state.opts.strictMode === false) {
return;
}
Program(path) {
const { node } = path;
for (const directive of (node.directives: Array<Object>)) {

View File

@@ -1,5 +0,0 @@
{
"plugins": [
["transform-strict-mode", { "strictMode": false }]
]
}